All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [PULL 00/17] Build, x86 patches for 2024-02-16
@ 2024-02-20  8:05 Paolo Bonzini
  2024-02-20  8:05 ` [PULL 01/17] i386/cpu: Clear FEAT_XSAVE_XSS_LO/HI leafs when CPUID_EXT_XSAVE is not available Paolo Bonzini
                   ` (17 more replies)
  0 siblings, 18 replies; 19+ messages in thread
From: Paolo Bonzini @ 2024-02-20  8:05 UTC (permalink / raw
  To: qemu-devel

The following changes since commit 3ff11e4dcabe2b5b4c26e49d741018ec326f127f:

  Merge tag 'pull-target-arm-20240215' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2024-02-15 17:36:30 +0000)

are available in the Git repository at:

  https://gitlab.com/bonzini/qemu.git tags/for-upstream

for you to fetch changes up to 5f9beb5001738d9d32bb8a617ed0528d99d7f09a:

  ci: Fix again build-previous-qemu (2024-02-16 13:56:09 +0100)

----------------------------------------------------------------
* Some hw/isa cleanups
* Fixes for x86 CPUID
* Cleanups for configure, hw/isa and x86

----------------------------------------------------------------
Paolo Bonzini (8):
      mips: remove unnecessary "select PTIMER"
      isa-superio: validate floppy.count value
      smc37c669: remove useless is_enabled functions
      configure: do not create legacy symlinks
      configure: put all symlink creation together
      i386: xen: fix compilation --without-default-devices
      usb: inline device creation functions
      ci: Fix again build-previous-qemu

Xiaoyao Li (8):
      i386/cpu: Clear FEAT_XSAVE_XSS_LO/HI leafs when CPUID_EXT_XSAVE is not available
      i386/cpu: Mask with XCR0/XSS mask for FEAT_XSAVE_XCR0_HI and FEAT_XSAVE_XSS_HI leafs
      target/i386: Add support of KVM_FEATURE_ASYNC_PF_VMEXIT for guest
      i386/pc: Drop pc_machine_kvm_type()
      physmem: replace function name with __func__ in ram_block_discard_range()
      i386/cpuid: Decrease cpuid_i when skipping CPUID leaf 1F
      i386/cpuid: Remove subleaf constraint on CPUID leaf 1F
      i386/cpuid: Move leaf 7 to correct group

Ziqiao Kong (1):
      target/i386: Generate an illegal opcode exception on cmp instructions with lock prefix

 configure                   | 20 +++++---------------
 include/hw/i386/pc.h        |  3 ---
 include/hw/usb.h            | 27 ++++++++++++++++++++++++---
 hw/i386/pc.c                |  5 -----
 hw/isa/isa-superio.c        |  4 +++-
 hw/isa/smc37c669-superio.c  | 18 ------------------
 hw/usb/bus.c                | 23 -----------------------
 system/physmem.c            | 38 +++++++++++++++++---------------------
 target/i386/cpu.c           |  8 +++++---
 target/i386/kvm/kvm.c       |  7 ++-----
 target/i386/tcg/translate.c | 11 ++++++-----
 .gitlab-ci.d/buildtest.yml  |  2 +-
 accel/Kconfig               |  1 +
 hw/mips/Kconfig             |  1 -
 14 files changed, 64 insertions(+), 104 deletions(-)
-- 
2.43.0



^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PULL 01/17] i386/cpu: Clear FEAT_XSAVE_XSS_LO/HI leafs when CPUID_EXT_XSAVE is not available
  2024-02-20  8:05 [PULL 00/17] Build, x86 patches for 2024-02-16 Paolo Bonzini
@ 2024-02-20  8:05 ` Paolo Bonzini
  2024-02-20  8:05 ` [PULL 02/17] i386/cpu: Mask with XCR0/XSS mask for FEAT_XSAVE_XCR0_HI and FEAT_XSAVE_XSS_HI leafs Paolo Bonzini
                   ` (16 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Paolo Bonzini @ 2024-02-20  8:05 UTC (permalink / raw
  To: qemu-devel; +Cc: Xiaoyao Li, Yang Weijiang, qemu-stable

From: Xiaoyao Li <xiaoyao.li@intel.com>

Leaf FEAT_XSAVE_XSS_LO and FEAT_XSAVE_XSS_HI also need to be cleared
when CPUID_EXT_XSAVE is not set.

Fixes: 301e90675c3f ("target/i386: Enable support for XSAVES based features")
Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Reviewed-by: Yang Weijiang <weijiang.yang@intel.com>
Message-ID: <20240115091325.1904229-2-xiaoyao.li@intel.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 target/i386/cpu.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 0cd32a6fce3..800caeb593b 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -6927,6 +6927,8 @@ static void x86_cpu_enable_xsave_components(X86CPU *cpu)
     if (!(env->features[FEAT_1_ECX] & CPUID_EXT_XSAVE)) {
         env->features[FEAT_XSAVE_XCR0_LO] = 0;
         env->features[FEAT_XSAVE_XCR0_HI] = 0;
+        env->features[FEAT_XSAVE_XSS_LO] = 0;
+        env->features[FEAT_XSAVE_XSS_HI] = 0;
         return;
     }
 
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PULL 02/17] i386/cpu: Mask with XCR0/XSS mask for FEAT_XSAVE_XCR0_HI and FEAT_XSAVE_XSS_HI leafs
  2024-02-20  8:05 [PULL 00/17] Build, x86 patches for 2024-02-16 Paolo Bonzini
  2024-02-20  8:05 ` [PULL 01/17] i386/cpu: Clear FEAT_XSAVE_XSS_LO/HI leafs when CPUID_EXT_XSAVE is not available Paolo Bonzini
@ 2024-02-20  8:05 ` Paolo Bonzini
  2024-02-20  8:05 ` [PULL 03/17] target/i386: Add support of KVM_FEATURE_ASYNC_PF_VMEXIT for guest Paolo Bonzini
                   ` (15 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Paolo Bonzini @ 2024-02-20  8:05 UTC (permalink / raw
  To: qemu-devel; +Cc: Xiaoyao Li, Yang Weijiang, qemu-stable

From: Xiaoyao Li <xiaoyao.li@intel.com>

The value of FEAT_XSAVE_XCR0_HI leaf and FEAT_XSAVE_XSS_HI leaf also
need to be masked by XCR0 and XSS mask respectively, to make it
logically correct.

Fixes: 301e90675c3f ("target/i386: Enable support for XSAVES based features")
Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Reviewed-by: Yang Weijiang <weijiang.yang@intel.com>
Message-ID: <20240115091325.1904229-3-xiaoyao.li@intel.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 target/i386/cpu.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 800caeb593b..3ce138fecb7 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -6947,9 +6947,9 @@ static void x86_cpu_enable_xsave_components(X86CPU *cpu)
     }
 
     env->features[FEAT_XSAVE_XCR0_LO] = mask & CPUID_XSTATE_XCR0_MASK;
-    env->features[FEAT_XSAVE_XCR0_HI] = mask >> 32;
+    env->features[FEAT_XSAVE_XCR0_HI] = (mask & CPUID_XSTATE_XCR0_MASK) >> 32;
     env->features[FEAT_XSAVE_XSS_LO] = mask & CPUID_XSTATE_XSS_MASK;
-    env->features[FEAT_XSAVE_XSS_HI] = mask >> 32;
+    env->features[FEAT_XSAVE_XSS_HI] = (mask & CPUID_XSTATE_XSS_MASK) >> 32;
 }
 
 /***** Steps involved on loading and filtering CPUID data
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PULL 03/17] target/i386: Add support of KVM_FEATURE_ASYNC_PF_VMEXIT for guest
  2024-02-20  8:05 [PULL 00/17] Build, x86 patches for 2024-02-16 Paolo Bonzini
  2024-02-20  8:05 ` [PULL 01/17] i386/cpu: Clear FEAT_XSAVE_XSS_LO/HI leafs when CPUID_EXT_XSAVE is not available Paolo Bonzini
  2024-02-20  8:05 ` [PULL 02/17] i386/cpu: Mask with XCR0/XSS mask for FEAT_XSAVE_XCR0_HI and FEAT_XSAVE_XSS_HI leafs Paolo Bonzini
@ 2024-02-20  8:05 ` Paolo Bonzini
  2024-02-20  8:05 ` [PULL 04/17] i386/pc: Drop pc_machine_kvm_type() Paolo Bonzini
                   ` (14 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Paolo Bonzini @ 2024-02-20  8:05 UTC (permalink / raw
  To: qemu-devel; +Cc: Xiaoyao Li

From: Xiaoyao Li <xiaoyao.li@intel.com>

KVM_FEATURE_ASYNC_PF_VMEXIT has been introduced for years, however QEMU
doesn't support expose it to guest. Add support for it.

Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Message-ID: <20231024083354.1171308-1-xiaoyao.li@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 target/i386/cpu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 3ce138fecb7..bca776e1fe9 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -857,7 +857,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] = {
         .feat_names = {
             "kvmclock", "kvm-nopiodelay", "kvm-mmu", "kvmclock",
             "kvm-asyncpf", "kvm-steal-time", "kvm-pv-eoi", "kvm-pv-unhalt",
-            NULL, "kvm-pv-tlb-flush", NULL, "kvm-pv-ipi",
+            NULL, "kvm-pv-tlb-flush", "kvm-asyncpf-vmexit", "kvm-pv-ipi",
             "kvm-poll-control", "kvm-pv-sched-yield", "kvm-asyncpf-int", "kvm-msi-ext-dest-id",
             NULL, NULL, NULL, NULL,
             NULL, NULL, NULL, NULL,
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PULL 04/17] i386/pc: Drop pc_machine_kvm_type()
  2024-02-20  8:05 [PULL 00/17] Build, x86 patches for 2024-02-16 Paolo Bonzini
                   ` (2 preceding siblings ...)
  2024-02-20  8:05 ` [PULL 03/17] target/i386: Add support of KVM_FEATURE_ASYNC_PF_VMEXIT for guest Paolo Bonzini
@ 2024-02-20  8:05 ` Paolo Bonzini
  2024-02-20  8:05 ` [PULL 05/17] physmem: replace function name with __func__ in ram_block_discard_range() Paolo Bonzini
                   ` (13 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Paolo Bonzini @ 2024-02-20  8:05 UTC (permalink / raw
  To: qemu-devel
  Cc: Xiaoyao Li, Isaku Yamahata, David Hildenbrand, David Woodhouse,
	Michael S . Tsirkin

From: Xiaoyao Li <xiaoyao.li@intel.com>

pc_machine_kvm_type() was introduced by commit e21be724eaf5 ("i386/xen:
add pc_machine_kvm_type to initialize XEN_EMULATE mode") to do Xen
specific initialization by utilizing kvm_type method.

commit eeedfe6c6316 ("hw/xen: Simplify emulated Xen platform init")
moves the Xen specific initialization to pc_basic_device_init().

There is no need to keep the PC specific kvm_type() implementation
anymore. So we'll fallback to kvm_arch_get_default_type(), which
simply returns 0.

Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Reviewed-by: Isaku Yamahata <isaku.yamahata@intel.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Acked-by: David Woodhouse <dwmw@amazon.co.uk>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Message-ID: <20231007065819.27498-1-xiaoyao.li@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 include/hw/i386/pc.h | 3 ---
 hw/i386/pc.c         | 5 -----
 2 files changed, 8 deletions(-)

diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index ec0e5efcb28..02a0deedd3c 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -310,15 +310,12 @@ extern const size_t pc_compat_1_5_len;
 extern GlobalProperty pc_compat_1_4[];
 extern const size_t pc_compat_1_4_len;
 
-int pc_machine_kvm_type(MachineState *machine, const char *vm_type);
-
 #define DEFINE_PC_MACHINE(suffix, namestr, initfn, optsfn) \
     static void pc_machine_##suffix##_class_init(ObjectClass *oc, void *data) \
     { \
         MachineClass *mc = MACHINE_CLASS(oc); \
         optsfn(mc); \
         mc->init = initfn; \
-        mc->kvm_type = pc_machine_kvm_type; \
     } \
     static const TypeInfo pc_machine_type_##suffix = { \
         .name       = namestr TYPE_MACHINE_SUFFIX, \
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 196827531a5..28194014f82 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1756,11 +1756,6 @@ static void pc_machine_initfn(Object *obj)
     cxl_machine_init(obj, &pcms->cxl_devices_state);
 }
 
-int pc_machine_kvm_type(MachineState *machine, const char *kvm_type)
-{
-    return 0;
-}
-
 static void pc_machine_reset(MachineState *machine, ShutdownCause reason)
 {
     CPUState *cs;
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PULL 05/17] physmem: replace function name with __func__ in ram_block_discard_range()
  2024-02-20  8:05 [PULL 00/17] Build, x86 patches for 2024-02-16 Paolo Bonzini
                   ` (3 preceding siblings ...)
  2024-02-20  8:05 ` [PULL 04/17] i386/pc: Drop pc_machine_kvm_type() Paolo Bonzini
@ 2024-02-20  8:05 ` Paolo Bonzini
  2024-02-20  8:05 ` [PULL 06/17] i386/cpuid: Decrease cpuid_i when skipping CPUID leaf 1F Paolo Bonzini
                   ` (12 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Paolo Bonzini @ 2024-02-20  8:05 UTC (permalink / raw
  To: qemu-devel; +Cc: Xiaoyao Li, David Hildenbrand, Philippe Mathieu-Daudé

From: Xiaoyao Li <xiaoyao.li@intel.com>

Use __func__ to avoid hard-coded function name.

Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240125023328.2520888-1-xiaoyao.li@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 system/physmem.c | 38 +++++++++++++++++---------------------
 1 file changed, 17 insertions(+), 21 deletions(-)

diff --git a/system/physmem.c b/system/physmem.c
index 5e66d9ae361..5e054650b88 100644
--- a/system/physmem.c
+++ b/system/physmem.c
@@ -3495,16 +3495,15 @@ int ram_block_discard_range(RAMBlock *rb, uint64_t start, size_t length)
     uint8_t *host_startaddr = rb->host + start;
 
     if (!QEMU_PTR_IS_ALIGNED(host_startaddr, rb->page_size)) {
-        error_report("ram_block_discard_range: Unaligned start address: %p",
-                     host_startaddr);
+        error_report("%s: Unaligned start address: %p",
+                     __func__, host_startaddr);
         goto err;
     }
 
     if ((start + length) <= rb->max_length) {
         bool need_madvise, need_fallocate;
         if (!QEMU_IS_ALIGNED(length, rb->page_size)) {
-            error_report("ram_block_discard_range: Unaligned length: %zx",
-                         length);
+            error_report("%s: Unaligned length: %zx", __func__, length);
             goto err;
         }
 
@@ -3528,8 +3527,8 @@ int ram_block_discard_range(RAMBlock *rb, uint64_t start, size_t length)
              * proper error message.
              */
             if (rb->flags & RAM_READONLY_FD) {
-                error_report("ram_block_discard_range: Discarding RAM"
-                             " with readonly files is not supported");
+                error_report("%s: Discarding RAM with readonly files is not"
+                             " supported", __func__);
                 goto err;
 
             }
@@ -3544,27 +3543,26 @@ int ram_block_discard_range(RAMBlock *rb, uint64_t start, size_t length)
              * file.
              */
             if (!qemu_ram_is_shared(rb)) {
-                warn_report_once("ram_block_discard_range: Discarding RAM"
+                warn_report_once("%s: Discarding RAM"
                                  " in private file mappings is possibly"
                                  " dangerous, because it will modify the"
                                  " underlying file and will affect other"
-                                 " users of the file");
+                                 " users of the file", __func__);
             }
 
             ret = fallocate(rb->fd, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE,
                             start, length);
             if (ret) {
                 ret = -errno;
-                error_report("ram_block_discard_range: Failed to fallocate "
-                             "%s:%" PRIx64 " +%zx (%d)",
-                             rb->idstr, start, length, ret);
+                error_report("%s: Failed to fallocate %s:%" PRIx64 " +%zx (%d)",
+                             __func__, rb->idstr, start, length, ret);
                 goto err;
             }
 #else
             ret = -ENOSYS;
-            error_report("ram_block_discard_range: fallocate not available/file"
+            error_report("%s: fallocate not available/file"
                          "%s:%" PRIx64 " +%zx (%d)",
-                         rb->idstr, start, length, ret);
+                         __func__, rb->idstr, start, length, ret);
             goto err;
 #endif
         }
@@ -3582,25 +3580,23 @@ int ram_block_discard_range(RAMBlock *rb, uint64_t start, size_t length)
             }
             if (ret) {
                 ret = -errno;
-                error_report("ram_block_discard_range: Failed to discard range "
+                error_report("%s: Failed to discard range "
                              "%s:%" PRIx64 " +%zx (%d)",
-                             rb->idstr, start, length, ret);
+                             __func__, rb->idstr, start, length, ret);
                 goto err;
             }
 #else
             ret = -ENOSYS;
-            error_report("ram_block_discard_range: MADVISE not available"
-                         "%s:%" PRIx64 " +%zx (%d)",
-                         rb->idstr, start, length, ret);
+            error_report("%s: MADVISE not available %s:%" PRIx64 " +%zx (%d)",
+                         __func__, rb->idstr, start, length, ret);
             goto err;
 #endif
         }
         trace_ram_block_discard_range(rb->idstr, host_startaddr, length,
                                       need_madvise, need_fallocate, ret);
     } else {
-        error_report("ram_block_discard_range: Overrun block '%s' (%" PRIu64
-                     "/%zx/" RAM_ADDR_FMT")",
-                     rb->idstr, start, length, rb->max_length);
+        error_report("%s: Overrun block '%s' (%" PRIu64 "/%zx/" RAM_ADDR_FMT")",
+                     __func__, rb->idstr, start, length, rb->max_length);
     }
 
 err:
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PULL 06/17] i386/cpuid: Decrease cpuid_i when skipping CPUID leaf 1F
  2024-02-20  8:05 [PULL 00/17] Build, x86 patches for 2024-02-16 Paolo Bonzini
                   ` (4 preceding siblings ...)
  2024-02-20  8:05 ` [PULL 05/17] physmem: replace function name with __func__ in ram_block_discard_range() Paolo Bonzini
@ 2024-02-20  8:05 ` Paolo Bonzini
  2024-02-20  8:05 ` [PULL 07/17] i386/cpuid: Remove subleaf constraint on " Paolo Bonzini
                   ` (11 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Paolo Bonzini @ 2024-02-20  8:05 UTC (permalink / raw
  To: qemu-devel; +Cc: Xiaoyao Li, qemu-stable

From: Xiaoyao Li <xiaoyao.li@intel.com>

Existing code misses a decrement of cpuid_i when skip leaf 0x1F.
There's a blank CPUID entry(with leaf, subleaf as 0, and all fields
stuffed 0s) left in the CPUID array.

It conflicts with correct CPUID leaf 0.

Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Reviewed-by:Yang Weijiang <weijiang.yang@intel.com>
Message-ID: <20240125024016.2521244-2-xiaoyao.li@intel.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 target/i386/kvm/kvm.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c
index 76a66246eb7..dff9dedbd76 100644
--- a/target/i386/kvm/kvm.c
+++ b/target/i386/kvm/kvm.c
@@ -1914,6 +1914,7 @@ int kvm_arch_init_vcpu(CPUState *cs)
         }
         case 0x1f:
             if (env->nr_dies < 2) {
+                cpuid_i--;
                 break;
             }
             /* fallthrough */
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PULL 07/17] i386/cpuid: Remove subleaf constraint on CPUID leaf 1F
  2024-02-20  8:05 [PULL 00/17] Build, x86 patches for 2024-02-16 Paolo Bonzini
                   ` (5 preceding siblings ...)
  2024-02-20  8:05 ` [PULL 06/17] i386/cpuid: Decrease cpuid_i when skipping CPUID leaf 1F Paolo Bonzini
@ 2024-02-20  8:05 ` Paolo Bonzini
  2024-02-20  8:05 ` [PULL 08/17] i386/cpuid: Move leaf 7 to correct group Paolo Bonzini
                   ` (10 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Paolo Bonzini @ 2024-02-20  8:05 UTC (permalink / raw
  To: qemu-devel; +Cc: Xiaoyao Li

From: Xiaoyao Li <xiaoyao.li@intel.com>

No such constraint that subleaf index needs to be less than 64.

Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Reviewed-by:Yang Weijiang <weijiang.yang@intel.com>
Message-ID: <20240125024016.2521244-3-xiaoyao.li@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 target/i386/kvm/kvm.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c
index dff9dedbd76..9758c83693e 100644
--- a/target/i386/kvm/kvm.c
+++ b/target/i386/kvm/kvm.c
@@ -1926,10 +1926,6 @@ int kvm_arch_init_vcpu(CPUState *cs)
                     break;
                 }
 
-                if (i == 0x1f && j == 64) {
-                    break;
-                }
-
                 c->function = i;
                 c->flags = KVM_CPUID_FLAG_SIGNIFCANT_INDEX;
                 c->index = j;
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PULL 08/17] i386/cpuid: Move leaf 7 to correct group
  2024-02-20  8:05 [PULL 00/17] Build, x86 patches for 2024-02-16 Paolo Bonzini
                   ` (6 preceding siblings ...)
  2024-02-20  8:05 ` [PULL 07/17] i386/cpuid: Remove subleaf constraint on " Paolo Bonzini
