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: Gleb Natapov
Subject: [Qemu-devel] Re: [PATCHv8 00/16] boot order specification
Date: Sat, 11 Dec 2010 18:06:17 +0200

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?)

>                                                 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.

--
                        Gleb.



reply via email to

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