Date: Mon, 8 Sep 2008 20:27:03 -0700 From: "Garrett Cooper" <yanefbsd@gmail.com> To: "John Baldwin" <jhb@freebsd.org> Cc: freebsd-current@freebsd.org, Christian Weisgerber <naddy@mips.inka.de>, Pascal Hofstee <caelian@gmail.com> Subject: Re: No root filesystem Message-ID: <7d6fde3d0809082027k5a5c9d7fm5eceb48e1a68612f@mail.gmail.com> In-Reply-To: <200809081650.38774.jhb@freebsd.org> References: <g8nl1b$279$1@lorvorc.mips.inka.de> <200809021033.55033.jhb@freebsd.org> <d8a0b7620809021041i5e9f4ea0y99090affa681c34e@mail.gmail.com> <200809081650.38774.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Sep 8, 2008 at 1:50 PM, John Baldwin <jhb@freebsd.org> wrote: > 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 Broken link ><. -Garrett
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7d6fde3d0809082027k5a5c9d7fm5eceb48e1a68612f>