Commit Graph

4 Commits

Author SHA1 Message Date
Andrew Boie a0da632fad gen_gdt: properly set descriptor privilege level
The 'dpl' argument was unused, causing problems if the privilege
level was not 0.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-08-01 10:10:28 -07:00
Andrew Boie 3aecba10f7 scripts: add version check for pyelftools
Versions before 0.24 have string handling issues in Python 3.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-07-25 13:41:16 -04:00
Andrew Boie bc666ae7f7 x86: implement improved double-fault handler
We now create a special IA hardware task for handling
double faults. This has a known good stack so that if
the kernel tries to push stack data onto an unmapped page,
we don't triple-fault and reset the system.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-07-25 11:32:36 -04:00
Andrew Boie 08c291306e x86: generate RAM-based GDT dynamically
We will need this for stack memory protection scenarios
where a writable GDT with Task State Segment descriptors
will be used. The addresses of the TSS segments cannot be
put in the GDT via preprocessor magic due to architecture
requirments that the address be split up into different
fields in the segment descriptor.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-07-25 11:32:36 -04:00