50 #define SECTOR_SIZE 512 67 memcpy(d->
buf + relative_addr,
data, len);
69 memcpy(
data, d->
buf + relative_addr, len);
78 uint64_t idata = 0, odata = 0;
83 switch (relative_addr) {
93 fatal(
"[ disk: WARNING! offset (%lli) must be %i-byte aligned ]\n",
131 debug(
"[ disk: %s disk %i offset %lli ]\n",
149 fatal(
"[ disk: unimplemented write to " 150 "offset 0x%x: data=0x%x ]\n", (
int)
151 relative_addr, (
int)idata);
153 fatal(
"[ disk: unimplemented read from " 154 "offset 0x%x ]\n", (
int)relative_addr);
182 snprintf(n2, nlen,
"%s [data buffer]",
devinit->
name);
uint64_t memory_readmax64(struct cpu *cpu, unsigned char *buf, int len)
void fatal(const char *fmt,...)
#define DEV_DISK_OFFSET_HIGH32
#define CHECK_ALLOCATION(ptr)
#define DM_READS_HAVE_NO_SIDE_EFFECTS
#define DM_DYNTRANS_WRITE_OK
void COMBINE() strlen(struct cpu *cpu, struct arm_instr_call *ic, int low_addr)
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)
#define DEV_DISK_START_OPERATION
int diskimage_access(struct machine *machine, int id, int type, int writeflag, off_t offset, unsigned char *buf, size_t len)