Commit Graph

94178 Commits

Author SHA1 Message Date
Bruce Evans
8aa1e716af Moved stop/start code for other CPUs to near the beginning/end of
kdb_trap().  Stopping the other CPUs acts like locking them out, but
it wasn't done early enough or held long enough to prevent concurrent
accesses to shared data.  In particular, the saved regs could be
clobbered.
2003-09-07 13:43:01 +00:00
Ruslan Ermilov
95ad4657c8 Eliminate the need in uname(1) during install. 2003-09-07 13:38:07 +00:00
Bruce Evans
2cf50c62a6 Restored non-egregious casts so that this file compiles on i386's with
64-bit longs again.
2003-09-07 13:23:45 +00:00
Ruslan Ermilov
a463d8c3e0 Only evaluate CVS version once, when necessary.
Eliminates the need in sed(1) during install.
2003-09-07 13:17:31 +00:00
Ruslan Ermilov
d61bb3f2ba Only evaluate CVS version once, when necessary.
Eliminates the need in sed(1) during install.
2003-09-07 13:09:47 +00:00
Bruce Evans
34eec0a169 Restored a non-egregious cast so that this file compiles on i386's
with 64-bit longs again.  This was fixed in rev.1.42 but the fix
rotted non-fatally in rev.1.105 and fatally in rev.1.137.

Many more non-egregrious casts are strictly required for conversions
from semi-opaque types to pointers, but we avoid most of them by using
types that are almost certain to be compatible with uintptr_t for
representing pointers (e.g., vm_offset_t).  Here we don't really want
the u_longs, but we have them because a.out.h and its support code
doesn't use typedefs (it uses unsigned in V7 and unsigned long in
FreeBSD) and is too obsolete to fix now.
2003-09-07 13:03:13 +00:00
Ruslan Ermilov
68de25ddb4 Implement sed(1) commands using the make(1)'s RE variable modifier.
(This almost eliminates the need of a sed(1) during installworld.)
2003-09-07 12:59:22 +00:00
Ruslan Ermilov
7b0ac2826b Don't escape names in MLINKS: this won't work with bsd.man.mk,v 1.53. 2003-09-07 12:52:17 +00:00
Tim J. Robbins
f05a427aa6 Return EINVAL if the contested bit is not set on the umtx passed to
_umtx_unlock() instead of firing a KASSERT.
2003-09-07 11:14:52 +00:00
Jens Schweikhardt
4fe15b85a6 Fix testing of arith_assign() value for $((a=15)).
Submitted by:	Enache Adrian <enache@rdslink.ro>
2003-09-07 10:14:56 +00:00
Tim J. Robbins
2c801d3d5f Use KERN_PROC_PROC instead of KERN_PROC_ALL when enumerating processes so
that we kill each process once, not once for every thread it owns. This
avoids "No such process" warnings when killing threaded processes.
2003-09-07 09:13:44 +00:00
John-Mark Gurney
978243bd80 make sure we really don't have a tty when installing rules. This prevents
a flush command from asking a question (you can't see):
If there is no tty associated with the process, this is implied.

MFC after: 1 day
2003-09-07 07:52:56 +00:00
Tim J. Robbins
d14e51c95c Add support for the Coda 6.x venus<->kernel interface. This extends
FIDs to be 128-bits wide and adds support for realms.

Add a new CODA_COMPAT_5 option, which requests support for the old
Coda 5.x interface instead of the new one.

Create a new coda5.ko module that supports the 5.x interface, and make
the existing coda.ko module use the new 6.x interface. These modules
cannot both be loaded at the same time.

Obtained from:	Jan Harkes & the coda-6.0.2 distribution,
		NetBSD (drochner) (CODA_COMPAT_5 option).
2003-09-07 07:43:10 +00:00
Marcel Moolenaar
763d340b43 Now that PC98 has it's own MD file, use uart_cpu_${MACHINE}.c and
not uart_cpu_${MACHINE_ARCH}.c.
2003-09-07 06:50:08 +00:00
Marcel Moolenaar
10a686623d MFp4: Revamped GENERIC (and hints). This is some much more pleasant
to look at...
2003-09-07 06:39:51 +00:00
Marcel Moolenaar
5263ba5844 Replace the ttyd[0-3] entries with ttyu[0-3]. The former are the
device special files created by sio(4). The latter are the device
special files created by uart(4). As of this moment sio(4) is not
supported on ia64... by me, that is :-)
2003-09-07 06:02:36 +00:00
Marcel Moolenaar
f1220bfe41 Replace sio(4) with uart(4). Remove the sio(4) hints and only add
those hints used by uart(4) for the determination of the serial
console in the absence of the HCDP table.
2003-09-07 05:47:10 +00:00
Alan Cox
ffe5125eac msync(2) should be declared MP-safe. 2003-09-07 05:42:07 +00:00
Marcel Moolenaar
a91af2c44b Fix build breakage caused by the inclusion of <ddb/ddb.h> while
building a module. Inclusion of option files (opt_ddb.h in this
case) is not possible for modules. The inclusion of opt_ddb.h
in this header is questionable.
2003-09-07 05:33:46 +00:00
David Xu
75764c27a8 Turning on warning for static LDT allocation. 2003-09-07 05:23:28 +00:00
Warner Losh
4d60276b05 Add proper pc98 MD files. Add a commented out cbus attachment for
uart because that depends on the cbus implementation that nyan-san and
I came up with after the CBUG meeting and not yet ready for the tree.
2003-09-07 05:05:40 +00:00
Warner Losh
080684ba71 add i8251 2003-09-07 05:00:32 +00:00
Warner Losh
af1af2d2cc Better stab at MD code for pc98. The 8251 stuff is a total lie
(ns8250 copied and s/ns8250/i8251/g), but there for linkage purposes.
Real code to follow, once I get past some boot issues on my pc98 boxes
with recent current.
2003-09-07 04:59:15 +00:00
John Birrell
ad96272726 Document msize which is often needed with maddr. 2003-09-07 04:18:17 +00:00
Marcel Moolenaar
501ef98fe8 Add uart(4). Shuffle the information about sio(4) flags and options
so that it's clear whicfh flags/options are used by both sio(4) and
uart(4) and which flags/options are specific to sio(4).
2003-09-07 03:45:48 +00:00
Marcel Moolenaar
854d378a59 Hook-up the uart(4) manpage.
Reminded by: bmah@
2003-09-07 02:52:25 +00:00
Warner Losh
87fdc84cba Keep up with minor changes to NetBSD. Consider a variable empty when
not define.

