freebsd-skq/sys/i386/include
bde 74861d13fa Remove all kernel uses of pcb_psl, but keep in in the struct to
preserve the ABI and API for applications.  It was removed in the port
to amd64, but was remained as garbage giving a micro-pessimization and
spurious single-step traps on i386.

pcb_psl was intended to be used just to do a context switch of PSL_I,
but this context switch was null in most or all versions, and
mis-switching of PSL_T was done instead.

Some history:
- in 386BSD-0.0, cpu_switch() ran at splhigh() and splhigh() did too
  much interrupt disabling, so interrupts were hard-disabled across
  cpu_switch() and too many other places
- in 386BSD-0.0-patchkit through FreeBSD-4 and FreeBSD-5 before
  SMPng, splhigh() did soft interrupt masking, and cpu_switch() was
  excessively cautious and did a cli at the start and a sti at the
  end to hard-disable interrupts across the switch
- SMPng replaced the spl's and cli's by spinlocks (just sched_lock?),
  so interrupts were hard-disabled across cpu_switch() and too many
  other places again
- initial attempts to fix this intended to restore some soft
  interrupt disabling, but to support variations in this cpu_switch()
  used pushfl/popfl into pcb_psl to avoid hard-coding the assumption
  that the initial and final states have PSL_I enabled.  But the
  version with soft interrupt disabling wasn't used for long, or was
  never committed, (except I always used my different version of it
  for UP) so the pushfl/popl and pcb_psl to hold them have been doing
  less than nothing for about 14 years.
2016-09-17 14:00:52 +00:00
..
pc Add more UEFI/e820 memory types from latest specifications. 2016-07-24 09:15:11 +00:00
xen xen/i386: enable the platform hypercall for i386 2016-05-03 08:05:14 +00:00
_align.h
_bus.h
_inttypes.h
_limits.h
_stdint.h
_types.h
acpica_machdep.h
apm_bios.h
apm_segments.h
asm.h Revert r274772: it is not valid on MIPS 2014-11-25 03:50:31 +00:00
asmacros.h Use movw instead of movl (or plain mov) when moving segment registers 2015-10-29 21:25:46 +00:00
atomic.h atomic: Add testandclear on i386/amd64 2016-05-16 07:19:33 +00:00
bootinfo.h
bus_dma.h
bus.h
clock.h
counter.h Replace a number of conflations of mp_ncpus and mp_maxid with either 2016-07-06 14:09:49 +00:00
cpu.h
cpufunc.h The prefix for CLFLUSHOPT is 0x66. It was right on amd64. 2015-10-30 09:53:33 +00:00
cputypes.h Remove 'cpu' and 'cpu_class' on amd64. 2016-09-15 17:05:54 +00:00
cserial.h
db_machdep.h Abort single stepping in ddb if the trap is not for single-stepping. 2016-09-15 17:24:23 +00:00
dump.h Factor out duplicated code from dumpsys() on each architecture into generic 2015-01-07 01:01:39 +00:00
elan_mmcr.h
elf.h
endian.h
exec.h
fdt.h
float.h
floatingpoint.h
frame.h Duplicate the copyright from the i386/i386/machdep.c into 2015-07-10 09:15:06 +00:00
gdb_machdep.h Report the values of x86 segment registers to remote debuggers. 2015-06-12 15:14:08 +00:00
ieeefp.h
if_wl_wavelan.h
in_cksum.h Rationalize BSD license on sys/*/include/in_cksum.h 2015-08-05 19:05:12 +00:00
intr_machdep.h Fix build for !SMP kernels after the Xen MSIX workaround. 2016-08-22 21:23:17 +00:00
ioctl_bt848.h
ioctl_meteor.h
iodev.h
kdb.h
limits.h
md_var.h Remove 'cpu' and 'cpu_class' on amd64. 2016-09-15 17:05:54 +00:00
memdev.h
metadata.h Move amd64 metadata.h to x86 and share with i386 2016-01-07 19:47:26 +00:00
minidump.h
mp_watchdog.h
nexusvar.h
npx.h Provide npx_get_fsave(9) and npx_set_fsave(9) functions to obtain and 2015-06-29 12:06:36 +00:00
ofw_machdep.h
param.h Give large kernel stack to the initial thread . Otherwise, ZFS 2015-08-04 13:50:52 +00:00
pcaudioio.h
pcb_ext.h
pcb.h Remove all kernel uses of pcb_psl, but keep in in the struct to 2016-09-17 14:00:52 +00:00
pci_cfgreg.h
pcpu.h Add two new pmap functions: 2015-08-04 19:46:13 +00:00
perfmon.h
pmap.h Remove support for idle page zeroing. 2016-09-03 20:38:13 +00:00
pmc_mdep.h Use single instance of the identical INKERNEL() and PMC_IN_KERNEL() 2015-07-02 14:37:21 +00:00
ppireg.h
proc.h
profile.h
psl.h
ptrace.h
pvclock.h Generalized parts of the XEN timer code into a generic pvclock 2015-02-04 08:26:43 +00:00
reg.h
reloc.h
resource.h
runq.h
segments.h Remove support for Xen PV domU kernels. Support for HVM domU kernels 2015-04-30 15:48:48 +00:00
setjmp.h
sf_buf.h Merge all MD sf_buf allocators into one MI, residing in kern/subr_sfbuf.c 2014-08-05 09:44:10 +00:00
sigframe.h
signal.h
smapi.h
smp.h Merge common parts of i386 and amd64 md_var.h and smp.h into 2015-12-07 17:41:20 +00:00
speaker.h
specialreg.h
stack.h Merge stack(9) implementations for i386 and amd64 under x86/. 2015-09-11 03:24:07 +00:00
stdarg.h
sysarch.h
timerreg.h
trap.h
tss.h
ucontext.h
varargs.h
vdso.h
vm86.h
vm.h Reassign copyright statements on several files from Advanced 2015-04-23 14:22:20 +00:00
vmparam.h Retire VM_FREEPOOL_CACHE as the next step in eliminating PG_CACHE pages. 2015-06-08 04:59:32 +00:00
xbox.h