root / hw / isa.h @ f915a115
History | View | Annotate | Download (1.3 kB)
1 |
#ifndef HW_ISA_H
|
---|---|
2 |
#define HW_ISA_H
|
3 |
|
4 |
/* ISA bus */
|
5 |
|
6 |
#include "ioport.h" |
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; |
15 |
uint32_t iobase[2];
|
16 |
qemu_irq *irqs[2];
|
17 |
int nirqs;
|
18 |
}; |
19 |
|
20 |
typedef void (*isa_qdev_initfn)(ISADevice *dev); |
21 |
struct ISADeviceInfo {
|
22 |
DeviceInfo qdev; |
23 |
isa_qdev_initfn init; |
24 |
}; |
25 |
|
26 |
ISABus *isa_bus_new(DeviceState *dev); |
27 |
void isa_connect_irq(ISADevice *dev, int n, qemu_irq irq); |
28 |
void isa_init_irq(ISADevice *dev, qemu_irq *p);
|
29 |
void isa_qdev_register(ISADeviceInfo *info);
|
30 |
ISADevice *isa_create_simple(const char *name, uint32_t iobase, uint32_t iobase2); |
31 |
|
32 |
extern target_phys_addr_t isa_mem_base;
|
33 |
|
34 |
void isa_mmio_init(target_phys_addr_t base, target_phys_addr_t size);
|
35 |
|
36 |
/* dma.c */
|
37 |
int DMA_get_channel_mode (int nchan); |
38 |
int DMA_read_memory (int nchan, void *buf, int pos, int size); |
39 |
int DMA_write_memory (int nchan, void *buf, int pos, int size); |
40 |
void DMA_hold_DREQ (int nchan); |
41 |
void DMA_release_DREQ (int nchan); |
42 |
void DMA_schedule(int nchan); |
43 |
void DMA_init (int high_page_enable); |
44 |
void DMA_register_channel (int nchan, |
45 |
DMA_transfer_handler transfer_handler, |
46 |
void *opaque);
|
47 |
#endif
|