From: Helge Deller <[email protected]>

The A400 machine is the very first 64-bit-only machines which uses the 64-bit
PAT firmware and desn't support 32-bit PDC any longer.  Long-term goal is to
support the MPE and HP-UX 11iv3 operating systems, which both require a machine
with PAT firmware.

Signed-off-by: Helge Deller <[email protected]>
---
 hw/hppa/machine.c | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
index 5ce4a17915..2cf4239a43 100644
--- a/hw/hppa/machine.c
+++ b/hw/hppa/machine.c
@@ -729,6 +729,14 @@ static void machine_HP_C3700_init(MachineState *machine)
     machine_HP_common_init_tail(machine, pci_bus, translate);
 }
 
+/*
+ * Create HP A400 server
+ */
+static void machine_HP_A400_init(MachineState *machine)
+{
+    machine_HP_C3700_init(machine);
+}
+
 static void hppa_machine_reset(MachineState *ms, ResetType type)
 {
     unsigned int smp_cpus = ms->smp.cpus;
@@ -822,6 +830,22 @@ static void HP_C3700_machine_init_class_init(ObjectClass 
*oc, const void *data)
     mc->default_ram_size = 1024 * MiB;
 }
 
+static void HP_A400_machine_init_class_init(ObjectClass *oc, const void *data)
+{
+    static const char * const valid_cpu_types[] = {
+        TYPE_HPPA64_CPU,
+        NULL
+    };
+    MachineClass *mc = MACHINE_CLASS(oc);
+
+    mc->desc = "HP A400-44 workstation";
+    mc->default_cpu_type = TYPE_HPPA64_CPU;
+    mc->valid_cpu_types = valid_cpu_types;
+    mc->init = machine_HP_A400_init;
+    mc->max_cpus = HPPA_MAX_CPUS;
+    mc->default_ram_size = 1024 * MiB;
+}
+
 static void HP_715_machine_init_class_init(ObjectClass *oc, const void *data)
 {
     static const char * const valid_cpu_types[] = {
@@ -860,6 +884,10 @@ static const TypeInfo hppa_machine_types[] = {
         .name = MACHINE_TYPE_NAME("C3700"),
         .parent = TYPE_HPPA_COMMON_MACHINE,
         .class_init = HP_C3700_machine_init_class_init,
+    }, {
+        .name = MACHINE_TYPE_NAME("A400"),
+        .parent = TYPE_HPPA_COMMON_MACHINE,
+        .class_init = HP_A400_machine_init_class_init,
     }, {
         .name = MACHINE_TYPE_NAME("715"),
         .parent = TYPE_HPPA_COMMON_MACHINE,
-- 
2.53.0


Reply via email to