I observe this when doing emulation with RISCV project. The Function I'm putting break point, and opened by "B::List C:XXXXXXXX" will show the disassembled code as below for the first round of emulation. The address is indicated to be UP:XXXXXXXX, I guess this means currently running in user mode?
UP:XXXXXXXX MyFunctionName: auipc x6, 0xYYYYY
UP:XXXXXXXX+1 jalr x5, 0xZZZ(x6)
However, the second round onwards, the same code will become MP:XXXXXXXX (machine mode code?)
MP:XXXXXXXX MyFunctionName: auipc x6, 0xYYYYY
MP:XXXXXXXX+1 jalr x5, 0xZZZ(x6)
Is there anyone seeing the same? And what may cause this? What does UP and MP mean? Thanks.