From: Dave Voutila Subject: Re: clean up __progname extern in vmd To: Mike Larkin Cc: tech@openbsd.org Date: Mon, 01 Dec 2025 15:14:59 -0500 Mike Larkin writes: > 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? Yup. I added that support previously in log.c: 033) 7da934ed 2015-11-23 reyk void 034) 7da934ed 2015-11-23 reyk log_init(int n_debug, int facility) 035) 7da934ed 2015-11-23 reyk { 036) 7da934ed 2015-11-23 reyk extern char *__progname; 037) 7da934ed 2015-11-23 reyk 038) 7da934ed 2015-11-23 reyk debug = n_debug; 039) 7da934ed 2015-11-23 reyk verbose = n_debug; 040) 08d0da61 2023-09-26 dv log_procinit("%s", __progname); 041) 7da934ed 2015-11-23 reyk 042) 7da934ed 2015-11-23 reyk if (!debug) 043) 7da934ed 2015-11-23 reyk openlog(__progname, LOG_PID | LOG_NDELAY, facility); 044) 7da934ed 2015-11-23 reyk 045) 7da934ed 2015-11-23 reyk tzset(); 046) 7da934ed 2015-11-23 reyk } > > 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; >> } >>