Weird K8 output

YhLu YhLu at
Tue Nov 2 18:40:01 CET 2004

Can you let us know the incoherent device in CPU 0....CPU3..?

Some device unit id can not be changed? For examples, you set it from 0 to
1, it will still be 0. So it hang there....



-----Original Message-----
From: YhLu 
Sent: Tuesday, November 02, 2004 4:07 PM
To: 'Stefan Reinauer'
Cc: linuxbios at
Subject: RE: Weird K8 output


You are right, 

You can change to 
//                upos = ht_c[i].upos;
                upos = ((reg & 0xf00)>>8) * 0x20 + 0x80;

last time, I remember because it will use up regs. But this time seems OK.


Yinghai Lu
-----Original Message-----
From: Stefan Reinauer [mailto:stepan at] 
Sent: Tuesday, November 02, 2004 3:31 PM
To: YhLu
Subject: Re: Weird K8 output

* YhLu <YhLu at> [041102 21:27]:
> MB Model?
> HT routing table?
It was too loud (LOGLEVEL 9) 


> coherent_ht_finalize
> done
> PCI_DEV=(0,0x18,0) 0xb4=00030000
> bus=00 id =74501022
> bus=00 id =74601022
> PCI_DEV=(0,0x19,0) 0xd4=000a0400

static int ht_setup_chains(const struct ht_chain *ht_c, int ht_c_num)
                { /* Link 1 of CPU0 */
                        .udev = PCI_DEV(0, 0x18, 0),
                        .upos = 0xa0,
                        .devreg = 0xe0,
                { /* Link 2 of CPU1 */
                        .udev = PCI_DEV(0, 0x19, 0),
                        .upos = 0xc0,
                        .devreg = 0xe4, 

and resourcemap.c:
        PCI_ADDR(0, 0x18, 1, 0xE0), 0x0000FC88, 0x03000103,
        PCI_ADDR(0, 0x18, 1, 0xE4), 0x0000FC88, 0x0a040213,
        PCI_ADDR(0, 0x18, 1, 0xE8), 0x0000FC88, 0x0f0b0223,
        PCI_ADDR(0, 0x18, 1, 0xEC), 0x0000FC88, 0x14100133,

I took the bus numbers above from the running machine. is this wrong? 
How would I calculate them correctly?

isn't .upos duplicate?
ht_setup_chains reads the link to choose from .devreg. It could
determine .upos from there as well, no?


More information about the coreboot mailing list