apply fixes for aarch64 linux by @nadiaholmquist
This commit is contained in:
parent
99b34efe2d
commit
0d83e98e04
|
@ -8,6 +8,9 @@
|
||||||
#include "../switch/compat_switch.h"
|
#include "../switch/compat_switch.h"
|
||||||
|
|
||||||
extern char __start__;
|
extern char __start__;
|
||||||
|
#else
|
||||||
|
#include <sys/mman.h>
|
||||||
|
#include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
|
@ -34,6 +37,9 @@ template <>
|
||||||
const int RegisterCache<Compiler, ARM64Reg>::NativeRegsAvailable = 8;
|
const int RegisterCache<Compiler, ARM64Reg>::NativeRegsAvailable = 8;
|
||||||
|
|
||||||
const int JitMemSize = 16 * 1024 * 1024;
|
const int JitMemSize = 16 * 1024 * 1024;
|
||||||
|
#ifndef __SWITCH__
|
||||||
|
u8 JitMem[JitMemSize];
|
||||||
|
#endif
|
||||||
|
|
||||||
void Compiler::MovePC()
|
void Compiler::MovePC()
|
||||||
{
|
{
|
||||||
|
@ -76,6 +82,16 @@ Compiler::Compiler()
|
||||||
SetCodeBase((u8*)JitRWStart, (u8*)JitRXStart);
|
SetCodeBase((u8*)JitRWStart, (u8*)JitRXStart);
|
||||||
JitMemUseableSize = JitMemSize;
|
JitMemUseableSize = JitMemSize;
|
||||||
Reset();
|
Reset();
|
||||||
|
#else
|
||||||
|
#else
|
||||||
|
u64 pageSize = sysconf(_SC_PAGE_SIZE);
|
||||||
|
u8* pageAligned = (u8*)(((u64)JitMem & ~(pageSize - 1)) + pageSize);
|
||||||
|
u64 alignedSize = (((u64)JitMem + sizeof(JitMem)) & ~(pageSize - 1)) - (u64)pageAligned;
|
||||||
|
mprotect(pageAligned, alignedSize, PROT_EXEC | PROT_READ | PROT_WRITE);
|
||||||
|
|
||||||
|
SetCodeBase(pageAligned, pageAligned);
|
||||||
|
JitMemUseableSize = alignedSize;
|
||||||
|
Reset();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
for (int i = 0; i < 3; i++)
|
for (int i = 0; i < 3; i++)
|
||||||
|
|
|
@ -8,9 +8,9 @@
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#include "Compat.h"
|
||||||
#include "Align.h"
|
#include "Align.h"
|
||||||
#include "Arm64Emitter.h"
|
#include "Arm64Emitter.h"
|
||||||
#include "Assert.h"
|
|
||||||
#include "BitUtils.h"
|
#include "BitUtils.h"
|
||||||
#include "../types.h"
|
#include "../types.h"
|
||||||
#include "MathUtil.h"
|
#include "MathUtil.h"
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
|
||||||
#include "ArmCommon.h"
|
#include "ArmCommon.h"
|
||||||
#include "Assert.h"
|
|
||||||
#include "BitSet.h"
|
#include "BitSet.h"
|
||||||
#include "Compat.h"
|
#include "Compat.h"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue