misc.c
来自「一个Windows下的Linux专用虚拟机」· C语言 代码 · 共 44 行
C
44 行
/* * 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 "../ddk.h"#include <colinux/os/kernel/misc.h>unsigned long co_os_virt_to_phys(void *addr){ PHYSICAL_ADDRESS pa; pa = MmGetPhysicalAddress((PVOID)addr); return pa.QuadPart;}co_rc_t co_os_physical_memory_pages(unsigned long *pages){ SYSTEM_BASIC_INFORMATION sbi; NTSTATUS status; co_rc_t rc = CO_RC(OK); status = NtQuerySystemInformation(SystemBasicInformation, &sbi, sizeof(sbi), NULL); if (status != STATUS_SUCCESS) return CO_RC(ERROR); *pages = sbi.NumberOfPhysicalPages; /* * Round to 16 MB boundars, since Windows doesn't return the * exact amount but a bit lower. */ *pages = ~0xfff & ((*pages) + 0xfff); return rc;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?