* Huang-Jen Wang huangjen.wang@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