mirror of
https://github.com/rcore-os/rCore-Tutorial-v3.git
synced 2024-11-21 17:06:25 +04:00
Merge pull request #92 from justxuewei/fix/kstack-leak
This commit is contained in:
commit
4b0cbe1684
@ -50,7 +50,7 @@ Here we manually compile and install Qemu 7.0.0. For example, on Ubuntu 18.04:
|
||||
# install dependency packages
|
||||
$ sudo apt install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev \
|
||||
gawk build-essential bison flex texinfo gperf libtool patchutils bc \
|
||||
zlib1g-dev libexpat-dev pkg-config libglib2.0-dev libpixman-1-dev git tmux python3 python3-pip
|
||||
zlib1g-dev libexpat-dev pkg-config libglib2.0-dev libpixman-1-dev git tmux python3 python3-pip ninja-build
|
||||
# download Qemu source code
|
||||
$ wget https://download.qemu.org/qemu-7.0.0.tar.xz
|
||||
# extract to qemu-7.0.0/
|
||||
@ -64,9 +64,7 @@ $ make -j$(nproc)
|
||||
Then, add following contents to `~/.bashrc`(please adjust these paths according to your environment):
|
||||
|
||||
```
|
||||
export PATH=$PATH:/home/shinbokuow/Downloads/built/qemu-7.0.0
|
||||
export PATH=$PATH:/home/shinbokuow/Downloads/built/qemu-7.0.0/riscv64-softmmu
|
||||
export PATH=$PATH:/home/shinbokuow/Downloads/built/qemu-7.0.0/riscv64-linux-user
|
||||
export PATH=$PATH:/path/to/qemu-7.0.0/build
|
||||
```
|
||||
|
||||
Finally, update the current shell:
|
||||
|
@ -13,4 +13,4 @@ rand = "0.8.0"
|
||||
|
||||
# [features]
|
||||
# board_qemu = []
|
||||
# board_k210 = []
|
||||
# board_k210 = []
|
||||
|
BIN
figures/logo.png
Normal file
BIN
figures/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 54 KiB |
@ -5,6 +5,7 @@ use crate::task::schedule;
|
||||
use crate::DEV_NON_BLOCKING_ACCESS;
|
||||
use alloc::collections::BTreeMap;
|
||||
use virtio_drivers::{BlkResp, RespStatus, VirtIOBlk, VirtIOHeader};
|
||||
use crate::drivers::bus::virtio::VirtioHal;
|
||||
|
||||
#[allow(unused)]
|
||||
const VIRTIO0: usize = 0x10008000;
|
||||
|
@ -5,6 +5,7 @@ use core::any::Any;
|
||||
use embedded_graphics::pixelcolor::Rgb888;
|
||||
use tinybmp::Bmp;
|
||||
use virtio_drivers::{VirtIOGpu, VirtIOHeader};
|
||||
use crate::drivers::bus::virtio::VirtioHal;
|
||||
const VIRTIO7: usize = 0x10007000;
|
||||
pub trait GpuDevice: Send + Sync + Any {
|
||||
fn update_cursor(&self);
|
||||
|
@ -11,4 +11,4 @@ pub use bus::*;
|
||||
pub use chardev::UART;
|
||||
pub use gpu::*;
|
||||
pub use input::*;
|
||||
pub use net::*;
|
||||
pub use net::*;
|
||||
|
@ -87,6 +87,7 @@ impl Drop for KernelStack {
|
||||
KERNEL_SPACE
|
||||
.exclusive_access()
|
||||
.remove_area_with_start_vpn(kernel_stack_bottom_va.into());
|
||||
KSTACK_ALLOCATOR.exclusive_access().dealloc(self.0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -16,4 +16,4 @@ oorandom ="11"
|
||||
virtio-input-decoder = "0.1.4"
|
||||
|
||||
[profile.release]
|
||||
debug = true
|
||||
debug = true
|
||||
|
Loading…
Reference in New Issue
Block a user