Commit Graph

3269 Commits

Author SHA1 Message Date
Søren Schmidt ea5a2b2e00 Prepare kernel to take advantage of "branded" ELF binaries. 1996-10-16 17:51:08 +00:00
Julian Elischer 66478c637b Add support for embedded operation withou console
The boot.c patch is applied only to teh JULIAN_HACK branch
the muted console is controlable by a sysctl variable kern.consmute
1996-10-16 00:19:40 +00:00
Søren Schmidt b5ca878577 Corrected the setting of winsize on open().
Problem pointed out by David Nugent - davidn@blaze.net.au.
1996-10-15 20:27:07 +00:00
Bruce Evans 62c3734cbe Updated #includes to 4.4lite style. 1996-10-15 19:22:46 +00:00
Bruce Evans aad9af2ba3 Removed nested include of <sys/proc.h> from <vm/vm_object.h> and fixed
the one place that depended on it.  wakeup() is now prototyped in
<sys/systm.h> so that it is normally visible.

Added nested include of <sys/queue.h> in <vm/vm_object.h>.  The queue
macros are a more fundamental prerequisite for <vm/vm_object.h> than
the wakeup prototype and previously happened to be included by
namespace pollution from <sys/proc.h> or elsewhere.
1996-10-15 18:24:34 +00:00
Bruce Evans 9e25bb3c6b Synchronized with biosboot/Makefile:
- use gcc-2.7.2 alignment features
- get CWARNFLAGS form <bsd.kern.mk>
- fixed whitespace differences.
1996-10-15 16:26:05 +00:00
John Dyson 675878e732 Move much of the machine dependent code from vm_glue.c into
pmap.c.  Along with the improved organization, small proc fork
performance is now about 5%-10% faster.
1996-10-15 03:16:45 +00:00
Bruce Evans 64a88efa64 Fixed setting of the keyboard LEDs. For some keyboards and/or keyboard
controllers, it is an error to issue a command before the keyboard
has had time to reply to the previous command.  Setting the LEDs
involves issueing 2 commands, so it never worked on these keyboards.

Fixed resetting of keyboard.  It is possible for unprocessed
scancodes to be present when the reset routine is called.  This
usually occurs after switching from one console driver to another
in userconfig.  pcvt and syscons attempt to flush any stale scancodes,
but sometimes fail to do so because keyboard and/or keyboard
controller takes a long time to send the scancodes after reset
(scancodes are apparently not flushed by reset!).  syscons handles
this later by not checking for errors at strategic places, but pcvt
was confused.

Use an impossible initial and failure mode setting for the LEDs
so that the LEDs always get set if they are possibly out of sync.

Added missing spltty() in update_led().
1996-10-14 21:44:05 +00:00
Jordan K. Hubbard 50019cb3c4 Change the boot-time menu. 1996-10-14 21:19:43 +00:00
Paul Traina 972a3f282a Expose the control mechanism for serial console boot so that the default
shipped with freebsd can be changed without modifying the Makefiles directly.

Creates:	BOOT_FORCE_COMCONSOLE
		BOOT_PROBE_KEYBOARD
		BOOT_PROBE_KEYBOARD_LOCK
		BOOT_COMCONSOLE			(port value for console)
1996-10-14 17:25:53 +00:00
David Greenman a309908dc3 Fixed a bug that got introduced when I changed the CY16_RESET and
CY_CLEAR_INTR definitions. This might have affected probing of ISA
versions of the Cyclom 16/32-Y.
1996-10-14 16:43:11 +00:00
David Greenman 6fd560f670 Make this compile again for the CyDebug case. 1996-10-14 16:10:00 +00:00
Bruce Evans 14c0bb7c89 Oops, PROBE_KEYBOARD_LOCK wasn't supposed to be enabled by default. 1996-10-14 12:37:47 +00:00
Poul-Henning Kamp 6704a50967 Stop using old compatibility names from buf.h 1996-10-13 14:36:06 +00:00
John Dyson 8de30f117f Pmap_resident_count was mistakenly removed from pmap.h, thereby
disabling the RSS listing in ps and ^T.  This commit re-inserts
the macro defn.
1996-10-13 03:14:57 +00:00
John Dyson 8f3a9a1b78 Minor optimization for final rundown of a pmap. 1996-10-13 01:38:37 +00:00
David Greenman 7a28c2a8cd Change DEVFS device naming convention for cuac*, ttyc*. 1996-10-13 01:30:32 +00:00
David Greenman 3010cd6550 Changes to add support for the PCI version of the Cyclades Cyclom-Y
serial adapter, and support for multiple Cyclom controllers.
1996-10-13 01:09:24 +00:00
John Dyson 9d3fbbb5f4 Performance optimizations. One of which was meant to go in before the
previous snap.  Specifically, kern_exit and kern_exec now makes a
call into the pmap module to do a very fast removal of pages from the
address space.  Additionally, the pmap module now updates the PG_MAPPED
and PG_WRITABLE flags.  This is an optional optimization, but helpful
on the X86.
1996-10-12 21:35:25 +00:00
Bruce Evans da2186afa3 Cleaned up:
- fixed a sloppy common-style declaration.
- removed an unused macro.
- moved once-used macros to the one file where they are used.
- removed unused forward struct declarations.
- removed __pure.
- declared inline functions as inline in their prototype as well
  as in theire definition (gcc unfortunately allows the prototype
  to be inconsistent).
