Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
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>
|
|
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>
|
|
This will already have been done by QEMU.
Fixes: https://bugs.launchpad.net/bugs/1810545
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
|
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
|
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
|
Minimizing the amount of padding between page-aligned data structures.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is just good enough to handle the cserve_ena/dis used by
the Linux kernel for managing interrupts.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(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.
|
|
|
|
(1) Mark symbols as functions,
(2) Fix STACK_FRAME in-kernel test
(3) Zero newly allocated memory
|
|
|
|
|
|
|
|
|
|
|
|
|