BootArgs
_boot_arg = reinterpret_cast <struct BootArgs *>(v);
_boot_arg->argc = menu.setup_kernel_args(v + sizeof(struct BootArgs),
p + sizeof(struct BootArgs),
_mem->getTaggedPageSize() - sizeof(struct BootArgs));
_boot_arg->argv = ptokv(p + sizeof(struct BootArgs));
_boot_arg->bootinfo = ptokv(p + offsetof(struct BootArgs, bi));
struct BootArgs *_boot_arg;
typedef void(*boot_func_t)(struct BootArgs *, struct PageTag *);
x##::boot_func(struct BootArgs *bi, struct PageTag *p) \
static void boot_func(struct BootArgs *, struct PageTag *);
static void boot_func(struct BootArgs *, struct PageTag *);
static void boot_func(struct BootArgs *, struct PageTag *); \
static void boot_func(struct BootArgs *, struct PageTag *);
SH##x##::boot_func(struct BootArgs *bi, struct PageTag *p) \
typedef void(*boot_func_t)(struct BootArgs *, struct PageTag *);