In particular, the previous set of debug info only looked at one of the superscalar ways, assuming the 0th was always the next instruction, but there's a level of indirection to map ports to ways that was missed. But now we dump out both ways and more. And yes, I fully recognise the atrocity that is the type in use here... please forgive me. It doesn't help that bsc is buggy and gets confused about the structure of nested tuples[1]. Drops the commit debug output to only the low 32 bits of PCC's address and no instruction bits; as this has been committed it should be (and has always been observed to be) within bounds and, thus, fit in 32 bits when running in M-mode, with the instruction bits obtainable from the binary. I'd much rather know about potentially-dodgy speculative addresses than things we can reliably infer given the limited number of DMI registers free (though we could hijack other encodings if necessary). [1] https://github.com/B-Lang-org/bsc/issues/199
10 KiB
10 KiB