dragonfly.git
18 years agoWe are DragonFly. Besides, FreeBSD doesn't include mined at all.
Simon Schubert [Thu, 30 Jun 2005 21:12:55 +0000 (21:12 +0000)]
We are DragonFly. Besides, FreeBSD doesn't include mined at all.

18 years agoClean up obsolete stuff in /usr/sbin.
Sascha Wildner [Thu, 30 Jun 2005 20:12:13 +0000 (20:12 +0000)]
Clean up obsolete stuff in /usr/sbin.

18 years agoClean up obsolete info files.
Sascha Wildner [Thu, 30 Jun 2005 19:47:22 +0000 (19:47 +0000)]
Clean up obsolete info files.

18 years agoNo need to remove the .gz files since we just gunzipped them.
Sascha Wildner [Thu, 30 Jun 2005 19:24:35 +0000 (19:24 +0000)]
No need to remove the .gz files since we just gunzipped them.

18 years agoTear down interrupt in wi_free when necessary.
Joerg Sonnenberger [Thu, 30 Jun 2005 17:11:28 +0000 (17:11 +0000)]
Tear down interrupt in wi_free when necessary.
Return error from wi_reset in wi_attach.
Return error value when all-zero MAC was read.
Let wi_attach call wi_free in error conditions, not the frontends.

Based-on-patch-by: Sepherosa Ziehau <sepherosa@gmail.com>
18 years agodon't include regression tests, we don't use them anyway. more than enough
Joerg Sonnenberger [Thu, 30 Jun 2005 17:05:00 +0000 (17:05 +0000)]
don't include regression tests, we don't use them anyway. more than enough
samples in the wild.

18 years agosort
Joerg Sonnenberger [Thu, 30 Jun 2005 17:01:30 +0000 (17:01 +0000)]
sort

18 years agoRe-commit usched_bsd4.c (losing the history) to try to fix a repository
Matthew Dillon [Thu, 30 Jun 2005 16:38:49 +0000 (16:38 +0000)]
Re-commit usched_bsd4.c (losing the history) to try to fix a repository
error.

18 years agoRemove now unnecessary messing with PCI command register.
Joerg Sonnenberger [Thu, 30 Jun 2005 16:05:14 +0000 (16:05 +0000)]
Remove now unnecessary messing with PCI command register.

Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
Change wi_pci_probe to common style (different patch from submission).

18 years agoUse if_printf, especially for DPRINTF. Merge two DPRINTF statements
Joerg Sonnenberger [Thu, 30 Jun 2005 15:57:27 +0000 (15:57 +0000)]
Use if_printf, especially for DPRINTF. Merge two DPRINTF statements
to assist this. Remove sc_dev and sc_unit. Remove unimplemented prototype.

Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
18 years agoRemove unreferenced files. Seems they now live in sys/boot/common...
Simon Schubert [Thu, 30 Jun 2005 15:56:56 +0000 (15:56 +0000)]
Remove unreferenced files. Seems they now live in sys/boot/common...

18 years agoFix references to bzip2
Simon Schubert [Thu, 30 Jun 2005 15:55:17 +0000 (15:55 +0000)]
Fix references to bzip2

18 years agoFix bzip2 vulnerability.
Simon Schubert [Wed, 29 Jun 2005 23:03:22 +0000 (23:03 +0000)]
Fix bzip2 vulnerability.
Thanks to Colin Percival for giving us a heads-up!

Obtained-from: Steve Grubb via RedHat via FreeBSD

18 years agoremove old bzip2
Simon Schubert [Wed, 29 Jun 2005 22:41:34 +0000 (22:41 +0000)]
remove old bzip2

18 years agoSwitch to bzip2-1.0.3
Simon Schubert [Wed, 29 Jun 2005 22:40:20 +0000 (22:40 +0000)]
Switch to bzip2-1.0.3

18 years agoMerge from vendor branch BZIP:
Simon Schubert [Wed, 29 Jun 2005 22:38:10 +0000 (22:38 +0000)]
Merge from vendor branch BZIP:
Import bzip2-1.0.3 modulo unneeded files.

