Jeremy Soller
80b8382cd7
Fix aarch64 kfx size
2022-08-25 18:40:19 -06:00
Jeremy Soller
82ac7a66f7
Only save preserved regs in aarch64 context switch
2022-08-25 18:23:51 -06:00
Jeremy Soller
afd82ba4bb
Save/restore aarch64 FPU regs
2022-08-25 09:30:53 -06:00
Jeremy Soller
31680bf5b9
Do not set tpidr_el0 from kernel
2022-08-25 08:46:26 -06:00
Jeremy Soller
f7e8026494
Set aarch64 thread pointers
2022-08-24 19:21:36 -06:00
Jeremy Soller
b20a71113c
Implement aarch64 switch_to_inner using naked function
2022-08-24 13:24:37 -06:00
Jeremy Soller
0ed9f03317
Use push/pop scratch for aarch64 signal handler
2022-08-24 12:29:48 -06:00
Jeremy Soller
613968dc30
Use push/pop scratch for x86 signal handler
2022-08-24 11:39:31 -06:00
Jeremy Soller
113a7164bb
Use push/pup scratch for x86_64 signal handler
2022-08-24 11:11:50 -06:00
Jeremy Soller
c750ee26a8
Implement setting FS/GS offset on x86
2022-08-20 21:21:32 -06:00
Jeremy Soller
01e4bc899e
Fix compilation on x86
2022-08-20 18:11:57 -06:00
Jeremy Soller
9dd069c8ca
Support proc partially with aarch64
2022-08-20 14:45:45 -06:00
Jeremy Soller
44d5e6573a
Updated utable switching code for aarch64
2022-08-20 13:31:20 -06:00
Jeremy Soller
fe7def2797
Update to use TableKind on x86_64
2022-08-20 13:16:23 -06:00
Jeremy Soller
01df1c20da
Use TableKind everywhere
2022-08-20 13:06:52 -06:00
Jeremy Soller
c7e5466bd7
Fix aarch64 switch_to_inner functino definition
2022-08-20 09:15:26 -06:00
Jeremy Soller
157dbc7b4d
Convert aarch64 context switching to asm macro
2022-08-20 09:08:14 -06:00
Jeremy Soller
49fcafac45
Fix building on aarch64
2022-08-19 16:12:42 -06:00
Jeremy Soller
6b2439f1b9
Improved 32-bit x86 support
2022-08-18 14:57:15 -06:00
Jeremy Soller
c09be1770b
Use registers for switch_to_inner instead of stack
2022-08-18 09:09:11 -06:00
Jeremy Soller
4bd137f36e
Fixes for x86 32-bit
2022-08-17 10:48:23 -06:00
4lDO2
431407aff0
Remove SYS_CHMOD and cwd related syscalls/files.
2022-08-13 19:44:44 +02:00
Jeremy Soller
2191308d15
setup_new_utable for aarch64
2022-07-29 18:58:19 -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
059f2a0d07
Support ContextList::spawn on i686
2022-07-29 09:27:35 -06:00
4lDO2
f3faf33e3f
Add a workaround to treat bootstrap mem as owned.
2022-07-28 14:17:02 +02:00
4lDO2
99362f98d2
Add a better interface for modifying addrspaces.
2022-07-27 10:52:52 +02:00
4lDO2
5bbfdcda6b
Add mmap-min-addr and support unmapping parent PTs.
2022-07-27 10:52:45 +02:00
4lDO2
308c2cc711
Support modifying processes' sigactions.
...
This is, other than vfork, the last piece of functionality that the
previous clone() offered (CLONE_SIGHAND) which previously was not
implemented.
2022-07-27 10:52:29 +02:00
4lDO2
dc8ce1c22b
Partial: migrate context handling code to RMM.
2022-07-27 10:52:23 +02:00
4lDO2
8970ce1fe7
Benefit from addrspace abstraction in switch.
2022-07-27 10:52:22 +02:00
4lDO2
351d77ad9b
Improve floating point handling.
2022-07-27 10:52:22 +02:00
4lDO2
94578efd1e
Use alloc_zeroed when allocating FX.
2022-07-27 10:52:22 +02:00
4lDO2
4aea0cfd0c
Fix AddrSpace memory leak.
2022-07-27 10:52:22 +02:00
4lDO2
59d74689dc
Copy filetable more efficiently.
2022-07-27 10:52:22 +02:00
4lDO2
0b67997c7b
Fix "id == current" check in set_addr_space.
2022-07-27 10:52:21 +02:00
4lDO2
cb40eb3792
Support reading all grants and transferring grants.
2022-07-27 10:52:10 +02:00
4lDO2
b50495bfa5
WIP: Support clone in userspace
...
Everything seems to work for the most part, but now there are tons of
daemons which rely on syscall::clone, which is now implemented in relibc
:(
2022-07-27 10:52:04 +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
37f9b292f1
Add kfmap to fix properly reobtaining grants.
2022-07-27 10:51:45 +02:00
4lDO2
23f49414bd
Fix phys offset, lock grants correctly.
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
4d7da495f5
Fix "clone grant using fmap"
...
This does the same as the previous MR, but fixes the issue where the
parent process got the mapping (and at the wrong address) and not the
child process.
2022-04-11 21:31:36 +02:00