Commit Graph

8341 Commits

Author SHA1 Message Date
brian
8ebf5a9ddf Recalculate ip_sum before passing a
re-assembled packet to a divert port.
Pointed-out by:	Ari Suutari <ari@suutari.iki.fi>
VS:   then name the system in this line, otherwise delete it.
1997-07-25 03:58:21 +00:00
fsmp
651e67a9c6 simplelock functions removed from apic_ipl.s.
ASM optimization by:	Bruce Evans <bde@zeta.org.au>
1997-07-24 23:51:33 +00:00
fsmp
176a721ba4 Removed the simplelock functions.
Cleaned up the other functions.
1997-07-24 23:49:44 +00:00
fsmp
12a75d4d54 param.h:
Macros to convert the Lite2 lock manager primitives to the names used
	in the kernel proper.  This allows us to hide them from the lock
	manager till they can be turned on.
smp.h:
	declarations for the new simplelock functions.
1997-07-24 23:48:53 +00:00
fsmp
9b2257ffa2 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
fsmp
5bfd5a5b06 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
fsmp
f3f46f0996 Back out align attribute that corrupts "machine independance" of file.
Submitted by:	Bruce Evans <bde@zeta.org.au>
1997-07-24 18:01:34 +00:00
kato
b4ed1c780b Treat 6x86MX CPU as 686-class CPU instead of 586-class CPU. 1997-07-24 14:19:25 +00:00
kato
c51924a1cb Synchronize with sys/i386/isa/isa.c revision 1.96. 1997-07-24 14:10:54 +00:00
msmith
a27c19ecbf 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
fsmp
526dc5f515 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
fsmp
68126f0545 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
fsmp
31c730f3a6 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
fsmp
8f17d1fae9 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
fsmp
393e83e77c Forced 32bit alignment of struct simple_lock. 1997-07-23 20:40:52 +00:00
kato
c6ab590e3b Synchronize with sys/i386/isa/clock.c revision up to 1.97. 1997-07-23 11:28:39 +00:00
fsmp
53d4b25b15 Coded simple_lock and friends in asm. 1997-07-23 05:49:19 +00:00
fsmp
5d2b7fa5ed 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
fsmp
5a26b1bcd7 Last commit didn't take, operator error??? 1997-07-22 20:12:32 +00:00
fsmp
ec87c77721 Hid the existance of imen via a dump routine. 1997-07-22 19:57:30 +00:00
fsmp
a19b73a7b0 Cleaned up an ugly printout. 1997-07-22 19:51:51 +00:00
fsmp
a377b0478a Cleaned up the FPU init. 1997-07-22 16:49:54 +00:00
dfr
331e950c31 Correct some dumb mistakes in the WebNFS stuff.
Submitted by:	bde
1997-07-22 15:35:57 +00:00
dfr
29f6f6602d Allow NULL cookie verifiers for non-NULL offsets. This is needed for
Digital Unix boxes since they appear to always send null verifiers.
1997-07-22 15:35:15 +00:00
jkh
480e1d62b7 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
bde
f5c982d3e0 Quick and dirty (?) fix for noatime option. The WebNFS changes
broke it by using the same value for MNT_EXPUBLIC as for MNT_NOATIME.
Just use a different value for MNT_EXPUBLIC.
1997-07-22 08:03:19 +00:00
fsmp
34fa8c6ad3 Enabled the FPU emilaute bit define: CR0_EM
Reviewed by:	Bruce Evans <bde@zeta.org.au>
1997-07-21 17:53:51 +00:00
fsmp
46330a4823 SMP code initializes the FPU of APs.
Suggested by:     Bruce Evans <bde@FreeBSD.ORG>
1997-07-21 17:03:22 +00:00
bde
c38ba7cecc Oops, unremoved used #include. 1997-07-21 16:55:28 +00:00
bde
59566a1491 Use soft_imask instead of SWI_MASK in the LKM version. SWI_MASK shouldn't
have been visible in LKMs, since it had the wrong value for the APIC_IO
case.

Removed unused #includes.
1997-07-21 16:50:46 +00:00
bde
086a90ce38 Store SWI_MASK in a variable so that LKMs can use it portably. 1997-07-21 16:43:48 +00:00
bde
d3ee463b26 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
bde
02918ca45b Added ${KMOD} to CLEANFILES. ${KMOD} gets created if you run `make load'. 1997-07-21 16:04:41 +00:00
kato
337e67cf95 Synchronize with sys/i386/isa/npx.c revision 1.49. 1997-07-21 13:13:43 +00:00
kato
b2a0711936 Synchronize with sys/i386/i386/microtime.s revision 1.26. 1997-07-21 13:12:45 +00:00
kato
382dc72b32 Synchronize with sys/i386/isa/clock.c revision up to 1.95. 1997-07-21 13:12:01 +00:00
kato
27d4c60074 Synchronize with sys/i386/isa/fd.c, if_ed.c, if_fe.c, lpt.c, mse.c,
npx.c, isa.c, sio.c, syscons.c and wd.c revisions 1.100, 1.117, 1.29,
1.61, 1.33, 1.48, 1.95, 1.173, 1.226 and 1.132, respectively.
1997-07-21 13:11:16 +00:00
kato
2c550ff392 Synchronize with sys/i386/i386/machdep.c and trap.c revisions 1.253
and 1.101, respectively.
1997-07-21 13:04:54 +00:00
fsmp
e7e1e6ffbe 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
fsmp
26125c6fa7 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
dyson
ba3c6422c3 Fix a crash that has manifest itself while running X after the 4MB
page upgrades.
1997-07-21 01:21:25 +00:00
fsmp
0743654808 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
fsmp
9706ca5668 Omit printout of imen, INTRGET() is not MP-safe yet... 1997-07-20 23:07:39 +00:00
fsmp
2ac3ad1fd3 Developed a new strategy for handling the 8254/8259/APIC issue. 1997-07-20 19:41:38 +00:00
fsmp
96b8d78812 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
fsmp
8fe3123e94 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
fsmp
de88b06b3a Minor cleanup. 1997-07-20 18:02:59 +00:00
fsmp
49f5b902b4 Pass string arg to apic_dump. 1997-07-20 18:02:19 +00:00
bde
798e815170 Removed unused #includes. 1997-07-20 16:21:36 +00:00
bde
98c28d00a7 Removed unused #includes. 1997-07-20 16:06:08 +00:00
bde
bad31a2faa Fixed data+bss limit (use the current rlimit instead of MAXDSIZ). 1997-07-20 14:21:36 +00:00
bde
26179d3e8d Removed unused #includes. 1997-07-20 14:10:18 +00:00
kato
700d6b374c Removed unused #includes. 1997-07-20 13:02:05 +00:00
bde
cb6215d35d Removed yet another vestige of devconf. 1997-07-20 12:34:15 +00:00
bde
adcb62ea36 Finished (?) converting md_regs to a `struct trapframe *'. Some bogus casts
are now unnecessary.
1997-07-20 12:33:19 +00:00
bde
36d97e2225 Uniformized idempotency ifdef. 1997-07-20 12:26:34 +00:00
bde
be38df08da Fixed missing indent protection in copyright.
Uniformized idempotency ifdef.
1997-07-20 12:18:53 +00:00
kato
4015f73977 Fixed the place of the `}' in comparam(). 1997-07-20 11:59:48 +00:00
bde
55e22acb70 Removed unused #includes. 1997-07-20 11:58:40 +00:00
kato
477f31a0f9 Synchronize with sys/i386/i386/microtime.s revision 1.25. 1997-07-20 11:56:48 +00:00
kato
2134c907e6 Synchronize with sys/i386/isa/clock.c revision up to 1.92. 1997-07-20 11:55:52 +00:00
bde
d93a74362e #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
bde
a9c8ec248b Removed a stray semicolon. 1997-07-20 11:19:46 +00:00
bde
3099cb104b Removed unused #includes.
Updated an #include to 4.4Lite style (missed one).
1997-07-20 11:14:53 +00:00
bde
dd1e32689d Removed unused #includes and a stale forward declaration. 1997-07-20 11:06:44 +00:00
bde
7a6c2e7565 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
bde
f153ce8d31 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
bde
21312369d7 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
bde
d432b54afc 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
bde
1e42e1c4b9 Removed unused #includes. 1997-07-20 09:39:51 +00:00
bde
b228bebf64 Fixed bitrot in fpu LKMs. 1997-07-20 08:46:30 +00:00
bde
37174c05e6 Removed unused #includes. 1997-07-20 08:37:24 +00:00
bde
231784c7f6 Removed unused #includes. 1997-07-20 06:31:09 +00:00
bde
c12deb7e88 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
fenner
38192cf9a5 Remove sonewconn() macro kludge, introduced in 4.3-Reno to catch argument
mismatches.  Prototypes do a much better job these days.

Noticed by:	bde
1997-07-19 20:15:43 +00:00
fenner
a47a697ebe Remove crufty LBL ifdef that only applies to Suns.
Submitted by:	Craig Leres <leres@ee.lbl.gov>
1997-07-19 20:07:07 +00:00
fsmp
11a19ed09a 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
fsmp
74e8279498 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 03:59:28 +00:00
fsmp
87c3825771 Added #define APIC_PIN0_TIMER.
This define enables the code to ALWAYS run the 8254 timer thru the 8259 ICU.
It is ON by default.
It depricates the usage of "options SMP_TIMER_NC" in the config file.
1997-07-19 03:56:30 +00:00
fsmp
74f362861c SMP or APIC_IO:
- Increased NIDT to 256.
 - Moved IPI vectors up above the linux compat vector.
 - Removed runtime setup of RTC vector.
1997-07-19 02:28:30 +00:00
fsmp
95214909a0 Increased NIDT to 256 for case of SMP or APIC_IO. 1997-07-19 02:24:37 +00:00
fsmp
2f85642df6 Added "options DDB", given the experimental nature of SMP... 1997-07-18 22:00:17 +00:00
fsmp
ee22260a44 Split TEST_CPUSTOP code into CPUSTOP_ON_DDBBREAK and mainline code. 1997-07-18 21:27:53 +00:00
se
ecd0abeac8 Assign correct chip set register dump functions to Triton II device IDs.
PR:		i386/4092
Submitted by:	Steve Bauer <sbauer@rock.sdsmt.edu>
1997-07-18 19:47:23 +00:00
se
26a089b9ea Fix "unexpected phase change" interrupt handler: Do not access the
dstat register twice, pass the value read the first time to the fixup
code instead.

Submitted by:	Gerard Roudier <groudier@club-internet.fr>
1997-07-18 19:33:56 +00:00
julian
99b4548678 An actual fix for the routing default crashes that
1/ is compatible with the old route(1) in case needed.
2/ actually fixes the problem while vetting bad user input.
note: I have already fixed route(1) so the problem shouldn't occur.
if it does. use 0.0.0.0/0 instead of the word 'default' :)
1997-07-18 11:44:24 +00:00
fsmp
4365bb7804 Made the printing of the APIC INTs depend on bootverbose. 1997-07-18 03:59:28 +00:00
fsmp
669fe5c8eb printf cleanup. 1997-07-18 03:58:14 +00:00
dyson
53c148264d Hopefully fix a few problems that could cause hangs in SMP mode.
1)	Make sure that the region mapped by a 4MB page is
	properly aligned.
2)	Don't turn on the PG_G flag in locore for SMP.  I plan
	to do that later in startup anyway.
3)	Make sure the 2nd processor has PSE enabled, so that 4MB
	pages don't hose it.

We don't use PG_G yet on SMP -- there is work to be done to make that
work correctly.  It isn't that important anyway...
1997-07-17 19:45:01 +00:00
kato
97df0cbd3a Synchronize with sys/i386/isa/sio.c revision 1.172. 1997-07-17 10:35:43 +00:00
kato
691589e243 Synchronize with sys/i386/isa/npx.c revision 1.47. 1997-07-17 10:35:01 +00:00
msmith
7f923a8bb1 Fix Julian's fixed fix. Routing is weird.
We need to accept at least one sockaddr with zero length, in order
to be able to set the default route.

Suggested by:	Phone conversation with Julian (sleep well!)
1997-07-17 09:21:34 +00:00
dfr
df8d8e5713 Merge WebNFS support from NetBSD
Obtained from:	NetBSD
1997-07-17 07:17:33 +00:00
dyson
926b6969fa Add some support for the 16650 type UARTS. 1997-07-17 06:01:15 +00:00
dyson
8e56f80f0e Clean up some lint associated with the AIO code. 1997-07-17 04:49:43 +00:00
dyson
b39089e3e9 Add support for 4MB pages. This includes the .text, .data, .data parts
of the kernel, and also most of the dynamic parts of the kernel.  Additionally,
4MB pages will be allocated for display buffers as appropriate (only.)

The 4MB support for SMP isn't complete, but doesn't interfere with operation
either.
1997-07-17 04:34:03 +00:00
fsmp
72b4af0373 Turned OFF DEBUG_CPUSTOP as the default. This was necessary as kernels without
DDB failed to link for lack of db_printf().
1997-07-17 03:25:54 +00:00
peter
b7fb1176cc Remove the disable for the P5 cpu class bcopy using the FPU on SMP kernels,
it is understood to work now (and has been for quite a while apparently).
1997-07-17 02:09:25 +00:00
dfr
e266148f6d Merge WebNFS changes from NetBSD.
Obtained from:	NetBSD
1997-07-16 18:04:52 +00:00
julian
dab3344374 Bungled cut/paste leaves kernel with page faults..
(read all about it!)
1997-07-16 14:55:14 +00:00