[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH RFC] xen: arm: Log a warning message when a deprecated hypercall is used
On Tue, 2015-01-20 at 11:05 +0000, Jan Beulich wrote: > >>> On 20.01.15 at 11:52, <ian.campbell@xxxxxxxxxx> wrote: > > RFC since I'm not sure how extreme our reaction ought to be here, e.g. > > I considered domain_crash() or even panic() when in a debug build. A > > XENLOG_DEBUG message is about the most benign of the options. > > And I think it shouldn't be more than that in the first round. We > may want to consider logging a message on x86 too, but of > course only optionally depending on a command line option. OK. > > --- a/xen/arch/arm/traps.c > > +++ b/xen/arch/arm/traps.c > > @@ -1148,6 +1148,22 @@ die: > > } > > #endif > > > > +static register_t do_deprecated_hypercall(void) > > +{ > > + struct cpu_user_regs *regs = guest_cpu_user_regs(); > > + const register_t op = > > +#ifdef CONFIG_ARM_64 > > + !is_32bit_domain(current->domain) ? > > + regs->x16 > > + : > > +#endif > > + regs->r12; > > + > > + gdprintk(XENLOG_DEBUG, "%pv: deprecated hypercall %ld\n", > > + current, (unsigned long)op); > > If this was x86 code, I'd complain about the cast... The correct format code is PRIregister (since register_t can be 32- or 64-bit for arm32 vs arm64 respectively), but it is in hex and xen.h lists __HYPERVISOR_* in decimal so that's what I wanted to print for each of manually looking. > > @@ -1167,15 +1183,29 @@ typedef struct { > > .fn = (arm_hypercall_fn_t) &do_arm_ ## _name, \ > > .nr_args = _nr_args, \ > > } > > +/* > > + * Only use this for hypercalls which were deprecated (i.e. replaced > > + * by something else) before Xen on ARM was created, i.e. *not* for > > + * hypercalls which are simply not yet used on ARM. > > + */ > > +#define HYPERCALL_DEPRECATED(_name, _nr_args) \ > > + [ __HYPERVISOR_##_name ] = { \ > > + .fn = (arm_hypercall_fn_t) &do_deprecated_hypercall, \ > > ... and the redundant &. It's consistent with the other variants of this macro. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |