Merge pull request #9198 from liamwhite/arm64

Initial ARM64 support
This commit is contained in:
bunnei 2022-11-10 17:11:27 -08:00 committed by GitHub
commit d05b183f21
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 68 additions and 36 deletions

View file

@ -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

View file

@ -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