seL4/include
Adrian Danis d73d0e8f05 x86: Write FS and GS base when restoring user context
This commit moves the write to FS and GS base, allowing for a much
more efficient write to GS base under x86-64 SMP. When writing
GS base was in Arch_switchToThread it was neccessary to write to
an MSR such that when swapgs was performed on kernel exit the new
value of GS base would be retrieved. Unfortunately writing to an
MSR is very expensive and we would much prefer to use the writegsbase
instructions instead. By moving this code to restore user context
we are able to call swapgs earlier and then use the normal
writegsbase instruction
2016-11-28 16:46:27 +11:00
..
32/mode SELFOUR-413: refactor libsel4 fault API 2016-11-25 12:29:07 +11:00
64/mode SELFOUR-413: refactor libsel4 fault API 2016-11-25 12:29:07 +11:00
api SELFOUR-567: use seL4_CapRights_t from libsel4 2016-11-25 12:29:07 +11:00
arch x86: Write FS and GS base when restoring user context 2016-11-28 16:46:27 +11:00
benchmark Refactor includes so trace point support builds 2016-11-23 14:29:00 +11:00
fastpath x64: Efficiently pack objects for fastpath 2016-11-25 16:26:24 +11:00
kernel SELFOUR-413: refactor libsel4 fault API 2016-11-25 12:29:07 +11:00
machine SELFOUR-413: changes for verification 2016-11-25 12:30:29 +11:00
model Remove unneeded usages of VISIBLE 2016-11-24 14:46:01 +11:00
object x64: Efficiently pack objects for fastpath 2016-11-25 16:26:24 +11:00
plat bcm2837: Add missing include for printf 2016-11-25 16:30:31 +11:00
api.h Release snapshot 2014-07-18 05:03:59 +10:00
assert.h Always have compile_assert enabled 2015-11-11 11:09:24 +11:00
basic_types.h Rename uint32_t -> word_t in any relevant places 2015-12-10 10:45:20 +11:00
bootinfo.h SELFOUR-114: remove bootinfo.h duplication 2016-03-01 17:25:22 +11:00
compound_types.h unsigned int -> word_t 2015-12-10 10:45:21 +11:00
config.h SELFOUR-444: Preemptible zeroing for retype. 2016-11-01 17:05:36 +11:00
machine.h SELFOUR-607: inline remaining irq path functions 2016-08-09 16:18:34 +10:00
Makefile SELFOUR-413: refactor libsel4 fault API 2016-11-25 12:29:07 +11:00
object.h SELFOUR-317: rename async endpoint to notification object, and other 2015-11-09 17:18:43 +11:00
stdarg.h Release snapshot 2014-07-18 05:03:59 +10:00
stdint.h conversion: fixed unnecessary word_t change 2015-12-10 10:45:22 +11:00
string.h Correct separation of printing and debug builds 2016-05-17 15:10:08 +10:00
types.h ia32: added the option to disable prefetchers 2015-04-15 14:38:55 +10:00
util.h x86: Rewrite config_default as config_ternary for FPU 2016-11-25 14:44:08 +11:00