Ivan Tan
eb0d48ac81
aarch64: add dtb scheme
2023-09-18 20:45:23 +00:00
4lDO2
e005619b78
Add alternative! macro.
2023-09-12 21:43:37 +02:00
4lDO2
45d1c256ea
Add LogicalCpuSet as a sched affinity mask.
2023-09-04 21:57:54 +02:00
4lDO2
3b725b2c27
Add logical CPU ID newtype, switch to u32.
2023-09-04 21:27:48 +02:00
4lDO2
ed2febb289
Disable thread-local storage entirely.
2023-08-08 12:01:42 +02:00
4lDO2
a78d6e42f8
Stop using #[thread_local] on x86_*.
2023-08-08 12:01:42 +02:00
4lDO2
7a3b453fbb
Declare __usercopy_{start,end} as functions.
2023-07-27 15:34:33 +02:00
4lDO2
d6e1732d44
Stop using feature(arbitrary_self_types).
2023-07-25 11:22:36 +02:00
4lDO2
99975c0e42
WIP: Ensure that Grant::borrow does not borrow nonpresent grants.
2023-07-25 10:52:20 +02:00
4lDO2
34b4512dbd
Refactor Grants.
...
Page alignment is now verified at compile time, for example.
2023-07-25 10:52:13 +02:00
bjorn3
e73e42be66
Replace intrinsics::abort() call in switch_finish_hook with safer abort mechanism
...
abort will still run the illegal instruction interrupt handler which may
not be safe.
2023-07-10 17:03:36 +02:00
bjorn3
7500ffaa5a
Remove uses of the arbitrary_self_types feature
2023-07-10 17:03:36 +02:00
bjorn3
174e38a851
Remove all uses of concat_idents!()
2023-07-10 17:03:34 +02:00
bjorn3
6803c2c33c
Remove a couple of unused feature gates
2023-07-10 17:02:01 +02:00
4lDO2
3ded84c945
Simplify x86_64 percpu and GSBASE calculation
2023-07-10 14:13:12 +00:00
4lDO2
56f88e80c2
Usercopy migration
2023-07-06 13:03:21 +00:00
bjorn3
8c0be73224
Build the kernel with panic=abort
...
This reduces the kernel size and avoids the need to define the
eh_personality lang item.
2023-07-04 19:14:36 +02:00
4lDO2
58c0c5d040
Remove one level of indirection for Context::name.
2023-05-27 14:27:34 +02:00
4lDO2
50b877d1aa
Remove ignored unaligned_references exception.
2023-04-30 18:13:55 +02:00
4lDO2
b73922bc95
Also fix outdated-#![feature(...)] warnings.
2023-02-24 23:16:57 +01:00
Jeremy Soller
cb58500b68
Update for new Rust
2023-02-11 14:50:55 -07:00
Jeremy Soller
679662c99e
Name bootstrap process
2022-08-17 13:25:13 -06:00
Jeremy Soller
5d55d4eb87
Fix warnings
2022-07-29 18:33:54 -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
f0d3e3281c
Use acpi on i686
2022-07-28 08:22:55 -06:00
Jeremy Soller
8db4596f73
Use x86 crate on i686 as well
2022-07-28 08:22:26 -06:00
4lDO2
99362f98d2
Add a better interface for modifying addrspaces.
2022-07-27 10:52:52 +02:00
4lDO2
1cdd462244
Move the initfs scheme to userspace.
2022-07-27 10:52:22 +02:00
4lDO2
6e5015dcab
WIP: Add necessary interfaces for setuid/setgid.
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
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
1aae949fc4
Support for getting live disk from bootloader
2022-02-10 15:49:34 -07:00
Jeremy Soller
7d9a33c63a
Add debugger (dumps all kernel state)
2022-02-10 14:10:04 -07:00
Jeremy Soller
515cab03eb
Fix a number of warnings
2021-11-29 20:01:27 -07:00
4lDO2
3eedbeb14d
WIP: Let userspace manage fsbase/gsbase and TLS.
2021-08-01 12:09:22 +02:00
4lDO2
3e5cf387d5
Use offset_of! in context::arch::switch_to.
...
This is definitely better than hardcoding the offsets!
2021-06-21 10:16:41 +02:00
4lDO2
1cf5f5ea22
Update dependencies to work with latest nightly.
2021-06-17 22:42:54 +02:00
4lDO2
bea6747643
Move all AML code to userspace.
...
Currently, there are some things that need to be set up by userspace
that the kernel previously did. These include telling firmware when the
I/O APIC is used, and most importantly, shutting down the system.
The former is not particularly important, but for the latter I think
that we could implement this using a "shutdown pipe". Essentially it
will be a file that triggers an event shutting down, which would be used
to notify to acpid that the kernel is requesting a shutdown.
2021-05-06 19:49:57 +02:00
Jeremy Soller
11a3315255
Re-enable acpi feature and gate it for x86_64 only
2021-05-04 08:33:00 -06:00
Jeremy Soller
2aa4d8caf5
Merge remote-tracking branch 'origin/aarch64-rebase' into riscv64
2021-05-03 20:52:59 -06:00
Jeremy Soller
ff8cb8abe8
Enforce must_use
2021-05-03 15:02:32 -06:00
Jeremy Soller
d331f72f2a
Use UTF-8 for all paths
2021-04-28 20:06:07 -06:00
Jeremy Soller
a9bee0bbdc
Require UTF-8 for context name
2021-04-28 20:03:12 -06:00
Jeremy Soller
b26c3e0ae9
Make context name a RwLock
2021-04-28 20:03:05 -06:00
Jeremy Soller
6db78cce24
Use UTF-8 for all paths
2021-02-14 13:45:03 -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