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

📄 pc.h

📁 cpc-1631的BSP包for VxWorks操作系统
💻 H
字号:
/* pc.h - PC common header */

/* Copyright 1992-2002 Wind River Systems, Inc. */

/*
modification history
--------------------
04o,27jun02,hdn  added comment for FD_DMA_BUF_ADDR (spr 34045)
		 changed EBDA for the GS BIOS to preserve the MP table
04n,09may02,hdn  added Pentium4 Asymmetric Multi Processor configuration
02m,28apr02,hdn  added optional new i8259 PIC specific features (spr 76411)
02l,25apr02,rhe  Added C++ Protection
02k,09apr02,pai  Reworked ATA configuration and documentation (SPR# 73848).
02j,12mar02,hdn  added macros for PIC and IO/Local APIC for HTT (spr 73738)
02i,02nov01,hdn  removed "#include ideDrv.h"
02h,23oct01,pai  Removed #include pciConfigLib.h.  Removed FEI specific
                 definitions.  Added VESA BIOS macros for WindML (spr 69874).
02g,23oct01,dmh  document steps for additional serial ports. (spr 5704)
02f,02oct01,pai  Added MSE_INT_LVL mouse interrupt level value for WindML.
02e,31aug01,hdn  removed ROM_XXX offset as GAS improved (spr 69891)
		 updated [LI]OAPIC support for Pentium4
		 discontinued ideDrv in favor of ataDrv
		 changed BUS to BUS_TYPE_PCI. (spr 32598)
		 added LPT[012]_xxx macros (spr 30067) on behalf of pai
02d,08feb99,jkf  removed PCI_CFG_* definitions, now set in configAll.h
02c,28may98,hdn  added support for APIC.
02b,13may98,hdn  moved PAGE_SIZE_XXX macro to mmuI86Lib.h and include it.
		 added UNUSED_ISA_IO_ADDRESS for IO address 0x84.
02a,16apr98,hdn  added PAGE_SIZE_XXX macro for PentiumPro.
01z,17mar98,sbs  added definitions for dynamic mmu entries.
01y,12mar98,sbs  changed SCSI-2 definitions to device specific definitions. 
                 Added PCI configuration definitions and FEI specific 
                 definitions. 
01x,10jul97,dds  added SCSI-2 support.
01w,16jan97,hdn  added PCMCIA_SOCKS, PCMCIA_MEMBASE.
01v,03dec96,hdn  renamed PCI_FEIxxx to FEIxxx.
01u,20nov96,hdn  added support for PRO100B.
01t,01nov96,hdn  added support for PCMCIA.
01s,21oct96,hdn  added new configuration macros for LPT: LPT_xxx.
01r,12oct96,hdn  added support for ATA-2.  changed ATA[01]_CONFIG.
01q,03sep96,hdn  added the compression support.
01p,09aug96,hdn  renamed INT_VEC_IRQ0 to INT_NUM_IRQ0.
01o,19jul96,hdn  added support for ATA driver.
01n,25jun96,hdn  added support for TIMESTAMP timer.
01m,28may96,hdn  renamed PIT_INT_xxx to PIT0_INT_xxx.
01l,14jun95,myz  removed #include tyLib.h
01k,21oct94,hdn  deleted ENABLE_A20 macro.
01j,15oct94,hdn  added macros for LPT parallel driver.
01i,25apr94,hdn  moved a macro PC_KBD_TYPE to config.h.
01h,08nov93,vin  added support for pc console drivers.
01g,12oct93,hdn  added interrupt level macros.
01f,16aug93,hdn  added RTC related macros.
01e,03aug93,hdn  changed vectors for serial and timer.
01d,17jun93,hdn  updated to 5.1.
01c,07apr93,hdn  renamed compaq to pc.
01b,26mar93,hdn  deleted a macro CPU because it supports 386 and 486.
01a,15may92,hdn  written based on frc386 version.
*/

/*
This file contains IO address, memory address, and related constants
for the PC [3|4]86 and PC Pentium[2|3|4] BSPs.
*/

#ifndef	INCpch
#define	INCpch

