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:
blueswir1 2008-04-27 15:29:18 +00:00
parent 88fdf56f2a
commit ac2e9d66b2
2 changed files with 18 additions and 15 deletions

View File

@ -76,6 +76,9 @@
#define PROM_VADDR 0xffd00000 #define PROM_VADDR 0xffd00000
#define PROM_FILENAME "openbios-sparc32" #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_CPUS 16
#define MAX_PILS 16 #define MAX_PILS 16
@ -1213,70 +1216,70 @@ QEMUMachine ss5_machine = {
"SS-5", "SS-5",
"Sun4m platform, SPARCstation 5", "Sun4m platform, SPARCstation 5",
ss5_init, ss5_init,
PROM_SIZE_MAX + 0x00100000, PROM_SIZE_MAX + TCX_SIZE,
}; };
QEMUMachine ss10_machine = { QEMUMachine ss10_machine = {
"SS-10", "SS-10",
"Sun4m platform, SPARCstation 10", "Sun4m platform, SPARCstation 10",
ss10_init, ss10_init,
PROM_SIZE_MAX + 0x00100000, PROM_SIZE_MAX + TCX_SIZE,
}; };
QEMUMachine ss600mp_machine = { QEMUMachine ss600mp_machine = {
"SS-600MP", "SS-600MP",
"Sun4m platform, SPARCserver 600MP", "Sun4m platform, SPARCserver 600MP",
ss600mp_init, ss600mp_init,
PROM_SIZE_MAX + 0x00100000, PROM_SIZE_MAX + TCX_SIZE,
}; };
QEMUMachine ss20_machine = { QEMUMachine ss20_machine = {
"SS-20", "SS-20",
"Sun4m platform, SPARCstation 20", "Sun4m platform, SPARCstation 20",
ss20_init, ss20_init,
PROM_SIZE_MAX + 0x00100000, PROM_SIZE_MAX + TCX_SIZE,
}; };
QEMUMachine ss2_machine = { QEMUMachine ss2_machine = {
"SS-2", "SS-2",
"Sun4c platform, SPARCstation 2", "Sun4c platform, SPARCstation 2",
ss2_init, ss2_init,
PROM_SIZE_MAX + 0x00100000, PROM_SIZE_MAX + TCX_SIZE,
}; };
QEMUMachine voyager_machine = { QEMUMachine voyager_machine = {
"Voyager", "Voyager",
"Sun4m platform, SPARCstation Voyager", "Sun4m platform, SPARCstation Voyager",
vger_init, vger_init,
PROM_SIZE_MAX + 0x00100000, PROM_SIZE_MAX + TCX_SIZE,
}; };
QEMUMachine ss_lx_machine = { QEMUMachine ss_lx_machine = {
"LX", "LX",
"Sun4m platform, SPARCstation LX", "Sun4m platform, SPARCstation LX",
ss_lx_init, ss_lx_init,
PROM_SIZE_MAX + 0x00100000, PROM_SIZE_MAX + TCX_SIZE,
}; };
QEMUMachine ss4_machine = { QEMUMachine ss4_machine = {
"SS-4", "SS-4",
"Sun4m platform, SPARCstation 4", "Sun4m platform, SPARCstation 4",
ss4_init, ss4_init,
PROM_SIZE_MAX + 0x00100000, PROM_SIZE_MAX + TCX_SIZE,
}; };
QEMUMachine scls_machine = { QEMUMachine scls_machine = {
"SPARCClassic", "SPARCClassic",
"Sun4m platform, SPARCClassic", "Sun4m platform, SPARCClassic",
scls_init, scls_init,
PROM_SIZE_MAX + 0x00100000, PROM_SIZE_MAX + TCX_SIZE,
}; };
QEMUMachine sbook_machine = { QEMUMachine sbook_machine = {
"SPARCbook", "SPARCbook",
"Sun4m platform, SPARCbook", "Sun4m platform, SPARCbook",
sbook_init, sbook_init,
PROM_SIZE_MAX + 0x00100000, PROM_SIZE_MAX + TCX_SIZE,
}; };
static const struct sun4d_hwdef sun4d_hwdefs[] = { static const struct sun4d_hwdef sun4d_hwdefs[] = {
@ -1300,7 +1303,7 @@ static const struct sun4d_hwdef sun4d_hwdefs[] = {
.ledma_base = 0x800040000ULL, .ledma_base = 0x800040000ULL,
.le_base = 0x800060000ULL, .le_base = 0x800060000ULL,
.sbi_base = 0xf02800000ULL, .sbi_base = 0xf02800000ULL,
.vram_size = 0x00100000, .vram_size = TCX_SIZE,
.nvram_size = 0x2000, .nvram_size = 0x2000,
.esp_irq = 3, .esp_irq = 3,
.le_irq = 4, .le_irq = 4,
@ -1333,7 +1336,7 @@ static const struct sun4d_hwdef sun4d_hwdefs[] = {
.ledma_base = 0x800040000ULL, .ledma_base = 0x800040000ULL,
.le_base = 0x800060000ULL, .le_base = 0x800060000ULL,
.sbi_base = 0xf02800000ULL, .sbi_base = 0xf02800000ULL,
.vram_size = 0x00100000, .vram_size = TCX_SIZE,
.nvram_size = 0x2000, .nvram_size = 0x2000,
.esp_irq = 3, .esp_irq = 3,
.le_irq = 4, .le_irq = 4,
@ -1513,12 +1516,12 @@ QEMUMachine ss1000_machine = {
"SS-1000", "SS-1000",
"Sun4d platform, SPARCserver 1000", "Sun4d platform, SPARCserver 1000",
ss1000_init, ss1000_init,
PROM_SIZE_MAX + 0x00100000, PROM_SIZE_MAX + TCX_SIZE,
}; };
QEMUMachine ss2000_machine = { QEMUMachine ss2000_machine = {
"SS-2000", "SS-2000",
"Sun4d platform, SPARCcenter 2000", "Sun4d platform, SPARCcenter 2000",
ss2000_init, ss2000_init,
PROM_SIZE_MAX + 0x00100000, PROM_SIZE_MAX + TCX_SIZE,
}; };

View File

@ -35,7 +35,7 @@
#define KERNEL_LOAD_ADDR 0x00404000 #define KERNEL_LOAD_ADDR 0x00404000
#define CMDLINE_ADDR 0x003ff000 #define CMDLINE_ADDR 0x003ff000
#define INITRD_LOAD_ADDR 0x00300000 #define INITRD_LOAD_ADDR 0x00300000
#define PROM_SIZE_MAX (512 * 1024) #define PROM_SIZE_MAX (4 * 1024 * 1024)
#define PROM_ADDR 0x1fff0000000ULL #define PROM_ADDR 0x1fff0000000ULL
#define PROM_VADDR 0x000ffd00000ULL #define PROM_VADDR 0x000ffd00000ULL
#define APB_SPECIAL_BASE 0x1fe00000000ULL #define APB_SPECIAL_BASE 0x1fe00000000ULL