[LinuxBIOS] A question in auto.c

Stefan Reinauer stepan at openbios.org
Fri Jun 17 10:21:42 CEST 2005


* 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