Commit Graph

836 Commits

Author SHA1 Message Date
fvdl
a4880cb372 Export the ioapic softc linked list, for the benefit of the mpbios code. 2003-01-12 23:20:17 +00:00
fvdl
3cef21b0f5 Pass acpi_softc down to mpacpi functions. 2003-01-10 00:45:52 +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
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
kristerw
2ae40935fb The correct way to decorate objects with attributes is to use __attribute__
instead of the synonyms understood by gcc.
2002-12-28 20:11:57 +00:00
gmcgarry
7443ad1b01 Move to MI runqueue functions. 2002-12-17 19:47:15 +00:00
jdolecek
30f7194bc4 use the __HAVE_CPU_MAXPROC hook to limit kern.maxproc to number
of available GDT slots
add code in init386() to force maxproc to be maximum cpu_maxproc()

this fixes port-i386/1635 by John Kohl
2002-12-16 18:31:08 +00:00
fvdl
4bd73a650e Remove leftover declarations used for debugging purposes only. 2002-12-16 16:22:50 +00:00
christos
09e9a5cde9 This new file is wanted by compat_darwin. 2002-12-12 17:41:53 +00:00
joda
86b7f22e4f cpuid feature bit 30 is set on IA-64 (in x86 mode) 2002-12-11 13:50:14 +00:00
fvdl
a167f47c0c Since a CPU may spin waiting for another CPU to handle an IPI, an
IPI must be the very first thing to be handled in splx(), if it
had been blocked before. Change things around a bit to guarantee
this.
2002-12-11 12:02:07 +00:00
thorpej
e8cc3884de Rename __LDPGSZ to AOUT_LDPGSZ, to accurately reflect what it is. 2002-12-10 17:14:02 +00:00
thorpej
78ea2dd367 Use __LDPGSZ (which must be == USRTEXT) as the text address for a.out
executables, and eliminate the USRTEXT constant, which was only used
by the a.out exec code.
2002-12-10 05:14:24 +00:00
junyoung
6e278393ba Don't pollute struct cpu_info with throwaway variables. 2002-12-06 14:47:07 +00:00
junyoung
281fa073dc Display the extended feature flags with non-Intel processors rather than
the standard flags. See also PR#19163.

Before:

cpu0: AMD Athlon XP 1800+ (686-class), 1532.11 MHz
cpu0: features 383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR>
cpu0: features 383f9ff<PGE,MCA,CMOV,FGPAT,PSE36,MMX>
cpu0: features 383f9ff<FXSR,SSE>

After:

cpu0: AMD Athlon XP 1800+ (686-class), 1532.11 MHz
cpu0: features c3cbf9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR>
cpu0: features c3cbf9ff<PGE,MCA,CMOV,PAT,PSE36,MPC,MMXX,MMX>
cpu0: features c3cbf9ff<FXSR,SSE,3DNOW2,3DNOW>

While I'm here, amd_cpuid_cpu_cacheinfo() is an info function rather
than a probe function.
2002-12-06 02:38:25 +00:00
junyoung
a2a55f2564 - FGPAT -> PAT, as documented in Intel manual.
- Feature flag 31 is "Signal Break on FERR" (SBF).
2002-12-05 17:25:26 +00:00
fvdl
8848e366f2 For softints, there's no intrframe on the stack, so don't try to use it.
Use a seperate lock function (in taking the same lock) instead.
2002-12-01 00:15:36 +00:00
fvdl
1e23499b18 Make biosgeom struct packed, so that it works out on x86_64. 2002-11-30 13:46:26 +00:00
fvdl
6da8034165 Think before committing.. previous wasn't actually needed, the values are
guaranteed to fit in 32 bits when loading the kernel into physmem,
and it avoids bootloader incompatibility.
2002-11-29 19:38:24 +00:00
fvdl
6f923c1495 Use long for ssym and esym in btinfo_symtab, so that it works out for
both i386 and x86_64.
2002-11-29 19:33:26 +00:00
fvdl
f91cba76ea Add ci_apicid field. 2002-11-28 21:43:55 +00:00
fvdl
18ad7e80b6 Specify the interrupt frame as the argument to i386_int(un)lock. 2002-11-27 00:41:59 +00:00
lukem
0635de35a3 Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more. 2002-11-26 23:30:07 +00:00
fvdl
e5a9ffde7a Remove "ioapic.h" include, and always include the intr_find_mpmapping
prototype; it's not worth the extra bytes to avoid including this.
2002-11-23 10:37:09 +00:00
lha
2943f5e96b install intrdefs.h so it can be used by intr.h (and libkvm) 2002-11-23 05:33:11 +00:00
fvdl
23fb62d8f1 Removed unused function. From kristerw. 2002-11-22 21:21:13 +00:00
fvdl
ae4b76c8d3 New interrupt code. The basic idea behind it is to hide the differences
in interrupt controllers in struct pic, and try to keep as much
common code as possible. At the lowest (asm) level, this is done
with CPP macros.

