IPI_TRACE is not really supported on xen

x86 stack_save_td_running() can work safely only if IPI_TRACE is a
non-maskable interrupt.  But at the moment FreeBSD/Xen does not provide
support for the NMI delivery mode.  So, mark the functionality as
unsupported similarly to other platforms without NMI.
Maybe there is a way to provide a Xen-specific working
stack_save_td_running(), but I couldn't figure it out.

MFC after:	3 weeks
Sponsored by:	Panzura
This commit is contained in:
Andriy Gapon 2019-11-07 21:14:59 +00:00
parent 80577e5583
commit bff7f83d39
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=354482

View File

@ -135,6 +135,13 @@ int
stack_save_td_running(struct stack *st, struct thread *td)
{
#ifdef XENHVM
/*
* There is no NMI support on Xen, so this code can lead to
* an inter-processor deadlock.
*/
return (EOPNOTSUPP);
#endif /* XENHVM */
#ifdef STACK
THREAD_LOCK_ASSERT(td, MA_OWNED);
MPASS(TD_IS_RUNNING(td));