Xen虚拟机检测
来源:互联网 发布:数据监控软件 编辑:程序博客网 时间:2024/06/02 02:03
应用程序如何获知自己是否工作在Xen 虚拟机中呢?
使用CPUID指令可以完成该任务。
uint32_t eax, ebx, ecx, edx, pages, msr, i;char signature[13];cpuid(0x40000000, &eax, &ebx, &ecx, &edx);*(uint32_t*)(signature + 0) = ebx;*(uint32_t*)(signature + 4) = ecx;*(uint32_t*)(signature + 8) = edx;signature[12] = 0;if (strcmp("XenVMMXenVMM", signature) || (eax < 0x40000002)) { printk("%s\n", signature); return -EINVAL;}
在Xen中,当使用0x40000000作为CPUID的参数时,能够得到“XenVMMXenVMM”这样的字符串。这是在Xen源码中定义的。
\xen\include\public\arch-x86\cpuid.h**#define XEN_CPUID_SIGNATURE_EBX 0x566e6558 /* "XenV" */**#define XEN_CPUID_SIGNATURE_ECX 0x65584d4d /* "MMXe" */**#define XEN_CPUID_SIGNATURE_EDX 0x4d4d566e /* "nVMM" */******
阅读全文
0 0
- Xen虚拟机检测
- Xen虚拟机
- XEN虚拟机安装过程
- XEN虚拟机随系统启动
- xen虚拟机安装备忘
- Xen 虚拟机迁移方案
- XEN: Linux虚拟机软体
- xen 虚拟机安装
- Xen虚拟机克隆
- linux 虚拟机 xen安装
- xen虚拟机网络设置
- 利用Xen安装虚拟机
- Xen虚拟机迁移技术
- Fedora16安装XEN虚拟机
- xen虚拟机搭建方法
- Xen虚拟机简介
- XEN虚拟机复制
- vnc连接xen虚拟机
- Eclipse中project项目转web项目
- Android清除本地数据缓存代码
- 线程同步问题小记
- 网站解决高并发,实现高可用
- 区块链(一)-Ethereum平台在Mac上的搭建
- Xen虚拟机检测
- avaya交换机TSAPI接口开发Demo 查看源码: cstadefs.h
- Spring计划任务(定时任务)
- Cannot find class [org.springframework.http.converter.json.MappingJacksonHttpMessageConverter]
- 一个程序员的三亚旅游
- linux 使用curl命令发送get和post请求
- 51nod 1483 化学变换 (枚举+bfs or 枚举+技巧)
- Js常用正则表达式
- MySQL 5.6 my.cnf配置优化