diff --git a/proxyclient/m1n1/proxy.py b/proxyclient/m1n1/proxy.py index 1869f3e5..129a21cd 100644 --- a/proxyclient/m1n1/proxy.py +++ b/proxyclient/m1n1/proxy.py @@ -548,6 +548,7 @@ class M1N1Proxy(Reloadable): P_SMP_CALL_SYNC = 0x502 P_SMP_WAIT = 0x503 P_SMP_SET_WFE_MODE = 0x504 + P_SMP_IS_ALIVE = 0x505 P_HEAPBLOCK_ALLOC = 0x600 P_MALLOC = 0x601 @@ -940,6 +941,8 @@ class M1N1Proxy(Reloadable): return self.request(self.P_SMP_WAIT, cpu) def smp_set_wfe_mode(self, mode): return self.request(self.P_SMP_SET_WFE_MODE, mode) + def smp_is_alive(self, cpu): + return self.request(self.P_SMP_IS_ALIVE, cpu) def heapblock_alloc(self, size): return self.request(self.P_HEAPBLOCK_ALLOC, size) diff --git a/src/proxy.c b/src/proxy.c index 3925d7e8..0587f6ab 100644 --- a/src/proxy.c +++ b/src/proxy.c @@ -339,6 +339,9 @@ int proxy_process(ProxyRequest *request, ProxyReply *reply) case P_SMP_SET_WFE_MODE: smp_set_wfe_mode(request->args[0]); break; + case P_SMP_IS_ALIVE: + reply->retval = smp_is_alive(request->args[0]); + break; case P_HEAPBLOCK_ALLOC: reply->retval = (u64)heapblock_alloc(request->args[0]); diff --git a/src/proxy.h b/src/proxy.h index 27a3f8ea..a6612824 100644 --- a/src/proxy.h +++ b/src/proxy.h @@ -83,6 +83,7 @@ typedef enum { P_SMP_CALL_SYNC, P_SMP_WAIT, P_SMP_SET_WFE_MODE, + P_SMP_IS_ALIVE, P_HEAPBLOCK_ALLOC = 0x600, // Heap and memory management ops P_MALLOC,