Commit Graph

65853 Commits

Author SHA1 Message Date
Jake Burkholder
2baa1ef450 Align the symbol that demarks the end of the signal code on a 16 byte
boundary.  It must be on at least an 8 byte boundary so that the length
of the signal code is a multiple of 8 (well aligned).  The size is used
in the calculation of the address of the argument and environment vectors
on the user stack; getting it wrong results in the string pointers being
misaligned and causes alignment faults in getenv() among other things.

Allocate a regular stack frame below the signal frame on the user stack
and join up the frame pointer to the previous frame.  This fixes longjmp-ing
out of signal handlers.  Longjmp traverses the stack upwards in order to
find the right frame to return to, so the frame pointers must join up
seamlessly.  I thought this would just work, but obviously the frame
needs to be below the signal frame, not above it like before.  Account
for the extra space in the signal code.

Preload pointers to interrupt data structures in interrupt globals.
This avoids the need to load the pointers from memory in the vectored
interrupt trap handler.

Transfer the first 2 out registers into td_retval in setregs.  We use
the same registers for system call arguments as return values, so these
registers got clobbered by the system call return values on return from
execve.  They now get clobbered by the right values.  We must put the values
in both the out registers in the trapframe and in td_retval because init
calls exec but fails to transfer the return value into the out registers.
This fixes a bug where the first exec after init would pass junk to the
c runtime, instead of a pointer to the argument strings.  A better solution
would be to return EJUSTRETURN on success from execve.

Adjust for change in pmap_bootstraps prototype.

Map the message buffer after the trap table is setup.  We will fault
on it immediately.
2001-10-20 16:36:08 +00:00
Jake Burkholder
6ef2d9a02d Parameterize the size of the kernel virtual address space on KVA_PAGES.
Don't use a hard coded address constant for the virtual address of the
kernel tsb.  Allocate kernel virtual address space for the kernel tsb
at runtime.
Remove unused parameter to pmap_bootstrap.
Adapt pmap.c to use KVA_PAGES.
Map the message buffer too.
Add some traces.
Implement pmap_protect.
2001-10-20 16:17:04 +00:00
Jake Burkholder
d37e05e1c4 Remove hardcoded cwp value. 2001-10-20 16:10:13 +00:00
Jake Burkholder
4daaec8bec Use KTR_PROC instead of KTR_CT1 in traces. 2001-10-20 16:09:50 +00:00
Jake Burkholder
7e16bdb39b Return zero on success from su*. Apparently no one checks the return
values.
Add traces to fubyte, subyte, etc.  These are useful for catching errors.
due to alignment since its usually not checked for by the caller.
2001-10-20 16:09:20 +00:00
Ian Dowse
72ec63a53d Introduce some jitter to the timing of the samples that determine
the system load average. Previously, the load average measurement
was susceptible to synchronisation with processes that run at
regular intervals such as the system bufdaemon process.

Each interval is now chosen at random within the range of 4 to 6
seconds. This large variation is chosen so that over the shorter
5-minute load average timescale there is a good dispersion of
samples across the 5-second sample period (the time to perform 60
5-second samples now has a standard deviation of approx 4.5 seconds).
2001-10-20 16:07:17 +00:00
Jake Burkholder
209cf80d43 Add support for physical address hardware watchpoints. 2001-10-20 16:04:39 +00:00
Jake Burkholder
6c3dcb9735 Change the stray count in struct intr_vector to a vector number that can
be used to index tables of counters.
Remove intr_dispatch() inline, it is implemented directly in tl*_intr now.
Count stray interrupts in a table of counters like intrcnt.
Disable interrupts briefly when setting up the interrupt vector table.
We must disable interrupts completely, not just raise the pil.
Pass pointers to the intr_vector structures rather than a vector number
to sched_ithd and intr_stray.
2001-10-20 16:03:41 +00:00
Jake Burkholder
44217f38a5 Remove traces that are loud and not that useful. Remove nested include
of ktr.h.
2001-10-20 15:58:31 +00:00
Jake Burkholder
c93b7ccb41 Remove an unused macro arg. 2001-10-20 15:57:39 +00:00
Jake Burkholder
4fd2757c37 Include a whole interrupt queue in struct globaldata instead of just a
pointer.  Minor style.
2001-10-20 15:57:09 +00:00
Jake Burkholder
3d6e05660a Add fields for boothowto and the kernel environment to boothowto. 2001-10-20 15:55:42 +00:00
Doug Rabson
2baea57020 Reserve space for signal state. 2001-10-20 15:19:43 +00:00
Doug Rabson
61415ba82c Implement setjmp, longjmp, sigsetjmp and siglongjmp. 2001-10-20 15:19:08 +00:00
Doug Rabson
9466885ca4 Add __divdf3(), __divsf3() and __infinity[].
Obtained from:	Intel (for the divide code)
2001-10-20 15:17:31 +00:00
Ian Dowse
0eb6ce3169 Move the code that computes the system load average from vm_meter.c
to kern_synch.c in preparation for adding some jitter to the
inter-sample time.

