Commit Graph

34245 Commits

Author SHA1 Message Date
fvdl
a23660903d Add code to configure cpus, ioapics and interrupt wiring using ACPI.
Shuffle some code around so that this an exist as a method next
to mpbios, both creating the same data structures. If both are
defined, try ACPI first.
2003-01-07 18:54:08 +00:00
fvdl
d2dfe3f39a Define acpi_md_callback. It retrieves interrupt routing info if the MP
BIOS wasn't already used for that (currently won't happen; ACPI gets
to try first if configured).
2003-01-07 18:52:43 +00:00
fvdl
501607aeed Disable ExtINT by default when using I/O APICs. 2003-01-07 18:51:15 +00:00
fvdl
f33d911ff7 Don't use any cpu_info structures until at least one CPU was attached. 2003-01-07 18:50:13 +00:00
fvdl
c2ff6d5b83 Add various external declarations to accomodate ACPI MP probing as an
alternate method to MPBIOS probing. Move some stuff common to the two
methods into mpconfig.h
2003-01-07 18:48:44 +00:00
mrg
88f08d9ac1 - add a new message tag for level15 software NMI, and switch ddb to use this
rather than the level13 software intr xpmsg area.  now DDB IPI's don't lock
the xpmsg_lock and we avoid recursion and more.
- don't actually use cpuinfo.msg.lock yet, xpmsg_lock suffices.
- reread the pending register on mbus hypersparc cpus to avoid bugs in the
h/w that cause IPI's to be missed.
2003-01-07 16:20:13 +00:00
pk
02d686d112 Simplify ddb register storage setup: remove MULTIPROCESSOR special cases
and keep the ddb register copies on the current stack always.
2003-01-07 16:03:03 +00:00
pk
469014c2cd * Maintain a pointer to the cpu_info structure of the CPU being examined.
* Force cpu_Debugger() to have a stack frame, so tracing can at least
  start off matching arguments and function calls correctly.
2003-01-07 15:15:06 +00:00
pk
004dd5ecba #include <sys/kernel.h> for `cold'. 2003-01-07 13:12:59 +00:00
pk
63b5299d1e Let all CPUs play.. 2003-01-07 12:09:00 +00:00
pk
e1dfbff267 xcall: use splclock() to prevent interrupts that want the kernel lock. 2003-01-07 10:57:18 +00:00
mrg
141297688f revert (most of) previous 2003-01-07 10:31:56 +00:00
itohy
87d5eedbbb Delete reference to astpending, which doesn't exist any longer. 2003-01-07 09:57:01 +00:00
mrg
c0338e49bf don't do the xcall() dance on sun4d for the cache flushing, but do make
sure we're only doing one flush at a time...
2003-01-07 05:57:37 +00:00
jmcneill
4d08051d29 *soren* remember <SPACE><TAB> in config files :-)
Space-Tab-ify ACPI examples.
2003-01-07 03:19:38 +00:00
aymeric
295b9d4d25 fake up a dv_cfdriver entry before calling config_search().
config_search() does not do the lookup for us anymore.
2003-01-07 00:13:19 +00:00
reinoud
cb83efc9b8 Fix miscelanious small errors that arose from having non Mb aligned memory
for the videoscreen.
2003-01-06 22:46:36 +00:00
wiz
1035faff1d writable, not writeable. 2003-01-06 20:30:28 +00:00
pk
0a66c7efe5 Protect FPU context switching with its own lock. 2003-01-06 18:32:31 +00:00
reinoud
7cffe83841 Small fixes that showed up during boot-testing of a Pace DSL4000 running
the RISC OS-STB 4.0.0 version of RISC OS.
2003-01-06 18:22:00 +00:00
lukem
4bb41ae2f2 Rework how KERNOBJDIR functions; now it's always determined with
cd ${KERNSRCDIR}/${KERNARCHDIR}/compile && ${PRINTOBJDIR}
This is far simpler than the previous system, and more robust with
objdirs built via BSDOBJDIR.

The previous method of finding KERNOBJDIR when using BSDOBJDIR by
referencing _SRC_TOP_OBJ_ from another directory was extremely
fragile due to the depth first tree walk by <bsd.subdir.mk>, and
the caching of _SRC_TOP_OBJ_ (with MAKEOVERRIDES) which would be
empty on the *first* pass to create fresh objdirs.