18 years agoImport bzip2-1.0.3 modulo unneeded files.
Simon Schubert [Wed, 29 Jun 2005 22:38:10 +0000 (22:38 +0000)]
Import bzip2-1.0.3 modulo unneeded files.

18 years agoImport bzip2-1.0.3 modulo unneeded files.
Simon Schubert [Wed, 29 Jun 2005 22:38:10 +0000 (22:38 +0000)]
Import bzip2-1.0.3 modulo unneeded files.

18 years agoFor quickrel, use our quick{world,kernel} targets.
Sascha Wildner [Wed, 29 Jun 2005 17:24:35 +0000 (17:24 +0000)]
For quickrel, use our quick{world,kernel} targets.

18 years agoYet more scheduler work. Revamp the batch detection heuristic and fix a few
Matthew Dillon [Wed, 29 Jun 2005 01:25:10 +0000 (01:25 +0000)]
Yet more scheduler work.  Revamp the batch detection heuristic and fix a few
things here and there.  Test the algorithm against buildworlds, mozilla,
gnome-terminal, and pine all running at once.

* Fix a bug in how I handle p_slptime.
* Move the ++p_cptime out of usched_bsd4 and into kern_clock.c.
* Redo the batch heuristic, boost the cost of doing a fork, and
  slowly decrement p_origcpu to compensate for long-running
  processes.
* Use an instantanious load instead of a time-averaged load in the
  decay calculation.

TODO: the SMP support will be virtually identical across all schedulers
and should probably be abstracted out of usched_*.c.

18 years agoSync with FreeBSD to fix (a genuine DragonFly) bug that printed
Simon Schubert [Wed, 29 Jun 2005 00:24:49 +0000 (00:24 +0000)]
Sync with FreeBSD to fix (a genuine DragonFly) bug that printed
the size instead of the time.

Noticed-by: Joseph Garcia <bsd_usr@yahoo.com>
18 years agoHack in support for ar(4) based devices.
Joerg Sonnenberger [Tue, 28 Jun 2005 18:38:06 +0000 (18:38 +0000)]
Hack in support for ar(4) based devices.

18 years agoThe recent commit to propogate kernel options to modules enabled the
Matthew Dillon [Tue, 28 Jun 2005 07:15:38 +0000 (07:15 +0000)]
The recent commit to propogate kernel options to modules enabled the
ACPI cx state code, which had a big fast KKASSERT(0) in it (panic on
boot).  Fix it.

18 years agoRemove an assertion that does not compile due to a lack of a KERNLOAD
Matthew Dillon [Mon, 27 Jun 2005 22:32:00 +0000 (22:32 +0000)]
Remove an assertion that does not compile due to a lack of a KERNLOAD
variable.

Found-by: walt <wa1ter@myrealbox.com>
18 years agotesting cvs commit
Jeremy C. Reed [Mon, 27 Jun 2005 22:27:36 +0000 (22:27 +0000)]
testing cvs commit

18 years agoAllow the CTYPE macros to be disabled, forcing procedure calls to be used
Matthew Dillon [Mon, 27 Jun 2005 20:27:38 +0000 (20:27 +0000)]
Allow the CTYPE macros to be disabled, forcing procedure calls to be used
instead.

Disable the CTYPE macros in libskey, libutil, and libcrypt.  This allows
pre-1.3 programs linked against libc.so.3 to use the PAM modules in HEAD.
these modules indirectly reference libskey, libutil, and libcrypt, which
then fail to dynamically link against libc.so.3 due to references to
ctype globals that do not exist in libc.so.3.

This is a hack, I know, but we have to make upgrades as compatible as
possible with older programs.

18 years agoPrint out additional information for a magic number failure assertion.
Matthew Dillon [Mon, 27 Jun 2005 19:24:52 +0000 (19:24 +0000)]
Print out additional information for a magic number failure assertion.

