Commit Graph

1815 Commits

Author SHA1 Message Date
4lDO2 cfe153eb85 Fix section creation. 2024-03-22 13:25:57 +01:00
4lDO2 fe7244a8cd Ensure both set_next and set_prev are called. 2024-03-22 13:25:08 +01:00
4lDO2 2ba9ff720c Doubly-linked list. 2024-03-22 13:25:07 +01:00
4lDO2 0e8c187a50 WIP: Implement more of deallocate_p2frame. 2024-03-22 13:21:52 +01:00
4lDO2 fc19d63af9 Store aligned addrs rather than PFNs in Frame. 2024-03-22 13:19:19 +01:00
4lDO2 fd86bb4860 Try to naturally align sections. 2024-03-22 13:18:07 +01:00
4lDO2 d5b1ad2cd5 WIP: Improve allocation performance 2024-03-22 13:17:59 +01:00
Jeremy Soller 8f09b4aa06 Do not use HPET on i686 2024-03-19 20:44:47 -06:00
4lDO2 66eb3361d3 Use saved regs instead of costly context.syscall. 2024-03-19 11:33:55 +01:00
4lDO2 4862977fa5 Optimize syscall fast path without tracing. 2024-03-18 20:38:11 +01:00
4lDO2 33f0fa8709 Fix IOBITMAP_SIZE type. 2024-03-18 14:34:32 +01:00
4lDO2 ff0bd96abd Improve readability 2024-03-18 14:26:00 +01:00
4lDO2 f7900df0e2 Update syscall 2024-03-18 10:27:51 +01:00
4lDO2 d62aada7ad Replace iopl with either empty or full PIO bitmap. 2024-03-18 10:27:51 +01:00
bjorn3 de137fe58d Fix acpi::init call for i686 2024-03-17 19:34:14 +01:00
bjorn3 e1f4bf4356 Misc arm device tree fixes 2024-03-17 19:28:58 +01:00
4lDO2 c583745ede Update syscall 2024-03-16 17:49:32 +01:00
4lDO2 4a3dc2dadd Fix the SIGKILL fd leak bug. 2024-03-16 17:49:32 +01:00
4lDO2 8e19da338b Fix kstop and kreset. 2024-03-16 17:49:31 +01:00
4lDO2 b97e733d94 Boot to desktop on aarch64. 2024-03-16 17:49:31 +01:00
4lDO2 57c3119a83 Fix i686 triple fault by always initializing int stack. 2024-03-16 17:49:31 +01:00
4lDO2 7d8ee58df3 Fix aarch64 link step. 2024-03-16 17:49:31 +01:00
4lDO2 5ff26ca967 Remove paste dependency completely. 2024-03-16 17:49:31 +01:00
4lDO2 5ecba176f4 Compile on aarch64. 2024-03-16 17:49:31 +01:00
4lDO2 776a140212 Fix rax being overwritten, and compile on i686. 2024-03-16 17:49:31 +01:00
4lDO2 239bd317e9 Fix signal ordering wrt syscall return. 2024-03-16 17:49:31 +01:00
4lDO2 13bc46a30b WIP: Implement scheme call cancelation. 2024-03-16 17:49:31 +01:00
4lDO2 e57573c428 Ensure signals can't start new contexts too early. 2024-03-16 17:49:30 +01:00
4lDO2 e012d6cfca Fix altstack calculation typo. 2024-03-16 17:49:30 +01:00
4lDO2 c7da5a438c Replace incorrect interrupt IA32-isms.
The code incorrectly documents and states that SS and RSP are
conditionally pushed, based on whether the privilege level changed. This
is correct on IA-32, but wrong on x86-64.
2024-03-16 17:49:30 +01:00
4lDO2 6d1e436d29 Remove some dead code. 2024-03-16 17:49:30 +01:00
4lDO2 0cf2ce632a Only call sig handler in switch, not after EINTR. 2024-03-16 17:49:30 +01:00
4lDO2 6bf8238fb1 Unset procmask for kmain. 2024-03-16 17:49:30 +01:00
4lDO2 5ac0be7ec1 Start with full procmask, fix signal delivery. 2024-03-16 17:49:30 +01:00
4lDO2 5336cbd9e5 Improve signal interfaces and implementation. 2024-03-16 17:49:30 +01:00
4lDO2 10256b331c Ensure only the kernel can return EINTR. 2024-03-16 17:49:26 +01:00
bjorn3 04f689cee7 Accept a single RSDP from the bootloader 2024-03-15 11:43:27 +01:00
bjorn3 08bb2537b5 Remove the deprecated bootstrap_entry field from KernelArgs 2024-03-15 10:59:58 +01:00
bjorn3 502016815d Avoid unaligned access in the XsdtIter
The pointers in the XSDT table are only 4 byte aligned.
2024-03-15 10:53:45 +01:00
bjorn3 d5e1188b8e Remove doc feature 2024-03-15 09:55:27 +01:00
bjorn3 672e36f401 Force the zero page of the kernel to be part of a segment
This will be necessary for limine and likely multiboot support. See the
comment in the linker scripts.
2024-03-14 21:22:13 +01:00
bjorn3 b5f94a5a2e Fix bug in the unmapping code
Previously trying to funmap an address after the start of the grant
would result in an overflow only caught when compiling the kernel with
debug assertions enabled.
2024-03-14 12:15:43 +01:00
bjorn3 e81113349c Fix get_page_info for frames in the last memory section 2024-03-13 19:41:24 +01:00
bjorn3 ecbc2b7e8d Directly read the bootstrap entry point from the initfs header 2024-03-11 14:26:08 +01:00
bjorn3 fb66a8628f Use PAGE_SIZE instead of hard coded constant 2024-03-10 21:39:55 +01:00
bjorn3 616c7d4398 Load the bootstrap blob at 4096 instead of 0
This way the NULL page can stay unmapped and the bootstrap code can
avoid UB when reading the initfs header (which is at the start of the
bootstrap code.
2024-03-10 21:14:46 +01:00
4lDO2 ec58d6c541 Compile on aarch64 as well. 2024-03-05 10:40:54 +01:00
4lDO2 d38d8b66bd Fix i686 compilation. 2024-03-05 10:26:57 +01:00
4lDO2 b35c9d1e62 Properly free phys-contiguous grants, TLB-delayed. 2024-03-04 19:03:01 +01:00
4lDO2 4e392d05e4 Delay cow() dealloc until after TLB shootdown. 2024-03-04 19:03:01 +01:00