diff --git a/qemu/target/i386/cpu.c b/qemu/target/i386/cpu.c index 6addc127..6e17e00f 100644 --- a/qemu/target/i386/cpu.c +++ b/qemu/target/i386/cpu.c @@ -1239,6 +1239,7 @@ struct X86CPUDefinition { FeatureWordArray features; const char *model_id; bool cache_info_passthrough; + CPUCaches *cache_info; }; static X86CPUDefinition builtin_x86_defs[] = { diff --git a/qemu/target/i386/cpu.h b/qemu/target/i386/cpu.h index e2d73001..18155969 100644 --- a/qemu/target/i386/cpu.h +++ b/qemu/target/i386/cpu.h @@ -1053,6 +1053,13 @@ typedef struct CPUCacheInfo { bool complex_indexing; } CPUCacheInfo; +typedef struct CPUCaches { + CPUCacheInfo l1d_cache; + CPUCacheInfo l1i_cache; + CPUCacheInfo l2_cache; + CPUCacheInfo l3_cache; +} CPUCaches; + typedef struct CPUX86State { /* standard registers */ target_ulong regs[CPU_NB_REGS]; @@ -1227,6 +1234,7 @@ typedef struct CPUX86State { /* Features that were explicitly enabled/disabled */ FeatureWordArray user_features; uint32_t cpuid_model[12]; + CPUCaches *cache_info; /* MTRRs */ uint64_t mtrr_fixed[11];