28 |
* SUCH DAMAGE. |
* SUCH DAMAGE. |
29 |
* |
* |
30 |
* |
* |
31 |
* $Id: devices.h,v 1.162 2005/04/11 20:44:40 debug Exp $ |
* $Id: devices.h,v 1.171 2005/06/24 09:33:37 debug Exp $ |
32 |
* |
* |
33 |
* Memory mapped devices. |
* Memory mapped devices. |
34 |
* |
* |
48 |
#include <X11/Xlib.h> |
#include <X11/Xlib.h> |
49 |
#endif */ |
#endif */ |
50 |
|
|
51 |
|
/* dev_8259.c: */ |
52 |
|
struct pic8259_data { |
53 |
|
int irq_nr; /* if connected to another 8259 */ |
54 |
|
|
55 |
|
int irq_base; |
56 |
|
int current_command; |
57 |
|
|
58 |
|
int init_state; |
59 |
|
|
60 |
|
int priority_reg; |
61 |
|
uint8_t irr; /* interrupt request register */ |
62 |
|
uint8_t isr; /* interrupt in-service register */ |
63 |
|
uint8_t ier; /* interrupt enable register */ |
64 |
|
}; |
65 |
|
|
66 |
/* dev_dec_ioasic.c: */ |
/* dev_dec_ioasic.c: */ |
67 |
#define DEV_DEC_IOASIC_LENGTH 0x80100 |
#define DEV_DEC_IOASIC_LENGTH 0x80100 |
194 |
int xsize; |
int xsize; |
195 |
int ysize; |
int ysize; |
196 |
int bit_depth; |
int bit_depth; |
197 |
int color32k; |
int color32k; /* hack for 16-bit HPCmips */ |
198 |
|
int psp_15bit; /* plastation portable hack */ |
199 |
|
|
200 |
unsigned char color_plane_mask; |
unsigned char color_plane_mask; |
201 |
|
|
221 |
#define VFB_MFB_VRAM 0x200000 |
#define VFB_MFB_VRAM 0x200000 |
222 |
#define VFB_CFB_BT459 0x200000 |
#define VFB_CFB_BT459 0x200000 |
223 |
void set_grayscale_palette(struct vfb_data *d, int ncolors); |
void set_grayscale_palette(struct vfb_data *d, int ncolors); |
224 |
|
void dev_fb_resize(struct vfb_data *d, int new_xsize, int new_ysize); |
225 |
void dev_fb_setcursor(struct vfb_data *d, int cursor_x, int cursor_y, int on, |
void dev_fb_setcursor(struct vfb_data *d, int cursor_x, int cursor_y, int on, |
226 |
int cursor_xsize, int cursor_ysize); |
int cursor_xsize, int cursor_ysize); |
227 |
void framebuffer_blockcopyfill(struct vfb_data *d, int fillflag, int fill_r, |
void framebuffer_blockcopyfill(struct vfb_data *d, int fillflag, int fill_r, |
233 |
int visible_xsize, int visible_ysize, int xsize, int ysize, int bit_depth, char *name, int logo); |
int visible_xsize, int visible_ysize, int xsize, int ysize, int bit_depth, char *name, int logo); |
234 |
|
|
235 |
/* dev_gt.c: */ |
/* dev_gt.c: */ |
236 |
#define DEV_GT_LENGTH 0x0000000000001000 |
#define DEV_GT_LENGTH 0x1000 |
237 |
int dev_gt_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *); |
int dev_gt_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, |
238 |
struct pci_data *dev_gt_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, int irq_nr, int pciirq); |
unsigned char *data, size_t len, int writeflag, void *); |
239 |
|
struct pci_data *dev_gt_init(struct machine *machine, struct memory *mem, |
240 |
|
uint64_t baseaddr, int irq_nr, int pciirq, int type); |
241 |
|
|
242 |
/* dev_jazz.c: */ |
/* dev_jazz.c: */ |
243 |
#define DEV_JAZZ_LENGTH 0x280 |
#define DEV_JAZZ_LENGTH 0x280 |
337 |
int dev_ns16550_init(struct machine *machine, struct memory *mem, |
int dev_ns16550_init(struct machine *machine, struct memory *mem, |
338 |
uint64_t baseaddr, int irq_nr, int addrmult, int in_use, char *name); |
uint64_t baseaddr, int irq_nr, int addrmult, int in_use, char *name); |
339 |
|
|
340 |
|
/* dev_malta.c: */ |
341 |
|
struct malta_data { |
342 |
|
uint8_t assert_lo; |
343 |
|
uint8_t assert_hi; |
344 |
|
uint8_t disable_lo; |
345 |
|
uint8_t disable_hi; |
346 |
|
int poll_mode; |
347 |
|
}; |
348 |
|
|
349 |
/* dev_mc146818.c: */ |
/* dev_mc146818.c: */ |
350 |
#define DEV_MC146818_LENGTH 0x0000000000000100 |
#define DEV_MC146818_LENGTH 0x0000000000000100 |
351 |
#define MC146818_DEC 0 |
#define MC146818_DEC 0 |
371 |
int writeflag, void *); |
int writeflag, void *); |
372 |
int dev_pckbc_init(struct machine *machine, struct memory *mem, |
int dev_pckbc_init(struct machine *machine, struct memory *mem, |
373 |
uint64_t baseaddr, int type, int keyboard_irqnr, int mouse_irqnr, |
uint64_t baseaddr, int type, int keyboard_irqnr, int mouse_irqnr, |
374 |
int in_use); |
int in_use, int pc_style_flag); |
375 |
|
|
376 |
/* dev_pmppc.c: */ |
/* dev_pmppc.c: */ |
377 |
int dev_pmppc_board_access(struct cpu *cpu, struct memory *mem, |
int dev_pmppc_board_access(struct cpu *cpu, struct memory *mem, |
551 |
|
|
552 |
/* dev_turbochannel.c: */ |
/* dev_turbochannel.c: */ |
553 |
#define DEV_TURBOCHANNEL_LEN 0x0470 |
#define DEV_TURBOCHANNEL_LEN 0x0470 |
554 |
int dev_turbochannel_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *); |
int dev_turbochannel_access(struct cpu *cpu, struct memory *mem, |
555 |
void dev_turbochannel_init(struct machine *machine, struct memory *mem, int slot_nr, uint64_t baseaddr, uint64_t endaddr, char *device_name, int irq); |
uint64_t relative_addr, unsigned char *data, size_t len, |
556 |
|
int writeflag, void *); |
557 |
|
void dev_turbochannel_init(struct machine *machine, struct memory *mem, |
558 |
|
int slot_nr, uint64_t baseaddr, uint64_t endaddr, char *device_name, |
559 |
|
int irq); |
560 |
|
|
561 |
/* dev_vga.c: */ |
/* dev_vga.c: */ |
562 |
int dev_vga_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, |
int dev_vga_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, |
563 |
unsigned char *data, size_t len, int writeflag, void *); |
unsigned char *data, size_t len, int writeflag, void *); |
564 |
void dev_vga_init(struct machine *machine, struct memory *mem, |
void dev_vga_init(struct machine *machine, struct memory *mem, |
565 |
uint64_t videomem_base, uint64_t control_base, int max_x, int max_y, |
uint64_t videomem_base, uint64_t control_base, char *name); |
|
char *name); |
|
566 |
|
|
567 |
/* dev_vr41xx.c: */ |
/* dev_vr41xx.c: */ |
568 |
#define DEV_VR41XX_LENGTH 0x800 /* TODO? */ |
#define DEV_VR41XX_LENGTH 0x800 /* TODO? */ |