minix/minix/kernel/usermapped_data.c
David van Moolenbroek 20054ae93f Kernel: separate userland ABI on kernel page
Currently, the userland ABI uses a single field ('user_sp') far
into the very large 'kinfo' structure on the shared kernel
information page.  This precludes us from modifying or getting
rid of 'kinfo' in the future without breaking userland.  This
patch adds a separate 'kuserinfo' structure to the kernel
information page, with only information that is part of the
userland ABI, in an extensible manner.  Userland now uses this
field if it is present, and falls back to the old field if not.

Change-Id: Ib7b24b53a440f40a2edc28cdfa48447ac2179288
2015-09-23 12:01:15 +00:00

16 lines
816 B
C

#include "kernel/kernel.h"
/* This is the user-visible struct that has pointers to other bits of data. */
struct minix_kerninfo minix_kerninfo __section(".usermapped");
/* Kernel information structures. */
struct kinfo kinfo __section(".usermapped"); /* kernel information for services */
struct machine machine __section(".usermapped"); /* machine information for services */
struct kmessages kmessages __section(".usermapped"); /* diagnostic messages in kernel */
struct loadinfo loadinfo __section(".usermapped"); /* status of load average */
struct kuserinfo kuserinfo __section(".usermapped");
/* kernel information for users */
struct arm_frclock arm_frclock __section(".usermapped");
/* ARM free running timer information */
struct kclockinfo kclockinfo __section(".usermapped"); /* clock information */