#ifndef HOS_DEFINES_H #define HOS_DEFINES_H #include "hos_types.h" #define KERNEL_OFFSET 0x00000000 #define PAGE_LOG_SIZE 12u #define PAGE_SIZE (1 << PAGE_LOG_SIZE) #define PAGE_HIGH_MASK (0xFFFFFFFFu << PAGE_LOG_SIZE) #define PAGE_LOW_MASK (0xFFFFFFFFu >> (32 - PAGE_LOG_SIZE)) #define CONSOLE_MEMORY 0xB8000 #define KERNEL_CODE (&_code) #define KERNEL_DATA (&_data) #define KERNEL_BSS (&_bss) #define KERNEL_END (&_end) #define KERNEL_PHYSICAL_ADDRESS ((u32_t)(KERNEL_CODE - KERNEL_OFFSET)) #define KERNEL_VIRTUAL_ADDRESS ((u32_t)KERNEL_CODE) #define KERNEL_SIZE ((u32_t)(KERNEL_END - KERNEL_CODE)) #define KERNEL_TIMER_FREQ 1000 #define BUILD_BUG_ON(condition) \ do { \ typedef struct { int negative_width_test : ((condition)?-1:1); } \ BUILD_BUG_ON_DUMMY_STRUCT; \ } \ while(0) #ifdef __cplusplus extern "C" { #endif extern u8_t _code; extern u8_t _data; extern u8_t _bss; extern u8_t _end; #ifdef __cplusplus } #endif #endif