All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@linaro.org>
To: Ian Campbell <ian.campbell@citrix.com>, xen-devel@lists.xen.org
Cc: Keir Fraser <keir@xen.org>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	stefano.stabellini@eu.citrix.com, tim@xen.org,
	Jan Beulich <JBeulich@suse.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: Re: [PATCH RFC] xen: arm: Log a warning message when a deprecated hypercall is used
Date: Tue, 20 Jan 2015 12:35:47 +0000	[thread overview]
Message-ID: <54BE4BA3.2020506@linaro.org> (raw)
In-Reply-To: <1421751134-9172-1-git-send-email-ian.campbell@citrix.com>

Hi Ian,

On 20/01/15 10:52, Ian Campbell wrote:
> A few folks have been caught out by OSes which call e.g.
> HYPERVISOR_event_channel_op_compat which has been deprecated since
> 3.2.2 (i.e. long before Xen on ARM). Existing x86 code can still
> safely and quietly using those calls, waiting for an unsuspecting ARM
> porter to turn up and trip over it. This turns out to be rather
> perplexing when it happens, since it can be obscured e.g. by various
> conditionals like __XEN_INTERFACE_VERSION__ what is actually being
> called.
> 
> Note that I'm making a distinction here between hypercalls which are
> simply not used/implemented on arm (yet) and those which were
> deprecated and replaced by a newer variant prior to Xen on ARM even
> being invented.  The latter will never be implemented on ARM and have
> non-deprecated aliases leading to confusion so those are the ones for
> which a warning is useful.
> 
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> Cc: Jan Beulich <JBeulich@suse.com>
> Cc: Keir Fraser <keir@xen.org>
> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Cc: Anthony PERARD <anthony.perard@citrix.com>
> ---
> 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.

panic() should only be used if we can't recover from a Xen issue. I
would be very annoyed to see my host crashing while I'm adding support
of Xen in the guest.

It may be very long to reboot the host and/or maybe be shared with other
people.

I think the code would benefit to a domain_crash() in general. It will
avoid to spend time looking why it's not working.

> 
> Jan/Keir, although this is ARM specific I'd welcome your views as
> x86/REST maintainers.
> 
> Ard, I've not actually run this -- any chance you could re-b0rk your
> Tianocore image and give it a go?
> ---
>  xen/arch/arm/traps.c |   30 ++++++++++++++++++++++++++++++
>  1 file changed, 30 insertions(+)
> 
> diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
> index ad046e8..89cbde6 100644
> --- 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",

op is casted to an unsigned long, so I would use %lu.

Regards,

-- 
Julien Grall

  parent reply	other threads:[~2015-01-20 12:35 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-20 10:52 [PATCH RFC] xen: arm: Log a warning message when a deprecated hypercall is used Ian Campbell
2015-01-20 11:05 ` Jan Beulich
2015-01-20 11:11   ` Ian Campbell
2015-01-20 11:19     ` Jan Beulich
2015-01-20 12:05       ` Ian Campbell
2015-01-20 13:03         ` Jan Beulich
2015-01-20 12:35 ` Julien Grall [this message]
2015-01-27 11:51 ` Ard Biesheuvel
2015-01-27 17:14   ` Ian Campbell
2015-02-04  9:41 ` Ard Biesheuvel
2015-02-04 10:16   ` Ian Campbell
2015-06-26 10:19 ` Julien Grall

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54BE4BA3.2020506@linaro.org \
    --to=julien.grall@linaro.org \
    --cc=JBeulich@suse.com \
    --cc=anthony.perard@citrix.com \
    --cc=ard.biesheuvel@linaro.org \
    --cc=ian.campbell@citrix.com \
    --cc=keir@xen.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=tim@xen.org \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.