hw/hppa: Add emulation for the 64-bit A400 server
The A400 machine is the very first 64-bit-only machines which uses the 64-bit PAT firmware and doesn'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 <deller@gmx.de> Reviewed-by: Anton Johansson <anjo@rev.ng>
Helge Deller committed
Jan 29, 2026 at 18:14 UTC
9e59b112b6c0e24831e1f28926df0bc917b14902
1 file changed
+28
hw/hppa/machine.c
+28
@@ -729,6 +729,14 @@ static void machine_HP_C3700_init(MachineState *machine)
729
machine_HP_common_init_tail(machine, pci_bus, translate);
730
}
731
732
+/*
733
+ * Create HP A400 server
734
+ */
735
+static void machine_HP_A400_init(MachineState *machine)
736
+{
737
+ machine_HP_C3700_init(machine);
738
+}
739
+
740
static void hppa_machine_reset(MachineState *ms, ResetType type)
741
{
742
unsigned int smp_cpus = ms->smp.cpus;
@@ -822,6 +830,22 @@ static void HP_C3700_machine_init_class_init(ObjectClass *oc, const void *data)
830
mc->default_ram_size = 1024 * MiB;
831
}
832
833
+static void HP_A400_machine_init_class_init(ObjectClass *oc, const void *data)
834
+{
835
+ static const char * const valid_cpu_types[] = {
836
+ TYPE_HPPA64_CPU,
837
+ NULL
838
+ };
839
+ MachineClass *mc = MACHINE_CLASS(oc);
840
+
841
+ mc->desc = "HP A400-44 workstation";
842
+ mc->default_cpu_type = TYPE_HPPA64_CPU;
843
+ mc->valid_cpu_types = valid_cpu_types;
844
+ mc->init = machine_HP_A400_init;
845
+ mc->max_cpus = HPPA_MAX_CPUS;
846
+ mc->default_ram_size = 1024 * MiB;
847
+}
848
+
849
static void HP_715_machine_init_class_init(ObjectClass *oc, const void *data)
850
{
851
static const char * const valid_cpu_types[] = {
@@ -860,6 +884,10 @@ static const TypeInfo hppa_machine_types[] = {
884
.name = MACHINE_TYPE_NAME("C3700"),
885
.parent = TYPE_HPPA_COMMON_MACHINE,
886
.class_init = HP_C3700_machine_init_class_init,
887
+ }, {
888
+ .name = MACHINE_TYPE_NAME("A400"),
889
+ .parent = TYPE_HPPA_COMMON_MACHINE,
890
+ .class_init = HP_A400_machine_init_class_init,
891
}, {
892
.name = MACHINE_TYPE_NAME("715"),
893
.parent = TYPE_HPPA_COMMON_MACHINE,