37 |
// bits |
// bits |
38 |
#define PHYS_JJ_IOMMU 0x10000000 /* I/O MMU */ |
#define PHYS_JJ_IOMMU 0x10000000 /* I/O MMU */ |
39 |
#define PHYS_JJ_TCX_FB 0x50000000 /* TCX frame buffer */ |
#define PHYS_JJ_TCX_FB 0x50000000 /* TCX frame buffer */ |
40 |
|
#define PHYS_JJ_SLAVIO 0x70000000 /* Slavio base */ |
41 |
#define PHYS_JJ_ESPDMA 0x78400000 /* ESP DMA controller */ |
#define PHYS_JJ_ESPDMA 0x78400000 /* ESP DMA controller */ |
42 |
#define PHYS_JJ_ESP 0x78800000 /* ESP SCSI */ |
#define PHYS_JJ_ESP 0x78800000 /* ESP SCSI */ |
43 |
#define PHYS_JJ_ESP_IRQ 18 |
#define PHYS_JJ_ESP_IRQ 18 |
56 |
#define PHYS_JJ_SER_IRQ 15 |
#define PHYS_JJ_SER_IRQ 15 |
57 |
#define PHYS_JJ_FDC 0x71400000 /* Floppy */ |
#define PHYS_JJ_FDC 0x71400000 /* Floppy */ |
58 |
#define PHYS_JJ_FLOPPY_IRQ 22 |
#define PHYS_JJ_FLOPPY_IRQ 22 |
59 |
|
#define PHYS_JJ_ME_IRQ 30 /* Module error, power fail */ |
60 |
|
|
61 |
/* TSC handling */ |
/* TSC handling */ |
62 |
|
|
204 |
return iommu_translate_local(iommu, addr); |
return iommu_translate_local(iommu, addr); |
205 |
} |
} |
206 |
|
|
207 |
|
static void *slavio_misc; |
208 |
|
|
209 |
|
void qemu_system_powerdown(void) |
210 |
|
{ |
211 |
|
slavio_set_power_fail(slavio_misc, 1); |
212 |
|
} |
213 |
|
|
214 |
/* Sun4m hardware initialisation */ |
/* Sun4m hardware initialisation */ |
215 |
static void sun4m_init(int ram_size, int vga_ram_size, int boot_device, |
static void sun4m_init(int ram_size, int vga_ram_size, int boot_device, |
216 |
DisplayState *ds, const char **fd_filename, int snapshot, |
DisplayState *ds, const char **fd_filename, int snapshot, |
239 |
slavio_serial_init(PHYS_JJ_SER, PHYS_JJ_SER_IRQ, serial_hds[1], serial_hds[0]); |
slavio_serial_init(PHYS_JJ_SER, PHYS_JJ_SER_IRQ, serial_hds[1], serial_hds[0]); |
240 |
fdctrl_init(PHYS_JJ_FLOPPY_IRQ, 0, 1, PHYS_JJ_FDC, fd_table); |
fdctrl_init(PHYS_JJ_FLOPPY_IRQ, 0, 1, PHYS_JJ_FDC, fd_table); |
241 |
esp_init(bs_table, PHYS_JJ_ESP_IRQ, PHYS_JJ_ESP, PHYS_JJ_ESPDMA); |
esp_init(bs_table, PHYS_JJ_ESP_IRQ, PHYS_JJ_ESP, PHYS_JJ_ESPDMA); |
242 |
|
slavio_misc = slavio_misc_init(PHYS_JJ_SLAVIO, PHYS_JJ_ME_IRQ); |
243 |
|
|
244 |
prom_offset = ram_size + vram_size; |
prom_offset = ram_size + vram_size; |
245 |
|
|