54 uint64_t idata = 0, odata = 0;
61 if (relative_addr & 0x100) {
63 relative_addr &= ~0x100;
66 odata = ((uint8_t*)&d->
memcreg)[relative_addr];
68 switch (relative_addr) {
76 fatal(
"mvme187_memc: Write to relative_addr %i not yet" 82 default:
fatal(
"[ mvme187_memc: unimplemented %s offset 0x%x",
83 writeflag ==
MEM_WRITE?
"write to" :
"read from",
86 fatal(
": 0x%x", (
int)idata);
103 int size_per_memc, r;
138 snprintf(tmpstr,
sizeof(tmpstr),
152 snprintf(tmpstr,
sizeof(tmpstr),
uint64_t memory_readmax64(struct cpu *cpu, unsigned char *buf, int len)
DEVICE_ACCESS(mvme187_memc)
void fatal(const char *fmt,...)
volatile u_char memc_chipid
void * device_add(struct machine *machine, const char *name_and_params)
#define CHECK_ALLOCATION(ptr)
#define MVME187_SBC_CMMU_D
volatile u_char memc_memconf
volatile u_char memc_chiprev
void memory_writemax64(struct cpu *cpu, unsigned char *buf, int len, uint64_t data)
void memory_device_register(struct memory *mem, const char *, uint64_t baseaddr, uint64_t len, int(*f)(struct cpu *, struct memory *, uint64_t, unsigned char *, size_t, int, void *), void *extra, int flags, unsigned char *dyntrans_data)
uint32_t reg[M8820X_LENGTH/sizeof(uint32_t)]
struct m8820x_cmmu * cmmu[MAX_M8820X_CMMUS]
uint32_t batc[N_M88200_BATC_REGS]
#define MVME187_SBC_CMMU_I
#define MEMC_MEMCONF_RTOB(x)