Commit Graph

7912 Commits

Author SHA1 Message Date
tegge
a7842e1d28 Fix a typo.
Submitted by:	Wolfgang Helbig <helbig@MX.BA-Stuttgart.De>
1997-05-31 18:29:58 +00:00
peter
9234c59d7e specify compile-with option to get -fomit-frame-pointer on ipl_funcs.c 1997-05-31 18:01:38 +00:00
peter
67487a9c36 Revert previous change, use "compile-with" in files.i386 instead. 1997-05-31 17:59:56 +00:00
kato
25c01defaa Include file update: <machine/spl.h> --> <machine/ipl.h>. 1997-05-31 12:45:37 +00:00
kato
d0074234b1 Synchronize with following changes:
>  Revision  Changes    Path
>   1.97      +2 -1      src/sys/i386/i386/trap.c
>   1.86      +2 -1      src/sys/i386/isa/clock.c
>   1.88      +2 -1      src/sys/i386/isa/isa.c
>   1.44      +3 -2      src/sys/i386/isa/npx.c
1997-05-31 12:43:17 +00:00
kato
8589eaab1f Synchronize with sys/i386/conf/files.i386 revision 1.162. 1997-05-31 12:39:57 +00:00
kato
68e33d29a5 Synchronize with sys/i386/conf/Makefile.i386 revision 1.98. 1997-05-31 12:39:08 +00:00
peter
e194f5cbd7 Bruce mentioned to me that Paul Traina had noticed that the ppp_tty
interrupt mask hackery wasn't happening when being modloaded via the
if_ppp lkm.  It seems that the lkm system doesn't particularly like having
two sets of load/unload/etc routines. :-]  This really should be fixed
by having a seperate if_ppp and ppp_tty lkm, but that requires that ppp_tty
is loaded after if_ppp, and needs to be able to link with symbols in
if_ppp.  This gets messy, it is a better task for the in-kernel linker.
(if_ppp is generic, ppp_tty is a tty-specific bottom end for if_ppp, it's
 not _too_ hard to have another "provider" (such as a hdlc sync card)
 connected to if_ppp)
1997-05-31 10:13:46 +00:00
peter
577ee2ecf9 don't refer to SWI_*_MASK, it's not SMP/UP kernel portable for the lkm. 1997-05-31 09:49:35 +00:00
peter
8d8384c7f4 Add prototypes for the spl* funcs and add externs for *_imask. Leaving
the *_imask down in the isa machine dependent layers requires code changes
to all pci drivers, but the interrupt registration mechanism is in flux
at the moment. These can go away when the interface is cleaned and settled.
1997-05-31 09:43:22 +00:00
peter
f5f62e3eec s/intrmask/intrmask_t/g
remove warning about ICU_LEN > 32, it's not likely to happen like this,
and besides, ICU_LEN is not the ideal indicator of "number of interrupts".

Reviewed by: bde, se
1997-05-31 09:33:29 +00:00
peter
71d9859870 <machine/spl.h> -> <machine/ipl.h>
s/intrmask/intrmask_t/g

Reviewed by: bde, se
1997-05-31 09:30:39 +00:00
peter
1ef1946e2f Include file updates.. <machine/spl.h> -> <machine/ipl.h>, add
<machine/ipl.h> to those files that were depending on getting SWI_*
implicitly via <machine/cpufunc.h>
1997-05-31 09:27:31 +00:00
peter
80d8241040 add ipl_funcs.c (Hmm.. should probably use a "compile-with" arg rather
than a Makefile.i386 hook)
1997-05-31 09:23:44 +00:00
peter
09b39a0660 compile ipl_funcs.c with -fomit-frame-pointer, as suggested by Bruce. This
cuts the cost of a function call instead of an inline.
1997-05-31 09:19:19 +00:00
peter
3bcc8c4b88 move spl.h to ipl.h, minus the inline spl macros. The inline spl
implementation is now in isa/ipl_funcs.c (at least for the time being),
leaving the definitions of the SWI_* and cpl/idelayed/ipending.
1997-05-31 09:16:36 +00:00
peter
fbe84f722a remove #include of <machine/spl.h> - they are externed now
Reviewed by: bde
1997-05-31 09:13:03 +00:00
peter
c0b8239aff move intrhand2_t from isa_device.h to machine/types.h - it's used far more
than in the isa dependent code.
create intrmask_t in machine/types.h  (replaces "intrmask" typedef from
sys/interrupt.h)

