Viewing: gdt.h
📄 gdt.h (Read Only) ⬅ To go back
#ifndef ARCH_X86_GDT_H
#define ARCH_X86_GDT_H

#include <stdint.h>
#include <stddef.h>

struct gdt_ptr {
    uint16_t limit;
    uint32_t base;
} __attribute__((packed));

extern struct gdt_ptr gp;

void gdt_init(void);
void tss_set_kernel_stack(uintptr_t esp0);
void tss_init_ap(uint32_t cpu_index);
void gdt_set_gate_ext(int num, uint32_t base, uint32_t limit, uint8_t access, uint8_t gran);

#endif