diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-01 15:52:05 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-01 15:52:05 +0100 |
| commit | 311842a43aa34276dc41da6e2f3a63ac80d4849c (patch) | |
| tree | 4da4eeeb2c3c4de462389e06b6e1ed504dfea6e9 /src/include/custommem.h | |
| parent | 4ea8ebb3367810a1a789acdfedb2d346491f603a (diff) | |
| download | box64-311842a43aa34276dc41da6e2f3a63ac80d4849c.tar.gz box64-311842a43aa34276dc41da6e2f3a63ac80d4849c.zip | |
Read elf header of launched executable
Diffstat (limited to 'src/include/custommem.h')
| -rw-r--r-- | src/include/custommem.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/include/custommem.h b/src/include/custommem.h new file mode 100644 index 00000000..d6bca59c --- /dev/null +++ b/src/include/custommem.h @@ -0,0 +1,52 @@ +#ifndef __CUSTOM_MEM__H_ +#define __CUSTOM_MEM__H_ +#include <unistd.h> +#include <stdint.h> + + +typedef struct box64context_s box64context_t; + +//void* customMalloc(size_t size); +//void* customCalloc(size_t n, size_t size); +//void* customRealloc(void* p, size_t size); +//void customFree(void* p); + +//#define kcalloc customCalloc +//#define kmalloc customMalloc +//#define krealloc customRealloc +//#define kfree customFree + +#ifdef DYNAREC +//typedef struct dynablock_s dynablock_t; +//typedef struct dynablocklist_s dynablocklist_t; +//// custom protection flag to mark Page that are Write protected for Dynarec purpose +//uintptr_t AllocDynarecMap(dynablock_t* db, int size); +//void FreeDynarecMap(dynablock_t* db, uintptr_t addr, uint32_t size); + +//void addDBFromAddressRange(uintptr_t addr, uintptr_t size); +//void cleanDBFromAddressRange(uintptr_t addr, uintptr_t size, int destroy); + +//dynablocklist_t* getDB(uintptr_t idx); +//void addJumpTableIfDefault(void* addr, void* jmp); +//void setJumpTableDefault(void* addr); +//uintptr_t getJumpTable(); +//uintptr_t getJumpTableAddress(uintptr_t addr); +#endif + +#define PROT_DYNAREC 0x80 +void updateProtection(uintptr_t addr, uintptr_t size, uint32_t prot); +void setProtection(uintptr_t addr, uintptr_t size, uint32_t prot); +uint32_t getProtection(uintptr_t addr); +#ifdef DYNAREC +//void protectDB(uintptr_t addr, uintptr_t size); +//void protectDBnolock(uintptr_t addr, uintptr_t size); +//void unprotectDB(uintptr_t addr, uintptr_t size); +//void lockDB(); +//void unlockDB(); +#endif + + +void init_custommem_helper(box64context_t* ctx); +void fini_custommem_helper(box64context_t* ctx); + +#endif //__CUSTOM_MEM__H_ \ No newline at end of file |