Reviewed by: bde
1997-05-31 09:07:36 +00:00
peter
83a98bc0a2 Store the macro values for SWI_TTY_MASK and SWI_NET_MASK in variables to
that lkm's can use them for fiddling the masks without being dependent on
which mode the kernel is compiled in (SMP or UP).  This is particularly
for ppp_tty.c which has some domain crossing between the net and tty
subsystems.  The values are not used in the spl code, they are for
reference only (ie: the compiled code uses immediate values rather than
an indirect 32 bit address and 32 bit data fetch).
1997-05-31 09:03:52 +00:00
peter
72b61693b5 The SWI_NET_MASK and SWI_TTY_MASK handlers are now back adjacent to the
top of the hardware interrupt handlers.  Apparently this is slightly
faster with the bit scanning instruction that looks these up - this set of
changes reverts the original change.

Reviewed by: bde
1997-05-31 08:59:51 +00:00
peter
ea8d17534e Bruce's original implementation of the splxxx() routines, but as C code
rather than inlines.  These are compiled with -fomit-frame-pointer and
work out pretty close to the original routines, but it might be a fraction
slower.  The reason for doing this is to prevent the SWI_* and HWI_* values
from being compiled into drivers and lkms etc which is one of the things
that prevents the same lkm from being used on both SMP and UP kernels.

This gives us a lot more scope for experimenting with the splxxx
implementaton for SMP parallelism etc.

Reviewed by: bde
1997-05-31 08:57:05 +00:00
peter
10d300a786 Bruce's original definitions for the spl/ipl code when running on the old
PIC's.

Reviewed by: bde
1997-05-31 08:50:34 +00:00
peter
f4cc25da4c Definitions for the spl/ipl code when running on an IO APIC.
Obtained from: fsmp  (part of what Steve added for IO APIC support)
Reviewed by:   bde
1997-05-31 08:49:08 +00:00
kato
ad1b2dcc5c - Use 6x86MX' instead of M2'. Cyrix officially use `6x86MX' for the
CPU code-named `M2'.

- Use the result of cpuid instruction instead of DIR to identify
  6x86MX cpu.  DIR0 and DIR1 are not documented in the data sheet, and
  cpuid instruction is enabled at reset time.

- Add a function, init_6x86MX() to initialize 6x86MX cpu.  It supports
  CPU_SUSP_HLT and CPU_IORT options.  It always sets NC1 (640K - 1M is
  not cached.), and enables L1 cache in write-back mode.

- Fix typo in the comment in identblue().
1997-05-31 08:45:24 +00:00
fsmp
5e2a5c5971 Modified code in direction of supporting MULTIPLE_IOAPICS.
- moved read_io_apic_maskc24() from isa/mpapic.h, disabled it, currently unused.
 - cleaned up various panic() calls.
1997-05-31 03:29:57 +00:00
fsmp
01f80ab36a Modified code in direction of supporting MULTIPLE_IOAPICS.
- removed set_io_apic_mask() & clr_io_apic(_mask)
 - moved read_io_apic_maskc24() to i386/mpapic.c, disabled it, currently unused.
1997-05-31 03:29:06 +00:00
stark
a3186f5a8d Submitted by: Rich Murphey (ages ago) and Gene Stark
Hopefully I've done the proper magic to merge changes between 1.17 and
1.17.2.1 into the main trunk.  Description of those changes follows:

Brought in changes sent to me in late 1995 by Rich Murphey.
I cleaned up a few things and am currently running these under
2.2-970205-GAMMA.

The changes deal with software debouncing apparently necessary on
todays faster hardware, and also some problems with the use of the -Select
line for the TW-523 sync.  This driver allows use of +PaperEnd as an
alternative.
1997-05-31 02:39:32 +00:00
dfr
654c037a9c The previous fix didn't work properly for small block size filesystems,
which caused very slow file access for cd9660 and some ext2fs filesystems.