The main structure is now struct intrsource, describing an established
interrupt line, of any kind (soft/hard local apic/legacy apic/IO apic).
For quick masking, there may be a maximum of 32 sources per CPU.
Sources can be assigned to any CPU in the MP case, though currently they
all go to the boot CPU.
2002-11-22 15:23:35 +00:00
fvdl
88fb7f6d27 Define a generic PIC structure, used by the interrupt code. 2002-11-22 15:07:58 +00:00
fvdl
99dccacc3c Interrupt defines that needed to be in a seperate file to avoid cyclic
includes.
2002-11-22 15:07:38 +00:00
fvdl
65d1332692 Asm macros for interrupt/trap entry/exit, used in multiple .S files. 2002-11-22 15:07:10 +00:00
perry
c8815bffa1 1) egg, meet face. face, meet egg.
2) re-UL KERNBASE, but this time, protect it with #ifndef _LOCORE so we
   don't get a big kaboom in .S files.
2002-11-02 17:30:15 +00:00
kristerw
7f2e5abcf1 Revert previous. The assembler bombs on UL integer suffix. 2002-11-02 11:55:24 +00:00
perry
1547f39c5a /*CONTCOND*/ a while (0) macro 2002-11-02 07:15:07 +00:00
perry
7c42625da4 define KERNBASE with a UL -- eliminates 830 or so lines of lint. 2002-11-02 07:09:23 +00:00
perry
fa3fedc290 /*ARGSUSED*/ one function -- eliminates 414 lint complaints 2002-11-02 07:07:09 +00:00
fvdl
5fca9b943c Make splsched == splclock, and splserial > splsched. Unfortunately,
we have to retain the 'pick unlocked interrupt handler' hack for
the MP case for now.
2002-11-01 01:12:43 +00:00
manu
9b4f3b0464 Introduce an array of supported CPU types by a given arch for Mach-O 2002-10-29 22:22:30 +00:00
fvdl
526dd035ea Add macros for cpuid family/step, etc shifting. Moved here from
machdep.c.
2002-10-25 12:00:11 +00:00
takemura
900b200c92 Moved MI APM definitions into dev/apm. 2002-10-14 02:08:37 +00:00
yamt
3458b8fb93 re-do my previous commit correctly 2002-10-12 14:30:08 +00:00
yamt
663d2c5069 override KSTACK_LOWEST_ADDR and KSTACK_SIZE for redzone. 2002-10-11 17:49:11 +00:00
fvdl
0753142b7c Add NetBSD RCS Id. 2002-10-11 14:22:56 +00:00
fvdl
1e51cd72a0 Delete pcb_flags. 2002-10-08 20:24:58 +00:00
fvdl
d1cbc91464 Remove ci_lapic_ints from struct cpu_info again, it isn't needed anymore. 2002-10-06 20:40:27 +00:00
fvdl
3319c2f2dc Add cpu_id field to mp_intr_map structure. Declare mp_nintr. 2002-10-06 20:39:33 +00:00
fvdl
be146319cd Keep size of struct cpu_info independent of DIAGNOSTIC/LOCKDEBUG
(was done in rev. 1.81, got lost in the MP merge).
2002-10-06 18:31:21 +00:00
fvdl
85eaacd06e Add per-CPU local apic redir table (2 pointers). 2002-10-06 14:28:17 +00:00
fvdl
a2e301721c cpu_swapin now exists, so remove the empty define. 2002-10-06 12:37:35 +00:00
fvdl
2560973204 If NOREDZONE is defined, keep UPAGES at 2 as before. 2002-10-06 12:37:12 +00:00
fvdl
1176155ea2 Protect against multiple inclusion. 2002-10-05 21:27:52 +00:00