Commit Graph

77 Commits

Author SHA1 Message Date
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