robert [Fri, 30 Aug 2002 15:40:01 +0000 (15:40 +0000)]
- Update strcasecmp(3)/strncasecmp(3) to reflect the fact that
the prototypes for both functions are now in the <strings.h>
header, as required by IEEE Std 1003.1-2001.
- Add one sentence about that in the HISTORY section.
- Include <strings.h> in the source file to have the prototypes
in scope when the _ANSI_SOURCE macro is defined.
jhb [Fri, 30 Aug 2002 14:59:47 +0000 (14:59 +0000)]
Revert previous untested revision. The i386 loader consists of three parts:
At the front is btxldr, in the middle is BTX itself (our mini-kernel), and
then the 'client' (loader.bin) which is the actual loader itself. boot2
just executes a raw ELF or a.out binary with the only setup provided being
that a bootinfo structure is passed on the stack. Now, since loader.bin
is a BTX client, the loader needs to be able to locate a BTX kernel for
the client to execute in the context. Thus, just like pxelder, btxldr
uses the a.out header on the loader binary to find the BTX kernel stored
in the loader and set it up. It does _not_ just reuse the BTX kernel
that boot2 invoked it with. This is because it can't assume that it will
_have_ a "spare" BTX kernel lying around. For example, when cdboot
loads the loader there isn't an existing BTX kernel. In fact, cdboot
will only work with an a.out loader as well since it also "borrows" the
BTX kernel in the loader binary (which it finds by parsing the a.out
header) just as pxeldr does. The only difference between cdboot and
pxeldr is where they get /boot/loader from.
If we wanted to make /boot/loader be an actual ELF binary we would need
to change the following utilites to handle that (and they all have to be
able to handle locating the BTX kernel inside of an ELF binary somehow):
- btxldr
- pxeldr
- cdboot
If we didn't want to require a flag day but make the transition smooth
then we need to be able to support both a.out and ELF versions of
/boot/loader which isn't exactly trivial since all three of these utilities
are written in assembly.
phk [Fri, 30 Aug 2002 08:53:03 +0000 (08:53 +0000)]
Add the new userland tool for manipulating extended attributes.
This will replace the existing getextattr(8) and setextattr(8) with
a single binary responding to the names getextattr, setextattr,
rmextattr and lsextattr.
jmallett [Fri, 30 Aug 2002 07:14:42 +0000 (07:14 +0000)]
Rewrite wargames(6) in C. A program in C in the public domain is better than
a shell script with a big copyright. Or maybe just a good way to spend an hour
after watching a Matthew Broderick flick.
scottl [Fri, 30 Aug 2002 05:02:07 +0000 (05:02 +0000)]
The aac driver needs 256K of contiguous physical memory in order to
attach. If it can't get that (highly likely if loaded as a module on
a system that's been up for a while), give a more descriptive error
message.
Also clean up some nearby style nits.
peter [Fri, 30 Aug 2002 04:04:37 +0000 (04:04 +0000)]
Change hw.physmem and hw.usermem to unsigned long like they used to be
in the original hardwired sysctl implementation.
The buf size calculator still overflows an integer on machines with large
KVA (eg: ia64) where the number of pages does not fit into an int. Use
'long' there.
Change Maxmem and physmem and related variables to 'long', mostly for
completeness. Machines are not likely to overflow 'int' pages in the
near term, but then again, 640K ought to be enough for anybody. This
comes for free on 32 bit machines, so why not?
mjacob [Fri, 30 Aug 2002 03:36:50 +0000 (03:36 +0000)]
Sigh. Ken Merry convinced me that my attempts to DTRT were wrong.
Replace dual copyright with a plain BSD style copyright assigned
to LSI Logic. This is still within the intents of express consent
from LSI.
mjacob [Fri, 30 Aug 2002 02:34:19 +0000 (02:34 +0000)]
Add an additional copyright (with the express consent of LSI Logic) that
specifically allows for (via 'BSD Style' licensing) source && binary
redistribution.
Pointy hat to: Matt, for not getting this done ahead of time.
peter [Fri, 30 Aug 2002 00:29:52 +0000 (00:29 +0000)]
AARGH! btoc() is used in the MI buffer sizing routines to calculate
the minimum of either physmem or KVA. But.. btoc() casts the address
to (unsigned int). This is NOT GOOD on 64 bit machines and on alpha and
ia64, this results in a buffer limit of around 500K (not megs). This
causes extreme disk access problems on alpha and ia64. Since this cast
is simply to ensure that it is unsigned, use 'vm_offset_t' instead. This
is available because it is already defined in types.h.
Alpha has been suffering from this for ages. It always felt like the
caching wasn't working, and unfortunately it turned out that way. :-(
peter [Thu, 29 Aug 2002 23:37:44 +0000 (23:37 +0000)]
Try #2 at having /boot/loader default to ELF. Have pxeldr build its
own a.out version of loader.bin rather than depend on ../loader/loader
being a.out.
peter [Thu, 29 Aug 2002 23:04:05 +0000 (23:04 +0000)]
Actually remove the a.out kld loader. While I am not 100% sure, I believe
it is broken. It certainly has been suffering neglect. It is not needed
because we never shipped a.out kld's and they never really worked right.
archie [Thu, 29 Aug 2002 21:39:19 +0000 (21:39 +0000)]
Make the libc_r version of select() set the readable or writable
file descriptor bit if poll() returns POLLERR, POLLHUP, or POLLNVAL.
Othewise, it's possible for select() to return successfully but
with no bits set.
Reviewed by: deischen
MFC after: 3 days
PR: bin/42175
julian [Thu, 29 Aug 2002 19:49:53 +0000 (19:49 +0000)]
Fix crack-smoking code that was panicing on the quad xeon:
- If either of proc or kse are NULL during thread_exit(), then
the kernel is going to fault because parts of the function
assume they aren't NULL. Instead, just assert they aren't NULL
(as well as the kse group) and assume they are in all of the
code. It doesn't make sense for them to be NULL here anyways.
- Move the PROC_UNLOCK(p) up above clearing td_proc, etc. since
otherwise we will panic if the proc's lock is contested.
scottl [Thu, 29 Aug 2002 15:06:26 +0000 (15:06 +0000)]
Fix a silly off my one error that caused crashes on resume in certain
circumstances. The problem was only reported with -stable, but it's
obviously wrong in -current also. MFC is forthcoming.
brian [Thu, 29 Aug 2002 02:44:58 +0000 (02:44 +0000)]
- made ppp compliant to RFC 2472 (based on a patch from another
contributor)
- support ipv6cpretry and ipv6cpretries, which are IPv6 versions
of ipcpretry and ipcpretries.
- improve handling of IPv6 link-local addresses
peter [Thu, 29 Aug 2002 02:02:28 +0000 (02:02 +0000)]
Initiate deorbit burn of i386 a.out kld "support" in loader. Note that
this was quite broken, it never was updated for metadata support.
The a.out kld file support was never really used, as it wasn't necessary.
You could always load elf kld's, even in an a.out kernel.
peter [Thu, 29 Aug 2002 01:48:09 +0000 (01:48 +0000)]
Initiate deorbit burn for sys/kern/link_aout.c. We never shipped a.out
kld's anywhere, and it was always possible to load ELF kld's even in an
a.out kernel. There is no reason for this to exist anymore, and a.out
kld support has been suffering serious bitrot over the years. They have
not been fully functional for quite some time.
archie [Thu, 29 Aug 2002 00:44:11 +0000 (00:44 +0000)]
When poll(2)'ing for readability or writability of a file descriptor
on behalf of a thread, we should check the POLLERR, POLLHUP, and
POLLNVAL flags as well to wake up the thread in these cases.
peter [Wed, 28 Aug 2002 23:45:15 +0000 (23:45 +0000)]
updatepri() works on a ksegrp (where the scheduling parameters are), so
directly give it the ksegrp instead of the thread. The only thing it used
to use in the thread was the ksegrp.
peter [Wed, 28 Aug 2002 23:24:05 +0000 (23:24 +0000)]
OK, I have had it with losing my console because the AP's print their "I am
alive!" message right as the scsi probe messages happen. This is a bit
nasty, but it seems to work. At the point that we unlock the AP's, briefly
wait till they are all done while we hold the console on their behalf.
archie [Wed, 28 Aug 2002 20:56:01 +0000 (20:56 +0000)]
accept(2) on a socket that has been shutdown(2) normally returns
ECONNABORTED. Make this happen in the non-blocking case as well.
The previous behavior was to return EAGAIN, which (a) is not
consistent with the blocking case and (b) causes the application
to think the socket is still valid.
PR: bin/42100
Reviewed by: freebsd-net
MFC after: 3 days
gshapiro [Wed, 28 Aug 2002 18:12:33 +0000 (18:12 +0000)]
Move the $FreeBSD$ CVS labels far enough away from the $Id$ CVS labels so
I don't have to manually resolve conflicts on every import. Ironically,
most of these files have no changes from the vendor version except the
$FreeBSD$ line.
orion [Wed, 28 Aug 2002 15:19:30 +0000 (15:19 +0000)]
Marginally simplify dsp_open error handling by adding an early test to
determine liklihood of opening device in requested directions. Makes for
simpler error handling and change should close kern/35004.
bde [Wed, 28 Aug 2002 05:14:55 +0000 (05:14 +0000)]
Forward declare struct thread so that this header doesn't depend on its
own namespace pollution/compatibility cruft.
Removed the main part of the pollution. All clients have been converted
to either not depend on getting old locking interfaces from this new
locking header, or usual case to get it from another header (typically
vnode.h, where declaring old loccking interfaces is less bogus because
vnode.h uses them internally).
grog [Wed, 28 Aug 2002 00:33:11 +0000 (00:33 +0000)]
- Clarify events which happened in the USA.
- Note that the USA has no King.
- Unify spelling "US", not "U.S.".
- Remove USSR holiday (anniversary of the revolution).
- Don't remove claim that the Federal Republic of Germany was founded
in 1953 (22 September). Somebody should clarify if something
reallly did happen on that day.
hm [Tue, 27 Aug 2002 14:46:22 +0000 (14:46 +0000)]
After dialling using -n, add the ability to wait for the first response
from the dialler, usually indicating success or failure. Add -v to add
verbose responses in addition to return values indication success or
failure. Update man page.