mirror of https://gitee.com/openkylin/qemu.git
Fix broken TCX vram, restore Sun4u PROM_SIZE_MAX
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4263 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
88fdf56f2a
commit
ac2e9d66b2
31
hw/sun4m.c
31
hw/sun4m.c
|
@ -76,6 +76,9 @@
|
|||
#define PROM_VADDR 0xffd00000
|
||||
#define PROM_FILENAME "openbios-sparc32"
|
||||
|
||||
// Control plane, 8-bit and 24-bit planes
|
||||
#define TCX_SIZE (9 * 1024 * 1024)
|
||||
|
||||
#define MAX_CPUS 16
|
||||
#define MAX_PILS 16
|
||||
|
||||
|
@ -1213,70 +1216,70 @@ QEMUMachine ss5_machine = {
|
|||
"SS-5",
|
||||
"Sun4m platform, SPARCstation 5",
|
||||
ss5_init,
|
||||
PROM_SIZE_MAX + 0x00100000,
|
||||
PROM_SIZE_MAX + TCX_SIZE,
|
||||
};
|
||||
|
||||
QEMUMachine ss10_machine = {
|
||||
"SS-10",
|
||||
"Sun4m platform, SPARCstation 10",
|
||||
ss10_init,
|
||||
PROM_SIZE_MAX + 0x00100000,
|
||||
PROM_SIZE_MAX + TCX_SIZE,
|
||||
};
|
||||
|
||||
QEMUMachine ss600mp_machine = {
|
||||
"SS-600MP",
|
||||
"Sun4m platform, SPARCserver 600MP",
|
||||
ss600mp_init,
|
||||
PROM_SIZE_MAX + 0x00100000,
|
||||
PROM_SIZE_MAX + TCX_SIZE,
|
||||
};
|
||||
|
||||
QEMUMachine ss20_machine = {
|
||||
"SS-20",
|
||||
"Sun4m platform, SPARCstation 20",
|
||||
ss20_init,
|
||||
PROM_SIZE_MAX + 0x00100000,
|
||||
PROM_SIZE_MAX + TCX_SIZE,
|
||||
};
|
||||
|
||||
QEMUMachine ss2_machine = {
|
||||
"SS-2",
|
||||
"Sun4c platform, SPARCstation 2",
|
||||
ss2_init,
|
||||
PROM_SIZE_MAX + 0x00100000,
|
||||
PROM_SIZE_MAX + TCX_SIZE,
|
||||
};
|
||||
|
||||
QEMUMachine voyager_machine = {
|
||||
"Voyager",
|
||||
"Sun4m platform, SPARCstation Voyager",
|
||||
vger_init,
|
||||
PROM_SIZE_MAX + 0x00100000,
|
||||
PROM_SIZE_MAX + TCX_SIZE,
|
||||
};
|
||||
|
||||
QEMUMachine ss_lx_machine = {
|
||||
"LX",
|
||||
"Sun4m platform, SPARCstation LX",
|
||||
ss_lx_init,
|
||||
PROM_SIZE_MAX + 0x00100000,
|
||||
PROM_SIZE_MAX + TCX_SIZE,
|
||||
};
|
||||
|
||||
QEMUMachine ss4_machine = {
|
||||
"SS-4",
|
||||
"Sun4m platform, SPARCstation 4",
|
||||
ss4_init,
|
||||
PROM_SIZE_MAX + 0x00100000,
|
||||
PROM_SIZE_MAX + TCX_SIZE,
|
||||
};
|
||||
|
||||
QEMUMachine scls_machine = {
|
||||
"SPARCClassic",
|
||||
"Sun4m platform, SPARCClassic",
|
||||
scls_init,
|
||||
PROM_SIZE_MAX + 0x00100000,
|
||||
PROM_SIZE_MAX + TCX_SIZE,
|
||||
};
|
||||
|
||||
QEMUMachine sbook_machine = {
|
||||
"SPARCbook",
|
||||
"Sun4m platform, SPARCbook",
|
||||
sbook_init,
|
||||
PROM_SIZE_MAX + 0x00100000,
|
||||
PROM_SIZE_MAX + TCX_SIZE,
|
||||
};
|
||||
|
||||
static const struct sun4d_hwdef sun4d_hwdefs[] = {
|
||||
|
@ -1300,7 +1303,7 @@ static const struct sun4d_hwdef sun4d_hwdefs[] = {
|
|||
.ledma_base = 0x800040000ULL,
|
||||
.le_base = 0x800060000ULL,
|
||||
.sbi_base = 0xf02800000ULL,
|
||||
.vram_size = 0x00100000,
|
||||
.vram_size = TCX_SIZE,
|
||||
.nvram_size = 0x2000,
|
||||
.esp_irq = 3,
|
||||
.le_irq = 4,
|
||||
|
@ -1333,7 +1336,7 @@ static const struct sun4d_hwdef sun4d_hwdefs[] = {
|
|||
.ledma_base = 0x800040000ULL,
|
||||
.le_base = 0x800060000ULL,
|
||||
.sbi_base = 0xf02800000ULL,
|
||||
.vram_size = 0x00100000,
|
||||
.vram_size = TCX_SIZE,
|
||||
.nvram_size = 0x2000,
|
||||
.esp_irq = 3,
|
||||
.le_irq = 4,
|
||||
|
@ -1513,12 +1516,12 @@ QEMUMachine ss1000_machine = {
|
|||
"SS-1000",
|
||||
"Sun4d platform, SPARCserver 1000",
|
||||
ss1000_init,
|
||||
PROM_SIZE_MAX + 0x00100000,
|
||||
PROM_SIZE_MAX + TCX_SIZE,
|
||||
};
|
||||
|
||||
QEMUMachine ss2000_machine = {
|
||||
"SS-2000",
|
||||
"Sun4d platform, SPARCcenter 2000",
|
||||
ss2000_init,
|
||||
PROM_SIZE_MAX + 0x00100000,
|
||||
PROM_SIZE_MAX + TCX_SIZE,
|
||||
};
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
#define KERNEL_LOAD_ADDR 0x00404000
|
||||
#define CMDLINE_ADDR 0x003ff000
|
||||
#define INITRD_LOAD_ADDR 0x00300000
|
||||
#define PROM_SIZE_MAX (512 * 1024)
|
||||
#define PROM_SIZE_MAX (4 * 1024 * 1024)
|
||||
#define PROM_ADDR 0x1fff0000000ULL
|
||||
#define PROM_VADDR 0x000ffd00000ULL
|
||||
#define APB_SPECIAL_BASE 0x1fe00000000ULL
|
||||
|
|
Loading…
Reference in New Issue