[video member=miotatsu stream_platform=twitch project=riscy title="BareD, Story Time, & measure_cpu_freq" vod_platform=youtube id=A3WD0IVXD64 annotator=Miblo]
[0:08][Recap and set the stage for the day]
[0:57][Consult forum responses regarding zero-initialisation[ref
    site="SiFive Forums"
    page="The Big RISCY BUSINESS Question Thread"
    url=https://forums.sifive.com/t/the-big-riscy-business-question-thread/531/4]][:platform :research]
[3:14][Mention an upcoming collaboration with @RiskyFive]
[6:07][Walk through BareD[ref
    site=GitHub
    page=BareD
    url=https://github.com/miotatsu/BareD]][:language]
[10:02][BareD's cstr.d[ref
    site=GitHub
    page=BareD
    url=https://github.com/miotatsu/BareD]][:language :"string manipulation"]
[13:06][BareD's platform.d[ref
    site=GitHub
    page=BareD
    url=https://github.com/miotatsu/BareD]][:language :memory :"platform layer"]
[18:47][BareD's ldc_linux_x86_64.d[ref
    site=GitHub
    page=BareD
    url=https://github.com/miotatsu/BareD]][:language :"platform layer"]
[26:20][Plug "Writing C software without the standard library: Linux Edition"[ref
    site="Franc\[e\]sco's Gopherspace"
    page="Writing C software without the standard library: Linux Edition"
    url=http://weeb.ddns.net/0/programming/c_without_standard_library_linux.txt]][:platform :research]
[27:47][Recount :experience programming Piworld[ref
    site=imgur
    page=Piworld
    url=https://imgur.com/a/vhR3T] in TI_BASIC assembly][:asm]
[32:29][The origin story of ~riscy][:trivia]
[34:03][Read through get_cpu_freq() in init.c and study measure_cpu_freq()][:hardware :research]
[39:20][Marry up the value returned by get_timer_freq() with the documentation on RTC Count Registers[ref
        site="SiFive Developers"
        page="Platform Reference Manual"
        url=https://www.sifive.com/documentation/freedom-soc/freedom-e300-platform-reference-manual/]][:hardware :research]
[42:28][Marry up mtime_lo() and mtime_hi() with the CLINT documentation[ref
        site="SiFive Developers"
        page="E3 Coreplex Manual"
        url=https://static.dev.sifive.com/pdfjs/web/viewer.html?file=https://static.dev.sifive.com/SiFive-E3-Coreplex-v1.2.pdf]][:hardware :research]
[47:40][Skim through the Control and Status Registers documentation[ref
    site="RISC-V"
    page="Draft Privileged ISA Specification v1.9.1"
    url=https://riscv.org/specifications/privileged-isa/]][:hardware :research]
[52:20][Read 3.1.15 Hardware Performance Monitor, on mcycle[ref
    site="RISC-V"
    page="Draft Privileged ISA Specification v1.9.1"
    url=https://riscv.org/specifications/privileged-isa/]][:hardware :research]
[56:27][Summarise what the mcycle is, and relate it to measure_cpu_freq()][:hardware :research :timing]
[59:07][Don the Thinking Cap with the determination to work through the CPU frequency formula on the whiteboard]
[/video]
