Maxim Sobolev [Mon, 21 Aug 2000 10:21:28 +0000 (10:21 +0000)]
Fix a bug introduced by my own previous commit (addition of the current
line/column display).
I overlooked that ee(1) doesn't maintain proper line numbering when
adding/removing lines, so after those operations linenumber displayed may not
match the reality. Also use proper variable for current column diaplay, because
the one used previously reflects the offset of current char, which doesn't
equial screen position when tabs present.
Cameron Grant [Sun, 20 Aug 2000 22:18:56 +0000 (22:18 +0000)]
rework feeder sytem to allow feeders in klds
modify driver capability reporting format to list every audio format
seperately- required for above and because we could not previously indicate
that mono was unsupported.
Mark Murray [Sun, 20 Aug 2000 10:03:26 +0000 (10:03 +0000)]
Fixes and cleanups to the perl build; don't error out when NOCLEAN is
set and directories are being (re)made; build the procname ($0) stuff,
don't install miniperl.
(Miniperl needs a revisit).
Warner Losh [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.
Mark Murray [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.
David Malone [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)
Warner Losh [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.
Sheldon Hearn [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".
David Malone [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 Cobbs [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 Wunsch [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 Somers [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 Somers [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.
- 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.
John Baldwin [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.
Brian Feldman [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 ;)
Tor Egge [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.
Martin 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().