skas.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*
  2. * Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
  3. * Licensed under the GPL
  4. */
  5. #ifndef __SKAS_H
  6. #define __SKAS_H
  7. #include "sysdep/ptrace.h"
  8. extern int userspace_pid[];
  9. extern void switch_threads(void *me, void *next);
  10. extern void thread_wait(void *sw, void *fb);
  11. extern void new_thread(void *stack, void **switch_buf_ptr, void **fork_buf_ptr,
  12. void (*handler)(int));
  13. extern int start_idle_thread(void *stack, void *switch_buf_ptr,
  14. void **fork_buf_ptr);
  15. extern int user_thread(unsigned long stack, int flags);
  16. extern void userspace(union uml_pt_regs *regs);
  17. extern void new_thread_proc(void *stack, void (*handler)(int sig));
  18. extern void remove_sigstack(void);
  19. extern void new_thread_handler(int sig);
  20. extern void handle_syscall(union uml_pt_regs *regs);
  21. extern void map(int fd, unsigned long virt, unsigned long len, int r, int w,
  22. int x, int phys_fd, unsigned long long offset);
  23. extern int unmap(int fd, void *addr, unsigned long len);
  24. extern int protect(int fd, unsigned long addr, unsigned long len,
  25. int r, int w, int x);
  26. extern void user_signal(int sig, union uml_pt_regs *regs, int pid);
  27. extern int new_mm(int from);
  28. extern void start_userspace(int cpu);
  29. extern void get_skas_faultinfo(int pid, struct faultinfo * fi);
  30. extern long execute_syscall_skas(void *r);
  31. #endif
  32. /*
  33. * Overrides for Emacs so that we follow Linus's tabbing style.
  34. * Emacs will notice this stuff at the end of the file and automatically
  35. * adjust the settings for this buffer only. This must remain at the end
  36. * of the file.
  37. * ---------------------------------------------------------------------------
  38. * Local variables:
  39. * c-file-style: "linux"
  40. * End:
  41. */