3 Diverge Low-Level Layer Library for Kernel Building
4 (C) 2014-2015 VOSystems.
10 #include<Diverge/types.h>
11 #include<Diverge/multiboot.h>
13 /*Diverge Low-Level Layer Library for Kernel Building (DLB)*/
21 #define LightGray 0x07
23 #define LightBlue 0x09
24 #define LightGreen 0x0a
25 #define LightCian 0x0b
27 #define LightMasenta 0x0d
28 #define LightBrown 0x0e
31 #define TYPE_SIZE(type) (sizeof(type))
34 #define CPUID_VENDOR 0x00
35 #define CPUID_FUNCTION 0x01
36 #define CPUID_TLB_INFO 0x02
37 #define CPUID_EX_NUM 0x80000000
38 #define CPUID_BRAND1 0x80000002
39 #define CPUID_BRAND2 0x80000003
40 #define CPUID_BRAND3 0x80000004
41 struct general_registers{
52 unsigned int start, max, end;
56 #define FIFO_MODE_UNINIT 0xff
57 #define FIFO_MODE_UBYTE 0x01
58 #define FIFO_MODE_UWORD 0x02
59 #define FIFO_MODE_UDWORD 0x03
60 #define FIFO_MODE_BYTE 0x11
61 #define FIFO_MODE_WORD 0x12
62 #define FIFO_MODE_DOWRD 0x13
65 extern struct pc_info pc;
66 void MB_memory(multiboot_info_t* mbi,unsigned long magic);
67 void MB_apm(multiboot_info_t* mbi);
70 unsigned long size;//MB単位
71 unsigned long low_size;//KB単位
72 unsigned long up_size;//KB単位
83 unsigned short version;
89 unsigned short cs32_size;
90 unsigned short cs16_size;
91 unsigned short ds_size;
96 //struct boot_dev_info dev;
102 inline void InitCharArrey(char* arrey,size_t lengh);
103 inline void Sleep(unsigned long milisec);
105 void vga_text_update_cursor(void);
106 void ClearScreen(void);
107 void init_char_io(void);
108 void DisplayOutputChar(const char ch);
109 void ShiftDisplayChar(unsigned int len);
110 void DisplayColorChangeChar(char att);
111 void GetTimeFromRTC(unsigned char* t);