<p><span class="h-card" translate="no"><a href="https://donotsta.re/users/mwk" class="u-url mention">@<span>mwk</span></a></span> <span class="h-card" translate="no"><a href="https://oldbytes.space/@millihertz" class="u-url mention">@<span>millihertz</span></a></span> <span class="h-card" translate="no"><a href="https://tech.lgbt/@becomethewaifu" class="u-url mention">@<span>becomethewaifu</span></a></span> this is where we take advantage of the fact that the the PL has an axi port that allows fabric to talk to hard IP on the PS side.</p><p>and I *think* (if this doesn't work, it's 100% definitely doable over EMIO JTAG but that would make it even more cursed) you can access CoreSight APB registers on the PS side from PL this way.</p><p>So you make an RTL context switcher module that periodically halts the A9, serializes its registers out to block RAM, loads a new context, loads a new page table, flushes caches etc as needed, then resumes execution.</p><p>Boom, hardware threading with no kernel mode software.</p>