18 years ago* Remove a procedural layer in the scheduler clock code by having
Matthew Dillon [Mon, 27 Jun 2005 18:38:03 +0000 (18:38 +0000)]
* Remove a procedural layer in the scheduler clock code by having
  kern_clock call the usched scheduler clock function directly.

* Move p_estcpu to scheduler-specific code.

* Have kern_synch's one-second timer call into the scheduler instead of
  trying to figure it out itself.

* Decay p_estcpu whenever a user process is scheduled as well as once
  per second, leading to (hopefully) better performance under load and
  better handling of adverse conditions (a nice +20 process running in the
  face of a nice -20 process).

* No longer assume that one second has elapsed in the one-second callback.
  Instead calculate the elapsed time on a per-process basis.  This should
  reduce instances of batch processes 'glitching' interactive processes.

* Remove the old round-robin code and instead just have the scheduler
  figure it out internally in the scheduler clock function.

* Revamp the scheduler algorithms, making everything #define constant
  driven.  Retain the NICE-based base-priority and decay algorithms but
  narrow the decay range from the process nice value.  Retain the child
  estcpu inheritance algorithm.

Feedback-provided-by: walt <wa1ter@myrealbox.com>
18 years ago- Introduce new -g option. This allows for the broadcast time to be reduced
Liam J. Foy [Mon, 27 Jun 2005 14:48:29 +0000 (14:48 +0000)]
- Introduce new -g option. This allows for the broadcast time to be reduced
below 3 minutes, but no higher due to a three minute downtime assumption.

- When polling, use .events (noted by Peter @ NetBSD)

Ok: Joerg
Discussed with: sjg

18 years agoRemove redundant verbosity. The description of the parent just costs space
Joerg Sonnenberger [Mon, 27 Jun 2005 12:24:46 +0000 (12:24 +0000)]
Remove redundant verbosity. The description of the parent just costs space
in the dmesg buffer, it doesn't add any value since it was printed before.

18 years agoRemove references to NBPFILTER. We unconditionally use bpf.
Simon Schubert [Mon, 27 Jun 2005 11:28:54 +0000 (11:28 +0000)]
Remove references to NBPFILTER. We unconditionally use bpf.
While being here, use opt_inet.h from the kernel build.

Requested-by: joerg
18 years agoIf compiling a module with the kernel, suck in opt_global.h.
Simon Schubert [Mon, 27 Jun 2005 11:03:43 +0000 (11:03 +0000)]
If compiling a module with the kernel, suck in opt_global.h.

18 years agoDon't unconditionally compile in ALTQ.
Simon Schubert [Mon, 27 Jun 2005 10:58:22 +0000 (10:58 +0000)]
Don't unconditionally compile in ALTQ.

Discovered-by: Andreas Hauser
18 years agoRemove PC98 support.
Sascha Wildner [Mon, 27 Jun 2005 02:27:10 +0000 (02:27 +0000)]
Remove PC98 support.

18 years agoChange spl*() to critical sections.
Sascha Wildner [Mon, 27 Jun 2005 01:49:59 +0000 (01:49 +0000)]
Change spl*() to critical sections.

18 years agoFix wrong list head which crept in with the last commit.
Sascha Wildner [Mon, 27 Jun 2005 01:43:15 +0000 (01:43 +0000)]
Fix wrong list head which crept in with the last commit.

18 years agoMove more scheduler-specific defines from various places into usched_bsd4.c
Matthew Dillon [Sun, 26 Jun 2005 22:03:29 +0000 (22:03 +0000)]
Move more scheduler-specific defines from various places into usched_bsd4.c
and revamp our scheduler algorithms.

* Get rid of the multiple layers of abstraction in the nice and frequency
  calculations.

* Increase the scheduling freqency from 20hz to 50hz.

* Greatly reduce the number of scheduling ticks that occur before a
  reschedule is issued.

* Fix a bug where the scheduler was not rescheduling when estcpu drops
  a process into a lower priority queue.

