New Feature: Runtime loadable modules Date: Wed, 8 Aug 2012 11:47:48 +0530  |  Posted by: Anup Patel

We have "Runtime Loadable Modules" support available in Xvisor. This will be available in mainline tree from next release.

To list all available modules use "module list" command.

To get detailed info about any module we can use "module info <index>"command.

To make module as loadable module:

  1. mark the module as "M" from menuconfig (Note: the openconf option for loadable module should be tristate and not bool)
  2. compile Xvisor "make"
  3. compile loadable modules "make modules"

To load a module (.xo object file) from any memory location using "module load <phys_addr> <phys_size>" command. For e.g.

XVisor# module load 0x70600000 0x10000
(Note: In future, same "module load" command will support loading .xo objects stored in some storage device)

To unload a module we have to use "module unload ".
(Note: "built-in" modules cannot be unloaded. Only "loadable" modules can be unloaded.)

Xvisor is now fully extensible hypervisor and can be extended at compile-time as well as run-time.

This also opens doors for a wide variety of proprietary solutions (non-GPL) such as:

  1. Proprietary drivers
  2. Proprietary emulators
  3. Proprietary daemons
  4. Bla Bla Bla ....