On 01.09.2008 17:39, ron minnich wrote:
On Mon, Sep 1, 2008 at 8:12 AM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
Hi,
this patch is not to be applied, but an annotation from my tree.
Index: northbridge/amd/k8/dqs.c
--- northbridge/amd/k8/dqs.c (Revision 853) +++ northbridge/amd/k8/dqs.c (Arbeitskopie) @@ -2001,6 +2001,7 @@ static inline void train_ram_on_node(unsigned nodeid, unsigned coreid, struct sys_info *sysinfo, unsigned retcall) { if(coreid) return; // only do it on core0 +#error This is broken beyond repair. We need to use the generic global variable infrastructure, especially if we relocate the global variables without telling anybody.
These fixes come in to play once single core is done.
Sorry, I meant that
struct sys_info *sysinfox = ((CONFIG_LB_MEM_TOPK<<10) - DCACHE_RAM_GLOBAL_VAR_SIZE);
is broken beyond repair. Basically, that code tries to establish a new location for global variables without telling anyone.
We're going to write this code as always SMP safe, and I want to remove the CONFIG_*_SMP conditionals. They make no sense for a bios.
Interesting point of view. As long as we're allowed to make locking on pure uniprocessor architectures a no-op, I'm totally for it.
Regards, Carl-Daniel