@ 2024-02-20  8:05 ` Paolo Bonzini
  2024-02-20  8:05 ` [PULL 09/17] mips: remove unnecessary "select PTIMER" Paolo Bonzini
                   ` (9 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Paolo Bonzini @ 2024-02-20  8:05 UTC (permalink / raw
  To: qemu-devel; +Cc: Xiaoyao Li, qemu-stable

From: Xiaoyao Li <xiaoyao.li@intel.com>

CPUID leaf 7 was grouped together with SGX leaf 0x12 by commit
b9edbadefb9e ("i386: Propagate SGX CPUID sub-leafs to KVM") by mistake.

SGX leaf 0x12 has its specific logic to check if subleaf (starting from 2)
is valid or not by checking the bit 0:3 of corresponding EAX is 1 or
not.

Leaf 7 follows the logic that EAX of subleaf 0 enumerates the maximum
valid subleaf.

Fixes: b9edbadefb9e ("i386: Propagate SGX CPUID sub-leafs to KVM")
Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Message-ID: <20240125024016.2521244-4-xiaoyao.li@intel.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 target/i386/kvm/kvm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c
index 9758c83693e..42970ab046f 100644
--- a/target/i386/kvm/kvm.c
+++ b/target/i386/kvm/kvm.c
@@ -1951,7 +1951,6 @@ int kvm_arch_init_vcpu(CPUState *cs)
                 c = &cpuid_data.entries[cpuid_i++];
             }
             break;
-        case 0x7:
         case 0x12:
             for (j = 0; ; j++) {
                 c->function = i;
@@ -1971,6 +1970,7 @@ int kvm_arch_init_vcpu(CPUState *cs)
                 c = &cpuid_data.entries[cpuid_i++];
             }
             break;
+        case 0x7:
         case 0x14:
         case 0x1d:
         case 0x1e: {
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PULL 09/17] mips: remove unnecessary "select PTIMER"
  2024-02-20  8:05 [PULL 00/17] Build, x86 patches for 2024-02-16 Paolo Bonzini
                   ` (7 preceding siblings ...)
  2024-02-20  8:05 ` [PULL 08/17] i386/cpuid: Move leaf 7 to correct group Paolo Bonzini
@ 2024-02-20  8:05 ` Paolo Bonzini
  2024-02-20  8:05 ` [PULL 10/17] isa-superio: validate floppy.count value Paolo Bonzini
                   ` (8 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Paolo Bonzini @ 2024-02-20  8:05 UTC (permalink / raw
  To: qemu-devel; +Cc: Philippe Mathieu-Daudé

There is no use of ptimer functions in mips_cps.c or any other related
code.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/mips/Kconfig | 1 -
 1 file changed, 1 deletion(-)

diff --git a/hw/mips/Kconfig b/hw/mips/Kconfig
index 505381a0bba..ab61af209a0 100644
--- a/hw/mips/Kconfig
+++ b/hw/mips/Kconfig
@@ -50,7 +50,6 @@ config LOONGSON3V
 
 config MIPS_CPS
     bool
-    select PTIMER
     select MIPS_ITU
 
 config MIPS_BOSTON
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PULL 10/17] isa-superio: validate floppy.count value
  2024-02-20  8:05 [PULL 00/17] Build, x86 patches for 2024-02-16 Paolo Bonzini
                   ` (8 preceding siblings ...)
  2024-02-20  8:05 ` [PULL 09/17] mips: remove unnecessary "select PTIMER" Paolo Bonzini
@ 2024-02-20  8:05 ` Paolo Bonzini
  2024-02-20  8:05 ` [PULL 11/17] smc37c669: remove useless is_enabled functions Paolo Bonzini
                   ` (7 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Paolo Bonzini @ 2024-02-20  8:05 UTC (permalink / raw
  To: qemu-devel; +Cc: Philippe Mathieu-Daudé

Ensure that the value is valid; it can only be zero or one.
And never create a floppy disk controller if it is zero.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/isa/isa-superio.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/hw/isa/isa-superio.c b/hw/isa/isa-superio.c
index 7dbfc374da3..e06a548c682 100644
--- a/hw/isa/isa-superio.c
+++ b/hw/isa/isa-superio.c
@@ -116,7 +116,9 @@ static void isa_superio_realize(DeviceState *dev, Error **errp)
     }
 
     /* Floppy disc */
-    if (!k->floppy.is_enabled || k->floppy.is_enabled(sio, 0)) {
+    assert(k->floppy.count <= 1);
+    if (k->floppy.count &&
+        (!k->floppy.is_enabled || k->floppy.is_enabled(sio, 0))) {
         isa = isa_new(TYPE_ISA_FDC);
         d = DEVICE(isa);
         if (k->floppy.get_iobase) {
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PULL 11/17] smc37c669: remove useless is_enabled functions
  2024-02-20  8:05 [PULL 00/17] Build, x86 patches for 2024-02-16 Paolo Bonzini
                   ` (9 preceding siblings ...)
  2024-02-20  8:05 ` [PULL 10/17] isa-superio: validate floppy.count value Paolo Bonzini
@ 2024-02-20  8:05 ` Paolo Bonzini
  2024-02-20  8:05 ` [PULL 12/17] configure: do not create legacy symlinks Paolo Bonzini
                   ` (6 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Paolo Bonzini @ 2024-02-20  8:05 UTC (permalink / raw
  To: qemu-devel; +Cc: Bernhard Beschow

Calls to is_enabled are bounded to indices that actually exist in
the SuperIO device.  Therefore, the is_enabled functions in
smc37c669 are not doing anything and they can be removed.

Reviewed-by: Bernhard Beschow <shentey@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/isa/smc37c669-superio.c | 18 ------------------
 1 file changed, 18 deletions(-)

diff --git a/hw/isa/smc37c669-superio.c b/hw/isa/smc37c669-superio.c
index 18287741cb4..388e2ed9371 100644
--- a/hw/isa/smc37c669-superio.c
+++ b/hw/isa/smc37c669-superio.c
@@ -14,11 +14,6 @@
 
 /* UARTs (compatible with NS16450 or PC16550) */
 
-static bool is_serial_enabled(ISASuperIODevice *sio, uint8_t index)
-{
-    return index < 2;
-}
-
 static uint16_t get_serial_iobase(ISASuperIODevice *sio, uint8_t index)
 {
     return index ? 0x2f8 : 0x3f8;
@@ -31,11 +26,6 @@ static unsigned int get_serial_irq(ISASuperIODevice *sio, uint8_t index)
 
 /* Parallel port */
 
-static bool is_parallel_enabled(ISASuperIODevice *sio, uint8_t index)
-{
-    return index < 1;
-}
-
 static uint16_t get_parallel_iobase(ISASuperIODevice *sio, uint8_t index)
 {
     return 0x378;
@@ -53,11 +43,6 @@ static unsigned int get_parallel_dma(ISASuperIODevice *sio, uint8_t index)
 
 /* Diskette controller (Software compatible with the Intel PC8477) */
 
-static bool is_fdc_enabled(ISASuperIODevice *sio, uint8_t index)
-{
-    return index < 1;
-}
-
 static uint16_t get_fdc_iobase(ISASuperIODevice *sio, uint8_t index)
 {
     return 0x3f0;
@@ -79,20 +64,17 @@ static void smc37c669_class_init(ObjectClass *klass, void *data)
 
     sc->parallel = (ISASuperIOFuncs){
         .count = 1,
-        .is_enabled = is_parallel_enabled,
         .get_iobase = get_parallel_iobase,
         .get_irq    = get_parallel_irq,
         .get_dma    = get_parallel_dma,
     };
     sc->serial = (ISASuperIOFuncs){
         .count = 2,
-        .is_enabled = is_serial_enabled,
         .get_iobase = get_serial_iobase,
         .get_irq    = get_serial_irq,
     };
     sc->floppy = (ISASuperIOFuncs){
         .count = 1,
-        .is_enabled = is_fdc_enabled,
         .get_iobase = get_fdc_iobase,
         .get_irq    = get_fdc_irq,
         .get_dma    = get_fdc_dma,
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PULL 12/17] configure: do not create legacy symlinks
  2024-02-20  8:05 [PULL 00/17] Build, x86 patches for 2024-02-16 Paolo Bonzini
                   ` (10 preceding siblings ...)
  2024-02-20  8:05 ` [PULL 11/17] smc37c669: remove useless is_enabled functions Paolo Bonzini
@ 2024-02-20  8:05 ` Paolo Bonzini
  2024-02-20  8:05 ` [PULL 13/17] configure: put all symlink creation together Paolo Bonzini
                   ` (5 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Paolo Bonzini @ 2024-02-20  8:05 UTC (permalink / raw
  To: qemu-devel; +Cc: Thomas Huth

With more than three years since Meson was introduced in the build system, people
have had quite some time to move away from the foo-softmmu/qemu-system-* and
foo-linux-user/qemu-* symbolic links.  Remove them, and with them another
instance of the "softmmu" name for system emulators.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/configure b/configure
index ff058d6c486..9cdb5a6818b 100755
--- a/configure
+++ b/configure
@@ -1605,21 +1605,11 @@ echo "GENISOIMAGE=$genisoimage" >> $config_host_mak
 echo "MESON=$meson" >> $config_host_mak
 echo "NINJA=$ninja" >> $config_host_mak
 echo "EXESUF=$EXESUF" >> $config_host_mak
-
 # use included Linux headers for KVM architectures
 if test "$host_os" = "linux" && test -n "$linux_arch"; then
   symlink "$source_path/linux-headers/asm-$linux_arch" linux-headers/asm
 fi
 
-for target in $target_list; do
-    target_dir="$target"
-    target_name=$(echo $target | cut -d '-' -f 1)$EXESUF
-    case $target in
-        *-user) symlink "../qemu-$target_name" "$target_dir/qemu-$target_name" ;;
-        *) symlink "../qemu-system-$target_name" "$target_dir/qemu-system-$target_name" ;;
-    esac
-done
-
 if test "$default_targets" = "yes"; then
   echo "CONFIG_DEFAULT_TARGETS=y" >> $config_host_mak
 fi
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PULL 13/17] configure: put all symlink creation together
  2024-02-20  8:05 [PULL 00/17] Build, x86 patches for 2024-02-16 Paolo Bonzini
                   ` (11 preceding siblings ...)
  2024-02-20  8:05 ` [PULL 12/17] configure: do not create legacy symlinks Paolo Bonzini
@ 2024-02-20  8:05 ` Paolo Bonzini
  2024-02-20  8:05 ` [PULL 14/17] i386: xen: fix compilation --without-default-devices Paolo Bonzini
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Paolo Bonzini @ 2024-02-20  8:05 UTC (permalink / raw
  To: qemu-devel; +Cc: Thomas Huth

Cc: Thomas Huth <thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/configure b/configure
index 9cdb5a6818b..3cd736b139f 100755
--- a/configure
+++ b/configure
@@ -1538,6 +1538,11 @@ for f in $LINKS ; do
     fi
 done
 
+# use included Linux headers for KVM architectures
+if test "$host_os" = "linux" && test -n "$linux_arch"; then
+  symlink "$source_path/linux-headers/asm-$linux_arch" linux-headers/asm
+fi
+
 echo "# Automatically generated by configure - do not modify" > Makefile.prereqs
 
 # Mac OS X ships with a broken assembler
@@ -1605,11 +1610,6 @@ echo "GENISOIMAGE=$genisoimage" >> $config_host_mak
 echo "MESON=$meson" >> $config_host_mak
 echo "NINJA=$ninja" >> $config_host_mak
 echo "EXESUF=$EXESUF" >> $config_host_mak
-# use included Linux headers for KVM architectures
-if test "$host_os" = "linux" && test -n "$linux_arch"; then
-  symlink "$source_path/linux-headers/asm-$linux_arch" linux-headers/asm
-fi
-
 if test "$default_targets" = "yes"; then
   echo "CONFIG_DEFAULT_TARGETS=y" >> $config_host_mak
 fi
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PULL 14/17] i386: xen: fix compilation --without-default-devices
  2024-02-20  8:05 [PULL 00/17] Build, x86 patches for 2024-02-16 Paolo Bonzini
                   ` (12 preceding siblings ...)
  2024-02-20  8:05 ` [PULL 13/17] configure: put all symlink creation together Paolo Bonzini
@ 2024-02-20  8:05 ` Paolo Bonzini
  2024-02-20  8:05 ` [PULL 15/17] target/i386: Generate an illegal opcode exception on cmp instructions with lock prefix Paolo Bonzini
                   ` (3 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Paolo Bonzini @ 2024-02-20  8:05 UTC (permalink / raw
  To: qemu-devel

The xenpv machine type requires XEN_BUS, so select it.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 accel/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/accel/Kconfig b/accel/Kconfig
index a30cf2eb483..794e0d18d21 100644
--- a/accel/Kconfig
+++ b/accel/Kconfig
@@ -16,3 +16,4 @@ config KVM
 config XEN
     bool
     select FSDEV_9P if VIRTFS
+    select XEN_BUS
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PULL 15/17] target/i386: Generate an illegal opcode exception on cmp instructions with lock prefix
  2024-02-20  8:05 [PULL 00/17] Build, x86 patches for 2024-02-16 Paolo Bonzini
                   ` (13 preceding siblings ...)
  2024-02-20  8:05 ` [PULL 14/17] i386: xen: fix compilation --without-default-devices Paolo Bonzini
@ 2024-02-20  8:05 ` Paolo Bonzini
  2024-02-20  8:05 ` [PULL 16/17] usb: inline device creation functions Paolo Bonzini
                   ` (2 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: Paolo Bonzini @ 2024-02-20  8:05 UTC (permalink / raw
  To: qemu-devel; +Cc: Ziqiao Kong, qemu-stable

From: Ziqiao Kong <ziqiaokong@gmail.com>

target/i386: As specified by Intel Manual Vol2 3-180, cmp instructions
are not allowed to have lock prefix and a `UD` should be raised. Without
this patch, s1->T0 will be uninitialized and used in the case OP_CMPL.

Signed-off-by: Ziqiao Kong <ziqiaokong@gmail.com>
Message-ID: <20240215095015.570748-2-ziqiaokong@gmail.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 target/i386/tcg/translate.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c
index 10cba162566..07f642dc9e9 100644
--- a/target/i386/tcg/translate.c
+++ b/target/i386/tcg/translate.c
@@ -1507,12 +1507,13 @@ static bool check_iopl(DisasContext *s)
 /* if d == OR_TMP0, it means memory operand (address in A0) */
 static void gen_op(DisasContext *s1, int op, MemOp ot, int d)
 {
+    /* Invalid lock prefix when destination is not memory or OP_CMPL. */
+    if ((d != OR_TMP0 || op == OP_CMPL) && s1->prefix & PREFIX_LOCK) {
+        gen_illegal_opcode(s1);
+        return;
+    }
+
     if (d != OR_TMP0) {
-        if (s1->prefix & PREFIX_LOCK) {
-            /* Lock prefix when destination is not memory.  */
-            gen_illegal_opcode(s1);
-            return;
-        }
         gen_op_mov_v_reg(s1, ot, s1->T0, d);
     } else if (!(s1->prefix & PREFIX_LOCK)) {
         gen_op_ld_v(s1, ot, s1->T0, s1->A0);
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PULL 16/17] usb: inline device creation functions
  2024-02-20  8:05 [PULL 00/17] Build, x86 patches for 2024-02-16 Paolo Bonzini
                   ` (14 preceding siblings ...)
  2024-02-20  8:05 ` [PULL 15/17] target/i386: Generate an illegal opcode exception on cmp instructions with lock prefix Paolo Bonzini
@ 2024-02-20  8:05 ` Paolo Bonzini
  2024-02-20  8:05 ` [PULL 17/17] ci: Fix again build-previous-qemu Paolo Bonzini
  2024-02-20 15:26 ` [PULL 00/17] Build, x86 patches for 2024-02-16 Peter Maydell
  17 siblings, 0 replies; 19+ messages in thread
From: Paolo Bonzini @ 2024-02-20  8:05 UTC (permalink / raw
  To: qemu-devel; +Cc: Richard Henderson

Allow boards to use the device creation functions even if USB itself
is not available; of course the functions will fail inexorably, but
this can be okay if the calls are conditional on the existence of
some USB host controller device.  This is for example the case for
hw/mips/loongson3_virt.c.

Acked-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 include/hw/usb.h | 27 ++++++++++++++++++++++++---
 hw/usb/bus.c     | 23 -----------------------
 2 files changed, 24 insertions(+), 26 deletions(-)

diff --git a/include/hw/usb.h b/include/hw/usb.h
index 32c23a5ca2a..cfeead28403 100644
--- a/include/hw/usb.h
+++ b/include/hw/usb.h
@@ -30,6 +30,7 @@
 #include "qemu/iov.h"
 #include "qemu/queue.h"
 #include "qom/object.h"
+#include "qapi/error.h"
 
 /* Constants related to the USB / PCI interaction */
 #define USB_SBRN    0x60 /* Serial Bus Release Number Register */
@@ -500,9 +501,6 @@ void usb_bus_release(USBBus *bus);
 USBBus *usb_bus_find(int busnr);
 void usb_legacy_register(const char *typename, const char *usbdevice_name,
                          USBDevice *(*usbdevice_init)(void));
-USBDevice *usb_new(const char *name);
-bool usb_realize_and_unref(USBDevice *dev, USBBus *bus, Error **errp);
-USBDevice *usb_create_simple(USBBus *bus, const char *name);
 USBDevice *usbdevice_create(const char *cmdline);
 void usb_register_port(USBBus *bus, USBPort *port, void *opaque, int index,
                        USBPortOps *ops, int speedmask);
@@ -582,4 +580,27 @@ void usb_pcap_init(FILE *fp);
 void usb_pcap_ctrl(USBPacket *p, bool setup);
 void usb_pcap_data(USBPacket *p, bool setup);
 
+static inline USBDevice *usb_new(const char *name)
+{
+    return USB_DEVICE(qdev_new(name));
+}
+
+static inline USBDevice *usb_try_new(const char *name)
+{
+    return USB_DEVICE(qdev_try_new(name));
+}
+
+static inline bool usb_realize_and_unref(USBDevice *dev, USBBus *bus, Error **errp)
+{
+    return qdev_realize_and_unref(&dev->qdev, &bus->qbus, errp);
+}
+
+static inline USBDevice *usb_create_simple(USBBus *bus, const char *name)
+{
+    USBDevice *dev = usb_new(name);
+
+    usb_realize_and_unref(dev, bus, &error_abort);
+    return dev;
+}
+
 #endif
diff --git a/hw/usb/bus.c b/hw/usb/bus.c
index 59c39945ddd..76fda41b7ec 100644
--- a/hw/usb/bus.c
+++ b/hw/usb/bus.c
@@ -329,29 +329,6 @@ void usb_legacy_register(const char *typename, const char *usbdevice_name,
     }
 }
 
-USBDevice *usb_new(const char *name)
-{
-    return USB_DEVICE(qdev_new(name));
-}
-
-static USBDevice *usb_try_new(const char *name)
-{
-    return USB_DEVICE(qdev_try_new(name));
-}
-
-bool usb_realize_and_unref(USBDevice *dev, USBBus *bus, Error **errp)
-{
-    return qdev_realize_and_unref(&dev->qdev, &bus->qbus, errp);
-}
-
-USBDevice *usb_create_simple(USBBus *bus, const char *name)
-{
-    USBDevice *dev = usb_new(name);
-
-    usb_realize_and_unref(dev, bus, &error_abort);
-    return dev;
-}
-
 static void usb_fill_port(USBPort *port, void *opaque, int index,
                           USBPortOps *ops, int speedmask)
 {
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PULL 17/17] ci: Fix again build-previous-qemu
  2024-02-20  8:05 [PULL 00/17] Build, x86 patches for 2024-02-16 Paolo Bonzini
                   ` (15 preceding siblings ...)
  2024-02-20  8:05 ` [PULL 16/17] usb: inline device creation functions Paolo Bonzini
@ 2024-02-20  8:05 ` Paolo Bonzini
  2024-02-20 15:26 ` [PULL 00/17] Build, x86 patches for 2024-02-16 Peter Maydell
  17 siblings, 0 replies; 19+ messages in thread
From: Paolo Bonzini @ 2024-02-20  8:05 UTC (permalink / raw
  To: qemu-devel; +Cc: Fabiano Rosas

The build-previous-qemu job is now trying to fetch from the upstream
repository, but the tag is only fetched into FETCH_HEAD:

$ git remote add upstream https://gitlab.com/qemu-project/qemu 00:00
$ git fetch upstream $QEMU_PREV_VERSION 00:02
warning: redirecting to https://gitlab.com/qemu-project/qemu.git/
From https://gitlab.com/qemu-project/qemu
 * tag                     v8.2.0     -> FETCH_HEAD
$ git checkout $QEMU_PREV_VERSION 00:02
error: pathspec v8.2.0 did not match any file(s) known to git

Fix by fetching the tag into the checkout itself.

Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 .gitlab-ci.d/buildtest.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index f56df59c949..a1c030337b1 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -190,7 +190,7 @@ build-previous-qemu:
   before_script:
     - export QEMU_PREV_VERSION="$(sed 's/\([0-9.]*\)\.[0-9]*/v\1.0/' VERSION)"
     - git remote add upstream https://gitlab.com/qemu-project/qemu
-    - git fetch upstream $QEMU_PREV_VERSION
+    - git fetch upstream refs/tags/$QEMU_PREV_VERSION:refs/tags/$QEMU_PREV_VERSION
     - git checkout $QEMU_PREV_VERSION
   after_script:
     - mv build build-previous
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [PULL 00/17] Build, x86 patches for 2024-02-16
  2024-02-20  8:05 [PULL 00/17] Build, x86 patches for 2024-02-16 Paolo Bonzini
                   ` (16 preceding siblings ...)
  2024-02-20  8:05 ` [PULL 17/17] ci: Fix again build-previous-qemu Paolo Bonzini
@ 2024-02-20 15:26 ` Peter Maydell
  17 siblings, 0 replies; 19+ messages in thread
From: Peter Maydell @ 2024-02-20 15:26 UTC (permalink / raw
  To: Paolo Bonzini; +Cc: qemu-devel

On Tue, 20 Feb 2024 at 08:07, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> The following changes since commit 3ff11e4dcabe2b5b4c26e49d741018ec326f127f:
>
>   Merge tag 'pull-target-arm-20240215' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2024-02-15 17:36:30 +0000)
>
> are available in the Git repository at:
>
>   https://gitlab.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to 5f9beb5001738d9d32bb8a617ed0528d99d7f09a:
>
>   ci: Fix again build-previous-qemu (2024-02-16 13:56:09 +0100)
>
> ----------------------------------------------------------------
> * Some hw/isa cleanups
> * Fixes for x86 CPUID
> * Cleanups for configure, hw/isa and x86
>

Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/9.0
for any user-visible changes.

-- PMM


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2024-02-20 15:27 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-20  8:05 [PULL 00/17] Build, x86 patches for 2024-02-16 Paolo Bonzini
2024-02-20  8:05 ` [PULL 01/17] i386/cpu: Clear FEAT_XSAVE_XSS_LO/HI leafs when CPUID_EXT_XSAVE is not available Paolo Bonzini
2024-02-20  8:05 ` [PULL 02/17] i386/cpu: Mask with XCR0/XSS mask for FEAT_XSAVE_XCR0_HI and FEAT_XSAVE_XSS_HI leafs Paolo Bonzini
2024-02-20  8:05 ` [PULL 03/17] target/i386: Add support of KVM_FEATURE_ASYNC_PF_VMEXIT for guest Paolo Bonzini
2024-02-20  8:05 ` [PULL 04/17] i386/pc: Drop pc_machine_kvm_type() Paolo Bonzini
2024-02-20  8:05 ` [PULL 05/17] physmem: replace function name with __func__ in ram_block_discard_range() Paolo Bonzini
2024-02-20  8:05 ` [PULL 06/17] i386/cpuid: Decrease cpuid_i when skipping CPUID leaf 1F Paolo Bonzini
2024-02-20  8:05 ` [PULL 07/17] i386/cpuid: Remove subleaf constraint on " Paolo Bonzini
2024-02-20  8:05 ` [PULL 08/17] i386/cpuid: Move leaf 7 to correct group Paolo Bonzini
2024-02-20  8:05 ` [PULL 09/17] mips: remove unnecessary "select PTIMER" Paolo Bonzini
2024-02-20  8:05 ` [PULL 10/17] isa-superio: validate floppy.count value Paolo Bonzini
2024-02-20  8:05 ` [PULL 11/17] smc37c669: remove useless is_enabled functions Paolo Bonzini
2024-02-20  8:05 ` [PULL 12/17] configure: do not create legacy symlinks Paolo Bonzini
2024-02-20  8:05 ` [PULL 13/17] configure: put all symlink creation together Paolo Bonzini
2024-02-20  8:05 ` [PULL 14/17] i386: xen: fix compilation --without-default-devices Paolo Bonzini
2024-02-20  8:05 ` [PULL 15/17] target/i386: Generate an illegal opcode exception on cmp instructions with lock prefix Paolo Bonzini
2024-02-20  8:05 ` [PULL 16/17] usb: inline device creation functions Paolo Bonzini
2024-02-20  8:05 ` [PULL 17/17] ci: Fix again build-previous-qemu Paolo Bonzini
2024-02-20 15:26 ` [PULL 00/17] Build, x86 patches for 2024-02-16 Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.