49 lines
1.2 KiB
C
49 lines
1.2 KiB
C
|
/*
|
||
|
* Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
|
||
|
* Licensed under the GPL
|
||
|
*/
|
||
|
|
||
|
#include "linux/sched.h"
|
||
|
#include "linux/list.h"
|
||
|
#include "linux/spinlock.h"
|
||
|
#include "linux/slab.h"
|
||
|
#include "asm/current.h"
|
||
|
#include "asm/segment.h"
|
||
|
#include "asm/mmu.h"
|
||
|
#include "os.h"
|
||
|
#include "skas.h"
|
||
|
|
||
|
int init_new_context_skas(struct task_struct *task, struct mm_struct *mm)
|
||
|
{
|
||
|
int from;
|
||
|
|
||
|
if((current->mm != NULL) && (current->mm != &init_mm))
|
||
|
from = current->mm->context.skas.mm_fd;
|
||
|
else from = -1;
|
||
|
|
||
|
mm->context.skas.mm_fd = new_mm(from);
|
||
|
if(mm->context.skas.mm_fd < 0){
|
||
|
printk("init_new_context_skas - new_mm failed, errno = %d\n",
|
||
|
mm->context.skas.mm_fd);
|
||
|
return(mm->context.skas.mm_fd);
|
||
|
}
|
||
|
|
||
|
return(0);
|
||
|
}
|
||
|
|
||
|
void destroy_context_skas(struct mm_struct *mm)
|
||
|
{
|
||
|
os_close_file(mm->context.skas.mm_fd);
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
* Overrides for Emacs so that we follow Linus's tabbing style.
|
||
|
* Emacs will notice this stuff at the end of the file and automatically
|
||
|
* adjust the settings for this buffer only. This must remain at the end
|
||
|
* of the file.
|
||
|
* ---------------------------------------------------------------------------
|
||
|
* Local variables:
|
||
|
* c-file-style: "linux"
|
||
|
* End:
|
||
|
*/
|