Skip to content

LearningOS/rCore-Tutorial-Test-2022A

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rCore_tutorial_v3 TESTS

本项目用于为 rCore 实验进行 CI 测试,在 user 目录下 make all CHAPTER=x 可获得第 x 章的测例。

  • 可选项 2, 3_0, 3_2, 4, 5, 6, 7。

重要-加载地址更新:

  • chapter2 所有程序加载位置位于 0x80400000,与示例代码一致。
  • chapter3 测试程序分为 3 批,每一批的地址都为 0x80400000 + id*0x20000,id 为程序在这一批中的序号。每一批都与参考代码一致,请分别测试。
  • chapter4-7 所有程序加载位置位于 0x0,与示例代码一致。

可以在 user/build/asm 目录下查看汇编来确认加载地址。

测例更新

  • 一部分无用测例已删除,包括 ch2_helloworld, ch3_1_yield 等。
  • sleep 测例被转移到第四章
  • ch4 之后不再测试 write1

rust 的把user测例分散到了各个branch里,当时想的是尽量把测试的过程屏蔽掉,现在看确实不便于管理,这学期就先这样算了.

各章的测例

ch3

test1:write0 write1

test2:setprio

test3:stride的六个测例

ch4

test1:sleep0 sleep1 测试 sys_time

test2:map0123 unmap12 测试 map unmap 实现

ch5 6 7 8

    "test_sleep\0",
    "test_sleep1\0",
    "test_mmap0\0",
    "test_mmap1\0",
    "test_mmap2\0",
    "test_mmap3\0",
    "test_unmap\0",
    "test_unmap2\0",
    "test_spawn0\0",
    "test_spawn1\0",
    // ch6
    "test_mail0\0",
    "test_mail1\0",
    "test_mail2\0",
    "test_mail3\0",
	// ch7
    "test_file0\0",
    "test_file1\0",
    "test_file2\0",
    // ch8
    ...

share mem 的测例放着就行。

ch8 先不管。