[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen stable-4.16] libxl: allow building with old gcc again
commit 0d48119c1d94ec88de0aa43f43146c3d1ea07d47 Author: Jan Beulich <jbeulich@xxxxxxxx> AuthorDate: Thu Aug 3 17:35:39 2023 +0200 Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CommitDate: Tue Aug 8 16:02:54 2023 +0100 libxl: allow building with old gcc again We can't use initializers of unnamed struct/union members just yet. Fixes: d638fe233cb3 ("libxl: use the cpuid feature names from cpufeatureset.h") Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Reviewed-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> (cherry picked from commit 1aa5acbbec3f37bf38d78fa96d210053f8e8efd5) --- tools/libs/light/libxl_cpuid.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/tools/libs/light/libxl_cpuid.c b/tools/libs/light/libxl_cpuid.c index 0630d342b0..849722541c 100644 --- a/tools/libs/light/libxl_cpuid.c +++ b/tools/libs/light/libxl_cpuid.c @@ -316,12 +316,16 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_list *policy, const char* str) uint32_t index; unsigned int reg; } msr; - }; + } u; } feature_to_policy[] = { #define CPUID_ENTRY(l, s, r) \ - { .type = FEAT_CPUID, .cpuid.leaf = l, .cpuid.subleaf = s, .cpuid.reg = r } + { .type = FEAT_CPUID, \ + .u = { .cpuid.leaf = l, .cpuid.subleaf = s, .cpuid.reg = r } \ + } #define MSR_ENTRY(i, r) \ - { .type = FEAT_MSR, .msr.index = i, .msr.reg = r } + { .type = FEAT_MSR, \ + .u = { .msr.index = i, .msr.reg = r } \ + } CPUID_ENTRY(0x00000001, NA, CPUID_REG_EDX), CPUID_ENTRY(0x00000001, NA, CPUID_REG_ECX), CPUID_ENTRY(0x80000001, NA, CPUID_REG_EDX), @@ -380,9 +384,9 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_list *policy, const char* str) struct cpuid_flags f; f.name = feat->name; - f.leaf = feature_to_policy[feat->bit / 32].cpuid.leaf; - f.subleaf = feature_to_policy[feat->bit / 32].cpuid.subleaf; - f.reg = feature_to_policy[feat->bit / 32].cpuid.reg; + f.leaf = feature_to_policy[feat->bit / 32].u.cpuid.leaf; + f.subleaf = feature_to_policy[feat->bit / 32].u.cpuid.subleaf; + f.reg = feature_to_policy[feat->bit / 32].u.cpuid.reg; f.bit = feat->bit % 32; f.length = 1; @@ -393,10 +397,10 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_list *policy, const char* str) { unsigned int bit = feat->bit % 32; - if (feature_to_policy[feat->bit / 32].msr.reg == CPUID_REG_EDX) + if (feature_to_policy[feat->bit / 32].u.msr.reg == CPUID_REG_EDX) bit += 32; - return msr_add(policy, feature_to_policy[feat->bit / 32].msr.index, + return msr_add(policy, feature_to_policy[feat->bit / 32].u.msr.index, bit, val); } } -- generated by git-patchbot for /home/xen/git/xen.git#stable-4.16
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |