/[gxemul]/trunk/src/include/devices.h
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/src/include/devices.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 4 by dpavlin, Mon Oct 8 16:18:00 2007 UTC revision 28 by dpavlin, Mon Oct 8 16:20:26 2007 UTC
# Line 2  Line 2 
2  #define DEVICES_H  #define DEVICES_H
3    
4  /*  /*
5   *  Copyright (C) 2003-2005  Anders Gavare.  All rights reserved.   *  Copyright (C) 2003-2006  Anders Gavare.  All rights reserved.
6   *   *
7   *  Redistribution and use in source and binary forms, with or without   *  Redistribution and use in source and binary forms, with or without
8   *  modification, are permitted provided that the following conditions are met:   *  modification, are permitted provided that the following conditions are met:
# Line 28  Line 28 
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.213 2006/07/08 12:30:03 debug Exp $
32   *   *
33   *  Memory mapped devices.   *  Memory mapped devices.
34   *   *
# Line 48  struct pci_data; Line 48  struct pci_data;
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
# Line 62  struct dec_ioasic_data { Line 76  struct dec_ioasic_data {
76  int dev_dec_ioasic_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, 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 *);
77  struct dec_ioasic_data *dev_dec_ioasic_init(struct cpu *cpu, struct memory *mem, uint64_t baseaddr, int rackmount_flag);  struct dec_ioasic_data *dev_dec_ioasic_init(struct cpu *cpu, struct memory *mem, uint64_t baseaddr, int rackmount_flag);
78    
79    /*  dev_algor.c:  */
80    struct algor_data {
81            uint64_t        base_addr;
82    };
83    
84  /*  dev_asc.c:  */  /*  dev_asc.c:  */
85  #define DEV_ASC_DEC_LENGTH              0x40000  #define DEV_ASC_DEC_LENGTH              0x40000
86  #define DEV_ASC_PICA_LENGTH             0x1000  #define DEV_ASC_PICA_LENGTH             0x1000
# Line 91  struct au1x00_ic_data { Line 110  struct au1x00_ic_data {
110  int dev_au1x00_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *);  int dev_au1x00_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *);
111  struct au1x00_ic_data *dev_au1x00_init(struct machine *machine, struct memory *mem);  struct au1x00_ic_data *dev_au1x00_init(struct machine *machine, struct memory *mem);
112    
113    /*  dev_bebox.c:  */
114    struct bebox_data {
115            /*  The 5 motherboard registers:  */  
116            uint32_t        cpu0_int_mask;
117            uint32_t        cpu1_int_mask;
118            uint32_t        int_status;
119            uint32_t        xpi;
120            uint32_t        resets;
121    };
122    
123  /*  dev_bt431.c:  */  /*  dev_bt431.c:  */
124  #define DEV_BT431_LENGTH                0x20  #define DEV_BT431_LENGTH                0x20
125  #define DEV_BT431_NREGS                 0x800   /*  ?  */  #define DEV_BT431_NREGS                 0x800   /*  ?  */
# Line 119  void dev_bt459_init(struct machine *mach Line 148  void dev_bt459_init(struct machine *mach
148          int color_fb_flag, int irq_nr, int type);          int color_fb_flag, int irq_nr, int type);
149    
150  /*  dev_cons.c:  */  /*  dev_cons.c:  */
151  #define DEV_CONS_ADDRESS                0x0000000010000000  struct cons_data {
152  #define DEV_CONS_LENGTH                 0x0000000000000020          int     console_handle;
153  #define     DEV_CONS_PUTGETCHAR             0x0000          int     irq_nr;
154  #define     DEV_CONS_HALT                   0x0010          int     in_use;
155  int dev_cons_access(struct cpu *cpu, struct memory *mem,  };
         uint64_t relative_addr, unsigned char *data, size_t len,  
         int writeflag, void *);  
 int dev_cons_init(struct machine *machine, struct memory *mem,  
         uint64_t baseaddr, char *name, int irq_nr);  