Note that the "vm.loadavg" sysctl still lives in vm_meter.c which
isn't the right place, but it is appropriate for the current (bad)
name of that sysctl.

Suggested by:	jhb (some time ago)
Reviewed by:	bde
2001-10-20 13:10:43 +00:00
Ollivier Robert
41494fa079 Remove the ``-c 22'' option from newfs command line. Changes in newfs(8)
makes that obsolete. The jury^W-arch is still out about the block and fragment
sizes so I'll that for later.

Reminded by:	obrien
MFC after:	2 days
2001-10-20 09:28:53 +00:00
Jonathan Lemon
d8b84d9e07 Only examine inet addresses of the interface. This was broken in r1.83,
with the result that the system would reply to an ARP request of 0.0.0.0
2001-10-20 05:14:06 +00:00
Darren Reed
f645349388 Do an ipf -y after bringing up ppp to ensure rules which mention ppp get
matched.  Moification on PR to handle ipnat not being dependant on
ipfilter_enable

PR:	22859
2001-10-20 04:46:32 +00:00
Darren Reed
9645656d2c Allow ipnat_enable to be set to "yes" without requiring ipfiltre_enable to
be set to "yes"

PR:		25223
2001-10-20 04:41:47 +00:00
Darren Reed
7b60aacc90 Create /var/db/ipf
PR:		27070
2001-10-20 04:33:12 +00:00
Darren Reed
639e6db6e7 Put in place for using ipfs use on shutdown and startup.
PR:		27070
2001-10-20 04:33:02 +00:00
Darren Reed
d70e094301 include ipfs in subdirs
PR:		27063
2001-10-20 04:27:45 +00:00
Darren Reed
0186482566 build ipfs for -current
PR:		27063
2001-10-20 04:27:05 +00:00
Darren Reed
45e22a3d1c Add the ipfilter directory in share/examples
PR:		26763
2001-10-20 04:18:41 +00:00
Darren Reed
2600f5b80b Add the ipfilter subdirectory
PR:		26763
2001-10-20 04:18:13 +00:00
Darren Reed
6de4d5d5a4 Add the IPFilter how-to and other related documents to the base install
so that users gets ipfilter examples without a source install.

PR:		26763
Submitted by:	Cyrille Lefevre <clefevre@poboxes.com>
2001-10-20 04:17:07 +00:00
Marcel Moolenaar
3824d75af1 Save the AP wake-up vector from the SAL descriptor under SMP.
Note that the descriptor is optional. Add a comment to indicate
that we want to register the OS_BOOT_RENDEZ here as well.
2001-10-20 03:39:55 +00:00
Marcel Moolenaar
5b8c64dd2c Make this compile under option SMP. 2001-10-20 03:33:07 +00:00
John Baldwin
76e296aa31 - Make the sio_inited handling more properly MP safe.
- If we are booting with a serial console, then pass the MTX_QUIET flag to
  mtx_init of the sio lock as otherwise KTR_VERBOSE simply doesn't work.
