freebsd-skq/sys/amd64
Konstantin Belousov 293409233b Set md_ldt (pointer to the LDT) after md_ldt_sd (system segment
descriptor for the LDT) is populated. md_ldt is used by context-switch
code as indicator that LDT segment register shall be loaded with
GUSERLDT segment instead of 0, so context switch at the wrong time may
cause attempt to load non-populated descriptor.

Use store with the barrier to prevent other CPUs from seeing updated
md_ldt but not seeing updated md_ldt_sd. Multithreaded process may
context-switch to another thread of the process on another CPU and read
md_ldt.

MFC after:	1 week
2010-01-09 11:28:01 +00:00
..
acpica Simplify a macro not to generate unncessary symbols. 2009-12-08 22:38:42 +00:00
amd64 Set md_ldt (pointer to the LDT) after md_ldt_sd (system segment 2010-01-09 11:28:01 +00:00
compile
conf In sys/<arch>/conf/Makefile set TARGET to <arch>. That allows 2010-01-08 18:57:31 +00:00
ia32 For ia32 syscall(), call cpu_set_syscall_retval(). Update comment inside 2009-12-12 20:11:31 +00:00
include Quiet variable "shadows" warning: 2010-01-01 20:55:11 +00:00
isa Make isa_dma functions MPSAFE by introducing its own private lock. These 2009-11-09 20:29:10 +00:00
linux32 Fix some problems with effective mmap() offsets > 32 bits. This was 2009-10-28 20:17:54 +00:00
pci number of cleanups in i386 and amd64 pci md code 2009-09-24 07:11:23 +00:00
Makefile Adjustments to make a tags file a bit more suitable to amd64. 2008-12-01 14:15:10 +00:00