tg-rcore-tutorial-user 0.4.2-preview.1

User-space apps for rCore Tutorial chapters (subset for ch2).
Documentation
[ch2]
base = 0x8040_0000
step = 0
cases = [
    "00hello_world",
    "01store_fault",
    "02power",
    "03priv_inst",
    "04priv_csr",
    "08power_3",
    "09power_5",
    "10power_7",
]

[ch3]
base = 0x8040_0000
step = 0x0020_0000
cases = [
    "00hello_world",
    "01store_fault",
    "02power",
    "03priv_inst",
    "04priv_csr",
    "05write_a",
    "06write_b",
    "07write_c",
    "08power_3",
    "09power_5",
    "10power_7",
    "11sleep",
]

[ch4]
cases = [
    "00hello_world",
    "01store_fault",
    "02power",
    "03priv_inst",
    "04priv_csr",
    "05write_a",
    "06write_b",
    "07write_c",
    "08power_3",
    "09power_5",
    "10power_7",
    "11sleep",
    "sbrk",
]

[ch5]
cases = [
    "00hello_world",
    "01store_fault",
    "02power",
    "03priv_inst",
    "04priv_csr",
    "05write_a",
    "06write_b",
    "07write_c",
    "08power_3",
    "09power_5",
    "10power_7",
    "12forktest",
    "13forktree",
    "14forktest2",
    "15matrix",
    "fork_exit",
    "forktest_simple",
    "sbrk",
    "ch5b_usertest",
    "user_shell",
    "initproc",
]

[ch6]
cases = [
    "00hello_world",
    "01store_fault",
    "02power",
    "03priv_inst",
    "04priv_csr",
    "05write_a",
    "06write_b",
    "07write_c",
    "08power_3",
    "09power_5",
    "10power_7",
    "12forktest",
    "13forktree",
    "14forktest2",
    "15matrix",
    "fork_exit",
    "forktest_simple",
    "sbrk",
    "filetest_simple",
    "cat_filea",
    "ch6b_usertest",
    "user_shell",
    "initproc",
]

[ch7]
cases = [
    "00hello_world",
    "01store_fault",
    "02power",
    "03priv_inst",
    "04priv_csr",
    "05write_a",
    "06write_b",
    "07write_c",
    "08power_3",
    "09power_5",
    "10power_7",
    "12forktest",
    "13forktree",
    "14forktest2",
    "15matrix",
    "fork_exit",
    "forktest_simple",
    "sbrk",
    "filetest_simple",
    "cat_filea",
    "sig_simple",
    "sig_simple2",
    "sig_ctrlc",
    "sig_tests",
    "pipetest",
    "pipe_large_test",
    "ch7b_usertest",
    "user_shell",
    "initproc",
]

[ch8]
cases = [
    "00hello_world",
    "01store_fault",
    "02power",
    "03priv_inst",
    "04priv_csr",
    "05write_a",
    "06write_b",
    "07write_c",
    "08power_3",
    "09power_5",
    "10power_7",
    "12forktest",
    "13forktree",
    "14forktest2",
    "15matrix",
    "fork_exit",
    "forktest_simple",
    "filetest_simple",
    "cat_filea",
    "sig_simple",
    "sig_simple2",
    "sig_ctrlc",
    "sig_tests",
    "threads",
    "threads_arg",
    "mpsc_sem",
    "sync_sem",
    "race_adder_mutex_blocking",
    "phil_din_mutex",
    "test_condvar",
    "pipetest",
    "pipe_large_test",
    "ch8b_usertest",
    "user_shell",
    "initproc",
]

[ch3_exercise]
base = 0x8040_0000
step = 0x0020_0000
cases = [
    "ch3_sleep",
    "ch3_sleep1",
    "ch3_trace",
]

[ch4_exercise]
cases = [
    "ch3_sleep",
    "ch3_sleep1",
    "ch3_trace",
    "ch4_mmap",
    "ch4_mmap1",
    "ch4_mmap2",
    "ch4_mmap3",
    "ch4_unmap",
    "ch4_unmap2",
    "ch4_trace",
]

[ch5_exercise]
cases = [
    "00hello_world",
    "08power_3",
    "09power_5",
    "10power_7",
    "05write_a",
    "06write_b",
    "07write_c",
    "ch3_sleep",
    "ch3_sleep1",
    "ch4_mmap",
    "ch4_mmap1",
    "ch4_mmap2",
    "ch4_mmap3",
    "ch4_unmap",
    "ch4_unmap2",
    "ch5_getpid",
    "ch5_exit0",
    "ch5_exit1",
    "ch5_spawn0",
    "ch5_spawn1",
    "ch5_setprio",
    "ch5_stride",
    "ch5_stride0",
    "ch5_stride1",
    "ch5_stride2",
    "ch5_stride3",
    "ch5_stride4",
    "ch5_stride5",
    "ch5_usertest",
    "user_shell",
    "initproc",
]

[ch6_exercise]
cases = [
    "00hello_world",
    "08power_3",
    "09power_5",
    "10power_7",
    "05write_a",
    "06write_b",
    "07write_c",
    "ch3_sleep",
    "ch3_sleep1",
    "ch4_mmap",
    "ch4_mmap1",
    "ch4_mmap2",
    "ch4_mmap3",
    "ch4_unmap",
    "ch4_unmap2",
    "ch5_getpid",
    "ch5_exit0",
    "ch5_exit1",
    "ch5_spawn0",
    "ch5_spawn1",
    "12forktest",
    "14forktest2",
    "fork_exit",
    "forktest_simple",
    "sbrk",
    "filetest_simple",
    "ch6_file0",
    "ch6_file1",
    "ch6_file2",
    "ch6_file3",
    "ch6_usertest",
    "user_shell",
    "initproc",
]

[ch8_exercise]
cases = [
    "00hello_world",
    "08power_3",
    "09power_5",
    "10power_7",
    "05write_a",
    "06write_b",
    "07write_c",
    "12forktest",
    "14forktest2",
    "fork_exit",
    "forktest_simple",
    "filetest_simple",
    "threads",
    "threads_arg",
    "mpsc_sem",
    "sync_sem",
    "race_adder_mutex_blocking",
    "phil_din_mutex",
    "test_condvar",
    "pipetest",
    "ch8_deadlock_mutex1",
    "ch8_deadlock_sem1",
    "ch8_deadlock_sem2",
    "ch8_usertest",
    "user_shell",
    "initproc",
]