[LinuxBIOS] A question in auto.c

Huang-Jen Wang huangjen.wang at gmail.com
Sat Jun 18 11:01:42 CEST 2005


Stefan, 
So the values of the array depend on the links of cpu to cpu?
If I got an example :
Link0 of CPU0 to Link1 of CPU1 
Link1 of CPU0 to Link0 of CPU3
Link0 of CPU1 to Link0 of CPU2 
Link2 of CPU2 to Link1 of CPU3 

         (L2)              (L1)     
        CPU2-------------CPU3
   (L0) |                     | (L0)
         |                      |
         |                      |
         |                      |
         |                      |
    (L0)|                      | (L1)
        CPU1-------------CPU0------
           (L1)               (L0)                 


what are the values of the array?I hope I can realize from some examples...
BTW, I search the keyword "AMD K8 BKDG(or AMD K8 BGDG)" in google, 
it has a little information, could you tell where can get more infromations? 
Thanks....

HJ Wang

On 6/17/05, Stefan Reinauer <stepan at openbios.org> wrote:
> * Huang-Jen Wang <huangjen.wang at gmail.com> [050617 09:29]:
> > One part of auto.c, I can't understand , hope you can tell me.
> > In the "static unsigned int generate_row(uint8_t node, uint8_t row,
> > uint8_t maxnodes)" function, how do I get the values of "static const
> > unsigned int rows_4p[4][4]" array , I see an example :
> >
> >  /* Link0 of CPU0 to Link0 of CPU1 */
> >  /* Link1 of CPU0 to Link2 of CPU2 */
> >  /* Link2 of CPU1 to Link1 of CPU3 */
> >  /* Link0 of CPU2 to Link0 of CPU3 */
> > static const unsigned int rows_4p[4][4] = {
> >                 { 0x00070101, 0x00010202, 0x00030404, 0x00010204 },
> >                 { 0x00010202, 0x000b0101, 0x00010208, 0x00030808 },
> >                 { 0x00030808, 0x00010208, 0x000b0101, 0x00010202 },
> >                 { 0x00010204, 0x00030404, 0x00010202, 0x00070101 }
> >  };
> >
> > but I still can't understand why?
> 
> It is the hypertransport routing table, describing how hypertransport
> packets are routed from each CPU to each other CPU. See the AMD K8 BKDG
> for the register description of the routing table entries.
> 
> BUT: This looks like an obsolete piece of code to me. Nowadays the
> routing table should be dynamically evaluated in coherent_ht.c
> 
>  Stefan
> 
>




More information about the coreboot mailing list