blob: 7a9d58e81b7e283e001e11c1b47ffcda822a58e1 [file] [log] [blame] [edit]
/*
* Copyright 2019, Data61, CSIRO (ABN 41 687 119 230)
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
// Standard auciliary vector values
#define AT_NULL 0
#define PT_LOAD 1
#define PT_DYNAMIC 2
#define AT_PHDR 3
#define AT_PHENT 4
#define AT_PHNUM 5
#define PT_TLS 7
#define PT_NUM 8
#define AT_SYSINFO 32
// seL4-specific auxiliary vector values.
#define AT_SEL4_BOOT_INFO 64
#define AT_SEL4_CSPACE_DESCRIPTOR 65
#define AT_SEL4_VSYSCALL 66
#define AT_SEL4_IPC_BUFFER_PTR 67
#define AT_SEL4_IPC_BUFFER 68
#define AT_SEL4_TCB 69
#define AT_SEL4_CNODE 70
#define AT_SEL4_VSPACE 71
#define AT_SEL4_ASID_POOL 72
typedef struct {
int a_type;
union {
long a_val;
void *a_ptr;
void (*a_fnc)(void);
} a_un;
} auxv_t;
#define ARRAY_LENGTH(a) (sizeof(a) / sizeof(a[0]))