4lDO2
f973bc4128
Profiling
2023-12-17 00:49:24 +01:00
Jeremy Soller
a285863335
Update syscall
2023-12-16 11:12:21 -07:00
Jeremy Soller
364896c6e7
Update syscall
2023-12-16 11:10:28 -07:00
4lDO2
dae3726057
Update syscall
2023-12-15 15:14:40 +01:00
4lDO2
ee3aafa1d9
Remove PhysBorrowed hacks.
2023-12-15 15:14:40 +01:00
4lDO2
52df9dd1bc
Remove the AddrSpace ref when exiting, not reaping.
2023-12-15 15:14:40 +01:00
4lDO2
d4a120188f
Ensure PhysBorrowed iff !alloc-owned, vice versa.
...
This is allowed now that the old physalloc/physfree syscalls have been
removed.
2023-12-15 15:14:40 +01:00
4lDO2
eda462fd11
Remove SYS_PHYSMAP.
2023-12-15 15:14:40 +01:00
4lDO2
875a130843
Remove SYS_PHYSALLOC* and SYS_PHYSFREE.
2023-12-15 15:14:40 +01:00
4lDO2
a42e406569
Fix contiguous mmap.
2023-12-15 15:14:40 +01:00
4lDO2
cd19831ffb
Improved options for memory: files.
2023-12-15 15:14:40 +01:00
4lDO2
77400f63ee
Add a memory: file for phys-contiguous mmaps.
2023-12-15 15:14:36 +01:00
Ivan Tan
ebf96fa843
aarch64: fix dtb scheme
2023-12-14 03:34:37 +00:00
Jeremy Soller
1cc5804333
Allow CPUs to take any context
2023-12-13 17:20:43 -07:00
Jeremy Soller
4386e0716d
Missed change for last commit
2023-12-13 17:20:21 -07:00
Jeremy Soller
fbaa4306e3
Add unblock_no_ipi function and use in context switch
2023-12-13 17:19:43 -07:00
bjorn3
2d065083df
Use HashMap instead of BTreeMap where possible
...
This shrinks the kernel from 905840 bytes to 862408 bytes.
2023-12-13 19:55:20 +01:00
4lDO2
78beae5c92
Fix aarch64
2023-12-13 11:08:12 +01:00
4lDO2
d531c6f1bf
Context switch correctly in UserInner::call.
2023-12-13 11:08:12 +01:00
4lDO2
6b642d62a6
Disable trigger_debugger again.
2023-12-13 11:08:12 +01:00
4lDO2
88508a2cb7
Remove as_user_inner.
2023-12-13 11:08:12 +01:00
4lDO2
3a35338aa7
Remove as_{filetable,sigaction,addrspace}.
2023-12-13 11:08:12 +01:00
4lDO2
f3ce5b167d
Make proc: and thisproc: global.
2023-12-13 11:08:11 +01:00
4lDO2
3be015ce4d
Make sys: global.
2023-12-13 11:08:11 +01:00
4lDO2
fe0e3103f4
Make itimer: global.
2023-12-13 11:08:11 +01:00
4lDO2
87b0c568a0
Make time: global.
2023-12-13 11:08:11 +01:00
4lDO2
f6002e839d
Centralize global scheme constructors.
2023-12-13 11:08:11 +01:00
4lDO2
ce313ba28d
Add global scheme IDs to map, for now.
2023-12-13 11:08:11 +01:00
4lDO2
d9c2443ae3
Make irq: a GlobalScheme.
2023-12-13 11:08:11 +01:00
4lDO2
10e86ea89d
Hardcode global scheme IDs.
2023-12-13 11:08:11 +01:00
4lDO2
679c26c03b
s/Arc<dyn KernelScheme>/enum, but deref as dyn.
2023-12-13 11:08:07 +01:00
bjorn3
a7165f822f
Switch from the memoffset crate to the offset_of feature
...
The memoffset crate requires const_refs_to_cell to work in const
contexts. This feature has some known issues around it's semantics. The
offset_of feature however is currently on track for stabilization.
2023-12-12 20:21:31 +00:00
bjorn3
2aea52a94b
Remove the sole usage of the const_option feature
2023-12-12 20:21:31 +00:00
bjorn3
82a87be7d5
Avoid usage of the unstable Allocator trait
...
And also optimize init_sections to use the fact that allocate_frames
returns zeroed frames.
2023-12-12 20:21:31 +00:00
bjorn3
5bce3a5bb5
Move -z max-page-size from the target spec to the cookbook
2023-12-12 18:15:05 +01:00
bjorn3
3188a44b23
Don't use target_family="redox" for the kernel
...
This cfg is meant for redox userspace programs.
2023-12-12 18:14:18 +01:00
bjorn3
2e689eb5d4
Remove unnecessary no_mangle and extern "C" from the panic handler
...
#[panic_handler] handles all linkage related details.
2023-12-12 15:01:29 +00:00
bjorn3
c99e582c86
Use the default panicking alloc error handler
2023-12-12 15:01:29 +00:00
bjorn3
6b1c154847
Use kernel_executable_offsets on AArch64 and x86
2023-12-12 15:01:29 +00:00
bjorn3
017702d3d2
Remove a lot of dead code
2023-12-12 15:01:29 +00:00
bjorn3
00d0b8fb6b
Remove all pub from main.rs
...
This will cause rustc to emit warnings for all unused items.
2023-12-12 15:01:29 +00:00
bjorn3
5ce7d1df8a
Remove unnecessary extern crate item
...
This was only necessary in the 2015 edition
2023-12-12 15:01:29 +00:00
bjorn3
6045b0cc59
Remove unused feature gates
2023-12-12 15:01:29 +00:00
Jeremy Soller
4e3103a48a
x86: fix enter/exit gs and usercopy asm
2023-12-11 15:25:54 -07:00
Ivan Tan
1f1a57e1f7
support userspace program ioremapping device memory
2023-12-11 16:07:53 +00:00
Ivan Tan
9b6197d686
aarch64: code clean up
2023-12-11 16:07:53 +00:00
Ivan Tan
a8329956ca
support raspi3b+ serial && uart interrupt
2023-12-11 16:07:53 +00:00
Ivan Tan
44b14f994a
fix qemu-arm64 run error
2023-12-11 16:07:53 +00:00
Ivan Tan
1c1c541f0e
bringup raspi3b+, add device memory, disable uart init
2023-12-11 16:07:53 +00:00
Ivan Tan
bfbf435546
draft: aarch64: add irq_bcm2835. Need refactoring
2023-12-11 16:07:53 +00:00