From: Julien Grall Date: Mon, 7 Oct 2019 12:57:00 +0000 (+0100) Subject: xen/arm: Update the ASSERT() in SYNCHRONIZE_SERROR() X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~1204 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=2e2356c7bd8f99aa42ed60ceed0e4ba4e06adb8f;p=xen.git xen/arm: Update the ASSERT() in SYNCHRONIZE_SERROR() The macro SYNCHRONIZE_SERROR() has an assert to check whether it will be called with Abort interrupt unmasked. However, this is only done if a given cap is not enabled. None of the callers will treat the abort interrupt differently depending on a feature. Furthermore, it makes more difficult to check whether SYNCHRONIZE_SERROR() is going to be called with abort interrupt unmasked. Therefore, we now require the abort interrupt to be unmasked regardless the state of the cap. Signed-off-by: Julien Grall Acked-by: Stefano Stabellini Release-acked-by: Juergen Gross --- diff --git a/xen/include/asm-arm/processor.h b/xen/include/asm-arm/processor.h index e9d2ae2715..aa642e3ab2 100644 --- a/xen/include/asm-arm/processor.h +++ b/xen/include/asm-arm/processor.h @@ -542,7 +542,7 @@ register_t get_default_hcr_flags(void); */ #define SYNCHRONIZE_SERROR(feat) \ do { \ - ASSERT(!cpus_have_cap(feat) || local_abort_is_enabled()); \ + ASSERT(local_abort_is_enabled()); \ asm volatile(ALTERNATIVE("dsb sy; isb", \ "nop; nop", feat) \ : : : "memory"); \