tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: pchb@acpi
On Mon, Aug 02, 2010 at 06:42:11PM +0900, KIYOHARA Takashi wrote:
> Hi! Quentin,
>
>
> From: Quentin Garnier <cube%cubidou.net@localhost>
> Date: Sun, 1 Aug 2010 15:21:18 +0000
>
> > On Sun, Aug 01, 2010 at 11:17:54PM +0900, KIYOHARA Takashi wrote:
>
> > > All recent PC has information on PCI in ACPI.
> > > We can attach pchb in acpi like a lot of other acpi devices.
> > > pchb@acpi has been fairly supported in FreeBSD since before.
> > >
> > > ftp://ftp.netbsd.org/pub/NetBSD/misc/kiyohara/ia64/pchb%acpi-support.diff@localhost
> >
> > Do you have anything further in mind? This patch is only dmesg
> > cosmetics.
>
> No, I don't.
> My ia64 machine not need it.
> However it pass segment information to pci(4) in the future possibly.
What kind of segment information?
Attached is a preview of information that I supply to instances of
pci(4), ppb(4), and cbb(4) through their device properties. The
information will help them manage PCI address spaces and to program
their address windows correctly, so that I can retire rbus and
PCI_ADDR_FIXUP, whose heuristics are incomplete.
Currently, I derive the information by scanning PCI Configuration Space.
The system BIOS---be it OpenFirmware, ACPI, or something else---may
supply similar information.
Dave
--
David Young OJC Technologies
dyoung%ojctech.com@localhost Urbana, IL * (217) 278-3933
Properties for device `pci0':
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>device-driver</key>
<string>pci</string>
<key>device-unit</key>
<integer>0x0</integer>
<key>pci-resources</key>
<dict>
<key>memory</key>
<dict>
<key>bios-reservations</key>
<array>
<dict>
<key>address</key>
<integer>0xf2000000</integer>
<key>bus</key>
<integer>0x0</integer>
<key>device</key>
<integer>0x2</integer>
<key>function</key>
<integer>0x0</integer>
<key>size</key>
<integer>0x6000000</integer>
<key>type</key>
<string>window</string>
</dict>
<dict>
<key>address</key>
<integer>0xfc300000</integer>
<key>bus</key>
<integer>0x0</integer>
<key>device</key>
<integer>0x3</integer>
<key>function</key>
<integer>0x0</integer>
<key>size</key>
<integer>0x300000</integer>
<key>type</key>
<string>window</string>
</dict>
<dict>
<key>address</key>
<integer>0xf8000000</integer>
<key>bus</key>
<integer>0x0</integer>
<key>device</key>
<integer>0x1c</integer>
<key>function</key>
<integer>0x0</integer>
<key>size</key>
<integer>0x4000000</integer>
<key>type</key>
<string>window</string>
</dict>
<dict>
<key>address</key>
<integer>0xfc600000</integer>
<key>bus</key>
<integer>0x0</integer>
<key>device</key>
<integer>0x1d</integer>
<key>function</key>
<integer>0x7</integer>
<key>size</key>
<integer>0x400</integer>
<key>type</key>
<string>BAR</string>
</dict>
<dict>
<key>address</key>
<integer>0xfc100000</integer>
<key>bus</key>
<integer>0x0</integer>
<key>device</key>
<integer>0x1e</integer>
<key>function</key>
<integer>0x0</integer>
<key>size</key>
<integer>0x200000</integer>
<key>type</key>
<string>window</string>
</dict>
<dict>
<key>address</key>
<integer>0xfc400000</integer>
<key>bus</key>
<integer>0x1</integer>
<key>device</key>
<integer>0x0</integer>
<key>function</key>
<integer>0x0</integer>
<key>size</key>
<integer>0x200000</integer>
<key>type</key>
<string>window</string>
</dict>
<dict>
<key>address</key>
<integer>0xd80f0000</integer>
<key>bus</key>
<integer>0x2</integer>
<key>device</key>
<integer>0xe</integer>
<key>function</key>
<integer>0x0</integer>
<key>size</key>
<integer>0x10000</integer>
<key>type</key>
<string>BAR</string>
</dict>
<dict>
<key>address</key>
<integer>0xfc5c0000</integer>
<key>bus</key>
<integer>0x2</integer>
<key>device</key>
<integer>0xe</integer>
<key>function</key>
<integer>0x0</integer>
<key>size</key>
<integer>0x20000</integer>
<key>type</key>
<string>BAR</string>
</dict>
<dict>
<key>address</key>
<integer>0xf8000000</integer>
<key>bus</key>
<integer>0x4</integer>
<key>device</key>
<integer>0x0</integer>
<key>function</key>
<integer>0x0</integer>
<key>size</key>
<integer>0x4000000</integer>
<key>type</key>
<string>window</string>
</dict>
<dict>
<key>address</key>
<integer>0xf8000000</integer>
<key>bus</key>
<integer>0x5</integer>
<key>device</key>
<integer>0x0</integer>
<key>function</key>
<integer>0x0</integer>
<key>size</key>
<integer>0x2000000</integer>
<key>type</key>
<string>BAR</string>
</dict>
<dict>
<key>address</key>
<integer>0xf4000000</integer>
<key>bus</key>
<integer>0x6</integer>
<key>device</key>
<integer>0x0</integer>
<key>function</key>
<integer>0x0</integer>
<key>size</key>
<integer>0x4000000</integer>
<key>type</key>
<string>window</string>
</dict>
<dict>
<key>address</key>
<integer>0xf4000000</integer>
<key>bus</key>
<integer>0x7</integer>
<key>device</key>
<integer>0x0</integer>
<key>function</key>
<integer>0x0</integer>
<key>size</key>
<integer>0x4000000</integer>
<key>type</key>
<string>window</string>
</dict>
<dict>
<key>address</key>
<integer>0xf4000000</integer>
<key>bus</key>
<integer>0x8</integer>
<key>device</key>
<integer>0x0</integer>
<key>function</key>
<integer>0x0</integer>
<key>size</key>
<integer>0x4000000</integer>
<key>type</key>
<string>window</string>
</dict>
<dict>
<key>address</key>
<integer>0xf4000000</integer>
<key>bus</key>
<integer>0x9</integer>
<key>device</key>
<integer>0x0</integer>
<key>function</key>
<integer>0x0</integer>
<key>size</key>
<integer>0x2000000</integer>
<key>type</key>
<string>BAR</string>
</dict>
<dict>
<key>address</key>
<integer>0xd0000000</integer>
<key>bus</key>
<integer>0x10</integer>
<key>device</key>
<integer>0xd</integer>
<key>function</key>
<integer>0x0</integer>
<key>size</key>
<integer>0x8000000</integer>
<key>type</key>
<string>BAR</string>
</dict>
<dict>
<key>address</key>
<integer>0xfc2d0000</integer>
<key>bus</key>
<integer>0x10</integer>
<key>device</key>
<integer>0xd</integer>
<key>function</key>
<integer>0x0</integer>
<key>size</key>
<integer>0x10000</integer>
<key>type</key>
<string>BAR</string>
</dict>
</array>
<key>size</key>
<integer>0x2c600400</integer>
<key>start</key>
<integer>0xd0000000</integer>
</dict>
</dict>
</dict>
</plist>
Properties for device `pci4':
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>device-driver</key>
<string>pci</string>
<key>device-unit</key>
<integer>0x4</integer>
<key>pci-resources</key>
<dict>
<key>memory</key>
<dict>
<key>bios-reservations</key>
<array>
<dict>
<key>address</key>
<integer>0xf4000000</integer>
<key>bus</key>
<integer>0x9</integer>
<key>device</key>
<integer>0x0</integer>
<key>function</key>
<integer>0x0</integer>
<key>size</key>
<integer>0x2000000</integer>
<key>type</key>
<string>BAR</string>
</dict>
</array>
<key>size</key>
<integer>0x2c600400</integer>
<key>start</key>
<integer>0xd0000000</integer>
</dict>
</dict>
</dict>
</plist>
Home |
Main Index |
Thread Index |
Old Index