Zhang Junyang
cdac59beda
Implement a new set of physical page APIs
2024-12-27 12:12:51 +08:00
Zhang Junyang
c9a37ccab1
Renaming concepts around pages and frames
...
This commit renames `Frame` -> `UntypedFrame` and `Page` -> `Frame`.
So do other concepts in the following list:
- `Segment` -> `UntypedSegment`,
- `ContPages` -> `Segment`,
- `DynPage` -> `AnyFrame`,
- `PageMeta` -> `FrameMeta`,
- `FrameMeta` -> `UntypedMeta`.
This commit also re-organized the source in the `mm/page` and `mm/frame`
module to accommodate the changes.
2024-12-27 12:12:51 +08:00
jiangjianfeng
3dbdef4d6c
Add several lmbench network benchmark
2024-12-26 09:08:21 +08:00
Zejun Zhao
ced0023d6b
Introduce a syscall restart mechanism
2024-12-16 21:12:08 +08:00
Zhang Junyang
04511b74c4
Revise the access of some external statics
2024-12-16 19:15:59 +08:00
Zhang Junyang
68bdda4c4c
Set the page table for APs before kicking
2024-12-16 19:15:59 +08:00
Ruihan Li
18d5eb1f02
Use physical addresses in boot segments
2024-12-13 10:42:05 +08:00
Ruihan Li
28edc57dd0
Fix the nested bottom half
2024-12-05 13:42:12 +08:00
Qingsong Chen
5e35704e38
Support eagerly FPU state save/restore
...
Co-authored-by: Shaowei Song <songshaowei.ssw@antgroup.com>
2024-11-29 21:53:14 +08:00
Hsy-Intel
d67976da88
Support TDX debugging feature
2024-11-26 19:15:22 +08:00
Ruize Tang
9e5075dab7
Clear `DF` flag during trap handling to conform to x86-64 calling convention
2024-11-25 14:20:28 +08:00
jiangjianfeng
495c93c2ad
Refactor Rwlock to take type parameter
2024-11-21 15:46:10 +08:00
Yuke Peng
12aa9fc857
Refactor the document of IOMMU functions
2024-11-09 10:42:46 +08:00
Yuke Peng
c2626da757
Rename some IOMMU functions
2024-11-09 10:42:46 +08:00
Yuke Peng
65a95cf6b7
Support Interrupt Remapping in IOMMU
2024-11-09 10:42:46 +08:00
Yuke Peng
99fdd49076
Support Queue Invalidation in IOMMU
2024-11-09 10:42:46 +08:00
Fabing Li
561516df98
Export /proc/cpuinfo
2024-11-06 14:54:28 +08:00
Zhang Junyang
3468ec213b
Use `CpuId` with validity ensurance rather than `u32`
2024-10-26 22:06:41 +08:00
Shaowei Song
da5e7a21cb
Avoid potential deadlock in iommu remapping
2024-10-24 19:14:58 +08:00
Zhang Junyang
fe8e451c4f
Use read-write lock for the irq callback list
2024-10-24 15:18:26 +08:00
Zhang Junyang
131a25c15c
Provide the way to override the panic handler.
2024-10-20 13:24:58 +08:00
Zhang Junyang
b8eff00fb7
Remove the additional IRQ disable during EOI
2024-10-20 13:14:47 +08:00
Zhang Junyang
dc7e0d7a63
Use the HUGE/PAT bit to track the validity of x86 PTEs
2024-10-16 10:25:39 +08:00
Hsy-Intel
2af9916de9
Upgrade the `acpi` crate to the latest version
2024-10-14 21:03:47 +08:00
Hsy-Intel
c28cec2c6a
Fix minor bugs in TDX env
2024-10-14 21:03:47 +08:00
Zhang Junyang
9e4257b655
Fix multiple issues pointed out by the new compiler
2024-10-13 22:32:05 +08:00
Zhang Junyang
2ddcd2d9a7
Add `.code64` to the x86 trap assembly
2024-10-04 21:54:48 +08:00
YanWQ-monad
4fa0e6334b
Add RISC-V base support
2024-09-30 10:02:08 +08:00
YanWQ-monad
839c2a6689
Extract shared code from timer
2024-09-30 10:02:08 +08:00
YanWQ-monad
4d36dd541f
Extract x86-specific exception handling in aster-nix
2024-09-23 19:39:45 +08:00
YanWQ-monad
2a6733579d
Refactor architecture-specific page fault handling
2024-09-20 10:56:13 +08:00
Qingsong Chen
c2f7a10b84
Implement cpu_local with GS and ensure GS points to TSS
2024-09-19 13:00:36 +08:00
Zhang Junyang
326ec09169
Initialize local APICs on every processors
2024-09-13 20:10:03 +08:00
Zhang Junyang
425027677b
Add the inter-processor-call facilities
2024-09-13 20:10:03 +08:00
Yuke Peng
539984bbed
Replace read with read_raw
2024-08-29 21:10:17 +08:00
Yuke Peng
a06662b58e
Read rflags directly in is_local_enabled
2024-08-29 21:10:17 +08:00
Shaowei Song
aae9fdb331
Add assembly `memset` for fast filling zeros
2024-08-28 18:06:04 +08:00
Zhang Junyang
5feb8f5de8
Refactor the boot PT initialization for SMP
2024-08-27 17:22:47 +08:00
Cautreoxit
86f09eef75
Fix all spelling mistakes in history by typos tool
2024-08-27 12:19:48 +08:00
Zhang Junyang
54cbacb2ff
Replace the `CpuLocal`'s `borrow*` APIs with `get_with`
2024-08-25 20:14:06 +08:00
Zhang Junyang
f7a9510be0
Refactor the `this_cpu` API with `PinCurrentCpu`
2024-08-25 20:14:06 +08:00
Yuke Peng
bbe43d76cc
Fix compile error due to `lock_irq_disabled`
2024-08-19 16:52:51 +08:00
Yuke Peng
c6d381bc19
Refine documentations
2024-08-18 23:58:51 +08:00
Yuke Peng
b198794e3e
Extract DMA remapping feature
2024-08-18 23:58:51 +08:00
Yuke Peng
0bf3595964
Extract IOMMU register operations
2024-08-18 23:58:51 +08:00
Yuke Peng
63b42bff73
Add register descriptions
2024-08-18 23:58:51 +08:00
Yuke Peng
7d0638958c
Fix IOMMU permission check issue
2024-08-18 23:58:51 +08:00
Cautreoxit
c44447d54b
Refactor the API of spinlocks
2024-08-18 21:06:40 +08:00
jellllly420
f5464e82c0
Implement new scheduling API in OSTD
2024-08-15 23:06:18 +08:00
Zhang Junyang
4844e7ca7c
Allow page table protectors to flush TLB entries precisely
2024-08-14 20:40:03 +08:00