[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 03/15] spapr: nested: Introduce SpaprMachineStateNested to sto
From: |
Harsh Prateek Bora |
Subject: |
[PATCH v3 03/15] spapr: nested: Introduce SpaprMachineStateNested to store related info. |
Date: |
Thu, 18 Jan 2024 10:54:26 +0530 |
Currently, nested_ptcr is being used by existing nested-hv API to store
nested guest related info. This need to be organised to extend support
for the nested PAPR API which would need to store additional info
related to nested guests in next series of patches.
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
---
include/hw/ppc/spapr.h | 3 ++-
include/hw/ppc/spapr_nested.h | 5 +++++
hw/ppc/spapr_nested.c | 8 ++++----
3 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h
index d98fbf1def..5521cbe5fb 100644
--- a/include/hw/ppc/spapr.h
+++ b/include/hw/ppc/spapr.h
@@ -12,6 +12,7 @@
#include "hw/ppc/spapr_xive.h" /* For SpaprXive */
#include "hw/ppc/xics.h" /* For ICSState */
#include "hw/ppc/spapr_tpm_proxy.h"
+#include "hw/ppc/spapr_nested.h" /* For SpaprMachineStateNested */
struct SpaprVioBus;
struct SpaprPhbState;
@@ -213,7 +214,7 @@ struct SpaprMachineState {
uint32_t vsmt; /* Virtual SMT mode (KVM's "core stride") */
/* Nested HV support (TCG only) */
- uint64_t nested_ptcr;
+ SpaprMachineStateNested nested;
Notifier epow_notifier;
QTAILQ_HEAD(, SpaprEventLogEntry) pending_events;
diff --git a/include/hw/ppc/spapr_nested.h b/include/hw/ppc/spapr_nested.h
index cc199a05a7..e9c11111dd 100644
--- a/include/hw/ppc/spapr_nested.h
+++ b/include/hw/ppc/spapr_nested.h
@@ -4,6 +4,10 @@
#include "qemu/osdep.h"
#include "target/ppc/cpu.h"
+typedef struct SpaprMachineStateNested {
+ uint64_t ptcr;
+} SpaprMachineStateNested;
+
/*
* Register state for entering a nested guest with H_ENTER_NESTED.
* New member must be added at the end.
@@ -97,6 +101,7 @@ struct nested_ppc_state {
};
void spapr_exit_nested(PowerPCCPU *cpu, int excp);
+typedef struct SpaprMachineState SpaprMachineState;
bool spapr_get_pate_nested_hv(SpaprMachineState *spapr, PowerPCCPU *cpu,
target_ulong lpid, ppc_v3_pate_t *entry);
#endif /* HW_SPAPR_NESTED_H */
diff --git a/hw/ppc/spapr_nested.c b/hw/ppc/spapr_nested.c
index 401b52833f..a41f1af839 100644
--- a/hw/ppc/spapr_nested.c
+++ b/hw/ppc/spapr_nested.c
@@ -17,8 +17,8 @@ bool spapr_get_pate_nested_hv(SpaprMachineState *spapr,
PowerPCCPU *cpu,
assert(lpid != 0);
- patb = spapr->nested_ptcr & PTCR_PATB;
- pats = spapr->nested_ptcr & PTCR_PATS;
+ patb = spapr->nested.ptcr & PTCR_PATB;
+ pats = spapr->nested.ptcr & PTCR_PATS;
/* Check if partition table is properly aligned */
if (patb & MAKE_64BIT_MASK(0, pats + 12)) {
@@ -55,7 +55,7 @@ static target_ulong h_set_ptbl(PowerPCCPU *cpu,
return H_PARAMETER;
}
- spapr->nested_ptcr = ptcr; /* Save new partition table */
+ spapr->nested.ptcr = ptcr; /* Save new partition table */
return H_SUCCESS;
}
@@ -187,7 +187,7 @@ static target_ulong h_enter_nested(PowerPCCPU *cpu,
struct kvmppc_pt_regs *regs;
hwaddr len;
- if (spapr->nested_ptcr == 0) {
+ if (spapr->nested.ptcr == 0) {
return H_NOT_AVAILABLE;
}
--
2.39.3
- [PATCH v3 00/15] Nested PAPR API (KVM on PowerVM), Harsh Prateek Bora, 2024/01/18
- [PATCH v3 02/15] spapr: nested: move nested part of spapr_get_pate into spapr_nested.c, Harsh Prateek Bora, 2024/01/18
- [PATCH v3 01/15] spapr: nested: register nested-hv api hcalls only for cap-nested-hv, Harsh Prateek Bora, 2024/01/18
- [PATCH v3 03/15] spapr: nested: Introduce SpaprMachineStateNested to store related info.,
Harsh Prateek Bora <=
- [PATCH v3 04/15] spapr: nested: keep nested-hv related code restricted to its API., Harsh Prateek Bora, 2024/01/18
- [PATCH v3 06/15] spapr: nested: Introduce H_GUEST_[GET|SET]_CAPABILITIES hcalls., Harsh Prateek Bora, 2024/01/18
- [PATCH v3 07/15] spapr: nested: Introduce H_GUEST_[CREATE|DELETE] hcalls., Harsh Prateek Bora, 2024/01/18
- [PATCH v3 08/15] spapr: nested: Introduce H_GUEST_CREATE_VCPU hcall., Harsh Prateek Bora, 2024/01/18
- [PATCH v3 05/15] spapr: nested: Document Nested PAPR API, Harsh Prateek Bora, 2024/01/18
- [PATCH v3 09/15] spapr: nested: Extend nested_ppc_state for nested PAPR API, Harsh Prateek Bora, 2024/01/18
- [PATCH v3 10/15] spapr: nested: Initialize the GSB elements lookup table., Harsh Prateek Bora, 2024/01/18
- [PATCH v3 11/15] spapr: nested: Introduce H_GUEST_[GET|SET]_STATE hcalls., Harsh Prateek Bora, 2024/01/18
- [PATCH v3 15/15] spapr: nested: Set the PCR when logical PVR is set, Harsh Prateek Bora, 2024/01/18
- [PATCH v3 13/15] spapr: nested: Introduce H_GUEST_RUN_VCPU hcall., Harsh Prateek Bora, 2024/01/18