freebsd-nq/sys/i386/include
Peter Wemm 6bd95d70db Work-in-progress commit syncing up pmap cleanups that I have been working
on for a while:
- fine grained TLB shootdown for SMP on i386
- ranged TLB shootdowns.. eg: specify a range of pages to shoot down with
  a single IPI, since the IPI is very expensive.  Adjust some callers
  that used to trigger this inside tight loops to do a ranged shootdown
  at the end instead.
- PG_G support for SMP on i386 (options ENABLE_PG_G)
- defer PG_G activation till after we decide what we are going to do with
  PSE and the 4MB pages at the start of the kernel.  This should solve
  some rumored strangeness about stale PG_G entries getting stuck
  underneath the 4MB pages.
- add some instrumentation for the fine TLB shootdown
- convert some asm instruction wrappers from functions to inlines.  gcc
  seems to do a fair bit better with this.
- [temporarily!] pessimize the tlb shootdown IPI handlers.  I will fix
  this again shortly.

This has been working fairly well for me for a while, but I have tweaked
it again prior to commit since my last major testing round.  The only
outstanding problem that I know of is PG_G related, which is why there
is an option for it (not on by default for SMP).  I have seen a world
speedups by a few percent (as much as 4 or 5% in one case) but I have
*not* accurately measured this - I am a bit sceptical of these numbers.
2002-02-25 23:49:51 +00:00
..
pc Fixed to draw mouse cursor. The syscons driver for PC98 uses different 2001-12-14 15:27:15 +00:00
_inttypes.h o Add new header <sys/stdint.h>. 2001-11-02 18:05:43 +00:00
_limits.h o Add new header <sys/stdint.h>. 2001-11-02 18:05:43 +00:00
ansi.h Resurrect one of the easiest changes from my big include files roll-up 2002-02-15 22:15:39 +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 Add output of per battery information to apm(1). 2000-08-13 17:05:27 +00:00
apm_segments.h
asc_ioctl.h
asm.h
asmacros.h Overhaul the per-CPU support a bit: 2001-12-11 23:33:44 +00:00
atomic.h Garbage-collect the "LOCORE" version of MPLOCKED. 2002-02-11 03:41:59 +00:00
bootinfo.h
bus_at386.h Add stubs for bus_space_unmap() and bus_space_free(). They are needed to 2002-02-18 13:43:19 +00:00
bus_dma.h - Moved the bus_dma declarations from bus_{at386,pc98}.h into bus_dma.h. 2001-10-06 16:27:21 +00:00
bus_memio.h
bus_pc98.h Add bus_space_unmap() and bus_space_free() functions to release 2002-02-18 13:44:46 +00:00
bus_pio.h
bus.h - Moved the bus_dma declarations from bus_{at386,pc98}.h into bus_dma.h. 2001-10-06 16:27:21 +00:00
cdk.h
clock.h Reenable RTC interrupts after wakeup. Some laptops have a problem 2001-09-04 16:02:06 +00:00
comstats.h
cpu.h Overhaul the per-CPU support a bit: 2001-12-11 23:33:44 +00:00
cpufunc.h Work-in-progress commit syncing up pmap cleanups that I have been working 2002-02-25 23:49:51 +00:00
cputypes.h First shot at identifying the Pentum 4 acording to our reading of the 2000-09-29 04:38:35 +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
elf.h Make MAXTSIZ, DFLDSIZ, MAXDSIZ, DFLSSIZ, MAXSSIZ, SGROWSIZ loader 2001-10-10 23:06:54 +00:00
endian.h Add C++ support. 2002-02-19 02:17:16 +00:00
exec.h
float.h
floatingpoint.h
frame.h Interrupt frames don't include the saved cpl anymore since cpl is dead. 2000-10-06 01:57:28 +00:00
gsc.h
i4b_cause.h update to i4b version 0.95.04 2000-10-09 13:18:17 +00:00
i4b_debug.h Update to C99, s/__FUNCTION__/__func__/, 2001-12-10 08:09:49 +00:00
i4b_ioctl.h Add support for the AVM Fritz!Card PCI version 2 controller. 2001-12-22 09:25:55 +00:00
i4b_isppp.h Increase AUTHNAME to 42 bytes for users of T-Online, which requires 41 2001-09-12 08:27:54 +00:00
i4b_rbch_ioctl.h
i4b_tel_ioctl.h Add experimental support for sending keypad facility messages. 2001-10-18 11:58:49 +00:00
i4b_trace.h update to i4b version 0.95.04 2000-10-09 13:18:17 +00:00
ieeefp.h
if_wl_wavelan.h Fix typo: compatability -> compatibility. 2001-02-06 12:05:58 +00:00
iic.h
in_cksum.h Various assembly fixes mostly in the form of using the "+" modifier for 2001-12-18 08:54:39 +00:00
ioctl_bt848.h Fix typo in comments 2000-10-31 14:30:29 +00:00
ioctl_ctx.h
ioctl_meteor.h
legacyvar.h Get out the roto-rooter and clean up the abuse of nexus ivars by the 2000-09-28 00:37:32 +00:00
limits.h o Add new header <sys/stdint.h>. 2001-11-02 18:05:43 +00:00
md_var.h Apparently during the KSE M2 commit bzero() on the i386 was changed so that 2002-02-08 19:16:47 +00:00
mpapic.h Remove the old APIC I/O higher level IPI API in favor of the newer MI 2001-04-10 22:18:21 +00:00
mptable.h Work-in-progress commit syncing up pmap cleanups that I have been working 2002-02-25 23:49:51 +00:00
mtpr.h
mutex.h Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
nexusvar.h Get out the roto-rooter and clean up the abuse of nexus ivars by the 2000-09-28 00:37:32 +00:00
npx.h KSE Milestone 2 2001-09-12 08:38:13 +00:00
param.h KSE Milestone 2 2001-09-12 08:38:13 +00:00
pcaudioio.h
pcb_ext.h Split the per-process Local Descriptor Table out of the PCB and into 2001-10-25 00:53:43 +00:00
pcb.h Changed the type of pcb_flags from u_char to u_int and adjusted things. 2002-01-17 17:49:23 +00:00
pci_cfgreg.h Detect a certain type of PCIBIOS brain damage. For some reason, 2001-08-21 03:10:55 +00:00
pcpu.h Overhaul the per-CPU support a bit: 2001-12-11 23:33:44 +00:00
pcvt_ioctl.h
pecoff_machdep.h Add PECOFF (WIN32 Execution file format) support. 2000-12-20 12:51:08 +00:00
perfmon.h
physio_proc.h Gut this header; since physio_proc_init is never called, the code never does 2002-01-08 10:26:44 +00:00
pmap.h Work-in-progress commit syncing up pmap cleanups that I have been working 2002-02-25 23:49:51 +00:00
privatespace.h Overhaul the per-CPU support a bit: 2001-12-11 23:33:44 +00:00
proc.h Overhaul the per-CPU support a bit: 2001-12-11 23:33:44 +00:00
profile.h Finish revs.1.23 and 1.24 so that MCOUNT_ENTER really actually compiles 2002-01-31 13:49:55 +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 Zap 'ptrace(PT_READ_U, ...)' and 'ptrace(PT_WRITE_U, ...)' since they 2001-08-08 05:25:15 +00:00
reg.h [partially forced commit due to pilot error in earlier commit attempt] 2001-10-21 22:16:48 +00:00
reloc.h
resource.h
segments.h Add a missing open paren to a macro that's been broken (and apparently 2001-12-04 00:35:28 +00:00
setjmp.h Work around a bug by adding struct tags. gcc-2.95 apparently gets the 2000-10-06 11:53:32 +00:00
sigframe.h Use struct __ucontext in prototypes and associated functions instead of 2002-02-17 17:40:34 +00:00
signal.h Use struct __ucontext in prototypes and associated functions instead of 2002-02-17 17:40:34 +00:00
smb.h
smp.h Work-in-progress commit syncing up pmap cleanups that I have been working 2002-02-25 23:49:51 +00:00
smptests.h Work-in-progress commit syncing up pmap cleanups that I have been working 2002-02-25 23:49:51 +00:00
speaker.h
specialreg.h Activate SSE/SIMD. This is the extra context switching support that 2001-07-12 06:32:51 +00:00
spigot.h
stdarg.h With GCC 3, we *must* use the GCC stdarg.h. We can no longer just make 2001-12-18 03:28:08 +00:00
sysarch.h Make the style a little bit more consistant by removing parameter 2002-02-03 11:21:22 +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 Declare or #define per-cpu globals in <machine/globals.h> in all cases. 2000-10-27 08:30:59 +00:00
types.h style(9) 2001-12-09 19:12:07 +00:00
uc_device.h
ucontext.h Use a spare slot in the machine context for a flags word to indicate 2002-01-10 02:32:30 +00:00
varargs.h
vm86.h Fixed a missing proc -> thread substitution. 2001-10-03 17:23:26 +00:00
vmparam.h
wtio.h