Open chyyuu opened 5 years ago
RISC-V的特权模式有哪些,具有哪些特点?
RISC-V的Supervisor CSRs有哪些,每个CSR的主要作用是啥?
在Supervisor模式下,哪些寄存器的哪些位需要预先设置为何值,软件才可以处理机器的时钟中断?
当CPU发生异常时,硬件自动执行的操作序列(包括状态转换)具体有哪些?
satp寄存器的MODE域,ASID域和PPN域有何用途?
请描述S 模式和 U 模式中的虚拟地址转换成物理地址的硬件过程。
sfence.vma 指令的作用是什么?OS一般在哪种情况下会调用这个指令?
SBI是啥?有何功能?具体内容包含啥?
CLINT (Core Local Interruptor)的定义和具体的含义是啥?
CLIC(Core-Local Interrupt Controller)的定义和具体的含义是啥?
hart(HARdware Thread)的定义和具体的含义是啥?
PLIC(Platform-Level Interrupt Controller)的定义和具体的含义是啥?
通过分析qemu的risc-v virt模拟实现,了解risc- virt的体系结构和硬件启动流程[有一定难度]
通过分析Berkeley Boot Loader(BBL)的实现,了解bootloader软件在risc-v硬件启动后要做的事情[有一定难度]
裁剪BBL,在完成启动ucore OR rcore的基本功能的同时,取消不必要的多余功能[有一定难度]
分析 C_lang-based-uCore-Kernel os labs 中的lab0/1/2,了解kernel 启动/中断处理和页表建立[有一定难度]
编译运行 C_lang-based-uCore-Kernel os labs [有一定难度]
升级C_lang-based-uCore-Kernel os labs 支持RISC-V Privilege: Mode 1.11,达到能在QEMU4.1.0上运行[有难度]
请解释如下代码在不同编译选项下成功和失败的原因。 test.c源码
long global_symbol; int _start() { return global_symbol; }
编译命令A:
riscv64-unknown-elf-gcc test.c -nostartfiles -nostdlib -o test --save-temps -Wl,-Ttext-segment,0x80000000
编译命令B:
riscv64-unknown-elf-gcc test.c -nostartfiles -nostdlib -o test --save-temps
RISC-V的特权模式有哪些,具有哪些特点?
RISC-V的Supervisor CSRs有哪些,每个CSR的主要作用是啥?
在Supervisor模式下,哪些寄存器的哪些位需要预先设置为何值,软件才可以处理机器的时钟中断?
当CPU发生异常时,硬件自动执行的操作序列(包括状态转换)具体有哪些?
satp寄存器的MODE域,ASID域和PPN域有何用途?
请描述S 模式和 U 模式中的虚拟地址转换成物理地址的硬件过程。
sfence.vma 指令的作用是什么?OS一般在哪种情况下会调用这个指令?
SBI是啥?有何功能?具体内容包含啥?
CLINT (Core Local Interruptor)的定义和具体的含义是啥?
CLIC(Core-Local Interrupt Controller)的定义和具体的含义是啥?
hart(HARdware Thread)的定义和具体的含义是啥?
PLIC(Platform-Level Interrupt Controller)的定义和具体的含义是啥?
通过分析qemu的risc-v virt模拟实现,了解risc- virt的体系结构和硬件启动流程[有一定难度]
通过分析Berkeley Boot Loader(BBL)的实现,了解bootloader软件在risc-v硬件启动后要做的事情[有一定难度]
裁剪BBL,在完成启动ucore OR rcore的基本功能的同时,取消不必要的多余功能[有一定难度]
分析 C_lang-based-uCore-Kernel os labs 中的lab0/1/2,了解kernel 启动/中断处理和页表建立[有一定难度]
编译运行 C_lang-based-uCore-Kernel os labs [有一定难度]
升级C_lang-based-uCore-Kernel os labs 支持RISC-V Privilege: Mode 1.11,达到能在QEMU4.1.0上运行[有难度]
请解释如下代码在不同编译选项下成功和失败的原因。 test.c源码
编译命令A:
编译命令B: