// Ugly hack. For some reason if I don't give this first load, subsequent mem | |
// ops will trap on Flute-TCM. | |
li a3, 0x80000000 | |
cspecialr ca4, mtdc | |
csetaddr ca4, ca4, a3 | |
clc c0, 0(ca4) | |
// The shadow memory may not be zeroed, ensure it is before we start or | |
// random capability loads will fail. | |
li a0, FLUTE_SHADOW_BASE | |
csetaddr ca0, ca4, a0 | |
li a1, FLUTE_SHADOW_BASE + FLUTE_SHADOW_SIZE | |
cjal .Lfill_block |