--- trunk/src/include/memory.h 2007/10/08 16:18:00 4 +++ trunk/src/include/memory.h 2007/10/08 16:18:11 6 @@ -28,7 +28,7 @@ * SUCH DAMAGE. * * - * $Id: memory.h,v 1.29 2005/02/26 16:53:32 debug Exp $ + * $Id: memory.h,v 1.32 2005/05/23 14:22:03 debug Exp $ * * Memory controller related functions. */ @@ -118,8 +118,9 @@ #define CACHE_FLAGS_MASK 0x3 -#define NO_EXCEPTIONS 8 -#define PHYSICAL 16 +#define NO_EXCEPTIONS 16 +#define PHYSICAL 32 +#define NO_SEGMENTATION 64 /* for X86 */ /* memory.c: */ @@ -143,6 +144,7 @@ unsigned char *fast_vaddr_to_hostaddr(struct cpu *cpu, uint64_t vaddr, int writeflag); +/* MIPS stuff: */ int translate_address_mmu3k(struct cpu *cpu, uint64_t vaddr, uint64_t *return_addr, int flags); int translate_address_mmu8k(struct cpu *cpu, uint64_t vaddr, @@ -154,6 +156,11 @@ int translate_address_generic(struct cpu *cpu, uint64_t vaddr, uint64_t *return_addr, int flags); +/* X86 stuff: */ +int translate_address_x86(struct cpu *cpu, uint64_t vaddr, + uint64_t *return_addr, int flags); + + #define FLAG_WRITEFLAG 1 #define FLAG_NOEXCEPTIONS 2 #define FLAG_INSTR 4 @@ -178,9 +185,11 @@ void *extra, int flags, unsigned char *bintrans_data); void memory_device_remove(struct memory *mem, int i); -#define MEM_DEFAULT 0 -#define MEM_BINTRANS_OK 1 -#define MEM_BINTRANS_WRITE_OK 2 +/* Bit flags: */ +#define MEM_DEFAULT 0 +#define MEM_BINTRANS_OK 1 +#define MEM_BINTRANS_WRITE_OK 2 +#define MEM_READING_HAS_NO_SIDE_EFFECTS 4 #endif /* MEMORY_H */