[OpenBIOS] [PATCH 0/5] macio: switch over to use 2 ata-3 controllers
Programmingkid
programmingkidx at gmail.com
Sun Jan 3 03:08:01 CET 2016
On Dec 24, 2015, at 2:53 PM, Mark Cave-Ayland wrote:
> Further work on Darwin/OS X shows that IOKit expects both the hard disk and
> cdrom to be attached to the ata-3 controller for QEMU's mac99 machine.
>
> Currently OpenBIOS generates an ata-3 and an ata-4 controller (and by default
> attaches the cdrom to the ata-4 controller) meaning that IOKit would fail to
> locate and mount the cdrom on boot. Resolve this by instantiating 2 ata-3
> controller nodes instead which also is a better match for a real device tree.
>
> The relevant changes to the device tree are shown below:
>
> Before:
>
> fff542a8 /pci at 80000000/mac-io at 3/ata-3 at 20000 (ata)
> fff54540 /pci at 80000000/mac-io at 3/ata-4 at 21000 (ata)
> fff547d8 /pci at 80000000/mac-io at 3/ata-4 at 21000/cdrom at 0 (block)
>
> After:
>
> fff542a8 /pci at 80000000/mac-io at 3/ata-3 at 20000 (ata)
> fff54540 /pci at 80000000/mac-io at 3/ata-3 at 21000 (ata)
> fff547d8 /pci at 80000000/mac-io at 3/ata-3 at 21000/cdrom at 0 (block)
>
> The OpenBIOS IDE code currently works by using the device name internally to
> reference the controller node, which of course breaks when 2 nodes are given
> the same name property. Patches 1-4 switch the OpenBIOS IDE code over to
> reference controller nodes by phandle rather than name, while patch 5 does
> the actual switch from 1 ata-3 and 1 ata-4 controller to 2 ata-3 controllers.
>
> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk>
>
>
> Mark Cave-Ayland (5):
> ide: use REGISTER_NAMED_NODE_PHANDLE rather than REGISTER_NAMED_NODE
> libopenbios: introduce new get_path_from_ph() helper function
> ide: switch IDE init functions over to use new get_path_from_ph()
> helper
> ide: reference IDE channels by phandle, not device name
> macio: switch over to use 2 ata-3 ide controllers
>
> openbios-devel/drivers/ide.c | 46 +++++++++----------------
> openbios-devel/drivers/ide.h | 2 +-
> openbios-devel/drivers/pci.c | 8 ++---
> openbios-devel/include/libopenbios/bindings.h | 1 +
> openbios-devel/libopenbios/bindings.c | 8 +++++
> 5 files changed, 31 insertions(+), 34 deletions(-)
>
> --
> 1.7.10.4
This patch set did allow my Darwin iso to boot to the installer screen. It also stops my HD image file from booting if it is set to use the -hdd slot. hda to hdc still work. I guess I could live with the adjustment.
More information about the OpenBIOS
mailing list