freebsd-skq/sys/i386/include
Peter Wemm 6ccf265bb0 Commit Bosko's patch to clean up the PSE/PG_G initialization to and
avoid problems with some Pentium 4 cpus and some older PPro/Pentium2
cpus.  There are several problems, some documented in Intel errata.
This patch:
1) moves the kernel to the second page in the PSE case.  There is an
errata that says that you Must Not point a 4MB page at physical
address zero on older cpus.  We avoided bugs here due to sheer luck.
2) sets up PSE page tables right from the start in locore, rather than
trying to switch from 4K to 4M (or 2M) pages part way through the boot
sequence at the same time that we're messing with PG_G.

For some reason, the pmap work over the last 18 months seems to tickle
the problems, and the PAE infrastructure changes disturb the cpu
bugs even more.

A couple of people have reported a problem with APM bios calls during
boot.  I'll work with people to get this resolved.

Obtained from:	bmilekic
2003-10-01 23:46:08 +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 sys/sys/limits.h: 2003-05-19 20:29:07 +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 - Add support for PAE and more than 4 gigs of ram on x86, dependent on the 2003-03-30 05:24:52 +00:00
acpica_machdep.h Add a acpi_SetDefaultIntrModel() method to allow drivers to set the 2003-09-10 01:14:42 +00:00
apic.h Fix a typo. 2003-09-10 01:11:58 +00:00
apicreg.h Fix a typo. 2003-09-10 01:11:58 +00:00
apm_bios.h Remove __P. 2002-03-20 05:48:58 +00:00
apm_segments.h
asc_ioctl.h
asm.h Remove _ARCH_INDIRECT, it was the glue to enable having both hardware 2003-07-23 04:28:51 +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 Libdisk does not need to include <sys/diskslice.h> any more. 2003-04-04 16:35:16 +00:00
bus_at386.h Implement the bus_space_map() function to allocate resources and initialize 2003-09-23 08:22:34 +00:00
bus_dma.h - Introduce a new busdma flag BUS_DMA_ZERO to request for zero'ed 2003-07-27 13:52:10 +00:00
bus_memio.h
bus_pc98.h Implement the bus_space_map() function to allocate resources and initialize 2003-09-23 08:22:34 +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 Per TRB vote: restore the aquire_timer0 and associated goo. This will 2003-09-24 15:33:33 +00:00
comstats.h
cpu.h Further cleanup <machine/cpu.h> and <machine/md_var.h>: move the MI 2003-08-16 16:57:57 +00:00
cpufunc.h Backed out previous commit. This restores the warning about pessimized 2003-08-06 18:21:27 +00:00
cputypes.h Move a prototype to the least wrong place. 2002-08-02 18:45:43 +00:00
critical.h Expand inline the relevant parts of src/COPYRIGHT for Matt Dillon's 2003-08-12 23:24:05 +00:00
cronyx.h
db_machdep.h
dvcfg.h Remove __P. 2002-03-20 05:48:58 +00:00
elf.h Add sysentvec->sv_fixlimits() hook so that we can catch cases on 64 bit 2003-09-25 01:10:26 +00:00
endian.h Microoptimization to allow the compiler to evaluate ntohl() etc on 2003-09-22 21:46:47 +00:00
exec.h
float.h Implement fpclassify(): 2003-02-08 20:37:55 +00:00
floatingpoint.h o Move the contents of <machine/floatingpoint.h> over to 2003-01-19 06:01:33 +00:00
frame.h Initiate de-orbit burn for fpu-less operation. 386+387 is still 2003-07-22 08:11:17 +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 o Move the contents of <machine/floatingpoint.h> over to 2003-01-19 06:01:33 +00:00
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 - Rename nexus_pcib to legacy_pcib. I've been meaning to do this for a 2003-06-06 17:56:30 +00:00
limits.h sys/sys/limits.h: 2003-05-19 20:29:07 +00:00
md_var.h - Add ss2_pagezero() for zeroing pages using the movnti instruction. This 2003-10-01 05:25:27 +00:00
metadata.h Slight reorg and added AMD64 support. A couple of the MODINFOMD_* values 2003-05-01 03:31:18 +00:00
mpapic.h
mptable.h Commit Bosko's patch to clean up the PSE/PG_G initialization to and 2003-10-01 23:46:08 +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 Migrate the thread stack management functions from the machine-dependent 2003-06-14 23:23:55 +00:00
pcaudioio.h
pcb_ext.h Remove __P. 2002-03-20 05:48:58 +00:00
pcb.h - On my Pentium4-M laptop, invalpg takes ~1100 cycles if the page is found in 2003-09-30 08:11:36 +00:00
pci_cfgreg.h Fix a busted constant related to PCI configuration acess method #1. The 2003-09-18 17:00:03 +00:00
pcpu.h Detour via (void *) to defeat gcc's strict-aliasing warnings when using 2003-07-30 00:04:58 +00:00
pcvt_ioctl.h
pecoff_machdep.h
perfmon.h Remove __P. 2002-03-20 05:48:58 +00:00
physio_proc.h Don't include <sys/buf.h> needlessly. 2003-04-01 09:02:58 +00:00
pmap.h Commit Bosko's patch to clean up the PSE/PG_G initialization to and 2003-10-01 23:46:08 +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 Use C99 compatable asm statements. 2003-06-02 00:29:35 +00:00
psl.h
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 Add constants for entries in the IDT and use those instead of magic 2003-09-10 01:07:04 +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
smapi.h Use __packed; 2003-03-24 20:44:39 +00:00
smp.h Commit a partial lazy thread switch mechanism for i386. it isn't as lazy 2003-04-02 23:53:30 +00:00
smptests.h Clean up some junk defines, and GC the TPR options. 2003-01-23 01:04:27 +00:00
speaker.h Very minor whitespace/style nit. 2002-10-23 10:14:30 +00:00
specialreg.h - Add macros describing some new MSR's in the Pentium 4 and some older 2003-08-15 15:24:23 +00:00
spigot.h
stdarg.h Fix for non-GCC compilers. 2002-11-27 16:28:18 +00:00
sysarch.h Allow foot shooting as Linux emulation needs it. 2003-08-04 19:11:56 +00:00
trap.h
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 Standardize idempotentcy ifdefs. Consistently use _MACHINE_VARARGS_H_ 2003-09-01 03:01:45 +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 Commit Bosko's patch to clean up the PSE/PG_G initialization to and 2003-10-01 23:46:08 +00:00
wtio.h