* Implement a new batch detection algorithm.  This algorithm gives
  forked children slightly more batchness then their parents (which
  is recovered quickly if the child is interactive), and propogates
  estcpu data from exiting children to future forked children (which
  handles fork/exec/wait loops such as used by make, scripts, etc).

* Change the way NICE priorities effect process execution.  The NICE
  value is used in two ways:  First, it determines the initial process
  priority.  The estcpu will have a tendancy to correct for this so the NICE
  value is also used to control estcpu's decay rate.

  This means that niced processes will have both an initial penalty for
  startup and stabilization, and an ongoing penalty if they become cpu
  bound.

Examples from cpu-bound loops:

CPU PRI  NI   PID %CPU      TIME COMMAND
 42 159 -20   706 20.5   0:38.88 /bin/csh /tmp/dowhile
 37 159 -15   704 17.6   0:35.09 /bin/csh /tmp/dowhile
 29 157 -10   702 15.3   0:30.41 /bin/csh /tmp/dowhile
 28 160  -5   700 13.0   0:26.73 /bin/csh /tmp/dowhile
 23 160   0   698 11.5   0:20.52 /bin/csh /tmp/dowhile
 18 160   5   696  9.2   0:16.85 /bin/csh /tmp/dowhile
 13 160  10   694  7.1   0:10.82 /bin/csh /tmp/dowhile
  3 160  20   692  1.5   0:02.14 /bin/csh /tmp/dowhile

18 years agoMove remaining scheduler-specific functions into the usched abstraction.
Matthew Dillon [Sun, 26 Jun 2005 04:36:35 +0000 (04:36 +0000)]
Move remaining scheduler-specific functions into the usched abstraction.

This also involves rearranging a number of fields in the proc structure,
changing the proc structure (actually making it a bit smaller due to better
packing).  A complete rebuild is required.

18 years agoCleanup indentation, no operational changes.
Matthew Dillon [Sat, 25 Jun 2005 21:18:42 +0000 (21:18 +0000)]
Cleanup indentation, no operational changes.

18 years agoAssociate a userland scheduler control structure with every process and
Matthew Dillon [Sat, 25 Jun 2005 20:03:34 +0000 (20:03 +0000)]
Associate a userland scheduler control structure with every process and
call userland scheduling functions through that structure.  Note that the
proc structure already had a field reserved for this purpose so it actually
doesn't change size.

The child of a fork() inherits the parent's userland scheduler control
structure pointer.

Move uio_yield() to a scheduler-independant file, and do some minor
cleanups of already #ifdef'd out code.

Repo-Rename usched_4bsd.c to usched_bsd4.c, so the file matches the function
prefixes I want to use.

Believe it or not, this should not represent any operational code changes
other then changing some previously direct function calls into indirect
calls through the new p_usched field in the process structure.

18 years agoRemove unused variables (from prior spl->critical section conversion)
Matthew Dillon [Sat, 25 Jun 2005 19:54:55 +0000 (19:54 +0000)]
Remove unused variables (from prior spl->critical section conversion)

18 years agoRepo-copy kern_switch.c to usched_4bsd.c, remove kern_switch.c, and point
Matthew Dillon [Sat, 25 Jun 2005 19:12:27 +0000 (19:12 +0000)]
Repo-copy kern_switch.c to usched_4bsd.c, remove kern_switch.c, and point
the kernel build at usched_4bsd.c in preparation for creating a switchable
userland scheduling API.

18 years agoDo a quick cleanup pass on the userland scheduler and move resetpriority()
Matthew Dillon [Sat, 25 Jun 2005 19:06:22 +0000 (19:06 +0000)]
Do a quick cleanup pass on the userland scheduler and move resetpriority()
from kern_synch.c to kern_switch.c.  No code changes.

18 years agoFix a race between fork() and ^Z. If the ^Z is handled just as the forked
Matthew Dillon [Sat, 25 Jun 2005 19:04:37 +0000 (19:04 +0000)]
Fix a race between fork() and ^Z.  If the ^Z is handled just as the forked
child is returning from the fork trampoline, the current process designation
is not released and the system stops scheduling userland processes.  Also
fix an initial priority bug.

