freebsd-dev/sys/powerpc
John Baldwin 0108cce0a4 Adjust the order of operations in spinlock_enter() and spinlock_exit() to
work properly with single-stepping in a kernel debugger.  Specifically,
these routines have always disabled interrupts before increasing the nesting
count and restored the prior state of interrupts after decreasing the nesting
count to avoid problems with a nested interrupt not disabling interrupts
when acquiring a spin lock.  However, trap interrupts for single-stepping
can still occur even when interrupts are disabled.  Now the saved state of
interrupts is not saved in the thread until after interrupts have been
disabled and the nesting count has been increased.  Similarly, the saved
state from the thread cannot be read once the nesting count has been
decreased to zero.  To fix this, use temporary variables to store interrupt
state and shuffle it between the thread's MD area and the appropriate
registers.

In cooperation with:	bde
MFC after:     1 month
2010-11-05 13:42:58 +00:00
..
aim Adjust the order of operations in spinlock_enter() and spinlock_exit() to 2010-11-05 13:42:58 +00:00
booke Adjust the order of operations in spinlock_enter() and spinlock_exit() to 2010-11-05 13:42:58 +00:00
compile
conf Add a driver for the Apple Uninorth AGP host bridge found in all PowerPC 2010-10-31 18:27:05 +00:00
cpufreq MFppc64: 2010-07-13 05:32:19 +00:00
fpu The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-03 17:07:02 +00:00
include Restructure the way the copyin/copyout segment is stored to prevent a 2010-10-30 23:07:30 +00:00
mambo Don't create spurious /dev entries. 2010-10-25 15:41:12 +00:00
mpc85xx Restructure how reset and poweroff are handled on PowerPC systems, since 2010-08-31 15:27:46 +00:00
ofw Map the Open Firmware framebuffer console with write combining turned on, 2010-10-01 19:02:31 +00:00
powermac Allow access to the HT I/O port space on the IBM CPC9X5 northbridge chips. 2010-10-30 23:09:56 +00:00
powerpc Restructure the way the copyin/copyout segment is stored to prevent a 2010-10-30 23:07:30 +00:00
psim Remove the unneeded header <machine/intr.h>. 2010-07-02 02:17:39 +00:00