Skip site navigation (1)Skip section navigation (2)
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>