Port-vax archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Current lwp
While searching for the reason that interrupt sometimes are locked out,
I wanted to check what the current lwp is, and I'm confused.
In cpu.h defined curlwp as the contents of the supervisor stack pointer.
No problem with that. If supervisor mode isn't used anyway, it's a good
register to use for something else.
However, nothing ever sets the supervisor stack pointer to any value.
The only time it is set is during boot, when it's set to lwp0, and then
nothing more.
But plenty of places reads the current lwp. Does this thing really work?
If so, what am I missing? Where is the SSP being set???
As for the missing interrupts, I've come as far as realizing that
sometimes mi_switch() will switch to a process, but remain at IPL_SCHED,
which obviously will cause my observed problem, but I have not yet
figured out under which circumstances this happens.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt%softjar.se@localhost || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
Home |
Main Index |
Thread Index |
Old Index