imp [Sat, 19 Aug 2000 19:25:23 +0000 (19:25 +0000)]
Work around a possible kernel linker bug. It appears that the data
elements defined by foo_if.c aren't sharable amoung modules (I'm
working on a bug report for it now), or else I don't understand
something. It showed up as kobj functions not being called.
In any event, link in the pcic and pccard parts of the modules to work
around the problem for now.
markm [Sat, 19 Aug 2000 12:28:23 +0000 (12:28 +0000)]
Fix the arguments to [(1) (AKA test(1)). If the string being tested
by -n is nonexistant, then the following -d was misinterpreted with
a strange error. By putting double quotes (") around the argument,
we can be sure there is _something_ there that we can check a zero
length against.
dwmalone [Sat, 19 Aug 2000 08:32:59 +0000 (08:32 +0000)]
Replace the mbuf external reference counting code with something
that should be better.
The old code counted references to mbuf clusters by using the offset
of the cluster from the start of memory allocated for mbufs and
clusters as an index into an array of chars, which did the reference
counting. If the external storage was not a cluster then reference
counting had to be done by the code using that external storage.
NetBSD's system of linked lists of mbufs was cosidered, but Alfred
felt it would have locking issues when the kernel was made more
SMP friendly.
The system implimented uses a pool of unions to track external
storage. The union contains an int for counting the references and
a pointer for forming a free list. The reference counts are
incremented and decremented atomically and so should be SMP friendly.
This system can track reference counts for any sort of external
storage.
Access to the reference counting stuff is now through macros defined
in mbuf.h, so it should be easier to make changes to the system in
the future.
The possibility of storing the reference count in one of the
referencing mbufs was considered, but was rejected 'cos it would
often leave extra mbufs allocated. Storing the reference count in
the cluster was also considered, but because the external storage
may not be a cluster this isn't an option.
The size of the pool of reference counters is available in the
stats provided by "netstat -m".
PR: 19866
Submitted by: Bosko Milekic <bmilekic@dsuper.net>
Reviewed by: alfred (glanced at by others on -net)
imp [Sat, 19 Aug 2000 05:01:07 +0000 (05:01 +0000)]
Call bus_generic_detach on pcic before deleting the children. This
has the side effect of detaching the children before I delete them.
When I put the last commits in a loop for loop it died after 5 or so
iterations. After this change, I lasted 50 before I stopped the test.
sheldonh [Fri, 18 Aug 2000 08:11:23 +0000 (08:11 +0000)]
The output of this script got a little broken in rev 1.225, with
the output for the linux_enable and svr4_enable stuff "floating
in the middle of nowhere".
Give them their own section, called "additional ABI support".
dwmalone [Fri, 18 Aug 2000 08:02:31 +0000 (08:02 +0000)]
The slip driver used to allocate a mbuf cluster without attaching
it to a mbuf. This patch makes it attach it to mbuf. This patch
is in preperation for Bosko Milekic's mbuf external reference
counting patches.
PR: 19866 (first stage)
Submitted by: Ian Dowse <iedowse@maths.tcd.ie>
Reviewed by: alfred
archie [Thu, 17 Aug 2000 23:51:47 +0000 (23:51 +0000)]
(forced commit: previous commit message was truncated)
Fix two bugs:
- The ftpPassive() function seemed to think that the PASV command
is a toggle. This is not true (however, the ftp(1) "pass" command
is indeed a toggle). So no need to emit a "PASV" command each time
this function is called; that's handled by ftp_file_op().
- check_passive() is supposed to check if FTP_PASSIVE_MODE is defined,
and if so, override ftpPassive(). However, it was overriding
ftpPassive() even if FTP_PASSIVE_MODE was not defined, rendering
calls to the ftpPassive() function completely ineffectual.
Also, clarify the relationship between ftpPassive() and the
FTP_PASSIVE_MODE environment variable in the man page.
joerg [Thu, 17 Aug 2000 16:27:26 +0000 (16:27 +0000)]
Implement the GDB counterpart to use hardware watchpoints in connection
with Brian's kernel support for i386 debug registers. This makes
watchpoints actually usable for real-life problems. Note: you can
only set watchpoints on 1-, 2- or 4-byte locations, gdb automatically
falls back to [sloooow] software watchpoints when attempting to use
them on variables which don't fit into this category. To circumvent
this, one can use the following hack:
watch *(int *)0x<some address>
David O'Brien is IMHO considering to get this fully integrated into the
official GDB, but as long as we've got the i386/* files sitting around
in our private FreeBSD tree here, the feature can now be tested more
extensively, so i'm committing this for the time being.
This work has been done in order to debug a tix toolkit problem, thus
it has been sponsored by teh Deutsche Post AG.
Reviewed by: bsd (not the operating system, but Brian :-)
brian [Thu, 17 Aug 2000 14:39:24 +0000 (14:39 +0000)]
Make this file look prettier
Bump the MRU by 4 bytes to make room for the MP header
Down the autoload threshold to a practical value
Don't specify the ISDN bandwidth as 65536 (ahem!)
Don't specifiy a carrier period (the default of 6 seconds is fine)
brian [Thu, 17 Aug 2000 14:14:54 +0000 (14:14 +0000)]
If we're in MP mode with a single open link, MP link level compression
isn't open and the links MRU >= our MRRU, send outbound traffic as
PROTO_IP rather than PROTO_MP. This shaves some bytes off the front
of each packet 'till the second link is brought up.
nyan [Thu, 17 Aug 2000 12:15:45 +0000 (12:15 +0000)]
- Fixed the conversion to bus_space interface.
- Added PC-98 Cbus devices support.
The original patch is submitted by chi@bd.mbn.or.jp (Chiharu Shibata)
- Removed old ed driver.
jhb [Thu, 17 Aug 2000 05:43:41 +0000 (05:43 +0000)]
Add in a hack that installs 'src/sys/${MACHINE_ARCH}/GENERIC.hints' as
/boot/device.hints in the bin dist during releases so that current snapshots
have a chance of booting up ok after installing. The real fix for this
problem is to rewrite userconfig in Forth, stick it in the loader, axe
userconfig from the kernel, and extract the hints from the booted kernel in
sysinstall similar to the way we generate /boot/kernel.conf right now. For
now, however, this will have to do.
green [Wed, 16 Aug 2000 23:31:43 +0000 (23:31 +0000)]
Allow use of the ${MAKE_SHELL} variable to specify alternate shells for
make(1) to use. Setting it to "sh" and "ksh" are the only values which
work right ATM; I wouldn't expect "csh" to get you far ;)
tegge [Wed, 16 Aug 2000 21:24:44 +0000 (21:24 +0000)]
Prepare for a cleanup of pmap module API pollution introduced by the
suggested fix in PR 12378.
Keep track of all existing pmaps independent of existing processes.
This allows for a process to temporarily connect to a different address
space without the risk of missing an update of the original address space if
the kernel grows.
pmap_pinit2() is no longer needed on the i386 platform but is left as a
stub until the alpha pmap code is updated.
cracauer [Wed, 16 Aug 2000 10:39:43 +0000 (10:39 +0000)]
From submitter:
growstackblock() sometimes relocates a stack_block considered empty
without properly relocating stack marks referencing that block.
The first call to popstackmark() with the unrelocated stack mark
as argument then causes sh to abort.
Relocating the relevant stack marks seems to solve this problem.
The patch changes the semantics of popstackmark() somewhat. It can
only be called once after a call to setstackmark(), thus cmdloop() in
main.c needs an extra call to setstackmark().
grog [Wed, 16 Aug 2000 04:31:37 +0000 (04:31 +0000)]
open_drive:
Add support for AMD RAID controllers as "disks".
Requested-by: Marius Bendiksen <mbendiks@eunet.no>
Remove potential panic when attempting to open non-existent drivers.
init_drive: Return error codes correctly. Previously it would
occasionally return 0. The error was redetected
elsewhere, but this was causing a number of confusing
error messages.
rnordier [Tue, 15 Aug 2000 17:42:24 +0000 (17:42 +0000)]
Partially revert r1.12, in which a warnx() if the device is not a
character device is changed to an errx(). This unnecessarily
compromises device independence.
sheldonh [Tue, 15 Aug 2000 15:09:34 +0000 (15:09 +0000)]
Add a sample ifconfig entry for an IPX address family address, to give
IPX folks a fighting chance of figuring this out themselves. I can't
work out how to document this carefully in rc.conf(5), but this ought
to close the PR.
PR: 17904
Reported by: John Gelnaw <jeg@hawk.circa.ufl.edu>
sheldonh [Tue, 15 Aug 2000 14:42:50 +0000 (14:42 +0000)]
Describe the process used for the gawk-3.0.6 update in
FREEBSD-upgrade and remove the config.h which should never
have existed in the contrib area. That file has been moved
into gnu/usr.bin/awk where it belongs.
brian [Tue, 15 Aug 2000 10:25:42 +0000 (10:25 +0000)]
Maintain input and output throughput averages and choose the highest
of the two when calculating the MP throughput average for the ``set
autoload'' implementation.
This makes more sense as all links I know of are full-duplex. This
also means that people may need to adjust their autoload settings
as 100% bandwidth is now the theoretical maximum rather than 200%
(but of course, halfing the current settings is probably not the
correct answer either!).
This involves a ppp version bump as we need to pass an extra
throughput array through the MP local domain socket.