4203 Commits

Author SHA1 Message Date
Steve Passe
64ab539460 Added a new SMP specific file: i386/i386/simplelock.s.
This code was split off from apic_ipl.s.
It contains the Lite2 lock manager primitives:
 - s_lock_init()
 - s_lock()
 - s_lock_try()
 - s_unlock()
1997-07-24 23:45:17 +00:00
Steve Passe
9edce0605a Fix a difference between the declaration & definition of isa_dmastatus().
Submitted by:	Chuck Robey <chuckr@glue.umd.edu>
1997-07-24 18:05:22 +00:00
KATO Takenori
4877e978b3 Treat 6x86MX CPU as 686-class CPU instead of 586-class CPU. 1997-07-24 14:19:25 +00:00
Mike Smith
a4453045b0 Add isa_dmastatus() for reading the current ISA DMA counter for a
given channel.

Submitted by:	luigi@labinfo.iet.unipi.it (Luigi Rizzo)
1997-07-24 05:27:40 +00:00
Steve Passe
7f6ab10763 Removed the defunct GET_MPLOCK/REL_MPLOCK macros.
These are no-ops for UP, and should have been removed when vector.s
was split into UP and SMP subsets.
1997-07-24 03:24:57 +00:00
Steve Passe
e78205df5b Fixed possible deadlock from recursive INTs on same cpu. Since
we use lazy masking INTREN()/INTRDIS() might be called with INTs enabled.
This means another higher prio INT to the same cpu could attempt to
re-enter the critical region, but would spin waiting for the lock.  Since
it is the owner, it would deadlock.
1997-07-23 21:25:31 +00:00
Steve Passe
812e4da7a8 New simple_lock code in asm:
- s_lock_init()
 - s_lock()
 - s_lock_try()
 - s_unlock()

Created lock for IO APIC and apic_imen  (SMP version of imen)
 - imen_lock

Code to use imen_lock for access from apic_ipl.s and apic_vector.s.
Moved this code *outside* of mp_lock.

It seems to work!!!
1997-07-23 20:47:19 +00:00
Steve Passe
d9593fb979 Forced 32bit alignment of struct simple_lock in param.h.
Added declarations of new simple_lock data and functions to smp.h.
1997-07-23 20:42:16 +00:00
Steve Passe
919bdda1d4 Coded simple_lock and friends in asm. 1997-07-23 05:49:19 +00:00
Steve Passe
b1ba015c25 Added a missing semicolon, compile failed when I turned on simple_lock().
Evidently this has never been compiled before, NOT a good sign...
1997-07-22 23:19:48 +00:00
Steve Passe
87a6f31089 Last commit didn't take, operator error??? 1997-07-22 20:12:32 +00:00
Steve Passe
995655b397 Hid the existance of imen via a dump routine. 1997-07-22 19:57:30 +00:00
Steve Passe
2e12b456f5 Cleaned up an ugly printout. 1997-07-22 19:51:51 +00:00
Jordan K. Hubbard
c1f94e717b Well, consensus seems very split on this so I talked it over with DG
and he says he's happy to see forward movement in aligning our defaults
with a 16 bit world, the 8 bit folk already being veterans by this
point who know how to use userconfig.

