Jeremy Soller
849b854bd0
Implement usermode for aarch64
2022-08-20 09:34:12 -06:00
Jeremy Soller
9ca2484079
Get aarch64 kernel to boot to the point of needing context switch
2022-08-19 21:40:04 -06:00
Jeremy Soller
82ad6e2fa7
Remove devmap region from aarch64, use physmap instead
2022-08-19 21:01:10 -06:00
Jeremy Soller
97b4d31355
Match aarch64 PHYS_OFFSET with x86_64
2022-08-19 20:54:02 -06:00
Jeremy Soller
49fcafac45
Fix building on aarch64
2022-08-19 16:12:42 -06:00
Jeremy Soller
80fc1d7fd4
Remove phys_offset stack hack
2022-08-18 15:03:35 -06:00
Jeremy Soller
6b2439f1b9
Improved 32-bit x86 support
2022-08-18 14:57:15 -06:00
Jeremy Soller
472081f8ba
Save/restore GS segment on interrupt
2022-08-17 21:13:35 -06:00
Jeremy Soller
4bd137f36e
Fixes for x86 32-bit
2022-08-17 10:48:23 -06:00
Jeremy Soller
ac70c76922
Fix TSS and IDT structures on 32-bit x86
2022-08-12 09:03:56 -06:00
Jeremy Soller
9c78219a6a
Use 32-bit TSS for x86 32-bit
2022-08-12 08:44:05 -06:00
Jeremy Soller
d33ff704ba
Implement usermode for x86 32-bit
2022-08-12 08:21:49 -06:00
Jeremy Soller
7a390c2a1d
Sync some paging code for aarch64 with x86_64
2022-08-01 08:25:33 -06:00
Jeremy Soller
358abbd40f
Fix copy paste error and update rmm
2022-07-29 18:53:27 -06:00
Jeremy Soller
07015d17ba
Sync x86 and x86_64
2022-07-29 18:49:55 -06:00
Jeremy Soller
5d55d4eb87
Fix warnings
2022-07-29 18:33:54 -06:00
Jeremy Soller
be12d0f1bd
Add initial i686 arch module
2022-07-29 18:12:49 -06:00
Jeremy Soller
e99cbcf5d2
Fixes for compiling aarch64
2022-07-29 18:06:53 -06:00
Jeremy Soller
0c80643077
Make graphical_debug arch independent and fix lots of warnings
2022-07-29 15:56:44 -06:00
Jeremy Soller
87acffe859
Fix kernel TLS permissions in INIT_GDT
2022-07-29 09:28:13 -06:00
4lDO2
5bbfdcda6b
Add mmap-min-addr and support unmapping parent PTs.
2022-07-27 10:52:45 +02:00
4lDO2
bf82387f3b
Fix KernelMapper unlocking code.
2022-07-27 10:52:29 +02:00
4lDO2
486d296d6d
Remove old x86_64 paging code, migrate to RMM.
2022-07-27 10:52:23 +02:00
4lDO2
302e55098c
Migrate misc x86_64 parts to RMM.
2022-07-27 10:52:23 +02:00
4lDO2
1cdd462244
Move the initfs scheme to userspace.
2022-07-27 10:52:22 +02:00
4lDO2
283ada82a0
WIP: Remove SYS_CLONE (to be done in userspace).
2022-07-27 10:52:03 +02:00
4lDO2
563121596d
Fix running on multi_core.
...
Turns out the problem all along was that the ActivePageTable was never
dropped in usermode_bootstrap. So as soon as any other hardware thread
tried to do page table business, it deadlocked!
2022-07-27 10:51:45 +02:00
4lDO2
6e5015dcab
WIP: Add necessary interfaces for setuid/setgid.
2022-07-27 10:51:45 +02:00
4lDO2
15b029de36
Fix everything all the way to booting to desktop.
2022-07-27 10:51:45 +02:00
4lDO2
e6e1348072
Implement exec, and change UserGrant allocator.
2022-07-27 10:51:44 +02:00
4lDO2
846318e716
WIP: Attempt implementing fexec in userspace.
2022-07-27 10:51:43 +02:00
4lDO2
67edfbfc42
Remove the unused USER_HEAP_PML4.
2022-07-27 10:50:53 +02:00
Jeremy Soller
e88e7d6df1
Fix HPET on real hardware with better debugging
2022-04-25 15:08:09 -06:00
Jeremy Soller
7205dd7463
Unmap xAPIC page if already mapped
2022-04-12 20:17:27 -06:00
4lDO2
df37b1f634
External initfs
2022-04-11 21:09:08 +00:00
4lDO2
6255bea143
Update to latest toolchain.
...
Multi-core is slightly broken when using the latest version of spin
(0.9.2). I believe this is because Once used to do SeqCst loads/stores
everywhere, which might have made any possible data race much harder to
come by.
2022-03-12 17:10:36 +01:00
Jeremy Soller
80376a95dc
Improve graphical debug performance
2022-03-08 07:36:01 -07:00
Jeremy Soller
150717f18e
Enable local apic error interrupt on all processors
2022-03-07 13:56:46 -07:00
Jeremy Soller
b62496f50e
Debug HPET init
2022-03-07 13:56:17 -07:00
Jeremy Soller
7e2e7b8c21
Log reasons why HPET not used
2022-03-02 08:43:11 -07:00
Jeremy Soller
ae3bdea4bc
Update raw-cpuid
2022-03-01 18:12:06 -07:00
Jeremy Soller
d234df37c9
Improve RMM logging
2022-03-01 17:57:03 -07:00
Jeremy Soller
fe468aa1ab
Improvements for graphical debug and system76 EC debug
2022-03-01 16:25:15 -07:00
Jeremy Soller
2b5aa1f375
Cleanup of graphical debug to allow it to run much earlier
2022-03-01 15:50:26 -07:00
Jeremy Soller
ae0d48d9ab
Identity map ACPI
2022-03-01 12:52:06 -07:00
Jeremy Soller
81e700708d
Get memory areas as argument instead of from hardcoded pointer
2022-02-14 11:52:02 -07:00
Jeremy Soller
52ad689d37
Notify debug: readers of new input after all input is processed
2022-02-14 08:49:34 -07:00
Jeremy Soller
9e6664fb82
Fix additional page mapping in graphical debug
2022-02-10 14:48:52 -07:00
Jeremy Soller
1b2a28a4f0
Use FRAMEBUFFER variables for graphical debug
2022-02-07 17:38:52 -07:00
Jeremy Soller
413238a0a6
Prevent re-use of real mode areas, adjust areas instead of panic
2022-02-07 16:36:05 -07:00