Reviewed by:	bde
1997-05-30 22:25:35 +00:00
se
854d44183b Add code to correctly probe all buses on the Intel XXPRESS motherboard.
Add a few Intel PCI chip-set names (VX) and fix Orion entries.
1997-05-30 21:01:47 +00:00
se
e0cae756d1 Remove use of intrec*, use void* instead.
Disable test entries for wired PCI devices on bus 1.
1997-05-30 20:58:04 +00:00
kato
da76705884 Synchronize with sys/i386/isa/isa.c revision up to 1.87. 1997-05-30 10:05:56 +00:00
kato
9cb73532ad Synchronize with sys/i386/i386/microtime.s revision 1.23. 1997-05-30 10:00:58 +00:00
kato
f4a833edc3 Synchronize with sys/i386/i386/trap.c revision 1.96. 1997-05-30 09:59:11 +00:00
kato
37507fd982 Synchronize with sys/i386/isa/clock.c and sio.c revisions 1.85 and
1.168, respectively.
1997-05-30 09:57:09 +00:00
tegge
ddd2ab1026 Don't remove the controlling tty from the session if the vnode is being
cleaned. This should help for PR kern/3581.
1997-05-29 13:29:13 +00:00
fsmp
587ca3db0a Code such as apic_base[APIC_ID] converted to lapic__id
Changes to pmap.c for lapic_t lapic && ioapic_t ioapic pointers,
currently equal to apic_base && io_apic_base, will stand alone with the
private page mapping.
1997-05-29 05:58:41 +00:00
fsmp
1d5eea67e2 apic.h now has structure definitions for both the local APIC and io APIC.
apic.h has defines like:
#define lapic__id       lapic->id

Once private pages and "known virtual addr" mapping of the APICs is
ready all 'lapic__XXX' will be changed to 'lapic.XXX', and the defines
will be removed.

Changes to smp.h for lapic_t lapic && ioapic_t ioapic pointers,
currently equal to apic_base && io_apic_base, will stand alone with the
private page mapping.
1997-05-29 05:57:43 +00:00
fsmp
9872779de2 Added code to manage the local and io APICs as structures. 1997-05-29 05:56:12 +00:00
peter
76a3a648cb remove no longer needed opt_smp.h includes 1997-05-29 05:11:11 +00:00
peter
4dd6bbc1f4 minor style police (recent divergence from KNF code) 1997-05-29 05:07:10 +00:00
peter
85a1abc657 remove opt_smp.h and fix the reason it was needed. 1997-05-29 05:04:30 +00:00
peter
37a0f54086 No longer need opt_smp.h here 1997-05-29 05:00:35 +00:00
peter
ee55041d22 remove opt_smp.h from this well-included file, minor style police 1997-05-29 04:58:04 +00:00
peter
d1a736837d remove opt_smp.h, minor style police 1997-05-29 04:55:39 +00:00
peter
007e29a189 Don't need "opt_smp.h" on these files 1997-05-29 04:52:04 +00:00
peter
9f6afc2b7f Don't refer to NCPU in extern decl for SMPruntime[] 1997-05-29 04:50:23 +00:00
peter
94e94a5dbf forward declare struct timeval so that pcibus.c doesn't get a warning.
(it doesn't #include <sys/time.h> since it doesn't need it)
1997-05-29 04:46:07 +00:00
peter
6f94abef97 Update the #include "opt_smpxxx.h" includes - opt_smp.h isn't needed
very much in the generic parts of the kernel now.
1997-05-29 02:57:22 +00:00
se
cb12eb9f1d Fix problem reported by PHK: Panic in pcic probe because of NULL pointer
dereference (head->next in intr_disconnect).
1997-05-28 22:11:00 +00:00
jmz
da224a2363 The correct way to combine 2 4bit values into a 8bit one is (a<<4) | b, not
(a<<8) || b.
The conical hat please!
1997-05-28 21:25:49 +00:00