Today wrote dynamic module(driver) building makefile.

Code: Select all
; identify page the first MB of RAM
mov eax, 0 ; map 0x0 --
mov ebx, 0 ; -- to 0x0
mov ecx, 256 ; 256*4 KB blocks = ~ 1 MB
call vmm_map_memory
; this is just for debugging, will be removed
mov eax, 0x100000 ; map 0x100000 (1 MB) --
mov ebx, 0xC0000000 ; -- to 0xC0000000 (3 GB)
mov ecx, 2 ; 2*4 KB blocks = 8 KB
call vmm_map_memory
Code: Select all
BOS v. 0.0.2 SRC/SYSTEM_x86/GDT.c Compiled at 15:10:22 on Jul 15 2015 MAIN Line 18 Function "_GDT_init"
GDT Installed
BOS v. 0.0.2 SRC/SYSTEM_x86/IDT.c Compiled at 14:43:27 on Jul 13 2015 MAIN Line 348 Function "_IDT_init"
IDT Installed
BOS v. 0.0.2 SRC/SYSTEM_x86/8259.c Compiled at 14:43:28 on Jul 13 2015 MAIN Line 141 Function "_8259_INIT"
8259 PIC Installed
PIT Installed
BOS v. 0.0.2 SRC/MEM/PHYS.c Compiled at 21:33:47 on Jul 16 2015 MAIN Line 90 Function "PHYSMEM_init"
Total RAM = 32383 KB
Used RAM = 1203 KB
Free RAM = 31180 KB
BOS v. 0.0.2 SRC/MEM/PAGEFAULT.c Compiled at 14:43:29 on Jul 13 2015 MAIN Line 67 Function "_pageFault_init"
BOS v. 0.0.2 SRC/MEM/VIRTUAL.c Compiled at 14:43:29 on Jul 13 2015 MAIN Line 81 Function "VIRTUALMEM_init"
Total RAM = 32383 KB
Used RAM = 1207 KB
Free RAM = 31176 KB
(SRC/MEM/VIRTUAL.c:55) MakeDirectory() = 0x11A000
Total RAM = 32383 KB
Used RAM = 1211 KB
Free RAM = 31172 KB
Total RAM = 32383 KB
Used RAM = 1215 KB
Free RAM = 31168 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable() = 0x11C000
Total RAM = 32383 KB
Used RAM = 1219 KB
Free RAM = 31164 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable() = 0x11D000
Total RAM = 32383 KB
Used RAM = 1223 KB
Free RAM = 31160 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable() = 0x11E000
Total RAM = 32383 KB
Used RAM = 1227 KB
Free RAM = 31156 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable() = 0x11F000
Total RAM = 32383 KB
Used RAM = 1231 KB
Free RAM = 31152 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable() = 0x120000
Total RAM = 32383 KB
Used RAM = 1235 KB
Free RAM = 31148 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable() = 0x121000
Total RAM = 32383 KB
Used RAM = 1239 KB
Free RAM = 31144 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable() = 0x122000
Total RAM = 32383 KB
Used RAM = 1243 KB
Free RAM = 31140 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable() = 0x123000
Total RAM = 32383 KB
Used RAM = 1247 KB
Free RAM = 31136 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable() = 0x124000
Total RAM = 32383 KB
Used RAM = 1251 KB
Free RAM = 31132 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable() = 0x125000
Total RAM = 32383 KB
Used RAM = 1255 KB
Free RAM = 31128 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable() = 0x126000
Total RAM = 32383 KB
Used RAM = 1259 KB
Free RAM = 31124 KB
(SRC/MEM/VIRTUAL.c:46) MakeTable() = 0x127000
Total RAM = 32383 KB
Used RAM = 1267 KB
Free RAM = 31116 KB
0 _API_Add_Symbol("outb", 0x100160);
1 _API_Add_Symbol("inb", 0x100170);
2 _API_Add_Symbol("outw", 0x100180);
3 _API_Add_Symbol("inw", 0x100190);
4 _API_Add_Symbol("outl", 0x1001A0);
5 _API_Add_Symbol("inl", 0x1001B0);
6 _API_Add_Symbol("newHandler", 0x1045E0);
7 _API_Add_Symbol("strlen", 0x100500);
8 _API_Add_Symbol("streql", 0x100520);
9 _API_Add_Symbol("strcmp", 0x100570);
10 _API_Add_Symbol("strcpy", 0x1005C0);
11 _API_Add_Symbol("stringf", 0x1006E0);
12 _API_Add_Symbol("malloc_page", 0x105870);
13 _API_Add_Symbol("calloc_page", 0x105C80);
14 _API_Add_Symbol("malloc_page_low", 0x105CB0);
15 _API_Add_Symbol("calloc_page_low", 0x105FA0);
16 _API_Add_Symbol("free_page", 0x105FD0);
17 _API_Add_Symbol("AddPage", 0x106600);
18 _API_Add_Symbol("DelPage", 0x106700);
19 _API_Add_Symbol("_API_Add_Symbol", 0x106940);
20 _API_Add_Symbol("_API_Get_Symbol", 0x1068F0);
21 _API_Add_Symbol("DEBUG_printf", 0x1009C0);
22 _API_Add_Symbol("INT", 0x106990);
23 _API_Add_Symbol("memcpy", 0x1001C0);
24 _API_Add_Symbol("memset", 0x1002A0);
25 _API_Add_Symbol("memsetw", 0x100410);
API Installed
End of Kernel Data = 0x110928
Bottom of Kernel Stack = 0x10F000
Loading Boot Time Modules...
Total RAM = 32383 KB
Used RAM = 1271 KB
Free RAM = 31112 KB
BOS v. 0.0.2 SRC/MAIN.c Compiled at 14:43:29 on Jul 13 2015 HAL Line 10 Function "main"
Total RAM = 32383 KB
Used RAM = 1303 KB
Free RAM = 31080 KB
26 _API_Add_Symbol("HAL_ReadDev", 0x110968);
27 _API_Add_Symbol("HAL_WriteDev", 0x1109F8);
28 _API_Add_Symbol("HAL_RegisterDev", 0x110B58);
29 _API_Add_Symbol("HAL_UnregisterDev", 0x110A78);
30 _API_Add_Symbol("HAL_UnregisterDevByID", 0x110BD8);
31 _API_Add_Symbol("HAL_GetDevByName", 0x110C28);
32 _API_Add_Symbol("HAL_GetDev", 0x110AA8);
33 _API_Add_Symbol("HAL_NewDev", 0x110AE8);
Total RAM = 32383 KB
Used RAM = 1307 KB
Free RAM = 31076 KB
Total RAM = 32383 KB
Used RAM = 1311 KB
Free RAM = 31072 KB
34 _API_Add_Symbol("PCI_GetDevice", 0x113768);
35 _API_Add_Symbol("PCI_SetHAL", 0x1137B8);
36 _API_Add_Symbol("PCI_GetBaseAddr", 0x1137D8);
37 _API_Add_Symbol("PCI_GetINTLine", 0x113808);
Bus:Slot:Function Vendor Device Class SubClass HeadType BaseAddr INTLine
PCI_0_0_0 0x8086 0x1237 0x6 0x0 0x0 0x0 0x0
PCI_0_1_0 0x8086 0x7000 0x6 0x1 0x80 0x0 0x0
PCI_0_1_1 0x8086 0x7010 0x1 0x1 0x0 0x0 0x0
PCI_0_1_3 0x8086 0x7113 0x6 0x80 0x0 0x0 0x9
PCI_0_2_0 0x1234 0x1111 0x3 0x0 0x0 0xC0000008 0x0
Total RAM = 32383 KB
Used RAM = 1315 KB
Free RAM = 31068 KB
BOS v. 0.0.2 SRC/MAIN.c Compiled at 14:43:29 on Jul 13 2015 VFS Line 12 Function "main"
Total RAM = 32383 KB
Used RAM = 1323 KB
Free RAM = 31060 KB
Total RAM = 32383 KB
Used RAM = 1331 KB
Free RAM = 31052 KB
38 _API_Add_Symbol("VFS_OpenFile", 0x116368);
39 _API_Add_Symbol("VFS_ReadFile", 0x1163A8);
40 _API_Add_Symbol("VFS_WriteFile", 0x116428);
41 _API_Add_Symbol("VFS_CloseFile", 0x1164A8);
42 _API_Add_Symbol("VFS_RegisterFileSystem", 0x1166B8);
43 _API_Add_Symbol("VFS_UnregisterFileSystem", 0x1167F8);
44 _API_Add_Symbol("VFS_ReadPartition", 0x1165B8);
45 _API_Add_Symbol("VFS_WritePartition", 0x116638);
46 _API_Add_Symbol("VFS_RegisterPartition", 0x116748);
47 _API_Add_Symbol("VFS_Mount", 0x116518);
48 _API_Add_Symbol("VFS_UMount", 0x116858);
DONE!
Code: Select all
V032002580110
R
DBIN
KKERNEL ELF
R
DBIN
MHAL DLL
R
DBIN
MPCI DLL
R
DBIN
MVFS DLL
B
Sortie wrote:
- Don't play the role of an operating systems developer, be one.
- Be truly afraid of undefined [behavior].
- Your operating system should be itself, not fight what it is.
Code: Select all
... ... ...
Cluster = 0xB Start = 0x5400 Length = 0x200
Current Cluster Data:
52 A 44 42 49 4E 20 20 20 20 20 20 20 20 A 4B 4B 45 52 4E 45 4C 20 20 45 4C 46 A 4D 44 4D 41 20 20 20 20 20 44 4C 4C A 4D 46 44 43 20 20 20 20 20 44 4C 4C A 4D 46 41 54 20 20 20 20 20 44 4C 4C A 56 30 33 32 30 30 32 35 38 30 31 31 30 A 42 A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
BOOT.CFG:
R
DBIN
KKERNEL ELF
MDMA DLL
MFDC DLL
MFAT DLL
V032002580110
B
.DONE!
Sortie wrote:
- Don't play the role of an operating systems developer, be one.
- Be truly afraid of undefined [behavior].
- Your operating system should be itself, not fight what it is.
Because the view limit has been reached, I'm working on GitHub Pages now. But I'm working too much in the OS and not in the site, lol.Roflo wrote:@omarrx024: nice os, but the link to your website results in a 403