?
This commit is contained in:
parent
04ac0338c7
commit
380d6d6bc4
Binary file not shown.
@ -14,7 +14,7 @@ ENDMACRO()
|
|||||||
|
|
||||||
HEADER_DIRECTORIES(header_dirs)
|
HEADER_DIRECTORIES(header_dirs)
|
||||||
|
|
||||||
include_directories(${header_dirs})
|
include_directories(src/include)
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
#ifndef _HAL_ARCH_H_
|
#ifndef _HAL_ARCH_H_
|
||||||
#define _HAL_ARCH_H_
|
#define _HAL_ARCH_H_
|
||||||
|
|
||||||
#include "../../common/inc/abi.h"
|
#include "abi.h"
|
||||||
#include "../../common/inc/type.h"
|
#include "type.h"
|
||||||
|
|
||||||
#define HAL_CORE_COUNT 1
|
#define HAL_CORE_COUNT 1
|
||||||
|
|
||||||
@ -49,10 +49,6 @@ extern void KABI hal_write_port_16(uint16_t port, uint16_t data);
|
|||||||
|
|
||||||
extern void KABI hal_write_port_32(uint16_t port, uint32_t data);
|
extern void KABI hal_write_port_32(uint16_t port, uint32_t data);
|
||||||
|
|
||||||
extern void KABI hal_write_mem_32(void* target, uint32_t data);
|
|
||||||
|
|
||||||
extern void KABI hal_write_mem_64(void* target, uint64_t data);
|
|
||||||
|
|
||||||
extern void KABI hal_flush_gdt(hal_gdt_ptr_t *gdt_ptr, uint64_t code_slct, uint64_t data_slct);
|
extern void KABI hal_flush_gdt(hal_gdt_ptr_t *gdt_ptr, uint64_t code_slct, uint64_t data_slct);
|
||||||
|
|
||||||
extern void KABI hal_flush_tlb(void);
|
extern void KABI hal_flush_tlb(void);
|
@ -1,7 +1,7 @@
|
|||||||
#ifndef _S_ATOMIC_H_
|
#ifndef _S_ATOMIC_H_
|
||||||
#define _S_ATOMIC_H_
|
#define _S_ATOMIC_H_
|
||||||
#include "../../abi.h"
|
#include "abi.h"
|
||||||
#include "../../type.h"
|
#include "type.h"
|
||||||
|
|
||||||
extern int32_t KABI hal_interlocked_exchange_32(int32_t *target, int32_t val);
|
extern int32_t KABI hal_interlocked_exchange_32(int32_t *target, int32_t val);
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
#ifndef _S_CONTEXT_H_
|
#ifndef _S_CONTEXT_H_
|
||||||
#define _S_CONTEXT_H_
|
#define _S_CONTEXT_H_
|
||||||
|
|
||||||
#include "../../abi.h"
|
#include "abi.h"
|
||||||
#include "../../../mm/arch/amd64/mem.h"
|
#include "../../../mm/arch/amd64/mem.h"
|
||||||
#include "intr.h"
|
#include "intr.h"
|
||||||
|
|
11
x64/src/include/kernel/hal/print.h
Normal file
11
x64/src/include/kernel/hal/print.h
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#ifndef _S_PRINT_H_
|
||||||
|
#define _S_PRINT_H_
|
||||||
|
|
||||||
|
#include "abi.h"
|
||||||
|
#include "type.h"
|
||||||
|
|
||||||
|
void KABI hal_printf(const char* str, ...);
|
||||||
|
void KABI hal_clear_screen();
|
||||||
|
void KABI hal_print_init();
|
||||||
|
|
||||||
|
#endif
|
@ -1,7 +1,7 @@
|
|||||||
#ifndef _ALLOC_H_
|
#ifndef _ALLOC_H_
|
||||||
#define _ALLOC_H_
|
#define _ALLOC_H_
|
||||||
#include "../../../common/inc/abi.h"
|
#include "abi.h"
|
||||||
#include "../../../common/inc/type.h"
|
#include "type.h"
|
||||||
|
|
||||||
void KABI ke_alloc_init();
|
void KABI ke_alloc_init();
|
||||||
|
|
@ -1,8 +1,8 @@
|
|||||||
#ifndef _ASSERT_H_
|
#ifndef _ASSERT_H_
|
||||||
#define _ASSERT_H_
|
#define _ASSERT_H_
|
||||||
|
|
||||||
#include "../../../common/inc/type.h"
|
#include "type.h"
|
||||||
#include "../../../common/inc/abi.h"
|
#include "abi.h"
|
||||||
|
|
||||||
void KABI ke_assert_ex(const char* expr_str, const char* file, int32_t line, int32_t expr);
|
void KABI ke_assert_ex(const char* expr_str, const char* file, int32_t line, int32_t expr);
|
||||||
|
|
@ -4,9 +4,9 @@
|
|||||||
#include "abi.h"
|
#include "abi.h"
|
||||||
#include "type.h"
|
#include "type.h"
|
||||||
|
|
||||||
|
typedef uintptr_t address_space_t;
|
||||||
typedef uintptr_t physical_addr_t;
|
typedef uintptr_t physical_addr_t;
|
||||||
typedef uintptr_t virtual_addr_t;
|
typedef uintptr_t virtual_addr_t;
|
||||||
typedef uintptr_t address_space_t;
|
|
||||||
|
|
||||||
#define KERNEL_PAGE_SIZE (0x1000ull)
|
#define KERNEL_PAGE_SIZE (0x1000ull)
|
||||||
|
|
@ -4,10 +4,12 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "arch.h"
|
#include "arch.h"
|
||||||
|
#include "abi.h"
|
||||||
|
#include "type.h"
|
||||||
#include "intr.h"
|
#include "intr.h"
|
||||||
#include "print.h"
|
#include "print.h"
|
||||||
#include "mem.h"
|
#include "mem.h"
|
||||||
#include "sxtdlib.h"
|
#include "lib/sxtdlib.h"
|
||||||
|
|
||||||
static uint8_t _idts[HAL_CORE_COUNT][IDT_ENTRY_NUM*IDT_ENTRY_SIZE];
|
static uint8_t _idts[HAL_CORE_COUNT][IDT_ENTRY_NUM*IDT_ENTRY_SIZE];
|
||||||
hal_idt_ptr_t _idt_ptrs[HAL_CORE_COUNT];
|
hal_idt_ptr_t _idt_ptrs[HAL_CORE_COUNT];
|
@ -7,6 +7,10 @@
|
|||||||
#include "sxtdlib.h"
|
#include "sxtdlib.h"
|
||||||
#include "print.h"
|
#include "print.h"
|
||||||
|
|
||||||
|
#define get_column(pos) (pos % 80)
|
||||||
|
#define get_row(pos) (pos / 80)
|
||||||
|
#define get_pos(row,col) ((row) * 80 + (col))
|
||||||
|
|
||||||
static uint64_t text_pos;
|
static uint64_t text_pos;
|
||||||
|
|
||||||
static void KABI hal_print_init()
|
static void KABI hal_print_init()
|
@ -1,9 +0,0 @@
|
|||||||
#ifndef _S_PRINT_H_
|
|
||||||
#define _S_PRINT_H_
|
|
||||||
|
|
||||||
#include "abi.h"
|
|
||||||
#include "type.h"
|
|
||||||
|
|
||||||
extern void hal_printf(const char* str, ...);
|
|
||||||
|
|
||||||
#endif
|
|
Loading…
Reference in New Issue
Block a user