Am 03.10.2010 23:59, schrieb Uwe Hermann:
- /*
* Important: The code below makes a run-time decision depending on
* whether this is a K8 or Fam10h system. Depending on which it is,
* the CONFIG_CPU_ADDR_BITS_MASK value might be be different.
movl $MTRRphysMask_MSR(1), %ecx*/
- movl $0xff, %edx /* (1 << (CONFIG_CPU_ADDR_BITS - 32)) - 1 for K8 (CONFIG_CPU_ADDR_BITS = 40) */
- movl $CONFIG_CPU_ADDR_BITS_MASK, %edx /* K8 */ jmp_if_k8(wbcache_post_fam10_setup)
- movl $0xffff, %edx /* (1 << (CONFIG_CPU_ADDR_BITS - 32)) - 1 for FAM10 (CONFIG_CPU_ADDR_BITS = 48) */
- movl $CONFIG_CPU_ADDR_BITS_MASK, %edx /* Fam10h */
wbcache_post_fam10_setup: movl $(~(CONFIG_XIP_ROM_SIZE - 1) | 0x800), %eax wrmsr
#endif /* CONFIG_XIP_ROM_SIZE && CONFIG_XIP_ROM_BASE */
How is this supposed to work? "Set to the build specific value, and if it is fam10 (ie. jmp_if_k8 not taken), set to the build specific value again"?
Curiously, Patrick