summaryrefslogtreecommitdiff
path: root/init.c
AgeCommit message (Collapse)AuthorFilesLines
2021-06-14Provide a minimal Console Terminal Block in the HWRPB.HEADmasterJason Thorpe1-3/+32
Provide a minimal Console Terminal Block in the HWRPB so that operating systems that depend on it can correctly initialize the console device. This is suffucient, at least, for the BSD operating systems, but may not be sufficient for Digital UNIX. In addition to defining and filling out the structures, there are a couple of other key changes: - 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 "-nographics" option. - We need to initialize the HWRPB *after* initializing VGA, so that we'll know if a VGA device is present and in which slot for filling out the CTB. Signed-off-by: Jason Thorpe <thorpej@me.com> Message-Id: <20210613210934.21143-2-thorpej@me.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2021-06-06Fixes for secondary CPU start-up.Jason Thorpe1-9/+16
Changes to make secondary CPU start-up work on NetBSD, which depends on some specific behavior in the architecture specification: - Change the internal swppal() function to take the new VPTPTR and Procedure Value as explicit arguments. Adapt do_start() to the new the new swppal() signature. - In do_start_wait(), extract the new VPTPTR and PV from the relevant HWRPB fields, which will have been initialized by the OS, and pass them to swppal(). - In the SWPPAL PAL call, get the value to stuff into PV (r27) from a4 (r20), and add a comment describing why this implementation detail is allowed by the architecture specification. Signed-off-by: Jason Thorpe <thorpej@me.com> Message-Id: <20210603035317.6814-9-thorpej@me.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2021-06-05Tidy comment re CY82C693UB vs PIIXJason Thorpe1-1/+1
Signed-off-by: Jason Thorpe <thorpej@me.com> Message-Id: <20210603035317.6814-4-thorpej@me.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2021-06-05Fix initialization of the hwrpb.hwrpb.cpuid field.Jason Thorpe1-5/+20
Initialize the hwrpb.hwrpb.cpuid field with the primary CPU ID, not the processor type, as per the architecture specification. Some operating systems check and assert this. Improve a couple of comments. Signed-off-by: Jason Thorpe <thorpej@me.com> Message-Id: <20210603035317.6814-4-thorpej@me.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2021-06-05Make qemu-palcode build environment standalone. NFC.Jason Thorpe1-2/+0
Don't include system headers. Instead, provide standalone definitions and declarations of types needed and functions used by the PALcode that are compatible with the standard Alpha / GCC ABI. Signed-off-by: Jason Thorpe <thorpej@me.com> Message-Id: <20210603035317.6814-2-thorpej@me.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2016-11-13Reinstate do_console if kernel not providedRichard Henderson1-1/+1
Signed-off-by: Richard Henderson <rth@twiddle.net>
2016-11-13Add smp supportRichard Henderson1-24/+51
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-07-08Optimize memory layout.Richard Henderson1-1/+2
Minimizing the amount of padding between page-aligned data structures.
2011-06-03Properly detect the presence of a vga device.Richard Henderson1-0/+1
2011-05-09Begin initiallizing the VGA card.Richard Henderson1-0/+2
2011-05-06Use level-triggered ISA interrupts.Richard Henderson1-0/+11
2011-05-06Add ps2 keyboard initialization.Richard Henderson1-0/+27
Which also requires that we properly initialize the i8259 (ISA) interrupt controller.
2011-05-05Beginnings of the SRM console prompt.Richard Henderson1-9/+1
2011-05-02Implement the console callback interface.Richard Henderson1-19/+25
At least enough for GETC and PUTS.
2011-05-01Add copyright information.Richard Henderson1-0/+20
2011-04-27Set max_asn properly for the cpu.Richard Henderson1-34/+24
2011-04-27Re-org for Clipper system.Richard Henderson1-6/+22
2011-04-24Use fixed frequency for rpcc.Richard Henderson1-3/+1
2011-04-13PCBB.PTBR contains a page frame number, not a physical address.Richard Henderson1-1/+1
2011-04-13Rely less on initialized data.Richard Henderson1-124/+154
(1) Don't statically initialize HWRPB and PCBB. (2) Use SwpPal at the end of do_start to install the PCBB and PTBR, rather than setting those up in __start in PALmode. (3) Use -mbuild-constants to prevent the compiler using static data.
2011-04-11Misc enhancementsRichard Henderson1-2/+1
(1) Mark symbols as functions, (2) Fix STACK_FRAME in-kernel test (3) Zero newly allocated memory
2011-04-11Signal halt properly.Richard Henderson1-1/+3
2011-04-11Dynamically allocate page tables; setup as per MILO.Richard Henderson1-40/+45
2011-04-10Add uart printing support.Richard Henderson1-0/+4
2011-04-10TEMP: finished through init_page_tablesRichard Henderson1-0/+206