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

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

revision 21 by dpavlin, Mon Oct 8 16:19:23 2007 UTC revision 22 by dpavlin, Mon Oct 8 16:19:37 2007 UTC
# Line 2  Line 2 
2  #define BUS_PCI_H  #define BUS_PCI_H
3    
4  /*  /*
5   *  Copyright (C) 2004-2005  Anders Gavare.  All rights reserved.   *  Copyright (C) 2004-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: bus_pci.h,v 1.23 2005/11/23 23:31:37 debug Exp $   *  $Id: bus_pci.h,v 1.29 2006/02/18 13:15:21 debug Exp $
32   */   */
33    
34  #include "misc.h"  #include "misc.h"
# Line 70  struct pci_data { Line 70  struct pci_data {
70          uint64_t        cur_pci_portbase;          uint64_t        cur_pci_portbase;
71          uint64_t        cur_pci_membase;          uint64_t        cur_pci_membase;
72    
73          /*  Current (indirect) addr/data access:  */          /*  Current register access:  */
74          uint32_t        pci_addr;          int             cur_bus, cur_device, cur_func, cur_reg;
75          int             last_was_write_ffffffff;          int             last_was_write_ffffffff;
76    
77          struct pci_device *first_device;          struct pci_device *first_device;
# Line 86  struct pci_device { Line 86  struct pci_device {
86          int                     bus, device, function;          int                     bus, device, function;
87          unsigned char           cfg_mem[PCI_CFG_MEM_SIZE];          unsigned char           cfg_mem[PCI_CFG_MEM_SIZE];
88          unsigned char           cfg_mem_size[PCI_CFG_MEM_SIZE];          unsigned char           cfg_mem_size[PCI_CFG_MEM_SIZE];
89            int                     cur_mapreg_offset;
90  };  };
91    
92  #define PCIINIT(name)   void pciinit_ ## name(struct machine *machine,  \  #define PCIINIT(name)   void pciinit_ ## name(struct machine *machine,  \
# Line 114  struct pci_device { Line 115  struct pci_device {
115  #define BUS_PCI_DATA    0xcfc  #define BUS_PCI_DATA    0xcfc
116    
117    
118  /*  bus_pci.c:  */  /*
119  int bus_pci_access(struct cpu *cpu, struct memory *mem, uint64_t relative_addr,   *  bus_pci.c:
120          uint64_t *data, int len, int writeflag, struct pci_data *pci_data);   */
121  void bus_pci_add(struct machine *machine, struct pci_data *pci_data,  
122          struct memory *mem, int bus, int device, int function, char *name);  /*  Run-time access:  */
123  struct pci_data *bus_pci_init(int irq_nr,  void bus_pci_decompose_1(uint32_t t, int *bus, int *dev, int *func, int *reg);
124    void bus_pci_setaddr(struct cpu *cpu, struct pci_data *pci_data,
125            int bus, int device, int function, int reg);
126    void bus_pci_data_access(struct cpu *cpu, struct pci_data *pci_data,
127            uint64_t *data, int len, int writeflag);
128    
129    /*  Initialization:  */
130    struct pci_data *bus_pci_init(struct machine *machine, int irq_nr,
131          uint64_t pci_actual_io_offset, uint64_t pci_actual_mem_offset,          uint64_t pci_actual_io_offset, uint64_t pci_actual_mem_offset,
132          uint64_t pci_portbase, uint64_t pci_membase, int pci_irqbase,          uint64_t pci_portbase, uint64_t pci_membase, int pci_irqbase,
133          uint64_t isa_portbase, uint64_t isa_membase, int isa_irqbase);          uint64_t isa_portbase, uint64_t isa_membase, int isa_irqbase);
134    void bus_pci_add(struct machine *machine, struct pci_data *pci_data,
135            struct memory *mem, int bus, int device, int function,
136            const char *name);
137    
138    
139  #endif  /*  BUS_PCI_H  */  #endif  /*  BUS_PCI_H  */

Legend:
Removed from v.21  
changed lines
  Added in v.22

  ViewVC Help
Powered by ViewVC 1.1.26