- staticized.
1996-10-12 20:36:15 +00:00
Bruce Evans 4458ac71b1 Removed nested include if <sys/socket.h> from <net/if.h> and
<net/if_arp.h> and fixed the things that depended on it.  The nested
include just allowed unportable programs to compile and made my
simple #include checking program report that networking code doesn't
need to include <sys/socket.h>.
1996-10-12 19:49:43 +00:00
Bruce Evans 71f4712b50 Staticized. Things exported by linker sets should always be static. 1996-10-12 17:34:25 +00:00
Garrett Wollman f5b7ed3e67 Implement the RFC 1650 MIB. 1996-10-11 15:19:23 +00:00
Poul-Henning Kamp 932b06fca5 Added a bdev and cdev for "geometry disk", my generic disk geometry subsystem.
I really wish somebody would complete DEVFS :-(
1996-10-10 20:41:13 +00:00
Bruce Evans a0ea75ecbd Don't include "opt_cpu.h" in <machine/clock.h>, since this breaks lkm's.
The change breaks kern_clock.c; fix that temporarily by including
"opt_cpu.h" there.
1996-10-10 10:25:26 +00:00
Bruce Evans 10c84befd7 Added missing include of "opt_cpu.h". I missed it because PERFMON
features are used without testing for i586 features that they depend
on.  Configuring option PERFMON without configuring a suitable cpu
still doesn't fail right.
1996-10-10 10:18:48 +00:00
Bruce Evans 9829c47606 Fixed spelling errors in function names in previous commit. 1996-10-10 08:04:03 +00:00
Jordan K. Hubbard 978afeee5f Correct the intro text so user is not encouraged to step off cliffs.
Also document the fact that you can hit ESC to skip configuration.
1996-10-09 23:36:54 +00:00
Satoshi Asami dffcea8d5f Another round of updates. Highlights:
(1) Merged i386/i386/sb.h, deleted pc98/pc98/sb.h.

(2) pc98/conf/GENERIC8 looks more like i386/conf/GENERIC now.

(3) Fixed display bug in pc98/boot/biosboot/io.c.

(4) Prepare to merge memory allocation routines:

	pc98/i386/locore.s
	pc98/i386/machdep.c
	pc98/pc98/pc98_machdep.c
	pc98/pc98/pc98_machdep.h

(5) Support new board "C-NET(98)":

	pc98/pc98/if_ed98.h
	pc98/pc98/if_ed.c

(6) Make sure FPU is recognized for non-Intel CPUs:

	pc98/pc98/npx.c

(7) Do not expect bss to be zero-allocated:

	pc98/pc98/pc98.c

Submitted by:	The FreeBSD(98) Development Team
1996-10-09 21:47:16 +00:00
Bruce Evans c20b324bb6 Put I*86_CPU defines in opt_cpu.h. 1996-10-09 19:47:44 +00:00
Bruce Evans d656e316f8 Added new documented options I586_OPTIMIZED_BCOPY and I586_OPTIMIZED_BZERO.
Added old misnamed option I586_FAST_BCOPY in options.i386.

Added old undocumented CLK* and SI_DEBUG options in LINT.
1996-10-09 18:36:44 +00:00
Jordan K. Hubbard b4a346809a Accept 'Q' or 'ESC' in intro screen as a "Jane, stop this crazy thing!"
request.
1996-10-09 18:31:20 +00:00
Bruce Evans cf232f113f Enable the i586-optimized bcopy if the cpu is a "586" and option
I586_OPTIMIZED_BCOPY is configured.

Similarly for bzero/I586_OPTIMIZED_BZERO.

Fake 586's had better have a hardware FPU with non-broken exception
handling (we mask exceptions, but broken exception handling may trap
on the instructions that do the masking).  I guess this means that
the routines won't work on most 386's or FPUless 486's even when they
have a h/w FPU.
1996-10-09 18:30:08 +00:00
Bruce Evans 18860b410d Added i586-optimized bcopy() and bzero().
These are based on using the FPU to do 64-bit stores.  They also
use i586-optimized instruction ordering, i586-optimized cache
management and a couple of other tricks.  They should work on any
i*86 with a h/w FPU, but are slower on at least i386's and i486's.
They come close to saturating the memory bus on i586's.  bzero()
can maintain a 3-3-3-3 burst cycle to 66 MHz non-EDO main memory
on a P133 (but is too slow to keep up with a 2-2-2-2 burst cycle
for EDO - someone with EDO should fix this).  bcopy() is several
cycles short of keeping up with a 3-3-3-3 cycle for writing.  For
a P133 writing to 66 MHz main memory, it just manages an N-3-3-3,
3-3-3-3 pair of burst cycles, where N is typically 6.

The new routines are not used by default.  They are always configured
and can be enabled at runtime using a debugger or an lkm to change
their function pointer, or at compile time using new options (see
another log message).

Removed old, dead i586_bzero() and i686_bzero().  Read-before-write is
usually bad for i586's.  It doubles the memory traffic unless the data
is already cached, and data is (or should be) very rarely cached for
large bzero()s (the system should prefer uncached pages for cleaning),
and the amount of data handled by small bzero()s is relatively small
in the kernel.

Improved comments about overlapping copies.

Removed unused #include.
1996-10-09 18:16:17 +00:00
Bruce Evans 14f3567a32 Don't claim the console when the driver is disabled. The getc/putc
part of the console driver usually works when the driver is disabled,
but the normal read/write part doesn't (it caused a panic).
1996-10-09 15:24:21 +00:00
Bruce Evans 50ec4d5916 Added option PROBE_KEYBOARD_LOCK which gives a serial console if the
keyboard is locked.
1996-10-08 22:41:34 +00:00
Bruce Evans 4fd6d53a24 Saved about 160 bytes by using the gcc-2.7 alignment options. 1996-10-08 22:35:48 +00:00
Bruce Evans 5bac261e76 Print the dos device number for read failures. 1996-10-08 22:31:31 +00:00
Bruce Evans 86f17a898e Removed unused arg to badsect(). It wasted 16 bytes.
Staticized badsect().

Avoid warning for benign signed vs unsigned comparison.
1996-10-08 22:25:22 +00:00
Bruce Evans 3eeeca733b Use the same warning flags as for the kernel. This causes surprisingly
few warnings.
1996-10-08 22:18:34 +00:00
Bruce Evans 9e72552ff0 Centralized the definition of CWARNFLAGS into bsd.kern.mk. 1996-10-08 22:09:03 +00:00
Bruce Evans e8e87818d1 Fixed pessimized (short) i/o port types. 1996-10-08 21:08:18 +00:00
Garrett Wollman 545c48b83a Fix padding of short packets (PR#1701).
Submitted by: seki@sysrap.cs.fujitsu.co.jp
1996-10-07 17:50:00 +00:00
Justin T. Gibbs 0a42ab8379 Advanced Systems Inc. SCSI Controller driver and ISA/VL front end.
I have only tested the ABP5140 card and only with a single CDROM drive
but it seems to work fine.  This driver relies on features found only in
the SCSI branch so will not work in -current until those changes
are brought in.  It also doesn't have any error handling code *yet*.
The goal is to use this driver as the development platform for the new
generic SCSI layer error recovery/handling code.

PCI and EISA front ends will show up as soon as I get my hands on
the cards.  There are also a few issues in the driver that I need
to clear up with AdvanSys before I can suggest sticking one of
these cards in your server. 8-)

Thanks to AdvanSys for releasing this code under a suitable copyright.

Obtained from:  Ported from the Linux driver writen by
		bobf@advansys.com (Bob Frey).
1996-10-07 02:07:07 +00:00
Justin T. Gibbs b109ceda2f Bring in bug fix from 'SCSI' branch. 1996-10-06 22:50:56 +00:00
Justin T. Gibbs 020f6d4ee5 If, during an SDTR negotiation, the target comes back with a response
that is too low for the aic7xxx chip to handle with sync transfers,
negotiate async transfers.
1996-10-06 19:43:36 +00:00
Bruce Evans bb2038d538 Improved the btodb() and dbtob() macros. I made them give unsigned
[long long] results when I last worked on them, but they are normally
used together with to daddr_t's and off_t's which are signed, so the
unsigned results did little except cause warnings.
1996-10-06 19:24:02 +00:00
Bruce Evans e2bbfa26bd Cleaned up vm types. Cosmetic.
The main change is from unsigned long unsigned int.  It just needs to
be a 32-bit type and unsigned int is most natural.  Using a non-long
type has the "advantage" of hiding bugs in the "machine-independent"
code where it prints foo_t's using %d or %x.  These bugs are currently
hidden bug not compiling with -Wformat.

I tried changing vm_ooffset_t from long long to unsigned long long, but
that was wrong because vm_ooffset_t needs to be long to match off_t,
although file offsets are never negative.

Reviewed by:	dyson
1996-10-06 19:13:37 +00:00
Justin T. Gibbs 2ea8799246 Bring aic7xxx driver bug fixes from 'SCSI' into current. 1996-10-06 16:38:45 +00:00
Bruce Evans d1f6ee03f1 Fixed build of LINT yet again. getchar() clashed with getchar() in pcvt.
Staticized it in userconfig.  The one in pcvt is unused.

Removed bogus unused arg to getchar().  This should not have compiled
in the USERCONFIG_BOOT case, but the getchar() was also non-prototyped
and defined in K&R style.

Staticized the badly named global variable `next'.  Even static variables
should have a unique module-specific prefix so that they can be referenced
easily in debuggers, etc.
1996-10-06 16:30:15 +00:00