summaryrefslogtreecommitdiffstats
path: root/include/arch/x86_64/object.h
blob: 65120498ee10333c7d125cd521538968b79b73f6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef _JOVE_x86_64_OBJECT_H
#define _JOVE_x86_64_OBJECT_H 1

#include <stdint.h>

#ifndef KERNEL_STACKBYTES
#define KERNEL_STACKBYTES 4096
#endif

typedef struct jove_InitData
{
    uint8_t log_object;
    uint16_t untyped_data_dir;
    uint16_t processor_dir;
    uint8_t pm_object; //Page mapping object.
    uint16_t initrd_dir; //Init ramdisk files directory.
    uint8_t tcb_object;
    uint8_t message_object;
    uintptr_t message_object_address;
} init_data_t;

typedef struct jove_ThreadControlBlock
{
    void *stack;
    uintptr_t sp, ksp;
    void *pml4;
    uint8_t kstack[KERNEL_STACKBYTES];
} tcb_t;

#endif