From: Oliver Upton <oliver.upton@linux.dev>
To: kvmarm@lists.linux.dev
Cc: kvm@vger.kernel.org, Marc Zyngier <maz@kernel.org>,
James Morse <james.morse@arm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Zenghui Yu <yuzenghui@huawei.com>, Will Deacon <will@kernel.org>,
Julien Thierry <julien.thierry.kdev@gmail.com>,
Salil Mehta <salil.mehta@huawei.com>,
Oliver Upton <oliver.upton@linux.dev>
Subject: [PATCH kvmtool v3 06/17] aarch64: Expose ARM64_CORE_REG() for general use
Date: Wed, 2 Aug 2023 23:42:44 +0000 [thread overview]
Message-ID: <20230802234255.466782-7-oliver.upton@linux.dev> (raw)
In-Reply-To: <20230802234255.466782-1-oliver.upton@linux.dev>
Expose the macro such that it may be used to get SMCCC arguments in a
future change.
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
---
arm/aarch64/include/kvm/kvm-cpu-arch.h | 16 ++++++++++++++++
arm/aarch64/kvm-cpu.c | 16 ----------------
2 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/arm/aarch64/include/kvm/kvm-cpu-arch.h b/arm/aarch64/include/kvm/kvm-cpu-arch.h
index aeae8c138bba..264d0016f7db 100644
--- a/arm/aarch64/include/kvm/kvm-cpu-arch.h
+++ b/arm/aarch64/include/kvm/kvm-cpu-arch.h
@@ -11,6 +11,22 @@
#define ARM_CPU_CTRL 3, 0, 1, 0
#define ARM_CPU_CTRL_SCTLR_EL1 0
+static inline __u64 __core_reg_id(__u64 offset)
+{
+ __u64 id = KVM_REG_ARM64 | KVM_REG_ARM_CORE | offset;
+
+ if (offset < KVM_REG_ARM_CORE_REG(fp_regs))
+ id |= KVM_REG_SIZE_U64;
+ else if (offset < KVM_REG_ARM_CORE_REG(fp_regs.fpsr))
+ id |= KVM_REG_SIZE_U128;
+ else
+ id |= KVM_REG_SIZE_U32;
+
+ return id;
+}
+
+#define ARM64_CORE_REG(x) __core_reg_id(KVM_REG_ARM_CORE_REG(x))
+
void kvm_cpu__select_features(struct kvm *kvm, struct kvm_vcpu_init *init);
int kvm_cpu__configure_features(struct kvm_cpu *vcpu);
int kvm_cpu__setup_pvtime(struct kvm_cpu *vcpu);
diff --git a/arm/aarch64/kvm-cpu.c b/arm/aarch64/kvm-cpu.c
index c8be10b3ca94..1e5a6cfdaf40 100644
--- a/arm/aarch64/kvm-cpu.c
+++ b/arm/aarch64/kvm-cpu.c
@@ -12,22 +12,6 @@
#define SCTLR_EL1_E0E_MASK (1 << 24)
#define SCTLR_EL1_EE_MASK (1 << 25)
-static __u64 __core_reg_id(__u64 offset)
-{
- __u64 id = KVM_REG_ARM64 | KVM_REG_ARM_CORE | offset;
-
- if (offset < KVM_REG_ARM_CORE_REG(fp_regs))
- id |= KVM_REG_SIZE_U64;
- else if (offset < KVM_REG_ARM_CORE_REG(fp_regs.fpsr))
- id |= KVM_REG_SIZE_U128;
- else
- id |= KVM_REG_SIZE_U32;
-
- return id;
-}
-
-#define ARM64_CORE_REG(x) __core_reg_id(KVM_REG_ARM_CORE_REG(x))
-
unsigned long kvm_cpu__get_vcpu_mpidr(struct kvm_cpu *vcpu)
{
struct kvm_one_reg reg;
--
2.41.0.585.gd2178a4bd4-goog
next prev parent reply other threads:[~2023-08-02 23:43 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-02 23:42 [PATCH kvmtool v3 00/17] aarch64: Handle PSCI calls in userspace Oliver Upton
2023-08-02 23:42 ` [PATCH kvmtool v3 01/17] Import arm-smccc.h from Linux 6.5-rc1 Oliver Upton
2023-08-02 23:42 ` [PATCH kvmtool v3 02/17] aarch64: Copy cputype.h " Oliver Upton
2023-08-02 23:42 ` [PATCH kvmtool v3 03/17] Update psci.h to " Oliver Upton
2023-08-02 23:42 ` [PATCH kvmtool v3 04/17] arm: Stash kvm_vcpu_init for later use Oliver Upton
2023-08-02 23:42 ` [PATCH kvmtool v3 05/17] arm: Use KVM_SET_MP_STATE ioctl to power off non-boot vCPUs Oliver Upton
2023-08-02 23:42 ` Oliver Upton [this message]
2023-08-02 23:42 ` [PATCH kvmtool v3 07/17] arm: Generalize execution state specific VM initialization Oliver Upton
2023-08-02 23:42 ` [PATCH kvmtool v3 08/17] Add helpers to pause the VM from vCPU thread Oliver Upton
2023-09-18 10:40 ` Will Deacon
2023-09-18 17:05 ` Oliver Upton
2023-08-02 23:42 ` [PATCH kvmtool v3 09/17] aarch64: Add support for finding vCPU for given MPIDR Oliver Upton
2023-08-02 23:42 ` [PATCH kvmtool v3 10/17] aarch64: Add skeleton implementation for PSCI Oliver Upton
2023-08-02 23:42 ` [PATCH kvmtool v3 11/17] aarch64: psci: Implement CPU_SUSPEND Oliver Upton
2023-08-02 23:42 ` [PATCH kvmtool v3 12/17] aarch64: psci: Implement CPU_OFF Oliver Upton
2023-08-02 23:42 ` [PATCH kvmtool v3 13/17] aarch64: psci: Implement CPU_ON Oliver Upton
2023-08-02 23:42 ` [PATCH kvmtool v3 14/17] aarch64: psci: Implement AFFINITY_INFO Oliver Upton
2023-08-02 23:42 ` [PATCH kvmtool v3 15/17] aarch64: psci: Implement MIGRATE_INFO_TYPE Oliver Upton
2023-08-02 23:42 ` [PATCH kvmtool v3 16/17] aarch64: psci: Implement SYSTEM_{OFF,RESET} Oliver Upton
2023-08-02 23:42 ` [PATCH kvmtool v3 17/17] aarch64: smccc: Start sending PSCI to userspace Oliver Upton
2023-09-13 18:42 ` [PATCH kvmtool v3 00/17] aarch64: Handle PSCI calls in userspace 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=20230802234255.466782-7-oliver.upton@linux.dev \
--to=oliver.upton@linux.dev \
--cc=james.morse@arm.com \
--cc=julien.thierry.kdev@gmail.com \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.linux.dev \
--cc=maz@kernel.org \
--cc=salil.mehta@huawei.com \
--cc=suzuki.poulose@arm.com \
--cc=will@kernel.org \
--cc=yuzenghui@huawei.com \
/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.