Fuyin

Results 19 comments of Fuyin

It seems caused by hyper. https://github.com/hyperium/hyper/issues/1790

It's a good idea to use console. I'll try to dig into it later.

Any progress on this one? I have the same problem as mentioned in https://github.com/actions/cache/issues/92#issuecomment-562204290. Would this feature be officially supported?

```rust pub fn get_ref(&self, offset: usize) -> &T where T: Sized { let type_size = core::mem::size_of::(); assert!(offset + type_size

> 从Qemu for RISC-V 64 平台的 源码 中可以找到 VirtIO 外设总线的 MMIO 物理地址区间为从 0x10001000 开头的 4KiB 。 这里链接的源码的位置有些偏移,现在在[这里](https://github.com/qemu/qemu/blob/0529245488865038344d64fff7ee05864d3d17f6/hw/riscv/virt.c#L88)。 ``` [VIRT_VIRTIO] = { 0x10001000, 0x1000 }, ``` 左边是起始位置,右边是大小。

> 为什么对比第二章的trap.S文件少了 mv sp, a0 `__restore`在这里被两种情况复用了: 1. 正常从`__alltraps`走下来的`trap_handler`流程。如果是这种情况,`trap_handler`会在`a0`里返回之前通过`mv a0, sp`传进去的`&mut TrapContext`,所以这里`sp`和`a0`相同没有必要再`mv sp, a0`重新设置一遍。 2. app第一次被`__switch`的时候通过`__restore`开始运行。这时候`a0`是个无关的数据(指向上一个`TaskContext`的指针),这里再`mv sp a0`就不对了,而`__restore`要的`TrapContext`已经在`__switch`的恢复过程中被放在`sp`上了。(这个`sp`就是初始化时写完`TrapContext`后的内核栈顶) ```rust for (i, task) in tasks.iter_mut().enumerate() { task.task_cx = TaskContext::goto_restore(init_app_cx(i)); task.task_status = TaskStatus::Ready;...

> 有没有人能解释一下为什么会有多个内核栈呀,不应该就一个吗 这章改成了每个任务都有一个内核栈了。 一开始我也是想着怎么能优雅地在不同的任务间切换并安全地共享同一个内核栈,发现很困难。 每个任务一个内核栈是最简单直接的做法。

```rust pub fn sigaction(signum: i32, action: *const SignalAction, old_action: *const SignalAction) -> isize { sys_sigaction(signum, action, old_action) } ``` 这里`old_action`的类型应该是`*mut SignalAction`。 --- 如何->**如果**内核发现进程由于内存访问错误等产生异常 --- > sys_kill``的主要工作是对进程号为pid的进程发值为signum的信号。具体而言,先根据 ``pid 这段似乎少了``` ` ```,导致格式有点乱。

>注解 >按需分页(Demand Paging) >还有一点需要注意,交换区 **不不是**->并不是 应用程序的页面换入换出的唯一区域。

``` RISC-V 架构的 U (用户态)特权级中断 目前,RISC-V 用户态中断作为代号 N 的一个指令集拓展而存在。有兴趣的同学可以阅读最新版的 RISC-V 特权级架构规范一探究竟。 ``` N extension在最新版(20211203)的privileged spec里被移除了…… ``` Preface ... Additionally, the following compatible changes have been made since version 1.11: -...