Bananymous
|
36e5aa4683
|
LibC: fix INFINITY definition typo
|
2023-06-02 17:27:14 +03:00 |
Bananymous
|
7738050105
|
LibC: fix DIR typedef for C code
|
2023-06-02 17:26:38 +03:00 |
Bananymous
|
4bf11ec349
|
LibC: complex.h undefs I before defining it
|
2023-06-02 17:13:09 +03:00 |
Bananymous
|
d821012eed
|
LibC: mbstate_t is empty struct
|
2023-06-02 17:10:29 +03:00 |
Bananymous
|
35c6edd989
|
LibC: fix sig_atomic_t definition
|
2023-06-02 17:08:43 +03:00 |
Bananymous
|
633cb4f282
|
Kernel: VFS now has max link depth of 100
|
2023-06-02 12:50:40 +03:00 |
Bananymous
|
4d4d0e26a9
|
Kernel: Symlinks are now working
We still have to implement loop or depth detection
|
2023-06-02 11:43:46 +03:00 |
Bananymous
|
feea2d4024
|
BAN: Fix function call in Vector
|
2023-06-01 00:50:04 +03:00 |
Bananymous
|
0ffd2a5c1d
|
Kernel: Shell can now list symlinks
|
2023-06-01 00:25:53 +03:00 |
Bananymous
|
232fdcb82c
|
Kernel: add basic support for symlinks
|
2023-06-01 00:24:45 +03:00 |
Bananymous
|
0ccc23d544
|
Kernel: Shell opens standard files
|
2023-05-31 23:14:15 +03:00 |
Bananymous
|
789ca3db1a
|
BuildSystem: cmake creates /usr/bin
|
2023-05-31 23:13:53 +03:00 |
Bananymous
|
cb359a05dc
|
BuildSystem: link libraries when they change
This also fixed the need for manual linkin on firt build
|
2023-05-31 23:01:40 +03:00 |
Bananymous
|
14982c137a
|
Userspace: make test program link against libc on change
|
2023-05-31 22:36:47 +03:00 |
Bananymous
|
0acab11620
|
LibC: add execl
|
2023-05-31 22:36:26 +03:00 |
Bananymous
|
02f0239016
|
Kernel: Cleanup exec code
|
2023-05-31 22:36:05 +03:00 |
Bananymous
|
ab61b49aca
|
Kernel: Add SYS_EXEC syscall
|
2023-05-31 20:57:33 +03:00 |
Bananymous
|
4da1d6fd27
|
Kernel: Implement Process::exec()
|
2023-05-31 20:56:29 +03:00 |
Bananymous
|
909e847369
|
Kernel: Move userspace entry functions to Process instead of Thread
|
2023-05-31 19:31:10 +03:00 |
Bananymous
|
eafa09fecf
|
Kernel: boot.S maps GiB as single pdpte
|
2023-05-31 00:51:15 +03:00 |
Bananymous
|
8175348284
|
Kernel: Fix comment
|
2023-05-31 00:51:15 +03:00 |
Bananymous
|
b2832cb47a
|
Kernel: PageTable destructor works now
we are successfully booting higher half kernel now :)
|
2023-05-31 00:44:14 +03:00 |
Bananymous
|
9f499991c8
|
Kernel: PageTable::create_userspace() now works
|
2023-05-31 00:44:14 +03:00 |
Bananymous
|
9a416e8ae8
|
Kernel: kmalloc free error prints the pointer
|
2023-05-31 00:34:56 +03:00 |
Bananymous
|
911922c6a3
|
Kernel: RSDP location is now done with virtual addresses
|
2023-05-31 00:34:21 +03:00 |
Bananymous
|
1f2fd59ad5
|
Kernel: Physical range now calculates RAM with physical addresses
|
2023-05-31 00:33:44 +03:00 |
Bananymous
|
708d401d2c
|
Kernel: Heap gets multiboot pointer with P2V
|
2023-05-30 23:57:44 +03:00 |
Bananymous
|
ed0dcacab3
|
Kernel: Move V2P and P2V to Memory/Types.h
|
2023-05-30 23:57:03 +03:00 |
Bananymous
|
e86050f343
|
Kernel: PageTable::map_range_at maps correctly the last page
|
2023-05-30 23:56:07 +03:00 |
Bananymous
|
57f7da6ce1
|
Kernel: Booting with higher half kernel gets to Heap initialization
|
2023-05-30 22:21:12 +03:00 |
Bananymous
|
93e6455171
|
Kernel: start work on higher half kernel
|
2023-05-30 08:00:17 +03:00 |
Bananymous
|
8f38780197
|
Toolchain: lib gcc is wuild with mcmodel=large
|
2023-05-30 07:59:41 +03:00 |
Bananymous
|
341f7e41e5
|
LibC: Fix some headers to make gcc build again
|
2023-05-30 01:17:45 +03:00 |
Bananymous
|
265fe9c62e
|
Kernel: We now identity map full GiB in boot.S
The paging structure is pre-built so no unnecessary calculations are done
|
2023-05-30 00:08:52 +03:00 |
Bananymous
|
3b9d60d7cb
|
Kernel: Remove unused includes of CriticalScope
|
2023-05-29 21:15:55 +03:00 |
Bananymous
|
278b873e89
|
Kernel: Remove unnecessary usages of PageTableScope
This should be used as few times as possible since it calls 'cli'
|
2023-05-29 21:11:29 +03:00 |
Bananymous
|
e640344d7a
|
Kernel: Rename MMU to PageTable
This is more descriptive name for what it actually represents
|
2023-05-29 21:06:09 +03:00 |
Bananymous
|
7151bb86a8
|
Kernel/LibC: opening standard files is done in libc
|
2023-05-29 20:21:19 +03:00 |
Bananymous
|
2a34391b71
|
LibC: open() now just returns syscall(SYS_OPEN, ...)
errno is handled in syscall()
|
2023-05-29 20:19:17 +03:00 |
Bananymous
|
3d95cf02f3
|
Kernel: We can't lock the MMU lock in load()
It needs to be callable always by scheduler
|
2023-05-29 19:39:35 +03:00 |
Bananymous
|
dd3f34cb2c
|
Kernel: Make RecursiveSpinLock thread safe
also SpinLock is now implemented with gcc builtins
|
2023-05-29 19:38:09 +03:00 |
Bananymous
|
0c316ebfb2
|
Kernel: Add SYS_SLEEP
|
2023-05-28 22:34:48 +03:00 |
Bananymous
|
282bf24f65
|
Kernel: fork() now copies allocations through FixedWidthAllocator
|
2023-05-28 21:34:35 +03:00 |
Bananymous
|
f964f6be8d
|
Kernel: Move page macros to Types.h
|
2023-05-28 21:03:08 +03:00 |
Bananymous
|
0202ccec5f
|
Kernel: ISR will now crash userspace process instead of panicing kernel
|
2023-05-28 20:53:10 +03:00 |
Bananymous
|
636c308993
|
Kernel: fork() now copies allocation done through GeneralAllocator
|
2023-05-28 20:37:39 +03:00 |
Bananymous
|
6fdbe6f9c2
|
Kernel: Add bareboness fork() function
|
2023-05-28 18:08:49 +03:00 |
Bananymous
|
c19f4c019a
|
Kernel: Add invalidate() to MMU
|
2023-05-28 18:05:49 +03:00 |
Bananymous
|
83eb3dc0cb
|
Kernel: fix MMU::map_page_at()
We used to only reassign if flags changed
|
2023-05-28 17:57:05 +03:00 |
Bananymous
|
481c8406f3
|
LibC: fputs uses fputc instead of putc
|
2023-05-28 17:48:34 +03:00 |