Gabriel, After APs initialized, APs will run one loop in ProcessorToIdleState() to check the if BSP assigned task to them.
After ExitBootService() invoked, the boot services data will not be safe and the AP running code maybe corrupted. Could you check if ExitBootService() is invoked or not when issue happened? Jeff -----Original Message----- From: Gabriel Somlo [mailto:gso...@gmail.com] Sent: Friday, November 14, 2014 1:15 PM To: Justen, Jordan L Cc: edk2-devel@lists.sourceforge.net Subject: [edk2] qemu + osx + smp vs. dee9376ffc6e5522bb5e50512b521952a5421fa5 Jordan, Commit dee9376ffc6e5522bb5e50512b521952a5421fa5 appears to break osx smp mode (single-cpu on Mavericks seems to still work fine). Fedora 20 and 21 live still work fine in either single- or multi-cpu configurations. I realize this must be an annoying bug report, since starting a qemu osx guest requires not-yet-committed patches (e.g. Reza's pending ahci series, and another bunch of osx specific stuff)... For the record, my command line is: bin/qemu-system-x86_64 -enable-kvm -m 2048 -cpu core2duo -smp 4,cores=2 \ -machine q35 -device ide-drive,bus=ide.2,drive=MacHDD \ -drive id=MacHDD,if=none,snapshot=on,file=./mac_10.9.img \ -device isa-applesmc,osk="secret-smc-osk-string" \ -netdev user,id=usr0 -device e1000-82545em,netdev=usr0,id=vnet0 \ -usb -device usb-kbd -device usb-mouse \ -bios OVMF.fd \ -smbios type=0,vendor="ovmf",version="svn.16189",date="09/29/14",uefi=on \ -debugcon file:debug.log -global isa-debugcon.iobase=0x402 \ -monitor stdio And it hangs right before switching to graphics mode (so probably during apple's boot.efi) with the following message: efiboot loaded from device: Acpi(PNP0A03,0)/Pci(1F|2)/SATA(2,0)/HD(Part2,SigF402FAFD-C5D8-49C3-953C-91354746C321) boot file path: .Loading kernel cache file 'System\Library\Caches\com.apple.kext.caches\Startup\kernelcache'..... root device uuid is 'D3720931-EC86-377F-8606-DB54F76A1050' To boot with PIIX instead of q35, simply s/-machine q35/-device ahci,id=ide/ in the command line above. Then, it reboots after logging a similar message. The patch in question is a one-liner adding a "StartApsStackless()" call to UefiCpuPkg/CpuDxe/CpuMp.c, and osx obviously dislikes *something* about the state of the APs when it finds them, but beyond that I have no idea what might be wrong. Jordan, if by any chance you have a hunch and would like me to test an alternative way of doing things for qemu/osx guest compatibility, I'd be happy to. Otherwise, this should serve as a heads-up for Reza: now that ovmf q35 support is upstream, once your ahci patches are applied, this will be something you'll end up running into when submitting osx patches next :) Thanks again, --Gabriel ------------------------------------------------------------------------------ Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel