Line 58... |
Line 58... |
struct dev_memarea {
|
struct dev_memarea {
|
struct dev_memarea *next;
|
struct dev_memarea *next;
|
unsigned long start;
|
unsigned long start;
|
unsigned long end;
|
unsigned long end;
|
unsigned long size;
|
unsigned long size;
|
unsigned char (*readfunc)(unsigned long);
|
unsigned long granularity; /* how many bytes read/write accepts: 1/2/4 */
|
void (*writefunc)(unsigned long, unsigned char);
|
unsigned long (*readfunc)(unsigned long);
|
|
void (*writefunc)(unsigned long, unsigned long);
|
struct mem_entry* (*getentry) (unsigned long);
|
struct mem_entry* (*getentry) (unsigned long);
|
/* private data */
|
/* private data */
|
unsigned long misc;
|
unsigned long misc;
|
};
|
};
|
|
|
Line 89... |
Line 90... |
|
|
void sim_read_memory_table (char *filename);
|
void sim_read_memory_table (char *filename);
|
|
|
/* Register read and write function for a memory area (used by peripheral
|
/* Register read and write function for a memory area (used by peripheral
|
devices like 16450 UART etc.) */
|
devices like 16450 UART etc.) */
|
void register_memoryarea(unsigned long start, unsigned long size, unsigned char (readfunc)(unsigned long),
|
void register_memoryarea(unsigned long start, unsigned long size,
|
void (writefunc)(unsigned long, unsigned char), struct mem_entry *(getentry)(unsigned long));
|
unsigned granularity,
|
|
unsigned long (readfunc)(unsigned long),
|
|
void (writefunc)(unsigned long, unsigned long),
|
|
struct mem_entry *(getentry)(unsigned long));
|
/* Check if access is to registered area of memory. */
|
/* Check if access is to registered area of memory. */
|
struct dev_memarea *verify_memoryarea(unsigned long addr);
|
struct dev_memarea *verify_memoryarea(unsigned long addr);
|
/* Temporary variable to increase speed. */
|
/* Temporary variable to increase speed. */
|
extern struct dev_memarea *cur_area;
|
extern struct dev_memarea *cur_area;
|
|
|