Commit Graph

259 Commits

Author SHA1 Message Date
Rodney W. Grimes 21abf3d3ce 1. Remove all references to cyloffset, it has been unused for some time.
2.  New detection code so we know what boot code called us.

3.  Remove old DISKLESS support code and halt if we are called by that boot
    code as it will NOT work with the new nfs_diskless structure.

This is really in preperation for new boot code and new diskless support.

Reviewed by:	davidg
1994-10-02 01:32:53 +00:00
Rodney W. Grimes 723b616383 Add code to generate NFSDISKLESS_SIZE for use in locore for copying the
nfs_diskless structure in from the boot code.
Reviewed by:	davidg
1994-10-02 01:28:38 +00:00
David Greenman 22414e535a Laptop Advanced Power Management support by HOSOKAWA Tatsumi.
Submitted by:	HOSOKAWA Tatsumi
1994-10-01 02:56:21 +00:00
Steven Wallace 085d9ce09a Add #ifndef ALLOW_CONFLICT_IRQ
Reviewed by:	jkh
1994-09-30 05:35:55 +00:00
Søren Schmidt 336abda6cd Updated pcaudio.c to latest from 1.1.5.1
Enabled timer reprogramming in clock.c (this could use more work).

Obtained from: FreeBSD-1.1.5.1
1994-09-29 08:24:45 +00:00
Bruce Evans e04520cef3 Ensure normal selection and alignment of the text and data sections before
including files.  vector.s sometimes left the data section misaligned
(depending on the configuration) so all the time-critical globals in icu.s
were sometimes misaligned.
1994-09-28 03:37:49 +00:00
Paul Traina d43f5ad71e Make Cyrix CPU flush internal cache any time it goes into hold state.
(Meant to commit this a long time ago... oh well).
1994-09-26 16:56:22 +00:00
David Greenman 7bfaa9cdaf Inlined ins/outs functions.
Obtained from:	NetBSD
1994-09-25 21:31:55 +00:00
David Greenman d5c97aea74 Undo last change: the ins/outs functions DO NOT return a pointer! 1994-09-25 20:03:41 +00:00
Poul-Henning Kamp bb56ec4a05 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
David Greenman bc6d744470 Shuffled macros and definitions around to facilitate architecture
independance.
1994-09-24 21:37:01 +00:00
David Greenman 5a8420c53e Nuked splnet before sync. Not only is this unnecessary, but it appears
to cause problems by making it impossible to sync NFS related buffers
when rebooting.
1994-09-24 12:22:47 +00:00
David Greenman a6cd0a2477 Increased SHMMAXPGS from 512 to 1024 now that there is plenty of kernel
virtual memory.
1994-09-23 07:00:12 +00:00
David Greenman 6ce81dd1b2 From 1.1.5:
>revision 1.8
>date: 1994/06/03 06:42:30;  author: davidg;  state: Exp;  lines: +2 -2
>Patch from Bruce Evans: npxintr() needs to mask softclock().
1994-09-22 14:44:16 +00:00
Bruce Evans 8793135f2d 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
Bruce Evans 38a03467df Don't supply the `usermode' arg to softclock(). The 2.0 softclock() doesn't
take an arg.
1994-09-20 21:35:49 +00:00
Bruce Evans 7fecb8e845 Don't lose the RTC interrupt in resettodr(). 1994-09-20 21:20:46 +00:00
Bruce Evans 2b3d0249bd Remove the alias splnone() for spl0(). It was used only once. 1994-09-20 05:07:32 +00:00
Andrey A. Chernov e79033e4cf resettodr() now exists, enable it 1994-09-20 00:32:40 +00:00
Andrey A. Chernov 7b915aa631 resettodr() implemented, inittodr() fixed
Submitted by: me & chris@gnome.co.uk
1994-09-20 00:31:07 +00:00
Bruce Evans 8ebeb948c5 The previous revision got the wrong log message (for clock.c). It should
have got the following:

Back out the changes in the previous revision.  Function-like macros
were replaced by compound statements that work in less contexts.

Unoformize idempotency #ifdef.
1994-09-18 23:18:32 +00:00
Bruce Evans eb51e37703 Remove some unnecessary #includes.
Restore the simple leap year calculation as a macro and document it so
that it doesn't become complicated again.  The simple version works
for all leap years covered by 32-bit time_t's.  The complicated version
doesn't work for all leap years covered by 64-bit time_t's since among
other reasons, the solar system is not stable for long enough.

Fix declarations.

Nuke spinwait().
1994-09-18 23:08:56 +00:00
Bruce Evans e4b7e53da8 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
Garrett Wollman 3f31c649d1 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
David Greenman df9ab3049d 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
Jordan K. Hubbard f6e8d525a8 Deal with outw being defined - the declaration clashes. 1994-09-16 11:22:33 +00:00
Poul-Henning Kamp fe95e21fed Made the kernel compile even without "ether". 1994-09-16 05:47:06 +00:00
Andrey A. Chernov dd067f0809 CPU_ADJKERNTZ added for resettodtr() 1994-09-16 01:05:24 +00:00
Andrey A. Chernov 3826e6e5f0 CPU_ADJKERNTZ added to cpu_sysctl 1994-09-16 01:00:38 +00:00
Paul Richards e69c40d865 Include pio.h so that all those drivers that only include cpufunc.h
get the faster io macros/inline code rather than call the routines
in support.s

This whole area needs some going over.....
1994-09-15 17:55:47 +00:00
Paul Richards ff89e6613e Removed some macros that are now in cpufunc.h
Reviewed by:	Bruce
1994-09-15 16:32:07 +00:00
Paul Richards 8db02de884 Added MCOUNT_ENTER and MCOUNT_EXIT macros to profile.h
Removed inb function since it's more correctly in pio.h

Copied write_eflags and read_eflags over from npx.c

(Some changes to the macros suggested by Bruce were not made at this
time since his suggestions probably apply to all the macros and
these inlined/macro definitions need a lot of cleaning up at some
point in the future.)

Reviewed by:	Bruce
1994-09-15 16:27:14 +00:00
David Greenman ab443e53b6 Brought over from 1.1.5:
From Bruce Evans:
Protect against reentering Debugger().
1994-09-15 11:38:59 +00:00
David Greenman 3443a7b245 Brought over from 1.1.5:
Fix from Bruce Evans. There were missing sets of parantheses:

1. The checks for the standard data selectors were botched, so %ss == 0
   and probably %cs == 0 were allowed.  A fix is enclosed.  The checks
   for the standard selectors could be omitted without losing anything
   since the standard selectors pass the valid_ldt_sel() tests.
1994-09-15 10:52:46 +00:00
Søren Schmidt 4f683116b4 Added support for many more videomodes, including graphic modes up til
320x200 256col VGA. This is nessesary for the iBCS stuff to work right.
(And we get the benefit of more video modes). Uses the videocard BIOS
to optain mode tables.
Added a "green" saver, switches off the syncs for "green" monitors.

Reviewed by:
Submitted by:
Obtained from:
1994-09-15 07:26:40 +00:00
Garrett Wollman 82a2eb57c0 Beginnings of support for loadable protocol domains. In particular,
don't hard-code netisr values in icu.s, but rather, use an array of
function pointers and set them all up in machdep.c for statically-linked
protocol families.  (This will eventually be done differently.)
1994-09-14 23:56:08 +00:00
Andrey A. Chernov 82a4cf2359 1. adjkerntz variable added for preparation to resettodr() implementation
2. Leap year calculations fixed
1994-09-14 23:09:06 +00:00
Poul-Henning Kamp 70fd1674ef Reversed my patch from yesterday. "eisa" if >= 0x1000.
pas0 will be in "eisa", even though it isn't.
1994-09-13 17:06:47 +00:00
Poul-Henning Kamp 1b4997efff Only say eisa if ((ioaddr & 0xfff) >= 0x400) 1994-09-13 06:43:57 +00:00
David Greenman cde7257454 Eliminated a whole pile of ancient (we're taking 4.3BSD) VM system
related #define constants. Corrected incorrect VM_MAX_KERNEL_ADDRESS.

Reviewed by:	John Dyson
1994-09-12 11:38:31 +00:00
David Greenman f7d6afc696 Be more careful about dereferencing curproc, p_vmspace, and curpcb,
otherwise the machine will overflow the stack in a recursive fault loop
(causing the machine to spontaneously reboot because of the stack fault
that ultimately happens).

Submitted by:	Inspired by Bruce Evans, but this change is different
		than what he suggested.
1994-09-11 11:26:18 +00:00
Garrett Wollman 501c23938c Define new MIB variable, hw.floatingpoint, which is true if FP hardware
is present, and false if an emulator is being used.
1994-09-09 23:13:03 +00:00
Bruce Evans ab9678ac9d Get all the definitions from DEFS.h and not directly from asmacros.h
if KERNEL is not defined.  lib/msun/i387/*.S include asmacros.h to
get the definitions of ENTRY(), etc.  This is bogus since asmacros.h
is only supposed to give definitions suitable for the kernel.  The
current definitions for the kernel almost worked but are missing
the ".type" declarations.  This caused the linker to print warnings
about doubtful relocations for almost anything linked to libm[sun].

Uniformize name and use of idempotence identifier.
1994-09-08 12:25:18 +00:00
Bruce Evans fe7bb84c74 Remove <machine/eflags.h> and all dependencies on it. eflags.h is just
the Mach/i386 version of the BSD/vax(?) <machine/psl.h>.  The Mach
version has slightly better names for many macros but is now out of
date and little used.  It was originally used even less (for spelling
PSL_T as EFL_TF in <machine/db_machdep.h>).
1994-09-08 11:49:04 +00:00
Bruce Evans 350ce31055 Fix comments. 1994-09-05 14:09:41 +00:00
David Greenman 426c995032 DOn't allow I/O register access in process 1 (oops). 1994-09-05 05:20:29 +00:00
David Greenman 654f13335e Improved some comments. 1994-09-04 23:10:27 +00:00
Paul Traina c784172318 Detect if we're running on a Cyrix 486DLC and enable automatic cache
negation whenever we access memory between 640k and 1M.

Original code from NetBSD 1.0-BETA.  The exact origins are unclear but
Theo de Raadt, Charles, and Michael V. may have contributed to it.

Submitted by:	pst
1994-09-04 19:59:24 +00:00
David Greenman 7a5f7b0656 Rewrote last vestige of code that used gs (copyinstr). The use of gs in
this routine caused problems for machines that don't set it up properly
before boot (such was the case on an EVEREX machine sitting next to me).
1994-09-04 10:24:22 +00:00
David Greenman 9cbeeedde3 Added pmap_mapdev() function to map device memory. 1994-09-04 04:11:57 +00:00