19 years agoCleanup conditionals on exit, remove unnecessary free()'s prior to error exit.
Matthew Dillon [Mon, 5 Jul 2004 05:32:15 +0000 (05:32 +0000)]
Cleanup conditionals on exit, remove unnecessary free()'s prior to error exit.

19 years agoacpica5 update part 3/3: Bring the usr.sbin/acpi tools into the base system
Matthew Dillon [Mon, 5 Jul 2004 00:22:43 +0000 (00:22 +0000)]
acpica5 update part 3/3:  Bring the usr.sbin/acpi tools into the base system
and integrate it into the build.

Submitted-by: YONETANI Tomokazu <qhwt+dragonfly-submit@les.ath.cx>
19 years agoacpica5 update part 2/3: Fix a bug introduced in the original acpica5
Matthew Dillon [Mon, 5 Jul 2004 00:14:01 +0000 (00:14 +0000)]
acpica5 update part 2/3:  Fix a bug introduced in the original acpica5
port from FreeBSD-5.  FreeBSD-5 no longer uses a VM object for the
page table but we still do.  This fixes a panic that occurs when waking up
from a sleep mode.

Submitted-by: YONETANI Tomokazu <qhwt+dragonfly-submit@les.ath.cx>
19 years agoacpica5 update part 1/3: Implement support for acpica-unix-20040527.
Matthew Dillon [Mon, 5 Jul 2004 00:07:35 +0000 (00:07 +0000)]
acpica5 update part 1/3:  Implement support for acpica-unix-20040527.

Submitted-by: YONETANI Tomokazu <qhwt+dragonfly-submit@les.ath.cx>
19 years agoBring in acpica-20040527 from intel. See: http://developer.intel.com/technology...
Matthew Dillon [Sun, 4 Jul 2004 23:47:15 +0000 (23:47 +0000)]
Bring in acpica-20040527 from intel.  See: developer.intel.com/technology/iapc/acpi/downloads/acpica-unix-20040527.tar.gz

19 years agominor cleanups / no functional changes.
Matthew Dillon [Sun, 4 Jul 2004 23:28:31 +0000 (23:28 +0000)]
minor cleanups / no functional changes.

19 years agoAdd ETHER_ALIGN for portability.
Joerg Sonnenberger [Sun, 4 Jul 2004 23:15:48 +0000 (23:15 +0000)]
Add ETHER_ALIGN for portability.

Obtained-from: FreeBSD

19 years agoRearrange the machine/cpufunc.h header and add it where needed to make libcaps
Eirik Nygaard [Sun, 4 Jul 2004 22:44:27 +0000 (22:44 +0000)]
Rearrange the machine/cpufunc.h header and add it where needed to make libcaps
build again.

19 years agoChange machien to machine.
Eirik Nygaard [Sun, 4 Jul 2004 17:21:15 +0000 (17:21 +0000)]
Change machien to machine.

Reported by: Steve Mynott <steve.mynott@gmail.com>

19 years agoSpeed up hardlink detection by using a self-sizing hash table rather than the
Eirik Nygaard [Sun, 4 Jul 2004 10:34:47 +0000 (10:34 +0000)]
Speed up hardlink detection by using a self-sizing hash table rather than the
old linear list search.

Submitted by: Ulf Lilleengen <lulf@kerneled.org>
Obtained from: FreeBSD

19 years ago-{h,k} are mutually exclisive. So only pay attention to the last of the two
Eirik Nygaard [Sun, 4 Jul 2004 10:28:38 +0000 (10:28 +0000)]
-{h,k} are mutually exclisive.  So only pay attention to the last of the two
when both are given.

Submitted by: Ulf Lilleengen <lulf@kerneled.org>
Obtained from: FreeBSD

19 years agoGet rid of some debugging printf's that had been accidently committed.
Matthew Dillon [Sun, 4 Jul 2004 05:19:53 +0000 (05:19 +0000)]
Get rid of some debugging printf's that had been accidently committed.

19 years agoWhen booting from CD, check cd1a and acd1a after cd0a and acd0a, allowing
Matthew Dillon [Sun, 4 Jul 2004 05:16:32 +0000 (05:16 +0000)]
When booting from CD, check cd1a and acd1a after cd0a and acd0a, allowing
a CD to be booted off of a second CDRom drive.

When checking for the same rootdev selection as already has been set,
only the major number of the existing rootdev was being checked.  This
prevent other unit numbers from being tried properly (e.g. trying cd1 after
having already tried cd0).

