On Mon, Sep 8, 2008 at 1:50 PM, John Baldwin <jhb_at_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_at_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 _at_ 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_at_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 For what its worth, my desktop loses 4 pci devices when pcie cfgmethod is enabled. My X server won't start. I'm guessing this patch will fix it, but I'll know tomorrow. -- Peter Wemm - peter_at_wemm.org; peter_at_FreeBSD.org; peter_at_yahoo-inc.com; KI6FJV "All of this is for nothing if we don't go to the stars" - JMS/B5 "If Java had true garbage collection, most programs would delete themselves upon execution." -- Robert SewellReceived on Tue Sep 09 2008 - 05:05:50 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:35 UTC