/[gxemul]/trunk/src/include/device.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/device.h

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

revision 12 by dpavlin, Mon Oct 8 16:18:38 2007 UTC revision 32 by dpavlin, Mon Oct 8 16:20:58 2007 UTC
# Line 2  Line 2 
2  #define DEVICE_H  #define DEVICE_H
3    
4  /*  /*
5   *  Copyright (C) 2005  Anders Gavare.  All rights reserved.   *  Copyright (C) 2005-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: device.h,v 1.9 2005/08/05 09:11:49 debug Exp $   *  $Id: device.h,v 1.18 2006/09/05 06:13:27 debug Exp $
32   *   *
33   *  Device registry.  (See device.c for more info.)   *  Device registry.  (See device.c for more info.)
34   */   */
35    
36  #include "misc.h"  #include "misc.h"
37    #include "bus_pci.h"
38    
39  struct machine;  struct machine;
40    
# Line 43  struct devinit { Line 44  struct devinit {
44          char            *name2;         /*  e.g. "secondary serial port"  */          char            *name2;         /*  e.g. "secondary serial port"  */
45    
46          uint64_t        addr;           /*  Device base address  */          uint64_t        addr;           /*  Device base address  */
47            uint64_t        addr2;          /*  Secondary address (optional)  */
48          uint64_t        len;          uint64_t        len;
49          int             irq_nr;          int             irq_nr;
50            int             dma_irq_nr;
51          int             in_use;          int             in_use;
52          int             addr_mult;          int             addr_mult;
53            int             pci_little_endian;
54    
55          void            *return_ptr;          void            *return_ptr;
56  };  };
# Line 56  struct device_entry { Line 60  struct device_entry {
60          int             (*initf)(struct devinit *);          int             (*initf)(struct devinit *);
61  };  };
62    
63    struct pci_entry {
64            char            *name;
65            void            (*initf)(struct machine *, struct memory *,
66                                struct pci_device *);
67    };
68    
69    #define DEVINIT(name)           int devinit_ ## name (struct devinit *devinit)
70    
71  /*  autodev.c: (built automatically in the devices/ directory):  */  /*  autodev.c: (built automatically in the devices/ directory):  */
72  void autodev_init(void);  void autodev_init(void);
73    
# Line 68  void device_dumplist(void); Line 80  void device_dumplist(void);
80  void device_set_exit_on_error(int exit_on_error);  void device_set_exit_on_error(int exit_on_error);
81  void device_init(void);  void device_init(void);
82    
83    /*  PCI stuff:  (TODO: move somewhere else?)  */
84    int pci_register(char *name, void (*initf)(struct machine *, struct memory *,
85            struct pci_device *));
86    void (*pci_lookup_initf(const char *name))(struct machine *machine,
87            struct memory *mem, struct pci_device *pd);
88    
89  #endif  /*  CONSOLE_H  */  #endif  /*  DEVICE_H  */

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

  ViewVC Help
Powered by ViewVC 1.1.26