Enable interrupts in debug mode so keyboard works. Fixed crosscall off by one due to previous change.
This commit is contained in:
parent
afd9cdc068
commit
a274a78a5b
@ -53,6 +53,8 @@ Debug_HaltIPI()
|
||||
MP_SetState(CPUSTATE_HALTED);
|
||||
__sync_fetch_and_add(&debugHalted, 1);
|
||||
|
||||
enable_interrupts();
|
||||
|
||||
while (debugCmd == 0) {
|
||||
pause();
|
||||
}
|
||||
|
@ -167,12 +167,13 @@ MP_CrossCallTrap()
|
||||
int
|
||||
MP_CrossCall(CrossCallCB cb, void *arg)
|
||||
{
|
||||
CrossCallFrame frame;
|
||||
volatile CrossCallFrame frame;
|
||||
|
||||
// Setup frame
|
||||
memset(&frame, 0, sizeof(frame));
|
||||
frame.cb = cb;
|
||||
frame.arg = arg;
|
||||
frame.count = 1;
|
||||
|
||||
Critical_Enter();
|
||||
|
||||
@ -187,7 +188,7 @@ MP_CrossCall(CrossCallCB cb, void *arg)
|
||||
frame.done[CPU()] = 1;
|
||||
|
||||
// Wait for all to respond
|
||||
while (frame.count != lastCPU) {
|
||||
while (frame.count < lastCPU) {
|
||||
// Check for timeout
|
||||
|
||||
// XXX: Should dump the crosscall frame
|
||||
|
Loading…
Reference in New Issue
Block a user