Jake Burkholder [Tue, 21 Aug 2001 00:07:37 +0000 (00:07 +0000)]
Use register g6 to point to a small stack for svaing alternate globals
during trap handlers.
Implement ptrace_set_pc FWIW.
Initialize the pcb window scratch area in setregs(), and setup user
registers as specified by the SCD.
Jake Burkholder [Mon, 20 Aug 2001 23:40:31 +0000 (23:40 +0000)]
Add support for splitting the register windows on entry to the
kernel from usermode. The remaining user windows are spilled
to the pcb as necessary. The user land window fault handlers
fill directly from the pcb on return.
Add system call entry points.
David E. O'Brien [Mon, 20 Aug 2001 21:29:16 +0000 (21:29 +0000)]
Sync globals.h up with the other platforms. There is still some cruft in
here, but now all the platforms have the same cruft. Consistantly spell
the `struct globaldata *' "globalp".
David E. O'Brien [Mon, 20 Aug 2001 21:22:33 +0000 (21:22 +0000)]
+ do not hard code where a port may be installed to
+ uses `mkisofs' rather than `mkhybrid' as the new mkisofs is the merger
of the two
+ checks for `setcdboot's existsance and tries to pkg_add it if needed
+ removes English contraction
David E. O'Brien [Mon, 20 Aug 2001 21:22:01 +0000 (21:22 +0000)]
+ back out my `iso' target
+ allows one to set _R so one can more easily make an iso after the fact,
in the directory `make release' was issued in
+ changes name from miniboot to miniinst since we make other bootable ISOs
also (and we might confuse someone)
Ian Dowse [Mon, 20 Aug 2001 19:16:31 +0000 (19:16 +0000)]
Avoid sleeping while holding a mutex in dounmount(). This problem
has existed for a long time, but I made it worse a few months ago
by by adding calls to VFS_ROOT() and checkdirs() in revision 1.179.
Also, remove the LK_REENABLE flag in the lockmgr() call; this flag
has been ignored by the lockmgr code for 4 years. This was the only
remaining mention of it apart from its definition.
Matt Jacob [Mon, 20 Aug 2001 17:28:32 +0000 (17:28 +0000)]
Clean up some ways in which we set defaults for SCSI cards
that do not have valid NVRAM. In particular, we were leaving
a retry count set (to retry selection timeouts) when thats
not really what we want. Do some constant string additions
so that LOGDEBUG0 info is useful across all cards.
Mark Murray [Mon, 20 Aug 2001 12:28:40 +0000 (12:28 +0000)]
Code merge and diff reduce with "base" telnet. This is the "later"
telnet, so it was treated as the reference code, except where later
commits were made to "base" telnet.
Mark Murray [Mon, 20 Aug 2001 12:12:27 +0000 (12:12 +0000)]
Feature merging and diff reduction between this code and crypto telnet.
Also remove conditional (AUTHENTICATION) code as we have never compiled
it here, and it is doubtful that it even works in this scenario.
Kris Kennaway [Mon, 20 Aug 2001 06:16:04 +0000 (06:16 +0000)]
The timed protocol is not implemented in a compatible way by all vendors;
the size of the tsp_name field is OS-dependent. 4.3BSD used a 32-byte
field, FreeBSD uses MAXHOSTNAMELEN and RedHat apparently uses a 64-byte
field. As a result, sanity checking code added a few months ago to detect
short packets will fail when interoperating with one of these other vendors.
Change the short packet detection code to expect a minimum packet size
corresponding to the 4.3BSD implementation, which should be a safe minimum
size.
Submitted by: Stephen Whiteley <stevew@best.com> (based on)
PR: misc/29867
Brian Somers [Mon, 20 Aug 2001 00:46:33 +0000 (00:46 +0000)]
When attempting to change the default route, don't write the gateway
and mask to the routing socket, otherwise the update fails.
Warning provided by: markm
The code here was broken for FreeBSD when IPv6 support was added, but
was fixed for OpenBSD. OpenBSD expects the gateway and mask to be
supplied and fails the update otherwise.
Matthew Dillon [Mon, 20 Aug 2001 00:41:12 +0000 (00:41 +0000)]
Limit the amount of KVM reserved for the buffer cache and for swap-meta
information. The default limits only effect machines with > 1GB of ram
and can be overriden with two new kernel conf variables VM_SWZONE_SIZE_MAX
and VM_BCACHE_SIZE_MAX, or with loader variables kern.maxswzone and
kern.maxbcache. This has the effect of leaving more KVM available for
sizing NMBCLUSTERS and 'maxusers' and should avoid tripups where a sysad
adds memory to a machine and then sees the kernel panic on boot due to
running out of KVM.
Also change the default swap-meta auto-sizing calculation to allocate half
of what it was previously allocating. The prior defaults were way too high.
Note that we cannot afford to run out of swap-meta structures so we still
stay somewhat conservative here.
Dima Dorfman [Sun, 19 Aug 2001 23:36:49 +0000 (23:36 +0000)]
Expand a little on the note about apm_battery. Note that apmd can
execute commands when the battery level changes, and point users at
the examples in /etc/apmd.conf since this stuff isn't (yet?)
documented in the manual page. Also note its MFC.
Warner Losh [Sun, 19 Aug 2001 19:16:26 +0000 (19:16 +0000)]
Fix ISA machines. Also, make it possible for the new pccardd to run
on older kernels correctly. Terminate the loop when we find a
suitable irq. Also, only try to select from the pool. Cleaned up the
two cases (IRQ picked by the user and ?) into one.
Kris Kennaway [Sun, 19 Aug 2001 08:19:37 +0000 (08:19 +0000)]
Silence non-constant format string warnings by marking functions
as __printflike()/__printf0like(), adding const, or adding missing "%s"
format strings, as appropriate.
Warner Losh [Sun, 19 Aug 2001 05:01:18 +0000 (05:01 +0000)]
Improve interlocking for card removal. We now can remove the card in
the ISR. We keep track of the card state and don't call the IRS when
the card isn't inserted. This helps quite a bit with card ejection
problems that Ian was seeing.
Brian Somers [Sat, 18 Aug 2001 19:07:13 +0000 (19:07 +0000)]
Back out the previous fix to deal with kernels that don't support IPv6,
and implement a far more subtle and correct fix.
The reason behind the infinite loop was that ppp was trying to make up
initial IPv6 numbers and wasn't giving up when it failed unexpectedly to
assign the addresses it just fabricated to it's interface (thinking that
the reason was because another interface was using the same address).
It now attempts this up to 100 times before just failing and trying to
muddle along (in reality, this should never happen more than a couple
of times unless our random number generator doesn't work).
Also, when IPv6 is not available, don't even try to assign the IPv6
interface address in the first place...