x86_64: pop non-sysenter TFs, fixes segmentation
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 26 Jun 2013 00:35:32 +0000 (17:35 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 26 Jun 2013 05:20:24 +0000 (22:20 -0700)
commit858b0f64e75df4f07d9060e0957d1c88973976a9
tree8f551d4d3ca1aba3fbaa38c939f28ce6b23d2d78
parent583bb358f1308047cf18a26d50e6f865a41e8856
x86_64: pop non-sysenter TFs, fixes segmentation

Apparently we do need some data segmentation, at least for the SS, when popping
via iretq into userspace.  I haven't needed it for the kernel yet.  Note the
segment limit/base are ignored (they can't express 64 bits), but things like
the DPL and the W bit seemed to be checked.
kern/arch/x86/entry64.S
kern/arch/x86/pmap64.c
kern/arch/x86/process64.c
kern/arch/x86/ros/mmu64.h