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