diff --git a/arm-cpu-Fixed-function-undefined-error-at-compile-ti.patch b/arm-cpu-Fixed-function-undefined-error-at-compile-ti.patch new file mode 100644 index 0000000000000000000000000000000000000000..b3e487ba8852dd073b059485187baed82a812d20 --- /dev/null +++ b/arm-cpu-Fixed-function-undefined-error-at-compile-ti.patch @@ -0,0 +1,68 @@ +From 03211772cd6e20e8ea9d63fceffb895b08ead8ac Mon Sep 17 00:00:00 2001 +From: zhanghao1 +Date: Tue, 11 May 2021 19:55:52 +0800 +Subject: [PATCH] arm/cpu: Fixed function undefined error at compile time under + arm + + Add the compilation option CONFIG_KVM while using + "kvm_arm_cpu_feature_supported" and "kvm_arm_get_one_reg". + In arm, the default value of CONFIG_KVM is no. + + While the target is arm, the compilation fails because + the function "kvm_arm_cpu_feature_supporte" is declared + or the function "kvm_arm_get_one_reg" is not defined. + +Signed-off-by: zhanghao1 +--- + target/arm/helper.c | 4 ++++ + target/arm/kvm_arm.h | 4 ++++ + 2 files changed, 8 insertions(+) + +diff --git a/target/arm/helper.c b/target/arm/helper.c +index bddd355fa0..9d2b2659f6 100644 +--- a/target/arm/helper.c ++++ b/target/arm/helper.c +@@ -284,6 +284,7 @@ bool write_cpustate_to_list(ARMCPU *cpu, bool kvm_sync) + + newval = read_raw_cp_reg(&cpu->env, ri); + if (kvm_sync) { ++#ifdef CONFIG_KVM + if (is_id_reg(ri)) { + /* Only sync if we can sync to KVM successfully. */ + uint64_t oldval; +@@ -306,6 +307,7 @@ bool write_cpustate_to_list(ARMCPU *cpu, bool kvm_sync) + + kvm_arm_set_one_reg(cpu, cpu->cpreg_indexes[i], &oldval); + } else { ++#endif + /* + * Only sync if the previous list->cpustate sync succeeded. + * Rather than tracking the success/failure state for every +@@ -324,7 +326,9 @@ bool write_cpustate_to_list(ARMCPU *cpu, bool kvm_sync) + } + + write_raw_cp_reg(&cpu->env, ri, newval); ++#ifdef CONFIG_KVM + } ++#endif + } + cpu->cpreg_values[i] = newval; + } +diff --git a/target/arm/kvm_arm.h b/target/arm/kvm_arm.h +index 49e80878f4..a223967d4d 100644 +--- a/target/arm/kvm_arm.h ++++ b/target/arm/kvm_arm.h +@@ -312,6 +312,10 @@ static inline void kvm_arm_set_cpu_features_from_host(ARMCPU *cpu) + + static inline void kvm_arm_add_vcpu_properties(Object *obj) {} + ++static inline bool kvm_arm_cpu_feature_supported(void) { ++ return false; ++} ++ + static inline int kvm_arm_get_max_vm_ipa_size(MachineState *ms) + { + return -ENOENT; +-- +2.27.0 + diff --git a/qemu.spec b/qemu.spec index 69244690c9af9492ed6bc258ef796fe272cba589..aa45644a84905bbc24cfb9834d61572e28b6cdf2 100644 --- a/qemu.spec +++ b/qemu.spec @@ -1,6 +1,6 @@ Name: qemu Version: 4.1.0 -Release: 42 +Release: 43 Epoch: 2 Summary: QEMU is a generic and open source machine emulator and virtualizer License: GPLv2 and BSD and MIT and CC-BY-SA-4.0 @@ -285,6 +285,7 @@ Patch0272: multifd-tls-fix-memoryleak-of-the-QIOChannelSocket-o.patch Patch0273: migration-fix-memory-leak-in-qmp_migrate_set_paramet.patch Patch0274: migration-tls-fix-inverted-semantics-in-multifd_chan.patch Patch0275: migration-tls-add-error-handling-in-multifd_tls_hand.patch +Patch0276: arm-cpu-Fixed-function-undefined-error-at-compile-ti.patch BuildRequires: flex BuildRequires: bison @@ -669,6 +670,9 @@ getent passwd qemu >/dev/null || \ %endif %changelog +* Tue May 11 2021 Chen Qun +- arm/cpu: Fixed function undefined error at compile time under arm + * Tue May 2021 Ming Yang - add qemu-block-iscsi installing requirement