freebsd-nq/sys/i386/include
John Baldwin f4b4a64293 Enumerate logical hyperthread CPUs manually if they aren't already listed
in the mptable.  The way this works is that we determine if the system
has hyperthreading and how many logical CPU's should be in each physical
CPU by using the information returned by cpuid.  During the first pass of
the mptable, we build a bitmask of the APIC IDs of the CPUs listed in the
mptable.  We then scan that bitmask to see if the CPUs are already listed
by the mptable, or if there are any APIC IDs already in use that would
conflict with the APIC IDs of the logical CPUs.  If that test succeeds,
then we fixup the count of application processors.  Later on during the
second pass of the mptable we create fake processor entries for logical
CPUs and add them to the system.

We only need this type of fixup hack when using the mptable to enumerate
CPUs.  The ACPI MADT table properly enumerates all logical CPUs.
2003-01-08 01:33:18 +00:00
..
pc Removed bits related to MBRs now that they have a proper home in 2002-10-02 03:29:00 +00:00
_inttypes.h Since printf(3) now supports the `j' conversion specifier, use that 2002-06-30 05:48:03 +00:00
_limits.h Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
_stdint.h Create a new header <machine/_stdint.h> for storing MD parts of 2002-07-29 17:41:23 +00:00
_types.h Use long long to indicate 64bitness in #ifdef lint. 2002-10-01 14:07:18 +00:00
acpica_machdep.h Resolve conflicts arising from the ACPI CA 20020725 import. 2002-07-30 19:35:32 +00:00
apic.h Introduce a standard name for the lock protecting an interrupt controller 2001-12-20 23:48:31 +00:00
apicreg.h Introduce a standard name for the lock protecting an interrupt controller 2001-12-20 23:48:31 +00:00
apm_bios.h Remove __P. 2002-03-20 05:48:58 +00:00
apm_segments.h
asc_ioctl.h
asm.h PIC_GOTOFF is OBE. 2002-09-23 07:27:45 +00:00
asmacros.h Silence preprocessor warning, No need to use CONCAT with "," and "word". 2002-06-01 20:22:33 +00:00
atomic.h Add a knob to turn on and off the CMPXCHG instruction on > i386 IA32 systems. 2002-10-14 19:33:12 +00:00
bootinfo.h
bus_at386.h Warnings and lint-assisting fixes; mark unused function parameters as 2002-07-15 13:25:15 +00:00
bus_dma.h New bus_dma interfaces for use by crypto device drivers: 2002-10-04 20:40:39 +00:00
bus_memio.h
bus_pc98.h Remove unneeded ## for GCC 3.1 2002-05-21 12:50:20 +00:00
bus_pio.h
bus.h Add the following functions/macros to support byte order conversions and 2002-02-27 17:16:18 +00:00
cdk.h
clock.h Remove __P. 2002-03-20 05:48:58 +00:00
comstats.h
cpu.h Remove __P. 2002-03-20 05:48:58 +00:00
cpufunc.h Create inlines for ltr(sel), lldt(sel), lidt(addr) rather than 2002-09-22 04:45:21 +00:00
cputypes.h Move a prototype to the least wrong place. 2002-08-02 18:45:43 +00:00
critical.h Remove the critmode sysctl - the new method for critical_enter/exit (already 2002-07-10 20:15:58 +00:00
cronyx.h
db_machdep.h Fill out some gaps in ia64 DDB support. This involves generalising DDB's 2001-09-15 11:06:07 +00:00
dvcfg.h Remove __P. 2002-03-20 05:48:58 +00:00
elf.h Move the definition of ElfN_Hashelt to common headers. The only platform 2002-05-30 08:32:18 +00:00
endian.h Be careful not to define GCC-specific optimizations in the non-GCC 2002-09-23 04:32:17 +00:00
exec.h
float.h Use the correct values for LDBL_*. Libc doesn't completely support 2002-10-25 07:02:52 +00:00
floatingpoint.h Fixed the return value of fpsetmask(). The API requires inversion of the 2002-06-01 17:39:46 +00:00
frame.h Remove __P. 2002-03-20 05:48:58 +00:00
gsc.h
i4b_cause.h Clean up the i4b kernel part: remove unmaintained #if(def)s for NetBSD, 2002-03-17 09:33:15 +00:00
i4b_debug.h Clean up the i4b kernel part: remove unmaintained #if(def)s for NetBSD, 2002-03-17 09:33:15 +00:00
i4b_ioctl.h add support properly displaying and logging incoming telephone numbers (MSNs) 2002-08-12 07:53:55 +00:00
i4b_rbch_ioctl.h Clean up the i4b kernel part: remove unmaintained #if(def)s for NetBSD, 2002-03-17 09:33:15 +00:00
i4b_tel_ioctl.h Clean up the i4b kernel part: remove unmaintained #if(def)s for NetBSD, 2002-03-17 09:33:15 +00:00
i4b_trace.h Clean up the i4b kernel part: remove unmaintained #if(def)s for NetBSD, 2002-03-17 09:33:15 +00:00
ieeefp.h
if_wl_wavelan.h Fix typo in the BSD copyright: s/withough/without/ 2002-06-02 20:05:59 +00:00
in_cksum.h Fix several bugs in the i386 asm statements used to speed up Internet 2002-06-22 22:35:53 +00:00
ioctl_bt848.h
ioctl_ctx.h
ioctl_meteor.h
kse.h Add files that are new for KSE. 2002-06-29 07:04:59 +00:00
legacyvar.h Add a new legacy(4) device driver for use on machines that do not have 2002-09-23 15:50:06 +00:00
limits.h Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
md_var.h Add a cpuid_cpuinfo variable to hold the results of %ebx from cpuid with 2003-01-08 01:20:05 +00:00
mpapic.h
mptable.h Enumerate logical hyperthread CPUs manually if they aren't already listed 2003-01-08 01:33:18 +00:00
mtpr.h
mutex.h GC #if 0'd assembly mutex micro operations. If someone wants to bring 2002-03-28 15:14:23 +00:00
npx.h At great personal risk, add a __packed and __aligned(x) define that 2002-09-23 05:55:10 +00:00
param.h Initiate deorbit burn for the i386-only a.out related support. Moves are 2002-09-17 01:49:00 +00:00
pcaudioio.h
pcb_ext.h Remove __P. 2002-03-20 05:48:58 +00:00
pcb.h 1.Fix smp race between kernel vm86 BIOS calling and userland vm86 mode code, 2002-11-07 01:34:23 +00:00
pci_cfgreg.h Add a function pci_probe_route_table() that returns true if our PCI BIOS 2002-09-06 22:15:44 +00:00
pcpu.h A more lint friendly #ifdef lint section. 2002-10-01 14:01:58 +00:00
pcvt_ioctl.h
pecoff_machdep.h
perfmon.h Remove __P. 2002-03-20 05:48:58 +00:00
physio_proc.h Remove __P. 2002-03-20 05:48:58 +00:00
pmap.h o Introduce pmap_page_is_mapped(). Its purpose is to obsolete 2002-08-05 03:40:28 +00:00
privatespace.h Overhaul the per-CPU support a bit: 2001-12-11 23:33:44 +00:00
proc.h Note that the sched_lock protects md_ldt of struct mdproc. 2002-10-25 20:06:16 +00:00
profile.h Fix a declaration that is actually supposed to be a macro definition. 2002-09-25 13:46:23 +00:00
psl.h Allow bit 21 of EFLAGS register (PSL_ID) be changed in the use-mode without 2001-11-15 23:01:29 +00:00
ptrace.h Move the definition of PT_[GS]ET{,DB,FP}REGS from the MD ptrace.h to the 2002-03-16 00:25:53 +00:00
reg.h Properly parenthesize the DBREG_DRX macro's variables to allow for 2002-11-07 22:42:31 +00:00
reloc.h
resource.h
runq.h Move the "- 1" into the RQB_FFS(mask) macro itself so that 2002-06-20 06:21:20 +00:00
segments.h ISMEMSDP(), IS286GDP(), IS386GDP(), ISGDP(), ISSDP() and ISSYSSDP() are 2002-09-26 05:07:41 +00:00
setjmp.h Fix namespace issues by using visibility conditionals from 2002-10-05 05:47:56 +00:00
sigframe.h Split 4.x and 5.x signal handling so that we can keep 4.x signal 2002-10-25 19:10:58 +00:00
signal.h Align the FPU state in the ucontext and sigcontext to 16 bytes 2002-12-02 19:58:55 +00:00
smp.h Add the !define(COMPILING_LINT) 2002-10-17 18:17:28 +00:00
smptests.h Remove #define APIC_INTR_HIGHPRI_CLOCK - this is no longer used 2002-07-08 09:14:01 +00:00
speaker.h Very minor whitespace/style nit. 2002-10-23 10:14:30 +00:00
specialreg.h - Fix the name of the hyperthreading cpuid feature flag to be HTT instead 2003-01-08 01:15:26 +00:00
spigot.h
stdarg.h Fix for non-GCC compilers. 2002-11-27 16:28:18 +00:00
sysarch.h There is no need for start/num to be signed in i386_ldt_args. 2002-09-28 20:42:04 +00:00
trap.h Activate SSE/SIMD. This is the extra context switching support that 2001-07-12 06:32:51 +00:00
tss.h Delete a whole bunch of compatability defines that we dont use anymore. 2002-09-23 05:04:05 +00:00
ucontext.h Align the FPU state in the ucontext and sigcontext to 16 bytes 2002-12-02 19:58:55 +00:00
varargs.h Add conditionals to allow va_list to be defined in other headers. 2002-10-06 22:02:06 +00:00
vm86.h 1.Fix smp race between kernel vm86 BIOS calling and userland vm86 mode code, 2002-11-07 01:34:23 +00:00
vmparam.h
wtio.h