Commit Graph

1617 Commits

Author SHA1 Message Date
Jeremy Soller 4cd76ea9e3 arch/x86: sync LogicalCpuId changes 2023-09-09 12:31:04 -06:00
Jeremy Soller a4d0960b3f Update redox syscall 2023-09-08 11:16:53 -06:00
4lDO2 6d65a93606 Remove live scheme. 2023-09-08 01:57:34 +00:00
Jeremy Soller 40a3601ca5 Update syscall 2023-09-07 16:17:57 -06:00
4lDO2 eeb0d8c1e6 Unify Interrupt{,Error}Stack. 2023-09-06 22:45:29 +02:00
4lDO2 c4a5abb34a Remove AtomicSchemeId. 2023-09-06 09:22:59 +02:00
4lDO2 126c7b7d8a Pass scheme ID to UserInner cleaner. 2023-09-06 09:21:53 +02:00
4lDO2 0d4f3125cd Use Once<SchemeId> for debug:, simplify other Once. 2023-09-06 08:58:59 +02:00
4lDO2 27d350955a Replace atomic with Once<SchemeId> for irq: 2023-09-06 08:49:37 +02:00
4lDO2 2862f7abb5 Once<SchemeId> for serio, simplify queue globals. 2023-09-06 08:48:22 +02:00
4lDO2 16cb32b178 Make WaitQueue::new() const fn. 2023-09-06 08:47:52 +02:00
4lDO2 68b03d69c0 Downgrade int_like const fn default to trait. 2023-09-06 08:46:58 +02:00
4lDO2 f025ece614 Replace from/into with get/new when necessary. 2023-09-06 08:38:10 +02:00
4lDO2 9d742387ac Replace int_like from/into with get/new, impl From. 2023-09-06 08:37:13 +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 45e1eb7ba4 Set IA32_TSC_AUX if present. 2023-09-04 21:07:30 +02:00
4lDO2 303c96494c Improve sysretq checks. 2023-09-03 15:50:28 +02:00
4lDO2 ad02f5cbba Remove SYS_PIPE2. 2023-09-01 17:17:15 +02:00
Jeremy Soller da6e9fd8d1 Merge branch 'ivan/raspi3b' into 'master'
aarch64: init serial port by parsing dtb file

See merge request redox-os/kernel!241
2023-08-12 13:40:24 +00:00
Ivan Tan ca6699a11e aarch64: init serial port by parsing dtb file 2023-08-12 12:45:50 +08:00
Jeremy Soller 4d7d86d47c Merge branch 'mvk2' into 'master'
Set relocation-model=static

Closes #107

See merge request redox-os/kernel!240
2023-08-12 00:57:46 +00:00
4lDO2 cbd02a8489 Set relocation-model=static 2023-08-12 00:57:45 +00:00
Jeremy Soller 652aa4f1ac Merge branch 'no_more_tls' into 'master'
Replace #[thread_local]

See merge request redox-os/kernel!239
2023-08-09 14:18:16 +00:00
4lDO2 de23cd447e Fix aarch64 build. 2023-08-08 12:01:43 +02:00
4lDO2 28d4e60beb Set relocation-model=static for i686. 2023-08-08 12:01:43 +02:00
4lDO2 0dd464d428 Unset TLS model on i686. 2023-08-08 12:01:42 +02:00
4lDO2 ca92eda5e6 Remove TLS on aarch64 too. 2023-08-08 12:01:42 +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 bdd5c954dc Move PIT_TICKS to context::switch. 2023-08-08 12:01:42 +02:00
4lDO2 0c90802ae0 Fix RaiiFrame deallocation. 2023-08-08 11:57:57 +02:00
Jeremy Soller 5cabe38a78 Merge branch 'mmu' into 'master'
Demand paging

See merge request redox-os/kernel!238
2023-08-07 15:36:58 +00:00
4lDO2 4688090dea Fix RaiiFrame typo. 2023-08-03 16:46:42 +02:00
4lDO2 8f98d5b987 Extend mremap, eager mappings for real hardware. 2023-08-03 12:37:58 +02:00
4lDO2 8af63e3aae Update syscall 2023-08-03 11:50:02 +02:00
4lDO2 c7714992f3 Fix clone_grant_using_fmap test. 2023-08-02 14:17:26 +02:00
4lDO2 2070fa44b7 Fix warnings. 2023-08-02 13:07:49 +02:00
4lDO2 05a9530ac7 Temporarily disable CoW fmaps. 2023-08-01 17:29:36 +02:00
4lDO2 ef879b35ba Update RMM. 2023-08-01 15:52:34 +02:00
4lDO2 34708bd1be Temporarily disable MAP_LAZY. 2023-08-01 15:44:41 +02:00
4lDO2 fe88b23d09 Use a single cow zeroed page for RO maps + eager mapping. 2023-08-01 13:11:00 +02:00
4lDO2 1e670645e4 Bypass kernel heap for storing PageInfo.
Since these are stored in arrays that are typically 512 KiB each
(i.e. which in turn typically store metadata for 128 MiB), they will
certainly be a page-size multiple, and large contiguous allocations are
allowed at least at boot time. Not only is the linked-list allocator
less efficient for that, but this change will also help reduce TLB
overhead.
2023-08-01 11:22:42 +02:00
4lDO2 8a8c04685e Merge adjacent frame sections. 2023-08-01 10:55:01 +02:00
4lDO2 0cdfb886c0 Fix debugger for x86_64, disable sc debug. 2023-07-28 13:40:00 +02:00
4lDO2 e28fef09e3 Improve aarch64 debugger. 2023-07-28 13:23:44 +02:00
4lDO2 d16569110e Don't mess up x18 in aarch64 exc handler. 2023-07-28 12:56:55 +02:00
4lDO2 ce35deed4b Support aarch64 page consistency checking. 2023-07-28 12:38:25 +02:00
4lDO2 f454df38eb Fix get_page_info. 2023-07-28 10:47:18 +02:00
4lDO2 ec9c24f841 WIP: aarch64 2023-07-27 19:05:33 +02:00