Changes between Version 20 and Version 21 of GSoC/2013/ParavirtualizationOfRTEMS

Apr 29, 2013, 4:25:03 PM (6 years ago)

/* Paravirtualization layer */ RTEMS startup as a guest issue


  • GSoC/2013/ParavirtualizationOfRTEMS

    v20 v21  
    4343 *  '''faultHandler''' -> is called by POK, when a fault occurrs
    4444 *  tbc
     46=  RTEMS startup as a guest  =
     49In L4RTEMS the wrapper task loads the RTEMS elf-binary, stores the initial IP and SP in the vCPU registers and starts the vCPU.
     50Therefore the binary is passed as a command line argument.
     52We need to keep in mind, that issue should NOT lead to hacks in the virtualization layer of RTEMS.
     53It is more of a hypervisor/host issue and needs to be resolved in this scope and this scope only.
     55How can we start RTEMS on POK?
     56The closest abstraction to the L4-vCPU I have found in POK is the software partition itself.
     57However, if we can make it, we need to change the partitions SP,IP and EAX register, while running on it.
     58This looks like a hack and not like a careful design.
     60But there are other options.
     61One I can think of is:
     62 *  compiling the library in POK.
     63 *  provide the lib to RTEMS and compile the application.
     64 *  pass the binary back to POK and combine kernel and binary.
     66This approach was partly used in the GSoC 2012 project.
     68Another approach would be :
     69 *  compile RTEMS and do a first linking run
     70 *  compile POK and pass the partly linked RTEMS file along
     71  *  The POK starter function would do the env setup and then call the RTEMS start() (0x10000c)
    4572=  Virtual CPU Issue  =