aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2024-01-19 10:51:55 +0100
committerHelge Deller <deller@gmx.de>2024-01-19 10:51:55 +0100
commit2768f4271f05376f3b7b58ccc56d15e556692412 (patch)
treedb5e7f351921297669e172e4b65e54c6e3aa7625 /src
parentf8c4ad468aebeb94fdb927ade804723d44604723 (diff)
downloadseabios-hppa-2768f4271f05376f3b7b58ccc56d15e556692412.zip
seabios-hppa-2768f4271f05376f3b7b58ccc56d15e556692412.tar.gz
seabios-hppa-2768f4271f05376f3b7b58ccc56d15e556692412.tar.bz2
parisc: Include 715/64 as possible supported machine
Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'src')
-rw-r--r--src/parisc/715_64.h62
-rw-r--r--src/parisc/parisc.c13
2 files changed, 36 insertions, 39 deletions
diff --git a/src/parisc/715_64.h b/src/parisc/715_64.h
index 2899cbf..616f385 100644
--- a/src/parisc/715_64.h
+++ b/src/parisc/715_64.h
@@ -44,17 +44,17 @@
, 0x0001, 0x0000, 0x0000, 0x0001, 0x0001
-#define HPA_f8000000_DESCRIPTION "Mirage Jr GSC Builtin Graphics"
-static struct pdc_system_map_mod_info mod_info_hpa_f8000000 = {
+#define HPA_f8000000_715_DESCRIPTION "Mirage Jr GSC Builtin Graphics"
+static struct pdc_system_map_mod_info mod_info_hpa_f8000000_715 = {
.mod_addr = 0x52,
.mod_pgs = 0x0,
.add_addrs = 0x0,
};
-static struct pdc_module_path mod_path_hpa_f8000000 = {
+static struct pdc_module_path mod_path_hpa_f8000000_715 = {
.path = { .flags = 0x1, .bc = { 0x20, 0x80, 0x8a, 0x0, 0x0, 0x85 }, .mod = 0x0 },
.layers = { 0x1000000, 0xed260002, 0x0, 0xf, 0x114b6b5c, 0x114a1de8 }
};
-static struct pdc_iodc iodc_data_hpa_f8000000 = {
+static struct pdc_iodc iodc_data_hpa_f8000000_715 = {
.hversion_model = 0x0001,
.hversion = 0x0020,
.spa = 0x0080,
@@ -69,8 +69,8 @@ static struct pdc_iodc iodc_data_hpa_f8000000 = {
.length = 0x0002,
/* pad: 0x0000, 0x000f */
};
-#define HPA_f8000000_num_addr 0
-#define HPA_f8000000_add_addr 0
+#define HPA_f8000000_715_num_addr 0
+#define HPA_f8000000_715_add_addr 0
#define HPA_f0100000_DESCRIPTION "Mirage Jr Core BA"
@@ -101,8 +101,6 @@ static struct pdc_iodc iodc_data_hpa_f0100000 = {
#define HPA_f0100000_num_addr 0
#define HPA_f0100000_add_addr 0
-No IODC data for hpa 0x00000000
-
#define HPA_f0106000_DESCRIPTION "Mirage Jr Core SCSI"
static struct pdc_system_map_mod_info mod_info_hpa_f0106000 = {
.mod_addr = 0x47,
@@ -392,8 +390,6 @@ static struct pdc_iodc iodc_data_hpa_f0200000 = {
#define HPA_f0200000_num_addr 0
#define HPA_f0200000_add_addr 0
-No IODC data for hpa 0x00000000
-
#define HPA_f0201000_DESCRIPTION "Mirage Jr Wax HIL"
static struct pdc_system_map_mod_info mod_info_hpa_f0201000 = {
.mod_addr = 0x45,
@@ -459,7 +455,7 @@ static struct pdc_system_map_mod_info mod_info_hpa_fffbe000 = {
.add_addrs = 0x0,
};
static struct pdc_module_path mod_path_hpa_fffbe000 = {
- .path = { .flags = 0x60, .bc = { 0xa0, 0x0, 0x0, 0x0, 0x0, 0x4 }, .mod = 0xffffff81 },
+ .path = { .flags = 0x60, .bc = { 0xa0, 0x0, 0x0, 0x0, 0x0, 0x4 }, .mod = 0x81 },
.layers = { 0x1000000, 0xe3f30002, 0x0, 0xf, 0x114b6b5c, 0x114a1de8 }
};
static struct pdc_iodc iodc_data_hpa_fffbe000 = {
@@ -481,17 +477,17 @@ static struct pdc_iodc iodc_data_hpa_fffbe000 = {
#define HPA_fffbe000_add_addr 0
-#define HPA_fffbf000_DESCRIPTION "Memory"
-static struct pdc_system_map_mod_info mod_info_hpa_fffbf000 = {
+#define HPA_fffbf000_715_DESCRIPTION "Memory"
+static struct pdc_system_map_mod_info mod_info_hpa_fffbf000_715 = {
.mod_addr = 0x3a,
.mod_pgs = 0x0,
.add_addrs = 0x0,
};
-static struct pdc_module_path mod_path_hpa_fffbf000 = {
+static struct pdc_module_path mod_path_hpa_fffbf000_715 = {
.path = { .flags = 0x4, .bc = { 0xa0, 0x1c, 0x1, 0x0, 0x0, 0x9 }, .mod = 0x0 },
.layers = { 0x1000000, 0xe3f30002, 0x0, 0xf, 0x114b6b5c, 0x114a1de8 }
};
-static struct pdc_iodc iodc_data_hpa_fffbf000 = {
+static struct pdc_iodc iodc_data_hpa_fffbf000_715 = {
.hversion_model = 0x0004,
.hversion = 0x00a0,
.spa = 0x001c,
@@ -506,30 +502,24 @@ static struct pdc_iodc iodc_data_hpa_fffbf000 = {
.length = 0x0002,
/* pad: 0x0000, 0x000f */
};
-#define HPA_fffbf000_num_addr 0
-#define HPA_fffbf000_add_addr 0
+#define HPA_fffbf000_715_num_addr 0
+#define HPA_fffbf000_715_add_addr 0
#define PARISC_DEVICE_LIST \
{ .hpa = 0xf8000000,\
- .iodc = &iodc_data_hpa_f8000000,\
- .mod_info = &mod_info_hpa_f8000000,\
- .mod_path = &mod_path_hpa_f8000000,\
- .num_addr = HPA_f8000000_num_addr,\
- .add_addr = { HPA_f8000000_add_addr } },\
+ .iodc = &iodc_data_hpa_f8000000_715,\
+ .mod_info = &mod_info_hpa_f8000000_715,\
+ .mod_path = &mod_path_hpa_f8000000_715,\
+ .num_addr = HPA_f8000000_715_num_addr,\
+ .add_addr = { HPA_f8000000_715_add_addr } },\
{ .hpa = 0xf0100000,\
.iodc = &iodc_data_hpa_f0100000,\
.mod_info = &mod_info_hpa_f0100000,\
.mod_path = &mod_path_hpa_f0100000,\
.num_addr = HPA_f0100000_num_addr,\
.add_addr = { HPA_f0100000_add_addr } },\
- { .hpa = 0x00000000,\
- .iodc = &iodc_data_hpa_00000000,\
- .mod_info = &mod_info_hpa_00000000,\
- .mod_path = &mod_path_hpa_00000000,\
- .num_addr = HPA_00000000_num_addr,\
- .add_addr = { HPA_00000000_add_addr } },\
{ .hpa = 0xf0106000,\
.iodc = &iodc_data_hpa_f0106000,\
.mod_info = &mod_info_hpa_f0106000,\
@@ -590,12 +580,6 @@ static struct pdc_iodc iodc_data_hpa_fffbf000 = {
.mod_path = &mod_path_hpa_f0200000,\
.num_addr = HPA_f0200000_num_addr,\
.add_addr = { HPA_f0200000_add_addr } },\
- { .hpa = 0x00000000,\
- .iodc = &iodc_data_hpa_00000000,\
- .mod_info = &mod_info_hpa_00000000,\
- .mod_path = &mod_path_hpa_00000000,\
- .num_addr = HPA_00000000_num_addr,\
- .add_addr = { HPA_00000000_add_addr } },\
{ .hpa = 0xf0201000,\
.iodc = &iodc_data_hpa_f0201000,\
.mod_info = &mod_info_hpa_f0201000,\
@@ -615,9 +599,9 @@ static struct pdc_iodc iodc_data_hpa_fffbf000 = {
.num_addr = HPA_fffbe000_num_addr,\
.add_addr = { HPA_fffbe000_add_addr } },\
{ .hpa = 0xfffbf000,\
- .iodc = &iodc_data_hpa_fffbf000,\
- .mod_info = &mod_info_hpa_fffbf000,\
- .mod_path = &mod_path_hpa_fffbf000,\
- .num_addr = HPA_fffbf000_num_addr,\
- .add_addr = { HPA_fffbf000_add_addr } },\
+ .iodc = &iodc_data_hpa_fffbf000_715,\
+ .mod_info = &mod_info_hpa_fffbf000_715,\
+ .mod_path = &mod_path_hpa_fffbf000_715,\
+ .num_addr = HPA_fffbf000_715_num_addr,\
+ .add_addr = { HPA_fffbf000_715_add_addr } },\
{ 0, }
diff --git a/src/parisc/parisc.c b/src/parisc/parisc.c
index 12cfd4b..2157dde 100644
--- a/src/parisc/parisc.c
+++ b/src/parisc/parisc.c
@@ -344,6 +344,10 @@ struct machine_info {
#include "parisc/c3700.h"
#include "parisc/machine-create.h"
+#define MACHINE 715
+#include "parisc/715_64.h"
+#include "parisc/machine-create.h"
+
struct machine_info *current_machine = &machine_B160L;
static hppa_device_t *parisc_devices = machine_B160L.device_list;
@@ -3086,6 +3090,15 @@ void __VISIBLE start_parisc_firmware(void)
mem_cons_boot.hpa = 0;
mem_kbd_boot.hpa = 0;
}
+ if (strcmp(str, "715") == 0) {
+ has_astro = 0; /* No Astro */
+ current_machine = &machine_715;
+ pci_hpa = 0; /* No PCI bus */
+ hppa_port_pci_cmd = 0;
+ hppa_port_pci_data = 0;
+ mem_cons_boot.hpa = 0xf0105000; /* serial port */
+ mem_kbd_boot.hpa = 0xf0105000;
+ }
parisc_devices = current_machine->device_list;
strtcpy(qemu_machine, str, sizeof(qemu_machine));