/[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 12 by dpavlin, Mon Oct 8 16:18:38 2007 UTC
# 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.176 2005/08/05 09:11:49 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 123  void dev_bt459_init(struct machine *mach Line 137  void dev_bt459_init(struct machine *mach
137  #define DEV_CONS_LENGTH                 0x0000000000000020  #define DEV_CONS_LENGTH                 0x0000000000000020
138  #define     DEV_CONS_PUTGETCHAR             0x0000  #define     DEV_CONS_PUTGETCHAR             0x0000
139  #define     DEV_CONS_HALT                   0x0010  #define     DEV_CONS_HALT                   0x0010
140  int dev_cons_access(struct cpu *cpu, struct memory *mem,  struct cons_data {
141          uint64_t relative_addr, unsigned char *data, size_t len,          int     console_handle;
142          int writeflag, void *);          int     irq_nr;
143  int dev_cons_init(struct machine *machine, struct memory *mem,  };
         uint64_t baseaddr, char *name, int irq_nr);  
144    
145  /*  dev_colorplanemask.c:  */  /*  dev_colorplanemask.c:  */
146  #define DEV_COLORPLANEMASK_LENGTH       0x0000000000000010  #define DEV_COLORPLANEMASK_LENGTH       0x0000000000000010
# Line 164  void dev_deccca_init(struct memory *mem, Line 177  void dev_deccca_init(struct memory *mem,
177  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 *);
178  void dev_decxmi_init(struct memory *mem, uint64_t baseaddr);  void dev_decxmi_init(struct memory *mem, uint64_t baseaddr);
179    
180    /*  dev_disk.c:  */
181    #define DEV_DISK_ADDRESS                0x13000000
182    
183    /*  dev_ether.c:  */
184    #define DEV_ETHER_ADDRESS               0x14000000
185    #define DEV_ETHER_LENGTH                0x8000
186    
187  /*  dev_fb.c:  */  /*  dev_fb.c:  */
188  #define DEV_FB_LENGTH                   0x3c0000        /*  3c0000 to not colide with turbochannel rom, otherwise size = (4*1024*1024)  */  #define DEV_FB_ADDRESS          0x12000000      /*  Default for testmips  */
189  #define VFB_GENERIC                     0  #define DEV_FB_LENGTH           0x3c0000        /*  3c0000 to not colide with */
190  #define VFB_HPCMIPS                     1                                                  /*  turbochannel rom,         */
191  #define VFB_DEC_VFB01                   2                                                  /*  otherwise size = 4MB      */
192  #define VFB_DEC_VFB02                   3  #define VFB_GENERIC             0
193  #define VFB_DEC_MAXINE                  4  #define VFB_HPCMIPS             1
194  #define VFB_PLAYSTATION2                5  #define VFB_DEC_VFB01           2
195    #define VFB_DEC_VFB02           3
196    #define VFB_DEC_MAXINE          4
197    #define VFB_PLAYSTATION2        5
198  struct vfb_data {  struct vfb_data {
199          int             vfb_type;          int             vfb_type;
200    
# Line 180  struct vfb_data { Line 203  struct vfb_data {
203          int             xsize;          int             xsize;
204          int             ysize;          int             ysize;
205          int             bit_depth;          int             bit_depth;
206          int             color32k;          int             color32k;       /*  hack for 16-bit HPCmips  */
207            int             psp_15bit;      /*  plastation portable hack  */
208    
209          unsigned char   color_plane_mask;          unsigned char   color_plane_mask;
210    
# Line 206  struct vfb_data { Line 230  struct vfb_data {
230  #define VFB_MFB_VRAM                    0x200000  #define VFB_MFB_VRAM                    0x200000
231  #define VFB_CFB_BT459                   0x200000  #define VFB_CFB_BT459                   0x200000
232  void set_grayscale_palette(struct vfb_data *d, int ncolors);  void set_grayscale_palette(struct vfb_data *d, int ncolors);
233    void dev_fb_resize(struct vfb_data *d, int new_xsize, int new_ysize);
234  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,
235          int cursor_xsize, int cursor_ysize);          int cursor_xsize, int cursor_ysize);
236  void framebuffer_blockcopyfill(struct vfb_data *d, int fillflag, int fill_r,  void framebuffer_blockcopyfill(struct vfb_data *d, int fillflag, int fill_r,
237          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,
238          int from_x, int from_y);          int from_x, int from_y);
239  void dev_fb_tick(struct cpu *, void *);  void dev_fb_tick(struct cpu *, void *);
240  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,
241  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 *);
242          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,
243            uint64_t baseaddr, int vfb_type, int visible_xsize, int visible_ysize,
244            int xsize, int ysize, int bit_depth, char *name);
245    
246  /*  dev_gt.c:  */  /*  dev_gt.c:  */
247  #define DEV_GT_LENGTH                   0x0000000000001000  #define DEV_GT_LENGTH                   0x1000
248  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,
249  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 *);
250    struct pci_data *dev_gt_init(struct machine *machine, struct memory *mem,
251            uint64_t baseaddr, int irq_nr, int pciirq, int type);
252    
253  /*  dev_jazz.c:  */  /*  dev_jazz.c:  */
254  #define DEV_JAZZ_LENGTH                 0x280  #define DEV_JAZZ_LENGTH                 0x280
# Line 310  int dev_m700_fb_access(struct cpu *cpu, Line 339  int dev_m700_fb_access(struct cpu *cpu,
339  void dev_m700_fb_init(struct machine *machine, struct memory *mem,  void dev_m700_fb_init(struct machine *machine, struct memory *mem,
340          uint64_t baseaddr, uint64_t baseaddr2);          uint64_t baseaddr, uint64_t baseaddr2);
341    
342  /*  dev_ns16550.c:  */  /*  dev_malta.c:  */
343  #define DEV_NS16550_LENGTH              0x0000000000000008  struct malta_data {
344  /*  see comreg.h and ns16550reg.h for more info  */          uint8_t         assert_lo;
345  int dev_ns16550_access(struct cpu *cpu, struct memory *mem,          uint8_t         assert_hi;
346          uint64_t relative_addr, unsigned char *data, size_t len,          uint8_t         disable_lo;
347          int writeflag, void *);          uint8_t         disable_hi;
348  int dev_ns16550_init(struct machine *machine, struct memory *mem,          int             poll_mode;
349          uint64_t baseaddr, int irq_nr, int addrmult, int in_use, char *name);  };
350    
351  /*  dev_mc146818.c:  */  /*  dev_mc146818.c:  */
352  #define DEV_MC146818_LENGTH             0x0000000000000100  #define DEV_MC146818_LENGTH             0x0000000000000100
# Line 344  int dev_pckbc_access(struct cpu *cpu, st Line 373  int dev_pckbc_access(struct cpu *cpu, st
373          int writeflag, void *);          int writeflag, void *);
374  int dev_pckbc_init(struct machine *machine, struct memory *mem,  int dev_pckbc_init(struct machine *machine, struct memory *mem,
375          uint64_t baseaddr, int type, int keyboard_irqnr, int mouse_irqnr,          uint64_t baseaddr, int type, int keyboard_irqnr, int mouse_irqnr,
376          int in_use);          int in_use, int pc_style_flag);
377    
378  /*  dev_pmppc.c:  */  /*  dev_pmppc.c:  */
379  int dev_pmppc_board_access(struct cpu *cpu, struct memory *mem,  int dev_pmppc_board_access(struct cpu *cpu, struct memory *mem,
# Line 524  void dev_ssc_init(struct machine *machin Line 553  void dev_ssc_init(struct machine *machin
553    
554  /*  dev_turbochannel.c:  */  /*  dev_turbochannel.c:  */
555  #define DEV_TURBOCHANNEL_LEN            0x0470  #define DEV_TURBOCHANNEL_LEN            0x0470
556  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,
557  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,
558            int writeflag, void *);
559    void dev_turbochannel_init(struct machine *machine, struct memory *mem,
560            int slot_nr, uint64_t baseaddr, uint64_t endaddr, char *device_name,
561            int irq);
562    
563  /*  dev_vga.c:  */  /*  dev_vga.c:  */
564  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,
565          unsigned char *data, size_t len, int writeflag, void *);          unsigned char *data, size_t len, int writeflag, void *);
566  void dev_vga_init(struct machine *machine, struct memory *mem,  void dev_vga_init(struct machine *machine, struct memory *mem,
567          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);  
568    
569  /*  dev_vr41xx.c:  */  /*  dev_vr41xx.c:  */
570  #define DEV_VR41XX_LENGTH               0x800           /*  TODO?  */  #define DEV_VR41XX_LENGTH               0x800           /*  TODO?  */

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

  ViewVC Help
Powered by ViewVC 1.1.26