First cut at cleaning up uc_mem_map, eliminate map_begin and map_end, move tracking inside uc struct

This commit is contained in:
Chris Eagle
2015-08-25 21:52:18 -07:00
parent c1514609b1
commit 03e8b28d71
4 changed files with 34 additions and 17 deletions

10
include/uc_priv.h Normal file → Executable file
View File

@ -15,6 +15,12 @@
QTAILQ_HEAD(CPUTailQ, CPUState);
typedef struct MemoryBlock {
uint64_t begin;
size_t size;
uint32_t perms;
} MemoryBlock;
typedef struct ModuleEntry {
void (*init)(void);
QTAILQ_ENTRY(ModuleEntry) node;
@ -165,11 +171,13 @@ struct uc_struct {
int thumb; // thumb mode for ARM
// full TCG cache leads to middle-block break in the last translation?
bool block_full;
MemoryBlock *mapped_blocks;
uint32_t mapped_block_count;
};
#include "qemu_macro.h"
// check if this address is mapped in (via uc_mem_map())
bool memory_mapping(uint64_t address);
bool memory_mapping(struct uc_struct* uc, uint64_t address);
#endif