Linux-2.6.12-rc2
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
This commit is contained in:
24
arch/um/kernel/skas/include/mmu-skas.h
Normal file
24
arch/um/kernel/skas/include/mmu-skas.h
Normal file
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
* Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
|
||||
* Licensed under the GPL
|
||||
*/
|
||||
|
||||
#ifndef __SKAS_MMU_H
|
||||
#define __SKAS_MMU_H
|
||||
|
||||
struct mmu_context_skas {
|
||||
int mm_fd;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* 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:
|
||||
*/
|
34
arch/um/kernel/skas/include/mode-skas.h
Normal file
34
arch/um/kernel/skas/include/mode-skas.h
Normal file
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
|
||||
* Licensed under the GPL
|
||||
*/
|
||||
|
||||
#ifndef __MODE_SKAS_H__
|
||||
#define __MODE_SKAS_H__
|
||||
|
||||
#include <sysdep/ptrace.h>
|
||||
|
||||
extern unsigned long exec_regs[];
|
||||
extern unsigned long exec_fp_regs[];
|
||||
extern unsigned long exec_fpx_regs[];
|
||||
extern int have_fpx_regs;
|
||||
|
||||
extern void user_time_init_skas(void);
|
||||
extern void sig_handler_common_skas(int sig, void *sc_ptr);
|
||||
extern void halt_skas(void);
|
||||
extern void reboot_skas(void);
|
||||
extern void kill_off_processes_skas(void);
|
||||
extern int is_skas_winch(int pid, int fd, void *data);
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* 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:
|
||||
*/
|
53
arch/um/kernel/skas/include/mode_kern-skas.h
Normal file
53
arch/um/kernel/skas/include/mode_kern-skas.h
Normal file
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
* Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
|
||||
* Licensed under the GPL
|
||||
*/
|
||||
|
||||
#ifndef __SKAS_MODE_KERN_H__
|
||||
#define __SKAS_MODE_KERN_H__
|
||||
|
||||
#include "linux/sched.h"
|
||||
#include "asm/page.h"
|
||||
#include "asm/ptrace.h"
|
||||
|
||||
extern void flush_thread_skas(void);
|
||||
extern void *switch_to_skas(void *prev, void *next);
|
||||
extern void start_thread_skas(struct pt_regs *regs, unsigned long eip,
|
||||
unsigned long esp);
|
||||
extern int copy_thread_skas(int nr, unsigned long clone_flags,
|
||||
unsigned long sp, unsigned long stack_top,
|
||||
struct task_struct *p, struct pt_regs *regs);
|
||||
extern void release_thread_skas(struct task_struct *task);
|
||||
extern void exit_thread_skas(void);
|
||||
extern void initial_thread_cb_skas(void (*proc)(void *), void *arg);
|
||||
extern void init_idle_skas(void);
|
||||
extern void flush_tlb_kernel_range_skas(unsigned long start,
|
||||
unsigned long end);
|
||||
extern void flush_tlb_kernel_vm_skas(void);
|
||||
extern void __flush_tlb_one_skas(unsigned long addr);
|
||||
extern void flush_tlb_range_skas(struct vm_area_struct *vma,
|
||||
unsigned long start, unsigned long end);
|
||||
extern void flush_tlb_mm_skas(struct mm_struct *mm);
|
||||
extern void force_flush_all_skas(void);
|
||||
extern long execute_syscall_skas(void *r);
|
||||
extern void before_mem_skas(unsigned long unused);
|
||||
extern unsigned long set_task_sizes_skas(int arg, unsigned long *host_size_out,
|
||||
unsigned long *task_size_out);
|
||||
extern int start_uml_skas(void);
|
||||
extern int external_pid_skas(struct task_struct *task);
|
||||
extern int thread_pid_skas(struct task_struct *task);
|
||||
|
||||
#define kmem_end_skas (host_task_size - 1024 * 1024)
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* 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:
|
||||
*/
|
55
arch/um/kernel/skas/include/proc_mm.h
Normal file
55
arch/um/kernel/skas/include/proc_mm.h
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
|
||||
* Licensed under the GPL
|
||||
*/
|
||||
|
||||
#ifndef __SKAS_PROC_MM_H
|
||||
#define __SKAS_PROC_MM_H
|
||||
|
||||
#define MM_MMAP 54
|
||||
#define MM_MUNMAP 55
|
||||
#define MM_MPROTECT 56
|
||||
#define MM_COPY_SEGMENTS 57
|
||||
|
||||
struct mm_mmap {
|
||||
unsigned long addr;
|
||||
unsigned long len;
|
||||
unsigned long prot;
|
||||
unsigned long flags;
|
||||
unsigned long fd;
|
||||
unsigned long offset;
|
||||
};
|
||||
|
||||
struct mm_munmap {
|
||||
unsigned long addr;
|
||||
unsigned long len;
|
||||
};
|
||||
|
||||
struct mm_mprotect {
|
||||
unsigned long addr;
|
||||
unsigned long len;
|
||||
unsigned int prot;
|
||||
};
|
||||
|
||||
struct proc_mm_op {
|
||||
int op;
|
||||
union {
|
||||
struct mm_mmap mmap;
|
||||
struct mm_munmap munmap;
|
||||
struct mm_mprotect mprotect;
|
||||
int copy_segments;
|
||||
} u;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* 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:
|
||||
*/
|
46
arch/um/kernel/skas/include/skas.h
Normal file
46
arch/um/kernel/skas/include/skas.h
Normal file
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
* Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
|
||||
* Licensed under the GPL
|
||||
*/
|
||||
|
||||
#ifndef __SKAS_H
|
||||
#define __SKAS_H
|
||||
|
||||
#include "sysdep/ptrace.h"
|
||||
|
||||
extern int userspace_pid[];
|
||||
|
||||
extern void switch_threads(void *me, void *next);
|
||||
extern void thread_wait(void *sw, void *fb);
|
||||
extern void new_thread(void *stack, void **switch_buf_ptr, void **fork_buf_ptr,
|
||||
void (*handler)(int));
|
||||
extern int start_idle_thread(void *stack, void *switch_buf_ptr,
|
||||
void **fork_buf_ptr);
|
||||
extern int user_thread(unsigned long stack, int flags);
|
||||
extern void userspace(union uml_pt_regs *regs);
|
||||
extern void new_thread_proc(void *stack, void (*handler)(int sig));
|
||||
extern void remove_sigstack(void);
|
||||
extern void new_thread_handler(int sig);
|
||||
extern void handle_syscall(union uml_pt_regs *regs);
|
||||
extern void map(int fd, unsigned long virt, unsigned long len, int r, int w,
|
||||
int x, int phys_fd, unsigned long long offset);
|
||||
extern int unmap(int fd, void *addr, unsigned long len);
|
||||
extern int protect(int fd, unsigned long addr, unsigned long len,
|
||||
int r, int w, int x);
|
||||
extern void user_signal(int sig, union uml_pt_regs *regs);
|
||||
extern int new_mm(int from);
|
||||
extern void start_userspace(int cpu);
|
||||
extern long execute_syscall_skas(void *r);
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* 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:
|
||||
*/
|
45
arch/um/kernel/skas/include/uaccess-skas.h
Normal file
45
arch/um/kernel/skas/include/uaccess-skas.h
Normal file
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
|
||||
* Licensed under the GPL
|
||||
*/
|
||||
|
||||
#ifndef __SKAS_UACCESS_H
|
||||
#define __SKAS_UACCESS_H
|
||||
|
||||
#include "asm/errno.h"
|
||||
#include "asm/fixmap.h"
|
||||
|
||||
#define access_ok_skas(type, addr, size) \
|
||||
((segment_eq(get_fs(), KERNEL_DS)) || \
|
||||
(((unsigned long) (addr) < TASK_SIZE) && \
|
||||
((unsigned long) (addr) + (size) <= TASK_SIZE)) || \
|
||||
((type == VERIFY_READ ) && \
|
||||
((unsigned long) (addr) >= FIXADDR_USER_START) && \
|
||||
((unsigned long) (addr) + (size) <= FIXADDR_USER_END) && \
|
||||
((unsigned long) (addr) + (size) >= (unsigned long)(addr))))
|
||||
|
||||
static inline int verify_area_skas(int type, const void * addr,
|
||||
unsigned long size)
|
||||
{
|
||||
return(access_ok_skas(type, addr, size) ? 0 : -EFAULT);
|
||||
}
|
||||
|
||||
extern int copy_from_user_skas(void *to, const void *from, int n);
|
||||
extern int copy_to_user_skas(void *to, const void *from, int n);
|
||||
extern int strncpy_from_user_skas(char *dst, const char *src, int count);
|
||||
extern int __clear_user_skas(void *mem, int len);
|
||||
extern int clear_user_skas(void *mem, int len);
|
||||
extern int strnlen_user_skas(const void *str, int len);
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* 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:
|
||||
*/
|
Reference in New Issue
Block a user