Reported-by: YONETANI Tomokazu <qhwt+dfly@les.ath.cx>
18 years agoRenamed struct MakeFlags to struct CLI.
Max Okumoto [Wed, 22 Jun 2005 22:03:36 +0000 (22:03 +0000)]
Renamed struct MakeFlags to struct CLI.

18 years agoSplit Dir_Init() into two functions.
Max Okumoto [Wed, 22 Jun 2005 22:03:19 +0000 (22:03 +0000)]
Split Dir_Init() into two functions.

18 years agoMove sections of init code that do not take any input into the
Max Okumoto [Wed, 22 Jun 2005 22:03:03 +0000 (22:03 +0000)]
Move sections of init code that do not take any input into the
above section.

18 years agoCleanup Dir_Init*() functions.
Max Okumoto [Wed, 22 Jun 2005 22:02:43 +0000 (22:02 +0000)]
Cleanup Dir_Init*() functions.

18 years agoInstead of emulating a userland system call via stackgap, use
Joerg Sonnenberger [Wed, 22 Jun 2005 20:11:59 +0000 (20:11 +0000)]
Instead of emulating a userland system call via stackgap, use
kern_open directly.

18 years agoDefancy the infinite loop. Fix a bug where the loop wasn't left when
Joerg Sonnenberger [Wed, 22 Jun 2005 20:09:34 +0000 (20:09 +0000)]
Defancy the infinite loop. Fix a bug where the loop wasn't left when
all ptys have been processed.

18 years agoThe recent file descriptor work is significant enough to deserve a
Matthew Dillon [Wed, 22 Jun 2005 19:58:44 +0000 (19:58 +0000)]
The recent file descriptor work is significant enough to deserve a
DragonFly copyright.

Suggested-by: Hiten Pandya <hmp@backplane.com>
18 years agoDocument cleanvar_enable in rc.conf.5 and document the purge code
Matthew Dillon [Wed, 22 Jun 2005 19:55:30 +0000 (19:55 +0000)]
Document cleanvar_enable in rc.conf.5 and document the purge code
in cleanvar.

Submitted-by: "George Georgalis" <george@galis.org>
18 years agoRandomize the initial stack pointer for a user process. Introduce a
Matthew Dillon [Wed, 22 Jun 2005 19:40:35 +0000 (19:40 +0000)]
Randomize the initial stack pointer for a user process.    Introduce a
sysctl, kern.stackgrap_random, to specify the random range.  The value must
be a power of two.

Submitted-by: Craig Dooley <xlnxminusx@gmail.com>
Adapted-from: OpenBSD

18 years agoRemove extra semi colin and a few remove redundent checks.
Max Okumoto [Wed, 22 Jun 2005 18:04:49 +0000 (18:04 +0000)]
Remove extra semi colin and a few remove redundent checks.

18 years agoSome cleanup
Max Okumoto [Wed, 22 Jun 2005 18:04:13 +0000 (18:04 +0000)]
Some cleanup
 o constify input to Main_ParseArgLine()
 o split complex if-statement into seperate assignment and if-statements
 o use strsep()

18 years agoSuSE includes a special .note.SuSE section descriping the version of
Joerg Sonnenberger [Wed, 22 Jun 2005 15:27:45 +0000 (15:27 +0000)]
SuSE includes a special .note.SuSE section descriping the version of
the distribution the binary is from. This is a problem because they
forget to use a note type other than 1, which is used for ABI tag
sections.

Using a second match function is the easiest solution, otherwise we
would have to scan either the header section list or the full section
list twice. As long as no other vendor created such idiosyncrasy,
this is faster.

18 years agoSynchronize the ipfilter contrib code with recent file descriptor cleanups.
Matthew Dillon [Wed, 22 Jun 2005 02:08:19 +0000 (02:08 +0000)]
Synchronize the ipfilter contrib code with recent file descriptor cleanups.

