From: Ryan Boder <boder@cm...> - 2002-04-17 02:36:15
I'm trying to get SMP working, but I'm kind of stuck.
In smp_boot_cpus(), each time a new process is created, 2 things happen
that aren't right.
1) The while loop times out before !test_bit(i, &smp_callin_map) ever
becomes true. I'm not sure what smp_callin_map is, but it looks like a
bit vector where each new process sets it bit when it is run for the
2) Each time the new process created by idle_task is run (when it's in
the cpu_idle function), it immediately seg faults and then in segv() the
kernel panics, saying that there is no mm struct (current->mm == NULL)
Kernel panic: Segfault with no mm
One thing I noticed is the call to do_fork passes NULL to the regs
argument. Is that right? The other arch's don't do that.
Any suggestions? Is SMP working for anyone else now and I am doing
something wrong or is this really a code problem?
GPG Public Key at http://www.ece.cmu.edu/~rtb/icanoop.gpg