qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-ppc] Changing CD-ROM path


From: Alexander Graf
Subject: Re: [Qemu-ppc] Changing CD-ROM path
Date: Sat, 22 Jun 2013 20:05:14 +0200

On 22.06.2013, at 19:53, Programmingkid wrote:

> 
> On Jun 22, 2013, at 1:27 PM, Alexander Graf wrote:
> 
>> 
>> On 22.06.2013, at 18:50, Programmingkid wrote:
>> 
>>> Mac OS 10.2 requires the boot CD-ROM to be located here: 
>>> /pci/mac-io/address@hidden/@0:9. It is currently located here:  
>>> /address@hidden/address@hidden/address@hidden/address@hidden How would I go 
>>> about changing the CD-ROM to this location? I'm looking for a specific file 
>>> or files to make this change.
>> 
>> This is an OF path, which is up to OpenBIOS to construct.
>> 
>> What makes you think that Mac OS searches at that exact location?
>> 
>> 
>> Alex
>> 
> 
> XNU (Mac OS X's kernel) prints this line to the screen: 
> From path: “ide1/@0:9,\mach_kernel”, Waiting on <dict 
> ID=”0”><key>IOPathMatch</key><string 
> ID=”1”>IODeviceTree:/pci/mac-io/address@hidden/@0:9</string></dict>
> 
> The key IOPathMatch means the location of the cdrom has to be at a certain 
> location. In this case it is /pci/mac-io/address@hidden/@0:9.

Yes, but I don't see where Mac OS X has this hardcoded. It gets passed in 
somehow.

What machine type is this? g3beige? On there, I don't see an ide1 alias 
anywhere:

0 > dev /aliases  ok
0 > ls
 ok
0 > .properties
name                      "aliases"
screen                    "/address@hidden/address@hidden/escc/ch-b"
mac-io                    "/address@hidden/address@hidden"
via-cuda                  "/address@hidden/address@hidden/via-cuda"
adb-keyboard              "/address@hidden/address@hidden/via-cuda/adb/keyboard"
adb-mouse                 "/address@hidden/address@hidden/via-cuda/adb/mouse"
rtc                       "/address@hidden/address@hidden/via-cuda/rtc"
nvram                     "/address@hidden/address@hidden/nvram"
ttya                      "/address@hidden/address@hidden/escc/ch-a"
scca                      "/address@hidden/address@hidden/escc/ch-a"
ttyb                      "/address@hidden/address@hidden/escc/ch-b"
sccb                      "/address@hidden/address@hidden/escc/ch-b"
ide0                      "/address@hidden/address@hidden/ata-2/cdrom"
cd                        "/address@hidden/address@hidden/ata-2/cdrom"
cdrom                     "/address@hidden/address@hidden/ata-2/cdrom"
keyboard                  
"/address@hidden/address@hidden/address@hidden/adb/address@hidden"
 ok

Somehow Mac OS resolves "ide1" into "/pci/mac-io/address@hidden". That's the 
part where the logic fails.

Please don't drop the CCs. There's a good reason I added Mark and the OpenBIOS 
list. This issue is very likely completely QEMU unrelated.


Alex

> 
> You say OpenBIOS construct's this path. In the file mac_oldworld.c, around 
> line 280, it looks like it sets the location. Here is the code:
>     macio = pci_create(pci_bus, -1, TYPE_OLDWORLD_MACIO);
>     dev = DEVICE(macio);
>     qdev_connect_gpio_out(dev, 0, pic[0x12]); /* CUDA */
>     qdev_connect_gpio_out(dev, 1, pic[0x0D]); /* IDE */
>     qdev_connect_gpio_out(dev, 2, pic[0x02]); /* IDE DMA */
>     macio_init(macio, pic_mem, escc_bar);
> 
>     /* First IDE channel is a MAC IDE on the MacIO bus */
>     macio_ide = MACIO_IDE(object_resolve_path_component(OBJECT(macio),
>                                                         "ide"));
>     macio_ide_init_drives(macio_ide, hd);
> 
>     /* Second IDE channel is a CMD646 on the PCI bus */
>     hd[0] = hd[MAX_IDE_DEVS];
>     hd[1] = hd[MAX_IDE_DEVS + 1];
>     hd[3] = hd[2] = NULL;
>     pci_cmd646_ide_init(pci_bus, hd, 0);
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]