Cautreoxit
aa6f248d03
Remove magic numbers in i8042 component
2025-11-28 11:25:58 +08:00
Qingsong Chen
f15106aed8
Fix ext2 directory entry iteration
2025-11-28 11:22:56 +08:00
Qingsong Chen
d08d82cd0b
Fix ext2 DeviceRangeReader to prevent reading invalid blocks
2025-11-28 11:22:56 +08:00
Qingsong Chen
f026bf38d8
Fix bio request end sector calculation
2025-11-28 11:22:56 +08:00
jiangjianfeng
188b20eb99
Support SO_BROADCAST for UDP sockets
2025-11-28 10:34:26 +08:00
jiangjianfeng
3208fcc101
Dummy support IP_RECVERR option
2025-11-28 10:34:26 +08:00
jiangjianfeng
1375346214
Add IP options to UDP socket
2025-11-28 10:34:26 +08:00
jiangjianfeng
e796c41546
Reorder the socket options according to CSocketOptionName
2025-11-28 10:34:26 +08:00
Ruihan Li
17b62917cd
Perform some remaining cleanups
2025-11-26 17:35:42 +08:00
Ruihan Li
0fd2066ac3
Fix potential atomic mode breaks
2025-11-26 17:35:42 +08:00
Ruihan Li
d99791ba57
Fix the handling when the buffer is full
2025-11-26 17:35:42 +08:00
Ruihan Li
efeaf5fa6e
Fix potential deadlocks
2025-11-26 17:35:42 +08:00
Ruihan Li
42026b3eb9
Define a specific clock type
2025-11-26 17:35:42 +08:00
Ruihan Li
1c7fc4a6e6
Align the read behavior to Linux's
2025-11-26 17:35:42 +08:00
Ruihan Li
52a7d3eddd
Simplify the logic related to I/O events
2025-11-26 17:35:42 +08:00
Ruihan Li
6e866cc4c2
Remove the unused event count
2025-11-26 17:35:42 +08:00
Ruihan Li
33428b46b9
Clarify error codes and messages
2025-11-26 17:35:42 +08:00
Ruihan Li
2892b8a977
Use `size_of` in preludes
2025-11-26 17:35:42 +08:00
Hsy-Intel
f8c94695d0
Add TDX hardware randomness requirement note
2025-11-26 17:26:55 +08:00
Zhe Tang
70eda539df
Refactor IoMem acquisition to use appropriate cache policies across multiple components
2025-11-25 10:24:54 +08:00
Zhe Tang
fb1cab9951
Enhance IoMem to support configurable cache policies
2025-11-25 10:24:54 +08:00
Chen Chengjun
f8147469d4
Make the mount-related fields in statx effective
2025-11-24 19:01:19 +08:00
Zhe Tang
20c0d3d178
Add proper error handling for unsupported `ioctl` commands in the EFI framebuffer
2025-11-24 18:56:29 +08:00
Zhe Tang
0043cc7504
Implement the color map and the related `ioctl` handlers for the EFI framebuffer
2025-11-24 18:56:29 +08:00
Zhe Tang
d027b01f3b
Implement the `ioctl` handlers for getting and setting information for the EFI framebuffer.
2025-11-24 18:56:29 +08:00
Zhe Tang
3fd1ecd96f
Add a helper method to retrieve the line size of the framebuffer
2025-11-24 18:56:29 +08:00
Zhe Tang
49068f23d8
Incorporate Linux-compatible data structures for the framebuffer's `ioctl`
2025-11-24 18:56:29 +08:00
Zhe Tang
93eaa7c247
Support `lseek`, `read`/`write` with offsets for the EFI framebuffer
2025-11-24 18:56:29 +08:00
Zhe Tang
26dc88dc80
Register `/dev/fb0` as a character device
2025-11-24 18:56:29 +08:00
Zhe Tang
c33c37b593
Add the basic framework of /dev/fb0
...
Co-authored-by: Wei Zhang <ruoyuan.zw@antgroup.com>
2025-11-24 18:56:29 +08:00
Qingsong Chen
0ed3f86709
Fix device id of ext2 inode
2025-11-24 18:55:01 +08:00
Wang Siyuan
449939a32b
Move the executable `PathOrInode` to `ProcessVm`
2025-11-24 12:34:42 +08:00
Wang Siyuan
423053f2e6
Store the executable `PathOrInode` in `Process` to support `execveat` memfd files with `MFD_CLOEXEC`
2025-11-24 12:34:42 +08:00
Wang Siyuan
7bd8af411b
Support `execveat` memfd files without `MFD_CLOEXEC`
2025-11-24 12:34:42 +08:00
Wang Siyuan
71632a51b5
`ProgramToLoad` only needs a `elf_inode: Arc<dyn Inode>` instead of a `Path`
2025-11-24 12:34:42 +08:00
jiangjianfeng
808d298938
Drop option lock before polling iface
2025-11-24 12:31:38 +08:00
Cautreoxit
869e04f6bb
Add evdev module
2025-11-24 11:42:36 +08:00
Chen Chengjun
74dd519a10
Support PR_SET/GET_SECUREBITS
2025-11-21 19:34:04 +08:00
Qingsong Chen
76c7752130
Separate inode and opened file types for BlockFile
2025-11-20 19:40:40 +08:00
Qingsong Chen
e407dc7ce9
Refactor mem/misc char devices
2025-11-20 19:40:40 +08:00
Chen Chengjun
6df2af2e17
Fix some mount-related bugs
2025-11-20 18:22:26 +08:00
Qingsong Chen
7876b7127d
Fix virtio-block request ID exhaustion panics with SyncIdAlloc
2025-11-20 10:43:24 +08:00
Qingsong Chen
9e2f5adf9b
Add partition support for block device
2025-11-20 10:43:24 +08:00
Qingsong Chen
d954e3d006
Move ranged integer to aster-util crate
2025-11-20 10:43:24 +08:00
Chen Chengjun
7305d389f0
Refactor the timer module to solve race conditions and support fdinfo for timerfd files
2025-11-19 21:09:50 +08:00
Chen Chengjun
59cd3bd61d
Support generating fdinfo for most of the existing FileLikes
2025-11-19 21:09:50 +08:00
Chen Chengjun
61a5bb7241
Add fdinfo files to proc filesystem
2025-11-19 21:09:50 +08:00
Ruihan Li
668876aeee
Check the existence of i8042 and RTC CMOS
2025-11-19 15:39:49 +08:00
Ruihan Li
9a8e6fd372
Simplify the code in `aster-time`
2025-11-19 15:39:49 +08:00
Ruihan Li
bbe0e3f3bb
Reimplement `RtcCmos`
2025-11-19 15:39:49 +08:00
Ruihan Li
21365dd0bd
Fix some behavior about `seek()`
2025-11-19 10:33:51 +08:00
Ruihan Li
24502ac3d4
Add `InodeIo` to simplify `FileIo` and `Inode`
2025-11-19 10:33:51 +08:00
Ruihan Li
08dfe533c4
Use `Box<FileIo>` instead of `Arc<FileIo>`
2025-11-19 10:33:51 +08:00
jiangjianfeng
63354d670e
Support mknod for /dev/full and /dev/tty0
2025-11-18 17:32:34 +08:00
Ruihan Li
7ebee6d8a1
Fix TTY's HUP events
2025-11-18 14:49:19 +08:00
jiangjianfeng
2f568d5e73
Read pty master should block if no pty slave is opened
2025-11-18 09:48:32 +08:00
Wang Siyuan
151d7ab1bf
Refactor procfs with `VmPrinter`
2025-11-17 16:42:08 +08:00
Tao Su
83176020f2
Invoke get_report() using private memory
2025-11-17 15:26:45 +08:00
Ruihan Li
0636e1048e
Clarify how `Path` inherits methods
2025-11-17 11:25:55 +08:00
Wang Siyuan
35ab40057a
Support stopping states in `proc/pid/stat`
2025-11-14 14:34:04 +08:00
Wang Siyuan
7a7e62b318
Support sleeping states in `proc/pid/stat`
2025-11-14 14:34:04 +08:00
Wang Siyuan
3ffa253947
Store `Weak<Task>` in `PosixThread`
2025-11-14 14:34:04 +08:00
Ruihan Li
58070c4107
Introduce `CopyCompat`
2025-11-14 14:20:30 +08:00
Ruihan Li
4af21521af
Fix error codes in various `sched_*` syscalls
2025-11-14 14:20:30 +08:00
Zhang Junyang
8148072984
Upgrade the `riscv` crate to fix the ssoft handling
...
3c61863630
2025-11-14 10:14:03 +08:00
Qingsong Chen
bb48b3814f
Move DeviceId to separate device-id crate
2025-11-13 11:04:30 +08:00
Wang Siyuan
9c6dbcee79
Minor cleanup
2025-11-13 09:55:53 +08:00
Wang Siyuan
456cafbc8e
Add access mode checks for `MemfdFile`
2025-11-13 09:55:53 +08:00
Wang Siyuan
291c42c9fd
Enable some gvisor tests of `memfd_test`
2025-11-13 09:55:53 +08:00
Wang Siyuan
805e2a7c89
Remove inode-specific methods from `FileLike`
2025-11-13 09:55:53 +08:00
Wang Siyuan
4d7958c18e
Add `PathOrInode` to support looking up an inode without a `Path`
...
Also supports opening a memfd from `/proc/[pid]/fd/[fd]`
2025-11-13 09:55:53 +08:00
Wang Siyuan
147a622aa1
Add `SymbolicLink` to support symbol links under `/proc`
2025-11-13 09:55:53 +08:00
Wang Siyuan
7f41bd3ba7
Rename `as_inode_or_err` to `as_inode_handle_or_err`
2025-11-13 09:55:53 +08:00
Wang Siyuan
e85879025e
Add a method `inode` to the trait `FileLike`
2025-11-13 09:55:53 +08:00
Wang Siyuan
0a0ced99e7
Add `PseudoFs` and `PseudoInode`
2025-11-13 09:55:53 +08:00
Wang Siyuan
1a3ab8aaf8
`MemfdInode`s should be linked to a tmpfs
2025-11-13 09:55:53 +08:00
Ruihan Li
f57a54aa0d
Remove `AccessMode` from `InodeHandle`
2025-11-12 18:19:08 +08:00
Ruihan Li
722efc62ca
Remove `inode_handle/static_cap.rs`
2025-11-12 18:19:08 +08:00
Ruihan Li
277b5b5c24
Fix how O_PATH interacts with other flags
2025-11-12 18:19:08 +08:00
Ruihan Li
25beca462d
Add regression tests
2025-11-12 18:19:08 +08:00
Ruihan Li
eaeba41f5e
Refine some access checks
2025-11-12 18:19:08 +08:00
Ruihan Li
b4385ddc3d
Simplify some memfd code
2025-11-12 18:19:08 +08:00
wyt8
9a0f63b33e
Modify the import of modules in kernel to remove dependencies of lib.rs
2025-11-10 10:53:08 +08:00
Tate, Hongliang Tian
06f798908a
Extract kernel initialization code into a module
2025-11-10 10:53:08 +08:00
wyt8
05287667c3
Ensure the idle tasks do not sleep or block
2025-11-10 10:53:08 +08:00
jiangjianfeng
cef527f372
Open /dev/tty should also increase pty slave count
2025-11-07 20:22:16 +08:00
jiangjianfeng
49485058ec
Correct the device major ID for pty slave
2025-11-07 20:22:16 +08:00
jiangjianfeng
a41db92b4e
Support nonblocking mode for tty and pty
2025-11-07 20:22:16 +08:00
jiangjianfeng
c4ee351639
Fix the unlink problem about devpts
2025-11-07 20:22:16 +08:00
jiangjianfeng
601ac76676
Avoid unwrap on devpts when dropping pty master
2025-11-07 20:22:16 +08:00
jiangjianfeng
cd981a0a8d
Correct the behavior about closing pty
2025-11-07 20:22:16 +08:00
Chen Chengjun
b17602693a
Add /proc/[pid]/cgroup
2025-11-07 11:47:23 +08:00
Chen Chengjun
77fb73bdd7
Enable the process management for cgroup
2025-11-07 11:47:23 +08:00
Chen Chengjun
cda06613f0
Revise the content of root field for the mountinfo file
2025-11-07 11:44:04 +08:00
Wang Siyuan
e336882eee
Do not drop `Arc<dyn FileLike>` in an incorrect context
2025-11-06 20:24:25 +08:00
Hang Shu
e27b16ec4b
Remove IntervalSet::find_one unreachable code
2025-11-06 19:36:12 +08:00
Ruihan Li
0bff86582a
Handle TID events in procfs
2025-11-06 15:41:13 +08:00
Ruihan Li
9171a0d13f
Correct `main_thread()` usages in procfs
2025-11-06 15:41:13 +08:00
Ruihan Li
2d01804d19
Correct lock usages in procfs
2025-11-06 15:41:13 +08:00
Ruihan Li
4e0142b176
Resolve some minor issues
2025-11-06 15:41:13 +08:00
Wang Siyuan
ff021e0b89
Make `memfd` a sub module of `ramfs`
2025-11-04 13:02:06 +08:00
Wang Siyuan
6ba1a84ae9
Support sealing memfd files
2025-11-04 13:02:06 +08:00
Wang Siyuan
d1506171d2
Count writable mappings of each MemfdInode's VMO
...
The "writable mappings" refers to shared mappings that may include the `PROT_WRITE` permission.
2025-11-04 13:02:06 +08:00
Wang Siyuan
7aa6a47612
Add `MemfdInode`
2025-11-04 13:02:06 +08:00
jiangjianfeng
6e8dac0c36
Refactor the implementation of signalfd
2025-11-04 11:56:13 +08:00
jiangjianfeng
d2b88f48ff
Refactor the implementation of kill process
2025-11-04 11:56:13 +08:00
jiangjianfeng
00c79732e6
Re-introduce the process-wide sigqueues
2025-11-04 11:56:13 +08:00
Chen Chengjun
6f8877f252
Rename some variables and let src_name_addr can be NULL for some mount operations
2025-11-03 15:56:05 +08:00
Chen Chengjun
d66dbdd3bc
Revise some error numbers and messages
2025-11-03 09:57:48 +08:00
Chen Chengjun
d42b006e1a
Refactor named pipe to correct its opening and blocking behaviors
2025-11-03 09:57:48 +08:00
Chen Chengjun
5eddf21596
Introduce open API for Inode trait to replace as_* APIs
2025-11-03 09:57:48 +08:00
Chen Chengjun
4fe8554d63
Decouple PipeReader/Writer with status flags
2025-11-03 09:57:48 +08:00
Chen Chengjun
b447a605ed
Introduce PerMountFlags and support MS_REMOUNT
2025-11-02 21:24:50 +08:00
Chen Chengjun
498c2f3c91
Make FsFlags consistent with Linux's super block flags
2025-11-02 21:24:50 +08:00
Chen Chengjun
c77edbace8
Provide mem_unit and procs in sysinfo
2025-11-02 14:09:55 +08:00
Tao Su
eb4edd25e8
Add TSM module
2025-10-31 08:53:27 +08:00
Ruihan Li
d487e42b7c
Reunify the style of defining `arch` modules
2025-10-30 17:04:45 +08:00
Zejun Zhao
6af524b451
Support RISC-V Sv39 Paging mode
2025-10-30 14:51:37 +08:00
Zejun Zhao
3353e53577
Add VirtIO device probing code on RISC-V platforms
2025-10-30 10:47:53 +08:00
Zejun Zhao
39a541fdeb
Add RISC-V FPU support
2025-10-29 13:24:30 +08:00
Wang Siyuan
89e759894f
Remove `Rights` from VMO
2025-10-29 12:22:22 +08:00
Cautreoxit
0126d9b356
Set AT_SECURE value based on ELF's configuration
2025-10-29 09:57:16 +08:00
Cautreoxit
43fc98dc77
Migrate virtio-input to input subsystem API
2025-10-28 17:37:13 +08:00
Cautreoxit
ee960c5f45
Migrate i8042 keyboard to input subsystem API
2025-10-28 17:37:13 +08:00
Cautreoxit
329fb4728a
Add framebuffer console handler
2025-10-28 17:37:13 +08:00
Cautreoxit
9c062b1350
Add input subsystem
...
Co-authored-by: TinaZhangZW <ruoyuan.zw@antgroup.com>
2025-10-28 17:37:13 +08:00
Ruihan Li
2d74e69b4b
Add KDGKBMODE and KDSKBMODE ioctl support
2025-10-27 16:28:35 +08:00
Wei Zhang
2ba05a1673
Add KDGETMODE and KDSETMODE ioctl support
...
Add support for virtual console TTY mode management ioctls required by
Xorg and other display servers. The implementation includes:
- KDGETMODE: Query the current virtual console mode
- KDSETMODE: Switch between text and graphics modes
Virtual consoles utilize the framebuffer with two distinct modes:
- Text mode (default): Kernel renders text characters to framebuffer
- Graphics mode: User space applications gain full framebuffer control
Xorg requires KDSETMODE during initialization to switch to graphics
mode, preventing conflicts where both the kernel and Xorg would
simultaneously attempt to write to the framebuffer. This ensures
proper display handling and eliminates rendering artifacts.
Co-authored-by: Ruihan Li <lrh2000@pku.edu.cn>
2025-10-27 16:28:35 +08:00
Ruihan Li
38a217d201
Enhance `TtyDriver` to get the console
2025-10-27 16:28:35 +08:00
Wei Zhang
66d9dd41b9
Correct /dev/tty1 major number to 4
...
The major number for /dev/tty1 must be 4, as this value is hardcoded
in Linux and Linux syscall-compatible operating systems. Xorg uses
this major number directly, and incorrect values lead to confusion
and operational failures.
This change ensures compatibility with Xorg's expectations and
maintains system consistency.
2025-10-27 16:28:35 +08:00
Zejun Zhao
f02c37dc2f
Make writable pages readable on RISC-V platforms
2025-10-27 11:25:59 +08:00
Zejun Zhao
51767b519b
Generate fault signal for RISC-V exceptions
2025-10-27 11:25:59 +08:00
Zejun Zhao
1e183825d3
Refactor RISC-V exception-related code
2025-10-27 11:25:59 +08:00
Zejun Zhao
fe90e3051b
Add fallback for RTC device
2025-10-27 09:50:46 +08:00
Ruihan Li
8a16aa3b86
Refine the `ProcessVm` structure
2025-10-26 10:14:00 +08:00
Ruihan Li
badad44b54
Fix a small bug in remote memory access
2025-10-26 10:14:00 +08:00
Ruihan Li
54f2a25a3a
Move remote memory access to the VM module
2025-10-26 10:14:00 +08:00
Ruihan Li
b07d06170b
Remove `Rights` from VMAR
2025-10-26 10:14:00 +08:00
Arthur Paulino
6a67807fd0
Implement `IdSet::iter_in`
...
This patch enables more expressive ways to slice and iterate over
the `Id`s in an `IdSet` with `IdSet::iter_in`, which takes an arbitrary
`IdSetSlicer`.
`IdSet::iter_in` efficiently slices out unintended inner parts and
then, within the remaining parts, skips inactive bits by using
`BitSlice::iter_ones` from the `bitvec` crate.
It also delivers several implementations of `IdSetSlicer` so OSTD
consumers can represent `Id` ranges ergonomically.
In the Asterinas kernel, `CpuSet::iter_in` enables a cleaner way to
define an interator that cycles over the CPUs.
2025-10-25 11:23:13 +08:00
Arthur Paulino
01d9b61337
Enhanced per-CPU load stats
...
This patch creates a `PerCpuLoadStats` with slightly enhanced, enough
to serve load stats and the load-balancing algorithm. This struct can
be further enhanced for more elaborated load-balancing algorithms in
the future.
The load stats report has been fixed, as `SchedulerStats::nr_queued_and_running`
no longer includes idle threads in the queued total nor in the running
threads.
Furthemore, the load-balancing algorithm has been improved because it
no longer accounts with the idle threads when they're enqueued.
2025-10-25 10:38:59 +08:00
jiangjianfeng
fe39a6803d
Unshare VM during execve
2025-10-25 10:36:30 +08:00
jiangjianfeng
caeec3cdc1
Unshare signal handler during execve
2025-10-25 10:36:30 +08:00
jiangjianfeng
207bfe30e2
Support multithreaded execve
2025-10-25 10:36:30 +08:00
Zejun Zhao
8251d48bf2
Add RISC-V PLIC support
2025-10-24 16:28:41 +08:00
Chen Chengjun
0a80d55c95
Support mount bind a file
2025-10-24 11:13:09 +08:00
Chen Chengjun
53a1268e19
Add mountinfo files to proc filesystem
2025-10-24 11:12:16 +08:00
Chen Chengjun
7b68571290
Support generating the mount infomation
2025-10-24 11:12:16 +08:00
Tate, Hongliang Tian
c44e45ea78
Add the `IdSet<I>` utility type
2025-10-22 14:29:52 +08:00
Ruihan Li
7e7ba43cdf
Revise some error messages
2025-10-22 14:05:38 +08:00
Ruihan Li
9ac0e31981
Implement better FS path APIs
2025-10-22 14:05:38 +08:00
Chen Chengjun
a22935f4c6
Correct the errno of waitid when the input pidfd is negative
2025-10-20 21:07:28 +08:00
Ruihan Li
8be8397a67
Make network callbacks and names related
2025-10-20 20:56:55 +08:00
Ruihan Li
582812ac92
Reorder `new_loopback` and `new_virtio`
2025-10-20 20:56:55 +08:00
Ruihan Li
74f23ce23d
Fix some `kill`-related behavior
2025-10-20 14:05:45 +08:00
Ruihan Li
75edabc557
Construct `SignalSenderIds` from `Context`
2025-10-20 14:05:45 +08:00
Ruihan Li
43f50c5e2a
Fix futex return values
2025-10-20 11:24:48 +08:00
Ruihan Li
52ddbeaff8
Use the `Arc<Waker>` address as the futex ID
2025-10-20 11:24:48 +08:00
Ruihan Li
34b4ad5e9b
Clean up visibility in `futex.rs`
2025-10-20 11:24:48 +08:00
jiangjianfeng
600446e9e1
Cleanup ThreadName related code
2025-10-20 10:52:07 +08:00
Chen Chengjun
782301c239
Remove open-related APIs from FsResolver
2025-10-17 16:18:56 +08:00
Chen Chengjun
c2ab393d57
Cleanup the lookup APIs of FsResolver
2025-10-17 16:18:56 +08:00
Ruihan Li
bc6ef5231b
Reorangize `ostd::arch::irq`
2025-10-16 21:46:40 +09:00
Wang Siyuan
3f2c319e00
Support `/proc/[pid]/mem` and `/proc/[pid]/task/[tid]/mem`
2025-10-15 16:34:32 +08:00
Wang Siyuan
ef5e0060d7
Support reading `InitStack` across pages
2025-10-15 16:34:32 +08:00
Wang Siyuan
c2adcf9944
Support accessing user spaces of other processes
2025-10-15 16:34:32 +08:00
Qingsong Chen
257b0c63b1
Fix ext2 block groups count
2025-10-14 13:20:06 +09:00
Ruihan Li
0be36ee2c1
Fix virtio-mmio interrupt handling
2025-10-14 00:48:09 +09:00
Ruihan Li
7b212a6a25
Check capabilities instead of the root
2025-10-13 14:21:27 +08:00
Chen Chengjun
07d2d1db02
Support MS_PRIVATE flag for mount
2025-10-13 13:30:06 +08:00
Chen Chengjun
2b18c893a8
Implement fixed_point module to replace the usage of fixed crate
2025-10-13 12:34:01 +08:00
Chen Chengjun
d2b4664078
Add a configfs usage example in ktest
2025-10-09 17:38:08 +08:00
Chen Chengjun
fc69af3e95
Support the basic configfs
2025-10-09 17:38:08 +08:00
Chen Chengjun
537f08d7cf
Make the cgroup systree independent
2025-10-09 17:38:08 +08:00
Chen Chengjun
6dd4899d4a
Supports multiple systree instances
2025-10-09 17:38:08 +08:00
Ruihan Li
7319a7b173
Add wakeups after moving children
2025-10-07 11:43:02 +08:00
Ruihan Li
d50155661c
Lock run queues with IRQ disabled
2025-10-07 11:43:02 +08:00
Ruihan Li
56d78ab649
Fix some minor style issues
2025-10-06 14:46:23 +08:00
Ruihan Li
b4f66ab379
Fix free memory value in `meminfo`
2025-10-06 14:46:23 +08:00
Ruihan Li
78ff1a689b
Fix wrong formats in `{uid,gid}_map`
2025-10-06 14:46:23 +08:00
jiangjianfeng
d75a2481bb
Support /proc/pid/uid_map and /proc/pid/gid_map
2025-09-30 16:42:54 +08:00
Ruihan Li
d43fbd8f89
Fix some `getrandom` behavior
2025-09-30 11:36:37 +08:00
Ruihan Li
36a38c3f04
Bump `rand` version to 0.9.2
2025-09-30 11:36:37 +08:00
Ruihan Li
75f95cc1da
Remove some unnecessary `cfg_if` uses
2025-09-30 11:36:37 +08:00
Ruihan Li
b606e3456c
Don't panic if `set_child_tid` is invalid
2025-09-30 09:54:40 +08:00
Ruihan Li
6336bb9fc8
Fix races when finding the reaper
2025-09-30 09:54:40 +08:00
Ruihan Li
8be5465ace
Add more checks for `clone`
2025-09-30 09:54:40 +08:00
Zejun Zhao
294c55d0df
Fix `semid_ds`'s layout on non-x86_64 platforms
2025-09-29 23:46:01 +08:00
jiangjianfeng
702aa7d9ee
Support CLONE_PARENT flag
2025-09-29 13:27:22 +08:00
Zejun Zhao
899db770f6
Fix parameter passing of `preadv/pwritev`-family syscalls
2025-09-28 22:18:53 +08:00
Zejun Zhao
b183f9c06d
Fix `epoll_event`'s layout on non-x86_64 platforms
2025-09-28 22:16:19 +08:00
jiangjianfeng
6c544053af
Set the default domainname as `(none)`
2025-09-28 09:35:39 +08:00
jiangjianfeng
882dea6125
Add syscall setdomainname
2025-09-28 09:35:39 +08:00
jiangjianfeng
87091aa19c
Add syscall sethostname
2025-09-28 09:35:39 +08:00
Yang Zhichao
66356e133d
Add support for `/proc/stat` and `/proc/uptime`
2025-09-27 21:02:23 +08:00
Yang Zhichao
a13d2703fb
Add context switch counting.
2025-09-27 21:02:23 +08:00
Yang Zhichao
b921675426
Complete fork, vfork and clone counting.
...
This change primarily provides statistical data for the `processes` field in `/proc/stat`.
This field represents the total count of all processes and threads created since system boot,
rather than just processes as the name might imply.
2025-09-27 21:02:23 +08:00
Yang Zhichao
a9673282e6
Complete the counting for Softirq and IRQ.
2025-09-27 21:02:23 +08:00
Yang Zhichao
6a662a0d85
Add the `CpuTimeStats` module for CPU time statistics.
2025-09-27 21:02:23 +08:00
Yang Zhichao
f869ed508f
Move `PerCpuCounter` to `aster-util` to broaden its scope of use,
...
and add/modify some methods to improve readability.
2025-09-27 21:02:23 +08:00
Chen Chengjun
9a99af1170
Fix some set uid behaviors
2025-09-26 15:14:29 +08:00