36
36
DEVICE_LITTLE_ENDIAN,
39
#if defined(HOST_WORDS_BIGENDIAN)
40
#define DEVICE_HOST_ENDIAN DEVICE_BIG_ENDIAN
42
#define DEVICE_HOST_ENDIAN DEVICE_LITTLE_ENDIAN
39
45
/* address in the RAM (different from a physical address) */
40
46
#if defined(CONFIG_XEN_BACKEND)
41
47
typedef uint64_t ram_addr_t;
63
69
void qemu_ram_set_idstr(RAMBlock *block, const char *name, DeviceState *dev);
64
70
void qemu_ram_unset_idstr(RAMBlock *block);
65
71
const char *qemu_ram_get_idstr(RAMBlock *rb);
72
bool qemu_ram_is_shared(RAMBlock *rb);
66
73
size_t qemu_ram_pagesize(RAMBlock *block);
74
size_t qemu_ram_pagesize_largest(void);
68
76
void cpu_physical_memory_rw(hwaddr addr, uint8_t *buf,
69
77
int len, int is_write);
95
103
void qemu_flush_coalesced_mmio_buffer(void);
97
uint32_t ldub_phys(AddressSpace *as, hwaddr addr);
98
uint32_t lduw_le_phys(AddressSpace *as, hwaddr addr);
99
uint32_t lduw_be_phys(AddressSpace *as, hwaddr addr);
100
uint32_t ldl_le_phys(AddressSpace *as, hwaddr addr);
101
uint32_t ldl_be_phys(AddressSpace *as, hwaddr addr);
102
uint64_t ldq_le_phys(AddressSpace *as, hwaddr addr);
103
uint64_t ldq_be_phys(AddressSpace *as, hwaddr addr);
104
void stb_phys(AddressSpace *as, hwaddr addr, uint32_t val);
105
void stw_le_phys(AddressSpace *as, hwaddr addr, uint32_t val);
106
void stw_be_phys(AddressSpace *as, hwaddr addr, uint32_t val);
107
void stl_le_phys(AddressSpace *as, hwaddr addr, uint32_t val);
108
void stl_be_phys(AddressSpace *as, hwaddr addr, uint32_t val);
109
void stq_le_phys(AddressSpace *as, hwaddr addr, uint64_t val);
110
void stq_be_phys(AddressSpace *as, hwaddr addr, uint64_t val);
112
105
void cpu_physical_memory_write_rom(AddressSpace *as, hwaddr addr,
113
106
const uint8_t *buf, int len);
114
107
void cpu_flush_icache_range(hwaddr start, int len);
120
113
ram_addr_t offset, ram_addr_t length, void *opaque);
122
115
int qemu_ram_foreach_block(RAMBlockIterFunc func, void *opaque);
116
int ram_block_discard_range(RAMBlock *rb, uint64_t start, size_t length);