From: Gleb Natapov <gleb@redhat.com>
To: Blue Swirl <blauwirbel@gmail.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 0/5] boot order specification
Date: Tue, 26 Oct 2010 22:34:51 +0200 [thread overview]
Message-ID: <20101026203451.GE2764@redhat.com> (raw)
In-Reply-To: <AANLkTi=DAH8wfaETAHXswzg4jZQEXa6VP95SZ+GRPCv8@mail.gmail.com>
On Tue, Oct 26, 2010 at 07:57:00PM +0000, Blue Swirl wrote:
> On Tue, Oct 26, 2010 at 7:35 PM, Gleb Natapov <gleb@redhat.com> wrote:
> > On Tue, Oct 26, 2010 at 05:00:25PM +0000, Blue Swirl wrote:
> >> On Tue, Oct 26, 2010 at 3:43 PM, Gleb Natapov <gleb@redhat.com> wrote:
> >> > On Tue, Oct 26, 2010 at 03:35:38PM +0000, Blue Swirl wrote:
> >> >> On Tue, Oct 26, 2010 at 10:48 AM, Gleb Natapov <gleb@redhat.com> wrote:
> >> >> > This is current sate of the patch series for people to comment on.
> >> >> > I dropped ioport double reservation checking from isa-bus and added
> >> >> > bus_id field for IDE bus since as Markus pointed out unit has different
> >> >> > meaning there.
> >> >> >
> >> >> > This patch series produce names like:
> >> >> >
> >> >> > ISA@03f1-03f5,03f7/fd@a
> >> >> > ISA@03f1-03f5,03f7/fd@b
> >> >> > PCI@0000:00:01.1/IDE@1:0
> >> >> > PCI@0000:00:01.1/IDE@1:1
> >> >> > PCI@0000:00:03.0/virtio-blk@0
> >> >> > PCI@0000:00:04.0/virtio-net@0
> >> >> >
> >> >> > They will be passed to BIOS to determine boot order.
> >> >>
> >> >> We also use OpenBIOS for PPC and Sparcs. A compatible boot device for
> >> >> those would be OpenFirmware tree name. I think your names should then
> >> >> become:
> >> >> /pci/isa/fdc@3f1/fd@0
> >> >> /pci/isa/fdc@3f1/fd@1
> >> > Why is it PCI?
> >>
> >> I just assumed a PCI to ISA bridge.
> >>
> >> >> /pci/ide@0/1,0
> >> >> /pci/ide@0/1,1
> >> > Where pci address here?
> >> >
> >> >> /pci/virtio-net@1
> >> >> /pci/virtio-net@2
> >> > And here?
> >>
> >> That was the part I invented.
> >>
> >> > And we will need to describe ROMs too. I planned to have something like:
> >> > ROM@romfilename for roms loaded with -option-rom command line option.
> >>
> >> I don't think OF has standard for those.
> >>
> >> >>
> >> >> The PCI addressing scheme in OF was a bit twisty, I just invented
> >> >> integers in place of those.
> >> >>
> >> >> Anyway, I don't think we should invent yet another device path naming system.
> >> > IS this format documented somewhere? I am not attached to specific
> >> > format at all.
> >>
> >> A lot of docs are here:
> >> http://playground.sun.com/pub/p1275/home.html
> > Search for flat, device or tree returns nothing on this page.
> >
> > But looking elsewhere I found some description of DTS. It is very
> > elaborate and looks like this:
> >
> > /pci@xxx {
> > plenty of info here
> > }
> >
> > The only example of /pci@xxx that I found is here
> > http://wiki.freebsd.org/FlattenedDeviceTree but not any spec about its
> > format.
>
> That's FDT, it's a bit different.
>
> There are some trees here:
> http://penguinppc.org/historical/dev-trees-html/trees-index.html
>
> For example dual G4 500 has several /pci@xyz nodes.
>
Yes, it has: /pci@f0000000 for instance. Now lets try to decipher
address f0000000 according to pci2_1.pdf below. It says:
The text representation of a PCI address is one of the following forms:
DD
DD,F
[n]i[t]DD,F,RR,NNNNNNNN
[n]m[t][p]DD,F,RR,NNNNNNNN
[n]x[p]DD,F,RR,NNNNNNNNNNNNNNNN
where:
DD is an ASCII hexadecimal number in the range 0...1F
F is an ASCII numeral in the range 0...7
RR is an ASCII hexadecimal number in the range 0...FF
NNNNNNNN is an ASCII hexadecimal number in the range 0...FFFFFFFF
NNNNNNNNNNNNNNNN is an ASCII hexadecimal number in the range 0...FFFFFFFFFFFFFFFF
[n] is the letter 'n', whose presence is optional
[t] is the letter 't', whose presence is optional
[p] is the letter 'p', whose presence is optional
i is the letter 'i'
m is the letter 'm'
x is the letter 'x'
, is the character ',' (comma)
Nothing resembles f0000000. There is also 2.2.1.1 Numerical Representation
but no luck there too. This number is illegal according to it. May be
this is memory address PCI bar is mapped into? But according to which
spec? And this kind of addressing has no meaning as interface between
qemu and firmware since qemu does not map PCI bars.
> >>
> >> Here's the PCI bindings doc:
> >> http://playground.sun.com/pub/p1275/bindings/pci/pci2_1.pdf
> > The funny thing is that pci address used in /pci@ example from wiki
> > above is incorrect according to this spec.
> >
> > And I thought ACPI spec is confusing :) Can you clarify things a little
> > bit please?
>
> Perhaps you should start by reading the main OF document, it can be found in:
> http://www.openfirmware.info/IEEE_1275-1994
Perhaps. But searching for PCI there returns nothing. What section
exactly should enlighten me? One interesting thing I found at the
beginning:
1.1 Purpose and scope
This document describes a software architecture for the firmware that
controls a computer before the operating system has begun execution
Interfaces between firmware and OS is not always suitable for
qemu->guest communication.
--
Gleb.
next prev parent reply other threads:[~2010-10-26 20:34 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-26 10:48 [Qemu-devel] [PATCH 0/5] boot order specification Gleb Natapov
2010-10-26 10:48 ` [Qemu-devel] [PATCH 1/5] Keep track of ISA ports ISA device is using in qdev Gleb Natapov
2010-10-26 13:25 ` Anthony Liguori
2010-10-26 13:30 ` Gleb Natapov
2010-10-26 13:32 ` Anthony Liguori
2010-10-26 15:42 ` Blue Swirl
2010-10-26 10:48 ` [Qemu-devel] [PATCH 2/5] Add get_dev_path callback to ISA bus " Gleb Natapov
2010-10-26 10:48 ` [Qemu-devel] [PATCH 3/5] Store IDE bus id in IDEBus structure for easy access Gleb Natapov
2010-10-26 10:48 ` [Qemu-devel] [PATCH 4/5] Add get_dev_path callback to IDE bus Gleb Natapov
2010-10-26 10:48 ` [Qemu-devel] [PATCH 5/5] Add bootindex parameter to net/block/fd device Gleb Natapov
2010-10-26 13:29 ` Anthony Liguori
2010-10-26 14:16 ` Gleb Natapov
2010-10-26 12:40 ` [Qemu-devel] [PATCH 0/5] boot order specification Bernhard Kohl
2010-10-26 13:07 ` Gleb Natapov
2010-10-26 13:35 ` Bernhard Kohl
2010-10-26 13:38 ` Gleb Natapov
2010-10-26 15:35 ` Blue Swirl
2010-10-26 15:43 ` Gleb Natapov
2010-10-26 17:00 ` Blue Swirl
2010-10-26 19:35 ` Gleb Natapov
2010-10-26 19:57 ` Blue Swirl
2010-10-26 20:34 ` Gleb Natapov [this message]
2010-10-26 20:49 ` Blue Swirl
2010-10-26 21:02 ` Gleb Natapov
2010-10-26 21:14 ` Scott Wood
2010-10-27 8:57 ` Gleb Natapov
2010-10-27 16:39 ` Scott Wood
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101026203451.GE2764@redhat.com \
--to=gleb@redhat.com \
--cc=blauwirbel@gmail.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).