From ae10341668a2d1b727584d068d00186917457692 Mon Sep 17 00:00:00 2001 From: Zihao Yu Date: Thu, 7 May 2020 18:15:41 +0800 Subject: [PATCH] engine: move paddr.h out of engine --- include/memory/paddr.h | 4 ++- src/engine/interpreter/paddr.h | 10 ------- src/engine/rv64/paddr.h | 54 ---------------------------------- 3 files changed, 3 insertions(+), 65 deletions(-) delete mode 100644 src/engine/interpreter/paddr.h delete mode 100644 src/engine/rv64/paddr.h diff --git a/include/memory/paddr.h b/include/memory/paddr.h index c49b1fc3..dad80840 100644 --- a/include/memory/paddr.h +++ b/include/memory/paddr.h @@ -10,6 +10,8 @@ void* guest_to_host(paddr_t addr); /* convert the host virtual address in NEMU to guest physical address in the guest program */ paddr_t host_to_guest(void *addr); -#include +word_t paddr_ifetch(paddr_t addr, int len); +word_t paddr_read(paddr_t addr, int len); +void paddr_write(paddr_t addr, word_t data, int len); #endif diff --git a/src/engine/interpreter/paddr.h b/src/engine/interpreter/paddr.h deleted file mode 100644 index 44ca4d32..00000000 --- a/src/engine/interpreter/paddr.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef __PADDR_H__ -#define __PADDR_H__ - -#include - -word_t paddr_ifetch(paddr_t addr, int len); -word_t paddr_read(paddr_t addr, int len); -void paddr_write(paddr_t addr, word_t data, int len); - -#endif diff --git a/src/engine/rv64/paddr.h b/src/engine/rv64/paddr.h deleted file mode 100644 index af45dc77..00000000 --- a/src/engine/rv64/paddr.h +++ /dev/null @@ -1,54 +0,0 @@ -#ifndef __PADDR_H__ -#define __PADDR_H__ - -#include - -static inline uint64_t paddr_ifetch(paddr_t addr, int len) { - uint8_t paddr_ifetch8 (paddr_t addr); - uint16_t paddr_ifetch16(paddr_t addr); - uint32_t paddr_ifetch32(paddr_t addr); - uint64_t paddr_ifetch64(paddr_t addr); - switch (len) { - case 1: return paddr_ifetch8 (addr); - case 2: return paddr_ifetch16(addr); - case 4: return paddr_ifetch32(addr); -#ifdef ISA64 - case 8: return paddr_ifetch64(addr); -#endif - default: assert(0); - } -} - -static inline uint64_t paddr_read(paddr_t addr, int len) { - uint8_t paddr_read8 (paddr_t addr); - uint16_t paddr_read16(paddr_t addr); - uint32_t paddr_read32(paddr_t addr); - uint64_t paddr_read64(paddr_t addr); - switch (len) { - case 1: return paddr_read8 (addr); - case 2: return paddr_read16(addr); - case 4: return paddr_read32(addr); -#ifdef ISA64 - case 8: return paddr_read64(addr); -#endif - default: assert(0); - } -} - -static inline void paddr_write(paddr_t addr, uint64_t data, int len) { - void paddr_write8 (paddr_t addr, uint8_t data); - void paddr_write16(paddr_t addr, uint16_t data); - void paddr_write32(paddr_t addr, uint32_t data); - void paddr_write64(paddr_t addr, uint64_t data); - switch (len) { - case 1: paddr_write8 (addr, data); break; - case 2: paddr_write16(addr, data); break; - case 4: paddr_write32(addr, data); break; -#ifdef ISA64 - case 8: paddr_write64(addr, data); break; -#endif - default: assert(0); - } -} - -#endif -- GitLab