18 years agoSynchronize libkcore with recent file descriptor cleanups.
Matthew Dillon [Wed, 22 Jun 2005 01:51:40 +0000 (01:51 +0000)]
Synchronize libkcore with recent file descriptor cleanups.

18 years agoSynchronize the fstat program with recent file descriptor cleanups.
Matthew Dillon [Wed, 22 Jun 2005 01:50:03 +0000 (01:50 +0000)]
Synchronize the fstat program with recent file descriptor cleanups.

18 years agoFile descriptor cleanup stage 2, remove the separate arrays for file
Matthew Dillon [Wed, 22 Jun 2005 01:33:34 +0000 (01:33 +0000)]
File descriptor cleanup stage 2, remove the separate arrays for file
pointers, fileflags, and allocation counts and replace the mess with a
single structural array.  Also revamp the code that checks whether the
file descriptor array is built-in or allocated.

Note that the removed malloc's were doing something weird, allocating
'nf * OFILESIZE + 1' bytes instead of 'nf * OFILESIZE' bytes.  I could
not find any reason at all why it was doing that.  It's gone now anyway.

18 years agoReplace the linear search in file descriptor allocation with an O(log N)
Jeffrey Hsu [Tue, 21 Jun 2005 23:58:53 +0000 (23:58 +0000)]
Replace the linear search in file descriptor allocation with an O(log N)
algorithm based on full in-place binary search trees augmented with
subtree free file descriptor counts.

Idea from: Solaris

18 years agoUse strsep() instead of custom loop.
Max Okumoto [Tue, 21 Jun 2005 21:06:24 +0000 (21:06 +0000)]
Use strsep() instead of custom loop.

18 years agoMove compatMake test up.
Max Okumoto [Tue, 21 Jun 2005 21:05:54 +0000 (21:05 +0000)]
Move compatMake test up.

18 years agocleanup ReadInputFiles()
Max Okumoto [Tue, 21 Jun 2005 21:04:49 +0000 (21:04 +0000)]
cleanup ReadInputFiles()

18 years agofix comments
Max Okumoto [Tue, 21 Jun 2005 21:04:32 +0000 (21:04 +0000)]
fix comments

18 years agoMove code from main into subroutine.
Max Okumoto [Tue, 21 Jun 2005 20:59:42 +0000 (20:59 +0000)]
Move code from main into subroutine.

18 years agocleanup built_stuff()
Max Okumoto [Tue, 21 Jun 2005 20:59:00 +0000 (20:59 +0000)]
cleanup built_stuff()
moving function description comment
move exit status, the code will be moved into the called function.

