diff --git a/qemu/memory.c b/qemu/memory.c index 5e9cc9b0..f5b70f35 100644 --- a/qemu/memory.c +++ b/qemu/memory.c @@ -49,7 +49,7 @@ void memory_unmap(struct uc_struct *uc, MemoryRegion *mr) { target_ulong addr; //make sure all pages associated with the MemoryRegion are flushed - for (addr = mr->addr; addr < mr->end; addr += 0x1000) { + for (addr = mr->addr; addr < mr->end; addr += TARGET_PAGE_SIZE) { tlb_flush_page(uc->current_cpu, addr); } mr->enabled = false; diff --git a/uc.c b/uc.c index 13b395cf..ad2a7325 100644 --- a/uc.c +++ b/uc.c @@ -32,8 +32,8 @@ #include "qemu/include/hw/boards.h" //keep this a power of two! -#define UC_BLOCK_SIZE 0x1000 -#define UC_ALIGN_MASK (UC_BLOCK_SIZE - 1) +#define UC_PAGE_SIZE 0x1000 +#define UC_ALIGN_MASK (UC_PAGE_SIZE - 1) static uint8_t *copy_region(uch uc, MemoryRegion *mr); static bool split_region(uch handle, MemoryRegion *mr, uint64_t address, size_t size, bool do_delete); @@ -629,11 +629,11 @@ uc_err uc_mem_map(uch handle, uint64_t address, size_t size, uint32_t perms) // invalid memory mapping return UC_ERR_MAP; - // address must be aligned to UC_BLOCK_SIZE + // address must be aligned to UC_PAGE_SIZE if ((address & UC_ALIGN_MASK) != 0) return UC_ERR_MAP; - // size must be multiple of UC_BLOCK_SIZE + // size must be multiple of UC_PAGE_SIZE if ((size & UC_ALIGN_MASK) != 0) return UC_ERR_MAP; @@ -773,11 +773,11 @@ uc_err uc_mem_protect(uch handle, uint64_t address, size_t size, uint32_t perms) // invalid memory mapping return UC_ERR_MAP; - // address must be aligned to UC_BLOCK_SIZE + // address must be aligned to UC_PAGE_SIZE if ((address & UC_ALIGN_MASK) != 0) return UC_ERR_MAP; - // size must be multiple of UC_BLOCK_SIZE + // size must be multiple of UC_PAGE_SIZE if ((size & UC_ALIGN_MASK) != 0) return UC_ERR_MAP; @@ -833,11 +833,11 @@ uc_err uc_mem_unmap(uch handle, uint64_t address, size_t size) // nothing to unmap return UC_ERR_OK; - // address must be aligned to UC_BLOCK_SIZE + // address must be aligned to UC_PAGE_SIZE if ((address & UC_ALIGN_MASK) != 0) return UC_ERR_MAP; - // size must be multiple of UC_BLOCK_SIZE + // size must be multiple of UC_PAGE_SIZE if ((size & UC_ALIGN_MASK) != 0) return UC_ERR_MAP;