Updating hypervisor event trace descriptions (optional)

The QNX Momentics IDE System Profiler includes text descriptions of qvm events, so you don't need to do anything special to show these events.

Get or create an event-descriptions file

If you don't have the qvm event descriptions for the QNX Momentics IDE System Profiler, or if you need to update the qvm event descriptions to newer versions, you can create an event-descriptions file and copy it into your IDE project. To do this:

  1. Get or create an events description file (e.g., qvm_events.xml), and save it to a convenient location.
  2. Copy this file into the root directory of the IDE project in which you will use the IDE's System Profiler.

See Example of a descriptions file below for an example of a qvm events descriptions file.

Load the event-descriptions file

After you have the qvm_events.xml in your project's root directory, you need to load the file into the IDE:

  1. Start the QNX Momentics IDE.
  2. In the System Profiler perspective, select the Project Explorer tab.
  3. Right-click on the target system for your hypervisor target, then select Import > General > Filesystem.
  4. Browse to the directory containing your qvm_events.xml file and click OK.
  5. Select your qvm_events.xml file and click Finish.
  6. Select the Windows menu item at top, then Preferences > QNX > System Profiler > User Event Data.
  7. Select Browse... and find the qvm_events.xml file that you just imported into your project. Select this file and click OK.
  8. Exit the QNX Momentics IDE.
  9. Restart the IDE and connect to a target board running a hypervisor system.
  10. Load any *.kev file into the System Profiler. You should see the qvm process trace events, including the Class 10 events (see Hypervisor trace events).
Note: You only need to do this for one project on your development seat.When you have done this once, the System Profiler will be able to use the qvm_events.xml file and its descriptions for all other projects.

Example of a descriptions file

Below, for reference, is a copy of the content of an XML (qvm_events.xml) event-descriptions file:

<eventdefinitions>
	<!–– Guest Entry ––>
	<datakey format="%8u1x guest_ip">
		<event class="10" id="0" />
	</datakey>
	<!–– Guest Exit ––>
	<datakey format="%4u1x status %4u1x reason %8u1x 
		cc_offset %8u1x guest_ip %8u1x payload">
		<event class="10" id="1" />
	</datakey>
	<!–– vCPU create ––>
	<datakey format="%4u1x vcpu_id">
		<event class="10" id="2" />
	</datakey>
	<!–– Raise interrupt ––>
	<datakey format="%4u1x vcpu_id %4u1x interrupt">
		<event class="10" id="3" />
	</datakey>
	<!–– Lower interrupt ––>
	<datakey format="%4u1x vcpu_id %4u1x interrupt">
		<event class="10" id="4" />
	</datakey>
	<!–– Create timer ––>
	<datakey format="%4u1x timer_id %4u1x cpu_id">
		<event class="10" id="5" />
	</datakey>
	<!–– Timer fire ––>
	<datakey format="%4u1x timer_id">
		<event class="10" id="6" />
	</datakey>
	<!–– Guest entry and exit ––>
	<datakey format="%8u1x at_entry %8u1x at_exit">
		<event class="10" id="7" />
	</datakey>
</eventdefinitions>