sun4m.h 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #ifndef SUN4M_H
  2. #define SUN4M_H
  3. /* Devices used by sparc32 system. */
  4. /* iommu.c */
  5. void *iommu_init(target_phys_addr_t addr, uint32_t version, qemu_irq irq);
  6. void sparc_iommu_memory_rw(void *opaque, target_phys_addr_t addr,
  7. uint8_t *buf, int len, int is_write);
  8. static inline void sparc_iommu_memory_read(void *opaque,
  9. target_phys_addr_t addr,
  10. uint8_t *buf, int len)
  11. {
  12. sparc_iommu_memory_rw(opaque, addr, buf, len, 0);
  13. }
  14. static inline void sparc_iommu_memory_write(void *opaque,
  15. target_phys_addr_t addr,
  16. uint8_t *buf, int len)
  17. {
  18. sparc_iommu_memory_rw(opaque, addr, buf, len, 1);
  19. }
  20. /* tcx.c */
  21. void tcx_init(target_phys_addr_t addr, uint8_t *vram_base,
  22. unsigned long vram_offset, int vram_size, int width, int height,
  23. int depth);
  24. /* slavio_intctl.c */
  25. void *slavio_intctl_init(target_phys_addr_t addr, target_phys_addr_t addrg,
  26. const uint32_t *intbit_to_level,
  27. qemu_irq **irq, qemu_irq **cpu_irq,
  28. qemu_irq **parent_irq, unsigned int cputimer);
  29. void slavio_pic_info(void *opaque);
  30. void slavio_irq_info(void *opaque);
  31. /* sbi.c */
  32. void *sbi_init(target_phys_addr_t addr, qemu_irq **irq, qemu_irq **cpu_irq,
  33. qemu_irq **parent_irq);
  34. /* sun4c_intctl.c */
  35. void *sun4c_intctl_init(target_phys_addr_t addr, qemu_irq **irq,
  36. qemu_irq *parent_irq);
  37. void sun4c_pic_info(void *opaque);
  38. void sun4c_irq_info(void *opaque);
  39. /* slavio_timer.c */
  40. void slavio_timer_init_all(target_phys_addr_t base, qemu_irq master_irq,
  41. qemu_irq *cpu_irqs, unsigned int num_cpus);
  42. /* slavio_misc.c */
  43. void *slavio_misc_init(target_phys_addr_t base, target_phys_addr_t power_base,
  44. target_phys_addr_t aux1_base,
  45. target_phys_addr_t aux2_base, qemu_irq irq,
  46. qemu_irq cpu_halt, qemu_irq **fdc_tc);
  47. void slavio_set_power_fail(void *opaque, int power_failing);
  48. /* cs4231.c */
  49. void cs_init(target_phys_addr_t base, int irq, void *intctl);
  50. /* sparc32_dma.c */
  51. #include "sparc32_dma.h"
  52. /* pcnet.c */
  53. void lance_init(NICInfo *nd, target_phys_addr_t leaddr, void *dma_opaque,
  54. qemu_irq irq, qemu_irq *reset);
  55. /* eccmemctl.c */
  56. void *ecc_init(target_phys_addr_t base, qemu_irq irq, uint32_t version);
  57. #endif