Re: [PATCH] [1/12] x86: Work around mmio config space quirk on AMDFam10h

From: Linus Torvalds
Date: Sun Aug 12 2007 - 05:25:47 EST




On Thu, 9 Aug 2007, Andi Kleen wrote:
>
> Some broken devices have been discovered to require %al/%ax/%eax registers
> for MMIO config space accesses. Modify mmconfig.c to use these registers
> explicitly (rather than modify the global readb/writeb/etc inlines).
>
> AK: also changed i386 to always use eax
> AK: moved change to extended space probing to different patch
> AK: reworked with inlines according to Linus' requirements.
> AK: improve comments.
>
> Signed-off-by: dean gaudet <dean@xxxxxxxxxx>
> Signed-off-by: Andi Kleen <ak@xxxxxxx>

Damn you, Andi.

You had obviously never actually tested this on x86.

> --- linux.orig/arch/i386/pci/mmconfig.c
> +++ linux/arch/i386/pci/mmconfig.c
> - writeb(value, mmcfg_virt_addr + reg);
> + mmio_config_writeb(mmcfg_virt_addr, value);

Notice something missing here? The new code cannot work on any machine
that actually uses mmio cfg.

Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/