55 uint64_t idata = 0, odata = 0;
56 int bus, dev, func,
reg;
65 switch (relative_addr) {
74 &odata : &idata, len, writeflag);
88 uint64_t pci_io_offset, pci_mem_offset;
89 uint64_t isa_portbase = 0, isa_membase = 0;
90 uint64_t pci_portbase = 0, pci_membase = 0;
91 char pci_irq_base[300];
92 char isa_irq_base[300];
121 pci_io_offset = 0x80000000ULL;
122 pci_mem_offset = 0xc0000000ULL;
123 pci_portbase = 0x00000000ULL;
124 pci_membase = 0x00000000ULL;
125 isa_portbase = 0x80000000ULL;
126 isa_membase = 0xc0000000ULL;
136 snprintf(pci_irq_base,
sizeof(pci_irq_base),
"%s",
138 snprintf(isa_irq_base,
sizeof(isa_irq_base),
"%s",
144 pci_io_offset, pci_mem_offset,
145 pci_portbase, pci_membase, pci_irq_base,
146 isa_portbase, isa_membase, isa_irq_base);
180 default:
fatal(
"unimplemented machine subtype for " 186 default:
fatal(
"unimplemented machine type for eagle\n");
uint64_t memory_readmax64(struct cpu *cpu, unsigned char *buf, int len)
void fatal(const char *fmt,...)
#define BUS_ISA_LPTBASE_3BC
void bus_pci_add(struct machine *machine, struct pci_data *pci_data, struct memory *mem, int bus, int device, int function, const char *name)
#define MACHINE_MVMEPPC_1600
#define CHECK_ALLOCATION(ptr)
void bus_pci_setaddr(struct cpu *cpu, struct pci_data *pci_data, int bus, int device, int function, int reg)
#define INTERRUPT_CONNECT(name, istruct)
struct bus_isa_data * bus_isa_init(struct machine *machine, char *interrupt_base_path, uint32_t bus_isa_flags, uint64_t isa_portbase, uint64_t isa_membase)
void memory_writemax64(struct cpu *cpu, unsigned char *buf, int len, uint64_t data)
void memory_device_register(struct memory *mem, const char *, uint64_t baseaddr, uint64_t len, int(*f)(struct cpu *, struct memory *, uint64_t, unsigned char *, size_t, int, void *), void *extra, int flags, unsigned char *dyntrans_data)
void bus_pci_decompose_1(uint32_t t, int *bus, int *dev, int *func, int *reg)
struct pci_data * bus_pci_init(struct machine *machine, const char *irq_path, uint64_t pci_actual_io_offset, uint64_t pci_actual_mem_offset, uint64_t pci_portbase, uint64_t pci_membase, const char *pci_irqbase, uint64_t isa_portbase, uint64_t isa_membase, const char *isa_irqbase)
struct pci_data * pci_data
void bus_pci_data_access(struct cpu *cpu, struct pci_data *pci_data, uint64_t *data, int len, int writeflag)
#define MEM_PCI_LITTLE_ENDIAN