From d0fb9657a33dd3d1db1b492c4dcc7c778e40e5c0 Mon Sep 17 00:00:00 2001 From: Stefano Garzarella Date: Mon, 17 May 2021 17:16:58 +0200 Subject: [PATCH 01/17] docs: fix references to docs/devel/tracing.rst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Commit e50caf4a5c ("tracing: convert documentation to rST") converted docs/devel/tracing.txt to docs/devel/tracing.rst. We still have several references to the old file, so let's fix them with the following command: sed -i s/tracing.txt/tracing.rst/ $(git grep -l docs/devel/tracing.txt) Signed-off-by: Stefano Garzarella Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20210517151702.109066-2-sgarzare@redhat.com> Signed-off-by: Thomas Huth --- MAINTAINERS | 2 +- accel/kvm/trace-events | 2 +- accel/tcg/trace-events | 2 +- audio/trace-events | 2 +- authz/trace-events | 2 +- backends/tpm/trace-events | 2 +- backends/trace-events | 2 +- block/trace-events | 2 +- chardev/trace-events | 2 +- crypto/trace-events | 2 +- hw/9pfs/trace-events | 2 +- hw/acpi/trace-events | 2 +- hw/adc/trace-events | 2 +- hw/alpha/trace-events | 2 +- hw/arm/trace-events | 2 +- hw/audio/trace-events | 2 +- hw/block/dataplane/trace-events | 2 +- hw/block/trace-events | 2 +- hw/char/trace-events | 2 +- hw/display/trace-events | 2 +- hw/dma/trace-events | 2 +- hw/gpio/trace-events | 2 +- hw/hppa/trace-events | 2 +- hw/i2c/trace-events | 2 +- hw/i386/trace-events | 2 +- hw/i386/xen/trace-events | 2 +- hw/ide/trace-events | 2 +- hw/input/trace-events | 2 +- hw/intc/trace-events | 2 +- hw/isa/trace-events | 2 +- hw/mem/trace-events | 2 +- hw/misc/macio/trace-events | 2 +- hw/misc/trace-events | 2 +- hw/net/trace-events | 2 +- hw/nvram/trace-events | 2 +- hw/pci-host/trace-events | 2 +- hw/pci/trace-events | 2 +- hw/ppc/trace-events | 2 +- hw/rdma/trace-events | 2 +- hw/rdma/vmw/trace-events | 2 +- hw/rtc/trace-events | 2 +- hw/s390x/trace-events | 2 +- hw/scsi/trace-events | 2 +- hw/sd/trace-events | 2 +- hw/sparc/trace-events | 2 +- hw/sparc64/trace-events | 2 +- hw/timer/trace-events | 2 +- hw/tpm/trace-events | 2 +- hw/usb/trace-events | 2 +- hw/vfio/trace-events | 2 +- hw/virtio/trace-events | 2 +- hw/watchdog/trace-events | 2 +- hw/xen/trace-events | 2 +- io/trace-events | 2 +- linux-user/trace-events | 2 +- migration/trace-events | 2 +- monitor/trace-events | 2 +- nbd/trace-events | 2 +- net/trace-events | 2 +- qapi/trace-events | 2 +- qom/trace-events | 2 +- scripts/simpletrace.py | 2 +- scsi/trace-events | 2 +- softmmu/trace-events | 2 +- target/arm/trace-events | 2 +- target/hppa/trace-events | 2 +- target/i386/kvm/trace-events | 2 +- target/i386/trace-events | 2 +- target/mips/trace-events | 2 +- target/ppc/trace-events | 2 +- target/s390x/trace-events | 2 +- target/sparc/trace-events | 2 +- trace-events | 2 +- ui/trace-events | 2 +- util/trace-events | 2 +- 75 files changed, 75 insertions(+), 75 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 5f55404f2f..5d195a9d95 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2692,7 +2692,7 @@ F: scripts/tracetool.py F: scripts/tracetool/ F: scripts/qemu-trace-stap* F: docs/tools/qemu-trace-stap.rst -F: docs/devel/tracing.txt +F: docs/devel/tracing.rst T: git https://github.com/stefanha/qemu.git tracing TPM diff --git a/accel/kvm/trace-events b/accel/kvm/trace-events index 72a01320a1..399aaeb0ec 100644 --- a/accel/kvm/trace-events +++ b/accel/kvm/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # kvm-all.c kvm_ioctl(int type, void *arg) "type 0x%x, arg %p" diff --git a/accel/tcg/trace-events b/accel/tcg/trace-events index 6eefb37f5d..59eab96f26 100644 --- a/accel/tcg/trace-events +++ b/accel/tcg/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # TCG related tracing # cpu-exec.c diff --git a/audio/trace-events b/audio/trace-events index 6aec535763..957c92337b 100644 --- a/audio/trace-events +++ b/audio/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # alsaaudio.c alsa_revents(int revents) "revents = %d" diff --git a/authz/trace-events b/authz/trace-events index e62ebb36b7..9c255dafb6 100644 --- a/authz/trace-events +++ b/authz/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # base.c qauthz_is_allowed(void *authz, const char *identity, bool allowed) "AuthZ %p check identity=%s allowed=%d" diff --git a/backends/tpm/trace-events b/backends/tpm/trace-events index 0a2591fb2d..3298766dd7 100644 --- a/backends/tpm/trace-events +++ b/backends/tpm/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # tpm_passthrough.c tpm_passthrough_handle_request(void *cmd) "processing command %p" diff --git a/backends/trace-events b/backends/trace-events index 59058f7630..652eb76a57 100644 --- a/backends/trace-events +++ b/backends/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # dbus-vmstate.c dbus_vmstate_pre_save(void) diff --git a/block/trace-events b/block/trace-events index 31062ed437..574760ba9a 100644 --- a/block/trace-events +++ b/block/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # ../block.c bdrv_open_common(void *bs, const char *filename, int flags, const char *format_name) "bs %p filename \"%s\" flags 0x%x format_name \"%s\"" diff --git a/chardev/trace-events b/chardev/trace-events index 5ea4408207..027107b0c1 100644 --- a/chardev/trace-events +++ b/chardev/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # wctablet.c wct_init(void) "" diff --git a/crypto/trace-events b/crypto/trace-events index 798b6067ab..bccd0bbf29 100644 --- a/crypto/trace-events +++ b/crypto/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # tlscreds.c qcrypto_tls_creds_load_dh(void *creds, const char *filename) "TLS creds load DH creds=%p filename=%s" diff --git a/hw/9pfs/trace-events b/hw/9pfs/trace-events index 10188daf7f..6c77966c0b 100644 --- a/hw/9pfs/trace-events +++ b/hw/9pfs/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # 9p.c v9fs_rcancel(uint16_t tag, uint8_t id) "tag %d id %d" diff --git a/hw/acpi/trace-events b/hw/acpi/trace-events index dcc1438f3a..974d770e8b 100644 --- a/hw/acpi/trace-events +++ b/hw/acpi/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # memory_hotplug.c mhp_acpi_invalid_slot_selected(uint32_t slot) "0x%"PRIx32 diff --git a/hw/adc/trace-events b/hw/adc/trace-events index 4c3279ece2..456f21c8f4 100644 --- a/hw/adc/trace-events +++ b/hw/adc/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # npcm7xx_adc.c npcm7xx_adc_read(const char *id, uint64_t offset, uint32_t value) " %s offset: 0x%04" PRIx64 " value 0x%04" PRIx32 diff --git a/hw/alpha/trace-events b/hw/alpha/trace-events index 5b8315f27f..952a816407 100644 --- a/hw/alpha/trace-events +++ b/hw/alpha/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # pci.c alpha_pci_iack_write(void) "" diff --git a/hw/arm/trace-events b/hw/arm/trace-events index b79a91af5f..2dee296c8f 100644 --- a/hw/arm/trace-events +++ b/hw/arm/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # virt-acpi-build.c virt_acpi_setup(void) "No fw cfg or ACPI disabled. Bailing out." diff --git a/hw/audio/trace-events b/hw/audio/trace-events index 432e10712f..e0e71cd9b1 100644 --- a/hw/audio/trace-events +++ b/hw/audio/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # cs4231.c cs4231_mem_readl_dreg(uint32_t reg, uint32_t ret) "read dreg %d: 0x%02x" diff --git a/hw/block/dataplane/trace-events b/hw/block/dataplane/trace-events index 843cc4e7b1..38fc3e7507 100644 --- a/hw/block/dataplane/trace-events +++ b/hw/block/dataplane/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # virtio-blk.c virtio_blk_data_plane_start(void *s) "dataplane %p" diff --git a/hw/block/trace-events b/hw/block/trace-events index 646917d045..70bed9ddb7 100644 --- a/hw/block/trace-events +++ b/hw/block/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # fdc.c fdc_ioport_read(uint8_t reg, uint8_t value) "read reg 0x%02x val 0x%02x" diff --git a/hw/char/trace-events b/hw/char/trace-events index 2e6e6b119a..1436fb462d 100644 --- a/hw/char/trace-events +++ b/hw/char/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # parallel.c parallel_ioport_read(const char *desc, uint16_t addr, uint8_t value) "read [%s] addr 0x%02x val 0x%02x" diff --git a/hw/display/trace-events b/hw/display/trace-events index e47264af5d..f03f6655bc 100644 --- a/hw/display/trace-events +++ b/hw/display/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # jazz_led.c jazz_led_read(uint64_t addr, uint8_t val) "read addr=0x%"PRIx64": 0x%x" diff --git a/hw/dma/trace-events b/hw/dma/trace-events index 44893995f6..3c47df54e4 100644 --- a/hw/dma/trace-events +++ b/hw/dma/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # rc4030.c jazzio_read(uint64_t addr, uint32_t ret) "read reg[0x%"PRIx64"] = 0x%x" diff --git a/hw/gpio/trace-events b/hw/gpio/trace-events index 46ab9323bd..f0b664158e 100644 --- a/hw/gpio/trace-events +++ b/hw/gpio/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # npcm7xx_gpio.c npcm7xx_gpio_read(const char *id, uint64_t offset, uint64_t value) " %s offset: 0x%04" PRIx64 " value 0x%08" PRIx64 diff --git a/hw/hppa/trace-events b/hw/hppa/trace-events index 3ff620319a..3f42be9056 100644 --- a/hw/hppa/trace-events +++ b/hw/hppa/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # pci.c hppa_pci_iack_write(void) "" diff --git a/hw/i2c/trace-events b/hw/i2c/trace-events index 82f19e6a2d..7d8907c1ee 100644 --- a/hw/i2c/trace-events +++ b/hw/i2c/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # core.c diff --git a/hw/i386/trace-events b/hw/i386/trace-events index e48bef2b0d..5bf7e52bf5 100644 --- a/hw/i386/trace-events +++ b/hw/i386/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # x86-iommu.c x86_iommu_iec_notify(bool global, uint32_t index, uint32_t mask) "Notify IEC invalidation: global=%d index=%" PRIu32 " mask=%" PRIu32 diff --git a/hw/i386/xen/trace-events b/hw/i386/xen/trace-events index ca3a4948ba..5d6be61090 100644 --- a/hw/i386/xen/trace-events +++ b/hw/i386/xen/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # xen_platform.c xen_platform_log(char *s) "xen platform: %s" diff --git a/hw/ide/trace-events b/hw/ide/trace-events index 6e357685f9..15d7921f15 100644 --- a/hw/ide/trace-events +++ b/hw/ide/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # core.c # portio diff --git a/hw/input/trace-events b/hw/input/trace-events index 109bdf7a18..e0bfe7f3ee 100644 --- a/hw/input/trace-events +++ b/hw/input/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # adb-kbd.c adb_device_kbd_no_key(void) "Ignoring NO_KEY" diff --git a/hw/intc/trace-events b/hw/intc/trace-events index 626bb554b2..e56e7dd3b6 100644 --- a/hw/intc/trace-events +++ b/hw/intc/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # i8259.c pic_update_irq(bool master, uint8_t imr, uint8_t irr, uint8_t padd) "master %d imr %"PRIu8" irr %"PRIu8" padd %"PRIu8 diff --git a/hw/isa/trace-events b/hw/isa/trace-events index 641d69eedf..b8f877e1ed 100644 --- a/hw/isa/trace-events +++ b/hw/isa/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # isa-superio.c superio_create_parallel(int id, uint16_t base, unsigned int irq) "id=%d, base 0x%03x, irq %u" diff --git a/hw/mem/trace-events b/hw/mem/trace-events index 9f6b52acd7..8b6b02b5bf 100644 --- a/hw/mem/trace-events +++ b/hw/mem/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # pc-dimm.c mhp_pc_dimm_assigned_slot(int slot) "%d" diff --git a/hw/misc/macio/trace-events b/hw/misc/macio/trace-events index e4a1cc0d24..ad4b9d1c08 100644 --- a/hw/misc/macio/trace-events +++ b/hw/misc/macio/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # cuda.c cuda_delay_set_sr_int(void) "" diff --git a/hw/misc/trace-events b/hw/misc/trace-events index 0752217636..ede413965b 100644 --- a/hw/misc/trace-events +++ b/hw/misc/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # allwinner-cpucfg.c allwinner_cpucfg_cpu_reset(uint8_t cpu_id, uint32_t reset_addr) "id %u, reset_addr 0x%" PRIu32 diff --git a/hw/net/trace-events b/hw/net/trace-events index 1704bb0664..c28b91ee1a 100644 --- a/hw/net/trace-events +++ b/hw/net/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # allwinner-sun8i-emac.c allwinner_sun8i_emac_mii_write_reg(uint32_t reg, uint32_t value) "MII write: reg=0x%" PRIx32 " value=0x%" PRIx32 diff --git a/hw/nvram/trace-events b/hw/nvram/trace-events index e023193295..5e33b24d47 100644 --- a/hw/nvram/trace-events +++ b/hw/nvram/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # ds1225y.c nvram_read(uint32_t addr, uint32_t ret) "read addr %d: 0x%02x" diff --git a/hw/pci-host/trace-events b/hw/pci-host/trace-events index dac86ad3f0..f4b3a50cb0 100644 --- a/hw/pci-host/trace-events +++ b/hw/pci-host/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # grackle.c grackle_set_irq(int irq_num, int level) "set_irq num %d level %d" diff --git a/hw/pci/trace-events b/hw/pci/trace-events index def4b3926d..fc777d0b5e 100644 --- a/hw/pci/trace-events +++ b/hw/pci/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # pci.c pci_update_mappings_del(void *d, uint32_t bus, uint32_t slot, uint32_t func, int bar, uint64_t addr, uint64_t size) "d=%p %02x:%02x.%x %d,0x%"PRIx64"+0x%"PRIx64 diff --git a/hw/ppc/trace-events b/hw/ppc/trace-events index b4bbfbb013..0ba3e40353 100644 --- a/hw/ppc/trace-events +++ b/hw/ppc/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # spapr_pci.c spapr_pci_msi(const char *msg, uint32_t ca) "%s (cfg=0x%x)" diff --git a/hw/rdma/trace-events b/hw/rdma/trace-events index 2022a820cb..9accb14973 100644 --- a/hw/rdma/trace-events +++ b/hw/rdma/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # rdma_backend.c rdma_check_dev_attr(const char *name, int max_bk, int max_fe) "%s: be=%d, fe=%d" diff --git a/hw/rdma/vmw/trace-events b/hw/rdma/vmw/trace-events index 323fca8456..a6c77e1e10 100644 --- a/hw/rdma/vmw/trace-events +++ b/hw/rdma/vmw/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # pvrdma_main.c pvrdma_regs_read(uint64_t addr, uint64_t val) "pvrdma.regs[0x%"PRIx64"]=0x%"PRIx64 diff --git a/hw/rtc/trace-events b/hw/rtc/trace-events index 8bdcf74264..ebb311a5b0 100644 --- a/hw/rtc/trace-events +++ b/hw/rtc/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # allwinner-rtc.c allwinner_rtc_read(uint64_t addr, uint64_t value) "addr 0x%" PRIx64 " value 0x%" PRIx64 diff --git a/hw/s390x/trace-events b/hw/s390x/trace-events index 8156693749..8b9213eab9 100644 --- a/hw/s390x/trace-events +++ b/hw/s390x/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # css.c css_enable_facility(const char *facility) "CSS: enable %s" diff --git a/hw/scsi/trace-events b/hw/scsi/trace-events index 1c331fb189..1a27e141ae 100644 --- a/hw/scsi/trace-events +++ b/hw/scsi/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # scsi-bus.c scsi_req_alloc(int target, int lun, int tag) "target %d lun %d tag %d" diff --git a/hw/sd/trace-events b/hw/sd/trace-events index e185d07a1d..3cc2ef89ba 100644 --- a/hw/sd/trace-events +++ b/hw/sd/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # allwinner-sdhost.c allwinner_sdhost_set_inserted(bool inserted) "inserted %u" diff --git a/hw/sparc/trace-events b/hw/sparc/trace-events index d3a30a816a..00b0212c3b 100644 --- a/hw/sparc/trace-events +++ b/hw/sparc/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # sun4m.c sun4m_cpu_set_irq_raise(int level) "Raise CPU IRQ %d" diff --git a/hw/sparc64/trace-events b/hw/sparc64/trace-events index b85d14c30c..3eb4bacf79 100644 --- a/hw/sparc64/trace-events +++ b/hw/sparc64/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # sun4u.c ebus_isa_irq_handler(int n, int level) "Set ISA IRQ %d level %d" diff --git a/hw/timer/trace-events b/hw/timer/trace-events index 029fb56280..5234c0ea9e 100644 --- a/hw/timer/trace-events +++ b/hw/timer/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # slavio_timer.c slavio_timer_get_out(uint64_t limit, uint32_t counthigh, uint32_t count) "limit 0x%"PRIx64" count 0x%x0x%08x" diff --git a/hw/tpm/trace-events b/hw/tpm/trace-events index 6005ecb5da..f17110458e 100644 --- a/hw/tpm/trace-events +++ b/hw/tpm/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # tpm_crb.c tpm_crb_mmio_read(uint64_t addr, unsigned size, uint32_t val) "CRB read 0x%016" PRIx64 " len:%u val: 0x%" PRIx32 diff --git a/hw/usb/trace-events b/hw/usb/trace-events index 38e05fc7f4..b8287b63f1 100644 --- a/hw/usb/trace-events +++ b/hw/usb/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # core.c usb_packet_state_change(int bus, const char *port, int ep, void *p, const char *o, const char *n) "bus %d, port %s, ep %d, packet %p, state %s -> %s" diff --git a/hw/vfio/trace-events b/hw/vfio/trace-events index 079f53acf2..0ef1b5f4a6 100644 --- a/hw/vfio/trace-events +++ b/hw/vfio/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # pci.c vfio_intx_interrupt(const char *name, char line) " (%s) Pin %c" diff --git a/hw/virtio/trace-events b/hw/virtio/trace-events index c62727f879..8ed19e9d0c 100644 --- a/hw/virtio/trace-events +++ b/hw/virtio/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # vhost.c vhost_commit(bool started, bool changed) "Started: %d Changed: %d" diff --git a/hw/watchdog/trace-events b/hw/watchdog/trace-events index 3124ca1f1b..c3bafbffa9 100644 --- a/hw/watchdog/trace-events +++ b/hw/watchdog/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # cmsdk-apb-watchdog.c cmsdk_apb_watchdog_read(uint64_t offset, uint64_t data, unsigned size) "CMSDK APB watchdog read: offset 0x%" PRIx64 " data 0x%" PRIx64 " size %u" diff --git a/hw/xen/trace-events b/hw/xen/trace-events index e6885bc751..3da3fd8348 100644 --- a/hw/xen/trace-events +++ b/hw/xen/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # ../../include/hw/xen/xen_common.h xen_default_ioreq_server(void) "" diff --git a/io/trace-events b/io/trace-events index d7bc70b966..c5e814eb44 100644 --- a/io/trace-events +++ b/io/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # task.c qio_task_new(void *task, void *source, void *func, void *opaque) "Task new task=%p source=%p func=%p opaque=%p" diff --git a/linux-user/trace-events b/linux-user/trace-events index 0296133dae..1ec0d11ee3 100644 --- a/linux-user/trace-events +++ b/linux-user/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # signal.c signal_table_init(int i) "number of unavailable signals: %d" diff --git a/migration/trace-events b/migration/trace-events index 668c562fed..860c4f4025 100644 --- a/migration/trace-events +++ b/migration/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # savevm.c qemu_loadvm_state_section(unsigned int section_type) "%d" diff --git a/monitor/trace-events b/monitor/trace-events index 348dcfca9b..032d1220e1 100644 --- a/monitor/trace-events +++ b/monitor/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # hmp.c handle_hmp_command(void *mon, const char *cmdline) "mon %p cmdline: %s" diff --git a/nbd/trace-events b/nbd/trace-events index a955918e97..c4919a2dd5 100644 --- a/nbd/trace-events +++ b/nbd/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # client.c nbd_send_option_request(uint32_t opt, const char *name, uint32_t len) "Sending option request %" PRIu32" (%s), len %" PRIu32 diff --git a/net/trace-events b/net/trace-events index bfaff7891d..d7a17256cc 100644 --- a/net/trace-events +++ b/net/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # announce.c qemu_announce_self_iter(const char *id, const char *name, const char *mac, int skip) "%s:%s:%s skip: %d" diff --git a/qapi/trace-events b/qapi/trace-events index 3cabe912ae..cccafc07e5 100644 --- a/qapi/trace-events +++ b/qapi/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # qapi-visit-core.c visit_free(void *v) "v=%p" diff --git a/qom/trace-events b/qom/trace-events index 945205bd10..b2e9f4a712 100644 --- a/qom/trace-events +++ b/qom/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # object.c object_dynamic_cast_assert(const char *type, const char *target, const char *file, int line, const char *func) "%s->%s (%s:%d:%s)" diff --git a/scripts/simpletrace.py b/scripts/simpletrace.py index d61fb0bd87..1f6d1ae1f3 100755 --- a/scripts/simpletrace.py +++ b/scripts/simpletrace.py @@ -7,7 +7,7 @@ # This work is licensed under the terms of the GNU GPL, version 2. See # the COPYING file in the top-level directory. # -# For help see docs/devel/tracing.txt +# For help see docs/devel/tracing.rst import struct import inspect diff --git a/scsi/trace-events b/scsi/trace-events index 6dbfeae790..baf924fa89 100644 --- a/scsi/trace-events +++ b/scsi/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # pr-manager.c pr_manager_execute(int fd, int cmd, int sa) "fd=%d cmd=0x%02x service action=0x%02x" diff --git a/softmmu/trace-events b/softmmu/trace-events index b80ca042e1..5262828b8d 100644 --- a/softmmu/trace-events +++ b/softmmu/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # balloon.c # Since requests are raised via monitor, not many tracepoints are needed. diff --git a/target/arm/trace-events b/target/arm/trace-events index 41c63d7570..2a0ba7bffc 100644 --- a/target/arm/trace-events +++ b/target/arm/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # helper.c arm_gt_recalc(int timer, int irqstate, uint64_t nexttick) "gt recalc: timer %d irqstate %d next tick 0x%" PRIx64 diff --git a/target/hppa/trace-events b/target/hppa/trace-events index 0731ce7ce1..8931517890 100644 --- a/target/hppa/trace-events +++ b/target/hppa/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # mem_helper.c disable hppa_tlb_flush_ent(void *env, void *ent, uint64_t va_b, uint64_t va_e, uint64_t pa) "env=%p ent=%p va_b=0x%lx va_e=0x%lx pa=0x%lx" diff --git a/target/i386/kvm/trace-events b/target/i386/kvm/trace-events index b4e2d9e4ea..7c369db1e1 100644 --- a/target/i386/kvm/trace-events +++ b/target/i386/kvm/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # kvm.c kvm_x86_fixup_msi_error(uint32_t gsi) "VT-d failed to remap interrupt for GSI %" PRIu32 diff --git a/target/i386/trace-events b/target/i386/trace-events index a22ab24e21..f5ecbe24bb 100644 --- a/target/i386/trace-events +++ b/target/i386/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # sev.c kvm_sev_init(void) "" diff --git a/target/mips/trace-events b/target/mips/trace-events index ba87fe6062..0c55e0bbad 100644 --- a/target/mips/trace-events +++ b/target/mips/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # translate.c mips_translate_c0(const char *instr, const char *rn, int reg, int sel) "%s %s (reg %d sel %d)" diff --git a/target/ppc/trace-events b/target/ppc/trace-events index bc0d4e6f8b..c88cfccf8d 100644 --- a/target/ppc/trace-events +++ b/target/ppc/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # kvm.c kvm_failed_spr_set(int spr, const char *msg) "Warning: Unable to set SPR %d to KVM: %s" diff --git a/target/s390x/trace-events b/target/s390x/trace-events index fda1ee8220..e661a81e3a 100644 --- a/target/s390x/trace-events +++ b/target/s390x/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # mmu_helper.c get_skeys_nonzero(int rc) "SKEY: Call to get_skeys unexpectedly returned %d" diff --git a/target/sparc/trace-events b/target/sparc/trace-events index 75e7093d5f..de9833283d 100644 --- a/target/sparc/trace-events +++ b/target/sparc/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # mmu_helper.c mmu_helper_dfault(uint64_t address, uint64_t context, int mmu_idx, uint32_t tl) "DFAULT at 0x%"PRIx64" context 0x%"PRIx64" mmu_idx=%d tl=%d" diff --git a/trace-events b/trace-events index ac7cef9335..765fe251e6 100644 --- a/trace-events +++ b/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # # This file is processed by the tracetool script during the build. # diff --git a/ui/trace-events b/ui/trace-events index c86542e2b6..1b5f87bc09 100644 --- a/ui/trace-events +++ b/ui/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # console.c console_gfx_new(void) "" diff --git a/util/trace-events b/util/trace-events index bac0924899..806cac14a7 100644 --- a/util/trace-events +++ b/util/trace-events @@ -1,4 +1,4 @@ -# See docs/devel/tracing.txt for syntax documentation. +# See docs/devel/tracing.rst for syntax documentation. # aio-posix.c run_poll_handlers_begin(void *ctx, int64_t max_ns, int64_t timeout) "ctx %p max_ns %"PRId64 " timeout %"PRId64 From 29f2316761ef2c83581893bcffa43f11fba5b2fe Mon Sep 17 00:00:00 2001 From: Stefano Garzarella Date: Mon, 17 May 2021 17:16:59 +0200 Subject: [PATCH 02/17] docs: fix references to docs/devel/atomics.rst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Commit 15e8699f00 ("atomics: convert to reStructuredText") converted docs/devel/atomics.txt to docs/devel/atomics.rst. We still have several references to the old file, so let's fix them with the following command: sed -i s/atomics.txt/atomics.rst/ $(git grep -l docs/devel/atomics.txt) Signed-off-by: Stefano Garzarella Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20210517151702.109066-3-sgarzare@redhat.com> Signed-off-by: Thomas Huth --- docs/devel/lockcnt.txt | 2 +- include/qemu/atomic.h | 4 ++-- include/qemu/atomic128.h | 2 +- tcg/README | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/devel/lockcnt.txt b/docs/devel/lockcnt.txt index 2d85462fe3..a3fb3bc5d8 100644 --- a/docs/devel/lockcnt.txt +++ b/docs/devel/lockcnt.txt @@ -145,7 +145,7 @@ can also be more efficient in two ways: - on some platforms, one can implement QemuLockCnt to hold the lock and the mutex in a single word, making the fast path no more expensive than simply managing a counter using atomic operations (see - docs/devel/atomics.txt). This can be very helpful if concurrent access to + docs/devel/atomics.rst). This can be very helpful if concurrent access to the data structure is expected to be rare. diff --git a/include/qemu/atomic.h b/include/qemu/atomic.h index 8f4b3a80fb..3ccf84fd46 100644 --- a/include/qemu/atomic.h +++ b/include/qemu/atomic.h @@ -8,7 +8,7 @@ * This work is licensed under the terms of the GNU GPL, version 2 or later. * See the COPYING file in the top-level directory. * - * See docs/devel/atomics.txt for discussion about the guarantees each + * See docs/devel/atomics.rst for discussion about the guarantees each * atomic primitive is meant to provide. */ @@ -432,7 +432,7 @@ * sequentially consistent operations. * * As long as they are used as paired operations they are safe to - * use. See docs/devel/atomics.txt for more discussion. + * use. See docs/devel/atomics.rst for more discussion. */ #ifndef qatomic_mb_read diff --git a/include/qemu/atomic128.h b/include/qemu/atomic128.h index ad2bcf45b4..adb9a1a260 100644 --- a/include/qemu/atomic128.h +++ b/include/qemu/atomic128.h @@ -6,7 +6,7 @@ * This work is licensed under the terms of the GNU GPL, version 2 or later. * See the COPYING file in the top-level directory. * - * See docs/devel/atomics.txt for discussion about the guarantees each + * See docs/devel/atomics.rst for discussion about the guarantees each * atomic primitive is meant to provide. */ diff --git a/tcg/README b/tcg/README index 0cf9e2727c..8510d823e3 100644 --- a/tcg/README +++ b/tcg/README @@ -461,7 +461,7 @@ when MTTCG is enabled. The guest translators should generate this opcode for all guest instructions which have ordering side effects. -Please see docs/devel/atomics.txt for more information on memory barriers. +Please see docs/devel/atomics.rst for more information on memory barriers. ********* 64-bit guest on 32-bit host support From 551bdfa079b8b08ee212a36675774a1d22bc9fcf Mon Sep 17 00:00:00 2001 From: Stefano Garzarella Date: Mon, 17 May 2021 17:17:00 +0200 Subject: [PATCH 03/17] docs: fix references to docs/devel/build-system.rst Commit a14f0bf165 ("docs: convert build system documentation to rST") converted docs/devel/build-system.txt to docs/devel/build-system.rst. We still have several references to the old file, so let's fix them with the following command: sed -i s/build-system.txt/build-system.rst/ \ $(git grep -l docs/devel/build-system.txt) Signed-off-by: Stefano Garzarella Message-Id: <20210517151702.109066-4-sgarzare@redhat.com> Signed-off-by: Thomas Huth --- MAINTAINERS | 2 +- tests/qapi-schema/meson.build | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index 5d195a9d95..96a4eeb5a5 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3361,7 +3361,7 @@ Documentation Build system architecture M: Daniel P. Berrange S: Odd Fixes -F: docs/devel/build-system.txt +F: docs/devel/build-system.rst GIT Data Mining Config M: Alex Bennée diff --git a/tests/qapi-schema/meson.build b/tests/qapi-schema/meson.build index 9e8f658ce3..b8de58116a 100644 --- a/tests/qapi-schema/meson.build +++ b/tests/qapi-schema/meson.build @@ -208,7 +208,7 @@ schemas += [meson.current_source_dir() / 'missing-schema.json'] # Because people may want to use test-qapi.py from the command line, we # are not using the "#! /usr/bin/env python3" trick here. See -# docs/devel/build-system.txt +# docs/devel/build-system.rst test('QAPI schema regression tests', python, args: files('test-qapi.py') + schemas, env: test_env, suite: ['qapi-schema', 'qapi-frontend']) From 773c1f1e9492a60c0ab98f451e9415e7ad4774fd Mon Sep 17 00:00:00 2001 From: Stefano Garzarella Date: Mon, 17 May 2021 17:17:01 +0200 Subject: [PATCH 04/17] docs: fix references to docs/specs/tpm.rst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Commit 6e8a3ff6ed ("docs/specs/tpm: reST-ify TPM documentation") converted docs/specs/tpm.txt to docs/specs/tpm.rst. We still have several references to the old file, so let's fix them with the following command: sed -i s/tpm.txt/tpm.rst/ $(git grep -l docs/specs/tpm.txt) Signed-off-by: Stefano Garzarella Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20210517151702.109066-5-sgarzare@redhat.com> Signed-off-by: Thomas Huth --- hw/acpi/tpm.c | 2 +- hw/tpm/tpm_ppi.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/acpi/tpm.c b/hw/acpi/tpm.c index b96459e45b..cdc0227536 100644 --- a/hw/acpi/tpm.c +++ b/hw/acpi/tpm.c @@ -57,7 +57,7 @@ void tpm_build_ppi_acpi(TPMIf *tpm, Aml *dev) aml_operation_region( "TPP3", AML_SYSTEM_MEMORY, aml_int(TPM_PPI_ADDR_BASE + - 0x15a /* movv, docs/specs/tpm.txt */), + 0x15a /* movv, docs/specs/tpm.rst */), 0x1)); field = aml_field("TPP3", AML_BYTE_ACC, AML_NOLOCK, AML_PRESERVE); aml_append(field, aml_named_field("MOVV", 8)); diff --git a/hw/tpm/tpm_ppi.c b/hw/tpm/tpm_ppi.c index 72d7a3d926..362edcc5c9 100644 --- a/hw/tpm/tpm_ppi.c +++ b/hw/tpm/tpm_ppi.c @@ -23,7 +23,7 @@ void tpm_ppi_reset(TPMPPI *tpmppi) { - if (tpmppi->buf[0x15a /* movv, docs/specs/tpm.txt */] & 0x1) { + if (tpmppi->buf[0x15a /* movv, docs/specs/tpm.rst */] & 0x1) { GuestPhysBlockList guest_phys_blocks; GuestPhysBlock *block; From 13cb12f61923bd8c24af8b6e6326c911e970ecf8 Mon Sep 17 00:00:00 2001 From: Stefano Garzarella Date: Mon, 17 May 2021 17:17:02 +0200 Subject: [PATCH 05/17] docs: fix references to docs/devel/s390-dasd-ipl.rst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Commit cc3d15a5ea ("docs: rstfy s390 dasd ipl documentation") converted docs/devel/s390-dasd-ipl.txt to docs/devel/s390-dasd-ipl.rst. We still have several references to the old file, so let's fix them with the following command: sed -i s/s390-dasd-ipl.txt/s390-dasd-ipl.rst/ \ $(git grep -l docs/devel/s390-dasd-ipl.txt) Signed-off-by: Stefano Garzarella Reviewed-by: Philippe Mathieu-Daudé Acked-by: Cornelia Huck Message-Id: <20210517151702.109066-6-sgarzare@redhat.com> Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/dasd-ipl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pc-bios/s390-ccw/dasd-ipl.c b/pc-bios/s390-ccw/dasd-ipl.c index 71cbae2f16..254bb1a15e 100644 --- a/pc-bios/s390-ccw/dasd-ipl.c +++ b/pc-bios/s390-ccw/dasd-ipl.c @@ -205,7 +205,7 @@ static void run_ipl2(SubChannelId schid, uint16_t cutype, uint32_t addr) /* * Limitations in vfio-ccw support complicate the IPL process. Details can - * be found in docs/devel/s390-dasd-ipl.txt + * be found in docs/devel/s390-dasd-ipl.rst */ void dasd_ipl(SubChannelId schid, uint16_t cutype) { From b4c10fc6fe452c080004a484554275794160d379 Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Wed, 19 May 2021 17:58:59 +0200 Subject: [PATCH 06/17] block/ssh: Bump minimum libssh version to 0.8.7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It has been over two years since RHEL-8 was released, and thus per the platform build policy, we no longer need to support RHEL-7 as a build target. So from the RHEL-7 perspective, we do not have to support libssh v0.7 anymore now. Let's look at the versions from other distributions and operating systems - according to repology.org, current shipping versions are: RHEL-8: 0.9.4 Debian Buster: 0.8.7 openSUSE Leap 15.2: 0.8.7 Ubuntu LTS 18.04: 0.8.0 * Ubuntu LTS 20.04: 0.9.3 FreeBSD: 0.9.5 Fedora 33: 0.9.5 Fedora 34: 0.9.5 OpenBSD: 0.9.5 macOS HomeBrew: 0.9.5 HaikuPorts: 0.9.5 * The version of libssh in Ubuntu 18.04 claims to be 0.8.0 from the name of the package, but in reality it is a 0.7 patched up as a Frankenstein monster with patches from the 0.8 development branch. This gave us some headaches in the past already and so it never worked with QEMU. All attempts to get it supported have failed in the past, patches for QEMU have never been merged and a request to Ubuntu to fix it in their 18.04 distro has been ignored: https://bugs.launchpad.net/ubuntu/+source/libssh/+bug/1847514 Thus we really should ignore the libssh in Ubuntu 18.04 in QEMU, too. Fix it by bumping the minimum libssh version to something that is greater than 0.8.0 now. Debian Buster and openSUSE Leap have the oldest version and so 0.8.7 is the new minimum. Signed-off-by: Thomas Huth Tested-by: Richard W.M. Jones Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Daniel P. Berrangé Acked-by: Richard W.M. Jones Message-Id: <20210519155859.344569-1-thuth@redhat.com> Signed-off-by: Thomas Huth --- block/ssh.c | 59 ----------------------------------------------------- configure | 19 +---------------- 2 files changed, 1 insertion(+), 77 deletions(-) diff --git a/block/ssh.c b/block/ssh.c index ebe3d8b631..b51a031620 100644 --- a/block/ssh.c +++ b/block/ssh.c @@ -277,7 +277,6 @@ static void ssh_parse_filename(const char *filename, QDict *options, static int check_host_key_knownhosts(BDRVSSHState *s, Error **errp) { int ret; -#ifdef HAVE_LIBSSH_0_8 enum ssh_known_hosts_e state; int r; ssh_key pubkey; @@ -343,46 +342,6 @@ static int check_host_key_knownhosts(BDRVSSHState *s, Error **errp) error_setg(errp, "error while checking for known server (%d)", state); goto out; } -#else /* !HAVE_LIBSSH_0_8 */ - int state; - - state = ssh_is_server_known(s->session); - trace_ssh_server_status(state); - - switch (state) { - case SSH_SERVER_KNOWN_OK: - /* OK */ - trace_ssh_check_host_key_knownhosts(); - break; - case SSH_SERVER_KNOWN_CHANGED: - ret = -EINVAL; - error_setg(errp, - "host key does not match the one in known_hosts; this " - "may be a possible attack"); - goto out; - case SSH_SERVER_FOUND_OTHER: - ret = -EINVAL; - error_setg(errp, - "host key for this server not found, another type exists"); - goto out; - case SSH_SERVER_FILE_NOT_FOUND: - ret = -ENOENT; - error_setg(errp, "known_hosts file not found"); - goto out; - case SSH_SERVER_NOT_KNOWN: - ret = -EINVAL; - error_setg(errp, "no host key was found in known_hosts"); - goto out; - case SSH_SERVER_ERROR: - ret = -EINVAL; - error_setg(errp, "server error"); - goto out; - default: - ret = -EINVAL; - error_setg(errp, "error while checking for known server (%d)", state); - goto out; - } -#endif /* !HAVE_LIBSSH_0_8 */ /* known_hosts checking successful. */ ret = 0; @@ -438,11 +397,7 @@ check_host_key_hash(BDRVSSHState *s, const char *hash, unsigned char *server_hash; size_t server_hash_len; -#ifdef HAVE_LIBSSH_0_8 r = ssh_get_server_publickey(s->session, &pubkey); -#else - r = ssh_get_publickey(s->session, &pubkey); -#endif if (r != SSH_OK) { session_error_setg(errp, s, "failed to read remote host key"); return -EINVAL; @@ -1233,8 +1188,6 @@ static void unsafe_flush_warning(BDRVSSHState *s, const char *what) } } -#ifdef HAVE_LIBSSH_0_8 - static coroutine_fn int ssh_flush(BDRVSSHState *s, BlockDriverState *bs) { int r; @@ -1271,18 +1224,6 @@ static coroutine_fn int ssh_co_flush(BlockDriverState *bs) return ret; } -#else /* !HAVE_LIBSSH_0_8 */ - -static coroutine_fn int ssh_co_flush(BlockDriverState *bs) -{ - BDRVSSHState *s = bs->opaque; - - unsafe_flush_warning(s, "libssh >= 0.8.0"); - return 0; -} - -#endif /* !HAVE_LIBSSH_0_8 */ - static int64_t ssh_getlength(BlockDriverState *bs) { BDRVSSHState *s = bs->opaque; diff --git a/configure b/configure index 90c0807347..ae629a3127 100755 --- a/configure +++ b/configure @@ -3529,7 +3529,7 @@ fi ########################################## # libssh probe if test "$libssh" != "no" ; then - if $pkg_config --exists libssh; then + if $pkg_config --exists "libssh >= 0.8.7"; then libssh_cflags=$($pkg_config libssh --cflags) libssh_libs=$($pkg_config libssh --libs) libssh=yes @@ -3541,23 +3541,6 @@ if test "$libssh" != "no" ; then fi fi -########################################## -# Check for libssh 0.8 -# This is done like this instead of using the LIBSSH_VERSION_* and -# SSH_VERSION_* macros because some distributions in the past shipped -# snapshots of the future 0.8 from Git, and those snapshots did not -# have updated version numbers (still referring to 0.7.0). - -if test "$libssh" = "yes"; then - cat > $TMPC < -int main(void) { return ssh_get_server_publickey(NULL, NULL); } -EOF - if compile_prog "$libssh_cflags" "$libssh_libs"; then - libssh_cflags="-DHAVE_LIBSSH_0_8 $libssh_cflags" - fi -fi - ########################################## # linux-aio probe From f4d4be8212b946abfd438c046378240499bb8358 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Fri, 14 May 2021 13:04:05 +0100 Subject: [PATCH 07/17] patchew: move quick build job from CentOS 7 to CentOS 8 container MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It has been over two years since RHEL-8 was released, and thus per the platform build policy, we no longer need to support RHEL-7 as a build target. Signed-off-by: Daniel P. Berrangé Message-Id: <20210514120415.1368922-3-berrange@redhat.com> Reviewed-by: Thomas Huth Reviewed-by: Willian Rampazzo Signed-off-by: Thomas Huth --- .patchew.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.patchew.yml b/.patchew.yml index 988c29261f..2638b7f564 100644 --- a/.patchew.yml +++ b/.patchew.yml @@ -88,7 +88,7 @@ email: more information: {{ logtext }} - {% elif test == "docker-mingw@fedora" or test == "docker-quick@centos7" or test == "asan" %} + {% elif test == "docker-mingw@fedora" or test == "docker-quick@centos8" or test == "asan" %} Hi, This series failed the {{ test }} build test. Please find the testing commands and @@ -124,13 +124,13 @@ testing: script: | #!/bin/bash time make docker-test-debug@fedora TARGET_LIST=x86_64-softmmu J=14 NETWORK=1 - docker-quick@centos7: + docker-quick@centos8: enabled: false requirements: docker,x86_64 timeout: 3600 script: | #!/bin/bash - time make docker-test-quick@centos7 SHOW_ENV=1 J=14 NETWORK=1 + time make docker-test-quick@centos8 SHOW_ENV=1 J=14 NETWORK=1 checkpatch: enabled: true requirements: '' From 20ba7a4a34bc96fb53ce1fb837d280339c6f5671 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Fri, 14 May 2021 13:04:06 +0100 Subject: [PATCH 08/17] crypto: bump min nettle to 3.4, dropping RHEL-7 support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It has been over two years since RHEL-8 was released, and thus per the platform build policy, we no longer need to support RHEL-7 as a build target. This lets us increment the minimum required nettle version and drop a lot of backwards compatibility code for 2.x series of nettle. Per repology, current shipping versions are: RHEL-8: 3.4.1 Debian Buster: 3.4.1 openSUSE Leap 15.2: 3.4.1 Ubuntu LTS 18.04: 3.4 Ubuntu LTS 20.04: 3.5.1 FreeBSD: 3.7.2 Fedora 33: 3.5.1 Fedora 34: 3.7.2 OpenBSD: 3.7.2 macOS HomeBrew: 3.7.2 Ubuntu LTS 18.04 has the oldest version and so 3.4 is the new minimum. Signed-off-by: Daniel P. Berrangé Message-Id: <20210514120415.1368922-4-berrange@redhat.com> Reviewed-by: Thomas Huth Reviewed-by: Willian Rampazzo [thuth: rebased to use .gitlab-ci.d/buildtest.yml] Signed-off-by: Thomas Huth --- .gitlab-ci.d/buildtest.yml | 10 ---------- configure | 4 +--- crypto/cipher-nettle.c.inc | 31 ------------------------------- crypto/hash-nettle.c | 4 ---- crypto/hmac-nettle.c | 4 ---- 5 files changed, 1 insertion(+), 52 deletions(-) diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml index 807040c1c7..a86c27fdbe 100644 --- a/.gitlab-ci.d/buildtest.yml +++ b/.gitlab-ci.d/buildtest.yml @@ -630,16 +630,6 @@ build-coroutine-sigaltstack: # # These jobs test old gcrypt and nettle from RHEL7 # which had some API differences. -crypto-old-nettle: - extends: .native_build_job_template - needs: - job: amd64-centos7-container - variables: - IMAGE: centos7 - TARGETS: x86_64-softmmu x86_64-linux-user - CONFIGURE_ARGS: --disable-gcrypt --enable-nettle - MAKE_CHECK_ARGS: check - crypto-old-gcrypt: extends: .native_build_job_template needs: diff --git a/configure b/configure index ae629a3127..fddda94c63 100755 --- a/configure +++ b/configure @@ -2871,10 +2871,9 @@ has_libgcrypt() { if test "$nettle" != "no"; then pass="no" - if $pkg_config --exists "nettle >= 2.7.1"; then + if $pkg_config --exists "nettle >= 3.4"; then nettle_cflags=$($pkg_config --cflags nettle) nettle_libs=$($pkg_config --libs nettle) - nettle_version=$($pkg_config --modversion nettle) # Link test to make sure the given libraries work (e.g for static). write_c_skeleton if compile_prog "" "$nettle_libs" ; then @@ -5730,7 +5729,6 @@ if test "$gcrypt" = "yes" ; then fi if test "$nettle" = "yes" ; then echo "CONFIG_NETTLE=y" >> $config_host_mak - echo "CONFIG_NETTLE_VERSION_MAJOR=${nettle_version%%.*}" >> $config_host_mak echo "NETTLE_CFLAGS=$nettle_cflags" >> $config_host_mak echo "NETTLE_LIBS=$nettle_libs" >> $config_host_mak fi diff --git a/crypto/cipher-nettle.c.inc b/crypto/cipher-nettle.c.inc index cac771e4ff..490472656c 100644 --- a/crypto/cipher-nettle.c.inc +++ b/crypto/cipher-nettle.c.inc @@ -39,41 +39,10 @@ typedef void (*QCryptoCipherNettleFuncWrapper)(const void *ctx, uint8_t *dst, const uint8_t *src); -#if CONFIG_NETTLE_VERSION_MAJOR < 3 -typedef nettle_crypt_func * QCryptoCipherNettleFuncNative; -typedef void * cipher_ctx_t; -typedef unsigned cipher_length_t; -#define CONST_CTX - -#define cast5_set_key cast128_set_key - -#define aes128_ctx aes_ctx -#define aes192_ctx aes_ctx -#define aes256_ctx aes_ctx -#define aes128_set_encrypt_key(c, k) \ - aes_set_encrypt_key(c, 16, k) -#define aes192_set_encrypt_key(c, k) \ - aes_set_encrypt_key(c, 24, k) -#define aes256_set_encrypt_key(c, k) \ - aes_set_encrypt_key(c, 32, k) -#define aes128_set_decrypt_key(c, k) \ - aes_set_decrypt_key(c, 16, k) -#define aes192_set_decrypt_key(c, k) \ - aes_set_decrypt_key(c, 24, k) -#define aes256_set_decrypt_key(c, k) \ - aes_set_decrypt_key(c, 32, k) -#define aes128_encrypt aes_encrypt -#define aes192_encrypt aes_encrypt -#define aes256_encrypt aes_encrypt -#define aes128_decrypt aes_decrypt -#define aes192_decrypt aes_decrypt -#define aes256_decrypt aes_decrypt -#else typedef nettle_cipher_func * QCryptoCipherNettleFuncNative; typedef const void * cipher_ctx_t; typedef size_t cipher_length_t; #define CONST_CTX const -#endif static inline bool qcrypto_length_check(size_t len, size_t blocksize, Error **errp) diff --git a/crypto/hash-nettle.c b/crypto/hash-nettle.c index 2a6ee7c7d5..5c8977fb80 100644 --- a/crypto/hash-nettle.c +++ b/crypto/hash-nettle.c @@ -26,11 +26,7 @@ #include #include -#if CONFIG_NETTLE_VERSION_MAJOR < 3 -typedef unsigned int hash_length_t; -#else typedef size_t hash_length_t; -#endif typedef void (*qcrypto_nettle_init)(void *ctx); typedef void (*qcrypto_nettle_write)(void *ctx, diff --git a/crypto/hmac-nettle.c b/crypto/hmac-nettle.c index 1152b741fd..da6b6fa014 100644 --- a/crypto/hmac-nettle.c +++ b/crypto/hmac-nettle.c @@ -18,11 +18,7 @@ #include "hmacpriv.h" #include -#if CONFIG_NETTLE_VERSION_MAJOR < 3 -typedef unsigned int hmac_length_t; -#else typedef size_t hmac_length_t; -#endif typedef void (*qcrypto_nettle_hmac_setkey)(void *ctx, hmac_length_t key_length, From 115e4b70037ddf6014efa4ffcd01e7fa3497a741 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Fri, 14 May 2021 13:04:07 +0100 Subject: [PATCH 09/17] crypto: drop back compatibility typedefs for nettle MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Now that we only support modern nettle, we don't need to have local typedefs to mask the real nettle types. Reviewed-by: Thomas Huth Reviewed-by: Richard Henderson Signed-off-by: Daniel P. Berrangé Message-Id: <20210514120415.1368922-5-berrange@redhat.com> Reviewed-by: Willian Rampazzo Signed-off-by: Thomas Huth --- crypto/cipher-nettle.c.inc | 60 ++++++++++++++++---------------------- crypto/hash-nettle.c | 6 ++-- crypto/hmac-nettle.c | 8 ++--- 3 files changed, 30 insertions(+), 44 deletions(-) diff --git a/crypto/cipher-nettle.c.inc b/crypto/cipher-nettle.c.inc index 490472656c..fc6f40c026 100644 --- a/crypto/cipher-nettle.c.inc +++ b/crypto/cipher-nettle.c.inc @@ -34,16 +34,6 @@ #include #endif -typedef void (*QCryptoCipherNettleFuncWrapper)(const void *ctx, - size_t length, - uint8_t *dst, - const uint8_t *src); - -typedef nettle_cipher_func * QCryptoCipherNettleFuncNative; -typedef const void * cipher_ctx_t; -typedef size_t cipher_length_t; -#define CONST_CTX const - static inline bool qcrypto_length_check(size_t len, size_t blocksize, Error **errp) { @@ -166,12 +156,12 @@ static const struct QCryptoCipherDriver NAME##_driver_ctr = { \ static void NAME##_xts_wrape(const void *ctx, size_t length, \ uint8_t *dst, const uint8_t *src) \ { \ - ENCRYPT((cipher_ctx_t)ctx, length, dst, src); \ + ENCRYPT((const void *)ctx, length, dst, src); \ } \ static void NAME##_xts_wrapd(const void *ctx, size_t length, \ uint8_t *dst, const uint8_t *src) \ { \ - DECRYPT((cipher_ctx_t)ctx, length, dst, src); \ + DECRYPT((const void *)ctx, length, dst, src); \ } \ static int NAME##_encrypt_xts(QCryptoCipher *cipher, const void *in, \ void *out, size_t len, Error **errp) \ @@ -251,13 +241,13 @@ typedef struct QCryptoNettleDESRFB { uint8_t iv[DES_BLOCK_SIZE]; } QCryptoNettleDESRFB; -static void des_encrypt_native(cipher_ctx_t ctx, cipher_length_t length, +static void des_encrypt_native(const void *ctx, size_t length, uint8_t *dst, const uint8_t *src) { des_encrypt(ctx, length, dst, src); } -static void des_decrypt_native(cipher_ctx_t ctx, cipher_length_t length, +static void des_decrypt_native(const void *ctx, size_t length, uint8_t *dst, const uint8_t *src) { des_decrypt(ctx, length, dst, src); @@ -273,13 +263,13 @@ typedef struct QCryptoNettleDES3 { uint8_t iv[DES3_BLOCK_SIZE]; } QCryptoNettleDES3; -static void des3_encrypt_native(cipher_ctx_t ctx, cipher_length_t length, +static void des3_encrypt_native(const void *ctx, size_t length, uint8_t *dst, const uint8_t *src) { des3_encrypt(ctx, length, dst, src); } -static void des3_decrypt_native(cipher_ctx_t ctx, cipher_length_t length, +static void des3_decrypt_native(const void *ctx, size_t length, uint8_t *dst, const uint8_t *src) { des3_decrypt(ctx, length, dst, src); @@ -296,17 +286,17 @@ typedef struct QCryptoNettleAES128 { struct aes128_ctx key[2], key_xts[2]; } QCryptoNettleAES128; -static void aes128_encrypt_native(cipher_ctx_t ctx, cipher_length_t length, +static void aes128_encrypt_native(const void *ctx, size_t length, uint8_t *dst, const uint8_t *src) { - CONST_CTX struct aes128_ctx *keys = ctx; + const struct aes128_ctx *keys = ctx; aes128_encrypt(&keys[0], length, dst, src); } -static void aes128_decrypt_native(cipher_ctx_t ctx, cipher_length_t length, +static void aes128_decrypt_native(const void *ctx, size_t length, uint8_t *dst, const uint8_t *src) { - CONST_CTX struct aes128_ctx *keys = ctx; + const struct aes128_ctx *keys = ctx; aes128_decrypt(&keys[1], length, dst, src); } @@ -322,17 +312,17 @@ typedef struct QCryptoNettleAES192 { struct aes192_ctx key[2], key_xts[2]; } QCryptoNettleAES192; -static void aes192_encrypt_native(cipher_ctx_t ctx, cipher_length_t length, +static void aes192_encrypt_native(const void *ctx, size_t length, uint8_t *dst, const uint8_t *src) { - CONST_CTX struct aes192_ctx *keys = ctx; + const struct aes192_ctx *keys = ctx; aes192_encrypt(&keys[0], length, dst, src); } -static void aes192_decrypt_native(cipher_ctx_t ctx, cipher_length_t length, +static void aes192_decrypt_native(const void *ctx, size_t length, uint8_t *dst, const uint8_t *src) { - CONST_CTX struct aes192_ctx *keys = ctx; + const struct aes192_ctx *keys = ctx; aes192_decrypt(&keys[1], length, dst, src); } @@ -348,17 +338,17 @@ typedef struct QCryptoNettleAES256 { struct aes256_ctx key[2], key_xts[2]; } QCryptoNettleAES256; -static void aes256_encrypt_native(cipher_ctx_t ctx, cipher_length_t length, +static void aes256_encrypt_native(const void *ctx, size_t length, uint8_t *dst, const uint8_t *src) { - CONST_CTX struct aes256_ctx *keys = ctx; + const struct aes256_ctx *keys = ctx; aes256_encrypt(&keys[0], length, dst, src); } -static void aes256_decrypt_native(cipher_ctx_t ctx, cipher_length_t length, - uint8_t *dst, const uint8_t *src) +static void aes256_decrypt_native(const void *ctx, size_t length, + uint8_t *dst, const uint8_t *src) { - CONST_CTX struct aes256_ctx *keys = ctx; + const struct aes256_ctx *keys = ctx; aes256_decrypt(&keys[1], length, dst, src); } @@ -373,13 +363,13 @@ typedef struct QCryptoNettleCAST128 { struct cast128_ctx key, key_xts; } QCryptoNettleCAST128; -static void cast128_encrypt_native(cipher_ctx_t ctx, cipher_length_t length, +static void cast128_encrypt_native(const void *ctx, size_t length, uint8_t *dst, const uint8_t *src) { cast128_encrypt(ctx, length, dst, src); } -static void cast128_decrypt_native(cipher_ctx_t ctx, cipher_length_t length, +static void cast128_decrypt_native(const void *ctx, size_t length, uint8_t *dst, const uint8_t *src) { cast128_decrypt(ctx, length, dst, src); @@ -397,13 +387,13 @@ typedef struct QCryptoNettleSerpent { } QCryptoNettleSerpent; -static void serpent_encrypt_native(cipher_ctx_t ctx, cipher_length_t length, +static void serpent_encrypt_native(const void *ctx, size_t length, uint8_t *dst, const uint8_t *src) { serpent_encrypt(ctx, length, dst, src); } -static void serpent_decrypt_native(cipher_ctx_t ctx, cipher_length_t length, +static void serpent_decrypt_native(const void *ctx, size_t length, uint8_t *dst, const uint8_t *src) { serpent_decrypt(ctx, length, dst, src); @@ -420,13 +410,13 @@ typedef struct QCryptoNettleTwofish { struct twofish_ctx key, key_xts; } QCryptoNettleTwofish; -static void twofish_encrypt_native(cipher_ctx_t ctx, cipher_length_t length, +static void twofish_encrypt_native(const void *ctx, size_t length, uint8_t *dst, const uint8_t *src) { twofish_encrypt(ctx, length, dst, src); } -static void twofish_decrypt_native(cipher_ctx_t ctx, cipher_length_t length, +static void twofish_decrypt_native(const void *ctx, size_t length, uint8_t *dst, const uint8_t *src) { twofish_decrypt(ctx, length, dst, src); diff --git a/crypto/hash-nettle.c b/crypto/hash-nettle.c index 5c8977fb80..1ca1a41062 100644 --- a/crypto/hash-nettle.c +++ b/crypto/hash-nettle.c @@ -26,14 +26,12 @@ #include #include -typedef size_t hash_length_t; - typedef void (*qcrypto_nettle_init)(void *ctx); typedef void (*qcrypto_nettle_write)(void *ctx, - hash_length_t len, + size_t len, const uint8_t *buf); typedef void (*qcrypto_nettle_result)(void *ctx, - hash_length_t len, + size_t len, uint8_t *buf); union qcrypto_hash_ctx { diff --git a/crypto/hmac-nettle.c b/crypto/hmac-nettle.c index da6b6fa014..1ad6c4f253 100644 --- a/crypto/hmac-nettle.c +++ b/crypto/hmac-nettle.c @@ -18,18 +18,16 @@ #include "hmacpriv.h" #include -typedef size_t hmac_length_t; - typedef void (*qcrypto_nettle_hmac_setkey)(void *ctx, - hmac_length_t key_length, + size_t key_length, const uint8_t *key); typedef void (*qcrypto_nettle_hmac_update)(void *ctx, - hmac_length_t length, + size_t length, const uint8_t *data); typedef void (*qcrypto_nettle_hmac_digest)(void *ctx, - hmac_length_t length, + size_t length, uint8_t *digest); typedef struct QCryptoHmacNettle QCryptoHmacNettle; From b33a84632a3759c00320fd80923aa963c11207fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Fri, 14 May 2021 13:04:08 +0100 Subject: [PATCH 10/17] crypto: bump min gcrypt to 1.8.0, dropping RHEL-7 support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It has been over two years since RHEL-8 was released, and thus per the platform build policy, we no longer need to support RHEL-7 as a build target. This lets us increment the minimum required gcrypt version and assume that HMAC is always supported Per repology, current shipping versions are: RHEL-8: 1.8.5 Debian Buster: 1.8.4 openSUSE Leap 15.2: 1.8.2 Ubuntu LTS 18.04: 1.8.1 Ubuntu LTS 20.04: 1.8.5 FreeBSD: 1.9.2 Fedora 33: 1.8.6 Fedora 34: 1.9.3 OpenBSD: 1.9.3 macOS HomeBrew: 1.9.3 Ubuntu LTS 18.04 has the oldest version and so 1.8.0 is the new minimum. Signed-off-by: Daniel P. Berrangé Message-Id: <20210514120415.1368922-6-berrange@redhat.com> Reviewed-by: Thomas Huth [thuth: rebased to use .gitlab-ci.d/buildtest.yml] Signed-off-by: Thomas Huth --- .gitlab-ci.d/buildtest.yml | 10 ---------- configure | 18 +----------------- crypto/meson.build | 6 +----- 3 files changed, 2 insertions(+), 32 deletions(-) diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml index a86c27fdbe..fe44a5c2be 100644 --- a/.gitlab-ci.d/buildtest.yml +++ b/.gitlab-ci.d/buildtest.yml @@ -630,16 +630,6 @@ build-coroutine-sigaltstack: # # These jobs test old gcrypt and nettle from RHEL7 # which had some API differences. -crypto-old-gcrypt: - extends: .native_build_job_template - needs: - job: amd64-centos7-container - variables: - IMAGE: centos7 - TARGETS: x86_64-softmmu x86_64-linux-user - CONFIGURE_ARGS: --disable-nettle --enable-gcrypt - MAKE_CHECK_ARGS: check - crypto-only-gnutls: extends: .native_build_job_template needs: diff --git a/configure b/configure index fddda94c63..fb8c5187e8 100755 --- a/configure +++ b/configure @@ -407,7 +407,6 @@ gnutls="$default_feature" nettle="$default_feature" nettle_xts="no" gcrypt="$default_feature" -gcrypt_hmac="no" gcrypt_xts="no" qemu_private_xts="yes" auth_pam="$default_feature" @@ -2860,7 +2859,7 @@ has_libgcrypt() { maj=`libgcrypt-config --version | awk -F . '{print $1}'` min=`libgcrypt-config --version | awk -F . '{print $2}'` - if test $maj != 1 || test $min -lt 5 + if test $maj != 1 || test $min -lt 8 then return 1 fi @@ -2926,18 +2925,6 @@ if test "$gcrypt" != "no"; then gcrypt="yes" cat > $TMPC << EOF #include -int main(void) { - gcry_mac_hd_t handle; - gcry_mac_open(&handle, GCRY_MAC_HMAC_MD5, - GCRY_MAC_FLAG_SECURE, NULL); - return 0; -} -EOF - if compile_prog "$gcrypt_cflags" "$gcrypt_libs" ; then - gcrypt_hmac=yes - fi - cat > $TMPC << EOF -#include int main(void) { gcry_cipher_hd_t handle; gcry_cipher_open(&handle, GCRY_CIPHER_AES, GCRY_CIPHER_MODE_XTS, 0); @@ -5721,9 +5708,6 @@ if test "$gnutls" = "yes" ; then fi if test "$gcrypt" = "yes" ; then echo "CONFIG_GCRYPT=y" >> $config_host_mak - if test "$gcrypt_hmac" = "yes" ; then - echo "CONFIG_GCRYPT_HMAC=y" >> $config_host_mak - fi echo "GCRYPT_CFLAGS=$gcrypt_cflags" >> $config_host_mak echo "GCRYPT_LIBS=$gcrypt_libs" >> $config_host_mak fi diff --git a/crypto/meson.build b/crypto/meson.build index 7f37b5d335..af7e80c6f6 100644 --- a/crypto/meson.build +++ b/crypto/meson.build @@ -26,11 +26,7 @@ if 'CONFIG_NETTLE' in config_host crypto_ss.add(files('hash-nettle.c', 'hmac-nettle.c', 'pbkdf-nettle.c')) elif 'CONFIG_GCRYPT' in config_host crypto_ss.add(files('hash-gcrypt.c', 'pbkdf-gcrypt.c')) - if 'CONFIG_GCRYPT_HMAC' in config_host - crypto_ss.add(files('hmac-gcrypt.c')) - else - crypto_ss.add(files('hmac-glib.c')) - endif + crypto_ss.add(files('hmac-gcrypt.c')) else crypto_ss.add(files('hash-glib.c', 'hmac-glib.c', 'pbkdf-stub.c')) endif From d4c7ee330cd0ca05cc0c026f845af6711e37b0f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Fri, 14 May 2021 13:04:09 +0100 Subject: [PATCH 11/17] crypto: bump min gnutls to 3.5.18, dropping RHEL-7 support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It has been over two years since RHEL-8 was released, and thus per the platform build policy, we no longer need to support RHEL-7 as a build target. This lets us increment the minimum required gnutls version Per repology, current shipping versions are: RHEL-8: 3.6.14 Debian Buster: 3.6.7 openSUSE Leap 15.2: 3.6.7 Ubuntu LTS 18.04: 3.5.18 Ubuntu LTS 20.04: 3.6.13 FreeBSD: 3.6.15 Fedora 33: 3.6.16 Fedora 34: 3.7.1 OpenBSD: 3.6.15 macOS HomeBrew: 3.6.15 Ubuntu LTS 18.04 has the oldest version and so 3.5.18 is the new minimum. Signed-off-by: Daniel P. Berrangé Message-Id: <20210514120415.1368922-7-berrange@redhat.com> Reviewed-by: Thomas Huth Reviewed-by: Willian Rampazzo [thuth: rebased to use .gitlab-ci.d/buildtest.yml] Signed-off-by: Thomas Huth --- .gitlab-ci.d/buildtest.yml | 15 --------------- configure | 2 +- 2 files changed, 1 insertion(+), 16 deletions(-) diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml index fe44a5c2be..b72c57e4df 100644 --- a/.gitlab-ci.d/buildtest.yml +++ b/.gitlab-ci.d/buildtest.yml @@ -626,21 +626,6 @@ build-coroutine-sigaltstack: --enable-trace-backends=ftrace MAKE_CHECK_ARGS: check-unit -# Most jobs test latest gcrypt or nettle builds -# -# These jobs test old gcrypt and nettle from RHEL7 -# which had some API differences. -crypto-only-gnutls: - extends: .native_build_job_template - needs: - job: amd64-centos7-container - variables: - IMAGE: centos7 - TARGETS: x86_64-softmmu x86_64-linux-user - CONFIGURE_ARGS: --disable-nettle --disable-gcrypt --enable-gnutls - MAKE_CHECK_ARGS: check - - # Check our reduced build configurations build-without-default-devices: extends: .native_build_job_template diff --git a/configure b/configure index fb8c5187e8..b36df40c27 100755 --- a/configure +++ b/configure @@ -2801,7 +2801,7 @@ fi if test "$gnutls" != "no"; then pass="no" - if $pkg_config --exists "gnutls >= 3.1.18"; then + if $pkg_config --exists "gnutls >= 3.5.18"; then gnutls_cflags=$($pkg_config --cflags gnutls) gnutls_libs=$($pkg_config --libs gnutls) # Packaging for the static libraries is not always correct. From fd4eddc3a8237987c73fe1981ce9e3a4bd9fee29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Fri, 14 May 2021 13:04:10 +0100 Subject: [PATCH 12/17] crypto: drop used conditional check MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The condition being tested has never been set since the day the code was first introduced. Reviewed-by: Willian Rampazzo Reviewed-by: Richard Henderson Signed-off-by: Daniel P. Berrangé Message-Id: <20210514120415.1368922-8-berrange@redhat.com> Signed-off-by: Thomas Huth --- crypto/tlscredsx509.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/crypto/tlscredsx509.c b/crypto/tlscredsx509.c index bc503bab55..d9d6f4421e 100644 --- a/crypto/tlscredsx509.c +++ b/crypto/tlscredsx509.c @@ -354,11 +354,9 @@ qcrypto_tls_creds_check_cert_pair(gnutls_x509_crt_t cert, reason = "The certificate has been revoked"; } -#ifndef GNUTLS_1_0_COMPAT if (status & GNUTLS_CERT_INSECURE_ALGORITHM) { reason = "The certificate uses an insecure algorithm"; } -#endif error_setg(errp, "Our own certificate %s failed validation against %s: %s", From fb1fa97c69ca2299158229c78fea68c4036e6c1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Fri, 14 May 2021 13:04:11 +0100 Subject: [PATCH 13/17] tests/vm: convert centos VM recipe to CentOS 8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Daniel P. Berrangé Message-Id: <20210514120415.1368922-9-berrange@redhat.com> Reviewed-by: Willian Rampazzo Signed-off-by: Thomas Huth --- tests/vm/centos | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/tests/vm/centos b/tests/vm/centos index efe3dbbb36..5c7bc1c1a9 100755 --- a/tests/vm/centos +++ b/tests/vm/centos @@ -26,24 +26,23 @@ class CentosVM(basevm.BaseVM): export SRC_ARCHIVE=/dev/vdb; sudo chmod a+r $SRC_ARCHIVE; tar -xf $SRC_ARCHIVE; - make docker-test-block@centos7 {verbose} J={jobs} NETWORK=1; - make docker-test-quick@centos7 {verbose} J={jobs} NETWORK=1; + make docker-test-block@centos8 {verbose} J={jobs} NETWORK=1; + make docker-test-quick@centos8 {verbose} J={jobs} NETWORK=1; make docker-test-mingw@fedora {verbose} J={jobs} NETWORK=1; """ def build_image(self, img): - cimg = self._download_with_cache("https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-1802.qcow2.xz") + cimg = self._download_with_cache("https://cloud.centos.org/centos/8/x86_64/images/CentOS-8-GenericCloud-8.3.2011-20201204.2.x86_64.qcow2") img_tmp = img + ".tmp" - sys.stderr.write("Extracting the image...\n") - subprocess.check_call(["ln", "-f", cimg, img_tmp + ".xz"]) - subprocess.check_call(["xz", "--keep", "-dvf", img_tmp + ".xz"]) + subprocess.check_call(["ln", "-f", cimg, img_tmp]) self.exec_qemu_img("resize", img_tmp, "50G") self.boot(img_tmp, extra_args = ["-cdrom", self.gen_cloud_init_iso()]) self.wait_ssh() self.ssh_root_check("touch /etc/cloud/cloud-init.disabled") - self.ssh_root_check("yum update -y") - self.ssh_root_check("yum install -y docker make ninja-build git python3") - self.ssh_root_check("systemctl enable docker") + self.ssh_root_check("dnf update -y") + self.ssh_root_check("dnf install -y dnf-plugins-core") + self.ssh_root_check("dnf config-manager --set-enabled powertools") + self.ssh_root_check("dnf install -y podman make ninja-build git python3") self.ssh_root("poweroff") self.wait() os.rename(img_tmp, img) From 6f0748a048b9a5e2284e4d0f832322f9c832ad5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Fri, 14 May 2021 13:04:12 +0100 Subject: [PATCH 14/17] tests/docker: drop CentOS 7 container MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It has been over two years since RHEL-8 was released, and thus per the platform build policy, we no longer need to support RHEL-7 as a build target. Reviewed-by: Thomas Huth Acked-by: Alex Bennée Reviewed-by: Willian Rampazzo Signed-off-by: Daniel P. Berrangé Message-Id: <20210514120415.1368922-10-berrange@redhat.com> Signed-off-by: Thomas Huth --- .gitlab-ci.d/containers.yml | 5 --- tests/docker/dockerfiles/centos7.docker | 43 ------------------------- 2 files changed, 48 deletions(-) delete mode 100644 tests/docker/dockerfiles/centos7.docker diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml index bd01ae8f80..a369bb16aa 100644 --- a/.gitlab-ci.d/containers.yml +++ b/.gitlab-ci.d/containers.yml @@ -7,11 +7,6 @@ amd64-alpine-container: variables: NAME: alpine -amd64-centos7-container: - extends: .container_job_template - variables: - NAME: centos7 - amd64-debian11-container: extends: .container_job_template variables: diff --git a/tests/docker/dockerfiles/centos7.docker b/tests/docker/dockerfiles/centos7.docker deleted file mode 100644 index 75fdb53c7c..0000000000 --- a/tests/docker/dockerfiles/centos7.docker +++ /dev/null @@ -1,43 +0,0 @@ -FROM centos:7 -RUN yum install -y epel-release centos-release-xen-48 - -RUN yum -y update - -# Please keep this list sorted alphabetically -ENV PACKAGES \ - bzip2 \ - bzip2-devel \ - ccache \ - csnappy-devel \ - dbus-daemon \ - gcc-c++ \ - gcc \ - gettext \ - git \ - glib2-devel \ - glibc-static \ - gnutls-devel \ - libaio-devel \ - libepoxy-devel \ - libfdt-devel \ - libgcrypt-devel \ - librdmacm-devel \ - libzstd-devel \ - lzo-devel \ - make \ - mesa-libEGL-devel \ - mesa-libgbm-devel \ - nettle-devel \ - ninja-build \ - perl-Test-Harness \ - pixman-devel \ - python3 \ - SDL2-devel \ - spice-glib-devel \ - spice-server-devel \ - tar \ - vte-devel \ - xen-devel \ - zlib-devel -RUN yum install -y $PACKAGES -RUN rpm -q $PACKAGES | sort > /packages.txt From b4c6036faa995a0ec00d45901aa722ab2dd14341 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Fri, 14 May 2021 13:04:13 +0100 Subject: [PATCH 15/17] configure: bump min required glib version to 2.56 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The glib version was not previously constrained by RHEL-7 since it rebases fairly often. Instead SLES 12 and Ubuntu 16.04 were the constraints in 00f2cfbbec63fb6f5a7789797a62ccedd22466ea. Both of these are old enough that they are outside our platform support matrix now. Per repology, current shipping versions are: RHEL-8: 2.56.4 Debian Buster: 2.58.3 openSUSE Leap 15.2: 2.62.6 Ubuntu LTS 18.04: 2.56.4 Ubuntu LTS 20.04: 2.64.6 FreeBSD: 2.66.7 Fedora 33: 2.66.8 Fedora 34: 2.68.1 OpenBSD: 2.68.1 macOS HomeBrew: 2.68.1 Thus Ubuntu LTS 18.04 / RHEL-8 are the constraint for GLib version at 2.56 Signed-off-by: Daniel P. Berrangé Message-Id: <20210514120415.1368922-11-berrange@redhat.com> Reviewed-by: Thomas Huth Reviewed-by: Willian Rampazzo Signed-off-by: Thomas Huth --- configure | 2 +- include/glib-compat.h | 13 +-- util/oslib-win32.c | 204 ------------------------------------------ 3 files changed, 3 insertions(+), 216 deletions(-) diff --git a/configure b/configure index b36df40c27..9910df40af 100755 --- a/configure +++ b/configure @@ -3307,7 +3307,7 @@ done ########################################## # glib support probe -glib_req_ver=2.48 +glib_req_ver=2.56 glib_modules=gthread-2.0 if test "$modules" = yes; then glib_modules="$glib_modules gmodule-export-2.0" diff --git a/include/glib-compat.h b/include/glib-compat.h index 4542e920d5..9e95c888f5 100644 --- a/include/glib-compat.h +++ b/include/glib-compat.h @@ -19,12 +19,12 @@ /* Ask for warnings for anything that was marked deprecated in * the defined version, or before. It is a candidate for rewrite. */ -#define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_48 +#define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_56 /* Ask for warnings if code tries to use function that did not * exist in the defined version. These risk breaking builds */ -#define GLIB_VERSION_MAX_ALLOWED GLIB_VERSION_2_48 +#define GLIB_VERSION_MAX_ALLOWED GLIB_VERSION_2_56 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" @@ -68,15 +68,6 @@ * without generating warnings. */ -#if defined(_WIN32) && !GLIB_CHECK_VERSION(2, 50, 0) -/* - * g_poll has a problem on Windows when using - * timeouts < 10ms, so use wrapper. - */ -#define g_poll(fds, nfds, timeout) g_poll_fixed(fds, nfds, timeout) -gint g_poll_fixed(GPollFD *fds, guint nfds, gint timeout); -#endif - #if defined(G_OS_UNIX) /* * Note: The fallback implementation is not MT-safe, and it returns a copy of diff --git a/util/oslib-win32.c b/util/oslib-win32.c index 05e4ee5033..ca99356fdf 100644 --- a/util/oslib-win32.c +++ b/util/oslib-win32.c @@ -347,210 +347,6 @@ const char *qemu_get_exec_dir(void) return exec_dir; } -#if !GLIB_CHECK_VERSION(2, 50, 0) -/* - * The original implementation of g_poll from glib has a problem on Windows - * when using timeouts < 10 ms. - * - * Whenever g_poll is called with timeout < 10 ms, it does a quick poll instead - * of wait. This causes significant performance degradation of QEMU. - * - * The following code is a copy of the original code from glib/gpoll.c - * (glib commit 20f4d1820b8d4d0fc4447188e33efffd6d4a88d8 from 2014-02-19). - * Some debug code was removed and the code was reformatted. - * All other code modifications are marked with 'QEMU'. - */ - -/* - * gpoll.c: poll(2) abstraction - * Copyright 1998 Owen Taylor - * Copyright 2008 Red Hat, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, see . - */ - -static int poll_rest(gboolean poll_msgs, HANDLE *handles, gint nhandles, - GPollFD *fds, guint nfds, gint timeout) -{ - DWORD ready; - GPollFD *f; - int recursed_result; - - if (poll_msgs) { - /* Wait for either messages or handles - * -> Use MsgWaitForMultipleObjectsEx - */ - ready = MsgWaitForMultipleObjectsEx(nhandles, handles, timeout, - QS_ALLINPUT, MWMO_ALERTABLE); - - if (ready == WAIT_FAILED) { - gchar *emsg = g_win32_error_message(GetLastError()); - g_warning("MsgWaitForMultipleObjectsEx failed: %s", emsg); - g_free(emsg); - } - } else if (nhandles == 0) { - /* No handles to wait for, just the timeout */ - if (timeout == INFINITE) { - ready = WAIT_FAILED; - } else { - SleepEx(timeout, TRUE); - ready = WAIT_TIMEOUT; - } - } else { - /* Wait for just handles - * -> Use WaitForMultipleObjectsEx - */ - ready = - WaitForMultipleObjectsEx(nhandles, handles, FALSE, timeout, TRUE); - if (ready == WAIT_FAILED) { - gchar *emsg = g_win32_error_message(GetLastError()); - g_warning("WaitForMultipleObjectsEx failed: %s", emsg); - g_free(emsg); - } - } - - if (ready == WAIT_FAILED) { - return -1; - } else if (ready == WAIT_TIMEOUT || ready == WAIT_IO_COMPLETION) { - return 0; - } else if (poll_msgs && ready == WAIT_OBJECT_0 + nhandles) { - for (f = fds; f < &fds[nfds]; ++f) { - if (f->fd == G_WIN32_MSG_HANDLE && f->events & G_IO_IN) { - f->revents |= G_IO_IN; - } - } - - /* If we have a timeout, or no handles to poll, be satisfied - * with just noticing we have messages waiting. - */ - if (timeout != 0 || nhandles == 0) { - return 1; - } - - /* If no timeout and handles to poll, recurse to poll them, - * too. - */ - recursed_result = poll_rest(FALSE, handles, nhandles, fds, nfds, 0); - return (recursed_result == -1) ? -1 : 1 + recursed_result; - } else if (/* QEMU: removed the following unneeded statement which causes - * a compiler warning: ready >= WAIT_OBJECT_0 && */ - ready < WAIT_OBJECT_0 + nhandles) { - for (f = fds; f < &fds[nfds]; ++f) { - if ((HANDLE) f->fd == handles[ready - WAIT_OBJECT_0]) { - f->revents = f->events; - } - } - - /* If no timeout and polling several handles, recurse to poll - * the rest of them. - */ - if (timeout == 0 && nhandles > 1) { - /* Remove the handle that fired */ - int i; - for (i = ready - WAIT_OBJECT_0 + 1; i < nhandles; i++) { - handles[i-1] = handles[i]; - } - nhandles--; - recursed_result = poll_rest(FALSE, handles, nhandles, fds, nfds, 0); - return (recursed_result == -1) ? -1 : 1 + recursed_result; - } - return 1; - } - - return 0; -} - -gint g_poll_fixed(GPollFD *fds, guint nfds, gint timeout) -{ - HANDLE handles[MAXIMUM_WAIT_OBJECTS]; - gboolean poll_msgs = FALSE; - GPollFD *f; - gint nhandles = 0; - int retval; - - for (f = fds; f < &fds[nfds]; ++f) { - if (f->fd == G_WIN32_MSG_HANDLE && (f->events & G_IO_IN)) { - poll_msgs = TRUE; - } else if (f->fd > 0) { - /* Don't add the same handle several times into the array, as - * docs say that is not allowed, even if it actually does seem - * to work. - */ - gint i; - - for (i = 0; i < nhandles; i++) { - if (handles[i] == (HANDLE) f->fd) { - break; - } - } - - if (i == nhandles) { - if (nhandles == MAXIMUM_WAIT_OBJECTS) { - g_warning("Too many handles to wait for!\n"); - break; - } else { - handles[nhandles++] = (HANDLE) f->fd; - } - } - } - } - - for (f = fds; f < &fds[nfds]; ++f) { - f->revents = 0; - } - - if (timeout == -1) { - timeout = INFINITE; - } - - /* Polling for several things? */ - if (nhandles > 1 || (nhandles > 0 && poll_msgs)) { - /* First check if one or several of them are immediately - * available - */ - retval = poll_rest(poll_msgs, handles, nhandles, fds, nfds, 0); - - /* If not, and we have a significant timeout, poll again with - * timeout then. Note that this will return indication for only - * one event, or only for messages. We ignore timeouts less than - * ten milliseconds as they are mostly pointless on Windows, the - * MsgWaitForMultipleObjectsEx() call will timeout right away - * anyway. - * - * Modification for QEMU: replaced timeout >= 10 by timeout > 0. - */ - if (retval == 0 && (timeout == INFINITE || timeout > 0)) { - retval = poll_rest(poll_msgs, handles, nhandles, - fds, nfds, timeout); - } - } else { - /* Just polling for one thing, so no need to check first if - * available immediately - */ - retval = poll_rest(poll_msgs, handles, nhandles, fds, nfds, timeout); - } - - if (retval == -1) { - for (f = fds; f < &fds[nfds]; ++f) { - f->revents = 0; - } - } - - return retval; -} -#endif - int getpagesize(void) { SYSTEM_INFO system_info; From 56208a0d473c6db263cc333c787ca48b502d72ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Fri, 14 May 2021 13:04:14 +0100 Subject: [PATCH 16/17] configure: bump min required GCC to 7.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Several distros have been dropped since the last time we bumped the minimum required GCC version. Per repology, currently shipping versions are: RHEL-8: 8.3.1 Debian Buster: 8.3.0 openSUSE Leap 15.2: 7.5.0 Ubuntu LTS 18.04: 7.5.0 Ubuntu LTS 20.04: 9.3.0 FreeBSD: 10.3.0 Fedora 33: 9.2.0 Fedora 34: 11.0.1 OpenBSD: 8.4.0 macOS HomeBrew: 11.1.0 With this list Ubuntu LTS 18.04 / openSUSE Leap 15.2 are the constraint at 7.5.0 Signed-off-by: Daniel P. Berrangé Message-Id: <20210514120415.1368922-12-berrange@redhat.com> Reviewed-by: Thomas Huth Reviewed-by: Willian Rampazzo Signed-off-by: Thomas Huth --- configure | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure b/configure index 9910df40af..da2e28a3c2 100755 --- a/configure +++ b/configure @@ -2065,8 +2065,8 @@ cat > $TMPC << EOF # endif # endif #elif defined(__GNUC__) && defined(__GNUC_MINOR__) -# if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 8) -# error You need at least GCC v4.8 to compile QEMU +# if __GNUC__ < 7 || (__GNUC__ == 7 && __GNUC_MINOR__ < 5) +# error You need at least GCC v7.5.0 to compile QEMU # endif #else # error You either need GCC or Clang to compiler QEMU @@ -2074,7 +2074,7 @@ cat > $TMPC << EOF int main (void) { return 0; } EOF if ! compile_prog "" "" ; then - error_exit "You need at least GCC v4.8 or Clang v3.4 (or XCode Clang v5.1)" + error_exit "You need at least GCC v7.5 or Clang v3.4 (or XCode Clang v5.1)" fi # Accumulate -Wfoo and -Wno-bar separately. From 2a85a08c998e418a46a308095893f223642f6fc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Fri, 14 May 2021 13:04:15 +0100 Subject: [PATCH 17/17] configure: bump min required CLang to 6.0 / XCode 10.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Several distros have been dropped since the last time we bumped the minimum required CLang version. Per repology, currently shipping versions are: RHEL-8: 10.0.1 Debian Buster: 7.0.1 openSUSE Leap 15.2: 9.0.1 Ubuntu LTS 18.04: 6.0.0 Ubuntu LTS 20.04: 10.0.0 FreeBSD 12: 8.0.1 Fedora 33: 11.0.0 Fedora 34: 11.1.0 With this list Ubuntu LTS 18.04 is the constraint at 6.0.0 An LLVM version of 6.0.0 corresponds to macOS XCode version of 10.0 which dates from Sept 2018. Signed-off-by: Daniel P. Berrangé Message-Id: <20210514120415.1368922-13-berrange@redhat.com> Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Willian Rampazzo Signed-off-by: Thomas Huth --- configure | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/configure b/configure index da2e28a3c2..f0c8629dc6 100755 --- a/configure +++ b/configure @@ -2056,12 +2056,12 @@ fi cat > $TMPC << EOF #if defined(__clang_major__) && defined(__clang_minor__) # ifdef __apple_build_version__ -# if __clang_major__ < 5 || (__clang_major__ == 5 && __clang_minor__ < 1) -# error You need at least XCode Clang v5.1 to compile QEMU +# if __clang_major__ < 10 || (__clang_major__ == 10 && __clang_minor__ < 0) +# error You need at least XCode Clang v10.0 to compile QEMU # endif # else -# if __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 4) -# error You need at least Clang v3.4 to compile QEMU +# if __clang_major__ < 6 || (__clang_major__ == 6 && __clang_minor__ < 0) +# error You need at least Clang v6.0 to compile QEMU # endif # endif #elif defined(__GNUC__) && defined(__GNUC_MINOR__) @@ -2074,7 +2074,7 @@ cat > $TMPC << EOF int main (void) { return 0; } EOF if ! compile_prog "" "" ; then - error_exit "You need at least GCC v7.5 or Clang v3.4 (or XCode Clang v5.1)" + error_exit "You need at least GCC v7.5 or Clang v6.0 (or XCode Clang v10.0)" fi # Accumulate -Wfoo and -Wno-bar separately.