Commit Graph

41418 Commits

Author SHA1 Message Date
Marcel Moolenaar 91078fca0c sigset_t change (part 3 of 5)
-----------------------------

By introducing a new sigframe so that the signal handler operates
on the new siginfo_t and on ucontext_t instead of sigcontext, we
now need two version of sendsig and sigreturn.

A flag in struct proc determines whether the process expects an
old sigframe or a new sigframe. The signal trampoline handles
which sigreturn to call. It does this by testing for a magic
cookie in the frame.

The alpha uses osigreturn to implement longjmp. This means that
osigreturn is not only used for compatibility with existing
binaries. To handle the new sigset_t, setjmp saves it in
sc_reserved (see NOTE).

the struct sigframe has been moved from frame.h to sigframe.h
to handle the complex header dependencies that was caused by
the new sigframe.

NOTE: For the i386, the size of jmp_buf has been increased to hold
      the new sigset_t. On the alpha this has been prevented by
      using sc_reserved in sigcontext.
1999-09-29 15:06:27 +00:00
Marcel Moolenaar 2c42a14602 sigset_t change (part 2 of 5)
-----------------------------

The core of the signalling code has been rewritten to operate
on the new sigset_t. No methodological changes have been made.
Most references to a sigset_t object are through macros (see
signalvar.h) to create a level of abstraction and to provide
a basis for further improvements.

The NSIG constant has not been changed to reflect the maximum
number of signals possible. The reason is that it breaks
programs (especially shells) which assume that all signals
have a non-null name in sys_signame. See src/bin/sh/trap.c
for an example. Instead _SIG_MAXSIG has been introduced to
hold the maximum signal possible with the new sigset_t.

struct sigprop has been moved from signalvar.h to kern_sig.c
because a) it is only used there, and b) access must be done
though function sigprop(). The latter because the table doesn't
holds properties for all signals, but only for the first NSIG
signals.

signal.h has been reorganized to make reading easier and to
add the new and/or modified structures. The "old" structures
are moved to signalvar.h to prevent namespace polution.

Especially the coda filesystem suffers from the change, because
it contained lines like (p->p_sigmask == SIGIO), which is easy
to do for integral types, but not for compound types.

NOTE: kdump (and port linux_kdump) must be recompiled.

Thanks to Garrett Wollman and Daniel Eischen for pressing the
importance of changing sigreturn as well.
1999-09-29 15:03:48 +00:00
Marcel Moolenaar da3605dbea sigset_t change (part 1 of 5)
-----------------------------

Rename sigaction, sigprocmask, sigpending and sigsuspend to
osigaction, osigprocmask, osigpending and osigsuspend (resp)
and add new syscalls for them to support the new sisgset_t
without breaking existing binaries.

Change the prototype of sigaltstack to use the typedef stack_t
instead of struct sigaltstack to reflect that it is SUSv2
compliant.

Also, rename sigreturn to osigreturn and add a new syscall
to support the modified stackframe. The change is caused by
sigreturn operating on ucontext_t now and the fact that
siginfo_t has been updated to conform to SUSv2.
1999-09-29 15:01:21 +00:00
Daniel C. Sobral 0812b1e2c9 Fix world-breaking bug, add $FreeBSD$ tag.
This happened to be my first "for real" broken world. I had broken
it once before, but nobody noticed, so it didn't count.

So, how do I get the "I broke world and all I got was the lousy t-shirt"
t-shirt?
1999-09-29 10:58:43 +00:00
Doug Rabson 9689906734 Add ID for ESS ES1869. 1999-09-29 07:27:35 +00:00
Daniel C. Sobral bce2576f49 Fixes a silly bug that somehow escaped my notice all these months. 1999-09-29 04:46:01 +00:00
Daniel C. Sobral de271252c9 Bring in ficl version 2.03. No version bump for loader. 1999-09-29 04:43:16 +00:00
Greg Lehey 0212898e1c Add description of checkparity and rebuildparity.
Remove a half-started message.

Reported-by:	      "Jeffrey J. Mountin" <jeff@mountin.net>
1999-09-28 23:03:29 +00:00
Greg Lehey cbad9196fb Brucify comments.
vinum_lpi: Add information about progress of rebuildparity and
           checkparity commands.

listconfig: Print object counts in a different format, don't refer to
the internal number of slots allocated:

Caused-confusion-to:  Norbert Meissner <norbert.meissner@daimlerchrysler.com>

vinum_info: Change format of device numbers so that they fit in the
column (ignore high-order minor number bits, which aren't really of
much interest).
1999-09-28 23:02:14 +00:00
Greg Lehey fad2b6452b vinum_init: Fix message typo.
vinum_start: bzero the statinfo.dinfo struct.  The lack of this was
causing sporadic failures of the start command.

Add body of vinum_checkparity command.
1999-09-28 23:00:05 +00:00
Greg Lehey a13f3fcca5 struct plex: Add variables checkblock and rebuildblock to keep track
of parity check and rebuild operations.  This enables us
             to stop the operation and restart at a later time.

enum parityop: Trivial enum to decide what parityops() is going to do.
1999-09-28 22:58:07 +00:00
Greg Lehey c460c4f8b3 revive_block: set b_resid correctly.
parityops: New function to check and rebuild RAID-5 parity blocks.
Not yet usable.
1999-09-28 22:57:29 +00:00
Greg Lehey 141580f5a0 logrq: add sdiodone case.
launch_requests: Remove debug code

sdio: Reformat log call.
1999-09-28 22:56:54 +00:00
Greg Lehey 667b5ca097 Don't count iterations while waiting for a lock to become free. 1999-09-28 22:56:04 +00:00
Greg Lehey aa1c16b781 Add ioctls VINUM_CHECKPARITY and VINUM_RESETPARITY, still to be fully
implemented.
1999-09-28 22:55:37 +00:00
Greg Lehey af87ab426c Reduce MAX_IOCTL_REPLY to 1024; the previous value was more than ioctl
could stand.

Define the correct return lengths for a number of ioctls.

Add ioctls VINUM_CHECKPARITY and VINUM_RESETPARITY, still to be fully
implemented.
1999-09-28 22:54:58 +00:00
Greg Lehey b86ee4725e open_drive: Don't call set_drive_state to take a drive down, do it
ourselves.  This breaks a vicious circle which caused
            vinum to dereference a null vp if device nodes were
            missing.

Reported-by:	Brad Chisholm <sasblc@unx.sas.com>
		Alec Wolman <wolman@cs.washington.edu>

check_drive: Don't take a drive down if it's only referenced.

read_drive: Remove unused variable.
1999-09-28 22:46:39 +00:00
Greg Lehey 3465ababcf sdio_done: Log events if DEBUG_LASTREQS set. 1999-09-28 22:45:21 +00:00
Greg Lehey a40b9736a1 Change remove_drive_entry
Add parityops
1999-09-28 22:43:59 +00:00
Greg Lehey bb5f4d7898 Remove some superfluous comments.
get_empty_volume: initialize plexes to -1 (not allocated)

remove_drive_entry:
  Remove recurse parameter (there's nothing below a drive in the hierarchy).
  Use remove_sd_entry to remove sds, don't do it ourselves.
  Log errors, don't throw rude remarks.

remove_plex_entry:
  Don't use plex->subdisks as a loop limit, it gets changed in the
     loop.  This caused some removals to only remove half the subdisks.
  Change logging of some "impossible" situations.

remove_volume_entry:
  Use remove_plex_entry to remove plexes, don't do it ourselves.

update_sd_config:
  Use set_sd_state to do the work.
1999-09-28 22:43:07 +00:00
Greg Lehey 18ba0ff290 Minor formatting changes (7th attempt) 1999-09-28 22:42:06 +00:00
Greg Lehey 9bd4ba1364 Add loginfo type for sdiodone. 1999-09-28 22:27:10 +00:00
Cameron Grant 5b78a73443 * add a non-reset device- will not reset the channel on open. you
will have to mknod yourself for now.
* don't eat the first write()
* partial rvplayer fix- don't panic on unaligned writes unless our
  feeder chain requires them for downconversion.  a fuller fix is
  on the way.
1999-09-28 21:43:35 +00:00
Cameron Grant 89c57f2d02 add a missing blank line 1999-09-28 20:24:28 +00:00
Cameron Grant c2a5d15605 add the ad1816 driver 1999-09-28 20:02:44 +00:00
Cameron Grant cf56588462 seperate the ad1816 driver from the mss driver since it shares no code 1999-09-28 20:00:06 +00:00
Warner Losh d77db02192 Use rmand_get_bus{tag,handle} rather than hard wiring things to
I386_BUS_SPACE_IO.  Compiles now on the Alpha, but likely will not
work due to bus space address <-> virtual address mapping bogons that
work for i386 but not alpha.
1999-09-28 19:59:41 +00:00
Peter Wemm 1ce6e9e1c5 Back out my backout, it was already posix compliant. Any new fields are
required to be "announced" by a new bit in sa_flags to indicate the
program is aware of and has taken care of them.  eg: SA_SIGINFO means
the program has used the sa_siginfo field (versus sa_handler).
1999-09-28 16:58:46 +00:00
David E. O'Brien 534e0080ae Document the "noasync" option. 1999-09-28 15:49:47 +00:00
Peter Wemm cde8d55a02 Fix previous commit. The standards specifically say: "The structure
sigaction, used to describe an action to be taken, is defined in the
header <signal.h> to include at least the following members:"
                             ^^^^^^^^
A sigaction defined on stack with essentially random contents may have
just about anything underneath fields that the program doesn't know about.
It is not safe to delete the bzero.
1999-09-28 15:40:17 +00:00
Marcel Moolenaar 3f074b00c4 Explicitly use sigemptyset to clear a sigset_t. Explicit
initialization of sa_flags added so that we can lose the bzero.
IIRC, this code is not used anymore since the addition of
ncurses. Commit the change anyway so, just to be safe.

$FreeBSD$ tag added
1999-09-28 13:43:21 +00:00
Marcel Moolenaar 2dc9a8a9f6 Explicitly use sigemptyset to clear a sigset_t. Explicit
initialization of sa_flags added so that the 'struct sigaction'
can be declared local in both functions that use the global
(static) declaration. Remove the global declaration.
1999-09-28 13:33:13 +00:00
Marcel Moolenaar 06ceca4d89 Explicitly use sigemptyset to clear a sigset_t. Explicit
initialization of sa_flags allows us to lose the bzero.
1999-09-28 13:26:11 +00:00
Marcel Moolenaar 4c9d9fc620 Explicitly use sigemptyset to clear a sigset_t. Explicit
initialization of sa_flags allows us to lose the bzero.

$FreeBSD$ tag added.
1999-09-28 13:24:13 +00:00
Pierre Beyssac 23f84772ca In sbflush(), don't exit the while loop too early: this can cause
an empty mbuf to stay in the queue, then causing a needless panic
because sb_cc == 0 and sb_mbcnt != 0.

But we still need to panic rather than endlessly looping if, for
some reason, sb_cc == 0 and there are non-empty mbufs in the queue.

PR:		kern/11988
Reviewed by:	fenner
1999-09-28 12:59:18 +00:00
Poul-Henning Kamp 1ab305ef60 Introduce ttyread() and ttywrite() which do the canonical thing.
Use them in many tty drivers.

Reviewed by: julian, bde
1999-09-28 11:45:31 +00:00
Doug Rabson 340b1ef545 Add another ID for the AWE64. 1999-09-28 08:25:08 +00:00
KATO Takenori 237683b2f4 Sync w/ sys/i386/isa/pcaudio.c revision 1.54. 1999-09-28 08:19:53 +00:00
KATO Takenori a6c90a53bc Removed aha driver. 1999-09-28 08:16:37 +00:00
KATO Takenori 0450d8a8f6 Sync w/ sys/i386/conf/files.i386 revision 1.274. 1999-09-28 08:07:42 +00:00
Ruslan Ermilov f2da55a243 Do not defer setting of the aliasing address from
interface name if not operating in dynamic mode.

Reviewed by:	Ari Suutari <ari@suutari.iki.fi>
1999-09-28 08:01:46 +00:00
Peter Wemm 810b4d751f Reconnect 'bktr' now that world won't (I hope) break again from it.
'make depend' was falling over in it before.
1999-09-28 07:28:59 +00:00
Peter Wemm 5e6016775c Make the bktr module build. The Makefile was badly mangled, including
leaving the ".c" out of most of the SRCS= source files.
1999-09-28 07:23:59 +00:00
Matthew Dillon e3a285c715 Make sure file after VOP_OPEN is VMIO'd when transfering control from
a lower layer to an upper layer.  I'm not sure how necessary this is
    for reading.

    Fix bug in union_lookup() (note: there are probably still several bugs
    in union_lookup()).  This one set lerror as a side effect without
    setting lowervp, causing copyup code further on down to crash on a null
    lowervp pointer.  Changed the side effect to use a temporary variable
    instead.
1999-09-28 05:48:39 +00:00
Alexey Zelkin 8bd2d9a0e6 .Nm += "rtld"
apropos(1) now knows about rtld(1) manpage.
1999-09-28 05:35:59 +00:00
Matt Jacob a8dafb4d99 Ooops- forgot to commit this.
PR:		14009
Submitted by:	jreynold@primenet.com
1999-09-28 05:14:52 +00:00
Warner Losh 4e2abf95a3 Xref strlcat, strlcpy
Inspired by: NetBSD commit message describing this.
1999-09-28 04:11:47 +00:00
Steve Price f0856fbc91 Fix breakage caused by last commit. Also accommodate the new interfaces
to the bpf* routines so this driver has a fighting chance of actually
working once it's compiled.

Silently approved by:	freebsd-alpha@freebsd.org
1999-09-28 03:42:32 +00:00
Warner Losh 1d7f88317a Make aha a loadable module. Unloading doesn't work well. Fix slight
disordering of SUBDIRs list while I was in modules/Makefile.
1999-09-28 02:47:36 +00:00
Warner Losh 7cbb6373b9 /tmp/cvswGS523 1999-09-28 02:45:34 +00:00