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

📄 cpu.c

📁 linux 内核源代码
💻 C
字号:
/* -*- linux-c -*- ------------------------------------------------------- * * *   Copyright (C) 1991, 1992 Linus Torvalds *   Copyright 2007 rPath, Inc. - All Rights Reserved * *   This file is part of the Linux kernel, and is made available under *   the terms of the GNU General Public License version 2. * * ----------------------------------------------------------------------- *//* * arch/i386/boot/cpu.c * * Check for obligatory CPU features and abort if the features are not * present. */#include "boot.h"#include "bitops.h"#include <asm/cpufeature.h>static char *cpu_name(int level){	static char buf[6];	if (level == 64) {		return "x86-64";	} else {		sprintf(buf, "i%d86", level);		return buf;	}}int validate_cpu(void){	u32 *err_flags;	int cpu_level, req_level;	check_cpu(&cpu_level, &req_level, &err_flags);	if (cpu_level < req_level) {		printf("This kernel requires an %s CPU, ",		       cpu_name(req_level));		printf("but only detected an %s CPU.\n",		       cpu_name(cpu_level));		return -1;	}	if (err_flags) {		int i, j;		puts("This kernel requires the following features "		     "not present on the CPU:\n");		for (i = 0; i < NCAPINTS; i++) {			u32 e = err_flags[i];			for (j = 0; j < 32; j++) {				if (e & 1)					printf("%d:%d ", i, j);				e >>= 1;			}		}		putchar('\n');		return -1;	} else {		return 0;	}}

⌨️ 快捷键说明

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