28 |
* SUCH DAMAGE. |
* SUCH DAMAGE. |
29 |
* |
* |
30 |
* |
* |
31 |
* $Id: devices.h,v 1.185 2005/10/08 22:54:04 debug Exp $ |
* $Id: devices.h,v 1.188 2005/10/26 14:37:06 debug Exp $ |
32 |
* |
* |
33 |
* Memory mapped devices. |
* Memory mapped devices. |
34 |
* |
* |
190 |
/* turbochannel rom, */ |
/* turbochannel rom, */ |
191 |
/* otherwise size = 4MB */ |
/* otherwise size = 4MB */ |
192 |
#define VFB_GENERIC 0 |
#define VFB_GENERIC 0 |
193 |
#define VFB_HPCMIPS 1 |
#define VFB_HPC 1 |
194 |
#define VFB_DEC_VFB01 2 |
#define VFB_DEC_VFB01 2 |
195 |
#define VFB_DEC_VFB02 3 |
#define VFB_DEC_VFB02 3 |
196 |
#define VFB_DEC_MAXINE 4 |
#define VFB_DEC_MAXINE 4 |
254 |
uint32_t timer_load[N_FOOTBRIDGE_TIMERS]; |
uint32_t timer_load[N_FOOTBRIDGE_TIMERS]; |
255 |
uint32_t timer_value[N_FOOTBRIDGE_TIMERS]; |
uint32_t timer_value[N_FOOTBRIDGE_TIMERS]; |
256 |
uint32_t timer_control[N_FOOTBRIDGE_TIMERS]; |
uint32_t timer_control[N_FOOTBRIDGE_TIMERS]; |
257 |
|
int timer_being_read; |
258 |
|
int timer_poll_mode; |
259 |
|
|
260 |
uint32_t irq_status; |
uint32_t irq_status; |
261 |
uint32_t irq_enable; |
uint32_t irq_enable; |
458 |
#define DEV_PX_TYPE_PXGPLUS 2 |
#define DEV_PX_TYPE_PXGPLUS 2 |
459 |
#define DEV_PX_TYPE_PXGPLUSTURBO 3 |
#define DEV_PX_TYPE_PXGPLUSTURBO 3 |
460 |
#define DEV_PX_LENGTH 0x3c0000 |
#define DEV_PX_LENGTH 0x3c0000 |
461 |
int dev_px_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *); |
int dev_px_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, |
462 |
void dev_px_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, int px_type, int irq_nr); |
unsigned char *data, size_t len, int writeflag, void *); |
463 |
|
void dev_px_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, |
464 |
|
int px_type, int irq_nr); |
465 |
|
|
466 |
/* dev_ram.c: */ |
/* dev_ram.c: */ |
467 |
#define DEV_RAM_RAM 0 |
#define DEV_RAM_RAM 0 |
468 |
#define DEV_RAM_MIRROR 1 |
#define DEV_RAM_MIRROR 1 |
469 |
int dev_ram_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *); |
#define DEV_RAM_MIGHT_POINT_TO_DEVICES 0x10 |
470 |
void dev_ram_init(struct memory *mem, uint64_t baseaddr, uint64_t length, int mode, uint64_t otheraddr); |
int dev_ram_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, |
471 |
|
unsigned char *data, size_t len, int writeflag, void *); |
472 |
|
void dev_ram_init(struct machine *machine, uint64_t baseaddr, uint64_t length, |
473 |
|
int mode, uint64_t otheraddr); |
474 |
|
|
475 |
/* dev_scc.c: */ |
/* dev_scc.c: */ |
476 |
#define DEV_SCC_LENGTH 0x1000 |
#define DEV_SCC_LENGTH 0x1000 |
477 |
int dev_scc_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *); |
int dev_scc_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, |
478 |
int dev_scc_dma_func(struct cpu *cpu, void *extra, uint64_t addr, size_t dma_len, int tx); |
unsigned char *data, size_t len, int writeflag, void *); |
479 |
void *dev_scc_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, int irq_nr, int use_fb, int scc_nr, int addrmul); |
int dev_scc_dma_func(struct cpu *cpu, void *extra, uint64_t addr, |
480 |
|
size_t dma_len, int tx); |
481 |
|
void *dev_scc_init(struct machine *machine, struct memory *mem, |
482 |
|
uint64_t baseaddr, int irq_nr, int use_fb, int scc_nr, int addrmul); |
483 |
|
|
484 |
/* dev_sfb.c: */ |
/* dev_sfb.c: */ |
485 |
#define DEV_SFB_LENGTH 0x400000 |
#define DEV_SFB_LENGTH 0x400000 |
486 |
int dev_sfb_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *); |
int dev_sfb_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, |
487 |
void dev_sfb_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, struct vfb_data *vfb_data); |
unsigned char *data, size_t len, int writeflag, void *); |
488 |
|
void dev_sfb_init(struct machine *machine, struct memory *mem, |
489 |
|
uint64_t baseaddr, struct vfb_data *vfb_data); |
490 |
|
|
491 |
/* dev_sgi_gbe.c: */ |
/* dev_sgi_gbe.c: */ |
492 |
#define DEV_SGI_GBE_LENGTH 0x1000000 |
#define DEV_SGI_GBE_LENGTH 0x1000000 |
493 |
int dev_sgi_gbe_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *); |
int dev_sgi_gbe_access(struct cpu *cpu, struct memory *mem, |
494 |
void dev_sgi_gbe_init(struct machine *machine, struct memory *mem, uint64_t baseaddr); |
uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, |
495 |
|
void *); |
496 |
|
void dev_sgi_gbe_init(struct machine *machine, struct memory *mem, |
497 |
|
uint64_t baseaddr); |
498 |
|
|
499 |
/* dev_sgi_ip20.c: */ |
/* dev_sgi_ip20.c: */ |
500 |
#define DEV_SGI_IP20_LENGTH 0x40 |
#define DEV_SGI_IP20_LENGTH 0x40 |