freebsd-nq/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
_inttypes.h
_limits.h sys/sys/limits.h: 2003-05-19 20:29:07 +00:00
_stdint.h
_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
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
atomic.h
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
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
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
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
i4b_debug.h
i4b_ioctl.h
i4b_rbch_ioctl.h
i4b_tel_ioctl.h
i4b_trace.h
ieeefp.h o Move the contents of <machine/floatingpoint.h> over to 2003-01-19 06:01:33 +00:00
if_wl_wavelan.h
in_cksum.h
ioctl_bt848.h
ioctl_ctx.h
ioctl_meteor.h
kse.h
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
npx.h
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
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
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
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
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
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
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
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