Obtained From: NetBSD (rev 1.18; sjg)
2003-09-07 02:16:10 +00:00
Hiten Pandya
fdae0df42a Mdoc Review:
* Remove extraneous .Pp in SYNOPSIS

	* Remove hard sentence break

	* Add the AUTHORS section
2003-09-06 23:46:29 +00:00
Marcel Moolenaar
2bec1c8919 Hook-up the uart(4) driver to the build. For a detailed description
of what uart(4) is and/or is not see the initial commit log of one
of the files in sys/dev/uart (or see share/man/man4/uart.4).

Note that currently pc98 shares the MD file with i386. This needs
to change when pc98 support is fleshed-out to properly support the
various UARTs. A good example is sparc64 in this respect.

We build uart(4) as a module on all platforms. This may break
the ppc port. That depends on whether they do actually build
modules.

To use uart(4) on alpha, one must use the NO_SIO option.
2003-09-06 23:23:26 +00:00
Marcel Moolenaar
27d5dc189c The uart(4) driver is an universal driver for various UART hardware.
It improves on sio(4) in the following areas:
o  Fully newbusified to allow for memory mapped I/O. This is a must
   for ia64 and sparc64,
o  Machine dependent code to take full advantage of machine and firm-
   ware specific ways to define serial consoles and/or debug ports.
o  Hardware abstraction layer to allow the driver to be used with
   various UARTs, such as the well-known ns8250 family of UARTs, the
   Siemens sab82532 or the Zilog Z8530. This is especially important
   for pc98 and sparc64 where it's common to have different UARTs,
o  The notion of system devices to unkludge low-level consoles and
   remote gdb ports and provides the mechanics necessary to support
   the keyboard on sparc64 (which is UART based).
o  The notion of a kernel interface so that a UART can be tied to
   something other than the well-known TTY interface. This is needed
   on sparc64 to present the user with a device and ioctl handling
   suitable for a keyboard, but also allows us to cleanly hide an
   UART when used as a debug port.

