Skip to contentSkip to conversation

Intel Mac target support

PATCH In review Alexander Graf 3 participants 5 messages Jan 8, 2008 – Jan 13, 2008

lore
Share & tools
lore
#0 lore raw

cover Intel Mac target support

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

#1 lore raw

Alexander Graf:

Thank you VERY much for providing us with "intel mac" emulation.

Signature · 1 line
-Alexey Eremenko "Technologov"
#2 lore raw
Quoted 4 lines · Alexey Eremenko

Alexander Graf:

Thank you VERY much for providing us with "intel mac" emulation.

I'm really having a hard time understanding if this is irony or not ;-).

#3 lore raw

Am 11.01.2008 um 13:26 schrieb Alexander Graf:

Quoted 7 lines · Alexey Eremenko
Quoted 4 lines

Alexander Graf:

Thank you VERY much for providing us with "intel mac" emulation.

I'm really having a hard time understanding if this is irony or not ;-).

I don't think there's irony as qemu is the first emulator fit for Leopard[1], AFAIK.

Markus

[1] For non-Apple freaks: "Leopard", that's Mac OS X v10.5, the most recent Macintosh OS.

- - - - - - - - - - - - - - - - - - -
Dipl. Ing. Markus Hitter
http://www.jump-ing.de/

#4 lore raw
In reply to Alexander Graf
Quoted 13 lines · Alexander Graf
Quoted 4 lines · Alexey Eremenko

Alexander Graf:

Thank you VERY much for providing us with "intel mac" emulation.

I'm really having a hard time understanding if this is irony or not ;-).

Well, no, it's not an irony, and I'm really happy with such advancement and I'm looking forward at trying that, with both Qemu, KQemu and KVM.

Signature · 1 line
-Alexey Eremenko "Technologov", 13.1.2008.