[OpenBIOS] [PATCHv2 0/4] ppc: introduce execution context
Mark Cave-Ayland
mark.cave-ayland at ilande.co.uk
Mon May 2 13:50:14 CEST 2016
This patch series is part of a much larger WIP series designed to remove various hacks
from the load/init-program/go words. However in order for the follow-on series to work,
all architectures must build an execution context similar to the IEEE1275 specification
description of saved-program-state.
PPC is the only architecture which doesn't make use of contexts when entering/leaving the
Forth environment, so start by adding this functionality in order that it can be expanded
on further with later patches. While no functionality is changed by this patch, there should
be no regressions when attempting to boot existing client images.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk>
v2:
- Use single asm invocation in switch_to() with clobber register
- Fix unsigned int -> unsigned long
- Fix missing volatile from __context pointer
Mark Cave-Ayland (4):
ppc: move call_elf() to separate switch.S file
ppc: add new context handler
ppc: use separate context to call client images
ppc: unify CIF save stack layout with that of new context stack
openbios-devel/arch/ppc/build.xml | 2 +
openbios-devel/arch/ppc/qemu/context.c | 140 ++++++++++++++++++
openbios-devel/arch/ppc/qemu/context.h | 34 +++++
openbios-devel/arch/ppc/qemu/init.c | 4 +-
openbios-devel/arch/ppc/qemu/ldscript | 6 +-
openbios-devel/arch/ppc/qemu/start.S | 244 +++++++++++++-------------------
openbios-devel/arch/ppc/qemu/switch.S | 211 +++++++++++++++++++++++++++
openbios-devel/include/arch/ppc/io.h | 2 +-
8 files changed, 494 insertions(+), 149 deletions(-)
create mode 100644 openbios-devel/arch/ppc/qemu/context.c
create mode 100644 openbios-devel/arch/ppc/qemu/context.h
create mode 100644 openbios-devel/arch/ppc/qemu/switch.S
--
1.7.10.4
More information about the OpenBIOS
mailing list