DF-5195 / kread.c
/* kread.c -- read live syscons saver statics from /dev/kmem (DF-5195) * symbol addresses from: nm /boot/kernel/kernel | grep -w <name> * (valid for the running X86_64_GENERIC build; re-derive if rebuilt) */ #include <fcntl.h> #include <stdio.h> #include <unistd.h> int main(void) { struct { const char *n; unsigned long a; } s[] = { { "scrn_blanked", 0xffffffff817a6e24UL }, { "scrn_blank_time", 0xffffffff817a6e28UL }, { "run_scrn_saver", 0xffffffff817a6e30UL }, { "saver_mode", 0xffffffff8113b388UL }, { "current_saver", 0xffffffff8113b380UL }, }; int fd = open("/dev/kmem", O_RDONLY); unsigned int v; if (fd < 0) { perror("kmem"); return 1; } for (int i = 0; i < 5; i++) { pread(fd, &v, 4, (off_t)s[i].a); printf("%-15s = %u (%#x)\n", s[i].n, v, v); } return 0; } |