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