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 223 unsigned char rgb_palette[256 * 3];
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 *);
370 void dev_ram_init(
struct machine *machine, uint64_t baseaddr, uint64_t length,
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);
517 unsigned char keyb_buf[8];
int dev_scc_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
void dev_sgec_init(struct memory *mem, uint64_t baseaddr, int irq_nr)
void dev_sgi_ust_init(struct memory *mem, uint64_t baseaddr)
void dev_ssc_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, const char *irq_path, int use_fb)
int dev_px_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_dec_ioasic_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
void * dev_scc_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, char *irq_path, int use_fb, int scc_nr, int addrmul)
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 *)
int dev_dc7085_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, char *irq_path, int use_fb)
#define DEV_SGI_IP22_IMC_LENGTH
int dev_le_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
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_kn01_init(struct memory *mem, uint64_t baseaddr, int color_fb)
void add_to_rx_queue(void *e, int ch, int line_no)
struct vfb_data * vfb_data
void dev_vdac_init(struct memory *mem, uint64_t baseaddr, unsigned char *rgb_palette, int color_fb_flag)
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_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 *)
void dev_bt431_init(struct memory *mem, uint64_t baseaddr, struct vfb_data *vfb_data, int color_fb_flag)
int dev_pmagja_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 *)
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_bt431_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)
#define DEV_SGI_IP22_LENGTH
size_t dev_jazz_dma_controller(void *dma_controller_data, unsigned char *data, size_t len, int writeflag)
void dev_crime_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, char *irq_path, int use_fb)
void dev_sgi_re_init(struct machine *machine, struct memory *mem, uint64_t baseaddr)
struct pci_data * dev_uninorth_init(struct machine *machine, struct memory *mem, uint64_t addr, int irqbase, int pciirq)
void dev_fb_setcursor(struct vfb_data *d, int cursor_x, int cursor_y, int on, int cursor_xsize, int cursor_ysize)
void lk201_tx_data(struct lk201_data *, int port, int idata)
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 sgi_ip22_data * dev_sgi_ip22_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, int guiness_flag)
int dev_gt_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
void dev_mc146818_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, char *irq_path, int access_style, int addrdiv)
void dev_dc7085_tick(struct cpu *cpu, void *)
void dev_sgi_mec_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, char *irq_path, unsigned char *macaddr)
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 *)
void dev_ram_init(struct machine *machine, uint64_t baseaddr, uint64_t length, int mode, uint64_t otheraddr, const char *name=NULL)
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 dev_fb_resize(struct vfb_data *d, int new_xsize, int new_ysize)
int dev_kn01_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
int dev_bt459_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
struct fb_window * fb_window
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_sgi_de_init(struct memory *mem, uint64_t baseaddr, struct sgi_re_data *)
void dev_colorplanemask_init(struct memory *mem, uint64_t baseaddr, unsigned char *color_plane_mask)
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)
void dev_sii_tick(struct cpu *cpu, void *)
int dev_sgec_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
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_sgi_ip20_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, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
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 dev_fb_tick(struct cpu *, void *)
void dev_vga_init(struct machine *machine, struct memory *mem, uint64_t videomem_base, uint64_t control_base, const char *name)
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_fb_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)
void dev_sgi_gbe_init(struct machine *machine, struct memory *mem, uint64_t baseaddr)
unsigned char * framebuffer
int dev_macepci_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
struct dec5500_ioboard_data * dev_dec5500_ioboard_init(struct cpu *cpu, struct memory *mem, uint64_t baseaddr)
int dev_scc_dma_func(struct cpu *cpu, void *extra, uint64_t addr, size_t dma_len, int tx)
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)
void dev_sfb_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, struct vfb_data *vfb_data)
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)
int dev_mc146818_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
void dev_px_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, int px_type, const char *irq_path)
int dev_sii_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 *)
int dev_ssc_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
#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 *)
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_sgi_mte_init(struct memory *mem, uint64_t baseaddr, struct sgi_re_data *)
struct pci_data * dev_macepci_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, char *irq_path)
void dev_deccca_init(struct memory *mem, uint64_t baseaddr)
struct vr41xx_data * dev_vr41xx_init(struct machine *machine, struct memory *mem, int cpumodel)
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_decxmi_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *)
void set_grayscale_palette(struct vfb_data *d, int ncolors)
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 dec_ioasic_reassert(struct dec_ioasic_data *)
int dev_sgi_de_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 *)
struct dec_ioasic_data * dev_dec_ioasic_init(struct cpu *cpu, struct memory *mem, uint64_t baseaddr, int rackmount_flag, struct interrupt *irq)
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 *)