qemu-devel
[Top][All Lists]
Advanced

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

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


From: Andreas Färber
Subject: Re: [Qemu-devel] Re: [PATCHv8 00/16] boot order specification
Date: Tue, 14 Dec 2010 20:59:13 +0100

Am 12.12.2010 um 00:22 schrieb Benjamin Herrenschmidt:

On Sat, 2010-12-11 at 18:06 +0200, Gleb Natapov wrote:
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/

Those are old and I wouldn't look too closely at what Apple does.

The only working system emulation we have are Macs (G3 beige, G4, G5), so we can't just ignore Apple.
Alex even made me stick to their odd 0x41 rtas-version property. ;)

ATA doesn't really need anything complex, mostly the ata controller,
generally named "ata" nowadays with a #address-cells of 1 and a
#size-cells of 0. Children are then typically disk, cdrom, ... (ie block
devices) with a unit address of 0 for master and 1 for slave.

In the case of controllers with multiple ports, typically you have one
such "ata" node per bus. "pci-ata" is a liberal use by Apple here
representing the actual host controller PCI device.

In any case, what matters is the "compatible" property. This is what
defines the programming interface of a device.

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.

Well, it's possible that the @600 represents a register offset within
pci-ata, this is entirely up to pci-ata to do as it wishes there to
define it's own internal binding. Is there a "ranges" property defining
translation accross "pci-ata" ?

No, but that may be OpenBIOS' fault. Here's its reg, in case it helps:

reg                       00001800 00000000 00000000   00000000 00000000
                         01001810 00000000 00000000   00000000 00000008
                         01001814 00000000 00000000   00000000 00000004
                         01001818 00000000 00000000   00000000 00000008
                         0100181c 00000000 00000000   00000000 00000004
                         01001820 00000000 00000000   00000000 00000010

Regards,
Andreas



reply via email to

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