diff --git a/Kconfig.host b/Kconfig.host index a6d871c399..4af19bf70e 100644 --- a/Kconfig.host +++ b/Kconfig.host @@ -1,6 +1,6 @@ # These are "proxy" symbols used to pass config-host.mak values -# down to Kconfig. See also MINIKCONF_ARGS in the Makefile: -# these two need to be kept in sync. +# down to Kconfig. See also kconfig_external_symbols in +# meson.build: these two need to be kept in sync. config LINUX bool diff --git a/Makefile b/Makefile index d6c5c9fdef..2ed19310cf 100644 --- a/Makefile +++ b/Makefile @@ -128,7 +128,7 @@ build.ninja: config-host.mak Makefile: ; configure: ; -.PHONY: all clean cscope distclean install \ +.PHONY: all clean distclean install \ recurse-all dist msi FORCE SUBDIR_MAKEFLAGS=$(if $(V),,--no-print-directory --quiet) @@ -221,20 +221,22 @@ distclean: clean ninja-distclean rm -f linux-headers/asm rm -Rf .sdk +find-src-path = find "$(SRC_PATH)/" -path "$(SRC_PATH)/meson" -prune -o -name "*.[chsS]" + .PHONY: ctags ctags: rm -f tags - find "$(SRC_PATH)" -name '*.[hc]' -exec ctags --append {} + + $(find-src-path) -exec ctags --append {} + .PHONY: TAGS TAGS: rm -f TAGS - find "$(SRC_PATH)" -name '*.[hc]' -exec etags --append {} + + $(find-src-path) -exec etags --append {} + .PHONY: cscope cscope: rm -f "$(SRC_PATH)"/cscope.* - find "$(SRC_PATH)/" -name "*.[chsS]" -print | sed -e 's,^\./,,' > "$(SRC_PATH)/cscope.files" + $(find-src-path) -print | sed -e 's,^\./,,' > "$(SRC_PATH)/cscope.files" cscope -b -i"$(SRC_PATH)/cscope.files" # Needed by "meson install" diff --git a/hw/acpi/tco.c b/hw/acpi/tco.c index fb9052dbca..cf1e68a539 100644 --- a/hw/acpi/tco.c +++ b/hw/acpi/tco.c @@ -15,17 +15,6 @@ #include "hw/acpi/tco.h" #include "trace.h" -//#define DEBUG - -#ifdef DEBUG -#define TCO_DEBUG(fmt, ...) \ - do { \ - fprintf(stderr, "%s "fmt, __func__, ## __VA_ARGS__); \ - } while (0) -#else -#define TCO_DEBUG(fmt, ...) do { } while (0) -#endif - enum { TCO_RLD_DEFAULT = 0x0000, TCO_DAT_IN_DEFAULT = 0x00, diff --git a/hw/arm/pxa2xx.c b/hw/arm/pxa2xx.c index 701baa84ca..33074dbf82 100644 --- a/hw/arm/pxa2xx.c +++ b/hw/arm/pxa2xx.c @@ -444,7 +444,7 @@ static void pxa2xx_mm_write(void *opaque, hwaddr addr, s->mm_regs[addr >> 2] = value; break; } - + /* fallthrough */ default: qemu_log_mask(LOG_GUEST_ERROR, "%s: Bad write offset 0x%"HWADDR_PRIx"\n", diff --git a/hw/dma/xlnx_dpdma.c b/hw/dma/xlnx_dpdma.c index b40c897de2..967548abd3 100644 --- a/hw/dma/xlnx_dpdma.c +++ b/hw/dma/xlnx_dpdma.c @@ -388,7 +388,7 @@ static void xlnx_dpdma_dump_descriptor(DPDMADescriptor *desc) { if (DEBUG_DPDMA) { qemu_log("DUMP DESCRIPTOR:\n"); - qemu_hexdump((char *)desc, stdout, "", sizeof(DPDMADescriptor)); + qemu_hexdump(stdout, "", desc, sizeof(DPDMADescriptor)); } } diff --git a/hw/gpio/max7310.c b/hw/gpio/max7310.c index 5511047f35..2888d071ac 100644 --- a/hw/gpio/max7310.c +++ b/hw/gpio/max7310.c @@ -13,6 +13,7 @@ #include "hw/hw.h" #include "hw/irq.h" #include "migration/vmstate.h" +#include "qemu/log.h" #include "qemu/module.h" #include "qom/object.h" @@ -71,9 +72,8 @@ static uint8_t max7310_rx(I2CSlave *i2c) return 0xff; default: -#ifdef VERBOSE - printf("%s: unknown register %02x\n", __func__, s->command); -#endif + qemu_log_mask(LOG_UNIMP, "%s: Unsupported register 0x02%" PRIx8 "\n", + __func__, s->command); break; } return 0xff; @@ -125,9 +125,8 @@ static int max7310_tx(I2CSlave *i2c, uint8_t data) case 0x00: /* Input port - ignore writes */ break; default: -#ifdef VERBOSE - printf("%s: unknown register %02x\n", __func__, s->command); -#endif + qemu_log_mask(LOG_UNIMP, "%s: Unsupported register 0x02%" PRIx8 "\n", + __func__, s->command); return 1; } diff --git a/hw/gpio/omap_gpio.c b/hw/gpio/omap_gpio.c index f662c4cb95..e25084b40c 100644 --- a/hw/gpio/omap_gpio.c +++ b/hw/gpio/omap_gpio.c @@ -392,8 +392,10 @@ static void omap2_gpio_module_write(void *opaque, hwaddr addr, break; case 0x10: /* GPIO_SYSCONFIG */ - if (((value >> 3) & 3) == 3) - fprintf(stderr, "%s: bad IDLEMODE value\n", __func__); + if (((value >> 3) & 3) == 3) { + qemu_log_mask(LOG_GUEST_ERROR, + "%s: Illegal IDLEMODE value: 3\n", __func__); + } if (value & 2) omap2_gpio_module_reset(s); s->config[0] = value & 0x1d; diff --git a/hw/hyperv/vmbus.c b/hw/hyperv/vmbus.c index 75af6b83dd..6ef895bc35 100644 --- a/hw/hyperv/vmbus.c +++ b/hw/hyperv/vmbus.c @@ -380,7 +380,8 @@ static ssize_t gpadl_iter_io(GpadlIter *iter, void *buf, uint32_t len) } } - p = (void *)(((uintptr_t)iter->map & TARGET_PAGE_MASK) | off_in_page); + p = (void *)(uintptr_t)(((uintptr_t)iter->map & TARGET_PAGE_MASK) | + off_in_page); if (iter->dir == DMA_DIRECTION_FROM_DEVICE) { memcpy(p, buf, cplen); } else { diff --git a/hw/isa/isa-bus.c b/hw/isa/isa-bus.c index 58fde178f9..10bb7ffa43 100644 --- a/hw/isa/isa-bus.c +++ b/hw/isa/isa-bus.c @@ -21,7 +21,6 @@ #include "qemu/error-report.h" #include "qemu/module.h" #include "qapi/error.h" -#include "hw/hw.h" #include "monitor/monitor.h" #include "hw/sysbus.h" #include "sysemu/sysemu.h" @@ -85,18 +84,14 @@ void isa_bus_irqs(ISABus *bus, qemu_irq *irqs) qemu_irq isa_get_irq(ISADevice *dev, unsigned isairq) { assert(!dev || ISA_BUS(qdev_get_parent_bus(DEVICE(dev))) == isabus); - if (isairq >= ISA_NUM_IRQS) { - hw_error("isa irq %d invalid", isairq); - } + assert(isairq < ISA_NUM_IRQS); return isabus->irqs[isairq]; } void isa_init_irq(ISADevice *dev, qemu_irq *p, unsigned isairq) { assert(dev->nirqs < ARRAY_SIZE(dev->isairq)); - if (isairq >= ISA_NUM_IRQS) { - hw_error("isa irq %d invalid", isairq); - } + assert(isairq < ISA_NUM_IRQS); dev->isairq[dev->nirqs] = isairq; *p = isa_get_irq(dev, isairq); dev->nirqs++; diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c index 8ca31e5162..f28609976b 100644 --- a/hw/mips/fuloong2e.c +++ b/hw/mips/fuloong2e.c @@ -240,10 +240,7 @@ static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq intc, PCIDevice *dev; isa_bus = vt82c686b_isa_init(pci_bus, PCI_DEVFN(slot, 0)); - if (!isa_bus) { - fprintf(stderr, "vt82c686b_init error\n"); - exit(1); - } + assert(isa_bus); *p_isa_bus = isa_bus; /* Interrupt controller */ /* The 8259 -> IP5 */ diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c index bcd186cac5..bcfd46696f 100644 --- a/hw/net/e1000e_core.c +++ b/hw/net/e1000e_core.c @@ -2916,7 +2916,6 @@ static const readops e1000e_macreg_readops[] = { e1000e_getreg(TSYNCRXCTL), e1000e_getreg(TDH), e1000e_getreg(LEDCTL), - e1000e_getreg(STATUS), e1000e_getreg(TCTL), e1000e_getreg(TDBAL), e1000e_getreg(TDLEN), @@ -3142,7 +3141,6 @@ static const writeops e1000e_macreg_writeops[] = { e1000e_putreg(RXCFGL), e1000e_putreg(TSYNCRXCTL), e1000e_putreg(TSYNCTXCTL), - e1000e_putreg(FLSWDATA), e1000e_putreg(EXTCNF_SIZE), e1000e_putreg(EEMNGCTL), e1000e_putreg(RA), diff --git a/hw/net/fsl_etsec/etsec.c b/hw/net/fsl_etsec/etsec.c index ad20b22cdd..93886bba60 100644 --- a/hw/net/fsl_etsec/etsec.c +++ b/hw/net/fsl_etsec/etsec.c @@ -357,7 +357,7 @@ static ssize_t etsec_receive(NetClientState *nc, #if defined(HEX_DUMP) fprintf(stderr, "%s receive size:%zd\n", nc->name, size); - qemu_hexdump((void *)buf, stderr, "", size); + qemu_hexdump(stderr, "", buf, size); #endif /* Flush is unnecessary as are already in receiving path */ etsec->need_flush = false; diff --git a/hw/net/fsl_etsec/rings.c b/hw/net/fsl_etsec/rings.c index 337a55fc95..628648a9c3 100644 --- a/hw/net/fsl_etsec/rings.c +++ b/hw/net/fsl_etsec/rings.c @@ -269,7 +269,7 @@ static void process_tx_bd(eTSEC *etsec, #if defined(HEX_DUMP) qemu_log("eTSEC Send packet size:%d\n", etsec->tx_buffer_len); - qemu_hexdump(etsec->tx_buffer, stderr, "", etsec->tx_buffer_len); + qemu_hexdump(stderr, "", etsec->tx_buffer, etsec->tx_buffer_len); #endif /* ETSEC_RING_DEBUG */ if (etsec->first_bd.flags & BD_TX_TOEUN) { diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 483c4f1720..0012882222 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -1785,7 +1785,7 @@ send_response: } #ifdef DEBUG_SD - qemu_hexdump((const char *)response, stderr, "Response", rsplen); + qemu_hexdump(stderr, "Response", response, rsplen); #endif return rsplen; diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c index a079ecd50c..3238de6bb8 100644 --- a/hw/usb/redirect.c +++ b/hw/usb/redirect.c @@ -242,7 +242,7 @@ static void usbredir_log_data(USBRedirDevice *dev, const char *desc, if (dev->debug < usbredirparser_debug_data) { return; } - qemu_hexdump((char *)data, stderr, desc, len); + qemu_hexdump(stderr, desc, data, len); } /* diff --git a/include/qemu-common.h b/include/qemu-common.h index bb9496bd80..9cfd62669b 100644 --- a/include/qemu-common.h +++ b/include/qemu-common.h @@ -138,7 +138,8 @@ int os_parse_cmd_args(int index, const char *optarg); * Hexdump a buffer to a file. An optional string prefix is added to every line */ -void qemu_hexdump(const char *buf, FILE *fp, const char *prefix, size_t size); +void qemu_hexdump(FILE *fp, const char *prefix, + const void *bufptr, size_t size); /* * helper to parse debug environment variables diff --git a/meson.build b/meson.build index 951c4d0ec5..bd84a1e777 100644 --- a/meson.build +++ b/meson.build @@ -273,8 +273,8 @@ if sdl.found() method: 'pkg-config', static: enable_static) else if get_option('sdl_image').enabled() - error('sdl-image required, but SDL was @0@', - get_option('sdl').disabled() ? 'disabled' : 'not found') + error('sdl-image required, but SDL was @0@'.format( + get_option('sdl').disabled() ? 'disabled' : 'not found')) endif sdl_image = not_found endif diff --git a/net/colo-compare.c b/net/colo-compare.c index 0b1201d2ba..3a45d64175 100644 --- a/net/colo-compare.c +++ b/net/colo-compare.c @@ -497,10 +497,8 @@ sec: g_queue_push_head(&conn->secondary_list, spkt); #ifdef DEBUG_COLO_PACKETS - qemu_hexdump((char *)ppkt->data, stderr, - "colo-compare ppkt", ppkt->size); - qemu_hexdump((char *)spkt->data, stderr, - "colo-compare spkt", spkt->size); + qemu_hexdump(stderr, "colo-compare ppkt", ppkt->data, ppkt->size); + qemu_hexdump(stderr, "colo-compare spkt", spkt->data, spkt->size); #endif colo_compare_inconsistency_notify(s); @@ -538,10 +536,8 @@ static int colo_packet_compare_udp(Packet *spkt, Packet *ppkt) trace_colo_compare_udp_miscompare("primary pkt size", ppkt->size); trace_colo_compare_udp_miscompare("Secondary pkt size", spkt->size); #ifdef DEBUG_COLO_PACKETS - qemu_hexdump((char *)ppkt->data, stderr, "colo-compare pri pkt", - ppkt->size); - qemu_hexdump((char *)spkt->data, stderr, "colo-compare sec pkt", - spkt->size); + qemu_hexdump(stderr, "colo-compare pri pkt", ppkt->data, ppkt->size); + qemu_hexdump(stderr, "colo-compare sec pkt", spkt->data, spkt->size); #endif return -1; } else { @@ -581,10 +577,8 @@ static int colo_packet_compare_icmp(Packet *spkt, Packet *ppkt) trace_colo_compare_icmp_miscompare("Secondary pkt size", spkt->size); #ifdef DEBUG_COLO_PACKETS - qemu_hexdump((char *)ppkt->data, stderr, "colo-compare pri pkt", - ppkt->size); - qemu_hexdump((char *)spkt->data, stderr, "colo-compare sec pkt", - spkt->size); + qemu_hexdump(stderr, "colo-compare pri pkt", ppkt->data, ppkt->size); + qemu_hexdump(stderr, "colo-compare sec pkt", spkt->data, spkt->size); #endif return -1; } else { diff --git a/net/net.c b/net/net.c index bbaedb3c7a..7a2a0fb5ac 100644 --- a/net/net.c +++ b/net/net.c @@ -636,7 +636,7 @@ static ssize_t qemu_send_packet_async_with_flags(NetClientState *sender, #ifdef DEBUG_NET printf("qemu_send_packet_async:\n"); - qemu_hexdump((const char *)buf, stdout, "net", size); + qemu_hexdump(stdout, "net", buf, size); #endif if (sender->link_down || !sender->peer) { diff --git a/target/i386/kvm.c b/target/i386/kvm.c index 205b68bc0c..d87af57a23 100644 --- a/target/i386/kvm.c +++ b/target/i386/kvm.c @@ -302,7 +302,7 @@ static int get_para_features(KVMState *s) return features; } -static bool host_tsx_blacklisted(void) +static bool host_tsx_broken(void) { int family, model, stepping;\ char vendor[CPUID_VENDOR_SZ + 1]; @@ -408,7 +408,7 @@ uint32_t kvm_arch_get_supported_cpuid(KVMState *s, uint32_t function, } else if (function == 6 && reg == R_EAX) { ret |= CPUID_6_EAX_ARAT; /* safe to allow because of emulated APIC */ } else if (function == 7 && index == 0 && reg == R_EBX) { - if (host_tsx_blacklisted()) { + if (host_tsx_broken()) { ret &= ~(CPUID_7_0_EBX_RTM | CPUID_7_0_EBX_HLE); } } else if (function == 7 && index == 0 && reg == R_EDX) { @@ -1568,6 +1568,7 @@ int kvm_arch_init_vcpu(CPUState *cs) if (env->nr_dies < 2) { break; } + /* fallthrough */ case 4: case 0xb: case 0xd: diff --git a/tests/test-vmstate.c b/tests/test-vmstate.c index f8de709a0b..1c763015d0 100644 --- a/tests/test-vmstate.c +++ b/tests/test-vmstate.c @@ -1055,9 +1055,6 @@ static gboolean match_interval_mapping_node(gpointer key, TestGTreeMapping *map_a, *map_b; TestGTreeInterval *a, *b; struct match_node_data *d = (struct match_node_data *)data; - char *str = g_strdup_printf("dest"); - - g_free(str); a = (TestGTreeInterval *)key; b = (TestGTreeInterval *)d->key; diff --git a/util/hexdump.c b/util/hexdump.c index f879ff0ad6..0b4662e701 100644 --- a/util/hexdump.c +++ b/util/hexdump.c @@ -16,8 +16,10 @@ #include "qemu/osdep.h" #include "qemu-common.h" -void qemu_hexdump(const char *buf, FILE *fp, const char *prefix, size_t size) +void qemu_hexdump(FILE *fp, const char *prefix, + const void *bufptr, size_t size) { + const char *buf = bufptr; unsigned int b, len, i, c; for (b = 0; b < size; b += 16) { diff --git a/util/iov.c b/util/iov.c index 45ef3043ee..ae61d696aa 100644 --- a/util/iov.c +++ b/util/iov.c @@ -237,7 +237,7 @@ void iov_hexdump(const struct iovec *iov, const unsigned int iov_cnt, size = size > limit ? limit : size; buf = g_malloc(size); iov_to_buf(iov, iov_cnt, 0, buf, size); - qemu_hexdump(buf, fp, prefix, size); + qemu_hexdump(fp, prefix, buf, size); g_free(buf); }