2018-10-28 12:45:46 +00:00
|
|
|
#pragma once
|
2015-05-16 01:10:39 +00:00
|
|
|
#include "types.h"
|
|
|
|
|
2021-01-30 15:14:44 +00:00
|
|
|
struct host_context_t {
|
2015-08-11 10:07:55 +00:00
|
|
|
#if HOST_CPU != CPU_GENERIC
|
2015-05-16 01:10:39 +00:00
|
|
|
unat pc;
|
2015-08-05 19:04:17 +00:00
|
|
|
#endif
|
2015-05-16 01:10:39 +00:00
|
|
|
|
|
|
|
#if HOST_CPU == CPU_X86
|
|
|
|
u32 eax;
|
|
|
|
u32 ecx;
|
|
|
|
u32 esp;
|
2021-01-30 15:14:44 +00:00
|
|
|
#elif HOST_CPU == CPU_X64
|
|
|
|
u64 rsp;
|
|
|
|
u64 r9;
|
|
|
|
#ifdef _WIN32
|
|
|
|
u64 rcx;
|
|
|
|
#else
|
|
|
|
u64 rdi;
|
|
|
|
#endif
|
2015-05-16 01:10:39 +00:00
|
|
|
#elif HOST_CPU == CPU_ARM
|
2021-01-30 15:14:44 +00:00
|
|
|
u32 reg[15];
|
2019-05-26 11:30:05 +00:00
|
|
|
#elif HOST_CPU == CPU_ARM64
|
2021-01-31 11:02:20 +00:00
|
|
|
u64 sp;
|
2019-06-18 13:07:32 +00:00
|
|
|
u64 x2;
|
2015-05-16 01:10:39 +00:00
|
|
|
#endif
|
|
|
|
};
|