/[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 6 by dpavlin, Mon Oct 8 16:18:11 2007 UTC revision 32 by dpavlin, Mon Oct 8 16:20:58 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.167 2005/05/22 20:05:40 debug Exp $   *  $Id: devices.h,v 1.218 2006/10/02 09:26:53 debug Exp $
32   *   *
33   *  Memory mapped devices.   *  Memory mapped devices.
34   *   *
# Line 43  struct cpu; Line 43  struct cpu;
43  struct machine;  struct machine;
44  struct memory;  struct memory;
45  struct pci_data;  struct pci_data;
46    struct timer;
47    
48  /* #ifdef WITH_X11  /* #ifdef WITH_X11
49  #include <X11/Xlib.h>  #include <X11/Xlib.h>
# Line 76  struct dec_ioasic_data { Line 77  struct dec_ioasic_data {
77  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 *);
78  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);
79    
80    /*  dev_algor.c:  */
81    struct algor_data {
82            uint64_t        base_addr;
83    };
84    
85  /*  dev_asc.c:  */  /*  dev_asc.c:  */
86  #define DEV_ASC_DEC_LENGTH              0x40000  #define DEV_ASC_DEC_LENGTH              0x40000
87  #define DEV_ASC_PICA_LENGTH             0x1000  #define DEV_ASC_PICA_LENGTH             0x1000
# Line 105  struct au1x00_ic_data { Line 111  struct au1x00_ic_data {
111  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 *);
112  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);
113    
114    /*  dev_bebox.c:  */
115    struct bebox_data {
116            /*  The 5 motherboard registers:  */  
117            uint32_t        cpu0_int_mask;
118            uint32_t        cpu1_int_mask;
119            uint32_t        int_status;
120            uint32_t        xpi;
121            uint32_t        resets;
122    };
123    
124  /*  dev_bt431.c:  */  /*  dev_bt431.c:  */
125  #define DEV_BT431_LENGTH                0x20  #define DEV_BT431_LENGTH                0x20
126  #define DEV_BT431_NREGS                 0x800   /*  ?  */  #define DEV_BT431_NREGS                 0x800   /*  ?  */
# Line 133  void dev_bt459_init(struct machine *mach Line 149  void dev_bt459_init(struct machine *mach
149          int color_fb_flag, int irq_nr, int type);          int color_fb_flag, int irq_nr, int type);
150    
151  /*  dev_cons.c:  */  /*  dev_cons.c:  */
152  #define DEV_CONS_ADDRESS                0x0000000010000000  struct cons_data {
153  #define DEV_CONS_LENGTH                 0x0000000000000020          int     console_handle;
154  #define     DEV_CONS_PUTGETCHAR             0x0000          int     irq_nr;
155  #define     DEV_CONS_HALT                   0x0010          int     in_use;
156  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);  
157    
158  /*  dev_colorplanemask.c:  */  /*  dev_colorplanemask.c:  */
159  #define DEV_COLORPLANEMASK_LENGTH       0x0000000000000010  #define DEV_COLORPLANEMASK_LENGTH       0x0000000000000010
# Line 151  int dev_colorplanemask_access(struct cpu Line 163  int dev_colorplanemask_access(struct cpu
163  void dev_colorplanemask_init(struct memory *mem, uint64_t baseaddr,  void dev_colorplanemask_init(struct memory *mem, uint64_t baseaddr,
164          unsigned char *color_plane_mask);          unsigned char *color_plane_mask);
165    
166    /*  dev_cpc700.c:  */
167    struct cpc700_data {
168            struct pci_data *pci_data;
169            uint32_t        sr;     /*  Status register (interrupt)  */
170            uint32_t        er;     /*  Enable register  */
171    };
172    struct cpc700_data *dev_cpc700_init(struct machine *, struct memory *);
173    
174  /*  dev_dc7085.c:  */  /*  dev_dc7085.c:  */
175  #define DEV_DC7085_LENGTH               0x0000000000000080  #define DEV_DC7085_LENGTH               0x0000000000000080
176  /*  see dc7085.h for more info  */  /*  see dc7085.h for more info  */
# Line 178  void dev_deccca_init(struct memory *mem, Line 198  void dev_deccca_init(struct memory *mem,
198  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 *);
199  void dev_decxmi_init(struct memory *mem, uint64_t baseaddr);  void dev_decxmi_init(struct memory *mem, uint64_t baseaddr);
200    
201    /*  dev_eagle.c:  */
202    struct pci_data *dev_eagle_init(struct machine *machine, struct memory *mem,
203            int irqbase, int pciirq);
204    
205  /*  dev_fb.c:  */  /*  dev_fb.c:  */
206  #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 */
207  #define VFB_GENERIC                     0                                                  /*  turbochannel rom,         */
208  #define VFB_HPCMIPS                     1                                                  /*  otherwise size = 4MB      */
209  #define VFB_DEC_VFB01                   2  /*  Type:  */
210  #define VFB_DEC_VFB02                   3  #define VFB_GENERIC             0
211  #define VFB_DEC_MAXINE                  4  #define VFB_HPC                 1
212  #define VFB_PLAYSTATION2                5  #define VFB_DEC_VFB01           2
213    #define VFB_DEC_VFB02           3
214    #define VFB_DEC_MAXINE          4
215    #define VFB_PLAYSTATION2        5
216    /*  Extra flags:  */
217    #define VFB_REVERSE_START       0x10000
218  struct vfb_data {  struct vfb_data {
219            struct memory   *memory;
220          int             vfb_type;          int             vfb_type;
221    
222          int             vfb_scaledown;          int             vfb_scaledown;
# Line 194  struct vfb_data { Line 224  struct vfb_data {
224          int             xsize;          int             xsize;
225          int             ysize;          int             ysize;
226          int             bit_depth;          int             bit_depth;
227          int             color32k;          int             color32k;       /*  hack for 16-bit HPCmips  */
228            int             psp_15bit;      /*  playstation portable hack  */
229    
230          unsigned char   color_plane_mask;          unsigned char   color_plane_mask;
231    
# Line 211  struct vfb_data { Line 242  struct vfb_data {
242          /*  RGB palette for <= 8 bit modes:  (r,g,b bytes for each)  */          /*  RGB palette for <= 8 bit modes:  (r,g,b bytes for each)  */
243          unsigned char   rgb_palette[256 * 3];          unsigned char   rgb_palette[256 * 3];
244    
245            char            *name;
246            char            title[100];
247    
248            void (*redraw_func)(struct vfb_data *, int, int);
249    
250          /*  These should always be in sync:  */          /*  These should always be in sync:  */
251          unsigned char   *framebuffer;          unsigned char   *framebuffer;
252          struct fb_window *fb_window;          struct fb_window *fb_window;
# Line 227  void framebuffer_blockcopyfill(struct vf Line 263  void framebuffer_blockcopyfill(struct vf
263          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,
264          int from_x, int from_y);          int from_x, int from_y);
265  void dev_fb_tick(struct cpu *, void *);  void dev_fb_tick(struct cpu *, void *);
266  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,
267  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 *);
268          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,
269            uint64_t baseaddr, int vfb_type, int visible_xsize, int visible_ysize,
270            int xsize, int ysize, int bit_depth, char *name);
271    
272    /*  dev_footbridge:  */
273    #define N_FOOTBRIDGE_TIMERS             4
274    struct footbridge_data {
275            struct pci_data *pcibus;
276    
277            int             console_handle;
278    
279            int             timer_tick_countdown[N_FOOTBRIDGE_TIMERS];
280            uint32_t        timer_load[N_FOOTBRIDGE_TIMERS];
281            uint32_t        timer_value[N_FOOTBRIDGE_TIMERS];
282            uint32_t        timer_control[N_FOOTBRIDGE_TIMERS];
283    
284            struct timer    *timer[N_FOOTBRIDGE_TIMERS];
285            int             pending_timer_interrupts[N_FOOTBRIDGE_TIMERS];
286    
287            uint32_t        irq_status;
288            uint32_t        irq_enable;
289    
290            uint32_t        fiq_status;
291            uint32_t        fiq_enable;
292    };
293    
294    /*  dev_gc.c:  */
295    struct gc_data {
296            int             reassert_irq;
297            uint32_t        status_hi;
298            uint32_t        status_lo;
299            uint32_t        enable_hi;
300            uint32_t        enable_lo;
301    };
302    struct gc_data *dev_gc_init(struct machine *, struct memory *, uint64_t addr,
303            int reassert_irq);
304    
305  /*  dev_gt.c:  */  /*  dev_gt.c:  */
306  #define DEV_GT_LENGTH                   0x0000000000001000  #define DEV_GT_LENGTH                   0x1000
307  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,
308  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 *);
309    struct pci_data *dev_gt_init(struct machine *machine, struct memory *mem,
310            uint64_t baseaddr, int irq_nr, int pciirq, int type);
311    
312    /*  dev_i80321.c:  */
313    struct i80321_data {
314            /*  Interrupt Controller  */
315            int             reassert_irq;
316            uint32_t        status;
317            uint32_t        enable;
318    
319            uint32_t        pci_addr;
320            struct pci_data *pci_bus;
321    
322            /*  Memory Controller:  */
323            uint32_t        mcu_reg[0x100 / sizeof(uint32_t)];
324    };
325    
326  /*  dev_jazz.c:  */  /*  dev_jazz.c:  */
327  #define DEV_JAZZ_LENGTH                 0x280  #define DEV_JAZZ_LENGTH                 0x280
# Line 289  void dev_vdac_init(struct memory *mem, u Line 376  void dev_vdac_init(struct memory *mem, u
376  /*  dev_kn02.c:  */  /*  dev_kn02.c:  */
377  struct kn02_csr {  struct kn02_csr {
378          uint8_t         csr[sizeof(uint32_t)];          uint8_t         csr[sizeof(uint32_t)];
379          uint8_t         filler[4096 - sizeof(uint32_t)];  /*  for bintrans mapping  */          uint8_t         filler[4096 - sizeof(uint32_t)];  /*  for dyntrans mapping  */
380  };  };
381  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 *);
382  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 325  int dev_m700_fb_access(struct cpu *cpu, Line 412  int dev_m700_fb_access(struct cpu *cpu,
412  void dev_m700_fb_init(struct machine *machine, struct memory *mem,  void dev_m700_fb_init(struct machine *machine, struct memory *mem,
413          uint64_t baseaddr, uint64_t baseaddr2);          uint64_t baseaddr, uint64_t baseaddr2);
414    
415  /*  dev_ns16550.c:  */  /*  dev_malta.c:  */
416  #define DEV_NS16550_LENGTH              0x0000000000000008  struct malta_data {
417  /*  see comreg.h and ns16550reg.h for more info  */          uint8_t         assert_lo;
418  int dev_ns16550_access(struct cpu *cpu, struct memory *mem,          uint8_t         assert_hi;
419          uint64_t relative_addr, unsigned char *data, size_t len,          uint8_t         disable_lo;
420          int writeflag, void *);          uint8_t         disable_hi;
421  int dev_ns16550_init(struct machine *machine, struct memory *mem,          int             poll_mode;
422          uint64_t baseaddr, int irq_nr, int addrmult, int in_use, char *name);  };
423    
424  /*  dev_mc146818.c:  */  /*  dev_mc146818.c:  */
425  #define DEV_MC146818_LENGTH             0x0000000000000100  #define DEV_MC146818_LENGTH             0x0000000000000100
# Line 341  int dev_ns16550_init(struct machine *mac Line 428  int dev_ns16550_init(struct machine *mac
428  #define MC146818_ARC_NEC        2  #define MC146818_ARC_NEC        2
429  #define MC146818_ARC_JAZZ       3  #define MC146818_ARC_JAZZ       3
430  #define MC146818_SGI            4  #define MC146818_SGI            4
431    #define MC146818_CATS           5
432    #define MC146818_ALGOR          6
433    #define MC146818_PMPPC          7
434  /*  see mc146818reg.h for more info  */  /*  see mc146818reg.h for more info  */
435  void dev_mc146818_tick(struct cpu *cpu, void *);  void dev_mc146818_tick(struct cpu *cpu, void *);
436  int dev_mc146818_access(struct cpu *cpu, struct memory *mem,  int dev_mc146818_access(struct cpu *cpu, struct memory *mem,
# Line 402  struct ps2_data *dev_ps2_stuff_init(stru Line 492  struct ps2_data *dev_ps2_stuff_init(stru
492  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 *);
493  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);
494    
495    /*  dev_prep.c:  */
496    struct prep_data {
497            uint32_t        int_status;
498    };
499    
500  /*  dev_px.c:  */  /*  dev_px.c:  */
501  struct px_data {  struct px_data {
502          struct memory   *fb_mem;          struct memory   *fb_mem;
# Line 422  struct px_data { Line 517  struct px_data {
517  #define DEV_PX_TYPE_PXGPLUS             2  #define DEV_PX_TYPE_PXGPLUS             2
518  #define DEV_PX_TYPE_PXGPLUSTURBO        3  #define DEV_PX_TYPE_PXGPLUSTURBO        3
519  #define DEV_PX_LENGTH                   0x3c0000  #define DEV_PX_LENGTH                   0x3c0000
520  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,
521  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 *);
522    void dev_px_init(struct machine *machine, struct memory *mem, uint64_t baseaddr,
523            int px_type, int irq_nr);
524    
525  /*  dev_ram.c:  */  /*  dev_ram.c:  */
526  #define DEV_RAM_RAM             0  #define DEV_RAM_RAM                             0
527  #define DEV_RAM_MIRROR          1  #define DEV_RAM_MIRROR                          1
528  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
529  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,
530            unsigned char *data, size_t len, int writeflag, void *);
531    void dev_ram_init(struct machine *machine, uint64_t baseaddr, uint64_t length,
532            int mode, uint64_t otheraddr);
533    
534  /*  dev_scc.c:  */  /*  dev_scc.c:  */
535  #define DEV_SCC_LENGTH                  0x1000  #define DEV_SCC_LENGTH                  0x1000
536  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,
537  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 *);
538  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,
539            size_t dma_len, int tx);
540    void *dev_scc_init(struct machine *machine, struct memory *mem,
541            uint64_t baseaddr, int irq_nr, int use_fb, int scc_nr, int addrmul);
542    
543  /*  dev_sfb.c:  */  /*  dev_sfb.c:  */
544  #define DEV_SFB_LENGTH          0x400000  #define DEV_SFB_LENGTH          0x400000
545  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,
546  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 *);
547    void dev_sfb_init(struct machine *machine, struct memory *mem,
548            uint64_t baseaddr, struct vfb_data *vfb_data);
549    
550  /*  dev_sgi_gbe.c:  */  /*  dev_sgi_gbe.c:  */
551  #define DEV_SGI_GBE_LENGTH              0x1000000  #define DEV_SGI_GBE_LENGTH              0x1000000
552  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,
553  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,
554            void *);
555    void dev_sgi_gbe_init(struct machine *machine, struct memory *mem,
556            uint64_t baseaddr);
557    
558  /*  dev_sgi_ip20.c:  */  /*  dev_sgi_ip20.c:  */
559  #define DEV_SGI_IP20_LENGTH             0x40  #define DEV_SGI_IP20_LENGTH             0x40
# Line 515  int dev_mace_access(struct cpu *cpu, str Line 623  int dev_mace_access(struct cpu *cpu, str
623  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);
624  #define DEV_MACEPCI_LENGTH              0x1000  #define DEV_MACEPCI_LENGTH              0x1000
625  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 *);
626  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);
627  #define DEV_SGI_MEC_LENGTH              0x1000  #define DEV_SGI_MEC_LENGTH              0x1000
628  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 *);
629  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 546  void dev_turbochannel_init(struct machin Line 654  void dev_turbochannel_init(struct machin
654          int slot_nr, uint64_t baseaddr, uint64_t endaddr, char *device_name,          int slot_nr, uint64_t baseaddr, uint64_t endaddr, char *device_name,
655          int irq);          int irq);
656    
657    /*  dev_uninorth.c:  */
658    struct pci_data *dev_uninorth_init(struct machine *machine, struct memory *mem,
659            uint64_t addr, int irqbase, int pciirq);
660    
661    /*  dev_v3.c:  */
662    struct v3_data {
663            struct pci_data *pci_data;
664            uint16_t        lb_map0;
665    };
666    struct v3_data *dev_v3_init(struct machine *, struct memory *);
667    
668  /*  dev_vga.c:  */  /*  dev_vga.c:  */
669  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,
670          unsigned char *data, size_t len, int writeflag, void *);          unsigned char *data, size_t len, int writeflag, void *);
# Line 558  struct vr41xx_data { Line 677  struct vr41xx_data {
677          int             cpumodel;          int             cpumodel;
678    
679          int             kiu_console_handle;          int             kiu_console_handle;
680          int             kiu_offset;          uint32_t        kiu_offset;
681          int             kiu_irq_nr;          int             kiu_irq_nr;
682          int             kiu_int_assert;          int             kiu_int_assert;
683          int             d0;          int             d0;
# Line 570  struct vr41xx_data { Line 689  struct vr41xx_data {
689          int             dont_clear_next;          int             dont_clear_next;
690          int             escape_state;          int             escape_state;
691    
692            int             pending_timer_interrupts;
693            struct timer    *timer;
694    
695          /*  See icureg.h in NetBSD for more info.  */          /*  See icureg.h in NetBSD for more info.  */
696          uint16_t        sysint1;          uint16_t        sysint1;
697          uint16_t        msysint1;          uint16_t        msysint1;
# Line 585  int dev_vr41xx_access(struct cpu *cpu, s Line 707  int dev_vr41xx_access(struct cpu *cpu, s
707  struct vr41xx_data *dev_vr41xx_init(struct machine *machine,  struct vr41xx_data *dev_vr41xx_init(struct machine *machine,
708          struct memory *mem, int cpumodel);          struct memory *mem, int cpumodel);
709    
 /*  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);  
   
710  /*  dev_wdsc.c:  */  /*  dev_wdsc.c:  */
711  #define DEV_WDSC_NREGS                  0x100           /*  8-bit register select  */  #define DEV_WDSC_NREGS                  0x100           /*  8-bit register select  */
712  #define DEV_WDSC_LENGTH                 0x10  #define DEV_WDSC_LENGTH                 0x10
713  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 *);
714  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);
715    
 /*  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);  
   
716  /*  lk201.c:  */  /*  lk201.c:  */
717  struct lk201_data {  struct lk201_data {
718          int                     use_fb;          int                     use_fb;
# Line 617  struct lk201_data { Line 727  struct lk201_data {
727          int                     mouse_mode;          int                     mouse_mode;
728          int                     mouse_revision;         /*  0..15  */            int                     mouse_revision;         /*  0..15  */  
729          int                     mouse_x, mouse_y, mouse_buttons;          int                     mouse_x, mouse_y, mouse_buttons;
   
         int                     old_host_mouse_x;  
         int                     old_host_mouse_y;  
         int                     old_host_mouse_stays_put;  
         int                     mouse_check_interval;  
         int                     mouse_check_interval_reset;  
730  };  };
731  void lk201_tick(struct lk201_data *);  void lk201_tick(struct machine *, struct lk201_data *);
732  void lk201_tx_data(struct lk201_data *, int port, int idata);  void lk201_tx_data(struct lk201_data *, int port, int idata);
733  void lk201_init(struct lk201_data *d, int use_fb,  void lk201_init(struct lk201_data *d, int use_fb,
734          void (*add_to_rx_queue)(void *,int,int), int console_handle, void *);          void (*add_to_rx_queue)(void *,int,int), int console_handle, void *);

Legend:
Removed from v.6  
changed lines
  Added in v.32

  ViewVC Help
Powered by ViewVC 1.1.26