Following is a list of features and bugs/flaws specific to the ns8250
family of UARTs as compared to their support in sio(4):
o  The uart(4) driver determines the FIFO size and automaticly takes
   advantages of larger FIFOs and/or additional features. Note that
   since I don't have sufficient access to 16[679]5x UARTs, hardware
   flow control has not been enabled. This is almost trivial to do,
   provided one can test. The downside of this is that broken UARTs
   are more likely to not work correctly with uart(4). The need for
   tunables or knobs may be large enough to warrant their creation.
o  The uart(4) driver does not share the same bumpy history as sio(4)
   and will therefore not provide the necessary hooks, tweaks, quirks
   or work-arounds to deal with once common hardware. To that extend,
   uart(4) supports a subset of the UARTs that sio(4) supports. The
   question before us is whether the subset is sufficient for current
   hardware.
o  There is no support for multiport UARTs in uart(4). The decision
   behind this is that uart(4) deals with one EIA RS232-C interface.
   Packaging of multiple interfaces in a single chip or on a single
   expansion board is beyond the scope of uart(4) and is now mostly
   left for puc(4) to deal with. Lack of hardware made it impossible
   to actually implement such a dependency other than is present for
   the dual channel SAB82532 and Z8350 SCCs.

The current list of missing features is:
o  No configuration capabilities. A set of tunables and sysctls is
   being worked out. There are likely not going to be any or much
   compile-time knobs. Such configuration does not fit well with
   current hardware.
o  No support for the PPS API. This is partly dependent on the
   ability to configure uart(4) and partly dependent on having
   sufficient information to implement it properly.

As usual, the manpage is present but lacks the attention the
software has gotten.
2003-09-06 23:13:47 +00:00
Marcel Moolenaar
dc7d0dea12 Enhance puc(4) to support uart(4). This includes:
o  Introduce PUC_PORT_TYPE_UART so that we can attach to uart(4),
o  Introduce port sub-types (eg PUC_PORT_UART_NS8250, PUC_PORT_UART_Z8530)
   to handle different hardware and determine resource sizes.
o  Introduce two new IVARs: PUC_IVAR_SUBTYPE and PUC_IVAR_REGSHFT. Both
   are used by uart(4) to get sufficient information to talk to the HW.
o  Introduce PUC_FLAGS_ALTRES to tell puc(4) to try memory mapped I/O
   if I/O port space cannot be allocated, or vice versa.
o  Have ports of type PUC_PORT_TYPE_COM attach to uart(1) if attaching
   to sio(4) fails (due to not having the sio driver).
o  Put struct puc_device_description in struct puc_softc instead of
   having a pointer to a device description in the softc. This allows
   us to create device descriptions on the fly without having to use
   malloc() or otherwise have them staticly defined.
o  Move puc_find_description() from puc.c to puc_pci.c as it's specific
   to PCI.
o  Add EBUS and SBUS frontends for use on sparc64. Note that the P in
   puc stands for PCI, so we kinda mess things up here. It's too soon
   to worry about it though. We'll know what to do about it in time.

