Normal World-Realm World and RME-RMM architecture

Hi everyone,

  I'm trying to understand the architecture underneath normal world and realm world.

  So in FVP, I can boot the normal world first, then boot the realm world to run application in it. But by doing so, I can't debug the application since I can only do it in Arm DS.

  If I want to create a realm VM, I will need to invoke libraries from RME(RMM) to create a realm world VM and then it counts as running an application in realm world.

  My question is:

  what's the difference between running an application in realm world in FVP and writing a C++ program using RME libraries but I run the application in normal world in FVP.

  Do they count as all running applications in realm world or not?

  

Much appreciated if anyone can help me!

Parents
  • Thank you so much!

    My following up question is: 

    Apparently in FVP, I boot the FVP first, and then I use lkvm to boot the realm VM, and then I can run the application inside the realm VM.

    However, I don't see anyway I can actually write the c++ program so that it can boot a realm VM? Since FVP is just a software simulation stack, does it mean that each company who acquires ARM Armv9 architecture will have its own way of implementing RME/RMM?

Reply
  • Thank you so much!

    My following up question is: 

    Apparently in FVP, I boot the FVP first, and then I use lkvm to boot the realm VM, and then I can run the application inside the realm VM.

    However, I don't see anyway I can actually write the c++ program so that it can boot a realm VM? Since FVP is just a software simulation stack, does it mean that each company who acquires ARM Armv9 architecture will have its own way of implementing RME/RMM?

Children
No data