[video member=miotatsu stream_platform=twitch project=riscy title="Studying local-interrupts Demo" vod_platform=youtube id=oB4Ll_ZPPBY annotator=Miblo]
[0:14][@riskyfive][Do you have any init.h in your RISC-V SDKs?]
[0:59][@riskyfive][It's required by riscv-tests, but I can't find it anywhere]
[2:18][Shout-out to The RISC-V Reader: An Open Architecture Atlas[ref
    site="The RISC-V Reader: An Open Architecture Atlas"
    url=http://riscvbook.com/]]
[5:42][Plug RISC-V Books[ref
    site=RISC-V
    page="RISC-V Books"
    url=https://riscv.org/risc-v-books/]]
[7:12][@riskyfive][By the way, you totally have to read these three blog posts[ref
    site="SiFive Blog"
    author="Palmer Dabbelt"
    page="All Aboard, Part 1: The -march, -mabi, and -mtune arguments to RISC-V Compilers"
    url=https://www.sifive.com/blog/2017/08/14/all-aboard-part-1-compiler-args/][ref
    site="SiFive Blog"
    author="Palmer Dabbelt"
    page="All Aboard, Part 2: Relocations in ELF Toolchains"
    url=https://www.sifive.com/blog/2017/08/21/all-aboard-part-2-relocations/][ref
    site="SiFive Blog"
    author="Palmer Dabbelt"
    page="All Aboard, Part 3: Linker Relaxation in the RISC-V Toolchain"
    url=https://www.sifive.com/blog/2017/08/28/all-aboard-part-3-linker-relaxation-in-riscv-toolchain/]]
[8:44][Plug SiFive's bi-monthly newsletter[ref
    site=Twitter
    page="Earlier this morning, we shipped the 2nd iteration of our bi-monthly newsletter, The SiFive Download! Take a look"
    url=https://twitter.com/SiFiveInc/status/902606788310249472]]
[9:12][Plug the 100-subscriber milestone giveaway contest[ref
    site=Twitter
    page="[Announcement] Giveaway Contest (100 Subs)!"
    url=https://twitter.com/hmn_riscy/status/908924885598113792]]
[10:05][Jump back into perusing the demos]
[10:45][@riskyfive][Be right back]
[10:49][Continue to peruse the demos]
[11:18][Mention the second webcam]
[13:45][@riskyfive][Back]
[13:49][Plan our studies]
[14:45][@riskyfive][So what's the plan, again? Sorry]
[15:10][Jump in to the local_interrupts.c demo][:research]
[22:35][Consult handle_trap() in the HiFive1's init.c][:research]
[23:36][Continue studying local_interrupts.c, on the Machine Software Interrupt Handler][:research]
[26:56][Check out SiFive's site for information on the E51 Coreplex[ref
    site=SiFive
    page=Products
    url=https://www.sifive.com/products/coreplex-risc-v-ip/] and the Freedom platforms[ref
        site=SiFive
        page="Freedom Platforms"
        url=https://www.sifive.com/products/freedom/]]
[29:13][@riskyfive][That's not new. But they don't sell it]
[29:41][Continue to check out the E51[ref
        site=SiFive
        page="Freedom Platforms"
        url=https://www.sifive.com/products/freedom/]]
[32:36][Continue to study local_interrupts.c, on :"input handling" and :timing][:research]
[40:50][Hunt for MIP_MLIP][:research]
[44:50][Learn the definition of MIP_MLIP, and review set_csr()][:research]
[48:01][Learn the LOCAL_INT_* definitions][:research]
[48:38][@bananathemonkey][Probably the lower 16b are reserved for something else]
[48:53][Relate those LOCAL_INT* values to their usage in enable_local_interrupts()][:research]
[51:03][Shifting MIP_MLIP by local interrupt values][:blackboard :memory]
[52:34][@bananathemonkey][It's the amount you're left-shifting by, though, not the actual value]
[53:55][@bananathemonkeys][It looks like it's a single bit mask for a 32b field where the lower 16b are reserved for something (local interrupts, maybe?)]
[54:14][Address some texts]
[55:21][Wrap it up with a shout-out to new Patreon supporters]
[/video]