156    
157  /*  dev_colorplanemask.c:  */  /*  dev_colorplanemask.c:  */
158  #define DEV_COLORPLANEMASK_LENGTH       0x0000000000000010  #define DEV_COLORPLANEMASK_LENGTH       0x0000000000000010
# Line 137  int dev_colorplanemask_access(struct cpu Line 162  int dev_colorplanemask_access(struct cpu
162  void dev_colorplanemask_init(struct memory *mem, uint64_t baseaddr,  void dev_colorplanemask_init(struct memory *mem, uint64_t baseaddr,
163          unsigned char *color_plane_mask);          unsigned char *color_plane_mask);
164    
165    /*  dev_cpc700.c:  */
166    struct cpc700_data {
167            struct pci_data *pci_data;
168            uint32_t        sr;     /*  Status register (interrupt)  */
169            uint32_t        er;     /*  Enable register  */
170    };
171    struct cpc700_data *dev_cpc700_init(struct machine *, struct memory *);
172    
173  /*  dev_dc7085.c:  */  /*  dev_dc7085.c:  */
174  #define DEV_DC7085_LENGTH               0x0000000000000080  #define DEV_DC7085_LENGTH               0x0000000000000080
175  /*  see dc7085.h for more info  */  /*  see dc7085.h for more info  */
# Line 164  void dev_deccca_init(struct memory *mem, Line 197  void dev_deccca_init(struct memory *mem,
197  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_decxmi_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *);
198  void dev_decxmi_init(struct memory *mem, uint64_t baseaddr);  void dev_decxmi_init(struct memory *mem, uint64_t baseaddr);
199    
200    /*  dev_eagle.c:  */
201    struct pci_data *dev_eagle_init(struct machine *machine, struct memory *mem,
202            int irqbase, int pciirq);
203    
204  /*  dev_fb.c:  */  /*  dev_fb.c:  */
205  #define DEV_FB_LENGTH                   0x3c0000        /*  3c0000 to not colide with turbochannel rom, otherwise size = (4*1024*1024)  */  #define DEV_FB_LENGTH           0x3c0000        /*  3c0000 to not colide with */
206  #define VFB_GENERIC                     0                                                  /*  turbochannel rom,         */
207  #define VFB_HPCMIPS                     1                                                  /*  otherwise size = 4MB      */
208  #define VFB_DEC_VFB01                   2  /*  Type:  */
209  #define VFB_DEC_VFB02                   3  #define VFB_GENERIC             0
210  #define VFB_DEC_MAXINE                  4  #define VFB_HPC                 1
211  #define VFB_PLAYSTATION2                5  #define VFB_DEC_VFB01           2
212    #define VFB_DEC_VFB02           3
213    #define VFB_DEC_MAXINE          4
214    #define VFB_PLAYSTATION2        5
215    /*  Extra flags:  */
216    #define VFB_REVERSE_START       0x10000
217  struct vfb_data {  struct vfb_data {
218            struct memory   *memory;
219          int             vfb_type;          int             vfb_type;
220    
221          int             vfb_scaledown;          int             vfb_scaledown;
# Line 180  struct vfb_data { Line 223  struct vfb_data {
223          int             xsize;          int             xsize;
224          int             ysize;          int             ysize;
225          int             bit_depth;          int             bit_depth;
226          int             color32k;          int             color32k;       /*  hack for 16-bit HPCmips  */
227            int             psp_15bit;      /*  playstation portable hack  */
228    
229          unsigned char   color_plane_mask;          unsigned char   color_plane_mask;
230    
# Line 197  struct vfb_data { Line 241  struct vfb_data {
241          /*  RGB palette for <= 8 bit modes:  (r,g,b bytes for each)  */          /*  RGB palette for <= 8 bit modes:  (r,g,b bytes for each)  */
242          unsigned char   rgb_palette[256 * 3];          unsigned char   rgb_palette[256 * 3];
243    
244            char            *name;
245            char            title[100];
246    
247            void (*redraw_func)(struct vfb_data *, int, int);
248    
249          /*  These should always be in sync:  */          /*  These should always be in sync:  */
250          unsigned char   *framebuffer;          unsigned char   *framebuffer;
251          struct fb_window *fb_window;          struct fb_window *fb_window;
# Line 206  struct vfb_data { Line 255  struct vfb_data {
255  #define VFB_MFB_VRAM                    0x200000  #define VFB_MFB_VRAM                    0x200000
256  #define VFB_CFB_BT459                   0x200000  #define VFB_CFB_BT459                   0x200000
257  void set_grayscale_palette(struct vfb_data *d, int ncolors);  void set_grayscale_palette(struct vfb_data *d, int ncolors);
258    void dev_fb_resize(struct vfb_data *d, int new_xsize, int new_ysize);
259  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,
260          int cursor_xsize, int cursor_ysize);          int cursor_xsize, int cursor_ysize);
261  void framebuffer_blockcopyfill(struct vfb_data *d, int fillflag, int fill_r,  void framebuffer_blockcopyfill(struct vfb_data *d, int fillflag, int fill_r,
262          int fill_g, int fill_b, int x1, int y1, int x2, int y2,          int fill_g, int fill_b, int x1, int y1, int x2, int y2,
263          int from_x, int from_y);          int from_x, int from_y);
264  void dev_fb_tick(struct cpu *, void *);  void dev_fb_tick(struct cpu *, void *);
265  int dev_fb_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,
266  struct vfb_data *dev_fb_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, int vfb_type,          unsigned char *data, size_t len, int writeflag, void *);
267          int visible_xsize, int visible_ysize, int xsize, int ysize, int bit_depth, char *name, int logo);  struct vfb_data *dev_fb_init(struct machine *machine, struct memory *mem,
268            uint64_t baseaddr, int vfb_type, int visible_xsize, int visible_ysize,
269            int xsize, int ysize, int bit_depth, char *name);
270    
271    /*  dev_footbridge:  */
272    #define N_FOOTBRIDGE_TIMERS             4
273    struct footbridge_data {
274            struct pci_data *pcibus;
275    
276            int             console_handle;
277    
278            int             timer_tick_countdown[N_FOOTBRIDGE_TIMERS];
279            uint32_t        timer_load[N_FOOTBRIDGE_TIMERS];
280            uint32_t        timer_value[N_FOOTBRIDGE_TIMERS];
281            uint32_t        timer_control[N_FOOTBRIDGE_TIMERS];
282            int             timer_being_read;
283            int             timer_poll_mode;
284    
285            uint32_t        irq_status;
286            uint32_t        irq_enable;
287    
288            uint32_t        fiq_status;
289            uint32_t        fiq_enable;
290    };
291    
292    /*  dev_gc.c:  */
293    struct gc_data {
294            int             reassert_irq;
295            uint32_t        status_hi;
296            uint32_t        status_lo;
297            uint32_t        enable_hi;
298            uint32_t        enable_lo;
299    };
300    struct gc_data *dev_gc_init(struct machine *, struct memory *, uint64_t addr,
301            int reassert_irq);
302    
303  /*  dev_gt.c:  */  /*  dev_gt.c:  */
304  #define DEV_GT_LENGTH                   0x0000000000001000  #define DEV_GT_LENGTH                   0x1000
305  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,
306  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 *);
307    struct pci_data *dev_gt_init(struct machine *machine, struct memory *mem,
308            uint64_t baseaddr, int irq_nr, int pciirq, int type);
309    
310    /*  dev_i80321.c:  */
311    struct i80321_data {
312            /*  Interrupt Controller  */
313            int             reassert_irq;
314            uint32_t        status;
315            uint32_t        enable;
316    
317            uint32_t        pci_addr;
318            struct pci_data *pci_bus;
319    
320            /*  Memory Controller:  */
321            uint32_t        mcu_reg[0x100 / sizeof(uint32_t)];
322    };
323    
324  /*  dev_jazz.c:  */  /*  dev_jazz.c:  */
325  #define DEV_JAZZ_LENGTH                 0x280  #define DEV_JAZZ_LENGTH                 0x280
# Line 274  void dev_vdac_init(struct memory *mem, u Line 374  void dev_vdac_init(struct memory *mem, u
374  /*  dev_kn02.c:  */  /*  dev_kn02.c:  */
375  struct kn02_csr {  struct kn02_csr {
376          uint8_t         csr[sizeof(uint32_t)];          uint8_t         csr[sizeof(uint32_t)];
377          uint8_t         filler[4096 - sizeof(uint32_t)];  /*  for bintrans mapping  */          uint8_t         filler[4096 - sizeof(uint32_t)];  /*  for dyntrans mapping  */
378  };  };
379  int dev_kn02_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *);  int dev_kn02_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *);
380  struct kn02_csr *dev_kn02_init(struct cpu *cpu, struct memory *mem,  struct kn02_csr *dev_kn02_init(struct cpu *cpu, struct memory *mem,
# Line 310  int dev_m700_fb_access(struct cpu *cpu, Line 410  int dev_m700_fb_access(struct cpu *cpu,
410  void dev_m700_fb_init(struct machine *machine, struct memory *mem,  void dev_m700_fb_init(struct machine *machine, struct memory *mem,
411          uint64_t baseaddr, uint64_t baseaddr2);          uint64_t baseaddr, uint64_t baseaddr2);
412    
413  /*  dev_ns16550.c:  */  /*  dev_malta.c:  */
414  #define DEV_NS16550_LENGTH              0x0000000000000008  struct malta_data {
415  /*  see comreg.h and ns16550reg.h for more info  */          uint8_t         assert_lo;
416  int dev_ns16550_access(struct cpu *cpu, struct memory *mem,          uint8_t         assert_hi;
417          uint64_t relative_addr, unsigned char *data, size_t len,          uint8_t         disable_lo;
418          int writeflag, void *);          uint8_t         disable_hi;
419  int dev_ns16550_init(struct machine *machine, struct memory *mem,          int             poll_mode;
420          uint64_t baseaddr, int irq_nr, int addrmult, int in_use, char *name);  };
421    
422  /*  dev_mc146818.c:  */  /*  dev_mc146818.c:  */
423  #define DEV_MC146818_LENGTH             0x0000000000000100  #define DEV_MC146818_LENGTH             0x0000000000000100
# Line 326  int dev_ns16550_init(struct machine *mac Line 426  int dev_ns16550_init(struct machine *mac
426  #define MC146818_ARC_NEC        2  #define MC146818_ARC_NEC        2
427  #define MC146818_ARC_JAZZ       3  #define MC146818_ARC_JAZZ       3
428  #define MC146818_SGI            4  #define MC146818_SGI            4
429    #define MC146818_CATS           5
430    #define MC146818_ALGOR          6
431    #define MC146818_PMPPC          7
432  /*  see mc146818reg.h for more info  */  /*  see mc146818reg.h for more info  */
433  void dev_mc146818_tick(struct cpu *cpu, void *);  void dev_mc146818_tick(struct cpu *cpu, void *);
434  int dev_mc146818_access(struct cpu *cpu, struct memory *mem,  int dev_mc146818_access(struct cpu *cpu, struct memory *mem,
# Line 344  int dev_pckbc_access(struct cpu *cpu, st Line 447  int dev_pckbc_access(struct cpu *cpu, st
447          int writeflag, void *);          int writeflag, void *);
448  int dev_pckbc_init(struct machine *machine, struct memory *mem,  int dev_pckbc_init(struct machine *machine, struct memory *mem,
449          uint64_t baseaddr, int type, int keyboard_irqnr, int mouse_irqnr,          uint64_t baseaddr, int type, int keyboard_irqnr, int mouse_irqnr,
450          int in_use);          int in_use, int pc_style_flag);
451    
452  /*  dev_pmppc.c:  */  /*  dev_pmppc.c:  */
453  int dev_pmppc_board_access(struct cpu *cpu, struct memory *mem,  int dev_pmppc_board_access(struct cpu *cpu, struct memory *mem,
# Line 387  struct ps2_data *dev_ps2_stuff_init(stru Line 490  struct ps2_data *dev_ps2_stuff_init(stru
490  int dev_pmagja_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *);  int dev_pmagja_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *);
491  void dev_pmagja_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, int irq_nr);  void dev_pmagja_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, int irq_nr);
492    
493    /*  dev_prep.c:  */
494    struct prep_data {
495            uint32_t        int_status;
496    };
497    
498  /*  dev_px.c:  */  /*  dev_px.c:  */
499  struct px_data {  struct px_data {
500          struct memory   *fb_mem;          struct memory   *fb_mem;
# Line 407  struct px_data { Line 515  struct px_data {
515  #define DEV_PX_TYPE_PXGPLUS             2  #define DEV_PX_TYPE_PXGPLUS             2
516  #define DEV_PX_TYPE_PXGPLUSTURBO        3  #define DEV_PX_TYPE_PXGPLUSTURBO        3
517  #define DEV_PX_LENGTH                   0x3c0000  #define DEV_PX_LENGTH                   0x3c0000
518  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,
519  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 *);
520    void dev_px_init(struct machine *machine, struct memory *mem, uint64_t baseaddr,
521            int px_type, int irq_nr);
522    
523  /*  dev_ram.c:  */  /*  dev_ram.c:  */
524  #define DEV_RAM_RAM             0  #define DEV_RAM_RAM                             0
525  #define DEV_RAM_MIRROR          1  #define DEV_RAM_MIRROR                          1
526  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
527  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,
528            unsigned char *data, size_t len, int writeflag, void *);
529    void dev_ram_init(struct machine *machine, uint64_t baseaddr, uint64_t length,
530            int mode, uint64_t otheraddr);
531    
532  /*  dev_scc.c:  */  /*  dev_scc.c:  */
533  #define DEV_SCC_LENGTH                  0x1000  #define DEV_SCC_LENGTH                  0x1000
534  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,
535  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 *);
536  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,
537            size_t dma_len, int tx);
538    void *dev_scc_init(struct machine *machine, struct memory *mem,
539            uint64_t baseaddr, int irq_nr, int use_fb, int scc_nr, int addrmul);
540    
541  /*  dev_sfb.c:  */  /*  dev_sfb.c:  */
542  #define DEV_SFB_LENGTH          0x400000  #define DEV_SFB_LENGTH          0x400000
543  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,
544  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 *);
545    void dev_sfb_init(struct machine *machine, struct memory *mem,
546            uint64_t baseaddr, struct vfb_data *vfb_data);
547    
548  /*  dev_sgi_gbe.c:  */  /*  dev_sgi_gbe.c:  */
549  #define DEV_SGI_GBE_LENGTH              0x1000000  #define DEV_SGI_GBE_LENGTH              0x1000000
550  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,
551  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,
552            void *);
553    void dev_sgi_gbe_init(struct machine *machine, struct memory *mem,
554            uint64_t baseaddr);
555    
556  /*  dev_sgi_ip20.c:  */  /*  dev_sgi_ip20.c:  */
557  #define DEV_SGI_IP20_LENGTH             0x40  #define DEV_SGI_IP20_LENGTH             0x40
# Line 500  int dev_mace_access(struct cpu *cpu, str Line 621  int dev_mace_access(struct cpu *cpu, str
621  struct mace_data *dev_mace_init(struct memory *mem, uint64_t baseaddr, int irqnr);  struct mace_data *dev_mace_init(struct memory *mem, uint64_t baseaddr, int irqnr);
622  #define DEV_MACEPCI_LENGTH              0x1000  #define DEV_MACEPCI_LENGTH              0x1000
623  int dev_macepci_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 *);
624  struct pci_data *dev_macepci_init(struct memory *mem, uint64_t baseaddr, int pciirq);  struct pci_data *dev_macepci_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, int pciirq);
625  #define DEV_SGI_MEC_LENGTH              0x1000  #define DEV_SGI_MEC_LENGTH              0x1000
626  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_sgi_mec_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *);
627  void dev_sgi_mec_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, int irq_nr, unsigned char *macaddr);  void dev_sgi_mec_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, int irq_nr, unsigned char *macaddr);
# Line 524  void dev_ssc_init(struct machine *machin Line 645  void dev_ssc_init(struct machine *machin
645    
646  /*  dev_turbochannel.c:  */  /*  dev_turbochannel.c:  */
647  #define DEV_TURBOCHANNEL_LEN            0x0470  #define DEV_TURBOCHANNEL_LEN            0x0470
648  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,
649  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,
650            int writeflag, void *);
651    void dev_turbochannel_init(struct machine *machine, struct memory *mem,
652            int slot_nr, uint64_t baseaddr, uint64_t endaddr, char *device_name,
653            int irq);
654    
655    /*  dev_uninorth.c:  */
656    struct pci_data *dev_uninorth_init(struct machine *machine, struct memory *mem,
657            uint64_t addr, int irqbase, int pciirq);
658    
659    /*  dev_v3.c:  */
660    struct v3_data {
661            struct pci_data *pci_data;
662            uint16_t        lb_map0;
663    };
664    struct v3_data *dev_v3_init(struct machine *, struct memory *);
665    
666  /*  dev_vga.c:  */  /*  dev_vga.c:  */
667  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,
668          unsigned char *data, size_t len, int writeflag, void *);          unsigned char *data, size_t len, int writeflag, void *);
669  void dev_vga_init(struct machine *machine, struct memory *mem,  void dev_vga_init(struct machine *machine, struct memory *mem,
670          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);  
671    
672  /*  dev_vr41xx.c:  */  /*  dev_vr41xx.c:  */
673  #define DEV_VR41XX_LENGTH               0x800           /*  TODO?  */  #define DEV_VR41XX_LENGTH               0x800           /*  TODO?  */
# Line 540  struct vr41xx_data { Line 675  struct vr41xx_data {
675          int             cpumodel;          int             cpumodel;
676    
677          int             kiu_console_handle;          int             kiu_console_handle;
678          int             kiu_offset;          uint32_t        kiu_offset;
679          int             kiu_irq_nr;          int             kiu_irq_nr;
680          int             kiu_int_assert;          int             kiu_int_assert;
681          int             d0;          int             d0;
# Line 567  int dev_vr41xx_access(struct cpu *cpu, s Line 702  int dev_vr41xx_access(struct cpu *cpu, s
702  struct vr41xx_data *dev_vr41xx_init(struct machine *machine,  struct vr41xx_data *dev_vr41xx_init(struct machine *machine,
703          struct memory *mem, int cpumodel);          struct memory *mem, int cpumodel);
704    
 /*  dev_wdc.c:  */  
 #define DEV_WDC_LENGTH                  0x8  
 int dev_wdc_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *);  
 void dev_wdc_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, int irq_nr, int base_drive);  
   
