1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-20 11:11:24 +00:00
freebsd/sys/amd64/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
apicreg.h Introduce a standard name for the lock protecting an interrupt controller 2001-12-20 23:48:31 +00:00
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
bus_amd64.h Add stubs for bus_space_unmap() and bus_space_free(). They are needed to 2002-02-18 13:43:19 +00:00
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_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
clock.h Reenable RTC interrupts after wakeup. Some laptops have a problem 2001-09-04 16:02:06 +00:00
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
db_machdep.h Fill out some gaps in ia64 DDB support. This involves generalising DDB's 2001-09-15 11:06:07 +00:00
elf.h Make MAXTSIZ, DFLDSIZ, MAXDSIZ, DFLSSIZ, MAXSSIZ, SGROWSIZ loader 2001-10-10 23:06:54 +00:00
exec.h
float.h
floatingpoint.h
fpu.h KSE Milestone 2 2001-09-12 08:38:13 +00:00
frame.h Interrupt frames don't include the saved cpl anymore since cpl is dead. 2000-10-06 01:57:28 +00:00
ieeefp.h
in_cksum.h This is the first snapshot of the FreeBSD/ia64 kernel. This kernel will 2000-09-29 13:46:07 +00:00
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
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
mptable.h Work-in-progress commit syncing up pmap cleanups that I have been working 2002-02-25 23:49:51 +00:00
mutex.h Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
npx.h KSE Milestone 2 2001-09-12 08:38:13 +00:00
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
pmap.h Work-in-progress commit syncing up pmap cleanups that I have been working 2002-02-25 23:49:51 +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
smp.h Work-in-progress commit syncing up pmap cleanups that I have been working 2002-02-25 23:49:51 +00:00
specialreg.h Activate SSE/SIMD. This is the extra context switching support that 2001-07-12 06:32:51 +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
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
vmparam.h