summaryrefslogtreecommitdiffstats
path: root/src/kernel/syscall.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/syscall.C')
-rw-r--r--src/kernel/syscall.C7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/kernel/syscall.C b/src/kernel/syscall.C
index 1df43b78e..ff45f1ccf 100644
--- a/src/kernel/syscall.C
+++ b/src/kernel/syscall.C
@@ -65,19 +65,20 @@ void kernel_execute_hyp_doorbell()
doorbell_clear();
//Execute all work items on doorbell_actions stack
- KernelWorkItem *l_work = t->cpu->doorbell_actions.pop();
+ cpu_t* l_cpu = CpuManager::getCurrentCPU();
+ KernelWorkItem *l_work = l_cpu->doorbell_actions.pop();
while(l_work != nullptr)
{
//Execute Work Item and then delete it
(*l_work)();
delete l_work;
- l_work = t->cpu->doorbell_actions.pop();
+ l_work = l_cpu->doorbell_actions.pop();
}
//IPC messages come in only on the master, so
//If this is a doorbell to the master -- check
cpu_t* master = CpuManager::getMasterCPU();
- if(t->cpu == master)
+ if(l_cpu == master)
{
size_t pir = getPIR();
printk("IPC msg pir %lx incoming\n", pir);
OpenPOWER on IntegriCloud