All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: Geoff Levand <geoff@infradead.org>
Cc: Marc Zyngier <Marc.Zyngier@arm.com>,
	Catalin Marinas <Catalin.Marinas@arm.com>,
	Will Deacon <Will.Deacon@arm.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"kexec@lists.infradead.org" <kexec@lists.infradead.org>,
	"christoffer.dall@linaro.org" <christoffer.dall@linaro.org>
Subject: Re: [PATCH 2/7] arm64: Convert hcalls to use ISS field
Date: Mon, 6 Oct 2014 11:13:28 +0100	[thread overview]
Message-ID: <20141006101328.GD24686@leverpostej> (raw)
In-Reply-To: <1412373387.32313.41.camel@smoke>

[...]

> > >  el1_sync:
> > > -	mrs	x1, esr_el2
> > > -	lsr	x1, x1, #26
> > > -	cmp	x1, #0x16
> > > -	b.ne	2f				// Not an HVC trap
> > > -	cbz	x0, 1f
> > > -	msr	vbar_el2, x0			// Set vbar_el2
> > > +	mrs	x18, esr_el2
> > > +	lsr	x17, x18, #26			// x17=EC
> > 
> > The first patch enabled kvm_arm.h macros to be used from asm. Can't we
> > use them here? If we don't include kvm_arm.h in the hyp stub, maybe we
> > should (ideally we'd factor common stuff out, but I can see that getting
> > messy fast).
> 
> I didn't want to tackle the cleanup of the headers in this patch
> series, and I thought it odd to include a kvm header in this core
> arm64 file, but maybe it is better to include kvm_arm.h and use the
> ESR_EL2_ macros so the values are at least easier to understand and
> keep track of.

I'd rather we used the mnemonics. If that involves pulling in the kvm
header I'd rather we do that for the moment.

[...]

> > > diff --git a/arch/arm64/kvm/hyp.S b/arch/arm64/kvm/hyp.S
> > > index b72aa9f..9607f15 100644
> > > --- a/arch/arm64/kvm/hyp.S
> > > +++ b/arch/arm64/kvm/hyp.S
> > > @@ -26,6 +26,7 @@
> > >  #include <asm/kvm_asm.h>
> > >  #include <asm/kvm_arm.h>
> > >  #include <asm/kvm_mmu.h>
> > > +#include <asm/virt.h>
> > 
> > As far as I can see, virt.h only defines BOOT_CPU_MODE_EL{1,2}, which we
> > don't use below. So I don't think we need this include.
> 
> We need asm/virt.h for the new HVC_ macros added to it by this
> patch (above)...

Sorry, my comment was bogus. I'd evidently confused myself when reading
this.

Mark.

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

WARNING: multiple messages have this Message-ID (diff)
From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/7] arm64: Convert hcalls to use ISS field
Date: Mon, 6 Oct 2014 11:13:28 +0100	[thread overview]
Message-ID: <20141006101328.GD24686@leverpostej> (raw)
In-Reply-To: <1412373387.32313.41.camel@smoke>

[...]

> > >  el1_sync:
> > > -	mrs	x1, esr_el2
> > > -	lsr	x1, x1, #26
> > > -	cmp	x1, #0x16
> > > -	b.ne	2f				// Not an HVC trap
> > > -	cbz	x0, 1f
> > > -	msr	vbar_el2, x0			// Set vbar_el2
> > > +	mrs	x18, esr_el2
> > > +	lsr	x17, x18, #26			// x17=EC
> > 
> > The first patch enabled kvm_arm.h macros to be used from asm. Can't we
> > use them here? If we don't include kvm_arm.h in the hyp stub, maybe we
> > should (ideally we'd factor common stuff out, but I can see that getting
> > messy fast).
> 
> I didn't want to tackle the cleanup of the headers in this patch
> series, and I thought it odd to include a kvm header in this core
> arm64 file, but maybe it is better to include kvm_arm.h and use the
> ESR_EL2_ macros so the values are at least easier to understand and
> keep track of.

I'd rather we used the mnemonics. If that involves pulling in the kvm
header I'd rather we do that for the moment.

[...]

