freeze: allow interrupts in frozen state

Change-Id: I1d502f828ab9f9c0e1223d021979ac3dcf4d0c25
This commit is contained in:
TOIDA,Suguru
2019-08-28 12:20:02 +09:00
committed by Masamichi Takagi
parent ff982b8594
commit 8e4073c2ca
4 changed files with 43 additions and 1 deletions

View File

@ -14,14 +14,17 @@ extern void __freeze();
void
freeze()
{
unsigned long flags;
struct ihk_os_cpu_monitor *monitor = cpu_local_var(monitor);
monitor->status_bak = monitor->status;
monitor->status = IHK_OS_MONITOR_KERNEL_FROZEN;
flags = cpu_enable_interrupt_save();
while (monitor->status == IHK_OS_MONITOR_KERNEL_FROZEN) {
cpu_halt();
cpu_pause();
}
cpu_restore_interrupt(flags);
monitor->status = monitor->status_bak;
}