christos
47e40fce3a
Add nanosecond handling on the stat and stat64 code for the i386.
2005-03-10 14:12:27 +00:00
perry
77f2a006d0
regen
2005-02-26 23:58:19 +00:00
perry
a7f74206ba
regen
2005-02-26 23:20:00 +00:00
perry
477853c351
nuke trailing whitespace
2005-02-26 22:58:54 +00:00
christos
040c934485
Remove setup stack function. It moved to linux_exec_machdep.c.
2004-11-13 08:58:23 +00:00
christos
b7286f5ccd
Add ptyfs pty device number translation.
2004-11-13 07:20:54 +00:00
christos
1265044e00
add LINUX_TIOCGPTN
2004-11-13 07:20:35 +00:00
christos
7bd9648b13
Split out the setup stack function for the benefit of lkms.
...
XXX: Our lkm system sucks. We really need to be exporting symbols, but
that leads to symbol conflicts.
2004-11-13 06:01:34 +00:00
thorpej
42b8fac3b8
Move boot device detection code from i386 and amd64 ports to x86_autoconf.c.
...
Rename i386_alldisks and x86_64_alldisks to x86_alldisks, adjust other
references to compensate.
2004-10-20 04:20:05 +00:00
jdolecek
6513aa8291
regen: generate struct linux_sys_shmget_args for linux_sys_shmget(2)
2004-10-05 06:02:36 +00:00
jdolecek
361bf102b8
mark linux_sys_shmget() STD, so that appropriate struct linux_sys_shmget_args
...
would be defined for use by alpha linux_sysent.c
2004-10-05 06:01:20 +00:00
jdolecek
decdc3f95c
regen - now using wrapper for shmget(2)
2004-09-28 19:05:58 +00:00
jdolecek
f64366a240
add flag for shmget(2) to specify that later shmat(2) for the shared memory
...
segment should succeed even if the segment would be marked removed; use this
to implement the Linux-compatible semantics of shmat(2)
this fixes the old Linux VMware3 graphics problem with local display,
and possibly other local Linux X clients using MIT-SHM
2004-09-28 19:05:19 +00:00
jdolecek
81ed8f7972
move definition of linux_fsid_t to common/linux_types.h - it's identical
...
across all Linux archs
2004-09-20 18:51:55 +00:00
jdolecek
43b3feff28
regen:
...
implement support for Linux statfs64() syscall - 64bit variant of statfs()
2004-09-20 18:42:23 +00:00
jdolecek
110cc1cc61
implement support for Linux statfs64() syscall - 64bit variant of statfs()
2004-09-20 18:41:07 +00:00
jdolecek
2580579147
move definition of struct linux_stafs to common/linux_types.h, and use
...
explicit size types - the structure definition is actually identical
on currently support COMPAT_LINUX archs, so no point to have 6 copies of it
in the tree
2004-09-19 15:06:32 +00:00
jdolecek
3b18315bb9
regen: add exit_group(2)
2004-09-08 19:46:17 +00:00
jdolecek
78569d6650
implement basic exit_group(2), which just terminates calling thread;
...
apparently not many apps use thread groups yet, at least not with default
SuSE 9.1 libraries, so this is enough for now
2004-09-08 19:45:21 +00:00
jdolecek
a95e4d7c87
g/c LINUX_MAP_IGNMASK define - it's not used anywhere
2004-08-28 18:58:57 +00:00
jdolecek
88c36114af
regen - sync syscall lists with Linux kernel 2.6.7
2004-08-01 15:38:10 +00:00
jdolecek
6e41cd161f
add entries for #403 , #404 (unused)
2004-08-01 15:36:23 +00:00
jdolecek
d1d5ac79b4
sync the syscall lists with Linux kernel 2.6.7
2004-08-01 15:34:22 +00:00
jdolecek
945fc3e577
regen:
...
add stub entries for syscalls added until Linux kernel 2.6.7
move the ARM-specific syscall range up to offset 0x180, to make room
for the new syscalls
2004-08-01 14:17:19 +00:00
jdolecek
2873b62b57
add stub entries for syscalls added until Linux kernel 2.6.7
...
move the ARM-specific syscall range up to offset 0x180, to make room
for the new syscalls
2004-08-01 14:16:32 +00:00
jdolecek
4b33174cf9
regen:
...
connect madvise(2) and mincore(2) - apparently the newer Linux libs
don't stub it anymore, so allow the application to take advantage
of them
the Linux calls appear to be compatible in the flag values and semantics,
so a wrapper is not necessary
2004-08-01 10:38:38 +00:00
jdolecek
ae85fa27f7
connect madvise(2) and mincore(2) - apparently the newer Linux libs
...
don't stub it anymore, so allow the application to take advantage
of them
the Linux calls appear to be compatible in the flag values and semantics,
so a wrapper is not necessary
2004-08-01 10:32:40 +00:00
chs
f8fa568ead
remove the LINUX_SP_WRAP hack since it doesn't seem to be needed anymore,
...
and removing it lets us go back to mapping the stack non-executable again.
2004-07-25 23:26:44 +00:00
manu
31f25e173c
Fix a reversed errno issue for Linux binaries on mips. While we are there,
...
fix broken includes for alpha and m68k.
2004-06-19 22:59:40 +00:00
manu
b2563527a8
Build COMPAT_LINUX again on mips after the siginfo change.
2004-06-19 18:45:30 +00:00
manu
0d510f3e7e
include <sys/resourcevar.h>. It is not required for building -current,
...
but it is for -netbsd-2-0. Next step is to pull up the change...
2004-06-18 17:06:15 +00:00
manu
6b1a152604
COMPAT_LINUX/powerpc used the native stack setup routine, but now the
...
native version does non executable mappings on the stack. This is a
showstopper for Linux binaries.
To fix that we supply a copy f the native stack setup function for Linux
binaries, with the executable bit set.
2004-06-16 00:03:25 +00:00
matt
a6b639c3a5
Switch to using PSL_USEROK_P()
...
Use new save_fpu_lwp sematics to save or discard the fpu state appropriately.
2004-04-17 08:47:15 +00:00
drochner
d19f706361
all ports define __HAVE_SIGINFO now, so remove the CPP conditionals
2004-03-26 17:34:18 +00:00
yamt
2a93afdfd5
rename i386 mdlwp flags from MDP_ to MDL_
...
to avoid confusion with mdproc flags which also have MDP_ prefixes.
2004-01-28 10:48:55 +00:00
christos
5c9b8df403
remove error(1) comment.
2003-12-08 17:51:53 +00:00
atatat
13f8d2ce5f
Dynamic sysctl.
...
Gone are the old kern_sysctl(), cpu_sysctl(), hw_sysctl(),
vfs_sysctl(), etc, routines, along with sysctl_int() et al. Now all
nodes are registered with the tree, and nodes can be added (or
removed) easily, and I/O to and from the tree is handled generically.
Since the nodes are registered with the tree, the mapping from name to
number (and back again) can now be discovered, instead of having to be
hard coded. Adding new nodes to the tree is likewise much simpler --
the new infrastructure handles almost all the work for simple types,
and just about anything else can be done with a small helper function.
All existing nodes are where they were before (numerically speaking),
so all existing consumers of sysctl information should notice no
difference.
PS - I'm sorry, but there's a distinct lack of documentation at the
moment. I'm working on sysctl(3/8/9) right now, and I promise to
watch out for buses.
2003-12-04 19:38:21 +00:00
matt
f2e488d9af
Adapt to SIGINFO changes.
2003-10-10 18:08:04 +00:00
matt
0dbe439e05
Adapt ARM Linux compat code to deal with SIGINFO.
2003-10-10 14:44:42 +00:00
matt
25fb6de823
Adapt to SIGINFO changes.
2003-10-10 02:26:54 +00:00
thorpej
8321b2554f
Use ksi_signo accessor macro.
2003-10-08 00:39:57 +00:00
christos
07ceba4419
Catch up with chuck's stack changes. Don't map the linux stuff executable
...
and avoid mapping segments that have 0 size.
2003-10-06 03:45:40 +00:00
cl
ea7f5f55b4
fix fmovem argument reference
2003-09-28 00:15:13 +00:00
cl
af0728fff5
catch up with const sigset_t
2003-09-28 00:07:50 +00:00
simonb
550b4bef88
Fix "constify sendsig/trapsignal" fallout for non-siginfo'd archs. Test
...
compiled on most architectures.
2003-09-26 12:02:55 +00:00
christos
cfba45c856
constify sendsig/trapsignal
2003-09-25 22:00:02 +00:00
matt
85a5f3065d
Add siginfo support for PowerPC.
2003-09-25 18:42:18 +00:00
cl
11af0a3c8d
SA_SIGINFO support for m68k (emul linux)
2003-09-22 14:36:42 +00:00
jdolecek
bc83b2f421
make compile after last change (!)
2003-09-21 19:29:10 +00:00
christos
9b18cdecf8
Now that we have siginfo, use it, instead of pretending to have one.
2003-09-21 17:42:23 +00:00
christos
e2c278d8c0
SA_SIGINFO changes
2003-09-06 22:09:20 +00:00
chs
939df36e55
add support for non-executable mappings (where the hardware allows this)
...
and make the stack and heap non-executable by default. the changes
fall into two basic catagories:
- pmap and trap-handler changes. these are all MD:
= alpha: we already track per-page execute permission with the (software)
PG_EXEC bit, so just have the trap handler pay attention to it.
= i386: use a new GDT segment for %cs for processes that have no
executable mappings above a certain threshold (currently the
bottom of the stack). track per-page execute permission with
the last unused PTE bit.
= powerpc/ibm4xx: just use the hardware exec bit.
= powerpc/oea: we already track per-page exec bits, but the hardware only
implements non-exec mappings at the segment level. so track the
number of executable mappings in each segment and turn on the no-exec
segment bit iff the count is 0. adjust the trap handler to deal.
= sparc (sun4m): fix our use of the hardware protection bits.
fix the trap handler to recognize text faults.
= sparc64: split the existing unified TSB into data and instruction TSBs,
and only load TTEs into the appropriate TSB(s) for the permissions.
fix the trap handler to check for execute permission.
= not yet implemented: amd64, hppa, sh5
- changes in all the emulations that put a signal trampoline on the stack.
instead, we now put the trampoline into a uvm_aobj and map that into
the process separately.
originally from openbsd, adapted for netbsd by me.
2003-08-24 17:52:28 +00:00
dsl
dc46f864d1
Hide prototype of linux_exec_setup_stack() inside #ifdef _KERNEL so
...
that sbin/sysctl will compile.
2003-08-21 15:08:25 +00:00
hannken
1a2d1be737
Fix syscall_vm86 argument:
...
struct trapframe -> struct trapframe *
2003-08-21 08:36:56 +00:00
christos
329946a58b
remove the args from the macro.
2003-08-14 02:17:07 +00:00
jdolecek
c336185a31
regen - added wrapper for Linux ftruncate64()
2003-08-10 20:17:21 +00:00
jdolecek
94b152275c
add Linux compat arg wrapper for ftruncate64(), and change linux compat
...
truncate64() wrapper to translate args structure
NetBSD truncate() and ftrucate() have hidden 'pad' argument, so we have
to do the argument translation
Problem found and patch supplied in PR kern/22360 by Ales Krenek
This is the last of syscalls with hidden 'pad' arg we didn't have
wrapper for; all the others (lseek, mmap, pwrite, pread) already had
wrapper before.
2003-08-10 20:16:20 +00:00
christos
36e09d1a2c
Explain a diagnostic message a bit better, and make it a debug only message.
2003-08-09 14:16:44 +00:00
christos
3b9c3c5aab
- GC all the setup_stack functions
...
- add one for linux/i386
2003-08-08 18:57:01 +00:00
jdolecek
d6ade97eb9
use copyout() instead of subyte()
2003-08-02 20:23:48 +00:00
jdolecek
e0fe42681d
use copyin()/copyout() instead of fubyte()/subyte()
...
also nuke uvm_useracc() check, copyin()/copyout() do this atomically
XXX only compile-tested
2003-08-02 19:51:23 +00:00
jdolecek
16b74086ed
replace fuword() with copyin(), and suword() with copyout()
2003-08-02 19:21:48 +00:00
jdolecek
21f695a1ae
add LINUX_SO_PEERNAME, LINUX_SO_TIMESTAMP where it has been missing
...
fix value for LINUX_SO_DETACH_FILTER on couple places (unused anyway)
g/c LINUX_SCM_TIMESTAMP definition for some archs, it will be defined
in generic linux_socket.h
2003-07-26 19:59:29 +00:00
christos
28f544c476
Regen.
2003-07-03 21:25:07 +00:00
christos
c23e21bca5
Implement linux_rt_sigreturn for real. Add a hack for more plausible siginfo.
...
The java segv handler still segv's again inside the signal handler, but our
sample test program now works [gets the proper ucontext].
2003-07-03 21:24:27 +00:00
fvdl
d5aece61d6
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
...
and need to be examined and discussed more.
2003-06-29 22:28:00 +00:00
thorpej
9f722af1c9
Adapt to ktrace/lwp changes.
2003-06-29 16:10:48 +00:00
thorpej
38271de3f4
Regen: adapt to linux mmap2 changes.
2003-06-29 16:08:36 +00:00
thorpej
8ab744356a
Adapt to linux mmap2 changes.
2003-06-29 16:07:58 +00:00
simonb
2bda3187f5
Fix 'struct lwp *' lossage.
2003-06-29 15:14:11 +00:00
darrenr
257443876f
'struct proc *' -> 'struct lwp *' as required to get GENERIC for macppc built
2003-06-29 11:02:21 +00:00
darrenr
960df3c8d1
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
...
be inserted into ktrace records. The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
2003-06-28 14:20:43 +00:00
he
3686522ed1
Regenerate after adding include of linux_mmap.h.
2003-06-28 07:56:51 +00:00
he
c7ace1c552
Need to include linux_mmap.h to get size of struct linux_sys_mmap2_args.
2003-06-28 07:55:08 +00:00
christos
c9a5d7edc1
Regen.
2003-06-23 21:26:30 +00:00
christos
35637451db
PR/21937: Todd Vierling: Proper support for mmap2
2003-06-23 21:25:56 +00:00
thorpej
d46b766d7d
Use PAGE_SIZE rather than NBPG.
2003-04-01 14:45:09 +00:00
dsl
60418b39b7
Change 'data' argument to fo_ioctl and fo_fcntl from 'caddr_t' to 'void *'.
...
Avoids a lot of casting and removes the need for some line breaks.
Removed a load of (caddr_t) casts from calls to copyin/copyout as well.
(approved by christos - he has a plan to remove caddr_t...)
2003-03-21 21:13:50 +00:00
thorpej
5afa6838bf
Do the syscall_plain/syscall_fancy dance on ARM. Shaves a fair number
...
of cycles off the syscall overhead.
Since all COMPAT_LINUX platforms now support __HAVE_SYSCALL_INTERN,
garbage-collect the LINUX_SYSCALL_FUNCTION stuff.
2003-03-01 04:36:38 +00:00
yamt
da8d9f98f5
make compat_linux struct file interlock friendly.
2003-02-27 16:04:15 +00:00
thorpej
d88bc9c3a2
Regen for correct RCS ID.
2003-01-18 23:36:48 +00:00
thorpej
9509ca1682
Regen for correct RCS IDs.
2003-01-18 23:36:09 +00:00
thorpej
6f62ffcd13
Regen to get correct RCS IDs.
2003-01-18 23:34:34 +00:00
thorpej
a03cb2b851
Regen to get correct RCS ID.
2003-01-18 23:28:15 +00:00
thorpej
9653eab062
Regen: Merge the nathanw_sa branch.
2003-01-18 08:07:52 +00:00
thorpej
3d60b73d4f
Merge the nathanw_sa branch.
2003-01-18 08:06:20 +00:00
thorpej
42f134e02f
Regen: Merge the nathanw_sa branch.
2003-01-18 08:05:32 +00:00
thorpej
46141a3135
Merge the nathanw_sa branch.
2003-01-18 08:02:46 +00:00
junyoung
81ed087074
- Rename struct linux_ctx to linux_fpctx.
...
- KNF.
2002-12-08 11:20:22 +00:00
tron
96ece1f13e
Fix namespace collision caused by recent change to "linux_machdep.h".
2002-12-06 10:51:27 +00:00
junyoung
9104ddf809
Fix compile error.
2002-12-06 03:37:19 +00:00
christos
ef042d8e23
add a linux_rt_sigframe to support SA_SIGINFO, and use it when SA_SIGINFO
...
is requested. This appears to be how linuxthreads decides which signal handler
to use.
2002-12-06 00:02:59 +00:00
christos
116bcb05d0
rename: s/sa_/<compat>sa/g
2002-11-26 18:43:20 +00:00
christos
daa59d8957
rename sa_ -> linux_sa_
...
first attempt at providing siginfo_t to the signal handler.
2002-11-26 18:42:38 +00:00
jdolecek
2ca4879bd1
g/c also mips-specific linux ELF copyargs function prototype and
...
linux ELF defines, use generic Aux32Info instead
this also adresses kern/19047 by FUKAUMI Naoki
2002-11-21 15:32:32 +00:00
jdolecek
3590104898
g/c local definition of LINUX_ELF_AUX_ENTRIES
2002-11-21 15:18:37 +00:00
jdolecek
cee43b67cc
add generic linux compat ELF copyargs function
...
this gives:
* linux sysconf(_SC_CLK_TCK) gives correct value for linux binaries (hz)
even if hz != 100
* glibc gets proper information on real/effective uid and enables
secure mode for suid binaries
g/c LINUX_COPYARGS_FUNCTION, replaced by linux ELF copyargs function
g/c alpha-specific linux ELF copyargs function and linux ELF defines
2002-11-13 15:16:27 +00:00
jdolecek
9def367548
need to use Aux32Info explicitly, not AuxInfo alone, to work
...
within context of kern/exec_conf.c
2002-11-13 14:35:15 +00:00
jdolecek
dc57bd5cb7
eliminate remaining LinuxAuxInfo
2002-11-13 13:42:06 +00:00
jdolecek
e97bb63dae
need to use LINUX_ELF_AUX_ENTRIES in LINUX_ELF_AUX_ARGSIZ
...
how this ever could have worked?
2002-11-13 13:40:51 +00:00
jdolecek
3e8efcdd61
use generic ELF AuxInfo, no need to define a 'linux' variant here
...
simplify LINUX_ELF_AUX_ARGSIZ definition, LINUX_SP_WRAP is always defined here
2002-11-13 13:37:22 +00:00
jdolecek
8bf8260072
regen: nsysent set to 256
2002-11-01 20:24:23 +00:00
jdolecek
11422af13d
nsysent set to 256, and use linux_sys_nosys()
2002-11-01 20:23:23 +00:00
jdolecek
d53c88616f
add appropriate nsysent, and use linux_sys_nosys as sys_nosys
2002-11-01 20:20:52 +00:00
jdolecek
faf637ce78
add appropriate nsysent
2002-11-01 20:20:10 +00:00
jdolecek
de9c76a3b0
add appropriate sys_nosys and nsysent (not that it matters here too much)
2002-11-01 20:19:29 +00:00
junyoung
33ecb0af91
Get rid of pcb_flags which is no longer existent.
2002-10-09 05:07:55 +00:00
thorpej
71404bb533
Don't include <sys/map.h>.
2002-09-25 22:21:01 +00:00
gehenna
77a6b82b27
Merge the gehenna-devsw branch into the trunk.
...
This merge changes the device switch tables from static array to
dynamically generated by config(8).
- All device switches is defined as a constant structure in device drivers.
- The new grammer ``device-major'' is introduced to ``files''.
device-major <prefix> char <num> [block <num>] [<rules>]
- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.
- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.
- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.
- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.
- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
christos
fad54bde7f
Make this match reality [not used yet]
2002-09-05 22:28:10 +00:00
christos
830c5c171a
Implement passing AT_{E,R}{U,G}ID in the elf aux vector, like solaris.
...
- pass struct proc to copyargs.
- eliminate svr4_copyargs, since it is the same as ours now.
2002-08-26 21:05:59 +00:00
enami
bb4aeb0e05
Pull changes done in rev. 1.7 of sys/compat/linux/arch/powerpc/linux_exec.h
...
so that sysctl(8) compiles again.
2002-08-15 06:31:30 +00:00
mrg
19ad2640ac
don't need systm.h here
2002-08-12 07:59:31 +00:00
chs
0724ffc87a
restructure the FPU and AltiVEC code so that it works for MP.
2002-07-28 07:38:34 +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
matt
66eaa16742
Change fpuproc to curcpu()->ci_fpuproc.
2002-07-09 17:41:27 +00:00
thorpej
011d4d5f44
Add kernel support for having userland provide the signal trampoline:
...
* struct sigacts gets a new sigact_sigdesc structure, which has the
sigaction and the trampoline/version. Version 0 means "legacy kernel
provided trampoline". Other versions are coordinated with machine-
dependent code in libc.
* sigaction1() grows two more arguments -- the trampoline pointer and
the trampoline version.
* A new __sigaction_sigtramp() system call is provided to register a
trampoline along with a signal handler.
* The handler is no longer passed to sensig() functions. Instead,
sendsig() looks up the handler by peeking in the sigacts for the
process getting the signal (since it has to look in there for the
trampoline anyway).
* Native sendsig() functions now select the appropriate trampoline and
its arguments based on the trampoline version in the sigacts.
Changes to libc to use the new facility will be checked in later. Kernel
version not bumped; we will ride the 1.6C bump made recently.
2002-07-04 23:32:02 +00:00
jdolecek
aae43707d7
whitespace fixes
2002-05-20 06:26:46 +00:00
jdolecek
def25b45fa
Fix bug introduced in rev. 1.69 - linux_fakedev() returned always
...
zero for nontranslated raw devices.
This fixes recently discovered jdb /dev/dsp stdin problem, reported
on current-users by Mark Davies.
2002-05-20 06:22:43 +00:00
jdolecek
bfbe50611b
On archs with broken linux struct stat64 st_ino, rename linux_stat64's
...
lst_ino to __lst_ino and lst_ino64 to lst_ino, and define
LINUX_STAT64_HAS_BROKEN_ST_INO. Only assign __lst_ino if this define
is present.
This fixes compile on powerpc archs, and hence port-powerpc/16893.
2002-05-19 18:03:15 +00:00
jdolecek
98a5f2b671
hook in truncate64(2) and ftruncate64(2)
2002-05-19 17:55:42 +00:00
jdolecek
973744c531
add missing linux_file64.c, which is needed now
2002-05-19 17:55:08 +00:00
matt
6456f8fa92
Make COMPAT_LINUX compile again on Alpha. linux_getdents64 moved but
...
files.linux_alpha wasn't updated. common/linux_file64.c contains a lot
of syscalls which aren't on Linux/alpha so #ifdef them for alpha.
2002-05-13 05:41:26 +00:00
simonb
7a0dcaf565
Remove an unreachable "return 0;".
2002-05-13 05:35:47 +00:00
jdolecek
9e0898063f
regen - hook linux_sys_fcntl64()
2002-05-12 15:05:56 +00:00
jdolecek
b6168e0ca7
regen - 64 fs syscalls
2002-05-12 15:04:59 +00:00
jdolecek
0197718567
hook in remaining 64bit fs syscalls
...
make most of stuff in linux_file64.c available unconditionally,
with exception of fcntl64, which is not present on Linux m68k
2002-05-12 15:04:27 +00:00
jdolecek
a757d39f99
regen
2002-05-12 13:57:08 +00:00
jdolecek
187c2394f1
update for newer syscalls (from 2.5.15)
...
Linux m68k doesn't seem to have fcntl64 syscall - oversight?
2002-05-12 13:55:54 +00:00
manu
28a3cfe032
Do not restore SR on sigreturn: this could enable the user process to gain
...
unpropre privileges.
2002-04-15 20:48:12 +00:00
christos
7e9e73a53c
regen
2002-04-10 18:19:04 +00:00
christos
db952e86f3
add getdents64
2002-04-10 18:18:26 +00:00
itojun
9998fd3a57
revert previous
2002-04-10 09:53:01 +00:00
itojun
7aef2b4e07
make it compile (missing includes)
2002-04-10 09:37:51 +00:00
christos
866ad0f73f
PR/16231: Ben Harris: m68k does not compile.
2002-04-08 13:27:37 +00:00
christos
e9c4f70b2f
use lsi_ like all other linux emulations.
2002-04-04 22:17:29 +00:00
christos
eda21311fd
save/restore fs and gs; this should be pulled up.
2002-04-02 22:32:16 +00:00
christos
840887afee
bring the reverse signal mapping array into linux_signo.c
2002-03-31 22:40:16 +00:00
christos
ac29fb3782
make signal array handling uniform, and put signal arrays in a separate
...
file. This is simular to errno array handling.
2002-03-31 22:22:43 +00:00
christos
c9e808f0ee
1. fill in the ldt.sd_xx field, for total compat with linux.
...
2. in setregs, use gdt's instead of ldt's because linux wants to play with
all the ldts. Apparently linuxthreads uses ldt's to allocate space for
pthread_t's.
2002-03-29 17:01:49 +00:00
bjh21
99ba40c188
arm26->acorn26 transition.
2002-03-24 15:49:38 +00:00
chs
60b5cc6ac2
make this compile again (PS_STRINGS is gone).
2002-03-23 05:00:04 +00:00
christos
0a4f1c3d8f
sync with current reality and fix debugging.
2002-03-22 18:39:23 +00:00
christos
5681411206
regen
2002-03-22 15:19:53 +00:00
christos
b3c32e7e6d
nuke mmap2, add mprotect
2002-03-22 15:19:43 +00:00
christos
99ff14c9f3
regen
2002-03-22 15:18:48 +00:00
christos
45af46eb53
add mprotect, nuke mmap2
2002-03-22 15:18:13 +00:00
christos
b9a0007d1d
regen
2002-03-22 15:17:17 +00:00
christos
190ffecb97
add mprotect, nuke mmap2
2002-03-22 15:17:04 +00:00
christos
7359db6620
regen
2002-03-22 15:16:14 +00:00
christos
24e38ed8f3
nuke mmap2 add mprotect
2002-03-22 15:16:02 +00:00
christos
f7f4206314
regen.
2002-03-22 15:15:08 +00:00
christos
2b9a2aabe8
nuke mmap2, add mprotect
2002-03-22 15:14:55 +00:00
christos
92945f57fe
regen
2002-03-22 15:11:23 +00:00
christos
22111899d0
1. make sure lines don't wrap
...
2. fix mmap and call it mmap like other ports do, not mmap2
3. implement fcntl64
4. implement mprotect because linux treats args slightly differently.
2002-03-22 15:10:38 +00:00
christos
bda4b15e05
- Now that RT-signals fit, fix the array to deliver them. [i386 only].
...
- jdk-1.4 works perfectly now. :-)
2002-03-19 20:51:59 +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
pooka
28a03499e8
Replace unused padding in struct linux_stat64 by lst_ino64 as found in
...
linux's m68k struct stat64.
makes linux compat compile again
2002-03-16 14:49:29 +00:00
bjh21
a42e17ae9a
__RCSID -> __KERNEL_RCSID
2002-03-10 15:47:43 +00:00
bjh21
64a051900d
Id -> NetBSD in RCSID (oops).
2002-03-10 11:35:32 +00:00
is
728d5e960d
fix some swapped parameters
2002-02-19 22:42:25 +00:00
nathanw
20d013dbed
Regen.
2002-02-19 16:46:12 +00:00
nathanw
502ca4a24b
Add linux_sys_{get,set}rlimit.
2002-02-19 16:44:09 +00:00
nathanw
cbc3e62bf0
Add LINUX_SA_NOCLDWAIT.
2002-02-19 16:35:59 +00:00
rafal
5af2ddd207
Add LINUX_SA_NOCLDWAIT, LINUX_SA_RESTORER, update LINUX_SA_ALLBITS. Linux
...
compat on mips builds again now.
2002-02-19 14:11:49 +00:00
christos
e52b5e4bfb
Resolve alpha compile issues:
...
- bug with order in args in mask conversion md code.
- flags can be both int and long on the alpha. kludge around that, by not
passing pointers to the conversion function.
- something is wrong with the toolchain look at the void * cast in copyout().
- sa_restorer is in a different place on the aplha. Deal with that, by not
initializing it as before. XXX: this should be changed in the MD signal
definition.
2002-02-18 22:24:17 +00:00
christos
1133f20b4f
regen
2002-02-18 20:20:25 +00:00
christos
08739d68be
provide linux_sys_getrlimit and linux_sys_setrlimit
2002-02-18 20:12:49 +00:00
christos
6e293e79bd
regen
2002-02-18 16:36:20 +00:00
christos
7f739a6187
fix comment.
2002-02-18 16:35:57 +00:00
rafal
0208af27ee
Regen: Use linux_sys_{g,s}setrlimit, remove linux_sys_ugetrlimit since
...
linux/mips doesn't seem to have one.
2002-02-18 00:10:26 +00:00
rafal
9751855fab
the MIPS stat64 struct doesn't have a separate ino64 field, but the ino field
...
is a u_longlong.
2002-02-17 23:57:57 +00:00
rafal
dfcb814799
Use linux_sys_{g,s}etrlimit() since there's a common implementation now; but
...
MIPS has no sys_ugetrlimit, so don't declare it (209 is UNIMPL in the OSS
Linux-mips tree)
2002-02-17 23:55:23 +00:00
rafal
9f99fdabde
Adapt for changes to linux_to_native_sigset() and native_to_linux_sigset().
2002-02-17 23:18:38 +00:00
bjh21
db030aa93f
Add an lst_ino64 member to struct linux_stat64.
2002-02-17 23:18:11 +00:00
bjh21
0fd75dd4e5
Adapt for changes to limux_old_extra_to_native_sigset() and
...
native_to_linux_old_extra_sigset().
2002-02-17 23:05:08 +00:00
bjh21
9e7faceaf4
Add LINUX_SA_NOCLDWAIT.
2002-02-17 22:45:29 +00:00
bjh21
d0dfca3108
Regen.
2002-02-17 22:30:22 +00:00
bjh21
e5087cd2b4
getrlimit and setrlimit now have Linux-specific implementations. Use them.
2002-02-17 22:29:46 +00:00
bjh21
6c9d7cafe8
linux_sys_break() is marked OBSOL, so don't include it.
2002-02-17 22:03:23 +00:00
bjh21
3113edfb9a
linux_sys_rt_sigreturn is currently marked UNIMPL, so leave the stub out.
2002-02-17 22:00:09 +00:00
christos
6e89926d24
regen
2002-02-17 19:35:45 +00:00
christos
5a51f8945d
fix rlimit confusion.
2002-02-17 19:35:30 +00:00
christos
09a9c8ea3d
1. load cr2 now that we have it.
...
2. ldt_info.base_addr == 0 && ldt_info.limit == 0 means zero the ldt
From Robert V. Barron's wabi patch.
2002-02-16 16:23:09 +00:00
christos
b03c54f812
regen
2002-02-15 16:50:58 +00:00
christos
3a4f78636f
Regen
2002-02-15 16:50:35 +00:00
christos
51ea9c87e7
proper comment.
2002-02-15 16:50:13 +00:00
christos
28debea38a
- add a real linux_sys___sysctl because the mib numbers are different.
...
implement only the kernel version getting entries.
- make the signal conversion functions consistent; dest is arg 1.
- make linux_fakedev deal with block and char devices differently.
- add linux_sys_ugetrlimit, and flesh out the regular get/setrlimit so
that they work properly.
- add linux_mmap2 [untested].
- bump kernel to 2.4.18, and make the date be valentine's day :-)
- linux_sys_*stat64 family was totally busted. Fix it.
tested only on i386.
Status:
gdb, telnet, work
jdk-1.4.0 extractor works, jdk still coredumps.
christos
2002-02-15 16:47:58 +00:00
bjh21
043db35f0a
cpu_cache_syncI_rng -> cpu_icache_sync_range
2002-02-02 16:53:39 +00:00
bjh21
c738201135
We shouldn't need an icache sync when catching a signal, so don't bother.
2002-02-02 16:52:45 +00:00
bjh21
2667358f8e
Get rid of "unused variable" warnings on arm26.
2002-02-02 16:30:28 +00:00
bjh21
70017578a1
Regen (breakpoint() implemented).
2002-01-27 15:28:22 +00:00
bjh21
8c36606f84
Add support for breakpoints to ARMLinux emulation.
2002-01-27 15:27:33 +00:00
bjh21
4929dc576f
Add support for PTRACE_GETREGS and PTRACE_SETREGS in ARMLinux emulation.
2002-01-27 15:11:38 +00:00
bjh21
bf73a232ce
Regen (prototype for linux_sys_nosys()).
2002-01-27 14:09:38 +00:00
bjh21
71953fb155
Make syscall 0 an explicit call of linux_sys_nosys, as it is on i386. This
...
is necessary to get a prototype for linux_sys_nosys generated in syscallargs.h.
2002-01-27 14:08:56 +00:00
bjh21
3985634329
Regen (sys_nosys -> linux_sys_nosys).
2002-01-23 16:14:45 +00:00
bjh21
6add1ec812
sys_nosys="linux_sys_nosys", since that's how it should be.
2002-01-23 16:14:20 +00:00
bjh21
6b940e1484
Regen (cacheflush() and remove syscall 0).
2002-01-23 15:55:51 +00:00
bjh21
8b78e49ada
Syscall 0 isn't syscall() on ARMLinux. Mark it UNIMPL instead.
2002-01-23 15:54:34 +00:00
bjh21
8a3c27fbf7
Add support for the ARM-specific syscalls in ARMLinux. These are invoked
...
by SWI numbers above 0x9f0000, but we re-map them down to somewhere just
after the end of the usual syscall range, since NetBSD doesn't handle
sparse syscall arrays well.
The only syscall I've actually implemented in this range is cacheflush(),
which was previously being mapped to fork(), causing ... interesting results.
2002-01-23 15:52:58 +00:00
bjh21
6ad60873c2
More-or-less working signal handling for Linux processes on ARM.
2002-01-17 22:50:38 +00:00
bjh21
934715db90
Fix unterminated #ifdef.
2002-01-17 21:17:57 +00:00
bjh21
16ee93eb67
On platforms that don't __HAVE_SYSCALL_INTERN, define LINUX_SYSCALL_FUNCTION
...
to be the value of emul_linux.e_syscall that we want. This allows it to differ
between machines, so I can have a separate linux_syscall() on arm.
2002-01-17 17:19:03 +00:00
rjs
77f9569791
Add extra error codes from Linux.
2002-01-17 15:08:44 +00:00
bjh21
4a4d63e6c0
Regen.
2002-01-15 10:23:35 +00:00
bjh21
9f08648c7d
Shuffle uname calls around. It turns out we don't use the same names as
...
Linux does, so:
sys_olduname -> linux_sys_oldolduname
sys_uname -> linux_sys_olduname
sys_newuname -> linux_sys_uname
2002-01-15 10:21:46 +00:00
bjh21
2fdddc2550
Generated files for ARMLinux binary compatibility.
2002-01-14 23:17:16 +00:00
bjh21
23a5fe8d9b
Remove old ARMLinux binary compatibility fragment. As far as I know, this
...
was never used.
2002-01-14 23:15:58 +00:00
bjh21
6462506466
Crude first cut at ARMLinux binary compatibility. Successfully runs
...
"/emul/linux/bin/echo hello, world", dynamically linked.
2002-01-14 23:14:32 +00:00
manu
482b5bcec3
Removed unused (commented out) code
2001-11-20 21:50:13 +00:00
manu
675946fd1c
Fixed the Linux signal trampoline and linux_sys_sigreturn(). Linux signal
...
delivery now seems fully functionnal.
2001-11-20 21:37:50 +00:00
manu
86349adc0d
Make it build again after recent MIPS cache code changes
2001-11-17 22:13:38 +00:00
manu
cb5cba1cf3
Fixed typos
2001-11-17 20:49:14 +00:00
lukem
2565646230
don't need <sys/types.h> when including <sys/param.h>
2001-11-15 09:47:59 +00:00
lukem
dab6ef8b56
add RCSIDs (including regeneration of files as appropriate)
2001-11-13 02:07:52 +00:00
manu
948a7fa8ef
Fixed some mistakes in signal handling (this is still broken)
...
Added some code to set linux's uname kernel version to 2.4.0 (usefull for
testing with glibc-2.2). This is currently guarded by a #if 0.
2001-10-14 17:21:47 +00:00
manu
aa5da496fa
Added socket operations to Linux Mips emulation
2001-10-06 13:32:58 +00:00
manu
2d38e85044
Implements ATOMIC_SET in linux_sys_sysmips
2001-10-06 13:32:18 +00:00
manu
801da94626
Implements parts of sysmips() and fctnl64() emulation
2001-09-30 20:52:40 +00:00
manu
a9c8120ff3
Fixes my last commit: only mips really need fcntl64 to work now. i386 and
...
powerpc could use it later if needed. m68k and alpha should never need it.
2001-09-30 20:44:49 +00:00
martin
62aaf2691e
Make i386 kernels compile again.
...
fcntl64 was still marked UNIMPL, but the implementation existed, causing
a missing prototype warning.
XXX I have no clue if this is the correct fix - someone able to test this
please review it!
2001-09-30 18:57:43 +00:00
manu
238328fb7a
Added initial support for fcntl64 system call (file locking is not
...
implemented)
2001-09-30 16:04:03 +00:00
simonb
8aec0ac7d5
DEBUG kernels fill the registers with garbage on process startup and
...
Linux program don't like that. Explicitly zero out the registers for
DEBUG kernels.
2001-09-30 02:36:42 +00:00
simonb
0b8f86120f
Define LINUX_ATEXIT_SIGNATURE to enable the atexit_signature test; needed
...
to run Linux/Alpha binaries.
2001-09-30 02:35:23 +00:00
manu
63d1ca8449
Initial support for running Linux binaries on the Mips. Both static and
...
dynamic binaries work on 32 bit mips. Signals are completely broken yet,
and ptrace is not supported.
2001-09-22 21:19:10 +00:00
manu
a0cca8f7f6
One file that was missing from a previous commit
2001-09-22 21:17:55 +00:00
manu
2207c50687
Fixed errors in header files
2001-09-22 21:15:18 +00:00
manu
84d266e55c
More work on Linux compat for Mips: system calls mapping.
2001-09-22 21:14:37 +00:00
manu
421be662fc
Forgotten file in my last commit for removing PowerPC mmap hack in Linux
...
emulation
2001-09-08 07:13:04 +00:00
manu
6bbacb9d3f
Removed a hack to make PowerPC mmap work. This could have side effects on
...
alpha and i386. It has been tested and works on i386.
2001-09-08 07:09:43 +00:00
manu
11736debb0
Fixed indent
2001-09-03 21:10:56 +00:00
manu
27d1edf719
Added 64 bits support in header files.
...
All headers should be common to 32 bits MIPS and 64 bits MIPS now.
2001-09-02 08:39:37 +00:00
manu
f914316a09
Fixed indent problems
2001-09-02 07:56:11 +00:00
manu
220d274aa6
Fixed indent problems
2001-09-02 07:27:33 +00:00
manu
54eff3d533
Added some comments
2001-09-02 07:25:58 +00:00
manu
b9581b43a2
Fixed an error in a define
2001-09-02 07:24:49 +00:00
manu
fbdc500a69
Fixed indent problems
2001-09-02 06:51:15 +00:00
manu
8e1033bfc3
Enable the GCC signature test so that ld.so will be executable (needed for
...
Linux's ldd)
2001-08-30 20:41:36 +00:00
manu
6f08a31e06
Fixed a lot of mistakes in #define's (hes values instead of octal)
2001-08-26 21:17:52 +00:00
manu
6ae6d7c980
Preliminary work on Linux/Mips emul
2001-08-26 18:53:20 +00:00
manu
abf3af624a
Preliminary work on Linux/Mips emul. More to come soon...
2001-08-26 18:11:25 +00:00
manu
34e3550db4
Moved LINUX_NCCS from MI file to MD file, because the value is different
...
on MIPS and sparc machines.
2001-08-26 17:26:31 +00:00
manu
8d2d7fdf71
Fiexed a typo in a #define
2001-08-26 17:17:55 +00:00
manu
0e6de337a2
Preliminary work on Linux/mips compat, more to come soon...
2001-08-26 17:12:56 +00:00
manu
d1fd72fba1
Fixed a typo in struct naming. This does not seems to impact anything.
2001-08-26 17:08:09 +00:00
manu
21f970e367
Preliminary work on Linux/Mips emulation, more to come soon...
2001-08-26 17:03:37 +00:00
manu
0f65ff9afc
Preliminary work on Linux/mips compatibility, more to come soon...
2001-08-26 16:41:58 +00:00
manu
de40f400dd
Preliminary work on Linux/mips compatibility, more to come soon...
2001-08-26 16:33:01 +00:00
manu
6ca52a1743
Preliminary work on Linux/mips compatibility, more to come soon...
2001-08-26 16:21:56 +00:00