[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 27/38] spapr: nested: Introduce SpaprMachineStateNested to store r
From: |
Nicholas Piggin |
Subject: |
[PULL 27/38] spapr: nested: Introduce SpaprMachineStateNested to store related info. |
Date: |
Wed, 13 Mar 2024 02:58:38 +1000 |
From: Harsh Prateek Bora <harshpb@linux.ibm.com>
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.
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
hw/ppc/spapr_nested.c | 8 ++++----
include/hw/ppc/spapr.h | 3 ++-
include/hw/ppc/spapr_nested.h | 5 +++++
3 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/hw/ppc/spapr_nested.c b/hw/ppc/spapr_nested.c
index f7888ca8bd..c2a33fc3a9 100644
--- a/hw/ppc/spapr_nested.c
+++ b/hw/ppc/spapr_nested.c
@@ -25,8 +25,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)) {
@@ -63,7 +63,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;
}
@@ -195,7 +195,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;
}
diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h
index 78a736297b..0eb01ea6fd 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 1df1ce14f6..2488ea98da 100644
--- a/include/hw/ppc/spapr_nested.h
+++ b/include/hw/ppc/spapr_nested.h
@@ -3,6 +3,10 @@
#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.
@@ -96,6 +100,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 */
--
2.42.0
- Re: [PULL 35/38] spapr: nested: Introduce H_GUEST_[GET|SET]_STATE hcalls., (continued)
[PULL 38/38] spapr: nested: Introduce cap-nested-papr for Nested PAPR API, Nicholas Piggin, 2024/03/12
[PULL 26/38] spapr: nested: move nested part of spapr_get_pate into spapr_nested.c, Nicholas Piggin, 2024/03/12
[PULL 25/38] spapr: nested: register nested-hv api hcalls only for cap-nested-hv, Nicholas Piggin, 2024/03/12
[PULL 30/38] spapr: nested: Introduce H_GUEST_[GET|SET]_CAPABILITIES hcalls., Nicholas Piggin, 2024/03/12
[PULL 29/38] spapr: nested: Document Nested PAPR API, Nicholas Piggin, 2024/03/12
[PULL 33/38] spapr: nested: Extend nested_ppc_state for nested PAPR API, Nicholas Piggin, 2024/03/12
[PULL 27/38] spapr: nested: Introduce SpaprMachineStateNested to store related info.,
Nicholas Piggin <=
[PULL 31/38] spapr: nested: Introduce H_GUEST_[CREATE|DELETE] hcalls., Nicholas Piggin, 2024/03/12
[PULL 32/38] spapr: nested: Introduce H_GUEST_CREATE_VCPU hcall., Nicholas Piggin, 2024/03/12
[PULL 34/38] spapr: nested: Initialize the GSB elements lookup table., Nicholas Piggin, 2024/03/12
[PULL 37/38] spapr: nested: Introduce H_GUEST_RUN_VCPU hcall., Nicholas Piggin, 2024/03/12
[PULL 36/38] spapr: nested: Use correct source for parttbl info for nested PAPR API., Nicholas Piggin, 2024/03/12
Re: [PULL 00/38] ppc-for-9.0-2 queue, Bernhard Beschow, 2024/03/12
Re: [PULL 00/38] ppc-for-9.0-2 queue, Peter Maydell, 2024/03/13