|
[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 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.
> --- 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...
> @@ -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 &.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |