Commit Graph

32754 Commits

Author SHA1 Message Date
John Polstra 283c2d5af4 When the "-s" option is given, try to ensure that we restart the
target process even if we are killed or die due to an error.
1998-10-22 04:02:37 +00:00
Brian Somers 8fa6ebe47d Solve the ``first connection'' problem that occurs on
demand-dial links with dynamic IP numbers where the program
that causes the dial bind()s to an interface address that is
subsequently changed after ppp negotiation.

The problem is defeated by adding negotiated addresses to the
tun interface as additional alias addresses and providing a set
of ``iface'' commands for managing the interface.  Libalias is
also required (and what a name clash!) - it happily IP-aliases
the address so that the source is that of the primary (negotiated)
interface and un-IP-aliases it on the way back.

An ``enable iface-alias'' is done implicitly by the -alias command
line switch.  If -alias isn't given, iface-aliasing is disabled by
default and can't be enabled 'till an ``alias enable yes'' is done.
``alias enable no'' silently disables iface-alias.

So, for dynamic-IP-type-connections, running ``ppp -alias -auto blah''
will work for the first connection, although existing bindings will
not survive a disconnect/connect as the TCP peer will be trying to
send to the old IP address - the packets won't route.

It's now a lot easier to add IPXCP to ppp with minor updates to
the new iface.[ch] (if anyone ever gets 'round to it).

It's also now possible to manually add interface aliases with
something like ``iface add 1.2.3.4/24 5.6.7.8''.  This allows
multi-homed ppp links :-)
1998-10-22 02:32:50 +00:00
David Greenman 0b10ba9822 Make the VM system handle the case where a terminating object contains
legitimately wired pages. Currently we print a diagnostic when this
happens, but this will be removed soon when it will be common for this
to occur with zero-copy TCP/IP buffers.
1998-10-22 02:16:53 +00:00
David Greenman c8cc6fca3c Defer rundown (m_freem) of completed transmit buffers for no longer
than 1 second.
1998-10-22 02:00:49 +00:00
David Greenman 24166bb84b Convert fake page allocs to use the zone allocator, thus eliminating the
private pool management code in here.
1998-10-22 01:45:29 +00:00
David Greenman bb7db2c011 Set m->object to NULL in dev_pager_getfake(). 1998-10-21 23:06:50 +00:00
Mike Smith b259863db2 Bye-bye setdefs. 1998-10-21 20:11:03 +00:00
Mike Smith d8ef941c2f - Enable PnP and ISA PnP code.
- Use the ISA PnP enumerator.
 - Use the new linker set code, throw out the gensetdefs stuff.
 - Produce an intermediate loader image that has symbols stripped, to aid
 - in debugging.
 - Supply ISA port access functions required for ISA PnP
1998-10-21 20:10:33 +00:00
Mike Smith c90625d230 Don't depend on being part of the kernel tree. If we are, use the kernel's
<machine> includes rather than the system's.
1998-10-21 20:07:57 +00:00
Mike Smith eddbe21def Make ISA PnP work. This successfully enumerates as many ISA devices as I
can fit into my test machine.

 - Move to using STAILQs rather than ad-hoc singly-linked lists.
 - Use a mostly procedural interface to the PnP information.  This
   improves data-hiding.

Implement a new linker-set technique (currently on i386 only but should work
on Alpha as well).  This is a good candidate for replacing the current
gensetdefs cruft completely.
1998-10-21 20:07:05 +00:00
Andrzej Bialecki 7a3f627463 Added two new utilities, both ported from Minix: mined (editor), and
msh (largely compatible Bourne shell).
1998-10-21 17:36:28 +00:00
Robert Nordier cfe10d7fc6 Get things limping along again for the 80386 and friends. The
ELF assembler emits a redundant operand-size prefix for the
fnstsw %ax instruction, and this stops the show for 3.0-RELEASE.
1998-10-21 17:10:49 +00:00
John Polstra 2c2a0cf191 Eliminate a superfluous comment. 1998-10-21 16:31:38 +00:00
John Polstra 778a593eb2 Remove most of the code and replace it with a call to getobjformat(). 1998-10-21 15:13:16 +00:00
David Greenman 300ee8246e Nuked PG_TABLED flag. Replaced with m->object != NULL. 1998-10-21 14:46:42 +00:00
Bruce Evans d52ae8190d Fixed previous commit to actually work. The wrong variable was initialized
earlier (with style bugs of course), so zcat was an alias for uncompress
instead of `uncompress -c'.
1998-10-21 11:48:39 +00:00
David Greenman 12d534d2f9 Add a diagnostic printf for freeing a wired page. This will eventually
be turned into a panic, but I want to make sure that all cases of freeing
pages with wire_count==1 (which is/was allowed) have first been fixed.
1998-10-21 11:43:04 +00:00
David Greenman 9b827155f8 Decrement the now unused page table page's wire_count prior to freeing it.
It will soon be required that pages have a zero wire_count when being
freed.
1998-10-21 11:38:14 +00:00
Dima Ruban 964b832929 Fix types. 1998-10-21 09:48:35 +00:00
Greg Lehey 8386a2b309 list.c:
Add dump of last requests with 'info -V'.  This requires the requests
  to be enabled with 'debug 8'.
1998-10-21 08:39:57 +00:00
Greg Lehey 721fbc5ae0 config.c:
config_drive:
    Catch an instance of anonymous drives.  Doubtless many remain.

interrupt.c:
  complete_rqe:
    Call logrq to log iodone events if DEBUG_LASTREQS is set.

    Call set_sd_state with setstate_noupdate to avoid buffered I/O out
    of interrupt context.

    Use define DEBUG_RESID instead of constant.

memory.c:
  Remove dead expandrq() function

  Malloc:
    Remove directory component of file names in malloc table.

  Add function vinum_rqinfo (part of the request tracing stuff).

request.c:
  Add function logrq (part of the request tracing stuff).

  vinumstrategy:
    Check whether config needs to be written to disk, do it if so.
    This is a stopgap until the Vinum daemon (bacchusd?  oenologistd?)
    is written.

    If DEBUG_LASTREQS is set, call logrq to log user buffer headers.

  launch_requests:
    Correct format of debug output to console.

    If DEBUG_LASTREQS is set, call logrq to log request elements.

request.h:
  Add definitions for request trace.

state.c:
  set_sd_state:
    Check flags for setstate_noupdate.  If set, don't write the config
    to disk, just set global VF_DIRTYCONFIG flag.  This is part of the
    kludge to avoid writing config from an interrupt context.

vinumext.h:
    Add declaration for vinum_rqinfo, put inside #ifdef DEBUG
    Remove dead macro expandrq

vinumio.h:
  Increase maximum ioctl reply length to 4 kB if DEBUG is set.
  Define VINUM_RQINFO ioctl if DEBUG is set.

vinumioctl.c:
  vinumioctl:
    Change implementation of VINUM_DEBUG ioctl: use a debug flag
    (DEBUG_REMOTEGDB) to decide whether to go into remote debugging or
    not.

    Implement VINUM_RQINFO.

vinumkw.h:
  Define kw_info even when not debugging.

vinumvar.h:
  Define VF_DIRTYCONFIG
  Add pointers to request info to vinum_info if DEBUG is set.
  Define setstate_noupdate
  Define additional debug bits DEBUG_RESID, DEBUG_LASTREQS and
  DEBUG_REMOTEGDB.
1998-10-21 08:32:32 +00:00
Robert Nordier 1a8efde980 Make serial port, data format, and bps configurable. 1998-10-20 20:20:48 +00:00
Peter Wemm ed1bbda829 Revert last change. mkstemp() wasn't to blame, it's nvi. However,
mkstemp() is not behaving as documented.
1998-10-20 15:33:21 +00:00
Peter Wemm eb356f9af0 Stop mk*temp() from being pathologically stupid in the face of a umask(0);
There are other ways to fix this than wrapping _gettemp(), but this was
the most convenient.

Discovered by: bde
1998-10-20 12:36:36 +00:00
Dag-Erling Smørgrav 4da8edd59e Since vfork() was changed to fork(), we have to pass errno back from the
child to the parent somehow.

PR:		8353
Submitted by:	Andrew J. Korty <ajk@purdue.edu>
1998-10-20 11:34:11 +00:00
Mike Smith 37a182e2b2 Make this compile, and honour the spirit of the original design while
incorporating the intended fix.  Attempt to address some of the
putative style bugs introduced.  Others doubtless remain.

Embarrassed by: bde
1998-10-20 08:04:15 +00:00
Dima Ruban e9b30c621d make talk/talkd work on alpha. 1998-10-20 07:07:07 +00:00
Mike Smith 2426ecdfa2 - mkdir -m should call chmod because the high-order bits get ignored
by the kernel as a security feature of some sort.

Submitted by:	Wilfredo Sanchez <wsanchez@apple.com>
1998-10-20 06:37:01 +00:00
Mike Smith 7c0704e446 Behave like zcat if invoked as zcat. We don't install as zcat; this just
makes us more useful in a tight environment.

Submitted by:	Wilfredo Sanchez <wsanchez@apple.com>
1998-10-20 06:13:57 +00:00
Mike Smith 4757e52686 - Fix off-by-one problem in tar where filenames of length 100
and dirnames of length 99 don't archive.

Submitted by:	Wilfredo Sanchez <wsanchez@apple.com>
Obtained from:  OpenBSD
1998-10-20 05:52:33 +00:00
Mike Smith c98405d7d1 Hex constants should only have one '0x' prefix. 1998-10-20 02:43:28 +00:00
Brian Somers 74274b67f4 Specify BINOWN explicitly - we don't want to depend on bsd.own.mk
setting it to ``root''.
1998-10-20 00:19:38 +00:00
Bill Paul 1c403cb2b6 Modify the transmit packet queuing strategy a bit to be a little less
agressive. With the old code, if a descriptor chain was already on its
way to the chip, xl_start() would try to splice new chains onto the end
of the current chain by stopping the transmitter, modifying the tail
pointer of the current chain to point to the head of the new chain, then
restart the transmitter. The manual says you're allowed to do this and
it works, but I'm not too keen on it anymore.

The new code waits until the eixsting chain has been sent and then
queues the next waiting chain in the 'transmit ok' handler.

Performance still looks good one way or the other.
1998-10-19 22:08:56 +00:00
Dima Ruban 6fc32ef8ee Use sysctl() rather than kvm_read() when getting information
about clock stuff from kernel.
This fixes xntpd on alpha.
1998-10-19 20:48:08 +00:00
Warner Losh 830775aaf9 Default to aout only on i386. Before we defaulted to elf only on
Alpha.  This is a minor, but important distinction.  Should be a no-op
to the install base.  If OBJFORMAT is set elsewhere, things work
exactly as they did before.
1998-10-19 20:09:17 +00:00
John Polstra 52e7cc0a90 Make gcore work for ELF. 1998-10-19 19:42:18 +00:00
Robert Nordier 4e108bf052 Make configurable (a) whether to use int 0x13 extensions; (b) timeout
value.  Ignore failure to update mbr sector.  Disable interrupts while
using extended registers.  Default to F1 not F2.
1998-10-19 19:13:53 +00:00
Jordan K. Hubbard fbe55bf292 Add entries for DiskOnChip2000 Flash device.
Submitted by:	phk
1998-10-19 14:58:38 +00:00
Doug Rabson ed7aeb1bb6 Reclaim the 48k used by the first bootstrap stage by adding it to the malloc
pool.
1998-10-19 09:12:41 +00:00
Doug Rabson 5a911c6263 Implement a hook to allow us to reclaim the memory used by the first stage
of the bootstrap (the bit which loads /boot/loader).
1998-10-19 09:08:40 +00:00
Jordan K. Hubbard d7449e132f We're now in post-release; make the docs indicate as much. 1998-10-19 08:49:50 +00:00
Doug Rabson bcaa5f75b7 Rename boot2 to loader. 1998-10-18 19:05:07 +00:00
Doug Rabson 0c942a8eef R_ALPHA_RELATIVE relocations need to add the value to the existing memory
contents.
1998-10-18 19:04:13 +00:00
Bill Paul 589e38a609 Add driver support for PCI fast ethernet adapters based on the
RealTek 8129/8139 chipset like I've been threatening. Update kernel
configs, userconfig.c, relnotes and sysinstall. No man page yet;
comming soon.

I consider this driver stable enough that I want to give it some
exposure in -current.
1998-10-18 16:24:34 +00:00
KATO Takenori abd5db200f Commented out aic. 1998-10-18 15:55:20 +00:00
Peter Wemm 52c24af701 Some cleanups and optimizations:
- Use the system headers method for Elf32/Elf64 symbol compatability
- get rid of the UPRINTF debugging.
- check the ELF header for compatability much more completely
- optimize the section mapper.  Use the same direct VM interfaces that
  imgact_aout.c and kern_exec.c use.
- Check the return codes from the vm_* functions better.  Some return
  KERN_* results, not an errno.
- prefault the page tables to reduce startup faults on page tables like
  a.out does.
- reset the segment protection to zero for each loop, otherwise each
  segment could get progressively more privs. (eg: if the first was
  read/write/execute, and the second was meant to be read/execute, the
  bug would make the second r/w/x too.  In practice this was not a
  problem because executables are normally laid out with text first.)
- Don't impose arbitary limits.  Use the limits on headers imposed by
  the need to fit them into one page.
- Remove unused switch() cases now that the verbose debugging is gone.

I've been using an earlier version of this for a month or so.
This sped up ELF exec speed a bit for me but I found it hard to get
consistant benchmarks when I tested it last (a few weeks ago).
I'm still bothered by the page read out of order caused by the
transition from data to bss. This which requires either part filling the
transition page or clearing the remainder.
1998-10-18 15:55:12 +00:00
Peter Wemm 034db87204 Add an ELF_MACHINE_OK() macro for compatability with the Alpha version. 1998-10-18 15:31:23 +00:00
KATO Takenori c8e89e8bbd Update SMP-GENERIC98 to something a bit more recent based on GENERIC98. 1998-10-18 14:02:43 +00:00
KATO Takenori a8a4a44273 Sync with sys/i386/conf/GENERIC revision 1.125. 1998-10-18 13:58:16 +00:00
Jordan K. Hubbard b0acfef261 adjust to match current times. 1998-10-18 13:56:49 +00:00