⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 utils.c

📁 一个Windows下的Linux专用虚拟机
💻 C
字号:
/* * This source code is a part of coLinux source package. * * Dan Aloni <da-x@colinux.org>, 2003 (c) * * The code is licensed under the GPL. See the COPYING file at * the root directory. * */ #include <colinux/common/common.h>#include "utils.h"unsigned long co_get_cr4(void){	unsigned long cr4 = 0;	asm("mov %%cr4, %0" : "=r"(cr4));	return cr4;}bool_t co_is_pae_enabled(void){	return co_get_cr4() & 0x20;}unsigned long co_get_cr3(void){	unsigned long cr3 = 0;	asm("mov %%cr3, %0" : "=r"(cr3));	return cr3;}unsigned long co_get_dr0(void){	unsigned long reg = 0;	asm("mov %%dr0, %0" : "=r"(reg));	return reg;}unsigned long co_get_dr1(void){	unsigned long reg = 0;	asm("mov %%dr1, %0" : "=r"(reg));	return reg;}unsigned long co_get_dr2(void){	unsigned long reg = 0;	asm("mov %%dr2, %0" : "=r"(reg));	return reg;}unsigned long co_get_dr3(void){	unsigned long reg = 0;	asm("mov %%dr3, %0" : "=r"(reg));	return reg;}unsigned long co_get_dr6(void){	unsigned long reg = 0;	asm("mov %%dr6, %0" : "=r"(reg));	return reg;}unsigned long co_get_dr7(void){	unsigned long reg = 0;	asm("mov %%dr7, %0" : "=r"(reg));	return reg;}void co_fxsave(unsigned char *buffer){	asm("fxsave (%0) ; fnclex" : : "r"(buffer));}void co_fnsave(unsigned char *buffer){	asm("fnsave (%0) ; fwait" : : "r"(buffer));}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -