Commit Graph

124 Commits

Author SHA1 Message Date
manu 80ee637534 - Introduce a e_fault field in struct proc to provide emulation specific
memory fault handler. IRIX uses irix_vm_fault, and all other emulation
use NULL, which means to use uvm_fault.

- While we are there, explicitely set to NULL the uninitialized fields in
struct emul: e_fault and e_sysctl on most ports

- e_fault is used by the trap handler, for now only on mips. In order to avoid
intrusive modifications in UVM, the function pointed by e_fault does not
has exactly the same protoype as uvm_fault:
int uvm_fault __P((struct vm_map *, vaddr_t, vm_fault_t, vm_prot_t));
int e_fault __P((struct proc *, vaddr_t, vm_fault_t, vm_prot_t));

- In IRIX share groups, all the VM space is shared, except one page.
This bounds us to have different VM spaces and synchronize modifications
to the VM space accross share group members. We need an IRIX specific hook
to the page fault handler in order to propagate VM space modifications
caused by page faults.
2002-09-21 21:14:54 +00:00
scw bef00d4895 m68k syscall rototill:
- Switch all m68k-based ports over to __HAVE_SYSCALL_INTERN.
 - Add systrace glue.
 - Define struct mdproc in <m68k/proc.h> instead of <machine/proc.h>.
   (They were all defined exactly the same anyway, other than a couple
   of the MDP_* flags.)
2002-07-13 08:28:40 +00:00
eeh 89e107d917 Regen. 2002-05-03 00:22:16 +00:00
eeh 9bd29db83b Use #if defined(_LP64) to determine if we're generating 64-bit binaries,
not #if defined(alpha).
2002-05-03 00:20:56 +00:00
christos 381e6a7764 make the stackgap_{init,alloc} functions MP friendly (i.e. pass struct proc *
in, instead of using curproc). While there add an optional size argument to
stackgap_init.
2002-03-16 20:43:48 +00:00
lukem dab6ef8b56 add RCSIDs (including regeneration of files as appropriate) 2001-11-13 02:07:52 +00:00
jdolecek ef8abe0767 Make the setregs hook emulation-specific, rather than executable
format specific.
Struct emul has a e_setregs hook back, which points to emulation-specific
setregs function. es_setregs of struct execsw now only points to
optional executable-specific setup function (this is only used for
ECOFF).
2001-09-18 19:36:32 +00:00
christos 0f380fac15 Add an e_trapsignal member to struct emul, so that emulated processes can
send the appropriate signal depending on the trap type.
2001-06-18 02:00:48 +00:00
mrg 6a89288a37 use _KERNEL_OPT. 2001-05-30 11:37:21 +00:00
tsutsui aff5787b5b Regen from aoutm68k/syscalls.master rev 1.5:
> Allow enabling/disabling /emul/aout alternate path search
> on COMPAT_AOUT_M68K environment by options COMPAT_AOUT_ALTPATH.
2001-04-07 12:28:55 +00:00
tsutsui 0286ef8bba Allow enabling/disabling /emul/aout alternate path search
on COMPAT_AOUT_M68K environment by options COMPAT_AOUT_ALTPATH.
2001-04-07 12:25:15 +00:00
thorpej 987590c661 Regen; getpid(2) is MP-safe. 2001-01-27 07:52:20 +00:00
thorpej 4f58e50fa7 getpid(2) is MP-safe. 2001-01-27 07:51:22 +00:00
thorpej 1b6a66420e Regen; add sy_flags. 2001-01-27 07:23:06 +00:00
jdolecek 13ca559d39 Use CHECK_ALT_SYMLINK() instead CHECK_ALT_EXISTS() where appropriate.
This addresses kern/11757.
2001-01-22 20:08:03 +00:00
mycroft f495cd9dc6 Introduce 2 new flags in types.h:
* __HAVE_SYSCALL_INTERN.  If this is defined, e_syscall is replaced by
  e_syscall_intern, which is called at key places in the kernel.  This can be
  used to set a MD syscall handler pointer.  This obsoletes and replaces the
  *_HAS_SEPARATED_SYSCALL flags.
* __HAVE_MINIMAL_EMUL.  If this is defined, certain (deprecated) elements in
  struct emul are omitted.
2000-12-11 05:28:59 +00:00
jdolecek a6ca890142 always fill in e_syscall in respective emul_*; if the emulation doesn't
have it's own separated *_syscall() function, use syscall()
2000-12-09 12:38:23 +00:00
mycroft f348afacb9 Regen. 2000-12-09 05:37:01 +00:00
mycroft 9682cf0b09 Add the %% separators. 2000-12-09 05:27:28 +00:00
jdolecek f4c6609be7 change emulation name from 'netbsd' to 'aoutm68k' 2000-12-08 20:07:43 +00:00
jdolecek 6f1bed130e regen 2000-12-06 21:26:07 +00:00
jdolecek 79e6f66114 make LKM safe 2000-12-06 21:25:39 +00:00
jdolecek 3a7eb81dbe make LKM safe (need to use if/endif, #if/#endif is filtered out by makesyscalls.sh) 2000-12-06 21:24:47 +00:00
scw 47a35be2c9 Initial cut of COMPAT_AOUT_M68K.
This gets most existing m68k a.out binaries working with m68k ELF
kernels.

There are still some remaining ABI issues to track down; most notably,
some ioctl(2) calls are affected by the change.
2000-12-02 20:40:03 +00:00