update for mooc OS labs

This commit is contained in:
yuchen
2015-01-30 20:20:30 +08:00
parent 6a4eb1f465
commit 87059df293
57 changed files with 586 additions and 129 deletions

View File

@@ -8,9 +8,9 @@
#include <clock.h>
#include <intr.h>
#include <pmm.h>
#include <kmonitor.h>
int kern_init(void) __attribute__((noreturn));
void grade_backtrace(void);
static void lab1_switch_test(void);
int
@@ -37,7 +37,7 @@ kern_init(void) {
//LAB1: CAHLLENGE 1 If you try to do it, uncomment lab1_switch_test()
// user/kernel mode switch test
//lab1_switch_test();
lab1_switch_test();
/* do nothing */
while (1);
@@ -84,11 +84,24 @@ lab1_print_cur_status(void) {
static void
lab1_switch_to_user(void) {
//LAB1 CHALLENGE 1 : TODO
asm volatile (
"sub $0x8, %%esp \n"
"int %0 \n"
"movl %%ebp, %%esp"
:
: "i"(T_SWITCH_TOU)
);
}
static void
lab1_switch_to_kernel(void) {
//LAB1 CHALLENGE 1 : TODO
asm volatile (
"int %0 \n"
"movl %%ebp, %%esp \n"
:
: "i"(T_SWITCH_TOK)
);
}
static void