2001-10-20 03:32:33 +00:00
John Baldwin
dee2bb2540 Assert that a ucred is unshared before we remap its ids. 2001-10-20 03:30:34 +00:00
John Baldwin
c516499ad4 Make the flag field in the ps output one char wider to account for recent
growth in the number of flags used.  Also, if a thread is blocked on a
mutex, print the mutex name in the wait channel column.
2001-10-20 03:22:23 +00:00
Andrew Gallatin
dd79258102 apparently EV5 2x00s have their t2 CSRs where I'd expect to find
them on a  2100A

Thanks to Tyler Willingham <ze_willow@yahoo.com> for letting me
test this on his AS2000
2001-10-20 01:27:23 +00:00
John Baldwin
7ada587697 The mtx_init() and sx_init() functions bzero'd locks before handing them
off to witness_init() making the check for double intializating a lock by
testing the LO_INITIALIZED flag moot.  Workaround this by checking the
LO_INITIALIZED flag ourself before we bzero the lock structure.
2001-10-20 01:22:42 +00:00
David E. O'Brien
c932615213 Drop support for x87 emulation. Any CPU one would dare to run 5-CURRENT
on would have built-in FP support.
2001-10-20 01:15:54 +00:00
Dag-Erling Smørgrav
82835638e1 Tweak the way we determine if an interface needs to have its name translated.
Add some missing break statements in the socket ioctl switch.
Check the return value from copyin() / copyout().
Fix some disorderings and misindentations.
Support a couple more socket ioctls.
Add missing break statements.
2001-10-20 00:01:26 +00:00
Peter Wemm
259ed91740 Add a sysctl for preventing the sync() in panic() recovery. This can
be so dangerous it isn't funny.  eg: if you panic inside NFS or softdep,
and then try and sync you run into held locks and cause either deadlocks,
recursive panics or other interesting chaos.  Default is unchanged.
2001-10-19 23:32:03 +00:00
Mark Peek
94e0b85e76 Fix includes based on recent changes to lock.h, mutex.h and ktr.h. 2001-10-19 22:45:46 +00:00
Doug Rabson
ccd97ec1f2 Add unaligned.c and delete commented out entry for userconfig.c 2001-10-19 22:25:00 +00:00
Doug Rabson
76f7435e6e Make a start at an unaligned trap handler. Only integer loads and stores
are handled so far.
2001-10-19 22:23:51 +00:00
Mark Peek
43aba0eadb Make override of nm consistent across all platforms and sort the overrides.
Reminded by:	obrien
2001-10-19 22:19:06 +00:00
Doug Rabson
9c2de1cd14 Make a start at a regression test for the unaligned trap handler. 2001-10-19 22:10:13 +00:00
Bruce A. Mah
74af4616c6 Bring a few multi-architecture arch= attributes into the hardware
list, based primarily on dmesg logs posted to various mailing lists.
2001-10-19 20:56:31 +00:00
Doug Rabson
c33287f969 Translate various userland traps into SIGBUS (instead of just panicing). 2001-10-19 20:46:12 +00:00
Bruce A. Mah
4fb1e6a7c9 Support a comma-separated list of architectures for the arch=
attribute.  This change is necessary in order for the release
documentation to scale to support more than two architectures.

Based on work by:	hrs
2001-10-19 20:41:09 +00:00
David E. O'Brien
d80e71799d Make the logic more explicit. 2001-10-19 20:20:16 +00:00
Ruslan Ermilov
c3917acb86 Fix the typedef of va_list. 2001-10-19 20:07:46 +00:00
Bruce A. Mah
5207734205 New release note: xl(4) checksum offloading.
Reviewed by:	alc
2001-10-19 20:07:07 +00:00
Ruslan Ermilov
8c93e71e33 Try two on the preprocessing logic.
Reviewed by:	obrien
2001-10-19 20:06:23 +00:00
Bruce A. Mah
61fa74d8aa New release note: route(8) add -ifp/-ifa.
Submitted by:	ru
2001-10-19 20:02:22 +00:00