Commit Graph

88413 Commits

Author SHA1 Message Date
alc
3c03fd9f54 o Remove useracc() calls from aio_qphysio(); they are redundant
given the checks performed by vmapbuf().

Reviewed by:	tegge
2003-04-04 06:26:28 +00:00
alc
cbd6318ffd o Check the b_bufsize passed to vmapbuf() returning an error
if it is invalid.
 o Remove a debugging printf() from vmapbuf().

Suggested by:   tegge
2003-04-04 06:14:54 +00:00
imp
b72dee7e43 Simplify compatibility ifdef. 2003-04-04 04:39:29 +00:00
imp
106c479ccd No need to check to see if we're running a version of FreeBSD 3.0 current or
newer anymore.
2003-04-04 04:17:14 +00:00
imp
5926797d54 No need to have ifdef < FreeBSD 4.0-current in here. Remove it to
avoid false positive while searching for __FreeBSD_version abuse.
2003-04-04 04:16:06 +00:00
marcel
578041b6e2 Remove `#ifndef lint' left behind after previous change. 2003-04-04 02:12:56 +00:00
tjr
cc09a6b3db G/C tconv: It is libmytinfo-dependent and has not compiled for 3+ years. 2003-04-04 01:10:25 +00:00
jake
68ea55c962 - Removed APTD and associated macros, it is no longer used.
BANG BANG BANG etc.

Sponsored by:	DARPA, Network Associates Laboratories
2003-04-03 23:44:35 +00:00
phk
383d50b298 Output machdep.guessed_bootdev as an integer rather than try to format
it according to ancient and obsolete rules.

This removes one more user of <sys/diskslice.h>
2003-04-03 21:41:14 +00:00
obrien
96d4258af9 Use __FBSDID rather than rcsid[]. 2003-04-03 21:36:33 +00:00
bmah
2ccfc29d0b Fix typo: On the relevant architectures, floppy drives are handled by
the fdc(4) driver, not the fd(4) file descriptor files.

Submitted by:	Peter B <pb@ludd.luth.se>
MFC after:	1 week
2003-04-03 21:23:31 +00:00
mux
d2962d1a1c Remove useless initialization. 2003-04-03 20:39:43 +00:00
ps
986a7d95d4 Add support for the HP Smart Array 6400 EM
Change the interrupt mask for the Smart Array 6xxx controllers after
discussions w/ HP.
2003-04-03 20:09:27 +00:00
phk
ffdec08c2c Retire the DIOCGMBR ioctl before anybody starts to use it. 2003-04-03 19:37:40 +00:00
phk
8207e9e353 Remove BIO_SETATTR from non-GEOM part of kernel as well. 2003-04-03 19:22:32 +00:00
phk
cbe207a30e Remove all references to BIO_SETATTR. We will not be using it. 2003-04-03 19:19:36 +00:00
phk
aba0028d27 Update the initializer for GEOM_MBREXT, I overlooked it previously. 2003-04-03 19:05:03 +00:00
phk
3288c86f74 Add #define for DOSPTYP_PMBR, and use it. 2003-04-03 18:55:16 +00:00
jake
aca72a7a77 Add optimized block copy and zero functions using vis instructions, which
can do 64 bytes at a time and don't allocate lines in the L2 cache.  These
assume that everything is 64 byte aligned, and that there's more than 128
bytes of data (best for whole pages).  The block load and store instructions
don't follow normal memory ordering rules and require either a memory barrier
or move between registers before the data can actually be used.  This
implementation correctly shuffles around 3 out of the 4 sets of registers
in order to avoid memory barriers expect for the last 2 blocks.
2003-04-03 18:43:40 +00:00
mux
9fc72a0ca0 Fix fxp(4), this changed shouldn't have crept in.
Pointy hat to:	mux
Reported by:	Pawel Worach <pawel.worach@nordea.com>
2003-04-03 18:39:48 +00:00
yar
6dd591ce7c Stop logging ``authpriv'' messages to the world-readable file
/var/log/messages.  Such messages are for the eyes of authorized
personnel only.

PR:		conf/48170
Discussed in:	freebsd-security
MFC after:	2 weeks
2003-04-03 18:37:49 +00:00
jake
5b5fd1b87a Add support for saving and restoring kernel floating point state. The state
will be saved if we context switch as a result of an interrupt which occured
while using the floating point registers in the kernel (which actually can't
happen right now).  This allows fp disabled traps in the kernel, which
normally shouldn't happen, so make sure the trapping code is what we expect
it is.
2003-04-03 18:34:05 +00:00
jake
d37e146719 - Add space for kernel floating point registers to the pcb. These will be
used to support block copy and zero operations in the kernel which use the
  floating point registers.
- While I'm changing the size, improve the layout of struct pcb, sort by size,
  then alphabetical etc.
- Add some assertions to validate assumptions made about how the pcb is
  allocated.
2003-04-03 18:28:03 +00:00
jake
ffcfcc8152 - Generally improve register usage in cpu_switch. Use the 'in' registers
for temporaries relating to the state of the new process instead of the
  outs, so that functions can be called without fear of clobbering them.
- Use savefpctx instead of rolling our own.
2003-04-03 16:36:01 +00:00
des
c115d3b2c0 <sys/disk.h> -> <geom/geom_disk.h> 2003-04-03 16:28:57 +00:00
jake
98b50a6e47 Don't assume the fp state is at offset 0 in the pcb. 2003-04-03 16:04:18 +00:00
jake
4c3ebbad66 Fix typos (don't use * when taking the size of an array). 2003-04-03 15:50:17 +00:00
mux
63b6b25833 Remove all the bogus volatile qualifiers from the structs definitions
and associated evil casts to discard them.
2003-04-03 14:08:35 +00:00
nyan
5fd79994ea MFi386: revision 1.188 2003-04-03 12:39:51 +00:00
nyan
159bd982cb MFi386: revision 1.561 2003-04-03 12:39:18 +00:00
phk
0c329c8757 Don't pull in geom_enc.c any more. 2003-04-03 12:36:56 +00:00
phk
9e2f75eb24 #include <sys/endian.h> as needed. 2003-04-03 11:56:10 +00:00
phk
f14c63f8a8 Remove geom_enc.c, a superset of these functions are now available in
<sys/endian.h>
2003-04-03 11:40:06 +00:00
phk
25c7685ca9 Use <sys/endian.h> instead of geom_enc.c for endianess-agnostification. 2003-04-03 11:36:53 +00:00
phk
34a3abe946 Use sys/endian.h instead of geom_enc.c for endian-agnostfication. 2003-04-03 11:33:51 +00:00
phk
f8257495cf Pointy hat commit:
Don't Cut&Paste from big endian to little endian function without subsequent
adjustments.
2003-04-03 11:32:01 +00:00
phk
7d796a935a Make sure we don't ignore error codes. 2003-04-03 11:19:24 +00:00
phk
310472fea7 Use "unsigned char" instead of "u_char" to avoid trouble. 2003-04-03 10:21:58 +00:00
phk
ef3342b1dc Add support for Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232
Submitted by:	sst@cybercity.dk
2003-04-03 09:47:15 +00:00
phk
50ba1a096a Add inline functions {be,le}{16,32,64}{enc,dec}() for encoding decoding
into byte strings of unknown alignment.
2003-04-03 08:58:04 +00:00
phk
a7c38434d2 NO_GEOM cleanup: Remove dkmakeminor(). 2003-04-03 08:51:22 +00:00
phk
97afb95c01 Don't use dkmakeminor(), create our own minor encoding instead. 2003-04-03 08:50:35 +00:00
phk
36382df50b Don't use dkmakeminor(), it has nothing to do with CDroms. 2003-04-03 08:49:49 +00:00
imp
5f908a4d84 2.x->3.0 upgrade tools are no longer needed. 5.x is unlikely to fit
on a 2.1/2.2 root disk anyway.

OK'd by: peter
2003-04-03 05:44:08 +00:00
imp
9c53d2269f Kill upgrade target docs. It too is stale.
Submitted by: ru
2003-04-03 05:34:36 +00:00
imp
e22dff07de Kill aout to elf upgrade path. From an old comment in the makefile:
# If -DWANT_AOUT is specified, a `make world' with OBJFORMAT=elf will
# update the legacy support for aout. This includes all libraries, ld.so
# and boot objects. This part of build should be regarded as
# deprecated and you should _not_ expect to be able to do this past the
# release of 4.0. You have exactly one major release to move entirely
# to elf.

