Port-sparc archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
re: partially working SMP again
> so, this leaves the original cpuinfo page cached. you need to
> modify the loop towards the end of pmap_bootstrap4m() so make
> it skip SRMMU_PG_C for the CPUINFO_VA page.
Okay, I've put another ugly code which makes CPUINFO_VA uncached,
but it still fails on cpu3 as the previous post.
It fails in CPU_INFO_FOREACH() in cpu.c:xcall().
CPU_INFO_FOREACH() macro in sparc/cpuvar.h is defined as:
> #define CPU_INFO_FOREACH(cii, cp) \
> cii = 0; (cp = cpus[cii]) && cp->eintstack && cii < sparc_ncpus; cii++
so maybe we should allocate cpus[_MAXNCPU + 1] in cpu.c
to make sure cpus[4] == NULL.
hmmm.. or just move the cii < sparc_ncpus test first again?
Now it goes a bit further, but still fails:
OK, now i think you're having issues with the cache congruency
issue. i've got some ideas for a fix for this, but it might
require some help from /boot. i have some code in my tree
that booted further than it ever has, but it wastes 32KB for
each cpuinfo and /boot doesn't give enough bootstrap ram for
this...
.mrg.
Home |
Main Index |
Thread Index |
Old Index