Hi Roger,
On 04/07/2017 03:34 PM, Roger Pau Monne wrote:
The changes introduced on c47d1d broke the clang build due to undefined
references to __xsm_action_mismatch_detected, because clang hasn't optimized
the code properly. The following patch allows the clang build to work again,
while keeping the same functionality.
Signed-off-by: Roger Pau Monné <roger....@citrix.com>
FWIW: this is fixing ARM32 build with XSM (blocks osstest).
Tested-by: Julien Grall <julien.gr...@arm.com>
Cheers,
---
Cc: Daniel De Graaf <dgde...@tycho.nsa.gov>
Cc: Julien Grall <julien.gr...@arm.com>
Cc: Tamas K Lengyel <tamas.leng...@zentific.com>
---
NB: this fixes travis build: https://travis-ci.org/royger/xen/builds/219697038
---
xen/include/xsm/dummy.h | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 56a8814d82..7d35744afe 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -557,25 +557,23 @@ static XSM_INLINE int
xsm_hvm_param_altp2mhvm(XSM_DEFAULT_ARG struct domain *d)
static XSM_INLINE int xsm_hvm_altp2mhvm_op(XSM_DEFAULT_ARG struct domain *d,
uint64_t mode, uint32_t op)
{
- xsm_default_t a;
XSM_ASSERT_ACTION(XSM_OTHER);
switch ( mode )
{
case XEN_ALTP2M_mixed:
- a = XSM_TARGET;
- break;
+ return xsm_default_action(XSM_TARGET, current->domain, d);
case XEN_ALTP2M_external:
- a = XSM_DM_PRIV;
+ return xsm_default_action(XSM_DM_PRIV, current->domain, d);
break;
case XEN_ALTP2M_limited:
- a = (HVMOP_altp2m_vcpu_enable_notify == op) ? XSM_TARGET : XSM_DM_PRIV;
- break;
+ if ( HVMOP_altp2m_vcpu_enable_notify == op )
+ return xsm_default_action(XSM_TARGET, current->domain, d);
+ else
+ return xsm_default_action(XSM_DM_PRIV, current->domain, d);
default:
return -EPERM;
- };
-
- return xsm_default_action(a, current->domain, d);
+ }
}
static XSM_INLINE int xsm_vm_event_control(XSM_DEFAULT_ARG struct domain *d,
int mode, int op)
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel