qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: [PATCHv8 00/16] boot order specification


From: Blue Swirl
Subject: [Qemu-devel] Re: [PATCHv8 00/16] boot order specification
Date: Sat, 11 Dec 2010 17:19:01 +0000

On Sat, Dec 11, 2010 at 4:06 PM, Gleb Natapov <address@hidden> wrote:
> On Sat, Dec 11, 2010 at 03:13:35PM +0000, Blue Swirl wrote:
>> On Wed, Dec 8, 2010 at 11:34 AM, Gleb Natapov <address@hidden> wrote:
>> > Forget to save a couple of buffers before sending version 7 :(
>> >
>> > Anthony, Blue can this be applied now?
>>
>> I made some more tests, this time with PPC. I modified OpenBIOS to
>> print out the boot device list:
>>
>> $ qemu-system-ppc -drive if=none,id=hda,file=/dev/null -device
>> ide-drive,drive=hda,bootindex=1 -drive if=none,id=cd,file=/dev/null
>> -device ide-drive,drive=cd,bootindex=0 -nographic -prom-env
>> 'auto-boot?=false' -L .
>> qemu-system-ppc: pci_add_option_rom: failed to find romfile 
>> "vgabios-stdvga.bin"
>> Could not open option rom 'pxe-ne2k_pci.bin': No such file or directory
>>
>> >> =============================================================
>> >> OpenBIOS 1.0 [Nov 28 2010 19:37]
>> >> Configuration device id QEMU version 1 machine id 2
>> >> CPUs: 1
>> >> Memory: 128M
>> >> UUID: 00000000-0000-0000-0000-000000000000
>> >> CPU type PowerPC,750
>> >> bootindex /address@hidden/address@hidden/address@hidden/address@hidden
>> >> /address@hidden/address@hidden/address@hidden/address@hidden
>> Welcome to OpenBIOS v1.0 built on Nov 28 2010 19:37
>>
>> 0 > show-devs
>> 7be6324 /
>> 7be6440 /aliases
>> 7be64e4 /openprom (BootROM)
>> 7bebfa0 /openprom/client-services
>> 7be668c /options
>> 7be6704 /chosen
>> 7be67e8 /builtin
>> 7be688c /builtin/console
>> 7bebcac /packages
>> 7becda8 /packages/cmdline
>> 7becee8 /packages/disk-label
>> 7bedb58 /packages/terminal-emulator
>> 7bee548 /packages/deblocker
>> 7bee89c /packages/hfsplus-files
>> 7beeb3c /packages/hfs-files
>> 7beedd8 /packages/ext2-files
>> 7bef010 /packages/iso9660-files
>> 7bef248 /packages/grubfs-files
>> 7bef480 /packages/mac-parts
>> 7bef6b8 /packages/pc-parts
>> 7bef8ec /packages/xcoff-loader
>> 7bef9b8 /packages/elf-loader
>> 7befa80 /packages/bootinfo-loader
>> 7bed958 /cpus
>> 7bf2fe8 /cpus/PowerPC,address@hidden (cpu)
>> 7beda58 /address@hidden (memory)
>> 7befb4c /address@hidden (pci)
>> 7beff64 /address@hidden/QEMU,address@hidden (display)
>> 7bf0438 /address@hidden/address@hidden (network)
>> 7bf0814 /address@hidden/address@hidden (pci-ide)
>> 7bf0c50 /address@hidden/address@hidden/address@hidden (ata)
>> 7bf0dd0 /address@hidden/address@hidden/address@hidden (ata)
>> 7bf0f50 /address@hidden/address@hidden/address@hidden/address@hidden (block)
>> 7bf131c /address@hidden/address@hidden/address@hidden/address@hidden (block)
>> 7bf1674 /address@hidden/address@hidden (mac-io)
>> 7bf1b54 /address@hidden/address@hidden/address@hidden (via-cuda)
>> 7bf1d70 /address@hidden/address@hidden/address@hidden/adb (adb)
>> 7bf1ed8 /address@hidden/address@hidden/address@hidden/adb/address@hidden 
>> (keyboard)
>> 7bf2080 /address@hidden/address@hidden/address@hidden/adb/address@hidden 
>> (mouse)
>> 7bf220c /address@hidden/address@hidden/address@hidden/rtc (rtc)
>> 7bf23f4 /address@hidden/address@hidden/address@hidden (nvram)
>> 7bf2614 /address@hidden/address@hidden/address@hidden (escc)
>> 7bf271c /address@hidden/address@hidden/address@hidden/address@hidden (serial)
>> 7bf29b4 /address@hidden/address@hidden/address@hidden/address@hidden (serial)
>> 7bf2c20 /address@hidden/address@hidden/address@hidden (ata)
>>  ok
>>
>> /address@hidden/address@hidden/address@hidden/address@hidden does not match
>> /address@hidden/address@hidden/address@hidden/address@hidden
>>
> hw/ppc_oldworld.c has:
> pci_bus = pci_grackle_init(0xfec00000, pic);
> i.e it registers pci controller at MMIO address 0xfec00000. 0x80000000
> is isa mmio base. Why OpenBIOS uses 80000000 as address of pci
> controller? May be on real HW all memory access above 0x80000000 is
> redirected to pci controller and it emulates isa? Then we should fix
> qemu to do the same.
>
>> I wonder where '@80000000' comes from. A dump of original g3beige
>> device tree is here:
>> http://penguinppc.org/historical/dev-trees-html/g3_beige_300.html
>>
>> But actually the tree generated by OpenBIOS looks more like g3bw one:
>> http://penguinppc.org/historical/dev-trees-html/g3bw_400.html
>>
>> How can we get the names to be more compatible? At least
>> s/grackle/pci/ is easy to do in QEMU, but which instance (QEMU or
>> OpenBIOS) should handle pci-ata vs ide change?
> http://playground.sun.com/pub/p1275/bindings/pci/pci2_1.pdf has table on
> page 10 that defines how pci class code should be translated into OF
> name. This is what my patch is using. pci-ata does not look spec
> compliant (or is there more up-to-date spec?)

There could be a FCode Program which sets the name.

>>                                                 What should we do with
>> address@hidden vs address@hidden
> There is no available IDE OF binding spec, so I when with the way
> OpenBIOS reports ata on qemu-x86. I have no idea what 600 in address@hidden
> may mean, but looking at g3_beige_300.html there is no such node there
> and looking at any other device tree in 
> http://penguinppc.org/historical/dev-trees-html/
> I haven't found one that use this kind of addressing for pci-ata.
> http://penguinppc.org/historical/dev-trees-html/g3bw_400.html for
> instance has address@hidden/address@hidden/address@hidden/ata-4. 
> address@hidden kind of
> addressing is used by devices on mac-io bus which I do not think we
> emulate in qemu. So it looks like OpneBIOS is wrong here.

We have PMAC IDE, but this device is CMD646, so mac-io bus addressing
rules should not be used.

In this tree there are two disks connected to CMD646, named
/address@hidden/address@hidden/address@hidden/ata-4/disk and
/address@hidden/address@hidden/address@hidden/ata-4/address@hidden:
http://penguinppc.org/historical/dev-trees-html/g4_pci_350.html



reply via email to

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