50 Commits (924c061d64b5c9ab0ab3633ba1b2581b5cf7c33e)

Author SHA1 Message Date
WangRunji 924c061d64 Merge branch 'x86-boot'
6 years ago
dzy 5a0ce1e464 Refactored RISC-V page table identity mapping into a function.
6 years ago
dzy 906019f7c6 Add little notes for BitAllocator
6 years ago
WangRunji caeff9ad97 Update packages and fit for new Rust nightly
6 years ago
WangRunji b88648ff44 Fit for newest Rust nightly. x86_64 ok, riscv32 broken.
6 years ago
WangRunji a2111a928f Move thread mod to ucore-process crate
6 years ago
WangRunji 776dc976c9 Fix for user
6 years ago
WangRunji 06b39ed521 Impl remove any for StrideScheduler
6 years ago
WangRunji 04b62ec79f Use Vec instead of array in Scheduler
6 years ago
WangRunji c8a9eaf3e6 Split process mod to extern crate
6 years ago
WangRunji 0c9679b710 Fix fork and syscall return value.
6 years ago
WangRunji 27daa6d491 Fix user trap
6 years ago
WangRunji 1ad3ed738e Can run user program in RV32
6 years ago
WangRunji 89bcd5f660 Fix kernel thread
6 years ago
WangRunji 96d8af8034 Use CowExt for RV32
6 years ago
WangRunji 7d856fe009 Fix memory::cow LLVM error for RV32
6 years ago
WangRunji 5530549a54 Recover `process` `thread` `sync` mod for RV32. Pass compile.
6 years ago
WangRunji 7c7dbc9ded Add CR3 to Context (x86_64)
6 years ago
WangRunji 95ab3a2f3b Allocate kernel stack from heap, remove stack allocator, remove guard page.
6 years ago
WangRunji 81ff6f13e5 Fix recursive mapping, finish kernel remap.
6 years ago
WangRunji d3ed84ba61 Fix compile
6 years ago
WangRunji aecb85d5e7 Move MemorySet out to memory crate
6 years ago
WangRunji 5c14673fe0 Setup a simple page table, enable paging.
6 years ago
WangRunji b26fee1990 Make more mods common for both x86_64 & riscv32.
6 years ago
WangRunji ee242b44b2 Timer interrupt
6 years ago
WangRunji aeb7fce0e6 SBI: Support RISCV64
6 years ago
WangRunji 02b94db859 Fix crate `riscv` version
6 years ago
WangRunji bf2ad7c6a5 Change target arch to RISCV32IMA. Recover some dependencies.
6 years ago
WangRunji a44231435f Fork crate `riscv` as a submodule
6 years ago
WangRunji ced765fb5b New crate `bbl`, port `sbi` mod.
6 years ago
WangRunji 98be93e215 Fix Fifo & Clock SwapManager, pass test.
6 years ago
WangRunji a7a34835d5 Basic swap framework, temporarily disable SwapManagers
7 years ago
WangRunji e47f57a12a Cow test pass in OS
7 years ago
WangRunji ade0f0110f Use PageTable interface in OS
7 years ago
WangRunji f500086b9e Copy-on-write for PageTable interface.
7 years ago
WangRunji 978faf46c5 Split test for MockPageTable
7 years ago
WangRunji aa109498f1 Clear memory crate, redefine PageTable interface, reimplement MockPageTable.
7 years ago
WangRunji f3d62a5b8f Replace `AreaFrameAllocator` by `BitAllocator`. Set opt-level=1 to avoid stack overflow.
7 years ago
WangRunji 2762fded9c New crate `bit-allocator`
7 years ago
WangRunji beffc302f0 Std based dining-philosophers-problem (mutex & condvar version)
7 years ago
WangRunji 09098f0d2f Add physical mod and reorganize.
7 years ago
WangRunji e2e9ead17c Improve MockPageTable. Fix tests.
7 years ago
WangRunji 733c102836 EnhancedClockSwapManager
7 years ago
WangRunji c0d83ef75b Make tests safe, by using Arc & RefCell.
7 years ago
WangRunji e5e27db4ec New page_table mod. Addr -> VirtAddr.
7 years ago
WangRunji 8d304da4b4 MockSwapper
7 years ago
WangRunji 470d5692fe Pass test for FifoSwapManager. Change interface.
7 years ago
WangRunji be6ff50d7f Test framework for FifoSwapManager. Not passed.
7 years ago
WangRunji a1e9ee36b2 Basic SwapManager & MockPageTable
7 years ago
WangRunji 0420e85e4d Simple VMA & MM struct at extern crate.
7 years ago