devices.h Source File
Back to the index.
Go to the documentation of this file.
47 #include <sys/types.h>
78 #define DEV_DEC_IOASIC_LENGTH 0xc0000
79 #define MAX_IOASIC_DMA_FUNCTIONS 8
114 #define DEV_ASC_DEC_LENGTH 0x40000
115 #define DEV_ASC_PICA_LENGTH 0x1000
116 #define DEV_ASC_DEC 1
117 #define DEV_ASC_PICA 2
120 const char *irq_path,
void *turbochannel,
int mode,
121 size_t (*dma_controller)(
void *dma_controller_data,
122 unsigned char *
data,
size_t len,
int writeflag),
123 void *dma_controller_data);
126 #define DEV_BT431_LENGTH 0x20
127 #define DEV_BT431_NREGS 0x800
129 uint64_t relative_addr,
unsigned char *
data,
size_t len,
130 int writeflag,
void *);
136 #define DEV_BT455_LENGTH 0x20
138 uint64_t relative_addr,
unsigned char *
data,
size_t len,
139 int writeflag,
void *);
145 #define DEV_BT459_LENGTH 0x20
146 #define DEV_BT459_NREGS 0x1000
151 uint64_t relative_addr,
unsigned char *
data,
size_t len,
152 int writeflag,
void *);
156 int color_fb_flag,
const char *irq_path,
int type);
159 #define DEV_COLORPLANEMASK_LENGTH 0x0000000000000010
161 uint64_t relative_addr,
unsigned char *
data,
size_t len,
162 int writeflag,
void *);
167 #define DEV_DC7085_LENGTH 0x0000000000000080
171 uint64_t relative_addr,
unsigned char *
data,
size_t len,
172 int writeflag,
void *);
174 uint64_t baseaddr,
char *irq_path,
int use_fb);
177 #define DEV_DECCCA_LENGTH 0x10000
178 #define DEC_DECCCA_BASEADDR 0x19000000
181 #define DEV_DECXMI_LENGTH 0x800000
186 #define DEV_FB_LENGTH 0x3c0000
190 #define VFB_GENERIC 0
192 #define VFB_DEC_VFB01 2
193 #define VFB_DEC_VFB02 3
194 #define VFB_DEC_MAXINE 4
195 #define VFB_PLAYSTATION2 5
197 #define VFB_REVERSE_START 0x10000
234 #define VFB_MFB_BT455 0x100000
235 #define VFB_MFB_BT431 0x180000
236 #define VFB_MFB_VRAM 0x200000
237 #define VFB_CFB_BT459 0x200000
243 int fill_g,
int fill_b,
int x1,
int y1,
int x2,
int y2,
244 int from_x,
int from_y);
247 unsigned char *
data,
size_t len,
int writeflag,
void *);
253 #define DEV_GT_LENGTH 0x1000
255 unsigned char *
data,
size_t len,
int writeflag,
void *);
257 uint64_t baseaddr,
const char *timer_irq_path,
const char *isa_irq_path,
int type);
261 unsigned char *
data,
size_t len,
int writeflag);
264 #define DEV_KN01_LENGTH 4
266 uint64_t relative_addr,
unsigned char *
data,
size_t len,
267 int writeflag,
void *);
269 #define DEV_VDAC_LENGTH 0x20
270 #define DEV_VDAC_MAPWA 0x00
271 #define DEV_VDAC_MAP 0x04
272 #define DEV_VDAC_MASK 0x08
273 #define DEV_VDAC_MAPRA 0x0c
274 #define DEV_VDAC_OVERWA 0x10
275 #define DEV_VDAC_OVER 0x14
276 #define DEV_VDAC_OVERRA 0x1c
278 uint64_t relative_addr,
unsigned char *
data,
size_t len,
279 int writeflag,
void *);
281 unsigned char *rgb_palette,
int color_fb_flag);
284 #define DEV_DEC5500_IOBOARD_LENGTH 0x100000
287 #define DEV_SGEC_LENGTH 0x1000
292 #define DEV_LE_LENGTH 0x1c0200
294 uint64_t relative_addr,
unsigned char *
data,
size_t len,
295 int writeflag,
void *);
297 uint64_t baseaddr, uint64_t buf_start, uint64_t buf_end,
298 const char *irq_path,
int len);
301 #define DEV_MC146818_LENGTH 0x0000000000000100
302 #define MC146818_DEC 0
303 #define MC146818_PC_CMOS 1
304 #define MC146818_ARC_NEC 2
305 #define MC146818_ARC_JAZZ 3
306 #define MC146818_SGI 4
307 #define MC146818_CATS 5
308 #define MC146818_ALGOR 6
309 #define MC146818_PMPPC 7
313 uint64_t relative_addr,
unsigned char *
data,
size_t len,
314 int writeflag,
void *);
316 uint64_t baseaddr,
char *irq_path,
int access_style,
int addrdiv);
319 #define DEV_PCKBC_LENGTH 0x10
324 uint64_t relative_addr,
unsigned char *
data,
size_t len,
325 int writeflag,
void *);
327 uint64_t baseaddr,
int type,
char *keyboard_irqpath,
328 char *mouse_irqpath,
int in_use,
int pc_style_flag);
331 #define DEV_PMAGJA_LENGTH 0x3c0000
333 uint64_t relative_addr,
unsigned char *
data,
size_t len,
334 int writeflag,
void *);
336 uint64_t baseaddr,
const char *irq_path);
350 unsigned char sram[128 * 1024];
353 #define DEV_PX_TYPE_PX 0
354 #define DEV_PX_TYPE_PXG 1
355 #define DEV_PX_TYPE_PXGPLUS 2
356 #define DEV_PX_TYPE_PXGPLUSTURBO 3
357 #define DEV_PX_LENGTH 0x3c0000
359 unsigned char *
data,
size_t len,
int writeflag,
void *);
361 uint64_t baseaddr,
int px_type,
const char *irq_path);
364 #define DEV_RAM_RAM 0
365 #define DEV_RAM_MIRROR 1
366 #define DEV_RAM_MIGHT_POINT_TO_DEVICES 0x10
367 #define DEV_RAM_TRACE_ALL_ACCESSES 0x20
369 unsigned char *
data,
size_t len,
int writeflag,
void *);
371 int mode, uint64_t otheraddr,
const char*
name = NULL);
374 #define DEV_SCC_LENGTH 0x1000
376 unsigned char *
data,
size_t len,
int writeflag,
void *);
378 size_t dma_len,
int tx);
380 uint64_t baseaddr,
char* irq_path,
int use_fb,
int scc_nr,
int addrmul);
383 #define DEV_SFB_LENGTH 0x400000
385 unsigned char *
data,
size_t len,
int writeflag,
void *);
390 #define DEV_SGI_GBE_LENGTH 0x1000000
392 uint64_t relative_addr,
unsigned char *
data,
size_t len,
int writeflag,
399 #define DEV_SGI_RE_LENGTH 0x1000
401 uint64_t relative_addr,
unsigned char *
data,
size_t len,
402 int writeflag,
void *);
405 #define DEV_SGI_DE_LENGTH 0x1000
407 uint64_t relative_addr,
unsigned char *
data,
size_t len,
408 int writeflag,
void *);
411 #define DEV_SGI_MTE_LENGTH 0x1000
413 uint64_t relative_addr,
unsigned char *
data,
size_t len,
414 int writeflag,
void *);
417 #define DEV_SGI_DE_STATUS_LENGTH 0x1000
419 uint64_t relative_addr,
unsigned char *
data,
size_t len,
420 int writeflag,
void *);
425 #define DEV_SGI_IP20_LENGTH 0x40
426 #define DEV_SGI_IP20_BASE 0x1fb801c0
434 #define DEV_SGI_IP22_LENGTH 0x100
435 #define DEV_SGI_IP22_IMC_LENGTH 0x100
436 #define DEV_SGI_IP22_UNKNOWN2_LENGTH 0x100
437 #define IP22_IMC_BASE 0x1fa00000
438 #define IP22_UNKNOWN2_BASE 0x1fb94000
451 uint64_t baseaddr,
char *irq_path,
int use_fb);
452 #define DEV_MACEPCI_LENGTH 0x1000
454 uint64_t relative_addr,
unsigned char *
data,
size_t len,
455 int writeflag,
void *);
457 uint64_t baseaddr,
char *irq_path);
458 #define DEV_SGI_MEC_LENGTH 0x1000
460 uint64_t relative_addr,
unsigned char *
data,
size_t len,
461 int writeflag,
void *);
463 uint64_t baseaddr,
char *irq_path,
unsigned char *macaddr);
464 #define DEV_SGI_UST_LENGTH 0x10000
466 uint64_t relative_addr,
unsigned char *
data,
size_t len,
467 int writeflag,
void *);
471 #define DEV_SII_LENGTH 0x100
474 unsigned char *
data,
size_t len,
int writeflag,
void *);
476 uint64_t baseaddr, uint64_t buf_start, uint64_t buf_end,
480 #define DEV_SSC_LENGTH 0x1000
482 unsigned char *
data,
size_t len,
int writeflag,
void *);
484 uint64_t baseaddr,
const char *irq_path,
int use_fb);
487 #define DEV_TURBOCHANNEL_LEN 0x0470
489 uint64_t relative_addr,
unsigned char *
data,
size_t len,
490 int writeflag,
void *);
492 int slot_nr, uint64_t baseaddr, uint64_t endaddr,
const char *device_name,
493 const char *irq_path);
497 uint64_t
addr,
int irqbase,
int pciirq);
501 unsigned char *
data,
size_t len,
int writeflag,
void *);
503 uint64_t videomem_base, uint64_t control_base,
const char *name);
int dev_dc7085_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, char *irq_path, int use_fb)
int dev_sgi_de_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
struct pci_data * dev_macepci_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, char *irq_path)
void dev_kn01_init(struct memory *mem, uint64_t baseaddr, int color_fb)
void dev_ssc_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, const char *irq_path, int use_fb)
void dev_vdac_init(struct memory *mem, uint64_t baseaddr, unsigned char *rgb_palette, int color_fb_flag)
int dev_dec_ioasic_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
struct vfb_data * dev_fb_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, int vfb_type, int visible_xsize, int visible_ysize, int xsize, int ysize, int bit_depth, const char *name)
int dev_pmagja_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
unsigned char rgb_palette[256 *3]
void dec_ioasic_reassert(struct dec_ioasic_data *)
int dev_bt431_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
int dev_vdac_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
size_t dev_jazz_dma_controller(void *dma_controller_data, unsigned char *data, size_t len, int writeflag)
struct pci_data * dev_gt_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, const char *timer_irq_path, const char *isa_irq_path, int type)
int dev_sgi_gbe_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
unsigned char color_plane_mask
uint32_t imc_reg[DEV_SGI_IP22_IMC_LENGTH/4]
void * dev_scc_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, char *irq_path, int use_fb, int scc_nr, int addrmul)
int dev_sfb_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
void * dma_func_extra[MAX_IOASIC_DMA_FUNCTIONS]
int dev_gt_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
#define DEV_SGI_IP22_IMC_LENGTH
int dev_asc_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
void dev_bt455_init(struct memory *mem, uint64_t baseaddr, struct vfb_data *vfb_data)
void dev_sgi_mec_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, char *irq_path, unsigned char *macaddr)
int dev_deccca_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
void dev_sgi_de_status_init(struct memory *mem, uint64_t baseaddr, struct sgi_re_data *)
struct pci_data * dev_uninorth_init(struct machine *machine, struct memory *mem, uint64_t addr, int irqbase, int pciirq)
void dev_bt431_init(struct memory *mem, uint64_t baseaddr, struct vfb_data *vfb_data, int color_fb_flag)
void dev_le_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, uint64_t buf_start, uint64_t buf_end, const char *irq_path, int len)
int dev_dec5500_ioboard_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
void lk201_tick(struct machine *, struct lk201_data *)
struct sgi_ip22_data * dev_sgi_ip22_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, int guiness_flag)
int dev_bt459_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
int dev_le_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
void dev_sii_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, uint64_t buf_start, uint64_t buf_end, char *irq_path)
void dev_dc7085_tick(struct cpu *cpu, void *)
int dev_colorplanemask_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
void dev_turbochannel_init(struct machine *machine, struct memory *mem, int slot_nr, uint64_t baseaddr, uint64_t endaddr, const char *device_name, const char *irq_path)
void lk201_tx_data(struct lk201_data *, int port, int idata)
void dev_colorplanemask_init(struct memory *mem, uint64_t baseaddr, unsigned char *color_plane_mask)
void dev_decxmi_init(struct memory *mem, uint64_t baseaddr)
void lk201_init(struct lk201_data *d, int use_fb, void(*add_to_rx_queue)(void *, int, int), int console_handle, void *)
struct fb_window * fb_window
#define DEV_SGI_IP22_LENGTH
void dev_mc146818_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, char *irq_path, int access_style, int addrdiv)
void dev_crime_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, char *irq_path, int use_fb)
int dev_sgec_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
unsigned char sram[128 *1024]
void dev_sgi_re_init(struct machine *machine, struct memory *mem, uint64_t baseaddr)
void dev_ram_init(struct machine *machine, uint64_t baseaddr, uint64_t length, int mode, uint64_t otheraddr, const char *name=NULL)
void dev_fb_setcursor(struct vfb_data *d, int cursor_x, int cursor_y, int on, int cursor_xsize, int cursor_ysize)
int dev_sgi_ust_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
void(* add_to_rx_queue)(void *, int, int)
int dev_ram_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
int dev_fb_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
unsigned char * framebuffer
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_sgi_mec_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
int dev_bt455_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
int dev_scc_dma_func(struct cpu *cpu, void *extra, uint64_t addr, size_t dma_len, int tx)
void dev_sfb_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, struct vfb_data *vfb_data)
void dev_fb_resize(struct vfb_data *d, int new_xsize, int new_ysize)
void framebuffer_blockcopyfill(struct vfb_data *d, int fillflag, int fill_r, int fill_g, int fill_b, int x1, int y1, int x2, int y2, int from_x, int from_y)
int dev_kn01_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
void(* redraw_func)(struct vfb_data *, int, int)
void dev_sii_tick(struct cpu *cpu, void *)
int dev_vga_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
int dev_sii_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
void dev_pmagja_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, const char *irq_path)
#define DEV_SGI_IP22_UNKNOWN2_LENGTH
int(* dma_func[MAX_IOASIC_DMA_FUNCTIONS])(struct cpu *, void *, uint64_t addr, size_t dma_len, int tx)
void dev_sgi_de_init(struct memory *mem, uint64_t baseaddr, struct sgi_re_data *)
struct dec5500_ioboard_data * dev_dec5500_ioboard_init(struct cpu *cpu, struct memory *mem, uint64_t baseaddr)
int dev_pckbc_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, int type, char *keyboard_irqpath, char *mouse_irqpath, int in_use, int pc_style_flag)
void dev_fb_tick(struct cpu *, void *)
void dev_deccca_init(struct memory *mem, uint64_t baseaddr)
void dev_vga_init(struct machine *machine, struct memory *mem, uint64_t videomem_base, uint64_t control_base, const char *name)
struct vr41xx_data * dev_vr41xx_init(struct machine *machine, struct memory *mem, int cpumodel)
void add_to_rx_queue(void *e, int ch, int line_no)
int dev_ssc_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
int dev_sgi_ip20_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
struct sgi_ip20_data * dev_sgi_ip20_init(struct cpu *cpu, struct memory *mem, uint64_t baseaddr)
int dev_sgi_ip22_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
int dev_macepci_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
void dev_asc_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, const char *irq_path, void *turbochannel, int mode, size_t(*dma_controller)(void *dma_controller_data, unsigned char *data, size_t len, int writeflag), void *dma_controller_data)
uint32_t reg[DEV_SGI_IP22_LENGTH/4]
void dev_px_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, int px_type, const char *irq_path)
unsigned char keyb_buf[8]
void dev_sgi_gbe_init(struct machine *machine, struct memory *mem, uint64_t baseaddr)
#define MAX_IOASIC_DMA_FUNCTIONS
int dev_sgi_re_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
void dev_sgec_init(struct memory *mem, uint64_t baseaddr, int irq_nr)
struct vfb_data * vfb_data
void dev_sgi_ust_init(struct memory *mem, uint64_t baseaddr)
void dev_sgi_mte_init(struct memory *mem, uint64_t baseaddr, struct sgi_re_data *)
uint32_t unknown2_reg[DEV_SGI_IP22_UNKNOWN2_LENGTH/4]
struct dec_ioasic_data * dev_dec_ioasic_init(struct cpu *cpu, struct memory *mem, uint64_t baseaddr, int rackmount_flag, struct interrupt *irq)
int dev_mc146818_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, unsigned char *data, size_t len, int writeflag, void *)
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_pckbc_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
void dev_mc146818_tick(struct cpu *cpu, void *)
int dev_decxmi_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
int dev_dc7085_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
void dev_bt459_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, uint64_t baseaddr_irq, struct vfb_data *vfb_data, int color_fb_flag, const char *irq_path, int type)
void set_grayscale_palette(struct vfb_data *d, int ncolors)
Generated on Tue Aug 25 2020 19:25:06 for GXemul by
1.8.18