freebsd-dev/sys/amd64/isa
Attilio Rao 4486adc51f Currently the LO_NOPROFILE flag (which is masked on upper level code by
per-primitive macros like MTX_NOPROFILE, SX_NOPROFILE or RW_NOPROFILE) is
not really honoured. In particular lock_profile_obtain_lock_failure() and
lock_profile_obtain_lock_success() are naked respect this flag.
The bug leads to locks marked with no-profiling to be profiled as well.
In the case of the clock_lock, used by the timer i8254 this leads to
unpredictable behaviour both on amd64 and ia32 (double faults panic,
sudden reboots, etc.). The amd64 clock_lock is also not marked as
not profilable as it should be.
Fix these bugs adding proper checks in the lock profiling code and at
clock_lock initialization time.

i8254 bug pointed out by: kris
Tested by: matteo, Giuseppe Cocomazzi <sbudella at libero dot it>
Approved by: jeff (mentor)
Approved by: re
2007-09-14 01:12:39 +00:00
..
atpic_vector.S Newer versions of gcc don't support treating structures passed by value 2006-12-17 06:48:40 +00:00
atpic.c Minor fixes and tweaks to the x86 interrupt code: 2007-05-08 21:29:14 +00:00
clock.c Currently the LO_NOPROFILE flag (which is masked on upper level code by 2007-09-14 01:12:39 +00:00
elcr.c
icu.h Evidently neither GENERIC nor kan's config had isa in it :-0. As 2006-12-17 21:51:44 +00:00
isa_dma.c
isa.c o break newbus api: add a new argument of type driver_filter_t to 2007-02-23 12:19:07 +00:00
isa.h
nmi.c