freebsd-dev/sys/amd64
Konstantin Belousov ec24e8d42e Amd64 init_secondary() calls initializecpu() while curthread is still
not properly set up. r199067 added the call to TUNABLE_INT_FETCH() to
initializecpu() that results in hang because AP are started when kernel
environment is already dynamic and thus needs to acquire mutex, that is
too early in AP start sequence to work.

Extract the code that should be executed only once, because it sets
up global variables, from initializecpu() to initializecpucache(),
and call the later only from hammer_time() executed on BSP. Now,
TUNABLE_INT_FETCH() is done only once at BSP at the early boot stage.

In collaboration with:	Mykola Dzham <freebsd levsha org ua>
Reviewed by:	jhb
Tested by:	ed, battlez
2009-11-13 13:07:01 +00:00
..
acpica Tweak memory allocation for amd64 suspend/resume CPU context. 2009-11-04 22:39:18 +00:00
amd64 Amd64 init_secondary() calls initializecpu() while curthread is still 2009-11-13 13:07:01 +00:00
compile
conf Move the USB wireless drivers down into their own section next to the USB 2009-10-13 19:02:03 +00:00
ia32 In r197963, a race with thread being selected for signal delivery 2009-10-27 10:47:58 +00:00
include Amd64 init_secondary() calls initializecpu() while curthread is still 2009-11-13 13:07:01 +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