diff options
author | bunnei <bunneidev@gmail.com> | 2022-11-10 17:11:27 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-10 17:11:27 -0800 |
commit | d05b183f2118a5e2c919c35023549f30201bdd7c (patch) | |
tree | 082cf6bb2e372c3233872b836fa96bdc0c25f279 /src/common | |
parent | 83eb9cf7dabc7685215b423ffae9a650fa9a3f50 (diff) | |
parent | cbaf642ffe4b05f8796798ebdc5c6892605928cc (diff) |
Merge pull request #9198 from liamwhite/arm64
Initial ARM64 support
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/common_funcs.h | 4 | ||||
-rw-r--r-- | src/common/host_memory.cpp | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/common/common_funcs.h b/src/common/common_funcs.h index e1e2a90fc..0dad9338a 100644 --- a/src/common/common_funcs.h +++ b/src/common/common_funcs.h @@ -31,8 +31,10 @@ #ifndef _MSC_VER -#ifdef ARCHITECTURE_x86_64 +#if defined(ARCHITECTURE_x86_64) #define Crash() __asm__ __volatile__("int $3") +#elif defined(ARCHITECTURE_arm64) +#define Crash() __asm__ __volatile__("brk #0") #else #define Crash() exit(1) #endif diff --git a/src/common/host_memory.cpp b/src/common/host_memory.cpp index 7f9659612..909f6cf3f 100644 --- a/src/common/host_memory.cpp +++ b/src/common/host_memory.cpp @@ -359,6 +359,12 @@ public: } }); + long page_size = sysconf(_SC_PAGESIZE); + if (page_size != 0x1000) { + LOG_CRITICAL(HW_Memory, "page size {:#x} is incompatible with 4K paging", page_size); + throw std::bad_alloc{}; + } + // Backing memory initialization #if defined(__FreeBSD__) && __FreeBSD__ < 13 // XXX Drop after FreeBSD 12.* reaches EOL on 2024-06-30 |