PKUOS - Pintos
Pintos source browser for PKU Operating System course
|
#include "userprog/tss.h"
#include <debug.h>
#include <stddef.h>
#include "userprog/gdt.h"
#include "threads/thread.h"
#include "threads/palloc.h"
#include "threads/vaddr.h"
Go to the source code of this file.
Data Structures | |
struct | tss |
The Task-State Segment (TSS). More... | |
Functions | |
void | tss_init (void) |
Initializes the kernel TSS. More... | |
struct tss * | tss_get (void) |
Returns the kernel TSS. More... | |
void | tss_update (void) |
Sets the ring 0 stack pointer in the TSS to point to the end of the thread stack. More... | |
Variables | |
static struct tss * | tss |
Kernel TSS. More... | |
struct tss * tss_get | ( | void | ) |
void tss_init | ( | void | ) |
Initializes the kernel TSS.
Definition at line 80 of file tss.c.
References tss::bitmap, PAL_ASSERT, PAL_ZERO, palloc_get_page(), SEL_KDSEG, tss::ss0, and tss_update().
Referenced by pintos_init().
void tss_update | ( | void | ) |
Sets the ring 0 stack pointer in the TSS to point to the end of the thread stack.
Definition at line 102 of file tss.c.
References ASSERT, tss::esp0, NULL, PGSIZE, and thread_current().
Referenced by process_activate(), and tss_init().