#ifdef __cplusplus
extern "C" {
#endif

#include "drv/intrCtl/i8259.h"
#include "drv/timer/i8253.h"
#include "drv/timer/mc146818.h"
#include "drv/timer/timerDev.h"
#include "drv/timer/timestampDev.h"
#include "drv/fdisk/nec765Fd.h"
#include "drv/serial/pcConsole.h"
#include "drv/parallel/lptDrv.h"
#include "drv/pcmcia/pcmciaLib.h"
#include "drv/hdisk/ataDrv.h"
#include "drv/intrCtl/loApic.h"
#include "drv/intrCtl/ioApic.h" 

/* timer (PIT) */

#define	PIT_BASE_ADR		0x40
#define	PIT0_INT_LVL		INT_NUM_IRQ0+0x00
#define	PIT_REG_ADDR_INTERVAL	1	/* address diff of adjacent regs. */
#define	PIT_CLOCK		1193180

/* real time clock (RTC) */

#define	RTC_INDEX		0x70
#define	RTC_DATA		0x71
#define	RTC_INT_LVL		INT_NUM_IRQ0+0x08

/* Mouse (MSE) */

#define MSE_INT_LVL		(INT_NUM_IRQ0+0x0c)	/* IRQ 12 assuming PS/2 mouse */

/* key board (KBD) */

#define PC_XT_83_KBD		0	/* 83 KEY PC/PCXT/PORTABLE 	*/
#define PC_PS2_101_KBD		1	/* 101 KEY PS/2 		*/
#define KBD_INT_LVL		INT_NUM_IRQ0+0x01

#define	COMMAND_8042		0xfe000000+0x64
#define	DATA_8042		0xfe000000+0x60
#define	STATUS_8042		COMMAND_8042
#define COMMAND_8048		0xfe000000+0x61	/* out Port PC 61H in the 8255 PPI */
#define	DATA_8048		0xfe000000+0x60	/* input port */
#define	STATUS_8048		COMMAND_8048

#define JAPANES_KBD             0
#define ENGLISH_KBD             1

/* beep generator */

#define DIAG_CTRL	0x61
#define BEEP_PITCH_L	1280 /* 932 Hz */
#define BEEP_PITCH_S	1208 /* 987 Hz */
#define BEEP_TIME_L	(sysClkRateGet () / 3) /* 0.66 sec */
#define BEEP_TIME_S	(sysClkRateGet () / 8) /* 0.15 sec */

/* Monitor definitions */

#define MONOCHROME              0
#define VGA                     1
#define MONO			0
#define COLOR			1
#define	VGA_MEM_BASE		(UCHAR *) 0xb8000
#define	VGA_SEL_REG		(UCHAR *) (0xfe000000+0x3d4)
#define VGA_VAL_REG             (UCHAR *) (0xfe000000+0x3d5)
#define MONO_MEM_BASE           (UCHAR *) 0xb0000
#define MONO_SEL_REG            (UCHAR *) (0xfe000000+0x3b4)
#define MONO_VAL_REG            (UCHAR *) (0xfe000000+0x3b5)
#define	CHR			2

#define VESA_BIOS_DATA_ADDRESS  (0xbfb00)       /* BIOS data storage */
#define VESA_BIOS_DATA_PREFIX   (VESA_BIOS_DATA_ADDRESS - 8)
#define VESA_BIOS_DATA_SIZE     (0x500)         /* Vesa BIOS data size */
#define VESA_BIOS_KEY_1         (0x534F4942)    /* "BIOS" */
#define VESA_BIOS_KEY_2         (0x41544144)    /* "DATA" */

/* change this to JAPANES_KBD if Japanese enhanced mode wanted */

#define KEYBRD_MODE             ENGLISH_KBD 

/* undefine this if ansi escape sequence not wanted */

#define INCLUDE_ANSI_ESC_SEQUENCE 

#define GRAPH_ADAPTER   VGA

#if (GRAPH_ADAPTER == MONOCHROME)

#define DEFAULT_FG  	ATRB_FG_WHITE
#define DEFAULT_BG 	ATRB_BG_BLACK
#define DEFAULT_ATR     DEFAULT_FG | DEFAULT_BG
#define CTRL_SEL_REG	MONO_SEL_REG		/* controller select reg */
#define CTRL_VAL_REG	MONO_VAL_REG		/* controller value reg */
#define CTRL_MEM_BASE	MONO_MEM_BASE		/* controller memory base */
#define COLOR_MODE	MONO			/* color mode */

#else /* GRAPH_ADAPTER = VGA */

#define DEFAULT_FG	ATRB_FG_BRIGHTWHITE
#define DEFAULT_BG	ATRB_BG_BLUE
#define DEFAULT_ATR	DEFAULT_FG | DEFAULT_BG
#define CTRL_SEL_REG	VGA_SEL_REG		/* controller select reg */
#define CTRL_VAL_REG	VGA_VAL_REG		/* controller value reg */
#define CTRL_MEM_BASE	VGA_MEM_BASE		/* controller memory base */
#define COLOR_MODE	COLOR			/* color mode */

#endif /* (ADAPTER == MONOCHROME) */



#ifdef __cplusplus
}
#endif

#endif	/* INCpch */

⌨️ 快捷键说明

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