]> git.proxmox.com Git - qemu.git/blame - hw/sun4m.h
Initial support for Sun4d machines (SS-1000, SS-2000)
[qemu.git] / hw / sun4m.h
CommitLineData
87ecb68b
PB
1#ifndef SUN4M_H
2#define SUN4M_H
3
4/* Devices used by sparc32 system. */
5
6/* iommu.c */
7void *iommu_init(target_phys_addr_t addr, uint32_t version);
8void sparc_iommu_memory_rw(void *opaque, target_phys_addr_t addr,
9 uint8_t *buf, int len, int is_write);
10static inline void sparc_iommu_memory_read(void *opaque,
11 target_phys_addr_t addr,
12 uint8_t *buf, int len)
13{
14 sparc_iommu_memory_rw(opaque, addr, buf, len, 0);
15}
16
17static inline void sparc_iommu_memory_write(void *opaque,
18 target_phys_addr_t addr,
19 uint8_t *buf, int len)
20{
21 sparc_iommu_memory_rw(opaque, addr, buf, len, 1);
22}
23
24/* tcx.c */
25void tcx_init(DisplayState *ds, target_phys_addr_t addr, uint8_t *vram_base,
26 unsigned long vram_offset, int vram_size, int width, int height,
27 int depth);
28
29/* slavio_intctl.c */
30void *slavio_intctl_init(target_phys_addr_t addr, target_phys_addr_t addrg,
31 const uint32_t *intbit_to_level,
32 qemu_irq **irq, qemu_irq **cpu_irq,
33 qemu_irq **parent_irq, unsigned int cputimer);
34void slavio_pic_info(void *opaque);
35void slavio_irq_info(void *opaque);
36
7d85892b
BS
37/* sbi.c */
38void *sbi_init(target_phys_addr_t addr, qemu_irq **irq, qemu_irq **cpu_irq,
39 qemu_irq **parent_irq);
40
87ecb68b
PB
41/* slavio_timer.c */
42void slavio_timer_init_all(target_phys_addr_t base, qemu_irq master_irq,
19f8e5dd 43 qemu_irq *cpu_irqs, unsigned int num_cpus);
87ecb68b
PB
44
45/* slavio_serial.c */
46SerialState *slavio_serial_init(target_phys_addr_t base, qemu_irq irq,
47 CharDriverState *chr1, CharDriverState *chr2);
577390ff
BS
48void slavio_serial_ms_kbd_init(target_phys_addr_t base, qemu_irq irq,
49 int disabled);
87ecb68b
PB
50
51/* slavio_misc.c */
52void *slavio_misc_init(target_phys_addr_t base, target_phys_addr_t power_base,
53 qemu_irq irq);
54void slavio_set_power_fail(void *opaque, int power_failing);
55
56/* esp.c */
e4bcb14c 57#define ESP_MAX_DEVS 7
87ecb68b 58void esp_scsi_attach(void *opaque, BlockDriverState *bd, int id);
e4bcb14c 59void *esp_init(target_phys_addr_t espaddr,
87ecb68b
PB
60 void *dma_opaque, qemu_irq irq, qemu_irq *reset);
61
62/* cs4231.c */
63void cs_init(target_phys_addr_t base, int irq, void *intctl);
64
65/* sparc32_dma.c */
66void *sparc32_dma_init(target_phys_addr_t daddr, qemu_irq parent_irq,
67 void *iommu, qemu_irq **dev_irq, qemu_irq **reset);
68void ledma_memory_read(void *opaque, target_phys_addr_t addr,
69 uint8_t *buf, int len, int do_bswap);
70void ledma_memory_write(void *opaque, target_phys_addr_t addr,
71 uint8_t *buf, int len, int do_bswap);
72void espdma_memory_read(void *opaque, uint8_t *buf, int len);
73void espdma_memory_write(void *opaque, uint8_t *buf, int len);
74
75/* pcnet.c */
76void lance_init(NICInfo *nd, target_phys_addr_t leaddr, void *dma_opaque,
77 qemu_irq irq, qemu_irq *reset);
78
7eb0c8e8
BS
79/* eccmemctl.c */
80void *ecc_init(target_phys_addr_t base, uint32_t version);
81
87ecb68b 82#endif