| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
defines it as a short. Change that to an array of one short so that FreeBSD's
ifr_flags macro will work (it evaluates to ifr_ifru.ifru_flags[0]).
Notes:
svn path=/head/; revision=85008
|
| |
|
|
|
|
|
|
|
|
| |
to make /compat/linux/usr/bin/ipcs -s happy.
PR: kern/29698 (part)
Reviewed by: audit
Notes:
svn path=/head/; revision=83501
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Note ALL MODULES MUST BE RECOMPILED
make the kernel aware that there are smaller units of scheduling than the
process. (but only allow one thread per process at this time).
This is functionally equivalent to teh previousl -current except
that there is a thread associated with each process.
Sorry john! (your next MFC will be a doosie!)
Reviewed by: peter@freebsd.org, dillon@freebsd.org
X-MFC after: ha ha ha ha
Notes:
svn path=/head/; revision=83366
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
Notes:
svn path=/head/; revision=83221
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the a.out emulation of 'struct linker_set' with something
a little more flexible. <sys/linker_set.h> now provides macros for
accessing elements and completely hides the implementation.
The linker_set.h macros have been on the back burner in various
forms since 1998 and has ideas and code from Mike Smith (SET_FOREACH()),
John Polstra (ELF clue) and myself (cleaned up API and the conversion
of the rest of the kernel to use it).
The macros declare a strongly typed set. They return elements with the
type that you declare the set with, rather than a generic void *.
For ELF, we use the magic ld symbols (__start_<setname> and
__stop_<setname>). Thanks to Richard Henderson <rth@redhat.com> for the
trick about how to force ld to provide them for kld's.
For a.out, we use the old linker_set struct.
NOTE: the item lists are no longer null terminated. This is why
the code impact is high in certain areas.
The runtime linker has a new method to find the linker set
boundaries depending on which backend format is in use.
linker sets are still module/kld unfriendly and should never be used
for anything that may be modular one day.
Reviewed by: eivind
Notes:
svn path=/head/; revision=78161
|
| |
|
|
|
|
|
|
|
| |
Also clean up debugging output in a slightly more uniform fashion.
The default behavior remains the same (all debugging output is turned on)
Notes:
svn path=/head/; revision=72543
|
| |
|
|
| |
Notes:
svn path=/head/; revision=72538
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=69379
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
struct sigframe. We need more than only the signal context.
o Properly convert the signal mask when setting up the signal
frame in linux_sendsig and properly convert it back in
linux_sigreturn.
Do some cleanups and improve style while here.
Notes:
svn path=/head/; revision=69081
|
| |
|
|
|
|
|
| |
reviewed by: marcel
Notes:
svn path=/head/; revision=68807
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
linux_sigset_t by updating the linux_sigframe struct so as to include
linux's "extramask" field. This field contains the upper 32-bits of
the sigset. extramask sits behind a linux_fpstate struct, which I've
defined primarily for padding purposes.
While we're here, define LINUX_NSIG in terms of LINUX_NBPW (32) and
LINUX_NSIG_WORDS (2).
This fixes problems where threaded apps would accumulate a large
number of zombies. This was happening because the exit signal resides
in the upper 32-bits of the sigset and was never getting unmasked by
the manager thread after the first child exited.
PR: misc/18530 (may be related, originator not yet contacted)
Reviewed by: marcel
Notes:
svn path=/head/; revision=68689
|
| |
|
|
|
|
|
| |
Syncing with it is wrong.
Notes:
svn path=/head/; revision=68583
|
| |
|
|
|
|
|
|
| |
Do not use sysent.c, proto.h and syscall.h in source tree;
use auto-generated versions.
Notes:
svn path=/head/; revision=68519
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and associated user-level signal trampoline glue.
Without this patch, an SA_SIGINFO style handler can be installed by a linux
app, but if the handler accesses its sip argument, it will get a garbage
pointer and likely segfault.
We currently supply a valid pointer, but its contents are mainly
garbage. Filling this in properly is future work.
This is the second of 3 commits that will get IBM's JDK 1.3 working with
FreeBSD ...
Notes:
svn path=/head/; revision=67234
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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@
Notes:
svn path=/head/; revision=67051
|
| |
|
|
|
|
|
|
|
|
| |
than LINUX_MINSIGSTKSZ but smaller than MINSIGSTKSZ, cheat and
pass MINSIGSTKSZ to the kernel. This is a workaround.
Submitted through: nate
Notes:
svn path=/head/; revision=65506
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
program running under linux emulation, the script binary is checked for
in /compat/linux first. Without this patch the wrong script binary
(i.e. the FreeBSD binary) will be run instead of the linux binary.
For example, #!/bin/sh, thus breaking out of linux compatibility mode.
This solves a number of problems people have had installing linux
software on FreeBSD boxes.
Notes:
svn path=/head/; revision=59663
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Other modules can register and unregister ioctl handlers to extend the
ioctls known by the Linuxulator. A recent application is the vmware
port. The Linuxulator itself uses the new interface to register its
handlers as well. Handlers for the following types of ioctls have been
defined:
cdrom
console (=keyboard and VT handling)
socket
sound
termio
All ioctl related defines and declarations have been moved to a new
file (linux_ioctl.h), except for the pluggable ioctl handler interface
definition.
While there, cleanup linux.h some more.
linux.h and linux_ioctl.[ch] have been made to conform to style(9) as
much as possible.
Inspired and reviewed by: Vladimir N. Silyaev
Notes:
svn path=/head/; revision=54122
|
| |
|
|
| |
Notes:
svn path=/head/; revision=53954
|
| |
|
|
| |
Notes:
svn path=/head/; revision=53902
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-----------------------------
The compatibility code and/or emulators have been updated:
iBCS2 now mostly uses the older syscalls. SVR4 now properly
handles all signals. This has been achieved by using the
new sigset_t throughout the emulator. The Linuxulator has
been severely updated. Internally the new Linux sigset_t is
made the default. These are then mapped to and from the
new FreeBSD sigset_t.
Also, rt_sigsuspend has been implemented in the Linuxulator.
Implementing this syscall basicly caused all this sigset_t
changing in the first place and the syscall has been used
throughout the change as a means for testing. It basicly is
too much work to undo the implementation so that it can
later be added again.
A special note on the use of sv_sigtbl and sv_sigsize in
struct sysentvec:
Every signal larger than sv_sigsize is not translated and is
passed on to the signal handler unmodified. Signals in the
range 1 upto and including sv_sigsize are translated.
The rationale is that only the system defined signals need to
be translated.
The emulators also have been updated so that the translation
tables are only indexed for valid (system defined) signals.
This change also fixes the translation bug already in the
SVR4 emulator.
Notes:
svn path=/head/; revision=51793
|
| |
|
|
|
|
|
|
|
|
| |
the sysctl variable `compat.linux.oss_version'.
PR: 12917
Originator: Dean Lombardo <dlombardo@excite.com>
Notes:
svn path=/head/; revision=50500
|
| |
|
|
| |
Notes:
svn path=/head/; revision=50477
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
know if and when an unimplemented or obsoleted syscall is being used. Make the
message more end-user friendly.
And as long as we're here, rename some unimplemeted syscalls (linux_phys ->
linux_umount2, linux_vm86 -> linux_vm86old, linux_new_vm86 -> linux_vm86).
Change prototype for linux_newuname from `struct linux_newuname_t *' into
`struct linux_new_utsname *'. This change is reflected in linux.h and
linux_misc.c.
Notes:
svn path=/head/; revision=50345
|
| |
|
|
|
|
|
|
|
|
| |
argument.
PR: 12006
Originator: Jean-Claude MICHOT <jcmichot@teaser.fr>
Notes:
svn path=/head/; revision=49849
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
functions use the new sigset_t and sigaction_t which allows support for more
than 32 signals. Only the lower 32 signals are supported for now.
linux_rt_sigaction, linux_sigaction and linux_signal use linux_do_sigaction
to do the actual work. That way unnecessary redundancy is avoided. The same
has been done for linux_rt_sigprocmask and linux_sigprocmask. They call
linux_do_sigprocmask to do the actual work.
Notes:
svn path=/head/; revision=49786
|
| |
|
|
| |
Notes:
svn path=/head/; revision=49688
|
| |
|
|
|
|
|
|
|
|
|
| |
The linux syscalls translate the arguments first before invoking the
FreeBSD native syscalls.
PR: kern/9591
Originator: John Plevyak <jplevyak@inktomi.com>
Notes:
svn path=/head/; revision=49626
|
| |
|
|
|
|
|
| |
Reviewed by: bde
Notes:
svn path=/head/; revision=48851
|
| |
|
|
|
|
|
| |
Submitted by: Kazutaka Yokota <yokota@FreeBSD.org>
Notes:
svn path=/head/; revision=48685
|
| |
|
|
|
|
|
|
|
|
| |
with sa_ when <signal.h> is included. They would conflict with the
upcoming SA_SIGINFO implementation.
Reviewed by: BDE
Notes:
svn path=/head/; revision=48620
|
| |
|
|
|
|
|
|
| |
argument size as their write counterparts and were handled as write ioctls.
- Emulate some cdrom ioctls.
Notes:
svn path=/head/; revision=46163
|
| |
|
|
|
|
|
|
| |
PR: 9232
Submitted by: marcel@scc.nl <Marcel Moolenaar>
Notes:
svn path=/head/; revision=42186
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Submitted by: "Richard Seaman, Jr." <lists@tar.com>
Obtained from: linux :-)
Code to allow Linux Threads to run under FreeBSD.
By default not enabled
This code is dependent on the conditional
COMPAT_LINUX_THREADS (suggested by Garret)
This is not yet a 'real' option but will be within some number of hours.
Notes:
svn path=/head/; revision=41931
|
| |
|
|
|
|
|
|
|
|
| |
for PR 7792 but did not bring forward.
Submitted by: Avatar Liang <avatar@www.mmlab.cse.yzu.edu.tw>
PR: 8656
Notes:
svn path=/head/; revision=41105
|
| |
|
|
|
|
|
|
| |
Although the current Sybase license does not permit running under
emulation, FreeBSD 3.0 is now "Sybase Ready" should the license change.
Notes:
svn path=/head/; revision=39978
|
| |
|
|
|
|
|
| |
found while looking for the one.
Notes:
svn path=/head/; revision=39799
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
XFree86 server, users need to create the following links in their
/compat/linux/dev directory (assuming kernel configured with 4 VTs).
lrwxrwxrwx 1 root wheel 7 Aug 30 22:59 tty0 -> console
lrwxrwxrwx 1 root wheel 5 Aug 30 22:45 tty1 -> ttyv0
lrwxrwxrwx 1 root wheel 5 Aug 30 22:45 tty2 -> ttyv1
lrwxrwxrwx 1 root wheel 5 Aug 30 22:45 tty3 -> ttyv2
lrwxrwxrwx 1 root wheel 5 Aug 30 22:45 tty4 -> ttyv3
VT switching is still not yet supported. Attempting to switch VT
currently will cause Xserver bus error.
Submitted by: Chain Lee <chain@110.net>
Notes:
svn path=/head/; revision=38672
|
| |
|
|
| |
Notes:
svn path=/head/; revision=33313
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
These patches enables us to play quake2 .
Support linux keyboard ioctl for setting RAW, MEDIUMRAW and XLATE.
Support linux virtual terminal operations:
OPENQRY, GETMODE, SETMODE, GETSTATE, ACTIVATE, and WAITACTIVE.
Submitted by: Amancio Hasty <hasty@rah.star-gate.com>
Notes:
svn path=/head/; revision=31730
|
| |
|
|
|
|
|
|
|
|
|
|
| |
LINUX_SNDCTL_DSP_GETOPTR
LINUX_SNDCTL_DSP_GETIPTR
LINUX_SNDCTL_DSP_SETTRIGGER
LINUX_SNDCTL_DSP_GETCAPS
With this rev level the linux realaudio player 5 and xquake should work.
Notes:
svn path=/head/; revision=31198
|
| |
|
|
|
|
|
| |
PR: 4355
Notes:
svn path=/head/; revision=30804
|
| |
|
|
|
|
|
| |
the last commit.
Notes:
svn path=/head/; revision=26369
|
| |
|
|
|
|
|
|
|
|
|
|
| |
license managers to obtain the host's ethernet address as
a key.
Note that this implementation takes the first hardware address for
the first ethernet interface found, and disregards the interface name
that may be passed in, as linux ethernet devices are all "ethX".
Notes:
svn path=/head/; revision=26364
|
| |
|
|
|
|
|
| |
ready for it yet.
Notes:
svn path=/head/; revision=22975
|
| |
|
|
|
|
|
|
|
|
|
| |
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.
Notes:
svn path=/head/; revision=21673
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
list of IP setsockopts the Linux emulator recognizes.
Explicitly disallow IP_HDRINCL since Linux's handling of
raw output is different than BSD's.
Closes PR#kern/2111.
Submitted by: y-nakaga@ccs.mt.nec.co.jp (Yoshihisa NAKAGAWA)
Notes:
svn path=/head/; revision=20101
|
| |
|
|
|
|
|
| |
Only writing to the mixer is implemented.
Notes:
svn path=/head/; revision=19414
|
| |
|
|
|
|
|
| |
sig_t's so that <sys/signal.h> isn't a prerequisite.
Notes:
svn path=/head/; revision=19182
|
| |
|
|
| |
Notes:
svn path=/head/; revision=18946
|