On Tue, Feb 7, 2017 at 12:42 PM, Edgar E. Iglesias <edgar.igles...@gmail.com > wrote:
> From: "Edgar E. Iglesias" <edgar.igles...@xilinx.com> > > Allow platform_hvc to handle guest SMC calls (as well as > HVC calls) in a platform specific way. > > Signed-off-by: Edgar E. Iglesias <edgar.igles...@xilinx.com> > --- > xen/arch/arm/traps.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c > index 33950d9..1bedc6e 100644 > --- a/xen/arch/arm/traps.c > +++ b/xen/arch/arm/traps.c > @@ -2623,6 +2623,11 @@ static void do_trap_smc(struct cpu_user_regs *regs, > const union hsr hsr) > if ( current->domain->arch.monitor.privileged_call_enabled ) > rc = monitor_smc(); > > I think you should check that rc is still 0 at this point as the vCPU might already be paused and the event forwarded to a monitor subscriber. > + if ( platform_hvc(regs) ) { > + advance_pc(regs, hsr); > + rc = 1; > + } > + > if ( rc != 1 ) > inject_undef_exception(regs, hsr); > } > -- > 2.7.4 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > https://lists.xen.org/xen-devel >
_______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel