Download raw body.
clean up __progname extern in vmd
On Mon, Dec 01, 2025 at 01:32:14PM -0500, Dave Voutila wrote:
> Many years ago before some of vmd's log.c was improved, vmd would
> explicitly pass __progname to its logging functions. That's no longer
> required and just adds noise.
>
> Diff below cleans it up and reduces vmd's footprint by 49 lines.
>
> A few log messages are tweaked and vague memory allocation messages
> are made less vague as well.
>
> ok?
>
as long as the resulting logs are non-ambiguous, sure. I think I added
that before to show what process was dumping that line into the log. Does this
still make it clear which vmd process is the one doing the logging?
ok mlarkin
> -dv
>
> diffstat refs/heads/master refs/heads/vmd-progname
> M usr.sbin/vmd/fw_cfg.c | 8+ 10-
> M usr.sbin/vmd/i8253.c | 2+ 4-
> M usr.sbin/vmd/loadfile_elf.c | 2+ 5-
> M usr.sbin/vmd/ns8250.c | 2+ 5-
> M usr.sbin/vmd/pci.c | 6+ 7-
> M usr.sbin/vmd/vioblk.c | 0+ 1-
> M usr.sbin/vmd/vionet.c | 4+ 9-
> M usr.sbin/vmd/vioqcow2.c | 0+ 2-
> M usr.sbin/vmd/vioscsi.c | 0+ 2-
> M usr.sbin/vmd/virtio.c | 24+ 36-
> M usr.sbin/vmd/vm.c | 21+ 33-
> M usr.sbin/vmd/x86_vm.c | 4+ 8-
>
> 12 files changed, 73 insertions(+), 122 deletions(-)
>
> diff refs/heads/master refs/heads/vmd-progname
> commit - 81c7ee7ce72201df8b014906636309b00d1be1bf
> commit + 4111293e4fdc631f29848845974c8e08a8c87da2
> blob - 158e9a1e7efdd197da390736276d94e8a77fa020
> blob + ddc33d8d3d2c04521d1abfd65097b1f51917bedf
> --- usr.sbin/vmd/fw_cfg.c
> +++ usr.sbin/vmd/fw_cfg.c
> @@ -55,8 +55,6 @@ struct fw_cfg_file {
> char name[56];
> };
>
> -extern char *__progname;
> -
> static struct fw_cfg_state {
> size_t offset;
> size_t size;
> @@ -219,8 +217,8 @@ vcpu_exit_fw_cfg(struct vm_run_params *vrp)
> switch (vei->vei.vei_port) {
> case FW_CFG_IO_SELECT:
> if (vei->vei.vei_dir == VEI_DIR_IN) {
> - log_warnx("%s: fw_cfg: read from selector port "
> - "unsupported", __progname);
> + log_warnx("fw_cfg: read from selector port "
> + "unsupported");
> set_return_data(vei, 0);
> break;
> }
> @@ -229,8 +227,8 @@ vcpu_exit_fw_cfg(struct vm_run_params *vrp)
> break;
> case FW_CFG_IO_DATA:
> if (vei->vei.vei_dir == VEI_DIR_OUT) {
> - log_debug("%s: fw_cfg: discarding data written to "
> - "data port", __progname);
> + log_debug("fw_cfg: discarding data written to "
> + "data port");
> break;
> }
> /* fw_cfg only defines 1-byte reads via IO port */
> @@ -255,8 +253,8 @@ vcpu_exit_fw_cfg_dma(struct vm_run_params *vrp)
> struct vm_exit *vei = vrp->vrp_exit;
>
> if (vei->vei.vei_size != 4) {
> - log_debug("%s: fw_cfg_dma: discarding data written to "
> - "dma addr", __progname);
> + log_debug("fw_cfg_dma: discarding data written to "
> + "dma addr");
> if (vei->vei.vei_dir == VEI_DIR_OUT)
> fw_cfg_dma_addr = 0;
> return 0xFF;
> @@ -333,7 +331,7 @@ fw_cfg_add_file(const char *name, const void *data, si
> struct fw_cfg_file_entry *f;
>
> if (fw_cfg_lookup_file(name))
> - fatalx("%s: fw_cfg: file %s exists", __progname, name);
> + fatalx("fw_cfg: file %s exists", name);
>
> if ((f = calloc(1, sizeof(*f))) == NULL)
> fatal("%s", __func__);
> @@ -343,7 +341,7 @@ fw_cfg_add_file(const char *name, const void *data, si
>
> if (strlcpy(f->file.name, name, sizeof(f->file.name)) >=
> sizeof(f->file.name))
> - fatalx("%s: fw_cfg: file name too long", __progname);
> + fatalx("fw_cfg: file name too long");
>
> f->file.size = htobe32(len);
> f->file.selector = htobe16(file_id++);
> blob - 96095b9517b67714c87ab612b688596c4131215b
> blob + f3d42d6f9aead5ed1c21fce959a536d9508fca3a
> --- usr.sbin/vmd/i8253.c
> +++ usr.sbin/vmd/i8253.c
> @@ -30,8 +30,6 @@
> #include "vmd.h"
> #include "atomicio.h"
>
> -extern char *__progname;
> -
> /*
> * Channel 0 is used to generate the legacy hardclock interrupt (HZ).
> * Channels 1 and 2 can be used by the guest OS as regular timers,
> @@ -274,8 +272,8 @@ vcpu_exit_i8253(struct vm_run_params *vrp)
>
> goto ret;
> } else {
> - log_warnx("%s: i8253 PIT: read from control port "
> - "unsupported", __progname);
> + log_warnx("i8253 PIT: read from control port "
> + "unsupported");
> set_return_data(vei, 0);
> }
> } else {
> blob - 83ce058519fb8deb8f9be7e5daa44b9010010161
> blob + 0eb28d6ca4fd0f3398066df5f4bc677dc9bb4ca7
> --- usr.sbin/vmd/loadfile_elf.c
> +++ usr.sbin/vmd/loadfile_elf.c
> @@ -121,7 +121,6 @@ static void marc4random_buf(paddr_t, int);
> static void mbzero(paddr_t, int);
> static void mbcopy(void *, paddr_t, int);
>
> -extern char *__progname;
> extern int vm_id;
>
> /*
> @@ -456,8 +455,7 @@ mread(gzFile fp, paddr_t addr, size_t sz)
> errstr = gzerror(fp, &errnum);
> if (errnum == Z_ERRNO)
> errnum = errno;
> - log_warnx("%s: error %d in mread, %s", __progname,
> - errnum, errstr);
> + log_warnx("error %d in mread, %s", errnum, errstr);
> return (0);
> }
>
> @@ -483,8 +481,7 @@ mread(gzFile fp, paddr_t addr, size_t sz)
> errstr = gzerror(fp, &errnum);
> if (errnum == Z_ERRNO)
> errnum = errno;
> - log_warnx("%s: error %d in mread, %s", __progname,
> - errnum, errstr);
> + log_warnx("error %d in mread, %s", errnum, errstr);
> return (0);
> }
>
> blob - c47090dafb8eac5c2750abaad0e958f51cd35599
> blob + 487eadfcfc93f6407db1e768d22176a3f24e5c2f
> --- usr.sbin/vmd/ns8250.c
> +++ usr.sbin/vmd/ns8250.c
> @@ -31,7 +31,6 @@
> #include "ns8250.h"
> #include "vmd.h"
>
> -extern char *__progname;
> struct ns8250_dev com1_dev;
>
> static struct vm_dev_pipe dev_pipe;
> @@ -457,8 +456,7 @@ vcpu_process_com_lsr(struct vm_exit *vei)
> * continue.
> */
> if (vei->vei.vei_dir == VEI_DIR_OUT) {
> - log_warnx("%s: LSR UART write 0x%x unsupported",
> - __progname, vei->vei.vei_data);
> + log_warnx("LSR UART write 0x%x unsupported", vei->vei.vei_data);
> } else {
> /*
> * vei_dir == VEI_DIR_IN : in instruction
> @@ -489,8 +487,7 @@ vcpu_process_com_msr(struct vm_exit *vei)
> * continue.
> */
> if (vei->vei.vei_dir == VEI_DIR_OUT) {
> - log_warnx("%s: MSR UART write 0x%x unsupported",
> - __progname, vei->vei.vei_data);
> + log_warnx("MSR UART write 0x%x unsupported", vei->vei.vei_data);
> } else {
> /*
> * vei_dir == VEI_DIR_IN : in instruction
> blob - 3df66ad8e3d00d851847ee2fbb3ea610114b0915
> blob + 1706271217a7a53e8d11b9698d2fed825a8faf20
> --- usr.sbin/vmd/pci.c
> +++ usr.sbin/vmd/pci.c
> @@ -33,7 +33,6 @@
> struct pci pci;
>
> extern struct vmd_vm current_vm;
> -extern char *__progname;
>
> /* PIC IRQs, assigned to devices in order */
> const uint8_t pci_pic_irqs[PCI_MAX_PIC_IRQS] = {3, 5, 6, 7, 9, 10, 11, 12,
> @@ -97,8 +96,8 @@ pci_add_bar(uint8_t id, uint32_t type, void *barfn, vo
> pci.pci_next_io_bar += VM_PCI_IO_BAR_SIZE;
> pci.pci_devices[id].pd_barfunc[bar_ct] = barfn;
> pci.pci_devices[id].pd_bar_cookie[bar_ct] = cookie;
> - DPRINTF("%s: adding pci bar cookie for dev %d bar %d = %p",
> - __progname, id, bar_ct, cookie);
> + DPRINTF("adding pci bar cookie for dev %d bar %d = %p", id,
> + bar_ct, cookie);
> pci.pci_devices[id].pd_bartype[bar_ct] = PCI_BAR_TYPE_IO;
> pci.pci_devices[id].pd_barsize[bar_ct] = VM_PCI_IO_BAR_SIZE;
> pci.pci_devices[id].pd_bar_ct++;
> @@ -259,7 +258,7 @@ pci_init(void)
> if (pci_add_device(&id, PCI_VENDOR_OPENBSD, PCI_PRODUCT_OPENBSD_PCHB,
> PCI_CLASS_BRIDGE, PCI_SUBCLASS_BRIDGE_HOST,
> PCI_VENDOR_OPENBSD, 0, 0, 0, NULL)) {
> - log_warnx("%s: can't add PCI host bridge", __progname);
> + log_warnx("can't add PCI host bridge");
> return;
> }
> }
> @@ -316,8 +315,8 @@ pci_handle_io(struct vm_run_params *vrp)
> }
> found:
> if (fn == NULL) {
> - DPRINTF("%s: no pci i/o function for reg 0x%llx (dir=%d "
> - "guest %%rip=0x%llx", __progname, (uint64_t)reg, dir,
> + DPRINTF("no pci i/o function for reg 0x%llx (dir=%d guest "
> + "%%rip=0x%llx)", (uint64_t)reg, dir,
> vei->vrs.vrs_gprs[VCPU_REGS_RIP]);
> /* Reads from undefined ports return 0xFF */
> if (dir == VEI_DIR_IN)
> @@ -326,7 +325,7 @@ found:
> }
>
> if (fn(dir, reg, &vei->vei.vei_data, &intr, cookie, sz))
> - log_warnx("%s: pci i/o access function failed", __progname);
> + log_warnx("pci i/o access function failed");
> if (intr != 0xFF)
> intr = irq;
>
> blob - 32b8bd7fac110900e4efbca690e24330c836e971
> blob + 0465dab2ca421a46f58a1b268a55d50d83010f3e
> --- usr.sbin/vmd/vioblk.c
> +++ usr.sbin/vmd/vioblk.c
> @@ -33,7 +33,6 @@
> #include "virtio.h"
> #include "vmd.h"
>
> -extern char *__progname;
> extern struct vmd_vm *current_vm;
> struct iovec io_v[VIRTIO_QUEUE_SIZE_MAX];
>
> blob - d207595747b0d5c9398dbe8d6444f929828b5e8c
> blob + 27b0ba75a6c9b79ff4f3ab5e5a627d1e20356762
> --- usr.sbin/vmd/vionet.c
> +++ usr.sbin/vmd/vionet.c
> @@ -54,7 +54,6 @@
> #define RXQ 0
> #define TXQ 1
>
> -extern char *__progname;
> extern struct vmd_vm *current_vm;
>
> struct packet {
> @@ -1085,8 +1084,7 @@ vionet_cfg_write(struct virtio_dev *dev, struct viodev
> pci_cfg->device_feature_select = data;
> break;
> case VIO1_PCI_DEVICE_FEATURE:
> - log_warnx("%s: illegal write to device feature "
> - "register", __progname);
> + log_warnx("illegal write to device feature register");
> break;
> case VIO1_PCI_DRIVER_FEATURE_SELECT:
> if (sz != 4)
> @@ -1122,8 +1120,7 @@ vionet_cfg_write(struct virtio_dev *dev, struct viodev
> /* Ignore until we support MSIX. */
> break;
> case VIO1_PCI_NUM_QUEUES:
> - log_warnx("%s: illegal write to num queues register",
> - __progname);
> + log_warnx("illegal write to num queues register");
> break;
> case VIO1_PCI_DEVICE_STATUS:
> if (sz != 1) {
> @@ -1169,8 +1166,7 @@ vionet_cfg_write(struct virtio_dev *dev, struct viodev
> "[failed]" : "");
> break;
> case VIO1_PCI_CONFIG_GENERATION:
> - log_warnx("%s: illegal write to config generation "
> - "register", __progname);
> + log_warnx("illegal write to config generation register");
> break;
> case VIO1_PCI_QUEUE_SELECT:
> pci_cfg->queue_select = data;
> @@ -1193,8 +1189,7 @@ vionet_cfg_write(struct virtio_dev *dev, struct viodev
> virtio_update_qa(dev);
> break;
> case VIO1_PCI_QUEUE_NOTIFY_OFF:
> - log_warnx("%s: illegal write to queue notify offset "
> - "register", __progname);
> + log_warnx("illegal write to queue notify offset register");
> break;
> case VIO1_PCI_QUEUE_DESC:
> if (sz != 4) {
> blob - 72e83be1679d4b09839503b21a0bea40f95d593c
> blob + a456e9344b22ad7f2a0a4df758d2b71f9dffca3b
> --- usr.sbin/vmd/vioqcow2.c
> +++ usr.sbin/vmd/vioqcow2.c
> @@ -94,8 +94,6 @@ struct qcdisk {
> uint32_t headersz;
> };
>
> -extern char *__progname;
> -
> static off_t xlate(struct qcdisk *, off_t, int *);
> static void copy_cluster(struct qcdisk *, struct qcdisk *, off_t, off_t);
> static void inc_refs(struct qcdisk *, off_t, int);
> blob - d51124b75816103728a572a12fea8af69038bce0
> blob + 6794ccf8312ed41971c9b06115da83ab87cfc63f
> --- usr.sbin/vmd/vioscsi.c
> +++ usr.sbin/vmd/vioscsi.c
> @@ -42,8 +42,6 @@
> #define DPRINTF(x...) do {} while(0)
> #endif /* VIOSCSI_DEBUG */
>
> -extern char *__progname;
> -
> static void
> vioscsi_prepare_resp(struct virtio_scsi_res_hdr *resp, uint8_t vio_status,
> uint8_t scsi_status, uint8_t err_flags, uint8_t add_sense_code,
> blob - b572e9b59e11ca0384bfa463ac02fb4a4280bbd7
> blob + 650302b7ffc1e555ad0c5b960ac8627cc29e046c
> --- usr.sbin/vmd/virtio.c
> +++ usr.sbin/vmd/virtio.c
> @@ -54,7 +54,6 @@
> #endif /* VIRTIO_DEBUG */
>
> extern struct vmd *env;
> -extern char *__progname;
>
> struct virtio_dev viornd;
> struct virtio_dev *vioscsi = NULL;
> @@ -374,8 +373,7 @@ virtio_io_cfg(struct virtio_dev *dev, int dir, uint8_t
> pci_cfg->device_feature_select = data;
> break;
> case VIO1_PCI_DEVICE_FEATURE:
> - log_warnx("%s: illegal write to device feature "
> - "register", __progname);
> + log_warnx("illegal write to device feature register");
> break;
> case VIO1_PCI_DRIVER_FEATURE_SELECT:
> if (sz != 4)
> @@ -411,8 +409,7 @@ virtio_io_cfg(struct virtio_dev *dev, int dir, uint8_t
> /* Ignore until we support MSIX. */
> break;
> case VIO1_PCI_NUM_QUEUES:
> - log_warnx("%s: illegal write to num queues register",
> - __progname);
> + log_warnx("illegal write to num queues register");
> break;
> case VIO1_PCI_DEVICE_STATUS:
> if (sz != 1) {
> @@ -458,8 +455,8 @@ virtio_io_cfg(struct virtio_dev *dev, int dir, uint8_t
>
> break;
> case VIO1_PCI_CONFIG_GENERATION:
> - log_warnx("%s: illegal write to config generation "
> - "register", __progname);
> + log_warnx("illegal write to config generation "
> + "register");
> break;
> case VIO1_PCI_QUEUE_SELECT:
> pci_cfg->queue_select = data;
> @@ -482,8 +479,8 @@ virtio_io_cfg(struct virtio_dev *dev, int dir, uint8_t
> virtio_update_qa(dev);
> break;
> case VIO1_PCI_QUEUE_NOTIFY_OFF:
> - log_warnx("%s: illegal write to queue notify offset "
> - "register", __progname);
> + log_warnx("illegal write to queue notify offset "
> + "register");
> break;
> case VIO1_PCI_QUEUE_DESC:
> if (sz != 4) {
> @@ -849,7 +846,7 @@ vmmci_timeout(int fd, short type, void *arg)
> fatalx("%s: device is not a vmmci device", __func__);
> v = &dev->vmmci;
>
> - log_debug("%s: vm %u shutdown", __progname, dev->vm_id);
> + log_debug("vm %u shutdown", dev->vm_id);
> vm_shutdown(v->cmd == VMMCI_REBOOT ? VMMCI_REBOOT : VMMCI_SHUTDOWN);
> }
>
> @@ -873,8 +870,8 @@ vmmci_io(int dir, uint16_t reg, uint32_t *data, uint8_
> case VIRTIO_CONFIG_DEVICE_FEATURES:
> case VIRTIO_CONFIG_QUEUE_SIZE:
> case VIRTIO_CONFIG_ISR_STATUS:
> - log_warnx("%s: illegal write %x to %s",
> - __progname, *data, virtio_reg_name(reg));
> + log_warnx("illegal write %x to %s", *data,
> + virtio_reg_name(reg));
> break;
> case VIRTIO_CONFIG_GUEST_FEATURES:
> dev->cfg.guest_feature = *data;
> @@ -1005,8 +1002,7 @@ virtio_init(struct vmd_vm *vm, int child_cdrom,
> PCI_PRODUCT_QUMRANET_VIO1_RNG, PCI_CLASS_SYSTEM,
> PCI_SUBCLASS_SYSTEM_MISC, PCI_VENDOR_OPENBSD,
> PCI_PRODUCT_VIRTIO_ENTROPY, 1, 1, NULL)) {
> - log_warnx("%s: can't add PCI virtio rng device",
> - __progname);
> + log_warnx("can't add PCI virtio rng device");
> return (1);
> }
> virtio_dev_init(&viornd, id, VIORND_QUEUE_SIZE_DEFAULT,
> @@ -1015,8 +1011,7 @@ virtio_init(struct vmd_vm *vm, int child_cdrom,
> bar_id = pci_add_bar(id, PCI_MAPREG_TYPE_IO, virtio_io_dispatch,
> &viornd);
> if (bar_id == -1 || bar_id > 0xff) {
> - log_warnx("%s: can't add bar for virtio rng device",
> - __progname);
> + log_warnx("can't add bar for virtio rng device");
> return (1);
> }
> virtio_pci_add_cap(id, VIRTIO_PCI_CAP_COMMON_CFG, bar_id, 0);
> @@ -1028,16 +1023,14 @@ virtio_init(struct vmd_vm *vm, int child_cdrom,
> for (i = 0; i < vmc->vmc_nnics; i++) {
> dev = malloc(sizeof(struct virtio_dev));
> if (dev == NULL) {
> - log_warn("%s: calloc failure allocating vionet",
> - __progname);
> + log_warn("calloc failure allocating vionet");
> return (1);
> }
> if (pci_add_device(&id, PCI_VENDOR_QUMRANET,
> PCI_PRODUCT_QUMRANET_VIO1_NET, PCI_CLASS_SYSTEM,
> PCI_SUBCLASS_SYSTEM_MISC, PCI_VENDOR_OPENBSD,
> PCI_PRODUCT_VIRTIO_NETWORK, 1, 1, NULL)) {
> - log_warnx("%s: can't add PCI virtio net device",
> - __progname);
> + log_warnx("can't add PCI virtio net device");
> return (1);
> }
> virtio_dev_init(dev, id, VIONET_QUEUE_SIZE_DEFAULT,
> @@ -1047,8 +1040,8 @@ virtio_init(struct vmd_vm *vm, int child_cdrom,
>
> if (pci_add_bar(id, PCI_MAPREG_TYPE_IO, virtio_pci_io,
> dev) == -1) {
> - log_warnx("%s: can't add bar for virtio net "
> - "device", __progname);
> + log_warnx("can't add bar for virtio net "
> + "device");
> return (1);
> }
> virtio_pci_add_cap(id, VIRTIO_PCI_CAP_COMMON_CFG,
> @@ -1103,8 +1096,8 @@ virtio_init(struct vmd_vm *vm, int child_cdrom,
> PCI_CLASS_MASS_STORAGE,
> PCI_SUBCLASS_MASS_STORAGE_SCSI, PCI_VENDOR_OPENBSD,
> PCI_PRODUCT_VIRTIO_BLOCK, 1, 1, NULL)) {
> - log_warnx("%s: can't add PCI virtio block "
> - "device", __progname);
> + log_warnx("can't add PCI virtio block "
> + "device");
> return (1);
> }
> virtio_dev_init(dev, id, VIOBLK_QUEUE_SIZE_DEFAULT,
> @@ -1115,8 +1108,8 @@ virtio_init(struct vmd_vm *vm, int child_cdrom,
> bar_id = pci_add_bar(id, PCI_MAPREG_TYPE_IO, virtio_pci_io,
> dev);
> if (bar_id == -1 || bar_id > 0xff) {
> - log_warnx("%s: can't add bar for virtio block "
> - "device", __progname);
> + log_warnx("can't add bar for virtio block "
> + "device");
> return (1);
> }
> virtio_pci_add_cap(id, VIRTIO_PCI_CAP_COMMON_CFG,
> @@ -1162,24 +1155,21 @@ virtio_init(struct vmd_vm *vm, int child_cdrom,
> if (strlen(vmc->vmc_cdrom)) {
> dev = malloc(sizeof(struct virtio_dev));
> if (dev == NULL) {
> - log_warn("%s: calloc failure allocating vioscsi",
> - __progname);
> + log_warn("calloc failure allocating vioscsi");
> return (1);
> }
> if (pci_add_device(&id, PCI_VENDOR_QUMRANET,
> PCI_PRODUCT_QUMRANET_VIO1_SCSI, PCI_CLASS_MASS_STORAGE,
> PCI_SUBCLASS_MASS_STORAGE_SCSI, PCI_VENDOR_OPENBSD,
> PCI_PRODUCT_VIRTIO_SCSI, 1, 1, NULL)) {
> - log_warnx("%s: can't add PCI vioscsi device",
> - __progname);
> + log_warnx("can't add PCI vioscsi device");
> return (1);
> }
> virtio_dev_init(dev, id, VIOSCSI_QUEUE_SIZE_DEFAULT,
> VIRTIO_SCSI_QUEUES, VIRTIO_F_VERSION_1, vcp->vcp_id);
> if (pci_add_bar(id, PCI_MAPREG_TYPE_IO, virtio_io_dispatch, dev)
> == -1) {
> - log_warnx("%s: can't add bar for vioscsi device",
> - __progname);
> + log_warnx("can't add bar for vioscsi device");
> return (1);
> }
> virtio_pci_add_cap(id, VIRTIO_PCI_CAP_COMMON_CFG, bar_id, 0);
> @@ -1206,15 +1196,13 @@ virtio_init(struct vmd_vm *vm, int child_cdrom,
> if (pci_add_device(&id, PCI_VENDOR_OPENBSD, PCI_PRODUCT_OPENBSD_CONTROL,
> PCI_CLASS_COMMUNICATIONS, PCI_SUBCLASS_COMMUNICATIONS_MISC,
> PCI_VENDOR_OPENBSD, PCI_PRODUCT_VIRTIO_VMMCI, 0, 1, NULL)) {
> - log_warnx("%s: can't add PCI vmm control device",
> - __progname);
> + log_warnx("can't add PCI vmm control device");
> return (1);
> }
> virtio_dev_init(dev, id, 0, 0,
> VMMCI_F_TIMESYNC | VMMCI_F_ACK | VMMCI_F_SYNCRTC, vcp->vcp_id);
> if (pci_add_bar(id, PCI_MAPREG_TYPE_IO, vmmci_io, dev) == -1) {
> - log_warnx("%s: can't add bar for vmm control device",
> - __progname);
> + log_warnx("can't add bar for vmm control device");
> return (1);
> }
>
> blob - bdd7e276ff5cdc1ae26234bcb8647ce11e92c54c
> blob + 181f183bfd19bbb4e74dfc18b359e1b35679c8a3
> --- usr.sbin/vmd/vm.c
> +++ usr.sbin/vmd/vm.c
> @@ -58,8 +58,6 @@ struct vmd_vm *current_vm;
>
> extern struct vmd *env;
>
> -extern char *__progname;
> -
> pthread_mutex_t threadmutex;
> pthread_cond_t threadcond;
>
> @@ -601,10 +599,13 @@ run_vm(struct vmop_create_params *vmc, struct vcpu_reg
> return (EINVAL);
>
> tid = calloc(vcp->vcp_ncpus, sizeof(pthread_t));
> + if (tid == NULL) {
> + log_warn("failed to allocate pthread structures");
> + return (ENOMEM);
> + }
> vrp = calloc(vcp->vcp_ncpus, sizeof(struct vm_run_params *));
> - if (tid == NULL || vrp == NULL) {
> - log_warn("%s: memory allocation error - exiting.",
> - __progname);
> + if (vrp == NULL) {
> + log_warn("failed to allocate vm run params array");
> return (ENOMEM);
> }
>
> @@ -626,15 +627,13 @@ run_vm(struct vmop_create_params *vmc, struct vcpu_reg
> for (i = 0 ; i < vcp->vcp_ncpus; i++) {
> vrp[i] = malloc(sizeof(struct vm_run_params));
> if (vrp[i] == NULL) {
> - log_warn("%s: memory allocation error - "
> - "exiting.", __progname);
> + log_warn("failed to allocate vm run parameters");
> /* caller will exit, so skip freeing */
> return (ENOMEM);
> }
> vrp[i]->vrp_exit = malloc(sizeof(struct vm_exit));
> if (vrp[i]->vrp_exit == NULL) {
> - log_warn("%s: memory allocation error - "
> - "exiting.", __progname);
> + log_warn("failed to allocate vm exit area");
> /* caller will exit, so skip freeing */
> return (ENOMEM);
> }
> @@ -642,60 +641,51 @@ run_vm(struct vmop_create_params *vmc, struct vcpu_reg
> vrp[i]->vrp_vcpu_id = i;
>
> if (vcpu_reset(vcp->vcp_id, i, vrs)) {
> - log_warnx("%s: cannot reset VCPU %zu - exiting.",
> - __progname, i);
> + log_warnx("cannot reset vcpu %zu", i);
> return (EIO);
> }
>
> if (sev_activate(current_vm, i)) {
> - log_warnx("%s: SEV activatation failed for VCPU "
> - "%zu failed - exiting.", __progname, i);
> + log_warnx("SEV activatation failed for vcpu %zu", i);
> return (EIO);
> }
>
> if (sev_encrypt_memory(current_vm)) {
> - log_warnx("%s: memory encryption failed for VCPU "
> - "%zu failed - exiting.", __progname, i);
> + log_warnx("memory encryption failed for vcpu %zu", i);
> return (EIO);
> }
>
> if (sev_encrypt_state(current_vm, i)) {
> - log_warnx("%s: state encryption failed for VCPU "
> - "%zu failed - exiting.", __progname, i);
> + log_warnx("state encryption failed for vcpu %zu", i);
> return (EIO);
> }
>
> if (sev_launch_finalize(current_vm)) {
> - log_warnx("%s: encryption failed for VCPU "
> - "%zu failed - exiting.", __progname, i);
> + log_warnx("encryption failed for vcpu %zu", i);
> return (EIO);
> }
>
> ret = pthread_cond_init(&vcpu_run_cond[i], NULL);
> if (ret) {
> - log_warnx("%s: cannot initialize cond var (%d)",
> - __progname, ret);
> + log_warnx("cannot initialize cond var (%d)", ret);
> return (ret);
> }
>
> ret = pthread_mutex_init(&vcpu_run_mtx[i], NULL);
> if (ret) {
> - log_warnx("%s: cannot initialize mtx (%d)",
> - __progname, ret);
> + log_warnx("cannot initialize mtx (%d)", ret);
> return (ret);
> }
>
> ret = pthread_cond_init(&vcpu_unpause_cond[i], NULL);
> if (ret) {
> - log_warnx("%s: cannot initialize unpause var (%d)",
> - __progname, ret);
> + log_warnx("cannot initialize unpause var (%d)", ret);
> return (ret);
> }
>
> ret = pthread_mutex_init(&vcpu_unpause_mtx[i], NULL);
> if (ret) {
> - log_warnx("%s: cannot initialize unpause mtx (%d)",
> - __progname, ret);
> + log_warnx("cannot initialize unpause mtx (%d)", ret);
> return (ret);
> }
>
> @@ -741,8 +731,7 @@ run_vm(struct vmop_create_params *vmc, struct vcpu_reg
> continue;
>
> if (pthread_join(tid[i], &exit_status)) {
> - log_warn("%s: failed to join thread %zd - "
> - "exiting", __progname, i);
> + log_warn("failed to join thread %zd", i);
> mutex_unlock(&vm_mtx);
> return (EIO);
> }
> @@ -754,13 +743,12 @@ run_vm(struct vmop_create_params *vmc, struct vcpu_reg
> /* Did the event thread exit? => return with an error */
> if (evdone) {
> if (pthread_join(evtid, &exit_status)) {
> - log_warn("%s: failed to join event thread - "
> - "exiting", __progname);
> + log_warn("failed to join event thread");
> return (EIO);
> }
>
> - log_warnx("%s: vm %d event thread exited "
> - "unexpectedly", __progname, vcp->vcp_id);
> + log_warnx("vm %d event thread exited unexpectedly",
> + vcp->vcp_id);
> return (EIO);
> }
>
> blob - 9b1bcaa146877458e80ddb4459a89ffc550bd28f
> blob + 8ca2fd1efe767550534a366f06402ee92549c12a
> --- usr.sbin/vmd/x86_vm.c
> +++ usr.sbin/vmd/x86_vm.c
> @@ -46,7 +46,6 @@ typedef uint8_t (*io_fn_t)(struct vm_run_params *);
> #define MAX_PORTS 65536
>
> io_fn_t ioports_map[MAX_PORTS];
> -extern char *__progname;
>
> void create_memory_map(struct vm_create_params *);
> int translate_gva(struct vm_exit*, uint64_t, uint64_t *, int);
> @@ -551,8 +550,7 @@ vcpu_exit(struct vm_run_params *vrp)
> /* reset VM */
> return (EAGAIN);
> default:
> - log_debug("%s: unknown exit reason 0x%x",
> - __progname, vrp->vrp_exit_reason);
> + log_debug("unknown exit reason 0x%x", vrp->vrp_exit_reason);
> }
>
> return (0);
> @@ -630,14 +628,13 @@ vcpu_exit_eptviolation(struct vm_run_params *vrp)
> #endif /* MMIO_NOTYET */
>
> case VEE_FAULT_PROTECT:
> - log_debug("%s: EPT Violation: rip=0x%llx", __progname,
> + log_debug("EPT Violation: rip=0x%llx",
> ve->vrs.vrs_gprs[VCPU_REGS_RIP]);
> ret = EFAULT;
> break;
>
> default:
> - fatalx("%s: invalid fault_type %d", __progname,
> - ve->vee.vee_fault_type);
> + fatalx("invalid fault_type %d", ve->vee.vee_fault_type);
> /* UNREACHED */
> }
>
> @@ -678,8 +675,7 @@ vcpu_exit_pci(struct vm_run_params *vrp)
> intr = pci_handle_io(vrp);
> break;
> default:
> - log_warnx("%s: unknown PCI register 0x%llx",
> - __progname, (uint64_t)vei->vei.vei_port);
> + log_warnx("unknown PCI register 0x%04x", vei->vei.vei_port);
> break;
> }
>
clean up __progname extern in vmd