NOTE: This commit changes the behaviour of puc(4) to not quieten the
device probe and attach for child devices. The uart(4) driver provides
additional device description that is valuable to have.
2003-09-06 21:48:50 +00:00
Sam Leffler
6c024e8ef6 add fast swi taskqueue spinlock to the order_list so witness doesn't complain
Submitted by:	Tor Egge <Tor.Egge@cvsup.no.freebsd.org>
2003-09-06 21:06:08 +00:00
Sam Leffler
7e2282a5a6 correct fast swi taskqueue spinlock name to be different from the sleep lock
Submitted by:	Tor Egge <Tor.Egge@cvsup.no.freebsd.org>
2003-09-06 21:05:18 +00:00
Alan Cox
603d3d4a44 Giant is no longer required by pipe_destroy_write_buffer(). Reduce
unnecessary white space from pipe_destroy_write_buffer().
2003-09-06 21:02:10 +00:00
Simon L. B. Nielsen
51a257c0e5 Trim the twe(4) device list; the twe(4) manual page is more up-to-date. 2003-09-06 20:03:09 +00:00
Poul-Henning Kamp
a8c1568e29 Bzero the right number of bytes.
Found by:	Juergen Buchmueller <pullmoll@stop1984.com>
2003-09-06 18:37:17 +00:00
Hiten Pandya
74cd7c2b5a Baud rate capability is br', not ba'.
PR:		docs/56426
Submitted by:	FUJISHIMA Satsuki <sf@FreeBSD.ORG>
2003-09-06 18:36:51 +00:00
Bruce A. Mah
a93c89d35b New release notes: PIM support, amd-6.0.9, GNU Readline 4.3, GNU Sort
2.1, ISC DHCP client 3.0.1rc12.
2003-09-06 18:15:11 +00:00
Bruce A. Mah
fe191bffe6 Trim isp(4), vx(4), and stg(4) device lists. 2003-09-06 17:56:05 +00:00
Bruce A. Mah
bfb86d9ff2 Catch up isp.4 manpage with hardware notes.
PR:		55558
Submitted by:	Lukas Ertl <l.ertl@univie.ac.at>
2003-09-06 17:47:25 +00:00
Hiten Pandya
5a4501e107 Remove hard sentence breaks. 2003-09-06 17:46:16 +00:00
Bruce A. Mah
88f04461c3 Add stg(4) manpage and hook up to the section 4 manpage build.
PR:		55605
Submitted by:	Bob Bishop <rb@gid.co.uk>
2003-09-06 17:31:50 +00:00
Bruce A. Mah
14a815df92 Trim the device lists for tl(4), aue(4), and kue(4) after recent
manpage catchup updates.  The nearby axe(4) and rue(4) lists appear to
be in sync with the manpages so trim those too.
2003-09-06 17:19:59 +00:00
Tim J. Robbins
94508dc9c8 #include <string.h> for prototypes for strcpy() and strlen().
Submitted by:	Stefan Farfeleder
2003-09-06 16:33:55 +00:00
Doug Rabson
a5c1ae0c87 Make indentation uniform. 2003-09-06 14:04:30 +00:00
Doug Rabson
ef0040ab3b No need for a separate nfpm driver now - amdpm handles both. 2003-09-06 13:58:06 +00:00
Doug Rabson
8e60aa28ab When recording resources for the amdpm driver, only describe the ports
we actually use. Originally, the code reserved 0x8000 to 0x80ff inclusive
which on my hardware conflicts with the acpi timer. This broke the amdpm
driver since it was actually given ports 0x800c to 0x810b (which should
not have happened, IMHO).

This also allows us to considerably simplify the handling of the nForce
smb driver, removing the need for a separate nfpm driver. With this, SMB
accesses appear to work on my Tyan Tiger MP board. Your mileage may vary.
In particular, the nForce changes have not been tested.
2003-09-06 13:56:56 +00:00
Jens Schweikhardt
dcae6166e2 Removed another spurious semicolon forgotten in the previous commit. 2003-09-06 11:55:05 +00:00
Jens Schweikhardt
81f8caf7ef Removed two spurious semicolons after function definitions.
Removed three spurious tabs on lines by themselves.

PR:		bin/56492
Submitted by:	Stefan Farfeleder <stefan@fafoe.narf.at>
MFC after:	6 weeks
2003-09-06 10:55:30 +00:00
Marcel Moolenaar
dfbd7790d4 Load the kernel at a 64M instead of 5M. The advantage of this is that
we can switch to 64M-sized identity mappings and not having to map the
first 64M. This is especially important because the first 1M contains
the VGA frame buffer and is otherwise a legacy memory range. Best to
make as little assumptions about it as possible. Switching to 64M-sized
mappings is important to avoid creating overlapping translations, which
have the side-effect of triggering machine checks. This is currently
what's preventing us to boot on an Intel Tiger 4.

Note that since we currently use 256M-sized identity mappings, we
would reduce the size of the mappings and consequently increase the
TLB pressure. The performance implications of this are minimal if
measurable at all because identify mappings are not our primary
means for memory management.

Also note that there's no guarantee that physical memory exists at
64M. Then again, we didn't had the guarantee when we were loading at
5M. We'll deal with this when it's a problem.

Discussed with: arun@
2003-09-06 05:15:36 +00:00