cpu-common.h revision 3d40f685fa5cdd9cb665ae3cbf5f76113dafcb99
#ifndef CPU_COMMON_H
#define CPU_COMMON_H 1
/* CPU interfaces that are target indpendent. */
#if defined(__arm__) || defined(__sparc__) || defined(__mips__) || defined(__hppa__) || defined(__ia64__)
#define WORDS_ALIGNED
#endif
#ifdef TARGET_PHYS_ADDR_BITS
#include "targphys.h"
#endif
#ifndef NEED_CPU_H
#include "poison.h"
#endif
#include "bswap.h"
#include "qemu-queue.h"
#if !defined(CONFIG_USER_ONLY)
/* address in the RAM (different from a physical address) */
typedef uintptr_t ram_addr_t;
/* memory API */
{
}
#ifndef VBOX
/* This should only be used for ram local to a device. */
/* This should not be used by devices. */
#endif /* !VBOX */
CPUWriteMemoryFunc * const *mem_write,
void *opaque);
void cpu_unregister_io_memory(int table_address);
{
}
{
}
int is_write);
void cpu_unregister_map_client(void *cookie);
struct CPUPhysMemoryClient;
typedef struct CPUPhysMemoryClient CPUPhysMemoryClient;
struct CPUPhysMemoryClient {
int enable);
};
/* Coalesced MMIO regions are areas where write operations can be reordered.
* This usually implies that write operations are side-effect free. This allows
* batching which can make a major impact on performance when using
* virtualization.
*/
void qemu_flush_coalesced_mmio_buffer(void);
#define IO_MEM_SHIFT 3
/* Acts like a ROM when read and like a device when written. */
#define IO_MEM_ROMD (1)
#define IO_MEM_SUBPAGE (2)
#endif
#endif /* !CPU_COMMON_H */