207 Commits

Author SHA1 Message Date
phk
55e8224b94 Add space for the bios-geometry in the bootinfo struct. 1994-11-18 05:02:43 +00:00
bde
558b1f4747 Add prototype for Debugger(). 1994-11-15 14:55:25 +00:00
bde
a7e2537b02 Make gdt_segs[] public again for APM.
Make ldt[] public again and restore currentldt and _default_ldt for
USER_LDT.
1994-11-15 14:12:55 +00:00
bde
0a69e97a70 Rewrite almost everything.
Alphabetize.

Write all i/o functions in sleep so that we don't use anything from
NetBSD.

Restore the correct type of u_int for ports.  This saves a whole cycle
per i/o on 486's.

Change `inline' back to __inline to avoid compiler warnings with
-Wreally-all.

Don't implement bdb() unless BDE_DEBUGGER is defined.  Declare bdb_exists
outside the function to avoid hundreds of compiler warnings.

Let the compiler pick the register in asms if possible.

Implement ffs() using inline asm().  gcc provides a slightly different
one.  It was broken in gcc-2.4.5 but works now.  Declaring a correct
version inline ensures getting a correct version.  FreeBSD-1.1.5 has
an slow inline version but FreeBSD-2.0 has a library version (which
probably never gets used).

Do inb() and outb() without using %edx for constant ports below 0x100.

Remove casts to the same type in queue functions.

Declare prototypes for everything implemented i386/*.s and also for
everything that is normally implemented as an inline here (I don't
like the current complete dependency on gcc).  Ifdef out the prototypes
that are declared elsewhere.  THere should be a separate header to
declare things implemented in i386/*.s, but then it would be harder
to override declarations with inlines.

${UII}
1994-11-14 15:04:06 +00:00
bde
03c6bfcbf9 Remove 1.5+K of bloat for unused idt entries.
Partly support BDE_DEBUGGER.  Still broken by conflict with APM.  Does
nothing if BDE_DEBUGGER is not defined.

Clean up prototypes and data declarations.  Declare most of the segment
functions that are implemented in support.s.  Make data private in
machdep.c if possible.

Parenthesize expressions in macros properly!

${Uniformize idempotency ifdef}.
1994-11-14 14:18:15 +00:00
bde
245279f8fa Remove extra idempotency ifdef and uniformize the other one.
Comment about support for 4 different spellings of KERNEL.
1994-11-14 14:13:13 +00:00
bde
0e64300c79 Declare inline functions as __inline and with new-style parameter lists
to avoid compiler warnings.

Clean up prototypes: alphabetize; don't use redundant `extern' or
meaningless `extern inline'.

Uniformize idempotency ifdef.
1994-11-14 14:12:24 +00:00
bde
04984457bc Don't declare DELAY() here. Callers should include <machine/clock.h>. 1994-11-09 00:51:38 +00:00
bde
f3d6944860 Declare all functions exported by the npx driver.
Uniformize idempotency ifdefs.
1994-11-05 22:59:09 +00:00
bde
87ae338cf9 Declare the full uglyness of the interfaces to the clock driver (except
things declared in machine-independent files).
1994-11-05 22:51:17 +00:00
bde
419fa2fad7 Disable the direct call from hardclock() to softclock(). Support
for it is incomplete and buggy.  There is no problem unless Xintr0()
is reentered or should be reentered, but high clock interrupt
frequencies for pcaudio cause Xintr0() to be reentered (or clock
ticks to be lost when Xintr0() should have been reentered but
wasn't), and we lose little by delaying the call to softclock().

Move declarations related to the clock driver to clock.h.

Move declarations related to the npx driver to npx.h.

Clean up the remaining declarations.
1994-11-05 22:44:34 +00:00
jkh
e78f90a463 __386BSD__ -> __FreeBSD__
I know that many of these entries are bogus and need to be revisited,
but let's get the tree working again for now and then do a pass through
looking at all the __FreeBSD__ entries, shall we?
1994-11-04 02:14:13 +00:00
se
a8a86df1cb Submitted by: Wolfgang Stanglmeier <wolf@dentaro.GUN.de>
Modifications required for PCI support.
1994-11-02 23:44:11 +00:00
joerg
5fd22a0e22 Included the command definition for FD_DEBUG.
This way, it's possible for a user to activate/deactivate floppy driver
debugging, even if (s)he doesn't like the overhead of running DDB.
Since some ppl tend to have problems with their drives, this might be
valuable for investigations.
1994-10-30 19:17:39 +00:00
wollman
7b8e09399a Finished device configuration database work for all ISA devices (except `ze')
and all SCSI devices (except that it's not done quite the way I want).  New
information added includes:

-	A text description of the device
-	A ``state''---unknown, unconfigured, idle, or busy
-	A generic parent device (with support in the m.i. code)
-	An interrupt mask type field (which will hopefully go away) so that
.	  ``doconfig'' can be written

This requires a new version of the `lsdev' program as well (next commit).
1994-10-23 21:28:03 +00:00
bde
5db7e440c8 Fix the test for the code segment being the usual one. Unusual code
segments can still cause panics.  Their pc is converted to 0 and 0
is only checked for in one place before use.
1994-10-19 21:13:51 +00:00
wollman
24e218260a Add support for devconf to a large number of device drivers, and do
the right thing in dev_goawayall() when kdc_goaway is null.
1994-10-19 01:59:11 +00:00
wollman
9a156f050b Move some declarations to more appropriate header files. 1994-10-19 00:06:24 +00:00
ache
976b2038f4 Remove CPU_COLORDISP, GIO_COLOR now exists 1994-10-18 03:42:18 +00:00
wollman
284bd386c0 Add new definitions for lsdev. 1994-10-17 23:33:52 +00:00
sos
7a4daf58ca Added more SCO compat ioctl's. 1994-10-17 22:12:06 +00:00
wollman
75018964fa Machine-dependent parts of device configuration table. 1994-10-16 03:50:01 +00:00
ache
378cac598e CPU_COLORDISP sysctl added for console display type 1994-10-15 21:18:11 +00:00
phk
913add0cbb Cosmetics. Added a prototype. 1994-10-10 01:06:48 +00:00
phk
4ffcc0d5e9 Added prototypes. 1994-10-08 22:21:34 +00:00
rgrimes
f60f323155 1. bootinfo.h defines the structure passed in to the kernel by the
new boot code.
1994-10-06 09:25:25 +00:00
ache
0683676e4a CPU_DISRTCSET added to disable resettodr(), needed in adjkerntz -i,
per Bruce suggestion
1994-10-04 18:25:51 +00:00
phk
1f6d0ff1e2 Avoid ddb getting a panic if the code-segment isn't the usual one... 1994-10-02 19:36:30 +00:00
phk
29627a3d7d apm_bios.h: removed the equiv-stuff. Not needed now that the kernel module
works correctly.

clock.h & reg.h: prototypes.
1994-10-02 17:31:29 +00:00
dg
509369c300 Added Cortex-I Frame Grabber by Paul S. LaFollette, Jr.
Submitted by:	Paul S. LaFollette, Jr.
1994-10-01 17:59:42 +00:00
dg
5eee9727f8 Added $Id$ 1994-10-01 05:13:37 +00:00
dg
602d8ee732 Woops, missed these two files; part of HOSOKAWA Tatsumi's APM support. 1994-10-01 05:05:10 +00:00
dg
b329c83425 Laptop Advanced Power Management support by HOSOKAWA Tatsumi.
Submitted by:	HOSOKAWA Tatsumi
1994-10-01 02:56:21 +00:00
swallace
bd9a762333 Use Voxware's new 2.90 soundcard.h.
NOTE:  2.9 is backwards compatable with programs compiled with older
soundcard.h, but new programs compiled with 2.9 will not work on pre-2.9
sound drivers.
1994-10-01 02:32:23 +00:00
sos
cab475507f Changed header sligthly. 1994-09-29 08:31:39 +00:00
dg
54a697ba7c First round of changes to get the sound code working in 2.0. 1994-09-27 17:58:30 +00:00
dg
2bffa61402 Inlined ins/outs functions.
Obtained from:	NetBSD
1994-09-25 21:31:55 +00:00
dg
f13b791bdb Undo last change: the ins/outs functions DO NOT return a pointer! 1994-09-25 20:03:41 +00:00
phk
f73f358983 While in the real world, I had a bad case of being swapped out for a lot of
cycles.  While waiting there I added a lot of the extra ()'s I have, (I have
never used LISP to any extent).  So I compiled the kernel with -Wall and
shut up a lot of "suggest you add ()'s", removed a bunch of unused var's
and added a couple of declarations here and there.  Having a lap-top is
highly recommended.  My kernel still runs, yell at me if you kernel breaks.
1994-09-25 19:34:02 +00:00
joerg
6af51c66ed Copied over the transfer speed definitions from sys/i386/isa/fdreg.h.
This is needed for having the fdformat program no longer searching
non-public include paths.
1994-09-25 18:41:21 +00:00
dg
fb2315b514 Shuffled macros and definitions around to facilitate architecture
independance.
1994-09-24 21:37:01 +00:00
dg
f92f1b6305 Increased SHMMAXPGS from 512 to 1024 now that there is plenty of kernel
virtual memory.
1994-09-23 07:00:12 +00:00
bde
a547491c3d Don't provide bogus source operands in some asms. This probably shouldn't
matter, but similar bogusness in npx.c causes compiling without -O to fail.

Use __volatile in all asms.

Parenthesize macro args.

Change the names of the macros to avoid namespace pollution.

Remove unnecessary "#ifdef __i386__".

Sort #defines.

Add comments.
1994-09-20 22:26:37 +00:00
bde
4361273583 Remove the alias splnone() for spl0(). It was used only once. 1994-09-20 05:07:32 +00:00
ache
1e403a60b2 resettodr() now exists, enable it 1994-09-20 00:32:40 +00:00
bde
180938d6ef Replace unsigned' by u_int' so that it is not necessary to include
<sys/types.h> before including this header.  This header is now
idempotent.

Uniformize idempotency #ifdef.
1994-09-18 22:05:22 +00:00
bde
89067f38ec Clean up #includes. <machine/spl.h> has to be included by almost everything
in case an spl inline is used, so this is not the place to include it.

Uniformize idempotency #ifdef.
1994-09-18 21:37:56 +00:00
wollman
9028bd50ff Redo Kernel NTP PLL support, kernel side.
This code is mostly taken from the 1.1 port (which was in turn taken from
Dave Mills's kern.tar.Z example).  A few significant differences:

1) ntp_gettime() is now a MIB variable rather than a system call.  A few
fiddles are done in libc to make it behave the same.

2) mono_time does not participate in the PLL adjustments.

3) A new interface has been defined (in <machine/clock.h>) for doing
possibly machine-dependent things around the time of the clock update.
This is used in Pentium kernels to disable interrupts, set `time', and
reset the CPU cycle counter as quickly as possible to avoid jitter in
microtime().  Measurements show an apparent resolution of a bit more than
8.14usec, which is reasonable given system-call overhead.
1994-09-18 20:40:01 +00:00
dg
0285e6bafc Updated driver to the 1.1.5 version:
date: 1994/05/22 12:35:38;  author: joerg;  state: Exp;  lines: +6 -6
First round of floppy changes. Try making `fd' more robust.

New features:
  .  ioctl command for setting the drive type (density etc.); restricted
     to the super-user
  .  ioctl for getting/seting `drive options'; currently only option
     is FDOPT_NORETRY: inhibit the usual retries; used when verifying
     a newly formatted track

Fixes:
  .  function prototypes
  .  made all internal functions `static'
  .  cleaned up & corrected .h files
  .  restructured, to make the chaotic function sequence more rational
  .  compiled with -Wall, and cleared all warnings
  .  introduced a mirror for the (write-only) `digital output register',
     to avoid the current kludge
  .  device probing completed by seeking/recalibrating, and looking
     for track 0 being found
  .  holding the controller down in reset state while it is idle (and
     thus saving allot of headaches)
  .  make requests fail that are not a multiple of the (physical)
     sector size
  .  removed the fixed physical sector size (512 bytes), allowing for any
     size the controller could handle (128/256/512/1024 bytes)
  .  replaced some silly messages
  .  fixed the TRACE* macro usage, debugging reports should be complete
     now again (debugging output is HUGE! though)
  .  removed fd_timeout for SEEK command; seeks are always reported by
     the controller to succeed, since the `success' only refers to the
     controller's idea of success - there is no hardware line to tell about
     the seek end (other than the `track 0' line)
  .  catch SENSEI's that report about a `terminated due to READY changed'
     status - could happen after a controller reset
  .  converted ``hz / <something>'' divide operations to divisors that are
     powers of two, so gcc can optimize them into shifts
  .  write/format operations are checked against a write-protected medium
     now *prior* starting the operation
  .  error reports of `invalid command' and `wrong cylinder' will cause
     shortcuts in the retrier() now
  .  fixed a bug in the retrier() causing bogus block numbers to be reported
  .  fdformat() does care for errors now

Known Bugs:
  .  no attempts have been made (yet) to improve the performance
  .  sometimes, bogus ``seek/recalib failed'' messages are logged; this
     is still a bug in the driver, but it's not harmful since it's
     usually caught by the retrier()

Reviewed by:
Submitted by:
Obtained from:
1994-09-17 16:56:10 +00:00
dg
f40d319a86 Removed inclusion of pio.h and cpufunc.h (cpufunc.h is included from
systm.h). Merged functionality of pio.h into cpufunc.h. Cleaned up some
related code.
1994-09-16 13:33:56 +00:00