Commit Graph

2834 Commits

Author SHA1 Message Date
drochner d900f01e01 Don't call kernel debugger on CTL-ALT-ESC hotkey if the keyboard doesn't
belong to the actual console. (ie, we have a serial console)
Closes PR port-i386/3131.
1997-07-26 12:32:24 +00:00
thorpej e31d380775 New welcome banner code, modeled after NetBSD/hp300's boot program
welcome banner code.  Includes additional build information, and it
generally nicer to look at.
1997-07-26 01:50:36 +00:00
drochner bdb232d2b6 Don't use <lib/libsa/if_ether.h> anymore. This was a copy of the
old (before ARP changes) <netinet/if_ether.h>, intended for
temporary use.
1997-07-22 17:41:01 +00:00
drochner 1a0708ed1d -Print debug messages to stderr instead of stdout to avoid mix with
warn() output.
-Try to rename an existing "/boot" before writing a new one. This allows
 to restore the old boot if an error occurs later.
1997-07-21 18:04:35 +00:00
thorpej 97e482f3c8 - Enable COMPAT_NOMID
- Bump ptys to 128.
1997-07-18 04:14:34 +00:00
phil f49d42bbb3 ispcvt Makefile looked like it was trying to install ispcvt in /usr/sbin.
Changes to make that happen.  From PR 3570.
1997-07-17 19:47:10 +00:00
thorpej 8d85b14ca8 Give the __GNUC__ versions of ntohl() and friends the proper (in_addr_t
or in_port_t) signature.
1997-07-17 18:44:08 +00:00
cgd b79d7b9bb1 * clean up the way APMDEBUG and DEBUG are treated. defining either will
get APM debugging code compiled in.  also, redo the way APM debugging
  printfs are invoked, making sure they're always compiled in if debugging
  is enabled, but printing them only if the appropriate bits in the
  'apmdebug' global variable are set.
* clean up function prototypes (alphabetize in each category, get rid
  of 'STATIC' and make them always static since kernels shouldn't have
  static symbols stripped anyway, and debugging kernels definitely don't),
  group global variables together and note that they're used as globals).
* Export the following as option-settable and patchable global variables:
	apmdebug	flags word that controls which APM debugging
			printfs are printed, set with APMDEBUG_VALUE.
	apm_enabled	boolean that indicates whether or not APM should
			ever be configured on the machine.  true by
			default, false if APM_DISABLE defined when
			compiling.  this option exists so that users
			whose systems crash when APM is enabled can
			disable it with a patchable kernel variable, and
			therefore don't necessarily have to compile
			a custom kernel as often.  With this option set,
			a check is still done to see if the APM BIOS
			exists; this variable should be used to prevent
			the kernel from ever attaching to the APM BIOS.
	apm_force_64k_segments
			boolean that tells segment setup code to always
			use segments with 64k length.  false by default,
			true if APM_FORCE_64K_SEGMENTS defined when
			compiling.  used to just be a compile-time option.
	apm_do_idle	boolean that controls whether or not the APM code
			will try to signal the BIOS that the system is
			idle when in the idle loop.  true by default,
			false if APM_NO_IDLE defined when compiling.
	apm_do_standby	boolean that controls whether or not standby
			requests are ever attempted.  true by default,
			false if APM_NO_STANDBY defined when compiling.
			used to just be a compile-time option.
	apm_v11_enabled	boolean that controls whether or not the driver
			attempts to use APM spec v1.1 features.  If true,
			the driver does (it implements v1.1 of the spec),
			and if false the driver only uses v1.0 features.
			true by default, false if APM_V10_ONLY is defined
			when compiling.  Really, the driver should be
			updated to do APM v1.2 and this option should
			either be updated or go the way of the dodo.
			used to just be a compile-time option.
	apm_bogus_bios	(patchable only) controls a few of the APM segment
			setup features.  (probably should just be a global
			and not patchable.)
* make apm_perror print out the full contents of %ax rather than
  just the error code, in addition to printing out the string corresponding
  to the error code.
* print estimated remaining battery life time as "[<hours>h ]<minutes>m",
  which is actually easily understood, rather than as "<hours>:<minutes>
  minutes", which is not.
* restructure match and attach so that they work as they should, remove
  redundancy, support attaching the APM device but not actually enabling it
  so that APM is attached on systems which have it but on which it's broken
  in some fatal way.
* add more debugging printfs in the apm control device entry points.
* return EOPNOTSUPP when trying to do a standby ioctl if standbys have
  been disabled, rather than returning the less-intuitive ENOTTY.
* rename a few functions for consistency: apmprobe -> apmmatch,
  apm_err_translate -> apm_strerror.
* mark a few serious or annoying bogons XXX so people might look at
  them later.
* KNF (lots of changes!)

Despite this substantial amount of work, this driver still needs a _lot_ of
work.  In particular, the user-land device interface needs to be gutted, and
better support for APM-aware applications and device drivers (i.e. call-backs)
needs to be added (e.g. callback interfaces somewhat like those suggested
by the APM spec).

There are still outstanding known problems with some machines.  The true
source of those problems is not currently known, and could be either the APM
BIOSes of the machines in question or this APM driver.  However, even if the
problems are caused by APM BIOS bugs, they could be more gracefully worked
around in this driver.
1997-07-17 06:30:03 +00:00
cgd 92723b6027 return either 0 (success) or 1 (failure) from apmcall(), rather than 0 (success) or the whatever happened to be in %eax after the APM call on
failure.  The latter usually would end up being the (nonzero) opcode
placed in %ax before the call, but could conceivably be modified by the
call to be zero.  In any case, 0/1 is much nicer than 0/random-nonzero,
as well as being safer.
1997-07-17 05:15:01 +00:00
jtk bd611fe5b6 use locator defines in "locators.h" to index cf_loc[]
still to be done and/or decided not to be done: replace all *UNK uses in
isa code with the native names from locators.h
1997-07-17 01:06:27 +00:00
hpeyerl 11d5346627 Fix an oops on my part. I commented out some devices in my local copy
of this file.
1997-07-16 13:40:24 +00:00
drochner a0b2749901 Recognize Cirrus Logic GD5434 VGA chip. It can be treated like a GD5430.
(closes PR port-i386/2638)
1997-07-16 12:44:55 +00:00
fvdl 06b1c0c4aa Recognize MMX P5 by it's model number, not by the cpuid flag. Otherwise
we also get "Pentium II with MMX" which is like saying "Pentium with FPU".
Also add one more entry for a K5
1997-07-16 00:01:49 +00:00
drochner b401c3f024 Use include files from kernel source, not userland. Create a
"machine" link automatically for this.
1997-07-15 13:02:04 +00:00
drochner 6b02672ee8 Cleanup include file usage: Avoid user space headers, use
<sys/types.h> instead of <sys/param.h> where possible.
1997-07-15 12:45:22 +00:00
drochner d6a6f815ee Add boot ROM support for 3c905 TX ethernet card. 1997-07-15 11:23:04 +00:00
kleink 4193b52786 Do not compile in satlink unconditionally; from Thorsten Frueauf
<frueauf@ira.uka.de> in PR port-i386/3864.
1997-07-14 21:09:07 +00:00
hpeyerl 135cc571fc Satellite receiver driver for ISA cards from PlanetConnect by Jason and
Herb for Canada Connect Corp.
1997-07-13 19:33:29 +00:00
hpeyerl 080d346785 Add Satellite receiver driver for ISA cards from PlanetConnect by Jason and
Herb for Canada Connect Corp.
1997-07-13 19:12:06 +00:00
leo 198bd713f2 Generate assym.h dependencies when making 'depend'. 1997-07-12 22:07:36 +00:00
perry ad1710ce1e update comment from 1981 on memory and disk prices -- pr-2754 from Curt Sampson 1997-07-12 16:18:36 +00:00
fvdl b245497f3e model 6, step 3 -> Pentium II, recognize it. 1997-07-10 16:02:24 +00:00
cgd c5d237fec8 kill the apm_enabled softc member I added, and instead use apminited,
a global variable (yech, but i'm not out to save the world) which had
the same meaning and ended up being stealthily set in pretty much
the same place.
1997-07-10 04:15:39 +00:00
cgd ceb9be409e figure out which space we're using in i386_memio_{map,alloc,unmap} by
doing 'if (tag == ...) else if (tag == ...) else panic' rather than
by doing a switch.  This makes life easier for people who need
the i386 bus_space_* functions to access spaces other than the normal
memory and I/O spaces, because it allows them to define an i386
bus_space_tag_t as a pointer to a function table, rather than just
an int.  (They could define it as an int and cast it to a funtion
table pointer, but I think that's bad karma, and this change doesn't
hurt.)
1997-07-10 04:07:00 +00:00
cgd d2e314622d undo the change done (at my suggestion) in rev 1.236. That is,
mark all of 0 -> IOM_BEGIN as used, even though there are some regions
which are left for use by the BIOS (namely, the first 4k page and the
area after biosbasemem*1024 but before IOM_BEGIN).  Drivers wishing to
manipulate these areas should map them specially, with _i386_memio_map()
rather than bus_space_map() or i386_memio_map().
1997-07-10 03:10:58 +00:00
cgd cba7918db6 (1) add a flag to the softc to indicate that the APM device may be
disabled even if it's attached.  If disabled, ENXIO on open.
(2) in the case where the code32 segment len overflows the I/O hole,
    instead of giving up truncate it.  (In other words, revert
    change (2) in rev 1.21 which i suggested mistakenly.)
(3) map bios data space in the 0->640k range with _i386_memio_map()
    rather than with bus_space_map(), so that no accounting checks
    are done.  The checks which are done to make sure that allocation
    in this range is safe are sufficient.
(4) check the return value from _i386_memio_map(), and if it indicates
    an error disconnect from the APM BIOS, print an error message,
    and return without having marked the device 'enabled'.
1997-07-10 03:07:29 +00:00
cgd 9989c90b52 rename i386 bus_space_{map,unmap,subregion,alloc,free} implementation
functions (which only work on memory and i/o space) to i386_memio_*,
and make bus_space_* in bus.h be #defines which invoke them.  This makes
life easier for people who need to define the all of the bus_space functions
so that they work on spaces other than memory and I/O space.  Also, add
an _i386_memio_map function which is like i386_memio_map but doesn't do
the extent map checking or allocation.  _i386_memio_map and i386_memio_*
are for use only by machine-dependent code.
1997-07-10 02:36:44 +00:00
thorpej b4ab2c89f5 Oops, fix a slight oversight, and remove T_MACHCHECK handling (some
code for this was in my private tree at one time, and I must have
forgotten to g/c the constant from trap.h).  Reported by
enami tsugutomo <enami@but-b.or.jp>, PR #3845.
1997-07-09 07:01:29 +00:00
thorpej 4e8a131f3a When allocating space used by physical memory from the iomem extent,
use a value derived from biosbasemem, rather than a constant.  Pointed
out by Chris Demetriou <cgd@netbsd.org>
1997-07-08 17:55:44 +00:00
thorpej 3a3d0fcb0f Add new DDB and KGDB files. 1997-07-06 04:09:45 +00:00
thorpej 55fdd1f6be Add a new line in a printf, for purely cosmetic reasons. 1997-07-05 20:58:30 +00:00
thorpej 15de91e26d Add a breakpoint() inline, used by DDB and KGDB. 1997-07-05 20:49:46 +00:00
thorpej bbf08442c7 Define the ALTENTRY() macro here. 1997-07-05 20:49:19 +00:00
thorpej bc831d9a96 Add glue for remote KGDB. 1997-07-05 20:48:12 +00:00
thorpej 9ae7db0945 Garbage-collect old KGDB glue. 1997-07-05 20:47:35 +00:00
thorpej 46222f0d29 Split the memory access functions out of db_interface.c, so that they can
be shared by DDB and KGDB.
1997-07-05 20:46:37 +00:00
thorpej f796580395 Machine-dependent portions of remote serial KGDB, for NetBSD/i386. Based
on Matthias Pfaller's NetBSD/pc532 kgdb_machdep.c.
1997-07-05 20:44:57 +00:00
drochner 41c3159f16 Emulate old bootblocks better: Use type of boot harddisk, extracted
from disklabel, as default.
(Pushed by Darren Reed <darrenr@cyber.com.au>:-)
1997-07-04 10:52:44 +00:00
drochner 0b58e59709 Correct the error message printing for failed boot attempts
("filename" must be processed by parsebootfile() first).
Being here:
- remove the special "#ifdef MATTHIAS" mainloop
- make some "booting..." output match reality
- print '\n' and '\b' more controlled
1997-07-02 13:20:36 +00:00
mikel 7b93ae0fcb if exec_netbsd() fails, indicate what file we were trying to boot.
suggested by Havard Eidnes in PR port-i386/3771.
1997-07-02 04:07:43 +00:00
cjs 3b3cb5bcff Update comments to show that ed driver on PCI works with 3c90x cards. 1997-07-02 02:44:09 +00:00
drochner 7f15295bde Define _STANDALONE for standalone programs. 1997-06-26 19:03:32 +00:00
perry 73de3e34b8 "fake" disklabels should make the whole thing the 'c' partition, not
the 'a' partition. Sanity checked by thorpej.

This, incidently, may have been causing user errors in initializing
new disks, as described in (now closed) pr-2729 from Scott Reynolds,
because users typically don't try to edit their c partitions to be
"correct".
1997-06-26 05:40:30 +00:00
thorpej 0404c01c46 #define DB_AOUT_SYMBOLS 1997-06-26 01:26:56 +00:00
mellon 021ee70ed5 Adjust options statements so that if they are commented out or uncommented, it doesn't screw up indentation. 1997-06-25 04:41:15 +00:00
thorpej 9fefca0657 Update for repaired Triton MX PCI ID. 1997-06-24 06:21:22 +00:00
fvdl 9270fc61c1 Turn some bus_space_write_2s back to bus_space_write1s, like they should
be. Seemingly leftover from bus_io -> bus_space transition.

Fixes PR 3780, from Thorsten Frueauf
1997-06-23 23:46:40 +00:00
mrg ea3d699c3c remove pcvtdoc. 1997-06-23 03:50:54 +00:00
mrg 38e40629b9 really nothing left here now. 1997-06-23 03:50:39 +00:00
mrg 90a52da37a move man pages into share/man. 1997-06-23 03:30:19 +00:00