Looks like it comes from /dev/mem
root@aw42e ~]# strace -F -e open dmidecode -t 17
<snip>
open("/sys/firmware/efi/systab", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/proc/efi/systab", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/dev/mem", O_RDONLY) = 3
SMBIOS 2.5 present.
open("/dev/mem", O_RDONLY) = 3
Handle 0x0016, DMI type 17, 27 bytes
Memory Device
<snip>
/dev/mem
is described as
mem is a character device file that is an image of the main memory of
the computer. It may be used, for example, to examine (and even patch)
the system. Byte addresses in mem are interpreted as physical memory
addresses.
So to answer, it is contained in /dev/mem
I'm searching for more info, but I assume that the kernel inserts the DMI table into memory at boot time - from man dmidecode
As you run it, dmidecode will try to locate the DMI table. If it
succeeds, it will then parse this table and
display a list of records like this one: