Booting Linux on RISC-V Emulator

I am using OpenSBI as firmware to load Linux in S-Mode as per requirements. I have worked on device tree and the Virtual to physical address mapping that are necessary to load kernel. Now I am stuck at some point in the linux payload. I need to understand how kernel loads up like the process in detail and also how does an emulator describe a userspace (interactive).

I have been using https://github.com/openhwgroup/cva6-sdk for reference but couldn’t get much help onwards. I am a bit new so it would be helpful if someone can guide me to a useful resource.