summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorJason Thorpe <thorpej@me.com>2021-06-13 14:15:49 -0700
committerRichard Henderson <richard.henderson@linaro.org>2021-06-28 07:27:32 -0700
commit387a1dcb351be6a6ec4e27d36173df2de1017bcc (patch)
tree0ebe0522e60a165fe705b97dd40981a09fa653ac
parent3a8233dc1fe2fb5d0b51c9ae895e27b96a6d830e (diff)
downloadfocaccia-qemu-387a1dcb351be6a6ec4e27d36173df2de1017bcc.tar.gz
focaccia-qemu-387a1dcb351be6a6ec4e27d36173df2de1017bcc.zip
hw/alpha: Provide console information to the PALcode at start-up
Redefine the a2 register passed by Qemu at start-up to also include
some configuration flags, in addition to the CPU count, and define
a flag to mirror the "-nographic" option.

Signed-off-by: Jason Thorpe <thorpej@me.com>
Message-Id: <20210613211549.18094-5-thorpej@me.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
-rw-r--r--hw/alpha/dp264.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/hw/alpha/dp264.c b/hw/alpha/dp264.c
index 010d22476b..316f0691cd 100644
--- a/hw/alpha/dp264.c
+++ b/hw/alpha/dp264.c
@@ -72,9 +72,19 @@ static void clipper_init(MachineState *machine)
         cpus[i] = ALPHA_CPU(cpu_create(machine->cpu_type));
     }
 
+    /*
+     * arg0 -> memory size
+     * arg1 -> kernel entry point
+     * arg2 -> config word
+     *
+     * Config word: bits 0-5 -> ncpus
+     *              bit  6   -> nographics option (for HWRPB CTB)
+     *
+     * See init_hwrpb() in the PALcode.
+     */
     cpus[0]->env.trap_arg0 = ram_size;
     cpus[0]->env.trap_arg1 = 0;
-    cpus[0]->env.trap_arg2 = smp_cpus;
+    cpus[0]->env.trap_arg2 = smp_cpus | (!machine->enable_graphics << 6);
 
     /*
      * Init the chipset.  Because we're using CLIPPER IRQ mappings,