freebsd-skq/sys/arm64
Mark Johnston 1c29da0279 Reimplement stack capture of running threads on i386 and amd64.
After r355784 the td_oncpu field is no longer synchronized by the thread
lock, so the stack capture interrupt cannot be delievered precisely.
Fix this using a loop which drops the thread lock and restarts if the
wrong thread was sampled from the stack capture interrupt handler.

Change the implementation to use a regular interrupt instead of an NMI.
Now that we drop the thread lock, there is no advantage to the latter.

Simplify the KPIs.  Remove stack_save_td_running() and add a return
value to stack_save_td().  On platforms that do not support stack
capture of running threads, stack_save_td() returns EOPNOTSUPP.  If the
target thread is running in user mode, stack_save_td() returns EBUSY.

Reviewed by:	kib
Reported by:	mjg, pho
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D23355
2020-01-31 15:43:33 +00:00
..
acpica Ignore the SMMUv3 and PMCG interrupt controller in the IORT tables 2020-01-31 09:51:38 +00:00
arm64 Reimplement stack capture of running threads on i386 and amd64. 2020-01-31 15:43:33 +00:00
cavium Rename the ThunderX CPU identification macros to include the X. This is the 2018-06-13 12:17:11 +00:00
cloudabi32 Use uintptr_t instead of register_t * for the stack base. 2019-12-03 23:17:54 +00:00
cloudabi64 Use uintptr_t instead of register_t * for the stack base. 2019-12-03 23:17:54 +00:00
conf arm64: rockchip: Add RK3399 PWM driver 2020-01-16 21:25:13 +00:00
coresight Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
include Print missing ID_AA64PFR{0,1}_EL1 register fields. 2020-01-23 16:10:38 +00:00
intel Add support for Intel Stratix 10 platform. 2019-09-13 16:50:57 +00:00
linux sysent targets: further cleanup and deduplication 2020-01-18 20:37:45 +00:00
qualcomm Enable Qualcomm Debug Subsystem (QDSS) block on MSM8916 SoC. 2018-04-10 12:53:48 +00:00
rockchip Enable USB3 support for Rockchip RK3328 SoC. 2020-01-29 09:36:59 +00:00