Commit Graph

  • dd232a3721 Fix compiler warnings Alex 2023-05-05 19:39:46 +03:00
  • f48511c6ff Implement fseek Alex 2023-05-05 19:19:44 +03:00
  • 8349339f32 Update errno macros Alex 2023-05-05 19:19:19 +03:00
  • 50a0857524 Implement file seek Alex 2023-05-05 19:19:05 +03:00
  • b0e0415b3e Track which core was used to schedule Alex 2023-05-05 18:45:28 +03:00
  • 59ebcdfa8e Print backtrace on deadlocks Alex 2023-05-05 18:21:31 +03:00
  • 953401c4b2 More progress on fork() support Alex 2023-05-05 17:34:00 +03:00
  • 72918cdc18 Rewrite syscall stub and SyscallsFrame structure Alex 2023-05-05 17:33:33 +03:00
  • 2b44ad7d75 Fix compiler warning on syscall functions Alex 2023-05-05 17:32:33 +03:00
  • 39c3d4e2f2 Add syscalls test Alex 2023-05-05 17:10:44 +03:00
  • d0ec077c09 Add gdb for init.elf Alex 2023-05-05 17:08:36 +03:00
  • 607d0dc048 Update doomgeneric submodule Alex 2023-05-05 17:07:52 +03:00
  • a280de7d73 Exit on fork() failure Alex 2023-05-05 17:07:35 +03:00
  • d472fddb61 Check if the thread pointer is valid before accessing it's data Alex 2023-05-04 22:42:14 +03:00
  • 71c9306828 Make syscall handler stub easier to debug Alex 2023-05-04 22:40:18 +03:00
  • 533b945e84 Save/Restore shadow GS too while scheduling tasks Alex 2023-05-04 22:39:37 +03:00
  • 7abbc51d99 fixme Alex 2023-05-04 05:09:44 +03:00
  • 4c224557d1 Fix InitDSDT called while APIC wasn't initialized Alex 2023-05-04 05:09:33 +03:00
  • 87c7e0f286 If filename is invalid, fopen should return NULL Alex 2023-05-04 05:01:20 +03:00
  • f4ca629a8f Cleanup code Alex 2023-05-04 05:00:47 +03:00
  • 4953000370 Workaround for errno Alex 2023-05-04 04:59:19 +03:00
  • 159fd7506a Do not accept invalid kernel private object Alex 2023-05-04 02:39:40 +03:00
  • d7427ff2fa Make sure InterpreterPath has \0 character by default Alex 2023-05-04 02:39:13 +03:00
  • 7c51807812 Update init code Alex 2023-05-03 06:40:55 +03:00
  • cf3a5599a4 Update libc Alex 2023-05-03 06:40:31 +03:00
  • f01eed8dd2 Update libs header path Alex 2023-05-03 06:40:12 +03:00
  • 5a017b6626 Stub shell Alex 2023-05-03 06:39:20 +03:00
  • 2523ad0911 Update echo program Alex 2023-05-03 06:38:49 +03:00
  • 850415b559 Create "bin" directory Alex 2023-05-03 06:38:33 +03:00
  • 61aea6aa8d fork() stub and QoL improvements Alex 2023-05-03 06:37:39 +03:00
  • c4798a69b1 Update code Alex 2023-04-30 21:38:20 +03:00
  • abb9ff0517 Update linkers Alex 2023-04-30 21:26:57 +03:00
  • 6e6d22403c Fix flawfinder workflow Alex 2023-04-30 20:51:28 +03:00
  • 2fbb8e3df2 Add multiboot stub (currently broken) Alex 2023-04-30 20:01:38 +03:00
  • 4e8599969b Update loader Alex 2023-04-30 02:49:19 +03:00
  • cdfbbf6eab Debug memory usage before jumping to kernel Alex 2023-04-29 07:38:45 +03:00
  • 1a3bdbb843 Display &elf->sections too Alex 2023-04-29 07:02:57 +03:00
  • ea1b0bb72a Test kernel bootstrap Alex 2023-04-29 06:52:22 +03:00
  • 5e81421ec6 Add Elf32_Phdr Alex 2023-04-28 23:06:48 +03:00
  • 52f506e882 Remove multiboot2 boot code Alex 2023-04-27 05:06:07 +03:00
  • 5893030f32 Update TODO Alex 2023-04-25 05:30:38 +03:00
  • 920cc9e74a Wrong SMBIOSProcessorInformation structure Alex 2023-04-25 05:30:28 +03:00
  • c1eaabf97b Bug fixes Alex 2023-04-25 05:14:12 +03:00
  • 299c919d1d Add UserTime and KernelTime tracker Alex 2023-04-25 05:12:58 +03:00
  • faa781a9ca Cleanup init Alex 2023-04-23 22:18:14 +03:00
  • 1000a57531 Fix std file operations Alex 2023-04-23 22:18:06 +03:00
  • f740c1e736 Fix compiler warning Alex 2023-04-23 22:17:43 +03:00
  • 0c24ad31ae Update doomgeneric submodule Alex 2023-04-23 21:38:50 +03:00
  • 43aad488a7 Update libc implementation Alex 2023-04-23 21:38:36 +03:00
  • 6deb37fbfe Compile doom Alex 2023-04-23 21:38:12 +03:00
  • 7b31e421bc Update Kernel submodule Alex 2023-04-23 08:21:37 +03:00
  • 1c202cdda8 Do not compile ExtMemDbg Alex 2023-04-23 08:21:18 +03:00
  • 03b667f5c0 Fix i386 and aarch64 compilation issues Alex 2023-04-23 07:55:27 +03:00
  • efc16409a6 QoL improvements Alex 2023-04-23 07:51:05 +03:00
  • cd0a470e1d Fix a bug where GetCurrentProcess returned null inside DSDT Alex 2023-04-23 07:50:09 +03:00
  • f41faf0fea Display seconds since boot in kernel messages Alex 2023-04-23 07:33:14 +03:00
  • 8471126696 Change "GetMillisecondsSinceClassCreation" to "GetNanosecondsSinceClassCreation" Alex 2023-04-23 07:29:08 +03:00
  • fcbb298077 Fix compiler warnings Alex 2023-04-23 07:02:24 +03:00
  • a73a49094c Add TSC timer stub Alex 2023-04-23 06:29:31 +03:00
  • dc6fd148fc Reserve more pages for SMP trampoline Alex 2023-04-23 06:28:12 +03:00
  • 89d747e52c Update timing implementation Alex 2023-04-23 05:30:58 +03:00
  • a1fa69b39d Update github workflow Alex 2023-04-21 19:06:32 +03:00
  • 0f85f34657 Update submodules Alex 2023-04-21 19:04:49 +03:00
  • 1e7632657e Do not load AHCI driver if the debugger is attached Alex 2023-04-21 18:54:31 +03:00
  • 7e201e0958 Update kernelctl syscall Alex 2023-04-21 18:53:09 +03:00
  • 8ea508fa48 Update sysbase.h Alex 2023-04-21 18:52:57 +03:00
  • 1eb41e4977 Update init envp Alex 2023-04-21 18:35:58 +03:00
  • d76585cce3 Implement file syscalls Alex 2023-04-21 18:32:43 +03:00
  • dc7b1fc4c9 Rework virtual filesystem implementation Alex 2023-04-21 18:32:20 +03:00
  • 52f39a9931 Fix wrong file syscall usage Alex 2023-04-21 18:31:51 +03:00
  • f2eab6c64f Fix elf loading Alex 2023-04-21 17:47:09 +03:00
  • 96a27f7bc8 Update syscall doc functions Alex 2023-04-21 17:46:11 +03:00
  • e5b83f6b72 Fix multiple bugs throughout the codebase Alex 2023-04-21 17:25:00 +03:00
  • baacbbdbd7 Fix elf interpreter Alex 2023-04-20 08:07:39 +03:00
  • 41bdbada31 Update todo Alex 2023-04-20 04:07:07 +03:00
  • 069386b0f2 Add vscode cpp properties Alex 2023-04-20 03:25:42 +03:00
  • 5d0cc519ae Check if ATA is present Alex 2023-04-20 03:25:21 +03:00
  • 0eb8ba0f69 Fix bug causing vector removal to skip elements Alex 2023-04-20 03:24:23 +03:00
  • fea5485958 todo MB2MemoryMapper.cpp Alex 2023-04-19 04:17:11 +03:00
  • ad1bcdab47 Better debug info Alex 2023-04-19 00:50:29 +03:00
  • ecc19f4df0 Reserve all pages and then unreserve available pages Alex 2023-04-19 00:50:09 +03:00
  • b15f738e16 Optimize RNG functions Alex 2023-04-16 22:05:02 +03:00
  • 37f5b77421 Organize driver binding files Alex 2023-04-11 12:41:50 +03:00
  • 411b468f71 Optimize memory usage Alex 2023-04-11 12:06:32 +03:00
  • c563bb395e Default scheduler should be multi Alex 2023-04-11 11:54:17 +03:00
  • db2de2948e Rename kernel files Alex 2023-04-11 11:47:53 +03:00
  • 69bfc7d9ed Kernel processes should have IsCritical flag enabled by default Alex 2023-04-11 11:42:12 +03:00
  • fa4713fdff Fix kernel crash after an interrupt occurs on the BSP Alex 2023-04-11 11:30:37 +03:00
  • 046c693a52 Use an enum to specify what ist to use Alex 2023-04-11 11:28:35 +03:00
  • 78f4bdd6a8 Refactored code to use {} initialization instead of dynamic allocation with 'new' in disk manager class Alex 2023-04-10 06:24:44 +03:00
  • 41dafe32fb Move all std related headers to "include_std" Alex 2023-04-10 06:08:58 +03:00
  • e414804445 Test assert macro Alex 2023-04-10 06:08:30 +03:00
  • c8157a828a Sleep between frames to have a constant frame rate Alex 2023-04-10 06:08:12 +03:00
  • 70e11f17e7 Implement std::atomic and remove the old implementation Atomic and rename vector.hpp to vector Alex 2023-04-10 05:29:41 +03:00
  • b4dbf2c281 QoL and bug fixes Alex 2023-04-10 03:11:46 +03:00
  • 061c2ef1aa Update submodules Alex 2023-04-07 05:29:28 +03:00
  • c20aae9504 Fix elf interpreter (less broken) Alex 2023-04-07 05:28:38 +03:00
  • 78494d58eb Fix stub lib Alex 2023-04-07 05:28:13 +03:00
  • 25aa9ff6a6 Fix compilation issues on i386 and aarch64 Alex 2023-04-07 05:27:02 +03:00
  • 98c137566d Replace __attribute__ with a macro from types.h Alex 2023-04-07 05:22:14 +03:00