]>
Commit | Line | Data |
---|---|---|
79383c9c BS |
1 | #ifndef HW_ISA_H |
2 | #define HW_ISA_H | |
f915a115 | 3 | |
87ecb68b PB |
4 | /* ISA bus */ |
5 | ||
32993977 | 6 | #include "ioport.h" |
f915a115 GH |
7 | #include "qdev.h" |
8 | ||
9 | typedef struct ISABus ISABus; | |
10 | typedef struct ISADevice ISADevice; | |
11 | typedef struct ISADeviceInfo ISADeviceInfo; | |
12 | ||
13 | struct ISADevice { | |
14 | DeviceState qdev; | |
2091ba23 | 15 | uint32_t isairq[2]; |
f915a115 GH |
16 | int nirqs; |
17 | }; | |
18 | ||
81a322d4 | 19 | typedef int (*isa_qdev_initfn)(ISADevice *dev); |
f915a115 GH |
20 | struct ISADeviceInfo { |
21 | DeviceInfo qdev; | |
22 | isa_qdev_initfn init; | |
23 | }; | |
24 | ||
25 | ISABus *isa_bus_new(DeviceState *dev); | |
2091ba23 | 26 | void isa_bus_irqs(qemu_irq *irqs); |
3a38d437 | 27 | qemu_irq isa_reserve_irq(int isairq); |
2e15e23b | 28 | void isa_init_irq(ISADevice *dev, qemu_irq *p, int isairq); |
f915a115 | 29 | void isa_qdev_register(ISADeviceInfo *info); |
924f6d72 | 30 | ISADevice *isa_create(const char *name); |
2e15e23b | 31 | ISADevice *isa_create_simple(const char *name); |
87ecb68b | 32 | |
c227f099 | 33 | extern target_phys_addr_t isa_mem_base; |
87ecb68b | 34 | |
84108e12 | 35 | void isa_mmio_init(target_phys_addr_t base, target_phys_addr_t size, int be); |
87ecb68b PB |
36 | |
37 | /* dma.c */ | |
38 | int DMA_get_channel_mode (int nchan); | |
39 | int DMA_read_memory (int nchan, void *buf, int pos, int size); | |
40 | int DMA_write_memory (int nchan, void *buf, int pos, int size); | |
41 | void DMA_hold_DREQ (int nchan); | |
42 | void DMA_release_DREQ (int nchan); | |
43 | void DMA_schedule(int nchan); | |
87ecb68b PB |
44 | void DMA_init (int high_page_enable); |
45 | void DMA_register_channel (int nchan, | |
46 | DMA_transfer_handler transfer_handler, | |
47 | void *opaque); | |
79383c9c | 48 | #endif |