x86: Segment initialization to support KvmCPU in SE
authorAlexandru Dutu <alexandru.dutu@amd.com>
Mon, 24 Nov 2014 02:01:08 +0000 (18:01 -0800)
committerAlexandru Dutu <alexandru.dutu@amd.com>
Mon, 24 Nov 2014 02:01:08 +0000 (18:01 -0800)
commitf743bdcb6994a4e0e413e1a3499f7424b5ec2efa
tree86f81f804d3a17f4c1b4530e040e144fcf21389b
parentadbaa4dfde96d5aaf84adf0ae4989ef880aad726
x86: Segment initialization to support KvmCPU in SE
This patch sets up low and high privilege code and data segments and places them
in the following order: cs low, ds low, ds, cs, in the GDT. Additionally, a
syscall and page fault handler for KvmCPU in SE mode are defined. The order of
the segment selectors in GDT is required in this manner for interrupt handling
to work properly. Segment initialization is done for all the thread
contexts.
src/arch/x86/process.cc
src/arch/x86/regs/misc.hh
src/arch/x86/system.cc
src/arch/x86/system.hh
src/sim/Process.py
src/sim/process.cc
src/sim/process.hh