21 lines
316 B
C++
21 lines
316 B
C++
#include "tss.h"
|
|
|
|
using namespace Genode;
|
|
|
|
extern char kernel_stack[];
|
|
|
|
__attribute__((aligned(8))) Tss Tss::_tss;
|
|
|
|
void Tss::setup()
|
|
{
|
|
_tss.rsp0 = (addr_t)kernel_stack;
|
|
_tss.rsp1 = (addr_t)kernel_stack;
|
|
_tss.rsp2 = (addr_t)kernel_stack;
|
|
}
|
|
|
|
|
|
void Tss::load()
|
|
{
|
|
asm volatile ("ltr %w0" : : "r" (TSS_SELECTOR));
|
|
}
|