aboutsummaryrefslogtreecommitdiff
path: root/src/core/arm/arm_interface.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-09-30 15:32:27 -0400
committerGitHub <noreply@github.com>2018-09-30 15:32:27 -0400
commit5e2f23e2b185475c3ce7ae1750ec14daefcd3e08 (patch)
treeac2c341c94976552acd507359e8853105193d288 /src/core/arm/arm_interface.h
parentf8e46d335fa6f6e73f531954951fa5be1b46765f (diff)
parent541c5507538137b9cc5fd0579221aaecf59a89b1 (diff)
Merge pull request #1417 from lioncash/context
svc: Implement svcGetThreadContext
Diffstat (limited to 'src/core/arm/arm_interface.h')
-rw-r--r--src/core/arm/arm_interface.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/core/arm/arm_interface.h b/src/core/arm/arm_interface.h
index 16d528994..59da33f30 100644
--- a/src/core/arm/arm_interface.h
+++ b/src/core/arm/arm_interface.h
@@ -22,10 +22,16 @@ public:
std::array<u64, 31> cpu_registers;
u64 sp;
u64 pc;
- u64 pstate;
+ u32 pstate;
+ std::array<u8, 4> padding;
std::array<u128, 32> vector_registers;
- u64 fpcr;
+ u32 fpcr;
+ u32 fpsr;
+ u64 tpidr;
};
+ // Internally within the kernel, it expects the AArch64 version of the
+ // thread context to be 800 bytes in size.
+ static_assert(sizeof(ThreadContext) == 0x320);
/// Runs the CPU until an event happens
virtual void Run() = 0;