Completely parse the rootdev's (unit, slice, partition) tuple before
trying to look up the device, rather then assuming that devname(0,0,0)
will exist (this is no longer necessarily true).

19 years agoAdd AGP support for the i852GM, i855GM, and i865G.
Matthew Dillon [Sun, 4 Jul 2004 00:24:52 +0000 (00:24 +0000)]
Add AGP support for the i852GM, i855GM, and i865G.
Add AGP support for a number of new SiS bridges (530-760).
Add AGP support for teh VIA 8385.

Remove some aperture cleanups.

Taken-From: FreeBSD-5

19 years agoMake sure a serial port exists by determining whether it is possible to drain
Matthew Dillon [Sat, 3 Jul 2004 21:23:37 +0000 (21:23 +0000)]
Make sure a serial port exists by determining whether it is possible to drain
its RX queue, before we turn on its interrupt or do other things.  If we can't
then the serial port is disabled.

This fixes drain lockups on laptops and newer desktops that occur when a
non-existant serial port is opened and allows us to ship a CD with a getty
on ttyd0 without locking up the system.

19 years agoAdd an explanation for the use of CCVER in /etc/make.conf, and recommend
Matthew Dillon [Sat, 3 Jul 2004 17:16:21 +0000 (17:16 +0000)]
Add an explanation for the use of CCVER in /etc/make.conf, and recommend
that it not yet be used in that file.

Suggested-by: "Erik P. Skaalerud" <erik@pentadon.com>
19 years agoAdd common functions for computing the Ethernet CRC on arbitrary length
Joerg Sonnenberger [Sat, 3 Jul 2004 13:10:10 +0000 (13:10 +0000)]
Add common functions for computing the Ethernet CRC on arbitrary length
buffers. ether_crc32_le() is available as table-driven version, which is

Obtained-from: NetBSD

19 years agoSome laptops return other values for working toucpads. Allow test_aux_port to
Eirik Nygaard [Fri, 2 Jul 2004 18:59:01 +0000 (18:59 +0000)]
Some laptops return other values for working toucpads. Allow test_aux_port to
return 2 and 3. This fixes the touchpads for some Acer and Compal laptops.

Submitted by: Ulf Lilleengen <lulf@kerneled.org>
Based on FreeBSD PR: kern/54188

19 years agoAnnounce MAC address in ether_ifattach, not in each NIC indepently.
Joerg Sonnenberger [Fri, 2 Jul 2004 17:42:21 +0000 (17:42 +0000)]
Announce MAC address in ether_ifattach, not in each NIC indepently.

aue(4), axe(4), cue(4), kue(4), pcn(4):
- Don't bcopy the MAC address, ether_ifattach does it.
- sc->arpcom.ac_if ==> ifp in lnc_attach_common, more changes coming.
- Nuke local copy of ether_sprintf, use %6D directly.
- Use if_printf instead of printf("%s: ...", sc->sc_dev.dv_xname, ...).

19 years agoRandomize ephermal source ports.
Hiten Pandya [Fri, 2 Jul 2004 16:45:22 +0000 (16:45 +0000)]
Randomize ephermal source ports.

This option is controlled by the net.inet.ip.portrange.randomized sysctl
and it is enabled by default.

Obtained-from:   FreeBSD

19 years agoAdd the support for BSD format specifiers. This was adopted from the
Joerg Sonnenberger [Fri, 2 Jul 2004 16:42:19 +0000 (16:42 +0000)]
Add the support for BSD format specifiers. This was adopted from the
GCC 3.3 version with the addition of %z.

19 years agoRemove invalid tokens after #endif
Joerg Sonnenberger [Fri, 2 Jul 2004 15:53:01 +0000 (15:53 +0000)]
Remove invalid tokens after #endif

19 years agoAdd a default initializer for data_sds. The warning from GCC is not correct,
Joerg Sonnenberger [Fri, 2 Jul 2004 15:47:56 +0000 (15:47 +0000)]
Add a default initializer for data_sds. The warning from GCC is not correct,
the value is correctly initialized. The value of 0 should minimize the
impact for future changes, where this might not hold true.

19 years agoRemove invalid tokens after #endif
Joerg Sonnenberger [Fri, 2 Jul 2004 15:43:10 +0000 (15:43 +0000)]
Remove invalid tokens after #endif

19 years agoUse const char * for string argument of _assert_sbuf_integrity and _assert_sbuf_state
Joerg Sonnenberger [Fri, 2 Jul 2004 15:37:07 +0000 (15:37 +0000)]
Use const char * for string argument of _assert_sbuf_integrity and _assert_sbuf_state

19 years agoRemove cast as lvalue
Joerg Sonnenberger [Fri, 2 Jul 2004 15:31:17 +0000 (15:31 +0000)]
Remove cast as lvalue

19 years agoRemove cast as lvalue
Joerg Sonnenberger [Fri, 2 Jul 2004 15:26:26 +0000 (15:26 +0000)]
Remove cast as lvalue

19 years agoprocfs_validfile does have a public prototyp, but doesn't seemed to be used.
Joerg Sonnenberger [Fri, 2 Jul 2004 15:23:21 +0000 (15:23 +0000)]
procfs_validfile does have a public prototyp, but doesn't seemed to be used.
Remove the static to nuke the warning, something outside our tree might refer
to this and the size doesn't really matter.

19 years agoUpdate some of my copyright notices before we officially publish
Jeffrey Hsu [Fri, 2 Jul 2004 04:41:01 +0000 (04:41 +0000)]
Update some of my copyright notices before we officially publish
DragonFlyBSD in Release 1.0.

19 years agoUpdate our xlint(1) to work with recent preprocessor changes.
Hiten Pandya [Thu, 1 Jul 2004 01:31:45 +0000 (01:31 +0000)]
Update our xlint(1) to work with recent preprocessor changes.

This should get lint(1) working again.

19 years agoMake sure the xe driver found a supported card type, if it didn't then bail
Eirik Nygaard [Wed, 30 Jun 2004 12:14:39 +0000 (12:14 +0000)]
Make sure the xe driver found a supported card type, if it didn't then bail

Okayed by: joerg

19 years agoFix a snafu in the last commit. In the normal non-polling case interrupts
Matthew Dillon [Tue, 29 Jun 2004 00:45:15 +0000 (00:45 +0000)]
Fix a snafu in the last commit.  In the normal non-polling case interrupts
were not being reenabled at the end of the service routine, breaking the

Reported-by: walt <wa1ter@myrealbox.com>, Richard Nyberg <rnyberg@it.su.se>
19 years agoChange the version string to RC1
Matthew Dillon [Mon, 28 Jun 2004 06:20:50 +0000 (06:20 +0000)]
Change the version string to RC1

