rpcsx/rpcs3/Emu/CPU/Hypervisor.h

47 lines
568 B
C
Raw Normal View History

#pragma once
#include <util/types.hpp>
namespace rpcs3
{
2024-08-08 01:37:46 +02:00
#if defined(ARCH_x64)
union hypervisor_context_t
{
u64 regs[1];
struct
{
u64 rsp;
} x86;
};
static_assert(sizeof(hypervisor_context_t) == 8);
#else
union alignas(16) hypervisor_context_t
{
u64 regs[16];
struct
{
u64 pc;
u64 sp;
u64 x18;
u64 x19;
u64 x20;
u64 x21;
u64 x22;
u64 x23;
u64 x24;
u64 x25;
u64 x26;
u64 x27;
u64 x28;
u64 x29;
u64 x30;
// x0-x17 unused
} aarch64;
};
2024-08-08 01:37:46 +02:00
#endif
}