Robin Randhawa
78d1cd1798
syscall: process: empty: Use user-space specific page table
2021-01-21 11:53:35 +00:00
Robin Randhawa
6cacbb47f6
scheme: user: Use user-space specific pagt table
2021-01-21 11:53:07 +00:00
Robin Randhawa
591775874b
ptrace: with_context_memory: use user-space specific page table
2021-01-21 11:50:56 +00:00
Robin Randhawa
65448c2d48
aarch64: context: memory: Grant::map_inactive: Bugfix
...
When mapping one (from) virtual address range to another (to) virtual
address range, be mindful of which mapper type to use for each range.
Before this, the same mapper type was used for both ranges. This meant
that if from and to were different (as in not both kernel virtual
addresses or user virtual addresses) then it would appear that either
from or to was not mapped previously and the kernel would panic.
2021-01-21 11:41:26 +00:00
Robin Randhawa
75870a655f
aarch64: context: Add separate kspace and uspace page table getters
2021-01-21 11:40:02 +00:00
Robin Randhawa
3da345867a
aarch64: paging: Derive Debug, PartialEq for VirtualAddressType
...
This makes asserts on VirtualAddressType equality possible.
2021-01-21 11:38:46 +00:00
Robin Randhawa
452196b81f
aarch64: consts: Use the same USER_TLS_SIZE as x86_64
2021-01-21 11:37:32 +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
c188a60871
aarch64: Fix clone_ret
...
FIXME: Explain the magic numbers here later.
2021-01-18 21:47:28 +00:00
Robin Randhawa
95bd8f2013
clone: Make stack manipulation arch specific
2021-01-17 10:26:49 +00:00
Robin Randhawa
ae0aebd036
aarch64: clone: Return from clone syscall
...
No CLONE_STACK functionality yet.
2021-01-17 10:12:42 +00:00
Robin Randhawa
67ec6c23e7
aarch64: Move tpidr_el0 setup from spawn to switch
2021-01-17 10:09:03 +00:00
Robin Randhawa
67d72532a9
aarch64: usermode: Remove tpidr_el0 manipulation
...
Was using the incorrect USER_TLS_OFFSET instead of USER_TCB_OFFSET. In
any case, this is better done in process::clone.
2021-01-17 10:06:04 +00:00
Robin Randhawa
3585f620b0
aarch64: clone: Fix incorrect stack offset in clone_ret
2021-01-17 10:03:50 +00:00
Robin Randhawa
208fb681f4
aarch64: vectors: Manage unhandled exceptions
...
So we can more clearly see when things go wrong.
2021-01-17 10:01:34 +00:00
Jeremy Soller
17fd135017
Merge branch 'pagetabletype-and-misc-fixes' into 'aarch64-rebase'
...
Pagetabletype and misc fixes
See merge request redox-os/kernel!158
2021-01-15 19:50:13 +00:00
Robin Randhawa
5bc9dea242
aarch64: context::switch: update the CONTEXT_SWITCH_LOCK
2021-01-15 19:03:42 +00:00
Robin Randhawa
6677cfbf1e
aarch64: Make interrupt::pause use nop so we can move ahead before interrupts are enabled
2021-01-15 19:02:43 +00:00
Robin Randhawa
825bc4a02d
aarch64: spawn: split out arch specific mods
2021-01-15 09:12:30 -07:00
Robin Randhawa
14d79927af
aarch64: Add a set_tcb method to setup tpidr_el0
2021-01-15 09:12:30 -07: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
76129ddf75
aarch64: Mirror PRESENT and VALID bits in Page and Table descriptors
2021-01-15 15:54:25 +00:00
Robin Randhawa
c5e077546a
aarch64: spawn: split out arch specific mods
2021-01-15 15:51:47 +00:00
Robin Randhawa
e0a7471cf8
aarch64: Add a set_tcb method to setup tpidr_el0
2021-01-15 15:50:00 +00:00
Robin Randhawa
9c3f6e3660
Introduce a PageTableType enum to help distinguish User and Kernel Tables
2021-01-15 15:49:04 +00:00
Jeremy Soller
bdea7f553a
Remove PRESENT flag from aarch64 descriptors
2021-01-15 06:57:02 -07:00
Jeremy Soller
5f8b004476
Fix typo in InterruptStack parameter
2021-01-15 06:56:36 -07:00
Robin Randhawa
02c37d3fae
WIP: aarch64 rebase
2021-01-15 05:54:42 -07:00
Jeremy Soller
6c4c19a95c
Move consts to arch
2021-01-12 19:57:42 -07:00
Jeremy Soller
ea6b1e7f8b
Update redox_syscall to 0.2.4
2021-01-11 07:01:05 -07:00
Jeremy Soller
334584b3d5
Use rmm::PhysicalAddress and rmm::VirtualAddress directly
2021-01-09 21:16:11 -07:00
Jeremy Soller
ccddabadf7
Make x86 specific dependencies, x86 specific
2021-01-09 20:12:59 -07:00
Jeremy Soller
e771e6a4d9
Reduce duplication in context::switch
2020-12-27 20:03:13 -07:00
Jeremy Soller
9033902830
Better messaging about which timer is used
2020-12-23 10:33:09 -07:00
Jeremy Soller
04cc8a2d9c
Simplify reserved memory hack
2020-12-23 09:55:03 -07:00
Jeremy Soller
7355ae1671
Hack to ensure kernel is mapped even if it uses reserved memory
2020-12-23 09:46:34 -07:00
Jeremy Soller
f5ac405db6
Support for RMM
2020-11-27 16:49:39 +00:00
Jeremy Soller
afa175f778
Merge branch 'jD91mZM2/kernel-remove-brk' into HEAD
2020-08-27 10:26:29 -06:00
Jeremy Soller
1baeb5a891
Format memory entries using hex
2020-08-27 09:43:39 -06:00
Jeremy Soller
45b48f8078
Merge branch 'fix-deprecate' into 'master'
...
Fix printing of deprecation warning
See merge request redox-os/kernel!151
2020-08-27 15:33:12 +00:00
Jeremy Soller
853b77e3a4
Unmap owned grants, use owned grants to calculate memory usage
2020-08-25 10:35:55 -06:00
jD91mZM2
5fc6acacc4
Fix printing of deprecation warning
2020-08-17 15:25:14 +02:00
Aaron Janse
dc6132dc06
elaborate error message for initfs chdir failure
2020-08-17 03:24:56 -07:00
Aaron Janse
dfcf5be778
use logging instead of println
2020-08-17 02:55:40 -07: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
jD91mZM2
78e5c71103
Deprecate the original fmap/funmap
...
The cool thing here is that we're temporarily binary compatible with the
old stuff, so if anyone would use an old version of redox_syscall we can
easily find them with these prints.
2020-08-14 15:18:47 +02:00
Jeremy Soller
2057b889ae
Merge branch 'log_experiment' into 'master'
...
Log experiment
See merge request redox-os/kernel!144
2020-08-09 13:01:39 +00:00