On 6/20/22 14:54, Pierre Morel wrote:
We report a topology change to the guest for any CPU hotplug.[...]
The reporting to the guest is done using the Multiprocessor
Topology-Change-Report (MTCR) bit of the utility entry in the guest's
SCA which will be cleared during the interpretation of PTF.
On every vCPU creation we set the MCTR bit to let the guest know the
next time he uses the PTF with command 2 instruction that the
topology changed and that he should use the STSI(15.1.x) instruction
to get the topology details.
STSI(15.1.x) gives information on the CPU configuration topology.
Let's accept the interception of STSI with the function code 15 and
let the userland part of the hypervisor handle it when userland
support the CPU Topology facility.
Signed-off-by: Pierre Morel <pmorel@xxxxxxxxxxxxx>
---
arch/s390/include/asm/kvm_host.h | 11 ++++++++---
arch/s390/kvm/kvm-s390.c | 27 ++++++++++++++++++++++++++-
arch/s390/kvm/priv.c | 15 +++++++++++----
arch/s390/kvm/vsie.c | 3 +++
4 files changed, 48 insertions(+), 8 deletions(-)
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
index 8fcb56141689..95b96019ca8e 100644
--- a/arch/s390/kvm/kvm-s390.c
+++ b/arch/s390/kvm/kvm-s390.c
@@ -1691,6 +1691,25 @@ static int kvm_s390_get_cpu_model(struct kvm *kvm, struct kvm_device_attr *attr)
return ret;
}
+/**
+ * kvm_s390_sca_set_mtcr
I wonder if there is a better name, kvm_s390_report_topology_change maybe?