K8 northbridge f1 behaviour.

Eric W. Biederman ebiederman at lnxi.com
Thu Jan 8 23:42:00 CET 2004

ron minnich <rminnich at lanl.gov> writes:

> (note: c0.b means byte at register c0, and c0.l means 32-bits at c0. this 
> is the 'setpci' command nomenclature)
> I'm seeing something on Function 1 on K8 that I don't understand. 
> Consider config. register c0.b. That register, if set to 0x33, enables ISA
> and legacy VGA ports to the link defined in register c4.l (i.e. dest
> node/dest link). In the case of the s2885, and a vga card in the pci33
> slot, the pair c0.l and c4.l set up legacy vga to go to HT link #2, and
> c0.b is set to 0x33.
> What I don't understand is this: if, after booting, I use setpci to set
> c0.b to 0, the system as a whole continues to work fine. If I set c0.l AND
> c4.l to 0, then the system works. I would expect the system to die as I/O 
> no longer would be routed to HT link #2. 
> What am I missing? This is a system booted nosmp, so all I/O should be 
> going through cpu 0 and 0:18.1 settings should control I/O. Is there some 
> 'magic' to make these settings really set into the chip? 

For this kind of setting I don't think there is.
But you can't not route traffic on the Opteron.  If traffic is not
routed it goes out the default link.  Which is why my broken HT routing
and setup code worked for so long.
> I've run into this as we are trying to get vga to work under linuxbios
> using the emulation code (freebios/util/vgabios/testbios). We have
> actually got this code close to working on the normal bios, and have even
> made an nvidia card come up correctly in the agp slot, but we can't get
> vga enables set up so that I/O to the legacy VGA ports works under
> linuxbios.
> Any hints would be gratefully accepted!

The generic code should already handle this properly. With some small
exceptions of non standard registers.


More information about the coreboot mailing list