]>
Commit | Line | Data |
---|---|---|
995473ae JD |
1 | /* |
2 | * Copyright (C) 2002 Jeff Dike ([email protected]) | |
3 | * Licensed under the GPL | |
4 | */ | |
5 | ||
6 | #include "linux/kernel.h" | |
7 | #include "asm/current.h" | |
8 | #include "asm/page.h" | |
9 | #include "asm/signal.h" | |
10 | #include "asm/ptrace.h" | |
11 | #include "asm/uaccess.h" | |
12 | #include "asm/mmu_context.h" | |
13 | #include "tlb.h" | |
14 | #include "skas.h" | |
15 | #include "um_mmu.h" | |
16 | #include "os.h" | |
17 | ||
18 | void flush_thread_skas(void) | |
19 | { | |
a18ff1bd JD |
20 | void *data = NULL; |
21 | unsigned long end = proc_mm ? task_size : CONFIG_STUB_START; | |
22 | int ret; | |
23 | ||
24 | ret = unmap(¤t->mm->context.skas.id, 0, end, 1, &data); | |
25 | if(ret){ | |
26 | printk("flush_thread_skas - clearing address space failed, " | |
27 | "err = %d\n", ret); | |
28 | force_sig(SIGKILL, current); | |
29 | } | |
30 | ||
995473ae JD |
31 | switch_mm_skas(¤t->mm->context.skas.id); |
32 | } | |
33 | ||
34 | void start_thread_skas(struct pt_regs *regs, unsigned long eip, | |
35 | unsigned long esp) | |
36 | { | |
37 | set_fs(USER_DS); | |
38 | PT_REGS_IP(regs) = eip; | |
39 | PT_REGS_SP(regs) = esp; | |
40 | } |