1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 04:47:34 +00:00

Kernel: Properly set up the userland context for new processes on x86_64

This commit is contained in:
Gunnar Beutner 2021-06-28 17:42:29 +02:00 committed by Andreas Kling
parent 158355e0d7
commit d4c0d28035
2 changed files with 40 additions and 30 deletions

View file

@ -12,7 +12,7 @@
/* Auxiliary Vector types, from Intel386 ABI ver 1.0 section 2.3.3 */
typedef struct
{
long a_type; /* Note: Extended to long from int, for ease of comaptibility w/64 bit */
long a_type; /* Note: Extended to long from int, for ease of compatibility w/64 bit */
union {
long a_val;
void* a_ptr;
@ -20,6 +20,8 @@ typedef struct
} a_un;
} auxv_t;
static_assert(sizeof(auxv_t) % sizeof(FlatPtr) == 0);
#define AT_NULL 0 /* No length, last entry's a_type has this value */
#define AT_IGNORE 1 /* Entry has no meaning, a_un undefined */
#define AT_EXECFD 2 /* a_val contains a file descriptor of the main program image */