Hi, the following patchset enables qemu to run Mac OS X with disabled AppleIntelCPUPowerManagement.kext, by emulating hardware that resembles an Intel Mac close enough. The following patches are included:
1. DMI This is based on the DMI support by Ryan Harper. As it is currently unclear, if this approach is taken or if the Bochsbios is going to be patched, I would recommend to not apply this patch for now. I still submit it for completeness and because I have touched parts of it. 2. HPET This adds an HPET emulator device. It is not feature-complete but should suffice for this purpose. 3. LPC This adds a dummy LPC device the HPET is located on. 4. AppleSMC Apples binary protection sits in the fan control, which is the AppleSMC chip. This emulates the devices and takes the protective key from the command line. 5. CoreDUO Mac OS X as is has a condition to only run on family 13 Intel CPUs, so this adds a definition for a CoreDuo CPU and an MSR as well as a CPUID instruction that is required by Mac OS X 6. IDE The oldest supported IDE controller in Mac OS X is the ICH6. This is an incomplete implementation for that controller, that suffices for running Mac OS X and worked with libata for me as well. 7. IntelMac To leave the default behavior unchanged, this adds a "mac" machine definition that automatically chooses the right hardware for an emulated Intel Mac. 8. Multiboot To boot Mac OS X a mach bootloader has to be run. David Elliot modified the original i386 Mac OS X BIOS based bootloader to emulate the EFI entries and support multiboot, an easy but straight-forward kernel loading interface founded by grub. To boot multiboot-compliant kernels directly, this adds support for multiboot loading to the -kernel option. 9. Bochsbios Several ACPI entries were missing from the bios and the new controllers need to be initialized properly. This patch is against the bochsbios. Should this rather be sent to the bochs ML? For details, instructions and the bootloader please see http://alex.csgraf.de/self/?qemu/ Cheers, Alex