-
- Downloads
RFC-3: Update user context for ARM with thread IDs
Switched appropriate naming conventions. Was using the aarch64, have switched to aarch64 names. TIPDRURW -> tpidr_el0 TPIDRURO -> tpidrro_el0 TPIDRPRW -> tpidr_el1 Switch TLS register on aarch32 from TPIDURO (tpidrro_el0) to tpidr_ro so that it can be written to from user-land. Thread ID registers tpidr_el0 have been added to the user context for aarch32 and aarch64. Only the thread ID that is writeable from EL0 is saved in the TCB and saved/restored on context switch. Thread IDs that are only changed within a VM (the read-only thread ID for exception level 0 and the thread ID for exception level 1) are stored in the VCPU and saved and stored as part of VM enable/disable. Thread IDs that are only changed with VMs have been separated out into hypervisor code.
Showing
- include/arch/arm/arch/32/mode/fastpath/fastpath.h 0 additions, 9 deletionsinclude/arch/arm/arch/32/mode/fastpath/fastpath.h
- include/arch/arm/arch/32/mode/machine.h 19 additions, 12 deletionsinclude/arch/arm/arch/32/mode/machine.h
- include/arch/arm/arch/32/mode/machine/registerset.h 11 additions, 8 deletionsinclude/arch/arm/arch/32/mode/machine/registerset.h
- include/arch/arm/arch/32/mode/machine_pl2.h 20 additions, 8 deletionsinclude/arch/arm/arch/32/mode/machine_pl2.h
- include/arch/arm/arch/64/mode/fastpath/fastpath.h 2 additions, 9 deletionsinclude/arch/arm/arch/64/mode/fastpath/fastpath.h
- include/arch/arm/arch/64/mode/machine.h 22 additions, 17 deletionsinclude/arch/arm/arch/64/mode/machine.h
- include/arch/arm/arch/64/mode/machine/registerset.h 4 additions, 4 deletionsinclude/arch/arm/arch/64/mode/machine/registerset.h
- include/arch/arm/arch/64/mode/machine_pl2.h 36 additions, 0 deletionsinclude/arch/arm/arch/64/mode/machine_pl2.h
- include/arch/arm/arch/kernel/traps.h 3 additions, 27 deletionsinclude/arch/arm/arch/kernel/traps.h
- include/arch/arm/arch/model/statedata.h 4 additions, 0 deletionsinclude/arch/arm/arch/model/statedata.h
- include/arch/arm/armv/armv7-a/armv/vcpu.h 5 additions, 0 deletionsinclude/arch/arm/armv/armv7-a/armv/vcpu.h
- include/arch/arm/armv/armv8-a/64/armv/vcpu.h 0 additions, 40 deletionsinclude/arch/arm/armv/armv8-a/64/armv/vcpu.h
- libsel4/sel4_arch_include/aarch32/interfaces/sel4arch.xml 1 addition, 0 deletionslibsel4/sel4_arch_include/aarch32/interfaces/sel4arch.xml
- libsel4/sel4_arch_include/aarch32/sel4/sel4_arch/constants.h 1 addition, 0 deletionslibsel4/sel4_arch_include/aarch32/sel4/sel4_arch/constants.h
- libsel4/sel4_arch_include/aarch32/sel4/sel4_arch/types.h 2 additions, 0 deletionslibsel4/sel4_arch_include/aarch32/sel4/sel4_arch/types.h
- libsel4/sel4_arch_include/aarch64/interfaces/sel4arch.xml 1 addition, 0 deletionslibsel4/sel4_arch_include/aarch64/interfaces/sel4arch.xml
- libsel4/sel4_arch_include/aarch64/sel4/sel4_arch/constants.h 0 additions, 1 deletionlibsel4/sel4_arch_include/aarch64/sel4/sel4_arch/constants.h
- libsel4/sel4_arch_include/aarch64/sel4/sel4_arch/types.h 2 additions, 0 deletionslibsel4/sel4_arch_include/aarch64/sel4/sel4_arch/types.h
- libsel4/tools/syscall_stub_gen.py 3 additions, 3 deletionslibsel4/tools/syscall_stub_gen.py
- src/arch/arm/32/c_traps.c 0 additions, 5 deletionssrc/arch/arm/32/c_traps.c
Loading
Please register or sign in to comment