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

📄 vreset.c

📁 根据添加了fs2410平台的arch目录
💻 C
📖 第 1 页 / 共 2 页
字号:
/* * BK Id: SCCS/s.vreset.c 1.11 07/25/01 18:13:07 trini *//* * 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 "nonstdio.h"extern char *vidmem;extern int lines, cols;struct VaRegs;/* * VGA Register   */struct VgaRegs{	unsigned short io_port;	unsigned char  io_index;	unsigned char  io_value;};void unlockVideo(int slot);void setTextRegs(struct VgaRegs *svp);void setTextCLUT(int shift);void clearVideoMemory(void);void loadFont(unsigned char *ISA_mem);static void mdelay(int ms){	for (; ms > 0; --ms)		udelay(1000);}/* * 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);

⌨️ 快捷键说明

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