Commit Graph

203 Commits

Author SHA1 Message Date
azongchang 6752baf166 Utilize libflate crate to compress and decompress payload 2024-08-05 15:36:55 +08:00
Jianfeng Jiang f86583dbce Make essential changes for publishing OSTD 2024-07-18 18:18:05 +08:00
Zhang Junyang 8a9c012249 Check CPUID before enabling AVX512 2024-07-17 10:24:45 +08:00
Zhang Junyang 9cbbcf63a7 Switch the dependency of `unwinding` back to `crates.io` 2024-07-09 09:45:58 +08:00
Shaowei Song 02bf6a9b47 Bump version to 0.6.2 2024-07-08 17:13:16 +08:00
Yuke Peng defb563541 Bump version to 0.6.1 2024-07-08 15:26:29 +08:00
Yuke Peng 608eba369c Format logger output 2024-07-04 10:56:55 +08:00
Qingsong Chen 98619f3482 Init RNG with rdrand directly (without getrandom) 2024-07-03 14:56:33 +08:00
Jianfeng Jiang 3de8a9330a Fix the OSDK CI failure 2024-06-27 15:45:49 +08:00
Jianfeng Jiang fe7251c413 Rename aster_main as ostd::main 2024-06-27 15:45:49 +08:00
Jianfeng Jiang 59350a8578 Rename aster-frame to ostd 2024-06-27 15:45:49 +08:00
Zhang Junyang cab348349e Introduce `DynPage` and make page table map it 2024-06-25 12:20:18 +08:00
Zhang Junyang 68793d28c5 Update the multiboot2 dependency
This relates to the upstream bug: https://github.com/rust-osdev/multiboot2/issues/215.
2024-06-21 10:57:08 +08:00
Zhang Junyang 5c524348de Update the dependency of unwinding to fix a `r#try` usage 2024-06-21 10:57:08 +08:00
Qingsong Chen 146a91a45e Upgrade trapframe
Fix #842.
Access FS/GS base with the FSGSBASE instructions.
2024-06-20 18:38:33 +08:00
Chen Chengjun 558248a070 Enable softirq mechanism 2024-05-31 16:05:58 +08:00
Chen Chengjun d019de29f9 Add abstractions for Clock and Timer 2024-05-20 16:09:27 +08:00
YanWQ-monad 82220748c0 Use a seedable RNG instead of `getrandom` crate 2024-05-17 10:28:18 +08:00
Zhang Junyang d1990869ae Make ID allocator a separate crate and use it in the frame 2024-05-09 14:35:12 +08:00
Jianfeng Jiang cd3faa8123 Inherit HasDaddr for reference type 2024-04-29 20:33:57 +08:00
Jianfeng Jiang cd1575bc6d Refactor virtio drivers with DMA APIs 2024-04-29 20:33:57 +08:00
Hsy-Intel 5e127b2da0 Remove local tdx-guest crate 2024-04-29 10:13:04 +08:00
Chen Chengjun 33c8727a13 Introduce XArray and refactor the COW mechanism of Vmo 2024-04-08 18:54:46 +08:00
Jianfeng Jiang d39036579b Downgrade intrusive-collections to 0.9.5 2024-03-27 12:03:53 +08:00
Yingdi Shan 650c7dfbad Add exFAT file system 2024-03-19 16:26:55 +08:00
Ruihan Li 595c6ab288 Replace `Poisoned` state by `takeable` crate 2024-03-14 21:22:44 +08:00
Hsy-Intel 37c3a7a48c Handle TDX MMIO and DMA direct 2024-03-13 11:25:08 +08:00
LI Qing e0d92b5203 Add support for converting from `VmFrame` to `VmSegment` 2024-03-07 10:56:20 +08:00
LI Qing 437ab804f3 Add support for setpriority and getpriority 2024-03-04 09:47:44 +08:00
Zhang Junyang bd878dd1c9 Update dev image for OSDK and bump version to 0.4.0 2024-02-28 16:30:48 +08:00
Zhang Junyang f97d0f1260 Implement OSDK functionalities and opt-in OSDK for asterinas 2024-02-28 16:30:48 +08:00
Yingdi Shan bc9bce9dea Add tools for exfat filesystem in docker image and bump the version 2024-02-27 18:28:13 +08:00
Jianfeng Jiang 3b3d088767 Add OSDK command line interface 2024-02-20 20:31:07 +08:00
Jianfeng Jiang ab03ef0fe8 Rename aster-std to aster-nix 2024-02-06 10:43:40 +08:00
Yuke Peng 7b729de3a6 Use asterinas inventory 2024-01-19 15:39:14 +08:00
Yuke Peng 289483390a Remove unused dependence 2024-01-19 15:39:14 +08:00
Yuke Peng 2d605e04d1 Remove virtio-input-decoder dependence 2024-01-19 09:57:26 +08:00
Jianfeng Jiang f099409b22 Implement sock options 2024-01-11 22:10:29 +08:00
Zhang Junyang 327e991477 Rename boot-wrapper to bzimage-setup 2024-01-02 07:21:36 +08:00
Zhang Junyang 302b547a0d Bump version to 0.3.0 2024-01-02 07:21:36 +08:00
Zhang Junyang 85d4cfdeb7 Do mapping in the wrapper 2024-01-02 07:21:36 +08:00
Zhang Junyang e71c2701d6 Rename trojan to wrapper and add docs 2024-01-02 07:21:36 +08:00
Zhang Junyang 97323f612b Fix boot phase mappings 2024-01-02 07:21:36 +08:00
Zhang Junyang 32e62080ce Add EFI stub 2024-01-02 07:21:36 +08:00
Zhang Junyang 953ff66fcc Introduce the boot trojan 2024-01-02 07:21:36 +08:00
LI Qing 9473889c6b Add Ext2 fs and basic bio layer 2023-12-28 04:54:48 +08:00
Jianfeng Jiang 7b7e3c4b7a Rename the path of dependent crates 2023-12-26 11:49:24 +08:00
Jianfeng Jiang 2b248dc326 Rename jinux-runner to aster-runner 2023-12-26 11:49:24 +08:00
Jianfeng Jiang f3dab1f798 Raname kernel as asterinas 2023-12-26 11:49:24 +08:00
Jianfeng Jiang 93781df27b Rename crates from jinux-* to aster-* 2023-12-26 11:49:24 +08:00
Chen Chengjun e6f3a6a8a4 Update docker image and add the benchmarks 2023-12-20 18:06:33 +08:00
Chen Chengjun 715072b9f3 Implement a high precision gettime based on tsc 2023-12-06 19:31:19 +08:00
Yuke Peng 01e485b96e Support virtio console device 2023-11-23 09:15:37 +08:00
Zhang Junyang c776954dfc Print backtrace when there is uncaught panic 2023-11-09 13:22:34 +08:00
Zhang Junyang 8eb1e06c2a Implement should_panic expectation and refactor ktest 2023-11-09 13:22:34 +08:00
Zhang Junyang 45a6b2f46c Implement should_panic for ktest and clear the codebase 2023-11-09 13:22:34 +08:00
Zhang Junyang bb0560530f Enable usermode unit test for specific crates 2023-11-09 13:22:34 +08:00
Zhang Junyang b8818bb740 Add ktest framework 2023-11-09 13:22:34 +08:00
LI Qing d7cc52c615 Update the version of pod 2023-11-09 03:38:37 +08:00
Yuke Peng 4d927fed19 Impl virtio-mmio bus 2023-10-30 09:39:23 +08:00
Yuke Peng eeac55e2e5 Refactor console 2023-10-30 09:39:23 +08:00
Zhang Junyang 0a17d90532 Polish namings and interfaces of linux boot 2023-10-26 12:05:12 +08:00
Zhang Junyang a532340c65 Implement linux x86 32bit legacy boot protocol 2023-10-26 12:05:12 +08:00
Zhang Junyang 9d0e0bbc70 Fix the rust setup machine state 2023-10-26 12:05:12 +08:00
Zhang Junyang 052fc795a5 Successfully entered setup rust entrypoint 2023-10-26 12:05:12 +08:00
Zhang Junyang 8910af1294 Update grub to 2.12-rc1 for efi bugfix 2023-10-26 12:05:12 +08:00
Zhang Junyang cdc2b960dc Switch to EFI boot and use official release for QEMU and GDB 2023-10-12 14:38:36 -05:00
Zhang Junyang aea8f38dc1 Implement boot setup and loader utils 2023-10-12 14:38:36 -05:00
Zhang Junyang d0c84e0b6f Add protected mode sub-crate for Linux boot setup 2023-10-12 14:38:36 -05:00
Zhang Junyang 7d5295ab25 Refactor build system, boot and added Linux Boot facilities 2023-10-12 14:38:36 -05:00
Jianfeng Jiang 0d6f6f001c Refactor the implementation 2023-10-10 16:52:40 -05:00
Chuandong Li 7419f6b56b Add the bottom half mechanism of workqueue 2023-10-09 18:08:15 -05:00
Yuke Peng 66a8b404c2 Support multiboot legacy protocol 2023-09-28 11:52:33 +08:00
Hsy-Intel c90f757b86 Polish tdx-guest crate and Jinux VE handler 2023-09-28 03:47:55 +08:00
Hsy-Intel 12fc074f56 Add tdx-guest crate 2023-09-28 03:47:55 +08:00
Yuke Peng 7d5e67e368 Refactor Virtio 2023-09-03 13:36:05 +08:00
Yuke Peng df42397cea Remove jinux-pci and hide PCI ports 2023-09-03 13:36:05 +08:00
Zhang Junyang 602c0e30fe Add version bumping mechanism 2023-08-14 10:45:01 +08:00
Yuke Peng c38e4f0800 Replace InFramePtr with SafePtr 2023-08-09 11:57:53 +08:00
LI Qing 4f00e5a167 Add devpts to support the ptmx 2023-08-09 11:11:24 +08:00
Zhang Junyang 187069fd34 Refactor runner scripts to introduce eval 2023-08-04 11:37:34 +08:00
Zhang Junyang 2e4b0432e0 Implement split instead of using heavy regex 2023-08-04 11:37:34 +08:00
Zhang Junyang 807c8355c0 Implement kernel command line with init configuring 2023-08-04 11:37:34 +08:00
Zhang Junyang 5cf624f9ac Update toolchain to nightly 08-01 2023-08-04 11:37:12 +08:00
Zhang Junyang 47a51eb423 Adapt Multiboot2 and switch from Limine to Grub2 2023-07-24 16:31:38 +08:00
LI Qing 13c4c614b5 Optimize the CpioEntry to send data to the Write trait 2023-07-24 15:30:23 +08:00
LI Qing 4b3cf8daeb Simplify the unzipping ramdisk file to reduce the heap allocation 2023-07-24 15:30:23 +08:00
Jianfeng Jiang 38ee2cafcd Inherit vmo at page granularity 2023-07-21 10:57:04 +08:00
Jianfeng Jiang 149e169b2c Drop parent once all inherited pages is committed by child 2023-07-21 10:57:04 +08:00
Jianfeng Jiang bf961756b9 Set process executable path to interpreter path 2023-07-18 00:14:04 +08:00
Yuke Peng a47b98b160 Support IOMMU 2023-07-13 22:57:56 +08:00
Yuke Peng 829575b3a6 Upgrade POD and trapframe 2023-07-13 22:57:56 +08:00
Jianfeng Jiang 5815f248fc Add syscall getrandom 2023-07-10 11:53:46 +08:00
LI Qing d692c102ae Support compressed initramfs image 2023-07-03 14:51:10 +08:00
Jianfeng Jiang 8e199f46ef Import inherit-methods-macro from seperate repo 2023-06-28 13:22:15 +08:00
LI Qing f301c70708 [cpio-decoder] Use TryFromInt for enum type 2023-06-27 12:52:14 +08:00
Jianfeng Jiang 7304e06c88 Add virtio net device driver 2023-06-01 14:39:19 +08:00
Jianfeng Jiang d96fe31e36 Fix typos and add utils 2023-05-31 11:50:50 +08:00
Yuke Peng b2f2c55c9b Impl SafePtr 2023-05-30 21:32:25 +08:00
Jianfeng Jiang 6cea03b871 Simplify current codes with TryFromNum 2023-05-04 16:49:22 +08:00
Jianfeng Jiang 6ecc7dc557 Add crate int-to-c-enum 2023-05-04 16:49:22 +08:00
LI Qing 0fc707d38c Add support for pipe and poll 2023-05-04 14:41:42 +08:00
Jianfeng Jiang 271a16d492 Reorganize the codebase 2023-04-10 14:49:39 +08:00