#
5002a60f |
| 08-Sep-2001 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Round of cleanups and enhancements. These include (in random order):
o Introduce private types for use in linux syscalls for two reasons: 1. establish type independence for ease in porting and,
Round of cleanups and enhancements. These include (in random order):
o Introduce private types for use in linux syscalls for two reasons: 1. establish type independence for ease in porting and, 2. provide a visual queue as to which syscalls have proper prototypes to further cleanup the i386/alpha split. Linuxulator types are prefixed by 'l_'. void and char have not been "virtualized".
o Provide dummy functions for all syscalls and remove dummy functions or implementations of truely obsolete syscalls.
o Sanitize the shm*, sem* and msg* syscalls.
o Make a first attempt to implement the linux_sysctl syscall. At this time it only returns one MIB (KERN_VERSION), but most importantly, it tells us when we need to add additional sysctls :-)
o Bump the kenel version up to 2.4.2 (this is not the same as the KERN_VERSION MIB, BTW).
o Implement new syscalls, of which most are specific to i386. Our syscall table is now up to date with Linux 2.4.2. Some highlights: - Implement the 32-bit uid_t and gid_t bases syscalls. - Implement a couple of 64-bit file size/offset bases syscalls.
o Fix or improve numerous syscalls and prototypes.
o Reduce style(9) violations while I'm here. Especially indentation inconsistencies within the same file are addressed. Re-indenting did not obfuscate actual changes to the extend that it could not be combined.
NOTE: I spend some time testing these changes and found that if there were regressions, they were not caused by these changes AFAICT. It was observed that installing a RH 7.1 runtime environment did make matters worse. Hangs and/or reboots have been observed with and without these changes, so when it failed to make life better in cases it doesn't look like it made it worse.
show more ...
|
#
6be523bc |
| 29-Jun-2001 |
John Baldwin <jhb@FreeBSD.org> |
Add a new MI pointer to the process' trapframe p_frame instead of using various differently named pointers buried under p_md.
Reviewed by: jake (in principle)
|
#
fb919e4d |
| 01-May-2001 |
Mark Murray <markm@FreeBSD.org> |
Undo part of the tangle of having sys/lock.h and sys/mutex.h included in other "system" header files.
Also help the deprecation of lockmgr.h by making it a sub-include of sys/lock.h and removing sys
Undo part of the tangle of having sys/lock.h and sys/mutex.h included in other "system" header files.
Also help the deprecation of lockmgr.h by making it a sub-include of sys/lock.h and removing sys/lockmgr.h form kernel .c files.
Sort sys/*.h includes where possible in affected files.
OK'ed by: bde (with reservations)
show more ...
|
Revision tags: release/4.3.0_cvs, release/4.3.0 |
|
#
8f12c20f |
| 11-Mar-2001 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
rfork() masks RFSTOPPED out of the flags it passes to fork1(), so we have to call fork1() directly if we don't want out process queued right away. This has the serendipitous side effect of saving us
rfork() masks RFSTOPPED out of the flags it passes to fork1(), so we have to call fork1() directly if we don't want out process queued right away. This has the serendipitous side effect of saving us a call to pfind().
This makes threaded Linux apps (such as Opera) work again.
show more ...
|
#
6ad0e7c5 |
| 06-Mar-2001 |
John Baldwin <jhb@FreeBSD.org> |
Create clone'd linux processes as stopped processes at first and don't actually make them runnable until after the emulator layer has had a chance to perform fixups.
|
#
0cc3ac8b |
| 28-Feb-2001 |
Matthew Dillon <dillon@FreeBSD.org> |
Linux does not filesystem-sync file-backed writable mmap pages on a regular basis. Adjust our linux emulation to conform. This will cause more dirty pages to be left for the pagedaemon to deal with
Linux does not filesystem-sync file-backed writable mmap pages on a regular basis. Adjust our linux emulation to conform. This will cause more dirty pages to be left for the pagedaemon to deal with, but our new low-memory handling code can deal with it. The linux way appears to be a trend, and we may very well make MAP_NOSYNC the default for FreeBSD as well (once we have reasonable sequential write-behind heuristics for random faults). (will be MFC'd prior to 4.3 freeze)
Suggested by: Andrew Gallatin
show more ...
|
#
24593369 |
| 16-Feb-2001 |
Jonathan Lemon <jlemon@FreeBSD.org> |
Allow debugging output to be controlled on a per-syscall granularity. Also clean up debugging output in a slightly more uniform fashion.
The default behavior remains the same (all debugging output i
Allow debugging output to be controlled on a per-syscall granularity. Also clean up debugging output in a slightly more uniform fashion.
The default behavior remains the same (all debugging output is turned on)
show more ...
|
#
fdfdfb78 |
| 24-Jan-2001 |
John Baldwin <jhb@FreeBSD.org> |
- Proc locking. - Use NULL instead of 0.
|
#
d034d459 |
| 30-Nov-2000 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Don't use p->p_sigstk.ss_flags to keep state of whether the process is on the alternate stack or not. For compatibility with sigstack(2) state is being updated if such is needed.
We now determine wh
Don't use p->p_sigstk.ss_flags to keep state of whether the process is on the alternate stack or not. For compatibility with sigstack(2) state is being updated if such is needed.
We now determine whether the process is on the alternate stack by looking at its stack pointer. This allows a process to siglongjmp from a signal handler on the alternate stack to the place of the sigsetjmp on the normal stack. When maintaining state, this would have invalidated the state information and causing a subsequent signal to be delivered on the normal stack instead of the alternate stack.
PR: 22286
show more ...
|
Revision tags: release/4.2.0 |
|
#
ebea8660 |
| 10-Nov-2000 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Revert auto-generation. The Alpha port is broken. Syncing with it is wrong.
|
#
806d7daa |
| 09-Nov-2000 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Make MINSIGSTKSZ machine dependent, and have the sigaltstack syscall compare against a variable sv_minsigstksz in struct sysentvec as to properly take the size of the machine- and ABI dependent struc
Make MINSIGSTKSZ machine dependent, and have the sigaltstack syscall compare against a variable sv_minsigstksz in struct sysentvec as to properly take the size of the machine- and ABI dependent struct sigframe into account.
The SVR4 and iBCS2 modules continue to have a minsigstksz of 8192 to preserve behavior. The real values (if different) are not known at this time. Other ABI modules use the real values.
The native MINSIGSTKSZ is now defined as follows:
Arch MINSIGSTKSZ ---- ----------- alpha 4096 i386 2048 ia64 12288
Reviewed by: mjacob Suggested by: bde
show more ...
|
#
2da829a0 |
| 09-Nov-2000 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Sync with Alpha: Do not use sysent.c, proto.h and syscall.h in source tree; use auto-generated versions.
|
#
84aa58ab |
| 31-Oct-2000 |
Andrew Gallatin <gallatin@FreeBSD.org> |
fix the sigaltstack hack by lowering the stack size to the original value if the request was for less than MINSIGSTKSZ (in which case we "round up"). discussed with: marcel
|
#
242fae60 |
| 17-Oct-2000 |
Andrew Gallatin <gallatin@FreeBSD.org> |
Some linux apps, such as IBM's JDK 1.3, will attempt to mmap thread stacks near the top of their address space. If their TOS is greater than vm_maxsaddr, vm_map_growstack() will confuse the thread s
Some linux apps, such as IBM's JDK 1.3, will attempt to mmap thread stacks near the top of their address space. If their TOS is greater than vm_maxsaddr, vm_map_growstack() will confuse the thread stack with the process stack and deliver a SEGV if they attempt to grow the thread stack past their current stacksize rlimit. To avoid this, adjust vm_maxsaddr upwards to reflect the current stacksize rlimit rather than the maximum possible stacksize. It would be better to adjust the mmap'ed region, but some apps (again, IBM's JDK 1.3) do not check mmap's return value..
This commit (in conjunction with setting MINSIGSTKSZ to 2048 & rebuilding your kernel and modules) will get IBM's JDK 1.3 working with FreeBSD at least well enough to run many of the example applets.
Reviewed by: marcel Tested by: sto@stat.duke.edu, many others on freebsd-java@
show more ...
|
#
931a7258 |
| 13-Oct-2000 |
Andrew Gallatin <gallatin@FreeBSD.org> |
This is the first of 3 commits that will get IBM's JDK 1.3 working with FreeBSD (not including the MINSIGSTKSZ issue, which belongs to Marcel). Due to time constraints, I'm going to space them out o
This is the first of 3 commits that will get IBM's JDK 1.3 working with FreeBSD (not including the MINSIGSTKSZ issue, which belongs to Marcel). Due to time constraints, I'm going to space them out over a few days.
This fixes two problems with linux_sigaltstack()
o ss == 0 is perfectly valid use, so do not fail in this case.
o Fix flag handling: - Our SS_DISABLE is 4, linux's is 2, so we need conversion routines. These conversion routines will be needed by linux_rt_sendsig() and linux_rt_sigreturn (forthcoming), so they are not static. - Linux's flag 0 historically meant SS_ONSTACK according to a comment in their linux/kernel/signal.c file.
Among other things, this fixes a warning from Sun's JDK 1.3: "Java HotSpot(TM) Client VM warning: cannot uninstall alt signal stack"
Reviewed by: marcel Tested by: sto@stat.duke.edu, many others on freebsd-java@
show more ...
|
Revision tags: release/4.1.1_cvs |
|
#
dee4ec33 |
| 06-Sep-2000 |
Marcel Moolenaar <marcel@FreeBSD.org> |
When sigaltstack is called with a stack size that's not smaller than LINUX_MINSIGSTKSZ but smaller than MINSIGSTKSZ, cheat and pass MINSIGSTKSZ to the kernel. This is a workaround.
Submitted through
When sigaltstack is called with a stack size that's not smaller than LINUX_MINSIGSTKSZ but smaller than MINSIGSTKSZ, cheat and pass MINSIGSTKSZ to the kernel. This is a workaround.
Submitted through: nate
show more ...
|
#
bc34729c |
| 25-Aug-2000 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Fix typo in license.
|
#
146aad74 |
| 22-Aug-2000 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Collect the MD syscalls from /sys/compat/linux here. Since this is a new file, fix most of the style bugs at the same time.
|