73 Commits

Author SHA1 Message Date
Alex
f2eab6c64f
Fix elf loading 2023-04-21 17:47:09 +03:00
Alex
ecc19f4df0
Reserve all pages and then unreserve available pages 2023-04-19 00:50:09 +03:00
Alex
b4dbf2c281
QoL and bug fixes 2023-04-10 03:11:46 +03:00
Alex
7fa3e91a53
Optimize memory mapping 2023-04-07 05:12:48 +03:00
Alex
540152a339
Add support for 2MB and 1GB map 2023-04-07 01:39:11 +03:00
Alex
9b84d0147d
Add 2MB and 1GB PAGE_SIZE macro 2023-04-06 18:17:56 +03:00
Alex
b8186bb3d9
Make rsp to be at physical address 2023-04-04 21:08:45 +03:00
Alex
25256d81a8
Added license headers to all project files 2023-04-04 02:19:05 +03:00
Alex
eae6006d25
Add Virtual::GetPhysical() 2023-03-31 17:30:33 +03:00
Alex
678744f65d
Fix kernel mapping 2023-03-27 20:30:19 +03:00
Alex
a09790e4f2
Test TO_PAGES and FROM_PAGES macros 2023-03-27 02:49:56 +03:00
Alex
7218575b48
Rename heap allocation function 2023-03-25 12:02:01 +02:00
Alex
9ce301907a
QoL improvements 2023-03-24 16:22:42 +02:00
Alex
8b082ac98a
Map kernel file too 2023-03-23 23:26:18 +02:00
Alex
c56bc2c4d7
SwapPage should be after loop 2023-03-23 23:23:47 +02:00
Alex
6a7e940e80
Show address in error message 2023-03-23 23:23:02 +02:00
Alex
5fd8e8f152
Specify the invalid address 2023-03-20 20:30:13 +02:00
Alex
e008796515
Add warn message when trying to free an already freed page 2023-03-19 23:57:17 +02:00
Alex
feb1af5984
Update external memory tracker logging 2023-03-19 23:56:25 +02:00
Alex
6a492c6b07
Update external memory tracker messages 2023-03-16 17:20:12 +02:00
Alex
5ed0389ad1
Add tracker to paging allocation 2023-03-15 04:28:22 +02:00
Alex
f54b46149d
Update debugging code 2023-03-14 01:41:47 +02:00
Alex
3738e9b018
Small optimization 2023-03-12 04:27:41 +02:00
Alex
a101277991
Added memory tracker to serial port 2023-03-10 21:16:19 +02:00
Alex
8c87037069
Added Xalloc_StopOnFail 2023-03-09 06:42:08 +02:00
Alex
69518a172c
Improved log 2023-03-09 06:41:46 +02:00
Alex
5c91f23527
x32 is now compiling 2023-03-04 21:17:19 +02:00
Alex
aeb175f03b
Added memory block checks 2023-03-03 16:14:06 +02:00
Alex
392ebc9be2
Renamed "__no_instrument_function" 2023-02-27 22:19:40 +02:00
Alex
4519204580
Reimplemented Xalloc from scratch 2023-02-24 10:19:55 +02:00
Alex
419b5bee0d
Replaced "__sync_synchronize" with "__sync" 2023-02-18 04:13:49 +02:00
Alex
0fb62e52d2
Use correct instruction 2023-02-18 04:11:59 +02:00
Alex
f5a724145e
Debug messages for memory allocation 2023-02-18 04:09:33 +02:00
Alex
ae9f790301
Debug messages for memory allocation 2023-02-10 17:26:09 +02:00
Alex
3bc76edec0
Security fix for allocating pages for user-mode 2023-02-07 03:21:39 +02:00
Alex
a592b85ce5
Updated kernel (tl;dr: improved filesystem, tasking, loading files, etc..) 2023-02-06 19:35:44 +02:00
Alex
cfb69bf15a
Check for pointers 2022-12-29 04:58:30 +02:00
Alex
18f05c6d83
Updated memory manager 2022-12-26 08:40:09 +02:00
Alex
a9dacd1d21
Renamed "Tracker" to "MemMgr" because it could be used for shared memory and more useful features 2022-12-24 01:51:55 +02:00
Alex
865fa79f0b
Security fix 2022-12-22 01:42:35 +02:00
Alex
4febfad479
Fix "KPT = KernelPageTable;" in wrong place 2022-12-21 20:58:37 +02:00
Alex
cddf0426e3
Fixed compiler warnings 2022-12-21 20:05:57 +02:00
Alex
a677f3c159
Updated types 2022-12-21 00:43:51 +02:00
Alex
013b635524
Memory Tracker: If PageTable is nullptr, read the current one 2022-12-17 19:02:07 +02:00
Alex
a3664662f3
Updated StackGuard 2022-12-15 03:06:55 +02:00
Alex
ab7f20d5f5
Implemented memory tracker 2022-12-11 14:34:24 +02:00
Alex
224905ac06
Fixed vmm mapped framebuffer to the wrong address 2022-12-09 16:26:55 +02:00
Alex
f86777a856
KPT global variable 2022-12-06 09:30:09 +02:00
Alex
3454c9692f
Add flags to all page directories (as Intel 317080-003 doc says) 2022-12-06 01:27:00 +02:00
Alex
4188a465d2
Map address 0x0 to an empty page 2022-12-06 01:26:17 +02:00