Recompiler now works on Mac OS X.
This commit is contained in:
parent
e8919433b2
commit
64cb5f580f
4 changed files with 12 additions and 12 deletions
|
|
@ -15,7 +15,7 @@
|
||||||
#include "codegen_ops.h"
|
#include "codegen_ops.h"
|
||||||
#include "codegen_ops_x86-64.h"
|
#include "codegen_ops_x86-64.h"
|
||||||
|
|
||||||
#ifdef __linux__
|
#if defined(__linux__) || defined(__APPLE__)
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -63,7 +63,7 @@ void codegen_init()
|
||||||
{
|
{
|
||||||
int c;
|
int c;
|
||||||
|
|
||||||
#ifdef __linux__
|
#if defined(__linux__) || defined(__APPLE__)
|
||||||
void *start;
|
void *start;
|
||||||
size_t len;
|
size_t len;
|
||||||
long pagesize = sysconf(_SC_PAGESIZE);
|
long pagesize = sysconf(_SC_PAGESIZE);
|
||||||
|
|
@ -83,7 +83,7 @@ void codegen_init()
|
||||||
for (c = 0; c < BLOCK_SIZE; c++)
|
for (c = 0; c < BLOCK_SIZE; c++)
|
||||||
codeblock[c].pc = BLOCK_PC_INVALID;
|
codeblock[c].pc = BLOCK_PC_INVALID;
|
||||||
|
|
||||||
#ifdef __linux__
|
#if defined(__linux__) || defined(__APPLE__)
|
||||||
start = (void *)((long)codeblock & pagemask);
|
start = (void *)((long)codeblock & pagemask);
|
||||||
len = ((BLOCK_SIZE * sizeof(codeblock_t)) + pagesize) & pagemask;
|
len = ((BLOCK_SIZE * sizeof(codeblock_t)) + pagesize) & pagemask;
|
||||||
if (mprotect(start, len, PROT_READ | PROT_WRITE | PROT_EXEC) != 0)
|
if (mprotect(start, len, PROT_READ | PROT_WRITE | PROT_EXEC) != 0)
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
#include "codegen_ops.h"
|
#include "codegen_ops.h"
|
||||||
#include "codegen_ops_x86.h"
|
#include "codegen_ops_x86.h"
|
||||||
|
|
||||||
#ifdef __linux__
|
#if defined(__linux__) || defined(__APPLE__)
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -1124,7 +1124,7 @@ static uint32_t gen_MEM_CHECK_WRITE_L()
|
||||||
void codegen_init()
|
void codegen_init()
|
||||||
{
|
{
|
||||||
int c;
|
int c;
|
||||||
#ifdef __linux__
|
#if defined(__linux__) || defined(__APPLE__)
|
||||||
void *start;
|
void *start;
|
||||||
size_t len;
|
size_t len;
|
||||||
long pagesize = sysconf(_SC_PAGESIZE);
|
long pagesize = sysconf(_SC_PAGESIZE);
|
||||||
|
|
@ -1144,7 +1144,7 @@ void codegen_init()
|
||||||
for (c = 0; c < BLOCK_SIZE; c++)
|
for (c = 0; c < BLOCK_SIZE; c++)
|
||||||
codeblock[c].pc = BLOCK_PC_INVALID;
|
codeblock[c].pc = BLOCK_PC_INVALID;
|
||||||
|
|
||||||
#ifdef __linux__
|
#if defined(__linux__) || defined(__APPLE__)
|
||||||
start = (void *)((long)codeblock & pagemask);
|
start = (void *)((long)codeblock & pagemask);
|
||||||
len = (((BLOCK_SIZE+1) * sizeof(codeblock_t)) + pagesize) & pagemask;
|
len = (((BLOCK_SIZE+1) * sizeof(codeblock_t)) + pagesize) & pagemask;
|
||||||
if (mprotect(start, len, PROT_READ | PROT_WRITE | PROT_EXEC) != 0)
|
if (mprotect(start, len, PROT_READ | PROT_WRITE | PROT_EXEC) != 0)
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
fbzColorPath
|
fbzColorPath
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __linux__
|
#if defined(__linux__) || defined(__APPLE__)
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -3352,7 +3352,7 @@ voodoo_recomp++;
|
||||||
static void voodoo_codegen_init(voodoo_t *voodoo)
|
static void voodoo_codegen_init(voodoo_t *voodoo)
|
||||||
{
|
{
|
||||||
int c;
|
int c;
|
||||||
#ifdef __linux__
|
#if defined(__linux__) || defined(__APPLE__)
|
||||||
void *start;
|
void *start;
|
||||||
size_t len;
|
size_t len;
|
||||||
long pagesize = sysconf(_SC_PAGESIZE);
|
long pagesize = sysconf(_SC_PAGESIZE);
|
||||||
|
|
@ -3365,7 +3365,7 @@ static void voodoo_codegen_init(voodoo_t *voodoo)
|
||||||
voodoo->codegen_data = malloc(sizeof(voodoo_x86_data_t) * BLOCK_NUM * 2);
|
voodoo->codegen_data = malloc(sizeof(voodoo_x86_data_t) * BLOCK_NUM * 2);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __linux__
|
#if defined(__linux__) || defined(__APPLE__)
|
||||||
start = (void *)((long)voodoo->codegen_data & pagemask);
|
start = (void *)((long)voodoo->codegen_data & pagemask);
|
||||||
len = ((sizeof(voodoo_x86_data_t) * BLOCK_NUM * 2) + pagesize) & pagemask;
|
len = ((sizeof(voodoo_x86_data_t) * BLOCK_NUM * 2) + pagesize) & pagemask;
|
||||||
if (mprotect(start, len, PROT_READ | PROT_WRITE | PROT_EXEC) != 0)
|
if (mprotect(start, len, PROT_READ | PROT_WRITE | PROT_EXEC) != 0)
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
fbzColorPath
|
fbzColorPath
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __linux__
|
#if defined(__linux__) || defined(__APPLE__)
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -3282,7 +3282,7 @@ voodoo_recomp++;
|
||||||
static void voodoo_codegen_init(voodoo_t *voodoo)
|
static void voodoo_codegen_init(voodoo_t *voodoo)
|
||||||
{
|
{
|
||||||
int c;
|
int c;
|
||||||
#ifdef __linux__
|
#if defined(__linux__) || defined(__APPLE__)
|
||||||
void *start;
|
void *start;
|
||||||
size_t len;
|
size_t len;
|
||||||
long pagesize = sysconf(_SC_PAGESIZE);
|
long pagesize = sysconf(_SC_PAGESIZE);
|
||||||
|
|
@ -3295,7 +3295,7 @@ static void voodoo_codegen_init(voodoo_t *voodoo)
|
||||||
voodoo->codegen_data = malloc(sizeof(voodoo_x86_data_t) * BLOCK_NUM*2);
|
voodoo->codegen_data = malloc(sizeof(voodoo_x86_data_t) * BLOCK_NUM*2);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __linux__
|
#if defined(__linux__) || defined(__APPLE__)
|
||||||
start = (void *)((long)voodoo->codegen_data & pagemask);
|
start = (void *)((long)voodoo->codegen_data & pagemask);
|
||||||
len = ((sizeof(voodoo_x86_data_t) * BLOCK_NUM*2) + pagesize) & pagemask;
|
len = ((sizeof(voodoo_x86_data_t) * BLOCK_NUM*2) + pagesize) & pagemask;
|
||||||
if (mprotect(start, len, PROT_READ | PROT_WRITE | PROT_EXEC) != 0)
|
if (mprotect(start, len, PROT_READ | PROT_WRITE | PROT_EXEC) != 0)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue