Jeremy Soller
b26c3e0ae9
Make context name a RwLock
2021-04-28 20:03:05 -06:00
Jeremy Soller
f90033e0e1
Use PHYS_OFFSET instead of KERNEL_OFFSET to refer to the physmap
2021-04-13 20:38:54 -06:00
4lDO2
031496ff0d
Fix "Grant should not exist" errors.
...
This is done by making sure that when empty() is called on a context,
the grants Arc will be replaced with a new unused Arc, hence
decrementing the refcount. Previously this was only done when the
context was actually reaped, but since there is no guarantee as far as I
am aware about when this must happen, the grants could be completely
leaked, leading to the error.
2021-02-27 15:36:12 +01:00
4lDO2
c913c3be80
Use sysretq in usermode().
2021-02-15 19:53:24 +01:00
Jeremy Soller
6db78cce24
Use UTF-8 for all paths
2021-02-14 13:45:03 -07:00
Jeremy Soller
c19bd573b5
Switch Context::grants to RwLock
2021-02-13 13:06:13 -07:00
Jeremy Soller
2611985a38
Switch Context::actions to RwLock
2021-02-13 13:01:20 -07:00
Jeremy Soller
bfaf8438a1
Switch Context::files to RwLock
2021-02-13 12:57:53 -07:00
Jeremy Soller
55d2467420
Switch Context::cwd to using RwLock
2021-02-13 12:24:19 -07:00
Jeremy Soller
238702f7d1
Require UTF-8 for context name
2021-02-13 12:16:47 -07:00
Jeremy Soller
b9f4a915ea
Make context name a RwLock
2021-02-13 11:10:21 -07:00
Robin Randhawa
1e10cac3e1
aarch64: Increase storage for FP context to consider AArch64's needs
...
Brute-forcing this at present. Would be better to wrap this
conditionally for the architecture.
2021-01-28 16:51:50 +00:00
Robin Randhawa
4dbfaf3ec1
Nit: Add missing close brace in code comment
2021-01-27 17:19:37 +00:00
Robin Randhawa
4a215c7c2c
aarch64: exception management and clone fixups
2021-01-26 18:17:09 +00:00
Robin Randhawa
78d1cd1798
syscall: process: empty: Use user-space specific page table
2021-01-21 11:53:35 +00:00
Robin Randhawa
f1db56f026
aarch64: clone: Further uspace and kspace mods
2021-01-18 21:55:42 +00:00
Robin Randhawa
9429032cec
aarch64: clone: Further clone_ret + tpidr_el0 fixes
2021-01-18 21:53:04 +00:00
Robin Randhawa
fd0336692d
aarch64: clone: Introduce kernel and user space specific mods
...
At present these are done 'wholesale' without any regard for x86_64.
That needs to change eventually.
2021-01-18 21:50:19 +00:00
Robin Randhawa
95bd8f2013
clone: Make stack manipulation arch specific
2021-01-17 10:26:49 +00:00
Robin Randhawa
ae3a55f5d1
Introduce a PageTableType enum to help distinguish User and Kernel Tables
2021-01-15 09:12:30 -07:00
Robin Randhawa
02c37d3fae
WIP: aarch64 rebase
2021-01-15 05:54:42 -07:00
Jeremy Soller
334584b3d5
Use rmm::PhysicalAddress and rmm::VirtualAddress directly
2021-01-09 21:16:11 -07:00
Jeremy Soller
f5ac405db6
Support for RMM
2020-11-27 16:49:39 +00:00
jD91mZM2
922b3d0437
Remove brk
2020-08-15 17:36:50 +02:00
jD91mZM2
da7b813fa9
Investigate why user heap isn't mapped
...
Took me way too long to spot this :D
2020-08-15 17:22:34 +02:00
Jeremy Soller
1a8f47330e
Add a message when user heap is not mapped, do not panic
2020-08-02 17:07:57 -06:00
jD91mZM2
ccc577b3a1
Abstract over finding nice addresses
2020-07-23 11:22:54 +02:00
jD91mZM2
57c167d2fa
Make grants be a BTreeSet
2020-07-22 15:09:28 +02:00
jD91mZM2
9c41424d3a
Apply suggestion to src/syscall/process.rs
2020-07-21 14:10:58 +00:00
jD91mZM2
2782a5a7a9
Apply suggestion to src/syscall/process.rs
2020-07-21 14:10:43 +00:00
jD91mZM2
07baf70c7a
Don't push interpreter as argv[0]
2020-07-20 11:09:56 +02:00
jD91mZM2
310a425c65
Merge branch 'master' into auxv
2020-07-18 12:19:11 +02:00
jD91mZM2
b00456dbb9
WIP: Continue trying to fix clone_ret
2020-07-16 13:46:53 +02:00
jD91mZM2
3bb234009a
WIP: Ensure clone_ret correctness
2020-07-15 11:43:17 +02:00
jD91mZM2
aa3279455d
Merge branch 'master' into auxv
2020-07-13 12:48:48 +02:00
jD91mZM2
4b8d2e45c6
Add AT_PHDR
2020-07-10 12:56:08 +02:00
jD91mZM2
3430eadc9a
Add auxiliery vector
2020-07-10 12:34:32 +02:00
bjorn3
7b76ab3356
Don't panic on mprotect for unmapped pages
2020-07-09 11:03:02 +02:00
jD91mZM2
039f7f5c83
Simplify EXEC catching
...
Instead of having a separate flag, let's reuse STOP_SINGLESTEP :)
I wasn't thinking enough when making this flag!
2020-07-07 14:16:42 +02:00
jD91mZM2
7fc49eed74
ptrace: Allow stopping on fexec
2020-06-22 13:11:32 +02:00
jD91mZM2
9c891384ea
Fix ptrace returning ENODEV when process exists
2020-06-16 13:42:04 +02:00
jD91mZM2
12f632837a
Misc proc code cleanup
2020-06-16 10:08:49 +02:00
4lDO2
e7d00d4735
Fix various kernel warnings.
2020-06-11 12:58:03 +02:00
Jeremy Soller
3c86af57b7
Allow contexts sharing process space to run on different CPUs
2020-04-19 08:46:50 -06:00
Jeremy Soller
fdf46d8043
Fix multi_core livelocks and add livelock debugging
2020-04-19 08:46:50 -06:00
Jeremy Soller
d4d14c78c3
Ensure page table locking at runtime
2020-02-12 20:34:49 -07:00
Jeremy Soller
7721a0a4c6
Fix assignment of cpu_id
2020-02-09 11:05:02 -07:00
Jeremy Soller
388ab2c87d
option -> opt
2020-02-09 09:50:40 -07:00
Jeremy Soller
72ea559da4
Do not log mprotects
2019-12-06 19:59:18 -07:00
Jeremy Soller
63e2a835e0
Fix clippy.sh script and fix a number of clippy warnings
2019-10-06 11:04:06 -06:00