efivar/SOURCES/0019-Make-the-debug-code-le...

1064 lines
42 KiB
Diff

From 154d0794827ffe9fd6adbbdf1cd3d04dba18e24d Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Thu, 21 Jun 2018 13:32:28 -0400
Subject: [PATCH 19/39] Make the debug() code less intrusive
Signed-off-by: Peter Jones <pjones@redhat.com>
---
src/creator.c | 17 +++++++-------
src/dp-acpi.c | 18 +++++++--------
src/linux-acpi-root.c | 26 ++++++++++-----------
src/linux-acpi.c | 12 +++++-----
src/linux-ata.c | 6 ++---
src/linux-i2o.c | 2 +-
src/linux-nvme.c | 12 +++++-----
src/linux-pci-root.c | 12 +++++-----
src/linux-pci.c | 22 +++++++++---------
src/linux-pmem.c | 6 ++---
src/linux-sas.c | 4 ++--
src/linux-sata.c | 30 ++++++++++++------------
src/linux-scsi.c | 48 +++++++++++++++++++--------------------
src/linux-soc-root.c | 4 ++--
src/linux-virtblk.c | 8 +++----
src/linux.c | 53 ++++++++++++++++++++-----------------------
src/loadopt.c | 13 +++++------
src/util.h | 14 ++++++++----
18 files changed, 154 insertions(+), 153 deletions(-)
diff --git a/src/creator.c b/src/creator.c
index 55b411ee3da..ef782e2b647 100644
--- a/src/creator.c
+++ b/src/creator.c
@@ -178,7 +178,7 @@ efi_va_generate_file_device_path_from_esp(uint8_t *buf, ssize_t size,
int fd = -1;
int saved_errno;
- debug(DEBUG, "partition:%d", partition);
+ debug("partition:%d", partition);
if (buf && size)
memset(buf, '\0', size);
@@ -198,7 +198,7 @@ efi_va_generate_file_device_path_from_esp(uint8_t *buf, ssize_t size,
if (partition < 0) {
int disk_fd;
- debug(DEBUG, "partition: %d", partition);
+ debug("partition: %d", partition);
disk_fd = open_disk(dev,
(options & EFIBOOT_OPTIONS_WRITE_SIGNATURE)
? O_RDWR : O_RDONLY);
@@ -211,7 +211,7 @@ efi_va_generate_file_device_path_from_esp(uint8_t *buf, ssize_t size,
partition = 1;
else
partition = 0;
- debug(DEBUG, "is_partitioned(): partition -> %d", partition);
+ debug("is_partitioned(): partition -> %d", partition);
close(disk_fd);
}
@@ -226,13 +226,13 @@ efi_va_generate_file_device_path_from_esp(uint8_t *buf, ssize_t size,
}
if (options & EFIBOOT_ABBREV_NONE)
- debug(DEBUG, "EFIBOOT_ABBREV_NONE");
+ debug("EFIBOOT_ABBREV_NONE");
if (options & EFIBOOT_ABBREV_HD)
- debug(DEBUG, "EFIBOOT_ABBREV_HD");
+ debug("EFIBOOT_ABBREV_HD");
if (options & EFIBOOT_ABBREV_FILE)
- debug(DEBUG, "EFIBOOT_ABBREV_FILE");
+ debug("EFIBOOT_ABBREV_FILE");
if (options & EFIBOOT_ABBREV_EDD10)
- debug(DEBUG, "EFIBOOT_ABBREV_EDD10");
+ debug("EFIBOOT_ABBREV_EDD10");
if (options & EFIBOOT_ABBREV_EDD10) {
va_list aq;
@@ -245,6 +245,7 @@ efi_va_generate_file_device_path_from_esp(uint8_t *buf, ssize_t size,
if (!(options & (EFIBOOT_ABBREV_FILE|EFIBOOT_ABBREV_HD)) &&
(dev->flags & DEV_ABBREV_ONLY)) {
+ efi_error_clear();
errno = EINVAL;
efi_error("Device must use File() or HD() device path");
goto err;
@@ -323,7 +324,7 @@ err:
if (fd >= 0)
close(fd);
errno = saved_errno;
- debug(DEBUG, "= %zd", ret);
+ debug("= %zd", ret);
return ret;
}
diff --git a/src/dp-acpi.c b/src/dp-acpi.c
index a49ef38488c..6f3e94443e5 100644
--- a/src/dp-acpi.c
+++ b/src/dp-acpi.c
@@ -51,9 +51,9 @@ _format_acpi_hid_ex(char *buf, size_t size, const char *dp_type UNUSED,
{
ssize_t off = 0;
- debug(DEBUG, "hid:0x%08x hidstr:\"%s\"", dp->acpi_hid_ex.hid, hidstr);
- debug(DEBUG, "cid:0x%08x cidstr:\"%s\"", dp->acpi_hid_ex.cid, cidstr);
- debug(DEBUG, "uid:0x%08x uidstr:\"%s\"", dp->acpi_hid_ex.uid, uidstr);
+ debug("hid:0x%08x hidstr:\"%s\"", dp->acpi_hid_ex.hid, hidstr);
+ debug("cid:0x%08x cidstr:\"%s\"", dp->acpi_hid_ex.cid, cidstr);
+ debug("uid:0x%08x uidstr:\"%s\"", dp->acpi_hid_ex.uid, uidstr);
if (!hidstr && !cidstr && (uidstr || dp->acpi_hid_ex.uid)) {
format(buf, size, off, "AcpiExp",
@@ -109,12 +109,12 @@ _format_acpi_dn(char *buf, size_t size, const_efidp dp)
// size_t cidlen = 0;
if (dp->subtype == EFIDP_ACPI_ADR) {
- debug(DEBUG, "formatting ACPI _ADR");
+ debug("formatting ACPI _ADR");
format_acpi_adr(buf, size, off, dp);
return off;
} else if (dp->subtype != EFIDP_ACPI_HID_EX &&
dp->subtype != EFIDP_ACPI_HID) {
- debug(DEBUG, "DP subtype %d, formatting as ACPI Path", dp->subtype);
+ debug("DP subtype %d, formatting as ACPI Path", dp->subtype);
format(buf, size, off, "AcpiPath", "AcpiPath(%d,", dp->subtype);
format_hex(buf, size, off, "AcpiPath", (uint8_t *)dp+4,
(efidp_node_size(dp)-4) / 2);
@@ -124,7 +124,7 @@ _format_acpi_dn(char *buf, size_t size, const_efidp dp)
ssize_t limit = efidp_node_size(dp)
- offsetof(efidp_acpi_hid_ex, hidstr);
- debug(DEBUG, "formatting ACPI HID EX");
+ debug("formatting ACPI HID EX");
hidstr = dp->acpi_hid_ex.hidstr;
hidlen = strnlen(hidstr, limit);
limit -= hidlen + 1;
@@ -230,20 +230,20 @@ _format_acpi_dn(char *buf, size_t size, const_efidp dp)
break;
}
default:
- debug(DEBUG, "Decoding non-well-known HID");
+ debug("Decoding non-well-known HID");
switch (dp->subtype) {
case EFIDP_ACPI_HID_EX:
format_acpi_hid_ex(buf, size, off, dp,
hidstr, cidstr, uidstr);
break;
case EFIDP_ACPI_HID:
- debug(DEBUG, "Decoding ACPI HID");
+ debug("Decoding ACPI HID");
format(buf, size, off, "Acpi",
"Acpi(0x%08x,0x%"PRIx32")",
dp->acpi_hid.hid, dp->acpi_hid.uid);
break;
default:
- debug(DEBUG, "ACPI subtype %d???",
+ debug("ACPI subtype %d???",
dp->subtype);
errno = EINVAL;
return -1;
diff --git a/src/linux-acpi-root.c b/src/linux-acpi-root.c
index e55af5fa385..06e69eebe78 100644
--- a/src/linux-acpi-root.c
+++ b/src/linux-acpi-root.c
@@ -59,7 +59,7 @@ parse_acpi_root(struct device *dev, const char *current, const char *root UNUSED
spaces[pos] = '\0';
pos = 0;
- debug(DEBUG, "entry");
+ debug("entry");
/*
* find the ACPI root dunno0 and dunno1; they basically look like:
@@ -69,7 +69,7 @@ parse_acpi_root(struct device *dev, const char *current, const char *root UNUSED
* side in sscanf.
*/
rc = sscanf(devpart, "../../devices/platform/%n", &pos);
- debug(DEBUG, "devpart:\"%s\" rc:%d pos:%d", devpart, rc, pos);
+ debug("devpart:\"%s\" rc:%d pos:%d", devpart, rc, pos);
if (rc != 0 || pos < 1)
return 0;
devpart += pos;
@@ -100,15 +100,15 @@ parse_acpi_root(struct device *dev, const char *current, const char *root UNUSED
return -1;
}
dev->acpi_root.acpi_hid_str[pos] = 0;
- debug(DEBUG, "acpi_hid_str:\"%s\"", dev->acpi_root.acpi_hid_str);
+ debug("acpi_hid_str:\"%s\"", dev->acpi_root.acpi_hid_str);
pos -= 4;
- debug(DEBUG, "devpart:\"%s\" rc:%d pos:%d", devpart, rc, pos);
+ debug("devpart:\"%s\" rc:%d pos:%d", devpart, rc, pos);
acpi_header = strndupa(devpart, pos);
if (!acpi_header)
return 0;
acpi_header[pos] = 0;
- debug(DEBUG, "devpart:\"%s\" acpi_header:\"%s\"", devpart, acpi_header);
+ debug("devpart:\"%s\" acpi_header:\"%s\"", devpart, acpi_header);
devpart += pos;
/*
@@ -119,26 +119,26 @@ parse_acpi_root(struct device *dev, const char *current, const char *root UNUSED
efi_error("Could not parse ACPI path \"%s\"", devpart);
return 0;
}
- debug(DEBUG, "devpart:\"%s\" parsed:%04hx:%02hhx pos:%d rc:%d",
+ debug("devpart:\"%s\" parsed:%04hx:%02hhx pos:%d rc:%d",
devpart, pad0, pad1, pos, rc);
devpart += pos;
rc = parse_acpi_hid_uid(dev, "devices/platform/%s%04hX:%02hhX",
acpi_header, pad0, pad1);
- debug(DEBUG, "rc:%d acpi_header:%s pad0:%04hX pad1:%02hhX",
+ debug("rc:%d acpi_header:%s pad0:%04hX pad1:%02hhX",
rc, acpi_header, pad0, pad1);
if (rc < 0 && errno == ENOENT) {
rc = parse_acpi_hid_uid(dev, "devices/platform/%s%04hx:%02hhx",
acpi_header, pad0, pad1);
- debug(DEBUG, "rc:%d acpi_header:%s pad0:%04hx pad1:%02hhx",
+ debug("rc:%d acpi_header:%s pad0:%04hx pad1:%02hhx",
rc, acpi_header, pad0, pad1);
}
if (rc < 0) {
efi_error("Could not parse hid/uid");
return rc;
}
- debug(DEBUG, "Parsed HID:0x%08x UID:0x%"PRIx64" uidstr:\"%s\" path:\"%s\"",
+ debug("Parsed HID:0x%08x UID:0x%"PRIx64" uidstr:\"%s\" path:\"%s\"",
dev->acpi_root.acpi_hid, dev->acpi_root.acpi_uid,
dev->acpi_root.acpi_uid_str,
dev->acpi_root.acpi_cid_str);
@@ -152,10 +152,10 @@ dp_create_acpi_root(struct device *dev,
{
ssize_t sz = 0, new = 0;
- debug(DEBUG, "entry buf:%p size:%zd off:%zd", buf, size, off);
+ debug("entry buf:%p size:%zd off:%zd", buf, size, off);
if (dev->acpi_root.acpi_uid_str || dev->acpi_root.acpi_cid_str) {
- debug(DEBUG, "creating acpi_hid_ex dp hid:0x%08x uid:0x%"PRIx64" uidstr:\"%s\" cidstr:\"%s\"",
+ debug("creating acpi_hid_ex dp hid:0x%08x uid:0x%"PRIx64" uidstr:\"%s\" cidstr:\"%s\"",
dev->acpi_root.acpi_hid, dev->acpi_root.acpi_uid,
dev->acpi_root.acpi_uid_str, dev->acpi_root.acpi_cid_str);
new = efidp_make_acpi_hid_ex(buf + off, size ? size - off : 0,
@@ -170,7 +170,7 @@ dp_create_acpi_root(struct device *dev,
return new;
}
} else {
- debug(DEBUG, "creating acpi_hid dp hid:0x%08x uid:0x%0"PRIx64,
+ debug("creating acpi_hid dp hid:0x%08x uid:0x%0"PRIx64,
dev->acpi_root.acpi_hid,
dev->acpi_root.acpi_uid);
new = efidp_make_acpi_hid(buf + off, size ? size - off : 0,
@@ -183,7 +183,7 @@ dp_create_acpi_root(struct device *dev,
}
sz += new;
- debug(DEBUG, "returning %zd", sz);
+ debug("returning %zd", sz);
return sz;
}
diff --git a/src/linux-acpi.c b/src/linux-acpi.c
index cb93a113ee2..3eac526525f 100644
--- a/src/linux-acpi.c
+++ b/src/linux-acpi.c
@@ -39,12 +39,12 @@ parse_acpi_hid_uid(struct device *dev, const char *fmt, ...)
uint32_t acpi_hid = 0;
uint64_t acpi_uid_int = 0;
- debug(DEBUG, "entry");
+ debug("entry");
va_start(ap, fmt);
rc = vasprintfa(&path, fmt, ap);
va_end(ap);
- debug(DEBUG, "path:%s rc:%d", path, rc);
+ debug("path:%s rc:%d", path, rc);
if (rc < 0 || path == NULL)
return -1;
@@ -54,7 +54,7 @@ parse_acpi_hid_uid(struct device *dev, const char *fmt, ...)
if (l > 1) {
fbuf[l-1] = 0;
dev->acpi_root.acpi_cid_str = strdup(fbuf);
- debug(DEBUG, "Setting ACPI root path to \"%s\"", fbuf);
+ debug("Setting ACPI root path to \"%s\"", fbuf);
}
}
@@ -73,7 +73,7 @@ hid_err:
rc -= 4;
rc = sscanf((char *)fbuf + rc, "%04hx", &tmp16);
- debug(DEBUG, "rc:%d hid:0x%08x\n", rc, tmp16);
+ debug("rc:%d hid:0x%08x\n", rc, tmp16);
if (rc != 1)
goto hid_err;
@@ -88,7 +88,7 @@ hid_err:
if (acpi_hid == EFIDP_ACPI_PCIE_ROOT_HID)
acpi_hid = EFIDP_ACPI_PCI_ROOT_HID;
dev->acpi_root.acpi_hid = acpi_hid;
- debug(DEBUG, "acpi root HID:0x%08x", acpi_hid);
+ debug("acpi root HID:0x%08x", acpi_hid);
errno = 0;
fbuf = NULL;
@@ -111,7 +111,7 @@ hid_err:
}
}
}
- debug(DEBUG, "acpi root UID:0x%"PRIx64" uidstr:\"%s\"",
+ debug("acpi root UID:0x%"PRIx64" uidstr:\"%s\"",
dev->acpi_root.acpi_uid, dev->acpi_root.acpi_uid_str);
errno = 0;
diff --git a/src/linux-ata.c b/src/linux-ata.c
index dab02f3d224..32cb99361e5 100644
--- a/src/linux-ata.c
+++ b/src/linux-ata.c
@@ -64,7 +64,7 @@ parse_ata(struct device *dev, const char *current, const char *root UNUSED)
uint64_t scsi_lun;
int pos;
- debug(DEBUG, "entry");
+ debug("entry");
/* IDE disks can have up to 64 partitions, or 6 bits worth,
* and have one bit for the disk number.
* This leaves an extra bit at the top.
@@ -95,7 +95,7 @@ parse_ata(struct device *dev, const char *current, const char *root UNUSED)
dev->interface_type = ata;
set_part(dev, dev->minor & 0x3F);
} else {
- debug(DEBUG, "If this is ATA, it isn't using a traditional IDE inode.");
+ debug("If this is ATA, it isn't using a traditional IDE inode.");
}
if (is_pata(dev)) {
@@ -136,7 +136,7 @@ dp_create_ata(struct device *dev,
{
ssize_t sz;
- debug(DEBUG, "entry");
+ debug("entry");
sz = efidp_make_atapi(buf + off, size ? size - off : 0,
dev->ata_info.scsi_device,
diff --git a/src/linux-i2o.c b/src/linux-i2o.c
index 4fe79e5719f..3ce25b957bf 100644
--- a/src/linux-i2o.c
+++ b/src/linux-i2o.c
@@ -35,7 +35,7 @@
static ssize_t
parse_i2o(struct device *dev, const char *current UNUSED, const char *root UNUSED)
{
- debug(DEBUG, "entry");
+ debug("entry");
/* I2O disks can have up to 16 partitions, or 4 bits worth. */
if (dev->major >= 80 && dev->major <= 87) {
dev->interface_type = i2o;
diff --git a/src/linux-nvme.c b/src/linux-nvme.c
index 00f53d5a9a7..ce931b7e237 100644
--- a/src/linux-nvme.c
+++ b/src/linux-nvme.c
@@ -62,15 +62,15 @@ parse_nvme(struct device *dev, const char *current, const char *root UNUSED)
spaces[pos0] = '\0';
pos0 = 0;
- debug(DEBUG, "entry");
+ debug("entry");
- debug(DEBUG, "searching for nvme/nvme0/nvme0n1 or nvme/nvme0/nvme0n1/nvme0n1p1");
+ debug("searching for nvme/nvme0/nvme0n1 or nvme/nvme0/nvme0n1/nvme0n1p1");
rc = sscanf(current, "nvme/nvme%d/nvme%dn%d%n/nvme%dn%dp%d%n",
&tosser0, &ctrl_id, &ns_id, &pos0,
&tosser1, &tosser2, &partition, &pos1);
- debug(DEBUG, "current:\"%s\" rc:%d pos0:%d pos1:%d\n", current, rc, pos0, pos1);
- arrow(DEBUG, spaces, 9, pos0, rc, 3);
- arrow(DEBUG, spaces, 9, pos1, rc, 6);
+ debug("current:\"%s\" rc:%d pos0:%d pos1:%d\n", current, rc, pos0, pos1);
+ arrow(LOG_DEBUG, spaces, 9, pos0, rc, 3);
+ arrow(LOG_DEBUG, spaces, 9, pos1, rc, 6);
/*
* If it isn't of that form, it's not one of our nvme devices.
*/
@@ -130,7 +130,7 @@ dp_create_nvme(struct device *dev,
{
ssize_t sz;
- debug(DEBUG, "entry");
+ debug("entry");
sz = efidp_make_nvme(buf + off, size ? size - off : 0,
dev->nvme_info.ns_id,
diff --git a/src/linux-pci-root.c b/src/linux-pci-root.c
index 8f556a066f3..269e30e2c31 100644
--- a/src/linux-pci-root.c
+++ b/src/linux-pci-root.c
@@ -56,7 +56,7 @@ parse_pci_root(struct device *dev, const char *current, const char *root UNUSED)
spaces[pos] = '\0';
pos = 0;
- debug(DEBUG, "entry");
+ debug("entry");
/*
* find the pci root domain and port; they basically look like:
@@ -87,11 +87,11 @@ static ssize_t
dp_create_pci_root(struct device *dev UNUSED,
uint8_t *buf, ssize_t size, ssize_t off)
{
- debug(DEBUG, "entry buf:%p size:%zd off:%zd", buf, size, off);
- debug(DEBUG, "returning 0");
+ debug("entry buf:%p size:%zd off:%zd", buf, size, off);
+ debug("returning 0");
#if 0
if (dev->acpi_root.acpi_uid_str) {
- debug(DEBUG, "creating acpi_hid_ex dp hid:0x%08x uid:\"%s\"",
+ debug("creating acpi_hid_ex dp hid:0x%08x uid:\"%s\"",
dev->acpi_root.acpi_hid,
dev->acpi_root.acpi_uid_str);
new = efidp_make_acpi_hid_ex(buf + off, size ? size - off : 0,
@@ -104,7 +104,7 @@ dp_create_pci_root(struct device *dev UNUSED,
return new;
}
} else {
- debug(DEBUG, "creating acpi_hid dp hid:0x%08x uid:0x%0"PRIx64,
+ debug("creating acpi_hid dp hid:0x%08x uid:0x%0"PRIx64,
dev->acpi_root.acpi_hid,
dev->acpi_root.acpi_uid);
new = efidp_make_acpi_hid(buf + off, size ? size - off : 0,
@@ -118,7 +118,7 @@ dp_create_pci_root(struct device *dev UNUSED,
off += new;
sz += new;
- debug(DEBUG, "returning %zd", sz);
+ debug("returning %zd", sz);
return sz;
#else
return 0;
diff --git a/src/linux-pci.c b/src/linux-pci.c
index 0f59d3e840d..e7c864b2d33 100644
--- a/src/linux-pci.c
+++ b/src/linux-pci.c
@@ -56,7 +56,7 @@ parse_pci(struct device *dev, const char *current, const char *root)
spaces[pos] = '\0';
pos = 0;
- debug(DEBUG, "entry");
+ debug("entry");
/* find the pci domain/bus/device/function:
* 0000:00:01.0/0000:01:00.0/
@@ -69,16 +69,16 @@ parse_pci(struct device *dev, const char *current, const char *root)
unsigned int i = dev->n_pci_devs;
pos = 0;
- debug(DEBUG, "searching for 0000:00:00.0/");
+ debug("searching for 0000:00:00.0/");
rc = sscanf(devpart, "%hx:%hhx:%hhx.%hhx/%n",
&domain, &bus, &device, &function, &pos);
- debug(DEBUG, "current:\"%s\" rc:%d pos:%d", devpart, rc, pos);
- arrow(DEBUG, spaces, 9, pos, rc, 3);
+ debug("current:\"%s\" rc:%d pos:%d", devpart, rc, pos);
+ arrow(LOG_DEBUG, spaces, 9, pos, rc, 3);
if (rc != 4)
break;
devpart += pos;
- debug(DEBUG, "found pci domain %04hx:%02hhx:%02hhx.%02hhx",
+ debug("found pci domain %04hx:%02hhx:%02hhx.%02hhx",
domain, bus, device, function);
pci_dev = realloc(dev->pci_dev,
sizeof(*pci_dev) * (i + 1));
@@ -108,11 +108,11 @@ parse_pci(struct device *dev, const char *current, const char *root)
}
free(tmp);
dev->pci_dev[i].driverlink = strdup(linkbuf);
- debug(DEBUG, "driver:%s\n", linkbuf);
+ debug("driver:%s\n", linkbuf);
dev->n_pci_devs += 1;
}
- debug(DEBUG, "next:\"%s\"", devpart);
+ debug("next:\"%s\"", devpart);
return devpart - current;
}
@@ -122,11 +122,11 @@ dp_create_pci(struct device *dev,
{
ssize_t sz = 0, new = 0;
- debug(DEBUG, "entry buf:%p size:%zd off:%zd", buf, size, off);
+ debug("entry buf:%p size:%zd off:%zd", buf, size, off);
- debug(DEBUG, "creating PCI device path nodes");
+ debug("creating PCI device path nodes");
for (unsigned int i = 0; i < dev->n_pci_devs; i++) {
- debug(DEBUG, "creating PCI device path node %u", i);
+ debug("creating PCI device path node %u", i);
new = efidp_make_pci(buf + off, size ? size - off : 0,
dev->pci_dev[i].pci_device,
dev->pci_dev[i].pci_function);
@@ -138,7 +138,7 @@ dp_create_pci(struct device *dev,
off += new;
}
- debug(DEBUG, "returning %zd", sz);
+ debug("returning %zd", sz);
return sz;
}
diff --git a/src/linux-pmem.c b/src/linux-pmem.c
index 9a075716f7f..4d981fc8ad3 100644
--- a/src/linux-pmem.c
+++ b/src/linux-pmem.c
@@ -78,7 +78,7 @@ parse_pmem(struct device *dev, const char *current, const char *root UNUSED)
int ndbus, region, btt_region_id, btt_id, rc, pos;
char *namespace = NULL;
- debug(DEBUG, "entry");
+ debug("entry");
if (!strcmp(dev->driver, "nd_pmem")) {
;
@@ -121,7 +121,7 @@ parse_pmem(struct device *dev, const char *current, const char *root UNUSED)
return -1;
filebuf = NULL;
- debug(DEBUG, "nvdimm namespace is \"%s\"", namespace);
+ debug("nvdimm namespace is \"%s\"", namespace);
rc = read_sysfs_file(&filebuf, "bus/nd/devices/%s/uuid", namespace);
free(namespace);
if (rc < 0 || filebuf == NULL)
@@ -165,7 +165,7 @@ dp_create_pmem(struct device *dev,
{
ssize_t sz, sz1;
- debug(DEBUG, "entry");
+ debug("entry");
sz = efidp_make_nvdimm(buf + off, size ? size - off : 0,
&dev->nvdimm_info.namespace_label);
diff --git a/src/linux-sas.c b/src/linux-sas.c
index 5f44f2c1f7b..4d77d39a24d 100644
--- a/src/linux-sas.c
+++ b/src/linux-sas.c
@@ -55,7 +55,7 @@ parse_sas(struct device *dev, const char *current, const char *root UNUSED)
uint8_t *filebuf = NULL;
uint64_t sas_address;
- debug(DEBUG, "entry");
+ debug("entry");
pos = parse_scsi_link(current, &scsi_host,
&scsi_bus, &scsi_device,
@@ -111,7 +111,7 @@ dp_create_sas(struct device *dev,
{
ssize_t sz;
- debug(DEBUG, "entry");
+ debug("entry");
sz = efidp_make_sas(buf + off, size ? size - off : 0,
dev->sas_info.sas_address);
diff --git a/src/linux-sata.c b/src/linux-sata.c
index d9a62efdbe6..85265022f89 100644
--- a/src/linux-sata.c
+++ b/src/linux-sata.c
@@ -156,9 +156,9 @@ parse_sata(struct device *dev, const char *devlink, const char *root UNUSED)
spaces[pos] = '\0';
pos = 0;
- debug(DEBUG, "entry");
+ debug("entry");
if (is_pata(dev)) {
- debug(DEBUG, "This is a PATA device; skipping.");
+ debug("This is a PATA device; skipping.");
return 0;
}
@@ -166,10 +166,10 @@ parse_sata(struct device *dev, const char *devlink, const char *root UNUSED)
* ata1/host0/target0:0:0/0:0:0:0
* ^dev ^host x y z
*/
- debug(DEBUG, "searching for ata1/");
+ debug("searching for ata1/");
rc = sscanf(current, "ata%"PRIu32"/%n", &print_id, &pos);
- debug(DEBUG, "current:\"%s\" rc:%d pos:%d\n", current, rc, pos);
- arrow(DEBUG, spaces, 9, pos, rc, 1);
+ debug("current:\"%s\" rc:%d pos:%d\n", current, rc, pos);
+ arrow(LOG_DEBUG, spaces, 9, pos, rc, 1);
/*
* If we don't find this one, it isn't an ata device, so return 0 not
* error. Later errors mean it is an ata device, but we can't parse
@@ -180,30 +180,30 @@ parse_sata(struct device *dev, const char *devlink, const char *root UNUSED)
current += pos;
pos = 0;
- debug(DEBUG, "searching for host0/");
+ debug("searching for host0/");
rc = sscanf(current, "host%"PRIu32"/%n", &scsi_bus, &pos);
- debug(DEBUG, "current:\"%s\" rc:%d pos:%d\n", current, rc, pos);
- arrow(DEBUG, spaces, 9, pos, rc, 1);
+ debug("current:\"%s\" rc:%d pos:%d\n", current, rc, pos);
+ arrow(LOG_DEBUG, spaces, 9, pos, rc, 1);
if (rc != 1)
return -1;
current += pos;
pos = 0;
- debug(DEBUG, "searching for target0:0:0:0/");
+ debug("searching for target0:0:0:0/");
rc = sscanf(current, "target%"PRIu32":%"PRIu32":%"PRIu64"/%n",
&scsi_device, &scsi_target, &scsi_lun, &pos);
- debug(DEBUG, "current:\"%s\" rc:%d pos:%d\n", current, rc, pos);
- arrow(DEBUG, spaces, 9, pos, rc, 3);
+ debug("current:\"%s\" rc:%d pos:%d\n", current, rc, pos);
+ arrow(LOG_DEBUG, spaces, 9, pos, rc, 3);
if (rc != 3)
return -1;
current += pos;
pos = 0;
- debug(DEBUG, "searching for 0:0:0:0/");
+ debug("searching for 0:0:0:0/");
rc = sscanf(current, "%"PRIu32":%"PRIu32":%"PRIu32":%"PRIu64"/%n",
&tosser0, &tosser1, &tosser2, &tosser3, &pos);
- debug(DEBUG, "current:\"%s\" rc:%d pos:%d\n", current, rc, pos);
- arrow(DEBUG, spaces, 9, pos, rc, 4);
+ debug("current:\"%s\" rc:%d pos:%d\n", current, rc, pos);
+ arrow(LOG_DEBUG, spaces, 9, pos, rc, 4);
if (rc != 4)
return -1;
current += pos;
@@ -229,7 +229,7 @@ dp_create_sata(struct device *dev,
{
ssize_t sz = -1;
- debug(DEBUG, "entry buf:%p size:%zd off:%zd", buf, size, off);
+ debug("entry buf:%p size:%zd off:%zd", buf, size, off);
if (dev->interface_type == ata || dev->interface_type == atapi) {
sz = efidp_make_atapi(buf + off, size ? size - off : 0,
diff --git a/src/linux-scsi.c b/src/linux-scsi.c
index 153a4ff87ad..80c2fb7d82e 100644
--- a/src/linux-scsi.c
+++ b/src/linux-scsi.c
@@ -51,7 +51,7 @@ parse_scsi_link(const char *current, uint32_t *scsi_host,
spaces[sz] = '\0';
sz = 0;
- debug(DEBUG, "entry");
+ debug("entry");
/*
* This structure is completely ridiculous.
*
@@ -82,21 +82,21 @@ parse_scsi_link(const char *current, uint32_t *scsi_host,
* host4/port-4:0
* or host4/port-4:0:0
*/
- debug(DEBUG, "searching for host4/");
+ debug("searching for host4/");
rc = sscanf(current, "host%d/%n", scsi_host, &pos0);
- debug(DEBUG, "current:\"%s\" rc:%d pos0:%d\n", current+sz, rc, pos0);
- arrow(DEBUG, spaces, 9, pos0, rc, 1);
+ debug("current:\"%s\" rc:%d pos0:%d\n", current+sz, rc, pos0);
+ arrow(LOG_DEBUG, spaces, 9, pos0, rc, 1);
if (rc != 1)
return -1;
sz += pos0;
pos0 = 0;
- debug(DEBUG, "searching for port-4:0 or port-4:0:0");
+ debug("searching for port-4:0 or port-4:0:0");
rc = sscanf(current, "port-%d:%d%n:%d%n", &tosser0,
&tosser1, &pos0, &tosser2, &pos1);
- debug(DEBUG, "current:\"%s\" rc:%d pos0:%d pos1:%d\n", current+sz, rc, pos0, pos1);
- arrow(DEBUG, spaces, 9, pos0, rc, 2);
- arrow(DEBUG, spaces, 9, pos1, rc, 3);
+ debug("current:\"%s\" rc:%d pos0:%d pos1:%d\n", current+sz, rc, pos0, pos1);
+ arrow(LOG_DEBUG, spaces, 9, pos0, rc, 2);
+ arrow(LOG_DEBUG, spaces, 9, pos1, rc, 3);
if (rc == 2 || rc == 3) {
sz += pos0;
pos0 = 0;
@@ -107,18 +107,18 @@ parse_scsi_link(const char *current, uint32_t *scsi_host,
* awesomely these are the exact same fields that go into port-blah,
* but we don't care for now about any of them anyway.
*/
- debug(DEBUG, "searching for /end_device-4:0/ or /end_device-4:0:0/");
+ debug("searching for /end_device-4:0/ or /end_device-4:0:0/");
rc = sscanf(current + sz, "/end_device-%d:%d%n", &tosser0, &tosser1, &pos0);
- debug(DEBUG, "current:\"%s\" rc:%d pos0:%d\n", current+sz, rc, pos0);
- arrow(DEBUG, spaces, 9, pos0, rc, 2);
+ debug("current:\"%s\" rc:%d pos0:%d\n", current+sz, rc, pos0);
+ arrow(LOG_DEBUG, spaces, 9, pos0, rc, 2);
if (rc != 2)
return -1;
sz += pos0;
pos0 = 0;
rc = sscanf(current + sz, ":%d%n", &tosser0, &pos0);
- debug(DEBUG, "current:\"%s\" rc:%d pos0:%d\n", current+sz, rc, pos0);
- arrow(DEBUG, spaces, 9, pos0, rc, 2);
+ debug("current:\"%s\" rc:%d pos0:%d\n", current+sz, rc, pos0);
+ arrow(LOG_DEBUG, spaces, 9, pos0, rc, 2);
if (rc != 0 && rc != 1)
return -1;
sz += pos0;
@@ -134,11 +134,11 @@ parse_scsi_link(const char *current, uint32_t *scsi_host,
* /target4:0:0/
*/
uint64_t tosser3;
- debug(DEBUG, "searching for target4:0:0/");
+ debug("searching for target4:0:0/");
rc = sscanf(current + sz, "target%d:%d:%"PRIu64"/%n", &tosser0, &tosser1,
&tosser3, &pos0);
- debug(DEBUG, "current:\"%s\" rc:%d pos0:%d\n", current+sz, rc, pos0);
- arrow(DEBUG, spaces, 9, pos0, rc, 3);
+ debug("current:\"%s\" rc:%d pos0:%d\n", current+sz, rc, pos0);
+ arrow(LOG_DEBUG, spaces, 9, pos0, rc, 3);
if (rc != 3)
return -1;
sz += pos0;
@@ -147,11 +147,11 @@ parse_scsi_link(const char *current, uint32_t *scsi_host,
/* now:
* %d:%d:%d:%llu/
*/
- debug(DEBUG, "searching for 4:0:0:0/");
+ debug("searching for 4:0:0:0/");
rc = sscanf(current + sz, "%d:%d:%d:%"PRIu64"/%n",
scsi_bus, scsi_device, scsi_target, scsi_lun, &pos0);
- debug(DEBUG, "current:\"%s\" rc:%d pos0:%d\n", current+sz, rc, pos0);
- arrow(DEBUG, spaces, 9, pos0, rc, 4);
+ debug("current:\"%s\" rc:%d pos0:%d\n", current+sz, rc, pos0);
+ arrow(LOG_DEBUG, spaces, 9, pos0, rc, 4);
if (rc != 4)
return -1;
sz += pos0;
@@ -175,17 +175,17 @@ parse_scsi(struct device *dev, const char *current, const char *root UNUSED)
spaces[pos] = '\0';
pos = 0;
- debug(DEBUG, "entry");
+ debug("entry");
- debug(DEBUG, "searching for ../../../0:0:0:0");
+ debug("searching for ../../../0:0:0:0");
rc = sscanf(dev->device, "../../../%d:%d:%d:%"PRIu64"%n",
&dev->scsi_info.scsi_bus,
&dev->scsi_info.scsi_device,
&dev->scsi_info.scsi_target,
&dev->scsi_info.scsi_lun,
&pos);
- debug(DEBUG, "current:\"%s\" rc:%d pos:%d\n", dev->device, rc, pos);
- arrow(DEBUG, spaces, 9, pos, rc, 3);
+ debug("current:\"%s\" rc:%d pos:%d\n", dev->device, rc, pos);
+ arrow(LOG_DEBUG, spaces, 9, pos, rc, 3);
if (rc != 4)
return 0;
@@ -225,7 +225,7 @@ dp_create_scsi(struct device *dev,
{
ssize_t sz = 0;
- debug(DEBUG, "entry");
+ debug("entry");
sz = efidp_make_scsi(buf + off, size ? size - off : 0,
dev->scsi_info.scsi_target,
diff --git a/src/linux-soc-root.c b/src/linux-soc-root.c
index 57dd9b04f2c..394f496a453 100644
--- a/src/linux-soc-root.c
+++ b/src/linux-soc-root.c
@@ -51,13 +51,13 @@ parse_soc_root(struct device *dev UNUSED, const char *current, const char *root
spaces[pos] = '\0';
pos = 0;
- debug(DEBUG, "entry");
+ debug("entry");
rc = sscanf(devpart, "../../devices/platform/soc/%*[^/]/%n", &pos);
if (rc != 0)
return 0;
devpart += pos;
- debug(DEBUG, "new position is \"%s\"", devpart);
+ debug("new position is \"%s\"", devpart);
return devpart - current;
}
diff --git a/src/linux-virtblk.c b/src/linux-virtblk.c
index 9ee7994aeb3..c54a813a947 100644
--- a/src/linux-virtblk.c
+++ b/src/linux-virtblk.c
@@ -58,12 +58,12 @@ parse_virtblk(struct device *dev, const char *current, const char *root UNUSED)
spaces[pos] = '\0';
pos = 0;
- debug(DEBUG, "entry");
+ debug("entry");
- debug(DEBUG, "searching for virtio0/");
+ debug("searching for virtio0/");
rc = sscanf(current, "virtio%x/%n", &tosser, &pos);
- debug(DEBUG, "current:\"%s\" rc:%d pos:%d\n", current, rc, pos);
- arrow(DEBUG, spaces, 9, pos, rc, 1);
+ debug("current:\"%s\" rc:%d pos:%d\n", current, rc, pos);
+ arrow(LOG_DEBUG, spaces, 9, pos, rc, 1);
/*
* If we couldn't find virtioX/ then it isn't a virtio device.
*/
diff --git a/src/linux.c b/src/linux.c
index 8fe21f19f78..f919dee5b67 100644
--- a/src/linux.c
+++ b/src/linux.c
@@ -178,12 +178,12 @@ set_disk_and_part_name(struct device *dev)
char *proximate = pathseg(dev->link, -4);
errno = 0;
- debug(DEBUG, "dev->disk_name:%p dev->part_name:%p", dev->disk_name, dev->part_name);
- debug(DEBUG, "dev->part:%d", dev->part);
- debug(DEBUG, "ultimate:\"%s\"", ultimate ? : "");
- debug(DEBUG, "penultimate:\"%s\"", penultimate ? : "");
- debug(DEBUG, "approximate:\"%s\"", approximate ? : "");
- debug(DEBUG, "proximate:\"%s\"", proximate ? : "");
+ debug("dev->disk_name:%p dev->part_name:%p", dev->disk_name, dev->part_name);
+ debug("dev->part:%d", dev->part);
+ debug("ultimate:\"%s\"", ultimate ? : "");
+ debug("penultimate:\"%s\"", penultimate ? : "");
+ debug("approximate:\"%s\"", approximate ? : "");
+ debug("proximate:\"%s\"", proximate ? : "");
if (ultimate && penultimate &&
((proximate && !strcmp(proximate, "nvme")) ||
@@ -197,14 +197,14 @@ set_disk_and_part_name(struct device *dev)
*/
set_disk_name(dev, "%s", penultimate);
set_part_name(dev, "%s", ultimate);
- debug(DEBUG, "disk:%s part:%s", penultimate, ultimate);
+ debug("disk:%s part:%s", penultimate, ultimate);
} else if (ultimate && approximate && !strcmp(approximate, "nvme")) {
/*
* 259:0 -> ../../devices/pci0000:00/0000:00:1d.0/0000:05:00.0/nvme/nvme0/nvme0n1
*/
set_disk_name(dev, "%s", ultimate);
set_part_name(dev, "%sp%d", ultimate, dev->part);
- debug(DEBUG, "disk:%s part:%sp%d", ultimate, ultimate, dev->part);
+ debug("disk:%s part:%sp%d", ultimate, ultimate, dev->part);
} else if (ultimate && penultimate && !strcmp(penultimate, "block")) {
/*
* 253:0 -> ../../devices/virtual/block/dm-0 (... I guess)
@@ -217,13 +217,13 @@ set_disk_and_part_name(struct device *dev)
*/
set_disk_name(dev, "%s", ultimate);
set_part_name(dev, "%s%d", ultimate, dev->part);
- debug(DEBUG, "disk:%s part:%s%d", ultimate, ultimate, dev->part);
+ debug("disk:%s part:%s%d", ultimate, ultimate, dev->part);
} else if (ultimate && approximate && !strcmp(approximate, "mtd")) {
/*
* 31:0 -> ../../devices/platform/1e000000.palmbus/1e000b00.spi/spi_master/spi32766/spi32766.0/mtd/mtd0/mtdblock0
*/
set_disk_name(dev, "%s", ultimate);
- debug(DEBUG, "disk:%s", ultimate);
+ debug("disk:%s", ultimate);
}
return 0;
@@ -321,7 +321,7 @@ struct device HIDDEN
}
dev->part = partition;
- debug(DEBUG, "partition:%d dev->part:%d", partition, dev->part);
+ debug("partition:%d dev->part:%d", partition, dev->part);
dev->probes = calloc(nmemb, sizeof(struct dev_probe *));
if (!dev->probes) {
efi_error("could not allocate %zd bytes",
@@ -362,7 +362,7 @@ struct device HIDDEN
efi_error("strdup(\"%s\") failed", linkbuf);
goto err;
}
- debug(DEBUG, "dev->link: %s", dev->link);
+ debug("dev->link: %s", dev->link);
if (dev->part == -1) {
rc = read_sysfs_file(&tmpbuf, "dev/block/%s/partition", dev->link);
@@ -380,8 +380,8 @@ struct device HIDDEN
efi_error("could not set disk and partition names");
goto err;
}
- debug(DEBUG, "dev->disk_name: %s", dev->disk_name);
- debug(DEBUG, "dev->part_name: %s", dev->part_name);
+ debug("dev->disk_name: %s", dev->disk_name);
+ debug("dev->part_name: %s", dev->part_name);
rc = sysfs_readlink(&tmpbuf, "block/%s/device", dev->disk_name);
if (rc < 0 || !tmpbuf) {
@@ -431,25 +431,25 @@ struct device HIDDEN
bool needs_root = true;
int last_successful_probe = -1;
- debug(DEBUG, "searching for device nodes in %s", dev->link);
+ debug("searching for device nodes in %s", dev->link);
for (i = 0; dev_probes[i] && dev_probes[i]->parse; i++) {
struct dev_probe *probe = dev_probes[i];
ssize_t pos;
if (!needs_root &&
(probe->flags & DEV_PROVIDES_ROOT)) {
- debug(DEBUG, "not testing %s because flags is 0x%x",
+ debug("not testing %s because flags is 0x%x",
probe->name, probe->flags);
continue;
}
- debug(DEBUG, "trying %s", probe->name);
+ debug("trying %s", probe->name);
pos = probe->parse(dev, current, dev->link);
if (pos < 0) {
efi_error("parsing %s failed", probe->name);
goto err;
} else if (pos > 0) {
- debug(DEBUG, "%s matched %s", probe->name, current);
+ debug("%s matched %s", probe->name, current);
dev->flags |= probe->flags;
if (probe->flags & DEV_PROVIDES_HD ||
@@ -459,7 +459,7 @@ struct device HIDDEN
dev->probes[n++] = dev_probes[i];
current += pos;
- debug(DEBUG, "current:%s", current);
+ debug("current:%s", current);
last_successful_probe = i;
if (!*current || !strncmp(current, "block/", 6))
@@ -468,7 +468,7 @@ struct device HIDDEN
continue;
}
- debug(DEBUG, "dev_probes[i+1]: %p dev->interface_type: %d\n",
+ debug("dev_probes[i+1]: %p dev->interface_type: %d\n",
dev_probes[i+1], dev->interface_type);
if (dev_probes[i+1] == NULL && dev->interface_type == unknown) {
int new_pos = 0;
@@ -479,12 +479,9 @@ struct device HIDDEN
current);
goto err;
}
- debug(DEBUG,
- "Cannot parse device link segment \"%s\"",
- current);
- debug(DEBUG, "Skipping to \"%s\"", current + new_pos);
- debug(DEBUG,
- "This means we can only write abbreviated paths");
+ debug("Cannot parse device link segment \"%s\"", current);
+ debug("Skipping to \"%s\"", current + pos);
+ debug("This means we can only create abbreviated paths");
if (rc < 0)
goto err;
if (new_pos == 0)
@@ -512,7 +509,7 @@ make_blockdev_path(uint8_t *buf, ssize_t size, struct device *dev)
{
ssize_t off = 0;
- debug(DEBUG, "entry buf:%p size:%zd", buf, size);
+ debug("entry buf:%p size:%zd", buf, size);
for (unsigned int i = 0; dev->probes[i] &&
dev->probes[i]->parse; i++) {
@@ -531,7 +528,7 @@ make_blockdev_path(uint8_t *buf, ssize_t size, struct device *dev)
off += sz;
}
- debug(DEBUG, "= %zd", off);
+ debug("= %zd", off);
return off;
}
diff --git a/src/loadopt.c b/src/loadopt.c
index 23911f6e742..85fb646d107 100644
--- a/src/loadopt.c
+++ b/src/loadopt.c
@@ -46,7 +46,7 @@ efi_loadopt_create(uint8_t *buf, ssize_t size, uint32_t attributes,
+ sizeof (uint16_t) + desc_len
+ dp_size + optional_data_size;
- debug(DEBUG, "entry buf:%p size:%zd dp:%p dp_size:%zd",
+ debug("entry buf:%p size:%zd dp:%p dp_size:%zd",
buf, size, dp, dp_size);
if (size == 0)
@@ -57,31 +57,30 @@ efi_loadopt_create(uint8_t *buf, ssize_t size, uint32_t attributes,
return -1;
}
- debug(DEBUG, "testing buf");
+ debug("testing buf");
if (!buf) {
invalid:
errno = EINVAL;
return -1;
}
- debug(DEBUG, "testing optional data presence");
+ debug("testing optional data presence");
if (!optional_data && optional_data_size != 0)
goto invalid;
- debug(DEBUG, "testing dp presence");
+ debug("testing dp presence");
if ((!dp && dp_size == 0) || dp_size < 0)
goto invalid;
if (dp) {
- debug(DEBUG, "testing dp validity");
+ debug("testing dp validity");
if (!efidp_is_valid(dp, dp_size)) {
if (efi_get_verbose() >= 1)
hexdump((void *)dp, dp_size);
goto invalid;
}
- debug(DEBUG,
- "testing dp size: dp_size:%zd efidp_size(dp):%zd",
+ debug("testing dp size: dp_size:%zd efidp_size(dp):%zd",
dp_size, efidp_size(dp));
if (efidp_size(dp) != dp_size) {
if (efi_get_verbose() >= 1)
diff --git a/src/util.h b/src/util.h
index 441ced84fcf..f63a8907611 100644
--- a/src/util.h
+++ b/src/util.h
@@ -360,7 +360,7 @@ swizzle_guid_to_uuid(efi_guid_t *guid)
u16[1] = __builtin_bswap16(u16[1]);
}
-#define debug_(file, line, func, level, fmt, args...) \
+#define log_(file, line, func, level, fmt, args...) \
({ \
if (efi_get_verbose() >= level) { \
FILE *logfile_ = efi_get_logfile(); \
@@ -373,9 +373,13 @@ swizzle_guid_to_uuid(efi_guid_t *guid)
} \
})
-#define debug(level, fmt, args...) debug_(__FILE__, __LINE__, __func__, level, fmt, ## args)
-#define arrow(l,b,o,p,n,m) ({if(n==m){char c_=b[p+1]; b[o]='^'; b[p+o]='^';b[p+o+1]='\0';debug(l,"%s",b);b[o]=' ';b[p+o]=' ';b[p+o+1]=c_;}})
-
-#define DEBUG 1
+#define LOG_VERBOSE 0
+#define LOG_DEBUG 1
+#ifdef log
+#undef log
+#endif
+#define log(level, fmt, args...) log_(__FILE__, __LINE__, __func__, level, fmt, ## args)
+#define arrow(l,b,o,p,n,m) ({if(n==m){char c_=b[p+1]; b[o]='^'; b[p+o]='^';b[p+o+1]='\0';log(l,"%s",b);b[o]=' ';b[p+o]=' ';b[p+o+1]=c_;}})
+#define debug(fmt, args...) log(LOG_DEBUG, fmt, ## args)
#endif /* EFIVAR_UTIL_H */
--
2.17.1