aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2024-04-04 04:49:21 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2024-04-05 15:17:55 +0000
commit969a4b8be5a7d8edf55bd8945a5a071f57386b0e (patch)
tree8df8b9b198a59095d3b82a1db2d2a91447789b44 /usr.sbin
parent29a6b72775eeed08a5ecb8f6c1b0c364196d73df (diff)
downloadsrc-969a4b8be5a7d8edf55bd8945a5a071f57386b0e.tar.gz
src-969a4b8be5a7d8edf55bd8945a5a071f57386b0e.zip
acpidump: add printfield() helper
Reviewed by: markj Sponsored by: Advanced Micro Devices (AMD) Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D44634
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/acpi/acpidump/acpi.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/usr.sbin/acpi/acpidump/acpi.c b/usr.sbin/acpi/acpidump/acpi.c
index e3190fa98ad4..322fcaed2dc0 100644
--- a/usr.sbin/acpi/acpidump/acpi.c
+++ b/usr.sbin/acpi/acpidump/acpi.c
@@ -157,6 +157,18 @@ printflag(uint64_t var, uint64_t mask, const char *name)
}
static void
+printfield(uint64_t var, int lbit, int hbit, const char *name)
+{
+ uint64_t mask;
+ int len;
+
+ len = hbit - lbit + 1;
+ mask = ((1 << (len + 1)) - 1) << lbit;
+ printf("%c%s=%#jx", pf_sep, name, (uintmax_t)((var & mask) >> lbit));
+ pf_sep = ',';
+}
+
+static void
acpi_print_string(char *s, size_t length)
{
int c;