705  /*  dev_wdsc.c:  */  /*  dev_wdsc.c:  */
706  #define DEV_WDSC_NREGS                  0x100           /*  8-bit register select  */  #define DEV_WDSC_NREGS                  0x100           /*  8-bit register select  */
707  #define DEV_WDSC_LENGTH                 0x10  #define DEV_WDSC_LENGTH                 0x10
708  int dev_wdsc_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *);  int dev_wdsc_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr, unsigned char *data, size_t len, int writeflag, void *);
709  void dev_wdsc_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, int controller_nr, int irq_nr);  void dev_wdsc_init(struct machine *machine, struct memory *mem, uint64_t baseaddr, int controller_nr, int irq_nr);
710    
 /*  dev_zs.c:  */  
 #define DEV_ZS_LENGTH                   0x10  
 int dev_zs_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr,  
         unsigned char *data, size_t len, int writeflag, void *);  
 int dev_zs_init(struct machine *machine, struct memory *mem, uint64_t baseaddr,  
         int irq_nr, int addrmult, char *name);  
   
711  /*  lk201.c:  */  /*  lk201.c:  */
712  struct lk201_data {  struct lk201_data {
713          int                     use_fb;          int                     use_fb;

Legend:
Removed from v.4  
changed lines
  Added in v.28

  ViewVC Help
Powered by ViewVC 1.1.26