Commit Graph

1440 Commits

Author SHA1 Message Date
870d542f60 Remove the error of BlkFeatures::MQ to support multi-processor startup
Co-authored-by: Chuandong Li <lichuand@pku.edu.cn>
2024-07-30 10:24:09 +08:00
8acfc8eb6a Move CpuSet out of ostd::arch and implement this_cpu
Co-authored-by: Chuandong Li <lichuand@pku.edu.cn>
2024-07-30 10:24:09 +08:00
da9f55b01f Stop trying to catch panics except for unit tests 2024-07-29 22:46:32 +08:00
460234a18b Check userspace NULL pointers without triggering kernel page faults 2024-07-29 22:46:32 +08:00
91d524c19a Allow debugging with KVM enabled 2024-07-29 22:46:32 +08:00
42aac5ce8b Optimize the performance of page table un-mapping 2024-07-29 22:36:14 +08:00
862b64b786 Sanitize the mutability of page table metadata 2024-07-29 22:36:14 +08:00
819e8dacd5 Allow specifying initial page metadata when allocating 2024-07-29 22:36:14 +08:00
077a9ac3ab Add fcntl subcommand F_GETOWN/F_SETOWN 2024-07-29 22:25:24 +08:00
6ab3373f9b Add pipe benchmarks to workflow 2024-07-29 22:16:25 +08:00
45a5498c04 Add LMbench pipe test 2024-07-29 22:16:25 +08:00
c320552ae1 Remove clean_for_close/flush in FileLike 2024-07-29 22:13:02 +08:00
f57dcd814a Extend user heap limit to 64MB 2024-07-29 22:09:21 +08:00
cf1a488132 Fix typo in osdk manifest.md
Here "is" should be "are". Also, there are two "that"s which made the sentence structure less direct and potentially confusing.
2024-07-29 20:33:13 +08:00
fce5785af6 Fix socket lock IRQ behavior 2024-07-29 16:56:29 +08:00
a14ac1ccbf Fix socket lock ordering 2024-07-29 16:56:29 +08:00
3981cd63cd Wake up background polling thread when old_instant is 0
Co-authored-by: Ruihan Li <lrh2000@pku.edu.cn>
2024-07-29 16:56:29 +08:00
328ce9e92c Properly close sockets 2024-07-29 16:56:29 +08:00
94b23e077d Use relaxed ordering for polling instant 2024-07-29 16:56:29 +08:00
4df7654034 Repeat iface polling if necessary 2024-07-29 16:56:29 +08:00
12ed40578d Add /proc/meminfo support 2024-07-29 13:55:20 +08:00
ff525112d0 Revise the BlockDevice trait 2024-07-29 13:54:13 +08:00
e83e1fc01b Unpack states from Arc in UNIX sockets 2024-07-25 21:38:18 +08:00
8df51ab001 Move status from channels to pipes 2024-07-25 21:38:18 +08:00
d24c7f8b9c Remove dead code in pipe.rs 2024-07-25 21:38:18 +08:00
31d99c66c2 Unpack Arc<Endpoint> in UNIX sockets 2024-07-25 21:38:18 +08:00
7ee728e2c7 Fix robust list iteartion bug 2024-07-25 21:37:11 +08:00
9e57db7d54 [ext2] Introuce unified inode functions to read/write block(s) 2024-07-25 21:31:18 +08:00
b1cec501d8 [page_cache] Gap within one page should be filled with zeros in shrink case 2024-07-25 21:31:18 +08:00
0b8335c943 Add /proc/filesystems support 2024-07-25 13:21:37 +08:00
bb3f8f9c52 Cover debug assertions in intergration tests 2024-07-25 13:20:09 +08:00
3ae884081f Fix both the preempt count atomicity and the CPU-local init problem 2024-07-25 13:20:09 +08:00
00b9bf9610 Fix assertion failure constructing VmReaders from zero sized slices 2024-07-25 13:20:09 +08:00
5aa28eae7e Extract x86-specific code from call_irq_callback_functions 2024-07-22 22:04:50 +08:00
b3591131c1 Fix missing syscall tests 2024-07-22 22:02:38 +08:00
eb5356c492 Set EM_386 only in x86 2024-07-22 21:47:37 +08:00
e7a75947ea Remove ETIME logic in sys_poll 2024-07-22 21:45:52 +08:00
6ada748b79 Remove ETIME logic in sys_select 2024-07-22 21:45:52 +08:00
faa4234c7d Return Ok when timer expired in do_poll 2024-07-22 21:45:52 +08:00
4dacff5be4 Fix a typo when assign 'dst.rbx' at copy_gp_regs 2024-07-21 22:34:58 +08:00
20524ae64a Update the 100-line kernel and format it as well 2024-07-20 20:56:29 +08:00
71a486b9a5 Bye, FrameVec 2024-07-20 20:56:29 +08:00
fd63f8307d Simplify visibility of page table APIs since the module is already pub(crate) 2024-07-20 20:56:29 +08:00
668997ab51 Refactor the VmSpace API and work around misuses 2024-07-20 20:56:29 +08:00
9f125cd671 Remove the nonsense mutex in Poller 2024-07-19 18:37:54 +08:00
94eba6d85e Add unit tests about blocking behavior 2024-07-18 20:45:16 +08:00
a219b6a485 Rename Endpoint to Fifo 2024-07-18 20:45:16 +08:00
39cd4420f2 Fix many error codes in pipes 2024-07-18 20:45:16 +08:00
8e72451448 Reuse the wait_events method in pipes 2024-07-18 20:45:16 +08:00
1c0d865373 Refine the event lock for pipes 2024-07-18 20:45:16 +08:00