From: Ryan B. <bo...@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 first time? 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? -- Ryan Boder GPG Public Key at http://www.ece.cmu.edu/~rtb/icanoop.gpg |