This change requires adding sys/arch/*/compile/Makefile to create
the objdir in that directory, and descending into arch/*/compile
from arch/*/Makefile.  Remove the now-unnecessary .keep_me files
whilst here.

Per lengthy discussion with Andrew Brown.
2003-01-06 17:40:18 +00:00
reinoud
3630c2d8c4 Remove loadfile_machdep.h from being installed 2003-01-06 17:00:12 +00:00
mrg
675149a358 - md_fpumid = -1 => md_fpu = NULL, in some #ifdef FPU_DEBUG code
- only call KERNEL_PROC_UNLOCK() if we called KERNEL_PROC_LOCK() originally.
2003-01-06 14:16:10 +00:00
wiz
c053751628 compatibility, not compatiblity. 2003-01-06 13:26:24 +00:00
wiz
4824190751 transmission, not transmition. 2003-01-06 13:17:01 +00:00
wiz
c6f1277bfa synchronous, not syncronous. 2003-01-06 13:10:25 +00:00
wiz
7e681f7063 interrupt with two rs. 2003-01-06 13:04:54 +00:00
pk
67998a8646 Move schedintr() to clock.c and initialise schedhz in initclocks(), so
these are available to all timer implementations.
2003-01-06 12:50:43 +00:00
wiz
45ad5c9584 successful with only one l. 2003-01-06 12:46:05 +00:00
wiz
5e442fbbdd specified, not specifed. 2003-01-06 12:38:47 +00:00
wiz
5a91827c81 through, not throught. 2003-01-06 12:29:48 +00:00
pk
9a9c991837 Fix SP tlb_flush_{ctx,all} macros. 2003-01-06 12:10:46 +00:00
wiz
9a3f5034cf No more opms on i386. 2003-01-06 11:31:39 +00:00
rafal
b892fa21e2 There's no cache_r5k.h yet, so don't try to include it. 2003-01-06 06:25:32 +00:00
rafal
0098f248ba PCI fixup code for the O2. Tested with a range of 32 and 64-bit network
cards, but not much else.  Seems to work fairly well, though.
2003-01-06 06:21:11 +00:00
rafal
c21021e6fb Improve the interrupt code somewhat by having callers of xxx_intr_establish
pass in an interrupt handle (which is currently to the CRIME interrupt the
device is attached to) so the interrupt handlers know which device was the
one looking for attention.

While here, fix up PCI interrupt routing for both the on-board devices and
the PCI slots -- even though there is only one PCI slot in the chasis, the
hardware can accomodate up to three and provides an interrupt mapping for
all the PCI interrupt pins for both the internal SCSI & PCI slot and the
two "extra" slots.
2003-01-06 06:19:40 +00:00
rafal
b0e9963d23 Don't shift the pending interrupt bitmask passed to crime_intr() so it can
associate pending interrupts with the proper sources.  Add some comments to
the vestigal ip32_intr_establish() on what it really *should* do.
2003-01-06 05:59:34 +00:00
rafal
1e74cf4267 Postpone DDB/KGDB init until we know the machine type, so the debugger can
be attached to the right place, twiddle the right watchdog registers, etc.
2003-01-06 05:56:00 +00:00
reinoud
340ca7145e We have version 3.02 now : just a small fix for bootkernel name guessing. 2003-01-06 02:54:03 +00:00
sommerfeld
52b083a154 Add symbolic names for MSR's used by SYSENTER/EXIT.
(I was experimenting a while back, might as well commit this one file..)
2003-01-05 22:47:13 +00:00
christos
a731ae7dc4 add ACPIVERBOSE [commented out] 2003-01-05 22:31:13 +00:00
jmcneill
65c6c82f48 Document all known ACPI devices and options (disabled by default). 2003-01-05 21:44:32 +00:00
pk
9df7616ed3 Combine the various sun4m/sun4d TLB flush routines into a hand-coded
assembler version.
2003-01-05 19:38:42 +00:00
pk
c0142e4ded Print the cpu number in many pmapdebug-controlled debug traces. 2003-01-05 19:31:12 +00:00
pk
113229a2cb trap(T_FPE): reset the `p_md.md_fpu' when preempting the FPU. 2003-01-05 19:26:17 +00:00
briggs
6e51b83bf3 Add mlx. Pointed out by Daniel Eggert in PR 18487. 2003-01-05 19:21:44 +00:00
takemura
cfbbdd3ae0 Fixed threshold value for Vrc4173 PIU. 2003-01-05 08:41:54 +00:00
thorpej
1106d42424 On the IBM 4xx, don't enter DDB on user mode traps. Fixes
port-powerpc/19662.

Some minor cleanup while here.
2003-01-04 23:46:11 +00:00
tsutsui
0d588a6b61 Add options MIIVERBOSE. 2003-01-04 21:09:31 +00:00
pk
3e2e9af6c9 Grab the kernel lock on interrupts at level IPL_CLOCK and lower. 2003-01-04 19:25:36 +00:00