[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [Qemu-devel] [PATCH 05/13] target/arm/kvm: Add kvm_arch_g
From: |
Andrew Jones |
Subject: |
Re: [Qemu-arm] [Qemu-devel] [PATCH 05/13] target/arm/kvm: Add kvm_arch_get/put_sve |
Date: |
Mon, 13 May 2019 15:55:01 +0200 |
User-agent: |
NeoMutt/20180716 |
On Mon, May 13, 2019 at 01:31:11PM +0100, Dave Martin wrote:
> On Sun, May 12, 2019 at 09:36:16AM +0100, Andrew Jones wrote:
> > These are the SVE equivalents to kvm_arch_get/put_fpsimd.
> >
> > Signed-off-by: Andrew Jones <address@hidden>
> > ---
> > target/arm/kvm64.c | 127 +++++++++++++++++++++++++++++++++++++++++++--
> > 1 file changed, 123 insertions(+), 4 deletions(-)
>
> [...]
>
> > +static int kvm_arch_put_sve(CPUState *cs)
> > +{
> > + ARMCPU *cpu = ARM_CPU(cs);
> > + CPUARMState *env = &cpu->env;
> > + struct kvm_one_reg reg;
> > + int n, ret;
> > +
> > + for (n = 0; n < KVM_ARM64_SVE_NUM_ZREGS; n++) {
> > + uint64_t *q = aa64_vfp_qreg(env, n);
> > +#ifdef HOST_WORDS_BIGENDIAN
> > + uint64_t d[ARM_MAX_VQ * 2];
> > + int i;
> > + for (i = 0; i < cpu->sve_max_vq * 2; i++) {
> > + d[i] = q[cpu->sve_max_vq * 2 - 1 - i];
> > + }
>
> Out of interest, why do all this swabbing? It seems expensive.
>
QEMU keeps its 128-bit and larger words in the same order (least
significant word first) for both host endian types. We need to
do word swapping every time we set/get them to/from KVM.
Thanks,
drew
- Re: [Qemu-arm] [Qemu-devel] [PATCH 13/13] target/arm/kvm: host cpu: Add support for sve-vls-map, (continued)
- [Qemu-arm] [PATCH 07/13] target/arm/kvm: max cpu: Allow sve max vector length setting, Andrew Jones, 2019/05/12
- [Qemu-arm] [PATCH 04/13] target/arm/kvm: Move the get/put of fpsimd registers out, Andrew Jones, 2019/05/12
- [Qemu-arm] [PATCH 06/13] target/arm/kvm: max cpu: Enable SVE when available, Andrew Jones, 2019/05/12
- [Qemu-arm] [PATCH 12/13] target/arm/kvm: max cpu: Add support for sve-vls-map, Andrew Jones, 2019/05/12
- [Qemu-arm] [PATCH 05/13] target/arm/kvm: Add kvm_arch_get/put_sve, Andrew Jones, 2019/05/12
- Re: [Qemu-arm] [PATCH 05/13] target/arm/kvm: Add kvm_arch_get/put_sve, Richard Henderson, 2019/05/13
- Re: [Qemu-arm] [PATCH 05/13] target/arm/kvm: Add kvm_arch_get/put_sve, Andrew Jones, 2019/05/13
- Re: [Qemu-arm] [PATCH 05/13] target/arm/kvm: Add kvm_arch_get/put_sve, Richard Henderson, 2019/05/13
Re: [Qemu-arm] [PATCH 05/13] target/arm/kvm: Add kvm_arch_get/put_sve, Dave Martin, 2019/05/13