summaryrefslogtreecommitdiff
path: root/pal.S
AgeCommit message (Collapse)AuthorFilesLines
2021-06-06Fixes for secondary CPU start-up.Jason Thorpe1-4/+9
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-05Fix delivery of unaligned access exceptions.Jason Thorpe1-1/+1
In the unaligned access exception vector, actually pass the return PC in the exception frame. This is required in order for unaligned access fixup handlers in the operating system to work. Signed-off-by: Jason Thorpe <thorpej@me.com> Message-Id: <20210603035317.6814-3-thorpej@me.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2019-03-25Report machine checks to the kernelRichard Henderson1-82/+94
Use a minimally populated logout frame. This is good enough to handle probing of devices using the kernel's mcheck_expected. Signed-off-by: Richard Henderson <rth@twiddle.net>
2019-01-08Do not increment PC for OPCDECRichard Henderson1-2/+1
This will already have been done by QEMU. Fixes: https://bugs.launchpad.net/bugs/1810545 Signed-off-by: Richard Henderson <rth@twiddle.net>
2016-11-13Add smp supportRichard Henderson1-8/+24
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-07-16Add Cserve_Get_VM_TimeRichard Henderson1-2/+7
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-07-08Optimize memory layout.Richard Henderson1-1/+1
Minimizing the amount of padding between page-aligned data structures.
2011-05-02clipper: Report ISA interrupts properly.Richard Henderson1-4/+3
2011-05-01Fix SMP stack initialization.Richard Henderson1-1/+2
2011-05-01Add copyright information.Richard Henderson1-202/+25
2011-04-28Rearrange Cserve. Add QMU clock/alarm related entry points.Richard Henderson1-16/+44
2011-04-27Re-org for Clipper system.Richard Henderson1-217/+95
2011-04-25Fix error in SWPCTX code.Richard Henderson1-2/+2
2011-04-22Implement CallPal_Cserve.Richard Henderson1-4/+59
This is just good enough to handle the cserve_ena/dis used by the Linux kernel for managing interrupts.
2011-04-22Implement WTINT.Richard Henderson1-6/+5
2011-04-18Use qemu_sysval and qemu_usp, newly exported from QEMU.Richard Henderson1-35/+33
2011-04-14Fix typos in rti implementation.Richard Henderson1-6/+5
2011-04-14Handle timer interrupts specially.Richard Henderson1-17/+64
2011-04-13Raise the interrupt level for entIntRichard Henderson1-9/+14
2011-04-13PCBB.PTBR contains a page frame number, not a physical address.Richard Henderson1-1/+5
2011-04-13Rely less on initialized data.Richard Henderson1-12/+34
(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-11Fix WrEnt bounds checking.Richard Henderson1-1/+1
2011-04-11Misc enhancementsRichard Henderson1-9/+172
(1) Mark symbols as functions, (2) Fix STACK_FRAME in-kernel test (3) Zero newly allocated memory
2011-04-11Don't allow MMFault in PALmode.Richard Henderson1-0/+1
2011-04-11Signal halt properly.Richard Henderson1-0/+8
2011-04-11Dynamically allocate page tables; setup as per MILO.Richard Henderson1-0/+1
2011-04-10Move stack to sbss section for easy access.Richard Henderson1-2/+6
2011-04-10Add uart printing support.Richard Henderson1-69/+173
2011-04-06TEMPRichard Henderson1-0/+1774