> > > diff --git a/arch/arm64/kvm/hyp.S b/arch/arm64/kvm/hyp.S
> > > index b72aa9f..9607f15 100644
> > > --- a/arch/arm64/kvm/hyp.S
> > > +++ b/arch/arm64/kvm/hyp.S
> > > @@ -26,6 +26,7 @@
> > >  #include <asm/kvm_asm.h>
> > >  #include <asm/kvm_arm.h>
> > >  #include <asm/kvm_mmu.h>
> > > +#include <asm/virt.h>
> > 
> > As far as I can see, virt.h only defines BOOT_CPU_MODE_EL{1,2}, which we
> > don't use below. So I don't think we need this include.
> 
> We need asm/virt.h for the new HVC_ macros added to it by this
> patch (above)...

Sorry, my comment was bogus. I'd evidently confused myself when reading
this.

Mark.

  reply	other threads:[~2014-10-06 10:13 UTC|newest]

Thread overview: 130+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-25  0:23 [PATCH 0/7] arm64 kexec kernel patches V3 Geoff Levand
2014-09-25  0:23 ` Geoff Levand
2014-09-25  0:23 ` [PATCH 3/7] arm64: Add new hcall HVC_CALL_FUNC Geoff Levand
2014-09-25  0:23   ` Geoff Levand
2014-09-25  0:23 ` [PATCH 1/7] arm64/kvm: Fix assembler compatibility of macros Geoff Levand
2014-09-25  0:23   ` Geoff Levand
2014-10-03 10:26   ` Mark Rutland
2014-10-03 10:26     ` Mark Rutland
2014-10-03 22:27     ` Geoff Levand
2014-10-03 22:27       ` Geoff Levand
2014-10-06 10:10       ` Mark Rutland
2014-10-06 10:10         ` Mark Rutland
2014-09-25  0:23 ` [PATCH 2/7] arm64: Convert hcalls to use ISS field Geoff Levand
2014-09-25  0:23   ` Geoff Levand
2014-10-03 10:51   ` Mark Rutland
2014-10-03 10:51     ` Mark Rutland
2014-10-03 21:56     ` Geoff Levand
2014-10-03 21:56       ` Geoff Levand
2014-10-06 10:13       ` Mark Rutland [this message]
2014-10-06 10:13         ` Mark Rutland
2014-09-25  0:23 ` [PATCH 4/7] arm64: Add EL2 switch to soft_restart Geoff Levand
2014-09-25  0:23   ` Geoff Levand
2014-09-25  0:23 ` [PATCH 6/7] arm64/kexec: Add core kexec support Geoff Levand
2014-09-25  0:23   ` Geoff Levand
2014-09-25 18:28   ` Vivek Goyal
2014-09-25 18:28     ` Vivek Goyal
2014-09-25 19:02     ` Geoff Levand
2014-09-25 19:02       ` Geoff Levand
2014-09-25 19:08       ` Vivek Goyal
2014-09-25 19:08         ` Vivek Goyal
2014-09-30 18:18   ` Vivek Goyal
2014-09-30 18:18     ` Vivek Goyal
2014-09-30 19:54     ` Geoff Levand
2014-09-30 19:54       ` Geoff Levand
2014-10-01 14:56       ` Vivek Goyal
2014-10-01 14:56         ` Vivek Goyal
2014-10-03 18:35         ` Geoff Levand
2014-10-03 18:35           ` Geoff Levand
2014-10-07 13:44           ` Vivek Goyal
2014-10-07 13:44             ` Vivek Goyal
2014-10-07 18:42             ` Geoff Levand
2014-10-07 18:42               ` Geoff Levand
2014-10-07 18:45               ` Vivek Goyal
2014-10-07 18:45                 ` Vivek Goyal
2014-10-07 20:12                 ` Geoff Levand
2014-10-07 20:12                   ` Geoff Levand
2014-10-07 20:22                   ` Vivek Goyal
2014-10-07 20:22                     ` Vivek Goyal
2014-10-09 22:26                     ` Geoff Levand
2014-10-09 22:26                       ` Geoff Levand
2014-10-23 23:08                       ` Geoff Levand
2014-10-23 23:08                         ` Geoff Levand
2014-10-08  9:28                   ` Mark Rutland
2014-10-08  9:28                     ` Mark Rutland
2014-10-07 18:48               ` Vivek Goyal
2014-10-07 18:48                 ` Vivek Goyal
2014-10-01 16:16       ` Mark Rutland
2014-10-01 16:16         ` Mark Rutland
2014-10-01 17:36         ` Vivek Goyal
2014-10-01 17:36           ` Vivek Goyal
2014-10-01 17:56           ` Mark Rutland
2014-10-01 17:56             ` Mark Rutland
2014-10-01 17:47         ` Vivek Goyal
2014-10-01 17:47           ` Vivek Goyal
2014-10-01 18:03           ` Mark Rutland
2014-10-01 18:03             ` Mark Rutland
2014-10-01 18:09             ` Vivek Goyal
2014-10-01 18:09               ` Vivek Goyal
2014-10-01 18:19               ` Mark Rutland
2014-10-01 18:19                 ` Mark Rutland
2014-10-01 18:31                 ` Vivek Goyal
2014-10-01 18:31                   ` Vivek Goyal
2014-10-01 19:22             ` Vivek Goyal
2014-10-01 19:22               ` Vivek Goyal
2014-10-02 10:26               ` Mark Rutland
2014-10-02 10:26                 ` Mark Rutland
2014-10-02 13:54                 ` Vivek Goyal
2014-10-02 13:54                   ` Vivek Goyal
2014-10-02 16:53                   ` Mark Rutland
2014-10-02 16:53                     ` Mark Rutland
2014-09-30 23:59   ` [PATCH V2 " Geoff Levand
2014-09-30 23:59     ` Geoff Levand
2014-09-25  0:23 ` [PATCH 5/7] arm64: Move proc-macros.S to include/asm Geoff Levand
2014-09-25  0:23   ` Geoff Levand
2014-09-25  0:23 ` [PATCH 7/7] arm64/kexec: Enable kexec in the arm64 defconfig Geoff Levand
2014-09-25  0:23   ` Geoff Levand
2014-09-30 20:29 ` [PATCH 0/7] arm64 kexec kernel patches V3 Vivek Goyal
2014-09-30 20:29   ` Vivek Goyal
2014-09-30 21:27   ` Geoff Levand
2014-09-30 21:27     ` Geoff Levand
2014-10-02 19:08     ` Vivek Goyal
2014-10-02 19:08       ` Vivek Goyal
2014-10-02 22:59       ` Geoff Levand
2014-10-02 22:59         ` Geoff Levand
2014-10-07 13:43         ` Vivek Goyal
2014-10-07 13:43           ` Vivek Goyal
2014-10-07 14:06           ` Mark Rutland
2014-10-07 14:06             ` Mark Rutland
2014-10-01 15:19 ` Vivek Goyal
2014-10-01 15:19   ` Vivek Goyal
2014-10-03 21:16   ` Geoff Levand
2014-10-03 21:16     ` Geoff Levand
2014-10-07 13:40     ` Vivek Goyal
2014-10-07 13:40       ` Vivek Goyal
2014-10-07 18:29       ` Geoff Levand
2014-10-07 18:29         ` Geoff Levand
2014-10-08  9:42       ` Mark Rutland
2014-10-08  9:42         ` Mark Rutland
2014-10-09  3:21         ` Dave Young
2014-10-09  3:21           ` Dave Young
2014-10-09 10:09           ` Mark Rutland
2014-10-09 10:09             ` Mark Rutland
2014-10-09 10:19             ` Ard Biesheuvel
2014-10-09 10:19               ` Ard Biesheuvel
2014-10-10  5:30             ` Dave Young
2014-10-10  5:30               ` Dave Young
2014-10-07 15:22     ` Mark Rutland
2014-10-07 15:22       ` Mark Rutland
2014-10-07 18:28       ` Geoff Levand
2014-10-07 18:28         ` Geoff Levand
2014-10-07 18:09 ` Vivek Goyal
2014-10-07 18:09   ` Vivek Goyal
2014-10-07 20:07   ` Geoff Levand
2014-10-07 20:07     ` Geoff Levand
2014-10-08  9:52     ` Leif Lindholm
2014-10-08  9:52       ` Leif Lindholm
2014-10-08 10:07       ` Mark Rutland
2014-10-08 10:07         ` Mark Rutland
2014-10-09  9:22 ` Will Deacon
2014-10-09  9:22   ` Will Deacon

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=20141006101328.GD24686@leverpostej \
    --to=mark.rutland@arm.com \
    --cc=Catalin.Marinas@arm.com \
    --cc=Marc.Zyngier@arm.com \
    --cc=Will.Deacon@arm.com \
    --cc=christoffer.dall@linaro.org \
    --cc=geoff@infradead.org \
    --cc=kexec@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.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.