From: Oliver Upton <oupton@google.com>
To: Raghavendra Rao Ananta <rananta@google.com>
Cc: kvm@vger.kernel.org, Will Deacon <will@kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Peter Shier <pshier@google.com>,
linux-kernel@vger.kernel.org, Marc Zyngier <maz@kernel.org>,
Paolo Bonzini <pbonzini@redhat.com>,
kvmarm@lists.cs.columbia.edu,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3 02/12] KVM: arm64: selftests: Add write_sysreg_s and read_sysreg_s
Date: Wed, 1 Sep 2021 23:06:10 +0000 [thread overview]
Message-ID: <YTAHYrQslkY12715@google.com> (raw)
In-Reply-To: <CAJHc60xU3XvmkBHoB8ihyjy6k4RJ9dhqt31ytHDGjd5xsaJjFA@mail.gmail.com>
On Wed, Sep 01, 2021 at 03:48:40PM -0700, Raghavendra Rao Ananta wrote:
> On Wed, Sep 1, 2021 at 3:08 PM Oliver Upton <oupton@google.com> wrote:
> >
> > On Wed, Sep 01, 2021 at 09:28:28PM +0000, Oliver Upton wrote:
> > > On Wed, Sep 01, 2021 at 09:14:02PM +0000, Raghavendra Rao Ananta wrote:
> > > > For register names that are unsupported by the assembler or the ones
> > > > without architectural names, add the macros write_sysreg_s and
> > > > read_sysreg_s to support them.
> > > >
> > > > The functionality is derived from kvm-unit-tests and kernel's
> > > > arch/arm64/include/asm/sysreg.h.
> > > >
> > > > Signed-off-by: Raghavendra Rao Ananta <rananta@google.com>
> > >
> > > Would it be possible to just include <asm/sysreg.h>? See
> > > tools/arch/arm64/include/asm/sysreg.h
> >
> > Geez, sorry for the noise. I mistakenly searched from the root of my
> > repository, not the tools/ directory.
> >
> No worries :)
>
> > In any case, you could perhaps just drop the kernel header there just to
> > use the exact same source for kernel and selftest.
> >
> You mean just copy/paste the entire header? There's a lot of stuff in
> there which we
> don't need it (yet).
Right. It's mostly register definitions, which I don't think is too high
of an overhead. Don't know where others stand, but I would prefer a
header that is equivalent between kernel & selftests over a concise
header.
--
Thanks,
Oliver
> > Thanks,
> > Oliver
> >
> > > > ---
> > > > .../selftests/kvm/include/aarch64/processor.h | 61 +++++++++++++++++++
> > > > 1 file changed, 61 insertions(+)
> > > >
> > > > diff --git a/tools/testing/selftests/kvm/include/aarch64/processor.h b/tools/testing/selftests/kvm/include/aarch64/processor.h
> > > > index 3cbaf5c1e26b..082cc97ad8d3 100644
> > > > --- a/tools/testing/selftests/kvm/include/aarch64/processor.h
> > > > +++ b/tools/testing/selftests/kvm/include/aarch64/processor.h
> > > > @@ -118,6 +118,67 @@ void vm_install_exception_handler(struct kvm_vm *vm,
> > > > void vm_install_sync_handler(struct kvm_vm *vm,
> > > > int vector, int ec, handler_fn handler);
> > > >
> > > > +/*
> > > > + * ARMv8 ARM reserves the following encoding for system registers:
> > > > + * (Ref: ARMv8 ARM, Section: "System instruction class encoding overview",
> > > > + * C5.2, version:ARM DDI 0487A.f)
> > > > + * [20-19] : Op0
> > > > + * [18-16] : Op1
> > > > + * [15-12] : CRn
> > > > + * [11-8] : CRm
> > > > + * [7-5] : Op2
> > > > + */
> > > > +#define Op0_shift 19
> > > > +#define Op0_mask 0x3
> > > > +#define Op1_shift 16
> > > > +#define Op1_mask 0x7
> > > > +#define CRn_shift 12
> > > > +#define CRn_mask 0xf
> > > > +#define CRm_shift 8
> > > > +#define CRm_mask 0xf
> > > > +#define Op2_shift 5
> > > > +#define Op2_mask 0x7
> > > > +
> > > > +/*
> > > > + * When accessed from guests, the ARM64_SYS_REG() doesn't work since it
> > > > + * generates a different encoding for additional KVM processing, and is
> > > > + * only suitable for userspace to access the register via ioctls.
> > > > + * Hence, define a 'pure' sys_reg() here to generate the encodings as per spec.
> > > > + */
> > > > +#define sys_reg(op0, op1, crn, crm, op2) \
> > > > + (((op0) << Op0_shift) | ((op1) << Op1_shift) | \
> > > > + ((crn) << CRn_shift) | ((crm) << CRm_shift) | \
> > > > + ((op2) << Op2_shift))
> > > > +
> > > > +asm(
> > > > +" .irp num,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30\n"
> > > > +" .equ .L__reg_num_x\\num, \\num\n"
> > > > +" .endr\n"
> > > > +" .equ .L__reg_num_xzr, 31\n"
> > > > +"\n"
> > > > +" .macro mrs_s, rt, sreg\n"
> > > > +" .inst 0xd5200000|(\\sreg)|(.L__reg_num_\\rt)\n"
> > > > +" .endm\n"
> > > > +"\n"
> > > > +" .macro msr_s, sreg, rt\n"
> > > > +" .inst 0xd5000000|(\\sreg)|(.L__reg_num_\\rt)\n"
> > > > +" .endm\n"
> > > > +);
> > > > +
> > > > +/*
> > > > + * read_sysreg_s() and write_sysreg_s()'s 'reg' has to be encoded via sys_reg()
> > > > + */
> > > > +#define read_sysreg_s(reg) ({ \
> > > > + u64 __val; \
> > > > + asm volatile("mrs_s %0, "__stringify(reg) : "=r" (__val)); \
> > > > + __val; \
> > > > +})
> > > > +
> > > > +#define write_sysreg_s(reg, val) do { \
> > > > + u64 __val = (u64)val; \
> > > > + asm volatile("msr_s "__stringify(reg) ", %x0" : : "rZ" (__val));\
> > > > +} while (0)
> > > > +
> > > > #define write_sysreg(reg, val) \
> > > > ({ \
> > > > u64 __val = (u64)(val); \
> > > > --
> > > > 2.33.0.153.gba50c8fa24-goog
> > > >
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
WARNING: multiple messages have this Message-ID (diff)
From: Oliver Upton <oupton@google.com>
To: Raghavendra Rao Ananta <rananta@google.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
Marc Zyngier <maz@kernel.org>, James Morse <james.morse@arm.com>,
Alexandru Elisei <alexandru.elisei@arm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>, Peter Shier <pshier@google.com>,
Ricardo Koller <ricarkol@google.com>,
Reiji Watanabe <reijiw@google.com>,
Jing Zhang <jingzhangos@google.com>,
linux-arm-kernel@lists.infradead.org,
kvmarm@lists.cs.columbia.edu, linux-kernel@vger.kernel.org,
kvm@vger.kernel.org
Subject: Re: [PATCH v3 02/12] KVM: arm64: selftests: Add write_sysreg_s and read_sysreg_s
Date: Wed, 1 Sep 2021 23:06:10 +0000 [thread overview]
Message-ID: <YTAHYrQslkY12715@google.com> (raw)
In-Reply-To: <CAJHc60xU3XvmkBHoB8ihyjy6k4RJ9dhqt31ytHDGjd5xsaJjFA@mail.gmail.com>
On Wed, Sep 01, 2021 at 03:48:40PM -0700, Raghavendra Rao Ananta wrote:
> On Wed, Sep 1, 2021 at 3:08 PM Oliver Upton <oupton@google.com> wrote:
> >
> > On Wed, Sep 01, 2021 at 09:28:28PM +0000, Oliver Upton wrote:
> > > On Wed, Sep 01, 2021 at 09:14:02PM +0000, Raghavendra Rao Ananta wrote:
> > > > For register names that are unsupported by the assembler or the ones
> > > > without architectural names, add the macros write_sysreg_s and
> > > > read_sysreg_s to support them.
> > > >
> > > > The functionality is derived from kvm-unit-tests and kernel's
> > > > arch/arm64/include/asm/sysreg.h.
> > > >
> > > > Signed-off-by: Raghavendra Rao Ananta <rananta@google.com>
> > >
> > > Would it be possible to just include <asm/sysreg.h>? See
> > > tools/arch/arm64/include/asm/sysreg.h
> >
> > Geez, sorry for the noise. I mistakenly searched from the root of my
> > repository, not the tools/ directory.
> >
> No worries :)
>
> > In any case, you could perhaps just drop the kernel header there just to
> > use the exact same source for kernel and selftest.
> >
> You mean just copy/paste the entire header? There's a lot of stuff in
> there which we
> don't need it (yet).
Right. It's mostly register definitions, which I don't think is too high
of an overhead. Don't know where others stand, but I would prefer a
header that is equivalent between kernel & selftests over a concise
header.
--
Thanks,
Oliver
> > Thanks,
> > Oliver
> >
> > > > ---
> > > > .../selftests/kvm/include/aarch64/processor.h | 61 +++++++++++++++++++
> > > > 1 file changed, 61 insertions(+)
> > > >
> > > > diff --git a/tools/testing/selftests/kvm/include/aarch64/processor.h b/tools/testing/selftests/kvm/include/aarch64/processor.h
> > > > index 3cbaf5c1e26b..082cc97ad8d3 100644
> > > > --- a/tools/testing/selftests/kvm/include/aarch64/processor.h
> > > > +++ b/tools/testing/selftests/kvm/include/aarch64/processor.h
> > > > @@ -118,6 +118,67 @@ void vm_install_exception_handler(struct kvm_vm *vm,
> > > > void vm_install_sync_handler(struct kvm_vm *vm,
> > > > int vector, int ec, handler_fn handler);
> > > >
> > > > +/*
> > > > + * ARMv8 ARM reserves the following encoding for system registers:
> > > > + * (Ref: ARMv8 ARM, Section: "System instruction class encoding overview",
> > > > + * C5.2, version:ARM DDI 0487A.f)
> > > > + * [20-19] : Op0
> > > > + * [18-16] : Op1
> > > > + * [15-12] : CRn
> > > > + * [11-8] : CRm
> > > > + * [7-5] : Op2
> > > > + */
> > > > +#define Op0_shift 19
> > > > +#define Op0_mask 0x3
> > > > +#define Op1_shift 16
> > > > +#define Op1_mask 0x7
> > > > +#define CRn_shift 12
> > > > +#define CRn_mask 0xf
> > > > +#define CRm_shift 8
> > > > +#define CRm_mask 0xf
> > > > +#define Op2_shift 5
> > > > +#define Op2_mask 0x7
> > > > +
> > > > +/*
> > > > + * When accessed from guests, the ARM64_SYS_REG() doesn't work since it
> > > > + * generates a different encoding for additional KVM processing, and is
> > > > + * only suitable for userspace to access the register via ioctls.
> > > > + * Hence, define a 'pure' sys_reg() here to generate the encodings as per spec.
> > > > + */
> > > > +#define sys_reg(op0, op1, crn, crm, op2) \
> > > > + (((op0) << Op0_shift) | ((op1) << Op1_shift) | \
> > > > + ((crn) << CRn_shift) | ((crm) << CRm_shift) | \
> > > > + ((op2) << Op2_shift))
> > > > +
> > > > +asm(
> > > > +" .irp num,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30\n"
> > > > +" .equ .L__reg_num_x\\num, \\num\n"
> > > > +" .endr\n"
> > > > +" .equ .L__reg_num_xzr, 31\n"
> > > > +"\n"
> > > > +" .macro mrs_s, rt, sreg\n"
> > > > +" .inst 0xd5200000|(\\sreg)|(.L__reg_num_\\rt)\n"
> > > > +" .endm\n"
> > > > +"\n"
> > > > +" .macro msr_s, sreg, rt\n"
> > > > +" .inst 0xd5000000|(\\sreg)|(.L__reg_num_\\rt)\n"
> > > > +" .endm\n"
> > > > +);
> > > > +
> > > > +/*
> > > > + * read_sysreg_s() and write_sysreg_s()'s 'reg' has to be encoded via sys_reg()
> > > > + */
> > > > +#define read_sysreg_s(reg) ({ \
> > > > + u64 __val; \
> > > > + asm volatile("mrs_s %0, "__stringify(reg) : "=r" (__val)); \
> > > > + __val; \
> > > > +})
> > > > +
> > > > +#define write_sysreg_s(reg, val) do { \
> > > > + u64 __val = (u64)val; \
> > > > + asm volatile("msr_s "__stringify(reg) ", %x0" : : "rZ" (__val));\
> > > > +} while (0)
> > > > +
> > > > #define write_sysreg(reg, val) \
> > > > ({ \
> > > > u64 __val = (u64)(val); \
> > > > --
> > > > 2.33.0.153.gba50c8fa24-goog
> > > >
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Oliver Upton <oupton@google.com>
To: Raghavendra Rao Ananta <rananta@google.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
Marc Zyngier <maz@kernel.org>, James Morse <james.morse@arm.com>,
Alexandru Elisei <alexandru.elisei@arm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>, Peter Shier <pshier@google.com>,
Ricardo Koller <ricarkol@google.com>,
Reiji Watanabe <reijiw@google.com>,
Jing Zhang <jingzhangos@google.com>,
linux-arm-kernel@lists.infradead.org,
kvmarm@lists.cs.columbia.edu, linux-kernel@vger.kernel.org,
kvm@vger.kernel.org
Subject: Re: [PATCH v3 02/12] KVM: arm64: selftests: Add write_sysreg_s and read_sysreg_s
Date: Wed, 1 Sep 2021 23:06:10 +0000 [thread overview]
Message-ID: <YTAHYrQslkY12715@google.com> (raw)
In-Reply-To: <CAJHc60xU3XvmkBHoB8ihyjy6k4RJ9dhqt31ytHDGjd5xsaJjFA@mail.gmail.com>
On Wed, Sep 01, 2021 at 03:48:40PM -0700, Raghavendra Rao Ananta wrote:
> On Wed, Sep 1, 2021 at 3:08 PM Oliver Upton <oupton@google.com> wrote:
> >
> > On Wed, Sep 01, 2021 at 09:28:28PM +0000, Oliver Upton wrote:
> > > On Wed, Sep 01, 2021 at 09:14:02PM +0000, Raghavendra Rao Ananta wrote:
> > > > For register names that are unsupported by the assembler or the ones
> > > > without architectural names, add the macros write_sysreg_s and
> > > > read_sysreg_s to support them.
> > > >
> > > > The functionality is derived from kvm-unit-tests and kernel's
> > > > arch/arm64/include/asm/sysreg.h.
> > > >
> > > > Signed-off-by: Raghavendra Rao Ananta <rananta@google.com>
> > >
> > > Would it be possible to just include <asm/sysreg.h>? See
> > > tools/arch/arm64/include/asm/sysreg.h
> >
> > Geez, sorry for the noise. I mistakenly searched from the root of my
> > repository, not the tools/ directory.
> >
> No worries :)
>
> > In any case, you could perhaps just drop the kernel header there just to
> > use the exact same source for kernel and selftest.
> >
> You mean just copy/paste the entire header? There's a lot of stuff in
> there which we
> don't need it (yet).
Right. It's mostly register definitions, which I don't think is too high
of an overhead. Don't know where others stand, but I would prefer a
header that is equivalent between kernel & selftests over a concise
header.
--
Thanks,
Oliver
> > Thanks,
> > Oliver
> >
> > > > ---
> > > > .../selftests/kvm/include/aarch64/processor.h | 61 +++++++++++++++++++
> > > > 1 file changed, 61 insertions(+)
> > > >
> > > > diff --git a/tools/testing/selftests/kvm/include/aarch64/processor.h b/tools/testing/selftests/kvm/include/aarch64/processor.h
> > > > index 3cbaf5c1e26b..082cc97ad8d3 100644
> > > > --- a/tools/testing/selftests/kvm/include/aarch64/processor.h
> > > > +++ b/tools/testing/selftests/kvm/include/aarch64/processor.h
> > > > @@ -118,6 +118,67 @@ void vm_install_exception_handler(struct kvm_vm *vm,
> > > > void vm_install_sync_handler(struct kvm_vm *vm,
> > > > int vector, int ec, handler_fn handler);
> > > >
> > > > +/*
> > > > + * ARMv8 ARM reserves the following encoding for system registers:
> > > > + * (Ref: ARMv8 ARM, Section: "System instruction class encoding overview",
> > > > + * C5.2, version:ARM DDI 0487A.f)
> > > > + * [20-19] : Op0
> > > > + * [18-16] : Op1
> > > > + * [15-12] : CRn
> > > > + * [11-8] : CRm
> > > > + * [7-5] : Op2
> > > > + */
> > > > +#define Op0_shift 19
> > > > +#define Op0_mask 0x3
> > > > +#define Op1_shift 16
> > > > +#define Op1_mask 0x7
> > > > +#define CRn_shift 12
> > > > +#define CRn_mask 0xf
> > > > +#define CRm_shift 8
> > > > +#define CRm_mask 0xf
> > > > +#define Op2_shift 5
> > > > +#define Op2_mask 0x7
> > > > +
> > > > +/*
> > > > + * When accessed from guests, the ARM64_SYS_REG() doesn't work since it
> > > > + * generates a different encoding for additional KVM processing, and is
> > > > + * only suitable for userspace to access the register via ioctls.
> > > > + * Hence, define a 'pure' sys_reg() here to generate the encodings as per spec.
> > > > + */
> > > > +#define sys_reg(op0, op1, crn, crm, op2) \
> > > > + (((op0) << Op0_shift) | ((op1) << Op1_shift) | \
> > > > + ((crn) << CRn_shift) | ((crm) << CRm_shift) | \
> > > > + ((op2) << Op2_shift))
> > > > +
> > > > +asm(
> > > > +" .irp num,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30\n"
> > > > +" .equ .L__reg_num_x\\num, \\num\n"
> > > > +" .endr\n"
> > > > +" .equ .L__reg_num_xzr, 31\n"
> > > > +"\n"
> > > > +" .macro mrs_s, rt, sreg\n"
> > > > +" .inst 0xd5200000|(\\sreg)|(.L__reg_num_\\rt)\n"
> > > > +" .endm\n"
> > > > +"\n"
> > > > +" .macro msr_s, sreg, rt\n"
> > > > +" .inst 0xd5000000|(\\sreg)|(.L__reg_num_\\rt)\n"
> > > > +" .endm\n"
> > > > +);
> > > > +
> > > > +/*
> > > > + * read_sysreg_s() and write_sysreg_s()'s 'reg' has to be encoded via sys_reg()
> > > > + */
> > > > +#define read_sysreg_s(reg) ({ \
> > > > + u64 __val; \
> > > > + asm volatile("mrs_s %0, "__stringify(reg) : "=r" (__val)); \
> > > > + __val; \
> > > > +})
> > > > +
> > > > +#define write_sysreg_s(reg, val) do { \
> > > > + u64 __val = (u64)val; \
> > > > + asm volatile("msr_s "__stringify(reg) ", %x0" : : "rZ" (__val));\
> > > > +} while (0)
> > > > +
> > > > #define write_sysreg(reg, val) \
> > > > ({ \
> > > > u64 __val = (u64)(val); \
> > > > --
> > > > 2.33.0.153.gba50c8fa24-goog
> > > >
next prev parent reply other threads:[~2021-09-01 23:06 UTC|newest]
Thread overview: 159+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-01 21:14 [PATCH v3 00/12] KVM: arm64: selftests: Introduce arch_timer selftest Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-01 21:14 ` [PATCH v3 01/12] KVM: arm64: selftests: Add MMIO readl/writel support Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-01 21:23 ` Oliver Upton
2021-09-01 21:23 ` Oliver Upton
2021-09-01 21:23 ` Oliver Upton
2021-09-01 22:43 ` Raghavendra Rao Ananta
2021-09-01 22:43 ` Raghavendra Rao Ananta
2021-09-01 22:43 ` Raghavendra Rao Ananta
2021-09-02 20:17 ` Oliver Upton
2021-09-02 20:17 ` Oliver Upton
2021-09-02 20:17 ` Oliver Upton
2021-09-02 13:21 ` Andrew Jones
2021-09-02 13:21 ` Andrew Jones
2021-09-02 13:21 ` Andrew Jones
2021-09-01 21:14 ` [PATCH v3 02/12] KVM: arm64: selftests: Add write_sysreg_s and read_sysreg_s Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-01 21:28 ` Oliver Upton
2021-09-01 21:28 ` Oliver Upton
2021-09-01 21:28 ` Oliver Upton
2021-09-01 22:08 ` Oliver Upton
2021-09-01 22:08 ` Oliver Upton
2021-09-01 22:08 ` Oliver Upton
2021-09-01 22:48 ` Raghavendra Rao Ananta
2021-09-01 22:48 ` Raghavendra Rao Ananta
2021-09-01 22:48 ` Raghavendra Rao Ananta
2021-09-01 23:06 ` Oliver Upton [this message]
2021-09-01 23:06 ` Oliver Upton
2021-09-01 23:06 ` Oliver Upton
2021-09-02 12:31 ` Andrew Jones
2021-09-02 12:31 ` Andrew Jones
2021-09-02 12:31 ` Andrew Jones
2021-09-02 17:55 ` Raghavendra Rao Ananta
2021-09-02 17:55 ` Raghavendra Rao Ananta
2021-09-02 17:55 ` Raghavendra Rao Ananta
2021-09-02 13:44 ` Andrew Jones
2021-09-02 13:44 ` Andrew Jones
2021-09-02 13:44 ` Andrew Jones
2021-09-01 21:14 ` [PATCH v3 03/12] KVM: arm64: selftests: Add support for cpu_relax Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-01 21:29 ` Oliver Upton
2021-09-01 21:29 ` Oliver Upton
2021-09-01 21:29 ` Oliver Upton
2021-09-01 22:10 ` Oliver Upton
2021-09-01 22:10 ` Oliver Upton
2021-09-01 22:10 ` Oliver Upton
2021-09-02 13:46 ` Andrew Jones
2021-09-02 13:46 ` Andrew Jones
2021-09-02 13:46 ` Andrew Jones
2021-09-01 21:14 ` [PATCH v3 04/12] KVM: arm64: selftests: Add basic support for arch_timers Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-02 14:12 ` Andrew Jones
2021-09-02 14:12 ` Andrew Jones
2021-09-02 14:12 ` Andrew Jones
2021-09-01 21:14 ` [PATCH v3 05/12] KVM: arm64: selftests: Add basic support to generate delays Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-02 14:35 ` Andrew Jones
2021-09-02 14:35 ` Andrew Jones
2021-09-02 14:35 ` Andrew Jones
2021-09-02 20:20 ` Oliver Upton
2021-09-02 20:20 ` Oliver Upton
2021-09-02 20:20 ` Oliver Upton
2021-09-01 21:14 ` [PATCH v3 06/12] KVM: arm64: selftests: Add support to disable and enable local IRQs Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-01 23:26 ` Oliver Upton
2021-09-01 23:26 ` Oliver Upton
2021-09-01 23:26 ` Oliver Upton
2021-09-02 14:43 ` Andrew Jones
2021-09-02 14:43 ` Andrew Jones
2021-09-02 14:43 ` Andrew Jones
2021-09-01 21:14 ` [PATCH v3 07/12] KVM: arm64: selftests: Add support to get the vcpuid from MPIDR_EL1 Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-01 23:48 ` Oliver Upton
2021-09-01 23:48 ` Oliver Upton
2021-09-01 23:48 ` Oliver Upton
2021-09-02 12:36 ` Andrew Jones
2021-09-02 12:36 ` Andrew Jones
2021-09-02 12:36 ` Andrew Jones
2021-09-02 17:52 ` Raghavendra Rao Ananta
2021-09-02 17:52 ` Raghavendra Rao Ananta
2021-09-02 17:52 ` Raghavendra Rao Ananta
2021-09-01 21:14 ` [PATCH v3 08/12] KVM: arm64: selftests: Add light-weight spinlock support Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-02 21:06 ` Oliver Upton
2021-09-02 21:06 ` Oliver Upton
2021-09-02 21:06 ` Oliver Upton
2021-09-03 8:25 ` Andrew Jones
2021-09-03 8:25 ` Andrew Jones
2021-09-03 8:25 ` Andrew Jones
2021-09-01 21:14 ` [PATCH v3 09/12] KVM: arm64: selftests: Add basic GICv3 support Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-03 9:37 ` Andrew Jones
2021-09-03 9:37 ` Andrew Jones
2021-09-03 9:37 ` Andrew Jones
2021-09-01 21:14 ` [PATCH v3 10/12] KVM: arm64: selftests: Add host support for vGIC Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-02 17:28 ` Ricardo Koller
2021-09-02 17:28 ` Ricardo Koller
2021-09-02 17:28 ` Ricardo Koller
2021-09-02 17:59 ` Raghavendra Rao Ananta
2021-09-02 17:59 ` Raghavendra Rao Ananta
2021-09-02 17:59 ` Raghavendra Rao Ananta
2021-09-03 10:00 ` Andrew Jones
2021-09-03 10:00 ` Andrew Jones
2021-09-03 10:00 ` Andrew Jones
2021-09-03 20:45 ` Raghavendra Rao Ananta
2021-09-03 20:45 ` Raghavendra Rao Ananta
2021-09-03 20:45 ` Raghavendra Rao Ananta
2021-09-03 10:51 ` Andrew Jones
2021-09-03 10:51 ` Andrew Jones
2021-09-03 10:51 ` Andrew Jones
2021-09-03 20:48 ` Raghavendra Rao Ananta
2021-09-03 20:48 ` Raghavendra Rao Ananta
2021-09-03 20:48 ` Raghavendra Rao Ananta
2021-09-01 21:14 ` [PATCH v3 11/12] KVM: arm64: selftests: Add arch_timer test Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-03 10:48 ` Andrew Jones
2021-09-03 10:48 ` Andrew Jones
2021-09-03 10:48 ` Andrew Jones
2021-09-03 20:42 ` Raghavendra Rao Ananta
2021-09-03 20:42 ` Raghavendra Rao Ananta
2021-09-03 20:42 ` Raghavendra Rao Ananta
2021-09-01 21:14 ` [PATCH v3 12/12] KVM: arm64: selftests: arch_timer: Support vCPU migration Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-01 21:14 ` Raghavendra Rao Ananta
2021-09-03 11:05 ` Andrew Jones
2021-09-03 11:05 ` Andrew Jones
2021-09-03 11:05 ` Andrew Jones
2021-09-03 20:53 ` Raghavendra Rao Ananta
2021-09-03 20:53 ` Raghavendra Rao Ananta
2021-09-03 20:53 ` Raghavendra Rao Ananta
2021-09-06 6:39 ` Andrew Jones
2021-09-06 6:39 ` Andrew Jones
2021-09-06 6:39 ` Andrew Jones
2021-09-07 16:14 ` Raghavendra Rao Ananta
2021-09-07 16:14 ` Raghavendra Rao Ananta
2021-09-07 16:14 ` Raghavendra Rao Ananta
2021-09-07 16:20 ` Andrew Jones
2021-09-07 16:20 ` Andrew Jones
2021-09-07 16:20 ` Andrew Jones
2021-09-01 22:04 ` [PATCH v3 00/12] KVM: arm64: selftests: Introduce arch_timer selftest Oliver Upton
2021-09-01 22:04 ` Oliver Upton
2021-09-01 22:04 ` Oliver Upton
2021-09-01 22:05 ` Oliver Upton
2021-09-01 22:05 ` Oliver Upton
2021-09-01 22:05 ` Oliver Upton
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=YTAHYrQslkY12715@google.com \
--to=oupton@google.com \
--cc=catalin.marinas@arm.com \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maz@kernel.org \
--cc=pbonzini@redhat.com \
--cc=pshier@google.com \
--cc=rananta@google.com \
--cc=will@kernel.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.