In any case, perhaps Warner will soon come to save us all with his Dynamic
Probing(tm) feature and this will all become totally moot in any case,
so it's probably not worth arguing about either way.
1997-07-22 08:33:52 +00:00
Steve Passe
9a9ad9f746 Enabled the FPU emilaute bit define: CR0_EM
Reviewed by:	Bruce Evans <bde@zeta.org.au>
1997-07-21 17:53:51 +00:00
Bruce Evans
43ba542895 Store SWI_MASK in a variable so that LKMs can use it portably. 1997-07-21 16:43:48 +00:00
Bruce Evans
eae4afa6c0 Removed support for stale options.
Removed unused targets.  (Is sizetest necessary?  It wasn't run.)

Added boot.img to CLEANFILES.
1997-07-21 16:12:52 +00:00
Steve Passe
e94493547b Disabled 2 static inlines:
- INTRGET()
 - INTRSET()

These were only used in if_ze.c (already removed) and npx.c.  The code
in npx.c has also been cleaned of all APIC code.
1997-07-21 08:20:07 +00:00
Steve Passe
3902c3ef1f Made the SMP case ignore the possibility of an INT13 interface.
This eliminates all the APIC code, and thus several routines that
would otherwise need to be made MP-safe.

Reviewed by:	 Bruce Evans <bde@zeta.org.au>
1997-07-21 07:57:50 +00:00
John Dyson
322d7a880b Fix a crash that has manifest itself while running X after the 4MB
page upgrades.
1997-07-21 01:21:25 +00:00
Steve Passe
4cb2abf6d8 Put in a "HEADS UP" concerning the 'SMP_TIMER_NC' option.
Disabled MATH_EMULATE, shouldn't ordinarily be needed for SMP.
1997-07-20 23:57:20 +00:00
Steve Passe
ba52d7ac34 Omit printout of imen, INTRGET() is not MP-safe yet... 1997-07-20 23:07:39 +00:00
Steve Passe
35b3c4a0e5 Developed a new strategy for handling the 8254/8259/APIC issue. 1997-07-20 19:41:38 +00:00
Steve Passe
c69ef9495b Developed a new strategy for handling the 8254/8259/APIC issue.
Enabled (by default) with "#define NEW_STRATEGY".
1997-07-20 19:40:34 +00:00
Steve Passe
3577278519 Minor cleanup.
Pass string arg to apic_dump.
Moved bootverbose printing of SMP enabled INTs from clock.c to autoconf.c
1997-07-20 18:05:20 +00:00
Steve Passe
0571e04aee Minor cleanup. 1997-07-20 18:02:59 +00:00
Steve Passe
03aad53304 Pass string arg to apic_dump. 1997-07-20 18:02:19 +00:00
Bruce Evans
ecd741d614 Removed unused #includes. 1997-07-20 16:21:36 +00:00
Bruce Evans
293a9e510c Removed unused #includes. 1997-07-20 16:06:08 +00:00
Bruce Evans
5f2d49adc9 Fixed data+bss limit (use the current rlimit instead of MAXDSIZ). 1997-07-20 14:21:36 +00:00
Bruce Evans
f71d35e402 Removed unused #includes. 1997-07-20 14:10:18 +00:00
Bruce Evans
f94276a095 Removed yet another vestige of devconf. 1997-07-20 12:34:15 +00:00
Bruce Evans
288f6303ba Finished (?) converting md_regs to a `struct trapframe *'. Some bogus casts
are now unnecessary.
1997-07-20 12:33:19 +00:00
Bruce Evans
e852f922ab Uniformized idempotency ifdef. 1997-07-20 12:26:34 +00:00
Bruce Evans
9d675655a2 Fixed missing indent protection in copyright.
Uniformized idempotency ifdef.
1997-07-20 12:18:53 +00:00
Bruce Evans
6fdad28eb1 Removed unused #includes. 1997-07-20 11:58:40 +00:00
Bruce Evans
921cf4d2a2 #include <machine/stdarg.h> in the one place in pcvt that it is used
instead of centrally.
1997-07-20 11:28:41 +00:00
Bruce Evans
f5f91b3249 Removed a stray semicolon. 1997-07-20 11:19:46 +00:00
Bruce Evans
395d48aff0 Removed unused #includes.
Updated an #include to 4.4Lite style (missed one).
1997-07-20 11:14:53 +00:00
Bruce Evans
50347d39df Removed unused #includes and a stale forward declaration. 1997-07-20 11:06:44 +00:00
Bruce Evans
28914c4644 Oops, I removed one too many #include. <machine/frame.h> was previously
included twice as a side effect of including unrelated headers, but I
removed the #include of one of the headers and will soon fix the nested
#include in the other.
1997-07-20 11:00:32 +00:00
Bruce Evans
ef0e1ab70c Hide definitions that depend on the APIC_IO option from LKMs so that LKMs
break properly if they use these definitions.

Use '#ifdef notyet' instead of '#if 0' to hide temporarily misplaced
declarations.
1997-07-20 10:35:50 +00:00
Bruce Evans
f7f084101e Fixed pedantic ANSI C errors:
- don't put a comma after the last element in enum declarations.
- don't declare static objects as extern.
1997-07-20 10:14:28 +00:00
Bruce Evans
dd1df1935f Moved some definitions of initialized data nearer to the start of
the file so that this compiles without forward declarations of that
data.  (It is impossible to forward-declare static data in Gnu C.
Declaring it as static is correct, but causes bogus warnings from
gcc -Wredundant-decls.  Declaring it as extern works, but causes
correct warnings from gcc -pedantic and is undefined in ANSI C.
We usually declare it as extern.  Here it was once really extern,
but botched staticization left it as static here and apparently-
extern in a header file.)
----------------------------------------------------------------------
another system, such as NetBSD, CVS:   then name the system in this
line, otherwise delete it.  CVS: Reviewed by:  CVS:   Before
committing changes please have someone check your work and CVS:
include their name here. If the change is trivial and you have not
else; i.e., CVS:   they sent us a patch or a new module, then
include their name/email CVS:   address here. If this is your work
then delete this line.  CVS:
----------------------------------------------------------------------
----------------------------------------------------------------------
1997-07-20 10:07:55 +00:00
Bruce Evans
9aa783b382 Removed unused #includes. 1997-07-20 09:39:51 +00:00
Bruce Evans
e5c70c95e1 Fixed bitrot in fpu LKMs. 1997-07-20 08:46:30 +00:00
Bruce Evans
e31521c3dd Removed unused #includes. 1997-07-20 08:37:24 +00:00
Bruce Evans
8f0169c8a8 Removed unused #includes. 1997-07-20 06:31:09 +00:00
Bruce Evans
96b89afc1d Disabled option SMP_TIMER_NC. It now conflicts with a default "option".
Moved description of sio 16650A flag to the sio section and rewrote the
description.  It was in the generic console flags section.

Added undocumented options CPU_UPGRADE_HW_CACHE and WLDEBUG.
1997-07-20 05:27:59 +00:00
Steve Passe
1dec61e7c0 Added code to support #define APIC_PIN0_TIMER.
This code ALWAYS runs the 8254 timer thru the 8259 ICU.
It depricates the usage of "options SMP_TIMER_NC" in the config file.
1997-07-19 04:00:35 +00:00