Statistics
| Branch: | Revision:

root / hw / sun4m.h @ cf0dbb21

History | View | Annotate | Download (2.8 kB)

1 87ecb68b pbrook
#ifndef SUN4M_H
2 87ecb68b pbrook
#define SUN4M_H
3 87ecb68b pbrook
4 87ecb68b pbrook
/* Devices used by sparc32 system.  */
5 87ecb68b pbrook
6 87ecb68b pbrook
/* iommu.c */
7 87ecb68b pbrook
void *iommu_init(target_phys_addr_t addr, uint32_t version);
8 87ecb68b pbrook
void sparc_iommu_memory_rw(void *opaque, target_phys_addr_t addr,
9 87ecb68b pbrook
                                 uint8_t *buf, int len, int is_write);
10 87ecb68b pbrook
static inline void sparc_iommu_memory_read(void *opaque,
11 87ecb68b pbrook
                                           target_phys_addr_t addr,
12 87ecb68b pbrook
                                           uint8_t *buf, int len)
13 87ecb68b pbrook
{
14 87ecb68b pbrook
    sparc_iommu_memory_rw(opaque, addr, buf, len, 0);
15 87ecb68b pbrook
}
16 87ecb68b pbrook
17 87ecb68b pbrook
static inline void sparc_iommu_memory_write(void *opaque,
18 87ecb68b pbrook
                                            target_phys_addr_t addr,
19 87ecb68b pbrook
                                            uint8_t *buf, int len)
20 87ecb68b pbrook
{
21 87ecb68b pbrook
    sparc_iommu_memory_rw(opaque, addr, buf, len, 1);
22 87ecb68b pbrook
}
23 87ecb68b pbrook
24 87ecb68b pbrook
/* tcx.c */
25 87ecb68b pbrook
void tcx_init(DisplayState *ds, target_phys_addr_t addr, uint8_t *vram_base,
26 87ecb68b pbrook
              unsigned long vram_offset, int vram_size, int width, int height,
27 87ecb68b pbrook
              int depth);
28 87ecb68b pbrook
29 87ecb68b pbrook
/* slavio_intctl.c */
30 87ecb68b pbrook
void *slavio_intctl_init(target_phys_addr_t addr, target_phys_addr_t addrg,
31 87ecb68b pbrook
                         const uint32_t *intbit_to_level,
32 87ecb68b pbrook
                         qemu_irq **irq, qemu_irq **cpu_irq,
33 87ecb68b pbrook
                         qemu_irq **parent_irq, unsigned int cputimer);
34 87ecb68b pbrook
void slavio_pic_info(void *opaque);
35 87ecb68b pbrook
void slavio_irq_info(void *opaque);
36 87ecb68b pbrook
37 87ecb68b pbrook
/* slavio_timer.c */
38 87ecb68b pbrook
void slavio_timer_init_all(target_phys_addr_t base, qemu_irq master_irq,
39 87ecb68b pbrook
                           qemu_irq *cpu_irqs);
40 87ecb68b pbrook
41 87ecb68b pbrook
/* slavio_serial.c */
42 87ecb68b pbrook
SerialState *slavio_serial_init(target_phys_addr_t base, qemu_irq irq,
43 87ecb68b pbrook
                                CharDriverState *chr1, CharDriverState *chr2);
44 87ecb68b pbrook
void slavio_serial_ms_kbd_init(target_phys_addr_t base, qemu_irq irq);
45 87ecb68b pbrook
46 87ecb68b pbrook
/* slavio_misc.c */
47 87ecb68b pbrook
void *slavio_misc_init(target_phys_addr_t base, target_phys_addr_t power_base,
48 87ecb68b pbrook
                       qemu_irq irq);
49 87ecb68b pbrook
void slavio_set_power_fail(void *opaque, int power_failing);
50 87ecb68b pbrook
51 87ecb68b pbrook
/* esp.c */
52 87ecb68b pbrook
void esp_scsi_attach(void *opaque, BlockDriverState *bd, int id);
53 87ecb68b pbrook
void *esp_init(BlockDriverState **bd, target_phys_addr_t espaddr,
54 87ecb68b pbrook
               void *dma_opaque, qemu_irq irq, qemu_irq *reset);
55 87ecb68b pbrook
56 87ecb68b pbrook
/* cs4231.c */
57 87ecb68b pbrook
void cs_init(target_phys_addr_t base, int irq, void *intctl);
58 87ecb68b pbrook
59 87ecb68b pbrook
/* sparc32_dma.c */
60 87ecb68b pbrook
void *sparc32_dma_init(target_phys_addr_t daddr, qemu_irq parent_irq,
61 87ecb68b pbrook
                       void *iommu, qemu_irq **dev_irq, qemu_irq **reset);
62 87ecb68b pbrook
void ledma_memory_read(void *opaque, target_phys_addr_t addr,
63 87ecb68b pbrook
                       uint8_t *buf, int len, int do_bswap);
64 87ecb68b pbrook
void ledma_memory_write(void *opaque, target_phys_addr_t addr,
65 87ecb68b pbrook
                        uint8_t *buf, int len, int do_bswap);
66 87ecb68b pbrook
void espdma_memory_read(void *opaque, uint8_t *buf, int len);
67 87ecb68b pbrook
void espdma_memory_write(void *opaque, uint8_t *buf, int len);
68 87ecb68b pbrook
69 87ecb68b pbrook
/* pcnet.c */
70 87ecb68b pbrook
void lance_init(NICInfo *nd, target_phys_addr_t leaddr, void *dma_opaque,
71 87ecb68b pbrook
                qemu_irq irq, qemu_irq *reset);
72 87ecb68b pbrook
73 87ecb68b pbrook
#endif