manu
494d226a5d
Added GETSHMASK command to prctl(). This is incomplete, we do not really
...
keep track of the shmask yet. (It could go in p->p_emuldata)
2002-05-02 17:17:29 +00:00
manu
27cb16e028
sproc: Correctly interpret NULL stack and stacklen when shared vm space is not
...
requested
2002-04-29 16:01:12 +00:00
manu
36b681f651
Added a void framework for usync_cntl(), which is another undocumented IRIX
...
system call.
2002-04-29 14:40:23 +00:00
manu
adc1ff6c40
Added pread() and pwrite()
2002-04-28 20:23:21 +00:00
manu
fc1efb9ee8
Use stack rlimit for the stack size, and not the current stack size. This
...
avoids requestion 2*rlimit on second sproc call.
2002-04-28 19:42:13 +00:00
manu
c2f72d8d1c
Updated PR_GETNSHARE and added PR_TERMCHILD
2002-04-28 17:56:53 +00:00
manu
3568060679
Implements IRIX sproc(2) and friends.
...
There may be a problem with stack size overflow in this implementation
2002-04-28 17:21:58 +00:00
manu
ee5b3b3977
Added a void IRIX /dev/usema and /dev/usemaclone pseudodevice driver.
...
IRIX uses this for implementing atomics operation on semaphores
This will be filled later.
2002-04-23 05:51:14 +00:00
manu
f599dce291
Added fchdir, fchown and fchmod system calls
2002-04-23 05:47:38 +00:00
manu
0e9a3e0d43
- We now use irix_sys_mmap instead of svr4_sys_mmap
...
- initial support for MAP_AUTOGROW flag. When mapping beyond the end of file is
requested with MAP_AUTOGROW, if pages beyond the end of file are touched, the
file should be resized. We are not able to emulate this yet, so we immediatly
resize the file to fit the whole mapping.
- implements mmap64
2002-04-22 05:58:46 +00:00
manu
4678e0b326
Fixed functions to get the number of CPU in sysmp() and systeminfo(). The
...
problam was that when hw_sysctl() is used, the result is supposed to be
in userland
2002-04-20 21:25:01 +00:00
manu
ded3c31a9c
On IRIX, fcntl F_FREESP, F_ALLOCSP, F_FREESP64 and F_ALLOCSP64 commands
...
ignore the len argument. We now correctly emulate the behavior of these
commands.
2002-04-20 20:38:21 +00:00
manu
e67d46d7af
Added one more system call: msync
2002-04-20 16:56:28 +00:00
manu
21d2265eea
Fixed mistakes in irix_sys_fcntl() (missing breaks in case statement)
2002-04-20 16:20:12 +00:00
manu
d5ed80d9c6
The IRIX usinit(3) function expects a page of memory to be available at
...
address 0x200000 (disasembling usinit shows that this address is hardcoded in
libc). It uses it for locks and semaphres.
We therefore allocate this page of memory, to prevent IRIX process from
faulting when thay call usinit(3).
2002-04-20 16:19:22 +00:00
manu
1f32c2b1c4
One more unsupported feature: SGI_SATCTL
2002-04-20 07:43:35 +00:00
manu
829bfed008
Added missing irix_misc.c
2002-04-20 07:42:32 +00:00
manu
5261d673c9
Added getpgrp/setpgrp.
...
setpgrp is stolen from compat/sunos. It should probbaly be moved to
/compat/common
2002-04-16 20:15:47 +00:00
manu
08948f97d1
Added sysconf(SC_IP_SECOPTS)
2002-04-16 20:15:03 +00:00
manu
f8c12b3107
IRIX provide a signal trampoline in libc, we now use it.
...
- the signal trampoline address is given to the kernel by a sigaction()
fourth argument
- we introduce an irix_emuldata structure to keep track of the signal
trampoline address
- we don't support per-sigaction signal trampolines, we only do per-process
- now that we use the IRIX libc signal trampoline, we do not have to handle
the errno update from the signal trampoline
- it is possible that IRIX 5 signal delivery works too, since theses binaries
will come with their own signal trampoline
2002-04-14 21:50:49 +00:00
manu
c56e133974
More comments on the new signal frame/trampoline
2002-04-13 10:52:59 +00:00
manu
5ee554064d
Reworked IRIX signal delivery so that ucontext is used instead of sigcontext
...
when SA_SIGINFO is used. The IRIX process will hence find the expected
information using the third argument of the signal handler.
We do not provide code and siginfo yet.
2002-04-12 18:44:57 +00:00
manu
fb46073720
backed out the irix_siginfo field name change: we need different field names
...
to avoid collision with svr4_siginfo #define si_signo _info._signo and
friends.
2002-04-06 22:58:43 +00:00
manu
8e8b498d9c
Changed irix_siginfo field names to make them closer to svr4 names (and to
...
original IRIX names too)
2002-04-06 18:08:31 +00:00
manu
4bca6e2fd0
Added fsync
2002-04-02 20:29:52 +00:00
manu
062e23b4e2
Added IRIX fcntl(F_GETBSDLK) and fcntl(F_GETBSDLKW)
2002-04-02 19:58:38 +00:00
manu
456cced40e
Removed one debug line that was committed by mistake
2002-04-01 15:45:16 +00:00
manu
a98e52cc55
Added code to handle FPU and signal stack for IRIX signal delivery
...
(copied from the native version, not tested yet)
2002-04-01 13:42:36 +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
manu
4a466c8fec
Added proper locks when calling uvm_swap_stats()
2002-03-29 09:06:54 +00:00
manu
2dd126f08e
Fixed the swap block size problem: the swap block size as used in struct
...
swapent, or as seen in userland, is dbtob(1), which turns to be 512 for all
arch for now.
In struct swapdev, there is another field for block size. This value is private
to uvm_swap.c and is only used for swap I/O on regular files. It is equal to
the underlying device block size and it is not necessarily 512.
2002-03-28 18:45:28 +00:00
manu
9278164721
- now reports accurate swap object size with swapctl(SWAP_STATS)
...
- Added two more swapctl commands: GETFREESWAP and GETSWAPVIRT.
There is a problem in the way swap block size are found here. See comment
in get_block_size().
2002-03-28 13:14:42 +00:00
manu
2ad173ef3f
Added syssgi(SETSID)
2002-03-28 12:59:35 +00:00
manu
50ac30b510
- now return real values in the rminfo system accounting structure. Theses
...
are not 100% accurate, but it should be okay for most programs
- fix a bug: we were doing the copyout of the struct on failure, not success
2002-03-28 10:37:46 +00:00
manu
5c37c50788
Use irix_sys_sigprocmask instead of svr4_sys_sigprocmask to make use
...
of the SETMASK32 command.
2002-03-28 10:36:14 +00:00
manu
fff388471d
Added the SETMASK32 command for sigprocmask(2). This is equivalent to
...
SETMASK except that the upper 32 bits are left untouched
2002-03-26 22:59:32 +00:00
manu
58537aa4d9
Fixed a typo in DEBUG_IRIX code
2002-03-26 16:58:56 +00:00
manu
a4085df772
- Uses p->p_stats->p_ru instead of p->P_ru to get ressource usage, since
...
p->p_ru sometime happens to be equal to 0xdeadbeef.
- added more debug output.
2002-03-26 16:38:12 +00:00
manu
a0fa2e7fa5
Added support for sysmp system accounting structures. Only real memory info
...
is defined yet, but it returns zeroes (will be fixed later).
2002-03-26 10:54:40 +00:00
manu
2ccdf1d7ec
Added truncate(2), ftruncate(2), truncate64() and ftruncate64(), the two latter
...
being untested yet.
2002-03-26 10:52:52 +00:00
manu
76084f5561
Added syssgi(PATHCONF), which implements pathconf(2), and syssgi(SETPGID)
...
which implements setpgid(2).
2002-03-25 20:42:50 +00:00
manu
0e9d73c741
Added support for IRIX kernel var emulation in kmem (not functionnal yet)
2002-03-25 18:43:59 +00:00
manu
af187fe983
Added swapctl SC_ADD, SC_REMOVE and SC_SGIADD commands.
2002-03-18 20:34:54 +00:00
manu
a8db9077cd
Uses the recently introduced uvm_swap_stats() instead of
...
sys_swapctl(SWAP_STATS). This enable the use of a kernel based
buffer instead of using some temporary memory in the stackgap,
whereas we cannot make sure that the size os the struct swapent array
will fit in it. (it is not known at build time, but the stackgap len
is set at build time).
2002-03-18 17:21:24 +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
manu
431e4d2b95
Added enough of swaptcl() command emulation to get swap -l working. This
...
is needed by acad (it exec's swap -l to check if swap is enabled)
2002-03-16 13:29:42 +00:00
manu
cdab2861e2
Added the IRIX /dev/kmem emulation pseudodevice driver
2002-03-15 17:21:26 +00:00
manu
eb3041b4dc
I finnally identified syssgi(SGI_FDHI) as the implementation of the
...
getdtablehi(3) library call. Updated comments and removed the paranoid
diagnostics about this mysterious syssgixi() request.
2002-03-13 20:33:41 +00:00
manu
25f8840ca4
Implements syssgi(FDHI), which seems (it's not documented) to return the
...
higher open file descriptor plus one. This makes IRIX's find able to work.
2002-03-13 07:54:18 +00:00
manu
b2ce645507
Added syssgi(GETGROUPS) and syssgi(SETGROUPS)
2002-03-10 22:36:28 +00:00