18 years agoBump fd_lastfile, freefile, and refcnt to 32 bit ints. Also bump cmask
Matthew Dillon [Tue, 21 Jun 2005 17:59:47 +0000 (17:59 +0000)]
Bump fd_lastfile, freefile, and refcnt to 32 bit ints.  Also bump cmask
(though that doesn't fix any particular bug).  lastfile and freefile were
previously unsigned shorts which caused the system to become very confused
when any single user process had more then 65535 open file descriptors.

Reported-by: Jeffrey Hsu <hsu@leaf.dragonflybsd.org>
18 years agoAdd BCM5751.
Joerg Sonnenberger [Tue, 21 Jun 2005 15:27:55 +0000 (15:27 +0000)]
Add BCM5751.

Submitted-by: Pablo Méndez Hernández <pablomh@gmail.com>
18 years agoRegen.
Joerg Sonnenberger [Tue, 21 Jun 2005 15:25:56 +0000 (15:25 +0000)]
Regen.

18 years agoAdd BCM5751.
Joerg Sonnenberger [Tue, 21 Jun 2005 15:24:04 +0000 (15:24 +0000)]
Add BCM5751.

Submitted-by: Pablo Méndez Hernández <pablomh@gmail.com>
18 years agoRestore copy of revid in softc.
Joerg Sonnenberger [Tue, 21 Jun 2005 12:35:14 +0000 (12:35 +0000)]
Restore copy of revid in softc.

Problem-reported-by: walt <wa1ter@myrealbox.com>
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
18 years agoFix off-by-one error.
David Xu [Tue, 21 Jun 2005 07:47:01 +0000 (07:47 +0000)]
Fix off-by-one error.

18 years agoHave ktrdump run 'nm' on the kernel execfile and translate the caller1,2
Matthew Dillon [Tue, 21 Jun 2005 06:50:28 +0000 (06:50 +0000)]
Have ktrdump run 'nm' on the kernel execfile and translate the caller1,2
pointers into symbols, unless the -n (numeric only) option is specified.

If no display options are specified, enable a few of them by default.

Reverse the printing order from caller1, caller2 to caller2, caller1,
so the procedural display order matches the procedure chain order.

18 years agoAdd KTR support to the IPIQ code.
Matthew Dillon [Tue, 21 Jun 2005 05:25:17 +0000 (05:25 +0000)]
Add KTR support to the IPIQ code.

18 years agoAdd additional sanity checks to IPIQ processing, do some cleanups,
Matthew Dillon [Tue, 21 Jun 2005 05:03:12 +0000 (05:03 +0000)]
Add additional sanity checks to IPIQ processing, do some cleanups,
and make minor changes to the function dispatch.

18 years agoRewrite a good chunk of the ktrdump utility to work with the new DragonFly
Matthew Dillon [Tue, 21 Jun 2005 00:47:07 +0000 (00:47 +0000)]
Rewrite a good chunk of the ktrdump utility to work with the new DragonFly
KTR facility.

18 years agoCorrect KTR masks for memory logging.
Matthew Dillon [Mon, 20 Jun 2005 23:21:34 +0000 (23:21 +0000)]
Correct KTR masks for memory logging.

18 years agoCorrect a missing macro element for the NON-KTR case.
Matthew Dillon [Mon, 20 Jun 2005 21:12:49 +0000 (21:12 +0000)]
Correct a missing macro element for the NON-KTR case.

18 years agoAdd KTR support to the slab allocator. Track malloc's, free's, oversized
Matthew Dillon [Mon, 20 Jun 2005 21:11:13 +0000 (21:11 +0000)]
Add KTR support to the slab allocator.  Track malloc's, free's, oversized
chunks, and IPI operations.

18 years agoInclude a bitmap of allocated entries when built with INVARIANTS. I
Matthew Dillon [Mon, 20 Jun 2005 20:49:14 +0000 (20:49 +0000)]
Include a bitmap of allocated entries when built with INVARIANTS.  I
considered making this a separate option but decided it was too important
to leave out of a basic INVARIANTS build.

The kernel will panic if it tries to allocate memory that has already
been allocated or free memory that has already been freed.

18 years agoUse KTR's built-in call chain recording rather then hacking it up ourselves.
Matthew Dillon [Mon, 20 Jun 2005 20:38:01 +0000 (20:38 +0000)]
Use KTR's built-in call chain recording rather then hacking it up ourselves.

18 years agoAdd a caller backtrace feature (enabled by default), which records part of
Matthew Dillon [Mon, 20 Jun 2005 20:37:28 +0000 (20:37 +0000)]
Add a caller backtrace feature (enabled by default), which records part of
the call chain leading up to the traced function.  Two call chain instruction
addresses are recorded.

18 years agoUse the KTR facility to trace token operations.
Matthew Dillon [Mon, 20 Jun 2005 18:00:28 +0000 (18:00 +0000)]
Use the KTR facility to trace token operations.

18 years agoReimplement the kernel tracepoint facility. The new implementation is
Matthew Dillon [Mon, 20 Jun 2005 17:59:33 +0000 (17:59 +0000)]
Reimplement the kernel tracepoint facility.  The new implementation is
completely generic and very easy to implement in modules.  Compile-time
optimizations are retained and sysctl generation is completely automatic.
Only the DDB command code has been retained from FreeBSD.

The logging macros are designed to allow subsystems to trivially declare
and use the facility.

This implementation is not quite complete, we also want to integrate a
stack backtrace logging facility.

18 years agoIntroduce an ultra-simple, non-overlapping, int-aligned bcopy called bcopyi().
Matthew Dillon [Mon, 20 Jun 2005 17:43:39 +0000 (17:43 +0000)]
Introduce an ultra-simple, non-overlapping, int-aligned bcopy called bcopyi().

18 years agoqueue(3) for if_multiaddrs.
Joerg Sonnenberger [Mon, 20 Jun 2005 16:48:02 +0000 (16:48 +0000)]
queue(3) for if_multiaddrs.

18 years agoUse queue(3) macros for if_multiaddrs.
Joerg Sonnenberger [Mon, 20 Jun 2005 15:10:41 +0000 (15:10 +0000)]
Use queue(3) macros for if_multiaddrs.

18 years agoSetup interrupt last in txp_attach. Protect against concurrent interrupts
Joerg Sonnenberger [Mon, 20 Jun 2005 13:56:08 +0000 (13:56 +0000)]
Setup interrupt last in txp_attach. Protect against concurrent interrupts
in txp_detach. Use M_WAITOK in txp_attach.

18 years agoCommon PCI probe style.
Joerg Sonnenberger [Mon, 20 Jun 2005 13:51:54 +0000 (13:51 +0000)]
Common PCI probe style.

18 years agoExplicitly set error before jumping to fail.
Joerg Sonnenberger [Mon, 20 Jun 2005 13:49:52 +0000 (13:49 +0000)]
Explicitly set error before jumping to fail.

Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
18 years agoUse local storage for MAC instead of arpcom.ac_enaddr.
Joerg Sonnenberger [Mon, 20 Jun 2005 13:41:51 +0000 (13:41 +0000)]
Use local storage for MAC instead of arpcom.ac_enaddr.

Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
18 years agoUse ether_crc32_be.
Joerg Sonnenberger [Mon, 20 Jun 2005 13:39:17 +0000 (13:39 +0000)]
Use ether_crc32_be.

Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
18 years agoUse queue(3).
Joerg Sonnenberger [Mon, 20 Jun 2005 13:30:53 +0000 (13:30 +0000)]
Use queue(3).

18 years agoUse PCI accessor functions, don't change memory / port bit manually.
Joerg Sonnenberger [Mon, 20 Jun 2005 13:26:15 +0000 (13:26 +0000)]
Use PCI accessor functions, don't change memory / port bit manually.

Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
18 years ago- pass dev directly to txp_release_resources, call it only once
Joerg Sonnenberger [Mon, 20 Jun 2005 13:24:14 +0000 (13:24 +0000)]
- pass dev directly to txp_release_resources, call it only once
- use only if_printf outside of txp_attach.
- remove sc_dev, sc_cold, TXP_DEVNAME

Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
18 years agoUse vr_detach as common error path.
Joerg Sonnenberger [Mon, 20 Jun 2005 13:08:01 +0000 (13:08 +0000)]
Use vr_detach as common error path.
Setup interrupt last in vr_attach.
Use M_WAITOK for contigmalloc, now that we don't have to protect
against concurrent interrupts.

Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
18 years agoUse ether_crc32_be.
Joerg Sonnenberger [Mon, 20 Jun 2005 13:04:52 +0000 (13:04 +0000)]
Use ether_crc32_be.

Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
Obtained-from: FreeBSD

18 years agoUse PCI accessor functions. Stop changing port / memory bits manually.
Joerg Sonnenberger [Mon, 20 Jun 2005 13:02:48 +0000 (13:02 +0000)]
Use PCI accessor functions. Stop changing port / memory bits manually.
Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>
18 years ago- initialise interface name early
Joerg Sonnenberger [Mon, 20 Jun 2005 13:01:15 +0000 (13:01 +0000)]
- initialise interface name early
- use common PCI probe style
- remove unused vr_info and vr_type field from softc

Submitted-by: Sepherosa Ziehau <sepherosa@gmail.com>