x86_64: move non-ML headers to include/arch/

This commit is contained in:
2023-02-05 09:45:17 +00:00
parent 17b90a484a
commit 1abc7a4f6c
11 changed files with 288 additions and 17 deletions

View File

@@ -1,42 +0,0 @@
#ifndef SOCKS_X86_64__GDT_H_
#define SOCKS_X86_64__GDT_H_
#include <socks/compiler.h>
#include <stdint.h>
#define NR_GDT_ENTRIES 5
#define GDT_A_PRESENT (1 << 7)
#define GDT_A_USER (3 << 5)
#define GDT_A_CODE (3 << 3)
#define GDT_A_DATA (8 << 1)
#define GDT_A_RPLK (1 << 5)
#define GDT_A_CODEREAD (1 << 1)
#define GDT_A_DATAWRITE (1 << 1)
#define GDT_A_GROWUP (1 << 5)
#define GDT_F_64BIT (0x2F)
#define GDT_F_32BIT (0x4F)
#define GDT_F_16BIT (0xF)
struct gdt_entry {
uint16_t ge_limit_low;
uint16_t ge_base_low;
uint8_t ge_base_mid;
uint8_t ge_access;
uint8_t ge_gran;
uint8_t ge_base_hi;
} __packed;
struct gdt {
struct gdt_entry g_entries[NR_GDT_ENTRIES];
} __packed;
struct gdt_ptr {
uint16_t g_limit;
uint64_t g_ptr;
} __packed;
extern int gdt_init(struct gdt *gdt, struct gdt_ptr *gdtp);
extern int gdt_load(struct gdt_ptr *gdtp);
#endif

View File

@@ -1,7 +1,7 @@
#ifndef SOCKS_X86_64_CPU_H_
#define SOCKS_X86_64_CPU_H_
#include <socks/machine/_gdt.h>
#include <arch/gdt.h>
#define ml_halt_cpu() asm volatile("cli;hlt")

View File

@@ -1,17 +0,0 @@
#ifndef SOCKS_X86_64_PORTS_H_
#define SOCKS_X86_64_PORTS_H_
#include <stdint.h>
#define PF_IOPORT_COUNT (65536)
extern uint8_t inportb(uint16_t port);
extern uint16_t inportw(uint16_t port);
extern uint32_t inportl(uint16_t port);
extern void outportb(uint16_t port, uint8_t data);
extern void outportw(uint16_t port, uint16_t data);
extern void outportl(uint16_t port, uint32_t data);
extern void outportsw(uint16_t port, void *data, uint32_t size);
extern void inportsw(uint16_t port, unsigned char *data, unsigned long size);
#endif

View File

@@ -1,6 +0,0 @@
#ifndef SOCKS_X86_64_CONSOLE_H_
#define SOCKS_X86_64_CONSOLE_H_
extern void vgacon_init(void);
#endif