Date: Mon, 8 Sep 2008 16:50:38 -0400 From: John Baldwin <jhb@freebsd.org> To: "Pascal Hofstee" <caelian@gmail.com> Cc: freebsd-current@freebsd.org, Christian Weisgerber <naddy@mips.inka.de> Subject: Re: No root filesystem Message-ID: <200809081650.38774.jhb@freebsd.org> In-Reply-To: <d8a0b7620809021041i5e9f4ea0y99090affa681c34e@mail.gmail.com> References: <g8nl1b$279$1@lorvorc.mips.inka.de> <200809021033.55033.jhb@freebsd.org> <d8a0b7620809021041i5e9f4ea0y99090affa681c34e@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 02 September 2008 01:41:24 pm Pascal Hofstee wrote: > On Tue, Sep 2, 2008 at 4:33 PM, John Baldwin <jhb@freebsd.org> wrote: > > This explains k8temp. So my earlier test patch to Christian only checked > > on i386 which is why it didn't find an issue before. Try the updated > > patch at http://www.FreeBSD.org/~jhb/patches/pcie.patch > > > > This does PCI config reads using both methods and panics if it doesn't > > get the same result. > > I had to adjust the patch slightly by actually initializing edata to > -1 to get the kernel to actually build (WARNS was complaining about > possibly uninitialized variable edata). I then booted the resulting > kernel and got the following boot log: > > [snip earlier parts of boot log] > acpi0: <090607 RSDT1001> on motherboard > PCIe: Memory Mapped configuration base @ 0xe0000000 > ioapic0: routing intpin 9 (ISA IRQ 9) to vector 48 > acpi0: [MPSAFE] > acpi0: [ITHREAD] > acpi0: Power Button (fixed) > panic: pci_cfgread(0:24:0, 11, 1) => 0x6, 0xff > cpuid = 0 > > According to pciconf -lv on a working kernel device 0:24:0 is the > following: hostb0@pci0:0:24:0: class=0x060000 card=0x00000000 > chip=0x11001022 rev=0x00 hdr=0x00 > vendor = 'Advanced Micro Devices (AMD)' > device = '(K8) Athlon 64/Opteron HyperTransport Technology > Configuration' > class = bridge > subclass = HOST-PCI > > Which matches perfectly with the first previously mentioned missing > devices that are normally attached to pcib0. So Linux has a rather gross work-around for this (it's a hardware bug) where they check all the slots on bus 0, and if a device isn't found via MCFG, it falls back to using the old style config access. That still doesn't explain the ata issue though. Let me see if I can come up with a patch for this issue first, and then we can move on to the ATA one. :-( Try http://www.FreeBSD.org/~jhb/patches/pcie_mcfg_k8.patch -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200809081650.38774.jhb>