@@ -610,8 +610,10 @@ struct cpu_sve_state {
610
610
* field.
611
611
*/
612
612
struct kvm_host_data {
613
- #define KVM_HOST_DATA_FLAG_HAS_SPE 0
614
- #define KVM_HOST_DATA_FLAG_HAS_TRBE 1
613
+ #define KVM_HOST_DATA_FLAG_HAS_SPE 0
614
+ #define KVM_HOST_DATA_FLAG_HAS_TRBE 1
615
+ #define KVM_HOST_DATA_FLAG_HOST_SVE_ENABLED 2
616
+ #define KVM_HOST_DATA_FLAG_HOST_SME_ENABLED 3
615
617
unsigned long flags ;
616
618
617
619
struct kvm_cpu_context host_ctxt ;
@@ -916,22 +918,18 @@ struct kvm_vcpu_arch {
916
918
/* Guest debug is live */
917
919
#define DEBUG_DIRTY __vcpu_single_flag(iflags, BIT(4))
918
920
919
- /* SVE enabled for host EL0 */
920
- #define HOST_SVE_ENABLED __vcpu_single_flag(sflags, BIT(0))
921
- /* SME enabled for EL0 */
922
- #define HOST_SME_ENABLED __vcpu_single_flag(sflags, BIT(1))
923
921
/* Physical CPU not in supported_cpus */
924
- #define ON_UNSUPPORTED_CPU __vcpu_single_flag(sflags, BIT(2 ))
922
+ #define ON_UNSUPPORTED_CPU __vcpu_single_flag(sflags, BIT(0 ))
925
923
/* WFIT instruction trapped */
926
- #define IN_WFIT __vcpu_single_flag(sflags, BIT(3 ))
924
+ #define IN_WFIT __vcpu_single_flag(sflags, BIT(1 ))
927
925
/* vcpu system registers loaded on physical CPU */
928
- #define SYSREGS_ON_CPU __vcpu_single_flag(sflags, BIT(4 ))
926
+ #define SYSREGS_ON_CPU __vcpu_single_flag(sflags, BIT(2 ))
929
927
/* Software step state is Active-pending */
930
- #define DBG_SS_ACTIVE_PENDING __vcpu_single_flag(sflags, BIT(5 ))
928
+ #define DBG_SS_ACTIVE_PENDING __vcpu_single_flag(sflags, BIT(3 ))
931
929
/* PMUSERENR for the guest EL0 is on physical CPU */
932
- #define PMUSERENR_ON_CPU __vcpu_single_flag(sflags, BIT(6 ))
930
+ #define PMUSERENR_ON_CPU __vcpu_single_flag(sflags, BIT(4 ))
933
931
/* WFI instruction trapped */
934
- #define IN_WFI __vcpu_single_flag(sflags, BIT(7 ))
932
+ #define IN_WFI __vcpu_single_flag(sflags, BIT(5 ))
935
933
936
934
937
935
/* Pointer to the vcpu's SVE FFR for sve_{save,load}_state() */
0 commit comments