K8 northbridge f1 behaviour.

ron minnich rminnich at lanl.gov
Thu Jan 8 12:15:00 CET 2004


(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? 

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!

thanks

ron




More information about the coreboot mailing list