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

📄 vreset.c

📁 Linux内核源代码 为压缩文件 是<<Linux内核>>一书中的源代码
💻 C
📖 第 1 页 / 共 2 页
字号:
/* * vreset.c * * Initialize the VGA control registers to 80x25 text mode. * * Adapted from a program by: *                                      Steve Sellgren *                                      San Francisco Indigo Company *                                      sfindigo!sellgren@uunet.uu.net * * Original concept by: *                                      Gary Thomas <gdt@linuxppc.org> * Adapted for Moto boxes by: *                                      Pat Kane & Mark Scott, 1996 * Adapted for IBM portables by: *                                      Takeshi Ishimoto * Multi-console support: *                                      Terje Malmedal <terje.malmedal@usit.uio.no> */#include "iso_font.h"#include <linux/delay.h>extern char *vidmem;extern int lines, cols;/* estimate for delay */unsigned long loops_per_sec = 50000000;;/* * VGA Register   */struct VgaRegs{	unsigned short io_port;	unsigned char  io_index;	unsigned char  io_value;};/* * Default console text mode registers  used to reset * graphics adapter. */#define NREGS 54#define ENDMK  0xFFFF  /* End marker */#define S3Vendor        0x5333#define CirrusVendor    0x1013#define DiamondVendor   0x100E#define MatroxVendor    0x102B#define ParadiseVendor  0x101Cstruct VgaRegs GenVgaTextRegs[NREGS+1] = {/*      port    index   value  */  /* SR Regs */        0x3c4,  0x1,    0x0,        0x3c4,  0x2,    0x3,        0x3c4,  0x3,    0x0,        0x3c4,  0x4,    0x2,   /* CR Regs */        0x3d4,  0x0,    0x5f,        0x3d4,  0x1,    0x4f,        0x3d4,  0x2,    0x50,        0x3d4,  0x3,    0x82,        0x3d4,  0x4,    0x55,        0x3d4,  0x5,    0x81,        0x3d4,  0x6,    0xbf,        0x3d4,  0x7,    0x1f,        0x3d4,  0x8,    0x00,        0x3d4,  0x9,    0x4f,        0x3d4,  0xa,    0x0d,        0x3d4,  0xb,    0x0e,        0x3d4,  0xc,    0x00,        0x3d4,  0xd,    0x00,        0x3d4,  0xe,    0x00,        0x3d4,  0xf,    0x00,        0x3d4,  0x10,   0x9c,        0x3d4,  0x11,   0x8e,        0x3d4,  0x12,   0x8f,        0x3d4,  0x13,   0x28,        0x3d4,  0x14,   0x1f,        0x3d4,  0x15,   0x96,        0x3d4,  0x16,   0xb9,        0x3d4,  0x17,   0xa3,   /* GR Regs */        0x3ce,  0x0,    0x0,        0x3ce,  0x1,    0x0,        0x3ce,  0x2,    0x0,        0x3ce,  0x3,    0x0,        0x3ce,  0x4,    0x0,        0x3ce,  0x5,    0x10,        0x3ce,  0x6,    0xe,        0x3ce,  0x7,    0x0,        0x3ce,  0x8,    0xff,        ENDMK};struct VgaRegs S3TextRegs[NREGS+1] = {/*	port	index	value  */  /* SR Regs */	0x3c4,	0x1,	0x0,	0x3c4,	0x2,	0x3,	0x3c4,	0x3,	0x0,	0x3c4,	0x4,	0x2,   /* CR Regs */	0x3d4,	0x0,	0x5f,	0x3d4,	0x1,	0x4f,	0x3d4,	0x2,	0x50,	0x3d4,	0x3,	0x82,	0x3d4,	0x4,	0x55,	0x3d4,	0x5,	0x81,	0x3d4,	0x6,	0xbf,	0x3d4,	0x7,	0x1f,	0x3d4,	0x8,	0x00,	0x3d4,	0x9,	0x4f,	0x3d4,	0xa,	0x0d,	0x3d4,	0xb,	0x0e,	0x3d4,	0xc,	0x00,	0x3d4,	0xd,	0x00,	0x3d4,	0xe,	0x00,	0x3d4,	0xf,	0x00,	0x3d4,	0x10,	0x9c,	0x3d4,	0x11,	0x8e,	0x3d4,	0x12,	0x8f,	0x3d4,	0x13,	0x28,	0x3d4,	0x14,	0x1f,	0x3d4,	0x15,	0x96,	0x3d4,	0x16,	0xb9,	0x3d4,	0x17,	0xa3,   /* GR Regs */	0x3ce,	0x0,	0x0,	0x3ce,	0x1,	0x0,	0x3ce,	0x2,	0x0,	0x3ce,	0x3,	0x0,	0x3ce,	0x4,	0x0,	0x3ce,	0x5,	0x10,	0x3ce,	0x6,	0xe,	0x3ce,	0x7,	0x0,	0x3ce,	0x8,	0xff,        ENDMK};struct RGBColors{  unsigned char r, g, b;};/* * Default console text mode color table. * These values were obtained by booting Linux with * text mode firmware & then dumping the registers.   */struct RGBColors TextCLUT[256] = {  /*	red	green	blue  */	0x0,	0x0,	0x0,	0x0,	0x0,	0x2a,	0x0,	0x2a,	0x0,	0x0,	0x2a,	0x2a,	0x2a,	0x0,	0x0,	0x2a,	0x0,	0x2a,	0x2a,	0x2a,	0x0,	0x2a,	0x2a,	0x2a,	0x0,	0x0,	0x15,	0x0,	0x0,	0x3f,	0x0,	0x2a,	0x15,	0x0,	0x2a,	0x3f,	0x2a,	0x0,	0x15,	0x2a,	0x0,	0x3f,	0x2a,	0x2a,	0x15,	0x2a,	0x2a,	0x3f,	0x0,	0x15,	0x0,	0x0,	0x15,	0x2a,	0x0,	0x3f,	0x0,	0x0,	0x3f,	0x2a,	0x2a,	0x15,	0x0,	0x2a,	0x15,	0x2a,	0x2a,	0x3f,	0x0,	0x2a,	0x3f,	0x2a,	0x0,	0x15,	0x15,	0x0,	0x15,	0x3f,	0x0,	0x3f,	0x15,	0x0,	0x3f,	0x3f,	0x2a,	0x15,	0x15,	0x2a,	0x15,	0x3f,	0x2a,	0x3f,	0x15,	0x2a,	0x3f,	0x3f,	0x15,	0x0,	0x0,	0x15,	0x0,	0x2a,	0x15,	0x2a,	0x0,	0x15,	0x2a,	0x2a,	0x3f,	0x0,	0x0,	0x3f,	0x0,	0x2a,	0x3f,	0x2a,	0x0,	0x3f,	0x2a,	0x2a,	0x15,	0x0,	0x15,	0x15,	0x0,	0x3f,	0x15,	0x2a,	0x15,	0x15,	0x2a,	0x3f,	0x3f,	0x0,	0x15,	0x3f,	0x0,	0x3f,	0x3f,	0x2a,	0x15,	0x3f,	0x2a,	0x3f,	0x15,	0x15,	0x0,	0x15,	0x15,	0x2a,	0x15,	0x3f,	0x0,	0x15,	0x3f,	0x2a,	0x3f,	0x15,	0x0,	0x3f,	0x15,	0x2a,	0x3f,	0x3f,	0x0,	0x3f,	0x3f,	0x2a,	0x15,	0x15,	0x15,	0x15,	0x15,	0x3f,	0x15,	0x3f,	0x15,	0x15,	0x3f,	0x3f,	0x3f,	0x15,	0x15,	0x3f,	0x15,	0x3f,	0x3f,	0x3f,	0x15,	0x3f,	0x3f,	0x3f,	0x39,	0xc,	0x5,	0x15,	0x2c,	0xf,	0x26,	0x10,	0x3d,	0x29,	0x29,	0x38,	0x4,	0x1a,	0xe,	0x2,	0x1e,	0x3a,	0x3c,	0x25,	0x33,	0x3c,	0xc,	0x2c,	0x3f,	0x3,	0x2b,	0x1c,	0x9,	0x13,	0x25,	0x2a,	0x35,	0x1e,	0xa,	0x38,	0x24,	0x8,	0x3,	0x3,	0xe,	0x36,	0xc,	0x6,	0x2a,	0x26,	0x3,	0x32,	0x5,	0x2f,	0x33,	0x3c,	0x35,	0x2f,	0x2d,	0x26,	0x3e,	0xd,	0xa,	0x10,	0x25,	0x3c,	0x11,	0xd,	0x4,	0x2e,	0x5,	0x19,	0x3e,	0xc,	0x13,	0x34,	0x2b,	0x6,	0x24,	0x4,	0x3,	0xd,	0x2f,	0x3c,	0xc,	0x2a,	0x37,	0x1f,	0xf,	0x12,	0x38,	0x38,	0xe,	0x2a,	0x12,	0x2f,	0x19,	0x29,	0x2e,	0x31,	0x25,	0x13,	0x3e,	0x33,	0x3e,	0x33,	0x1d,	0x2c,	0x25,	0x15,	0x15,	0x5,	0x32,	0x25,	0x39,	0x1a,	0x7,	0x1f,	0x13,	0xe,	0x1d,	0x36,	0x17,	0x34,	0xf,	0x15,	0x23,	0x2,	0x35,	0xd,	0x15,	0x3f,	0xc,	0x14,	0x2f,	0xf,	0x19,	0x21,	0x3e,	0x27,	0x11,	0x2f,	0x38,	0x3f,	0x3c,	0x36,	0x2d,	0x15,	0x16,	0x17,	0x2,	0x1,	0xa,	0x3d,	0x1b,	0x11,	0x3f,	0x21,	0x3c,	0xd,	0x1a,	0x39,	0x3d,	0x8,	0xe,	0xe,	0x22,	0x21,	0x23,	0x1e,	0x30,	0x5,	0x1f,	0x22,	0x3d,	0x1e,	0x2f,	0xa,	0x0,	0x1c,	0xe,	0x0,	0x1c,	0x15,	0x0,	0x1c,	0x1c,	0x0,	0x15,	0x1c,	0x0,	0xe,	0x1c,	0x0,	0x7,	0x1c,	0xe,	0xe,	0x1c,	0x11,	0xe,	0x1c,	0x15,	0xe,	0x1c,	0x18,	0xe,	0x1c,	0x1c,	0xe,	0x1c,	0x1c,	0xe,	0x18,	0x1c,	0xe,	0x15,	0x1c,	0xe,	0x11,	0x1c,	0xe,	0xe,	0x1c,	0x11,	0xe,	0x1c,	0x15,	0xe,	0x1c,	0x18,	0xe,	0x1c,	0x1c,	0xe,	0x18,	0x1c,	0xe,	0x15,	0x1c,	0xe,	0x11,	0x1c,	0xe,	0xe,	0x1c,	0xe,	0xe,	0x1c,	0x11,	0xe,	0x1c,	0x15,	0xe,	0x1c,	0x18,	0xe,	0x1c,	0x1c,	0xe,	0x18,	0x1c,	0xe,	0x15,	0x1c,	0xe,	0x11,	0x1c,	0x14,	0x14,	0x1c,	0x16,	0x14,	0x1c,	0x18,	0x14,	0x1c,	0x1a,	0x14,	0x1c,	0x1c,	0x14,	0x1c,	0x1c,	0x14,	0x1a,	0x1c,	0x14,	0x18,	0x1c,	0x14,	0x16,	0x1c,	0x14,	0x14,	0x1c,	0x16,	0x14,	0x1c,	0x18,	0x14,	0x1c,	0x1a,	0x14,	0x1c,	0x1c,	0x14,	0x1a,	0x1c,	0x14,	0x18,	0x1c,	0x14,	0x16,	0x1c,	0x14,	0x14,	0x1c,	0x14,	0x14,	0x1c,	0x16,	0x14,	0x1c,	0x18,	0x14,	0x1c,	0x1a,	0x14,	0x1c,	0x1c,	0x14,	0x1a,	0x1c,	0x14,	0x18,	0x1c,	0x14,	0x16,	0x1c,	0x0,	0x0,	0x10,	0x4,	0x0,	0x10,	0x8,	0x0,	0x10,	0xc,	0x0,	0x10,	0x10,	0x0,	0x10,	0x10,	0x0,	0xc,	0x10,	0x0,	0x8,	0x10,	0x0,	0x4,	0x10,	0x0,	0x0,	0x10,	0x4,	0x0,	0x10,	0x8,	0x0,	0x10,	0xc,	0x0,	0x10,	0x10,	0x0,	0xc,	0x10,	0x0,	0x8,	0x10,	0x0,	0x4,	0x10,	0x0,	0x0,	0x10,	0x0,	0x0,	0x10,	0x4,	0x0,	0x10,	0x8,	0x0,	0x10,	0xc,	0x0,	0x10,	0x10,	0x0,	0xc,	0x10,	0x0,	0x8,	0x10,	0x0,	0x4,	0x10,	0x8,	0x8,	0x10,	0xa,	0x8,	0x10,	0xc,	0x8,	0x10,	0xe,	0x8,	0x10,	0x10,	0x8,	0x10,	0x10,	0x8,	0xe,	0x10,	0x8,	0xc,	0x10,	0x8,	0xa,	0x10,	0x8,	0x8,	0x10,	0xa,	0x8,	0x10,	0xc,	0x8,	0x10,	0xe,	0x8,	0x10,	0x10,	0x8,	0xe,	0x10,	0x8,	0xc,	0x10,	0x8,	0xa,	0x10,	0x8,	0x8,	0x10,	0x8,	0x8,	0x10,	0xa,	0x8,	0x10,	0xc,	0x8,	0x10,	0xe,	0x8,	0x10,	0x10,	0x8,	0xe,	0x10,	0x8,	0xc,	0x10,	0x8,	0xa,	0x10,	0xb,	0xb,	0x10,	0xc,	0xb,	0x10,	0xd,	0xb,	0x10,	0xf,	0xb,	0x10,	0x10,	0xb,	0x10,	0x10,	0xb,	0xf,	0x10,	0xb,	0xd,	0x10,	0xb,	0xc,	0x10,	0xb,	0xb,	0x10,	0xc,	0xb,	0x10,	0xd,	0xb,	0x10,	0xf,	0xb,	0x10,	0x10,	0xb,	0xf,	0x10,	0xb,	0xd,	0x10,	0xb,	0xc,	0x10,	0xb,	0xb,	0x10,	0xb,	0xb,	0x10,	0xc,	0xb,	0x10,	0xd,	0xb,	0x10,	0xf,	0xb,	0x10,	0x10,	0xb,	0xf,	0x10,	0xb,	0xd,	0x10,	0xb,	0xc,	0x10,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0,	0x0};unsigned char AC[21] = {    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x14, 0x07,     0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,     0x0C, 0x00, 0x0F, 0x08, 0x00};static int scanPCI(int start_slt);static int PCIVendor(int);static void printslots(void);

⌨️ 快捷键说明

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