diff options
author | Ian Moffett <ian@osmora.org> | 2025-08-02 01:39:22 -0400 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2025-08-02 01:39:22 -0400 |
commit | 97df5861b690300d5d98689c66fe0c676ca4d8bd (patch) | |
tree | df4179e78284b29f48fee36e76bf1e8ffd696421 /sys/dev/dmi/dmi.c | |
parent | 0dde279349881cf8c8005654f40713c07106ad0f (diff) |
kernel: dmi: Add '/ctl/dmi/board' ctl entry
Add ctlfs entry for DMI to allow for easy system information from
userspace by reading '/ctl/dmi/*'. This commit implements a ctlfs
node that reports information about the host board.
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys/dev/dmi/dmi.c')
-rw-r--r-- | sys/dev/dmi/dmi.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sys/dev/dmi/dmi.c b/sys/dev/dmi/dmi.c index f9750c1..73a9ab7 100644 --- a/sys/dev/dmi/dmi.c +++ b/sys/dev/dmi/dmi.c @@ -35,7 +35,9 @@ #include <sys/cdefs.h> #include <sys/syslog.h> #include <dev/dmi/dmi.h> +#include <dev/dmi/dmivar.h> #include <dev/acpi/tables.h> +#include <fs/ctlfs.h> #include <string.h> #define DMI_BIOS_INFO 0 @@ -236,6 +238,20 @@ dmi_cpu_version(void) return dmi_str_index(hdr, PROCINFO_VERSION); } +static void +dmi_init_ctl(void) +{ + struct ctlfs_dev ctl; + char ctlname[] = "dmi"; + + /* Create '/ctl/dmi/board' */ + ctl.mode = 0444; + ctlfs_create_node(ctlname, &ctl); + ctl.devname = ctlname; + ctl.ops = &g_ctl_board_ident; + ctlfs_create_entry("board", &ctl); +} + static int dmi_init(void) { @@ -283,6 +299,7 @@ dmi_init(void) hdr = PTR_OFFSET(hdr, cur_nbytes); } + dmi_init_ctl(); return 0; } |