19 years agoUndo one of the recent optimizations I made (only running the handlers
Matthew Dillon [Mon, 28 Jun 2004 05:02:56 +0000 (05:02 +0000)]
Undo one of the recent optimizations I made (only running the handlers
if the irunning bit is set).  Something is not working as intended and
this is leading to timeouts.

19 years agoUpdate the README file with useful information about ACPI.
Matthew Dillon [Mon, 28 Jun 2004 04:18:55 +0000 (04:18 +0000)]
Update the README file with useful information about ACPI.

19 years agoUpdate some copyright notices to become more legal compliant.
David Rhodus [Mon, 28 Jun 2004 02:57:11 +0000 (02:57 +0000)]
Update some copyright notices to become more legal compliant.

Noted by : joerg
Change ok from : dillon, hmp

19 years agoSync in Copyright notice change from FreeBSD.
David Rhodus [Mon, 28 Jun 2004 02:49:06 +0000 (02:49 +0000)]
Sync in Copyright notice change from FreeBSD.

19 years agoIncrease PCCARD_CIS_SIZE from 1024 to 4096 as per FreeBSD-5. Add range
Matthew Dillon [Mon, 28 Jun 2004 02:34:44 +0000 (02:34 +0000)]
Increase PCCARD_CIS_SIZE from 1024 to 4096 as per FreeBSD-5.  Add range
checking to all offsets (fixes a panic on my laptop when I stick in my
ED ether cardbus card, which it doesn't recognize).

19 years agoFix three bugs in the livelock code. Fix a minor range error in an
Matthew Dillon [Mon, 28 Jun 2004 02:33:04 +0000 (02:33 +0000)]
Fix three bugs in the livelock code.  Fix a minor range error in an
assertion, fix an incorrect livelock wakeup argument type (which could lead
to crashes), and use the cpu timer instead of ticks since a livelock may
prevent ticks from incrementing.

For now set the livelock limit to 50,000 interrupts/sec, which is about
right for a ~600Mhz P3.  But what we really need to do is scale it based
on the perceived speed of the system since GiGE is likely able to blow
away 50KI/S.

Tested with: inserting and removing cardbus cards quickly and repeatedly,
which normally locks up a FreeBSD box.

19 years agoThe acpica-unix-20040527 download from intel seems to like to use upper
Matthew Dillon [Sun, 27 Jun 2004 22:08:57 +0000 (22:08 +0000)]
The acpica-unix-20040527 download from intel seems to like to use upper
case directory names.  Just add them to the path so we don't have to worry
about it later.

19 years agoTurn the getty on on ttyd0 by default so a CDBOOT will run all the way through
Matthew Dillon [Sun, 27 Jun 2004 21:39:04 +0000 (21:39 +0000)]
Turn the getty on on ttyd0 by default so a CDBOOT will run all the way through
to a prompt on com1.  It is far more common for the serial port to be connected
to a serial console, or not connected at all, then for it to be connected to
a UPS or a MODEM, especially when one is using the CD.

19 years agoAddendum: it should be noted that boot2 also probes for a valid serial
Matthew Dillon [Sun, 27 Jun 2004 21:27:36 +0000 (21:27 +0000)]
Addendum: it should be noted that boot2 also probes for a valid serial
port and will tell the loader not to use it, but the loader is directly
run from cdboot and (I think) pxeboot and does not have that benefit in
those situations, so we have to check again.

19 years agoProperly probe for the serial port. If the serial port is unmapped or
Matthew Dillon [Sun, 27 Jun 2004 21:26:40 +0000 (21:26 +0000)]
Properly probe for the serial port.  If the serial port is unmapped or
we can't clear the LSR_RXRDY bit by draining the data port then attempting
to use the serial port will result in an input loop lockup.

19 years agoThe schednetisr() routine is supposed to be MP and interrupt safe, but wasn't
Matthew Dillon [Sun, 27 Jun 2004 19:40:14 +0000 (19:40 +0000)]
The schednetisr() routine is supposed to be MP and interrupt safe, but wasn't
because it allocated its messages.  Instead of allocating a message use a
fixed message in the netisr structure.

Get rid of #ifdef SMP/#error.  DEVICE_POLLING now works on SMP builds.

Implement an emergency polling enable function to try to keep the system
operational in a degraded state if interrupt routing is blown.  NOTE: only
vr0 uses the feature at the moment, and DEVICE_POLLING must be enabled.

19 years agoImplement livelock detection for threaded interrupts and automatically
Matthew Dillon [Sun, 27 Jun 2004 19:37:22 +0000 (19:37 +0000)]
Implement livelock detection for threaded interrupts and automatically
throttle such interrupts via the kern.livelock_limit and kern.livelock_fallback
sysctls.   The throttling is removed when the interrupt rate falls below
1/2 the fallback rate.

19 years agoMake the VR device backdown to emergency polling if the interrupt appears
Matthew Dillon [Sun, 27 Jun 2004 19:01:54 +0000 (19:01 +0000)]
Make the VR device backdown to emergency polling if the interrupt appears
to broken.  This is demonstrative, and works, but should probably be
integrated into netif instead of into the device code.

19 years agoUse correct copy-write notation for The DragonFly project copy-writes.
David Rhodus [Sun, 27 Jun 2004 18:23:11 +0000 (18:23 +0000)]
Use correct copy-write notation for The DragonFly project copy-writes.

Noted by: joerg

19 years agoShow a more complete listing of interrupt sources (do not weed out sources
Matthew Dillon [Sun, 27 Jun 2004 17:39:05 +0000 (17:39 +0000)]
Show a more complete listing of interrupt sources (do not weed out sources
with a count of 0).

19 years agoAdd note to cpu_idle_hook (which is currently asserted so the code doesn't
Matthew Dillon [Sun, 27 Jun 2004 09:08:44 +0000 (09:08 +0000)]
Add note to cpu_idle_hook (which is currently asserted so the code doesn't
actually run) ... that when we do eventually try to hook it in, we probably
should only hook it in when ncpus == 1 and otherwise not.

19 years agoBring in YONETANI Tomokazu's acpi-update-2.patch (27-May-2004), a major
Matthew Dillon [Sun, 27 Jun 2004 08:52:46 +0000 (08:52 +0000)]
Bring in YONETANI Tomokazu's acpi-update-2.patch (27-May-2004), a major
update to acpica5 support in the system that fixes more issues that can
be counted on 12, er, 10 fingers.

Submitted-by: YONETANI Tomokazu <qhwt+dragonfly-bugs@les.ath.cx>
19 years agoMore missed named fixups related to the include directory move.
Matthew Dillon [Sun, 27 Jun 2004 08:43:56 +0000 (08:43 +0000)]
More missed named fixups related to the include directory move.

19 years agoBe ultra conservative for now, do not try to initialize the FIFO.
Matthew Dillon [Sun, 27 Jun 2004 08:01:06 +0000 (08:01 +0000)]
Be ultra conservative for now, do not try to initialize the FIFO.

19 years agoFix a minor bug in the auto-console selection (handle the -m mute option
Matthew Dillon [Sun, 27 Jun 2004 08:00:46 +0000 (08:00 +0000)]
Fix a minor bug in the auto-console selection (handle the -m mute option

Detect when the serial port is unmapped (reads 0xFF) by putting a limit in
the flush code and returning a testable value, then refuse to automatically
configure it if so because an unmapped serial port always looks like it has
input pending.

This fixes a dual-console issue with laptops that don't map the serial port
during the boot stage (e.g. my emachines amd64 laptop).

Be ultra conservative for now, do not try to initialize the FIFO.

19 years agoPrint the correct list in _lf_print_lock
Joerg Sonnenberger [Sun, 27 Jun 2004 03:22:01 +0000 (03:22 +0000)]
Print the correct list in _lf_print_lock

19 years agoDo a bit of cleanup and enable the SIO FIFO (1655x) to reduce latencies
Matthew Dillon [Sat, 26 Jun 2004 23:41:09 +0000 (23:41 +0000)]
Do a bit of cleanup and enable the SIO FIFO (1655x) to reduce latencies
generated by the disk twiddle (the \ | / - \ | twirly that occurs on the

19 years agoDo not try to chflags() a symbolic link when copying an underlying filesytem
Matthew Dillon [Sat, 26 Jun 2004 22:54:01 +0000 (22:54 +0000)]
Do not try to chflags() a symbolic link when copying an underlying filesytem
into a covering MFS mount.

19 years agoDo not generate the 'Block size restricts cylinder groups to BLAH' warning
Matthew Dillon [Sat, 26 Jun 2004 22:44:05 +0000 (22:44 +0000)]
Do not generate the 'Block size restricts cylinder groups to BLAH' warning
when generating an MFS filesystem.

19 years agoBring boot2 and the loader into line with our new dual-console support.
Matthew Dillon [Sat, 26 Jun 2004 22:37:11 +0000 (22:37 +0000)]
Bring boot2 and the loader into line with our new dual-console support.
We now support dual-consoles by default with options to force either
video (-V) or serial port (-h).  Both boot2 and the loader now properly
parse the options/howto-flags.

Note that the kernel does not yet support dual consoles, but the loader
does tell the kernel which console to use based on which console was used
during the load stage (or the video console if no input was received from
any console during the load stage).

19 years agoUpdate contrib/cvs to contrib/cvs-1.12.8, but note that this Makefile
Matthew Dillon [Sat, 26 Jun 2004 17:44:23 +0000 (17:44 +0000)]
Update contrib/cvs to contrib/cvs-1.12.8, but note that this Makefile
needs to be cleaned up for the doc changes in 1.12.8 and is currently

19 years agoRemove 28.cvs for now (the files involved do not exist in the latest contrib)
Matthew Dillon [Sat, 26 Jun 2004 17:43:38 +0000 (17:43 +0000)]
Remove 28.cvs for now (the files involved do not exist in the latest contrib)

19 years agoMove include path work for named related utilities.
Matthew Dillon [Sat, 26 Jun 2004 17:06:36 +0000 (17:06 +0000)]
Move include path work for named related utilities.

19 years agoEnhance lockf's debugging with macros. Print the originating process in
Matthew Dillon [Sat, 26 Jun 2004 17:03:47 +0000 (17:03 +0000)]
Enhance lockf's debugging with macros.  Print the originating process in
addition the the 'lock' process (which is often 0 for flock locks).

19 years agondp was using the old contrib/tcpdump instead of contrib/tcpdump-3.8.3
Matthew Dillon [Sat, 26 Jun 2004 16:55:04 +0000 (16:55 +0000)]
ndp was using the old contrib/tcpdump instead of contrib/tcpdump-3.8.3

19 years agoReorganize the subdirectories into an include/ subdirectory so the
Matthew Dillon [Sat, 26 Jun 2004 16:09:43 +0000 (16:09 +0000)]
Reorganize the subdirectories into an include/ subdirectory so the
named subdirectory in the source tree does not conflict with the named binary
in the object tree (this confuses make clean).

Note: subdirectories moved via repository copy.

Reported-by: Sascha Wildner <saw@online.de>
19 years agoDocument the 'running_threads' GDB macro.
Hiten Pandya [Sat, 26 Jun 2004 13:19:06 +0000 (13:19 +0000)]
Document the 'running_threads' GDB macro.

19 years agoAdd a debug directory under src/test, where we will house all of our debug
Hiten Pandya [Sat, 26 Jun 2004 13:09:52 +0000 (13:09 +0000)]
Add a debug directory under src/test, where we will house all of our debug
scripts that will aid the debugging of the kernel and other code.

I have added a GDB macro set in file 'gdb.kernel' which contains some
helpful macros, such as listing processes, iterating CPU's globaldata,
a kldstat(1) style macro etc.

The 'gdb.kernel' file was written by:

Hiten Pandya <hmp@backplane.com>,
Matthew Dillon <dillon@apollo.backplane.com>

The kldstat(1) macro should be helpful with the asf(1) utility which
is used for setting the right offset to load the KLD's symbols.

19 years agoAdd a short unconditional sleep in the lockf retry path to try to
Matthew Dillon [Sat, 26 Jun 2004 08:35:15 +0000 (08:35 +0000)]
Add a short unconditional sleep in the lockf retry path to try to
avoid locking up the system when a livelock bug we are trying to track down

19 years agoUnhook bios_howmem (a simple reporting variable), it isn't ready yet.
Matthew Dillon [Sat, 26 Jun 2004 03:03:59 +0000 (03:03 +0000)]
Unhook bios_howmem (a simple reporting variable), it isn't ready yet.

19 years agoUnhook gcc-3.3 from the buildworld process. This also removes the gcc3
David Rhodus [Sat, 26 Jun 2004 02:56:48 +0000 (02:56 +0000)]
Unhook gcc-3.3 from the buildworld process. This also removes the gcc3
leftover files when `make upgrade` is run.

19 years agoAdd some early serial console debugging support to the loader. This is all
Matthew Dillon [Sat, 26 Jun 2004 02:26:22 +0000 (02:26 +0000)]
Add some early serial console debugging support to the loader.  This is all
#ifdef'd out and has no impact on normal builds.

19 years agoSome general cleanups and use M_ZERO instead of bzero() in one case
Matthew Dillon [Sat, 26 Jun 2004 02:15:16 +0000 (02:15 +0000)]
Some general cleanups and use M_ZERO instead of bzero() in one case
(not a bug).

19 years agoWhen a kernel-created thread exits, properly remove it from gd_tdallq and
Matthew Dillon [Sat, 26 Jun 2004 02:14:31 +0000 (02:14 +0000)]
When a kernel-created thread exits, properly remove it from gd_tdallq and
only queue it on gd_tdfreeq only if it was originally allocated.  Note:
kernel threads do not usually exit so this did not fix any known panics.

19 years agoCleanup a comment.
Matthew Dillon [Sat, 26 Jun 2004 02:12:49 +0000 (02:12 +0000)]
Cleanup a comment.

19 years agoIf Preposterous BIOS basemem is detected, instead of truncating to 640K
Matthew Dillon [Sat, 26 Jun 2004 02:12:08 +0000 (02:12 +0000)]
If Preposterous BIOS basemem is detected, instead of truncating to 640K
truncate to 636K in a vain attempt to be play nicer with broken BIOSES.

19 years agoAdd a signature for bootn0 so boot0cfg doesn't complain about it, even
Matthew Dillon [Sat, 26 Jun 2004 02:04:39 +0000 (02:04 +0000)]
Add a signature for bootn0 so boot0cfg doesn't complain about it, even
though it isn't hooked up to the tree yet.

19 years agoStage 1/999: Rewrite boot0 to relocate to higher memory (beyond 64K). This
Matthew Dillon [Sat, 26 Jun 2004 02:00:11 +0000 (02:00 +0000)]
Stage 1/999: Rewrite boot0 to relocate to higher memory (beyond 64K).  This
is currently a demonstration only but will become part of a larger project
to try to make our boot0,1,2/loader code more BIOS-friendly.

19 years agoMerge from FreeBSD-4, revision
Hiten Pandya [Fri, 25 Jun 2004 18:09:56 +0000 (18:09 +0000)]
Merge from FreeBSD-4, revision

1) Fixed potential problem that would cause out-of-order requests
   in twe_startio().
2) Fixed possible race condition in twe_start.

Discussed with, and tested by David Rhodus <drhodus@machdep.com>.

19 years agoRemove a vn == vp case that was breaking out of the namecache lookup loop
Matthew Dillon [Fri, 25 Jun 2004 17:37:19 +0000 (17:37 +0000)]
Remove a vn == vp case that was breaking out of the namecache lookup loop
in vn_fullpath().  This can cause a NULL pointer dereferencing panic.  This
is believed to be pre-namecache legacy code that is no longer required.

19 years agoMerge from FreeBSD-4, revision
Hiten Pandya [Fri, 25 Jun 2004 17:16:27 +0000 (17:16 +0000)]
Merge from FreeBSD-4, revision

Pin 0 on the first I/O APIC is always an ExtINT pin.  Some BIOS's are
broken and list the type of the pin as INT rather than ExtINT in the MP
Table.  To workaround, force pin 0 of ioapic 0 to be ExtINT if it is of
type INT.  This is not a MFC as -current has very different apic code now.
Current's mptable parser might need a similar workaround.

This fixes a bunch of Fujitsu machines; more information about the problem
can be viewed at:


Discussed-with:  David Rhodus <drhodus@machdep.com>
                 Matthew Dillon <dillon@backplane.com>

Test equipment was kindly provided by David Rhodus!

19 years agoFix a race in the initialisation of struct lock by moving the TAILQ_INITs
Joerg Sonnenberger [Fri, 25 Jun 2004 15:32:18 +0000 (15:32 +0000)]
Fix a race in the initialisation of struct lock by moving the TAILQ_INITs
under the protection of the pool token.

19 years agoAdd missing WI_UNLOCK
Joerg Sonnenberger [Fri, 25 Jun 2004 09:13:30 +0000 (09:13 +0000)]
Add missing WI_UNLOCK

19 years agoImplement duel-console mode and make it the default. Adjust the boot
Matthew Dillon [Fri, 25 Jun 2004 05:38:00 +0000 (05:38 +0000)]
Implement duel-console mode and make it the default.  Adjust the boot
flags to match.  -D means duel console mode (but it is now the default),
-h makes the serial console the only console, and a new option, -V, makes
the video console the only console.  Support for pre-programming the flags
in the stage1/2 boot will be added in the future.

19 years agoTurn on the DDB_TRACE config option, so that we will get a trace as soon
Hiten Pandya [Fri, 25 Jun 2004 05:09:38 +0000 (05:09 +0000)]
Turn on the DDB_TRACE config option, so that we will get a trace as soon
as we hit a panic and enter DDB.

This is the automatic equivalent of doing a manual 'tr' on DDB.

David Rhodus <drhodus@machdep.com>, Matthew Dillon <dillon@backplane.com>

19 years agoMerge rev. 1.7 of FreeBSD's src/sys/dev/twa/twa_freebsd.c.
Hiten Pandya [Fri, 25 Jun 2004 03:37:03 +0000 (03:37 +0000)]
Merge rev. 1.7 of FreeBSD's src/sys/dev/twa/twa_freebsd.c.

Fix a typo that made the busdma tag have a 0 highaddr.

19 years agoConvert the M4'd btxldr.s to a preprocessed btxldr.S (taken from FreeBSD-5)
Matthew Dillon [Fri, 25 Jun 2004 00:38:38 +0000 (00:38 +0000)]
Convert the M4'd btxldr.s to a preprocessed btxldr.S (taken from FreeBSD-5)

19 years agoBring in 1.33 from FreeBSD-5:
Matthew Dillon [Thu, 24 Jun 2004 23:31:06 +0000 (23:31 +0000)]
Bring in 1.33 from FreeBSD-5:

When rebooting the machine jump to 0xf000:0xfff0 instead of 0xffff:0x0.
While we end up the same place, we end up with two different CS register
values after the jump and 0xf000 is compatible with the hardware reset value.
This makes a difference if the BIOS does a near jump before a far jump.

Detective work and patch by:     Adrian Steinmann <ast@marabu.ch>

19 years agoDrop to the debugger if unable to sync out the buffers during shutdown.
David Rhodus [Thu, 24 Jun 2004 16:49:13 +0000 (16:49 +0000)]
Drop to the debugger if unable to sync out the buffers during shutdown.

19 years agoMerge from vendor branch GCC:
Joerg Sonnenberger [Thu, 24 Jun 2004 14:16:11 +0000 (14:16 +0000)]
Merge from vendor branch GCC:
This is GCC 3.4, not 3.3

19 years agoThis is GCC 3.4, not 3.3
Joerg Sonnenberger [Thu, 24 Jun 2004 14:16:11 +0000 (14:16 +0000)]
This is GCC 3.4, not 3.3

19 years agoGet rid of the PFIL_HOOKS option, integrate pfil in the system permanently.
Matthew Dillon [Thu, 24 Jun 2004 08:15:18 +0000 (08:15 +0000)]
Get rid of the PFIL_HOOKS option, integrate pfil in the system permanently.
(previously the packet filters couldn't even be kldload'd without PFIL_HOOKS).

19 years agoBackout 1.19. It prevents some machines from booting (READ timeout).
Matthew Dillon [Thu, 24 Jun 2004 07:55:26 +0000 (07:55 +0000)]
Backout 1.19.  It prevents some machines from booting (READ timeout).
I must be misinterpreting how the ATA_A_IDS bit works, or perhaps it is
a write-only bit?   I don't know.

Reported-by: Richard Nyberg <rnyberg@it.su.se>
19 years agoThe route table treats sockaddr data as opaque, which means that the unused
Matthew Dillon [Thu, 24 Jun 2004 07:45:22 +0000 (07:45 +0000)]
The route table treats sockaddr data as opaque, which means that the unused
fields in the structure passed to rtalloc() MUST BE ZERO.

The syncache code allocates a governing struct syncache structure which
contains an embedded struct route, but it does not zero this structure.
When used in a mixed IPV4/IPV6 environment, it is possible for a structure
to be allocated for IPV4 whos unused fields for the route lookup (e.g.
sin_port and sin_zero) may contain garbage.  This screws up the route
table lookup and causes the wrong route to be returned.

I believe the proper fix in this case is to rewrite the route table code,
but since that would take a very long time the fix I am committing is
to have tcp_rtlookup() zero out the sockaddr_in before it builds it for
the rtalloc() call.

Reported-by: Richard Nyberg <rnyberg@it.su.se>
With-help-from: Hiten Pandya <hmp@nxad.com>

19 years agoThis is less, correct name in upgrade file.
Eirik Nygaard [Wed, 23 Jun 2004 20:40:50 +0000 (20:40 +0000)]
This is less, correct name in upgrade file.

Noticed by: Simon 'corecode' Schubert <corecode@fs.ei.tum.de>

19 years agoFix a broken vrele() in the session tty exit code.
Matthew Dillon [Wed, 23 Jun 2004 16:45:23 +0000 (16:45 +0000)]
Fix a broken vrele() in the session tty exit code.

Submitted-by: Joerg Sonnenberger <joerg@britannica.bec.de>
19 years agoHack in the code from FreeBSD-5 to set the timings for NVIDIA/AMD chipsets.
Matthew Dillon [Wed, 23 Jun 2004 16:15:24 +0000 (16:15 +0000)]
Hack in the code from FreeBSD-5 to set the timings for NVIDIA/AMD chipsets.
This seems to greatly reduce READ_BIG: ILLEGAL REQUEST problems accessing
a CD on my AMD64 box (NVidia3 chipset, secondary controller, master, PIO4).
The problem occurs at a much lower frequency in overnight tests.  Further
testing is ongoing.

19 years agoDo a partial synch from FreeBSD-5 of the NVIDIA and NFORCE ATA setup code.
Matthew Dillon [Wed, 23 Jun 2004 06:53:13 +0000 (06:53 +0000)]
Do a partial synch from FreeBSD-5 of the NVIDIA and NFORCE ATA setup code.
Our previous code was totally bogus.

19 years agoFix an improper DELAY in the ata tag code (but nobody should be using
Matthew Dillon [Wed, 23 Jun 2004 06:52:26 +0000 (06:52 +0000)]
Fix an improper DELAY in the ata tag code (but nobody should be using
the ata tag code anyway).

19 years agoCheck for a queued interrupt being dispatched after the ATA driver
Matthew Dillon [Wed, 23 Jun 2004 06:51:55 +0000 (06:51 +0000)]
Check for a queued interrupt being dispatched after the ATA driver
diabled the controller interrupt and return if so.  Enclose the ATA
command setup in a critical section.

19 years agoFix indentation.
Hiten Pandya [Wed, 23 Jun 2004 06:27:28 +0000 (06:27 +0000)]
Fix indentation.

19 years agoRemove references to FreeBSD in the comments.
Hiten Pandya [Wed, 23 Jun 2004 06:17:50 +0000 (06:17 +0000)]
Remove references to FreeBSD in the comments.

Discussed-with:  Matthew Dillon <dillon@backplane.com>