QNX Hypervisor 2.2 用户手册2.3 检查guest环境

Posted 高桐@BILL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QNX Hypervisor 2.2 用户手册2.3 检查guest环境相关的知识,希望对你有一定的参考价值。

写在前面

hyperviosr提供了一种机制允许一个guest决定是否运行在一个虚拟环境中,尤其是QNX hypervisor环境。

一、ARM 平台

在ARM平台上,检查描述guest系统的Flattened Device Tree(FDT)的属性。如果属性设置为QVM-v8A,则系统的宿主是QNX Hypervisor VM。

二、X86平台

对于x86平台,查看硬件文档,了解guest需要检查哪个 CPUID 寄存器位,以了解它是否在hypervisor中运行。在寄存器中,它需要查找 VM ID 字符串。QNX hypervisor VM的ID字符串是“QNXQVMBS”。

下面是一段在QNX guest中可能会用到的c程序案例,这段程序用来检查guest是否运行在x86平台上的QNX hypervisor中。

#include <stdio.h>
#include <stdint.h>
#include <string.h>
#include <arpa/inet.h>
 
int cpuid(uint32_t id, uint32_t *regs) 
       asm volatile ("cpuid"
             : "=a" (regs[0]), "=b" (regs[1]), "=c" (regs[2]), "=d" (regs[3])
             : "a" (id), "c" (0));
       return 0;

 
static const char * const qnxstr = "QNXQVMBS";
 
int main(int argc, char *argv[])

       uint32

以上是关于QNX Hypervisor 2.2 用户手册2.3 检查guest环境的主要内容,如果未能解决你的问题,请参考以下文章

[QNX Hypervisor 2.2用户手册]5.3 关闭QNX Hypervisor

[QNX Hypervisor 2.2用户手册]5.3 关闭QNX Hypervisor

[QNX Hypervisor 2.2用户手册]9.20 vdev

QNX Hypervisor 2.2 用户手册1.理解QNX虚拟环境

QNX Hypervisor 2.2 用户手册1.6 设备

[QNX Hypervisor 2.2用户手册]6.1 使用QNX Hypervisor系统