Now that we're past 5.0, these aren't needed at all anymore and it is
well past its freshness date.
2003-04-03 05:28:09 +00:00
jmallett
eba71bcf69 MFp4 @27667: WARNS=5 cleanup on i386.
Remove the unused FILE\ *tf from print_mesg args, and the
    bogus passing in of an uninitialised FILE* for it.

    Call a timeval 'now' instead of 'clock' due to shadowing.

    Remove a nested localtime declaration.

    Make the delete invite argument match the ID type, u_int32_t.

    Use const for pointers to const items.

    Cast to long where printing as such.

    Include netinet/in.h for htonl/htons.

Reviewed by:	imp
2003-04-03 05:13:27 +00:00
jake
5b2b2811a1 - Pass a ucontext_t to _set_curthread. If non-NULL the new thread is set
as curthread in the new context, so that it will be set automatically when
  the thread is switched to.  This fixes a race where we'd run for a little
  while with curthread unset in _thread_start.

Reviewed by:	jeff
2003-04-03 03:34:50 +00:00
jeff
12c39a9461 - Keep seperate statistics and run queues for different scheduling classes.
- Treat each class specially in kseq_{choose,add,rem}.  Let the rest of the
   code be less aware of scheduling classes.
 - Skip the interactivity calculation for non TIMESHARE ksegrps.
 - Move slice and runq selection into kseq_add().  Uninline it now that it's
   big.
2003-04-03 00:29:28 +00:00
peter
46969da5f8 Commit a partial lazy thread switch mechanism for i386. it isn't as lazy
as it could be and can do with some more cleanup.  Currently its under
options LAZY_SWITCH.  What this does is avoid %cr3 reloads for short
context switches that do not involve another user process.  ie: we can
take an interrupt, switch to a kthread and return to the user without
explicitly flushing the tlb.  However, this isn't as exciting as it could
be, the interrupt overhead is still high and too much blocks on Giant
still.  There are some debug sysctls, for stats and for an on/off switch.

The main problem with doing this has been "what if the process that you're
running on exits while we're borrowing its address space?" - in this case
we use an IPI to give it a kick when we're about to reclaim the pmap.

Its not compiled in unless you add the LAZY_SWITCH option.  I want to fix a
few more things and get some more feedback before turning it on by default.

This is NOT a replacement for Bosko's lazy interrupt stuff.  This was more
meant for the kthread case, while his was for interrupts.  Mine helps a
little for interrupts, but his helps a lot more.

The stats are enabled with options SWTCH_OPTIM_STATS - this has been a
pseudo-option for years, I just added a bunch of stuff to it.

One non-trivial change was to select a new thread before calling
cpu_switch() in the first place.  This allows us to catch the silly
case of doing a cpu_switch() to the current process.  This happens
uncomfortably often.  This simplifies a bit of the asm code in cpu_switch
(no longer have to call choosethread() in the middle).  This has been
implemented on i386 and (thanks to jake) sparc64.  The others will come
soon.  This is actually seperate to the lazy switch stuff.

Glanced at by:  jake, jhb
2003-04-02 23:53:30 +00:00