RISCY BUSINESS»Episode Guide
Understanding read_csr(mhartid)
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next marker
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)

Menu toggling

q Quotes r References f Filter y Link c Credits

In-Menu Movement

a
w
s
d
h j k l


Quotes and References Menus

Enter Jump to timecode

Quotes, References and Credits Menus

o Open URL (in new tab)

Filter Menu

x, Space Toggle category and focus next
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus

Filter and Link Menus

z Toggle filter / linking mode

Credits Menu

Enter Open URL (in new tab)
0:06Set the stage for the day
0:06Set the stage for the day
0:06Set the stage for the day
0:42Read through plic.h
0:42Read through plic.h
0:42Read through plic.h
2:21Read through encoding.h, where we find read_csr()
2:21Read through encoding.h, where we find read_csr()
2:21Read through encoding.h, where we find read_csr()
6:33Read freedom-e300-hifive1/platform.h
6:33Read freedom-e300-hifive1/platform.h
6:33Read freedom-e300-hifive1/platform.h
8:07Consult the manual: Memory Map, and Interrupts1
📖
8:07Consult the manual: Memory Map, and Interrupts1
📖
8:07Consult the manual: Memory Map, and Interrupts1
📖
11:59Continue reading plic_driver.c with a view to understanding read_csr(mhartid)
11:59Continue reading plic_driver.c with a view to understanding read_csr(mhartid)
11:59Continue reading plic_driver.c with a view to understanding read_csr(mhartid)
13:17Consult the User-Level spec on CSR instructions2
📖
13:17Consult the User-Level spec on CSR instructions2
📖
13:17Consult the User-Level spec on CSR instructions2
📖
19:05Atomic Read and Set Bits in CSR
🖌
19:05Atomic Read and Set Bits in CSR
🖌
19:05Atomic Read and Set Bits in CSR
🖌
26:50Consult the Privileged ISA Spec on CSR 3
📖
26:50Consult the Privileged ISA Spec on CSR 3
📖
26:50Consult the Privileged ISA Spec on CSR 3
📖
30:30Begin to understand the csrr instruction, aided by the table of CSR addresses
📖
30:30Begin to understand the csrr instruction, aided by the table of CSR addresses
📖
30:30Begin to understand the csrr instruction, aided by the table of CSR addresses
📖
34:34Learn that mhartid is the "Hardware thread ID"
📖
34:34Learn that mhartid is the "Hardware thread ID"
📖
34:34Learn that mhartid is the "Hardware thread ID"
📖
39:56Read about the Machine-Level ISA4
📖
39:56Read about the Machine-Level ISA4
📖
39:56Read about the Machine-Level ISA4
📖
45:25insofaras I think the %0 refers to the _tmp variable
🗪
45:25insofaras I think the %0 refers to the _tmp variable
🗪
45:25insofaras I think the %0 refers to the _tmp variable
🗪
45:59insofaras The GCC inline asm syntax is pretty weird
🗪
45:59insofaras The GCC inline asm syntax is pretty weird
🗪
45:59insofaras The GCC inline asm syntax is pretty weird
🗪
46:56Summarise what read_csr(mhartid) is doing
46:56Summarise what read_csr(mhartid) is doing
46:56Summarise what read_csr(mhartid) is doing
47:33Move on to the next line of code
47:33Move on to the next line of code
47:33Move on to the next line of code
50:20The parameters that csrr takes, and what read_csr() and mhartid are
🖌
50:20The parameters that csrr takes, and what read_csr() and mhartid are
🖌
50:20The parameters that csrr takes, and what read_csr() and mhartid are
🖌
53:47Discover what _AC() and PLIC_ENABLE_OFFSET() are
53:47Discover what _AC() and PLIC_ENABLE_OFFSET() are
53:47Discover what _AC() and PLIC_ENABLE_OFFSET() are
56:51Determine to consult the spec tomorrow
56:51Determine to consult the spec tomorrow
56:51Determine to consult the spec tomorrow