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

📄 s3elsa.h

📁 基于组件方式开发操作系统的OSKIT源代码
💻 H
字号:
/* $XFree86: xc/programs/Xserver/hw/xfree86/accel/s3/s3ELSA.h,v 3.11 1997/01/14 22:16:54 dawes Exp $ *//* $XConsortium: s3ELSA.h /main/8 1996/04/18 16:45:18 kaleb $ */#ifndef _S3ELSA_H_#define _S3ELSA_H_#define  ELSA_WINNER_1000	0x910   #define  ELSA_WINNER_1000VL	0x912   #define  ELSA_WINNER_1000PCI	0x914   #define  ELSA_WINNER_1000ISA	0x91A   #define  ELSA_WINNER_2000	0x920   #define  ELSA_WINNER_2000VL	0x922   #define  ELSA_WINNER_2000PCI	0x924   #define  ELSA_WINNER_1000PRO	0x930   #define  ELSA_WINNER_1000PRO_TRIO32 0x931#define  ELSA_WINNER_1000PRO_TRIO64 0x932#define  ELSA_WINNER_1000AVI	0x936#define  ELSA_WINNER_1000PRO_X	0x937#define  ELSA_WINNER_2000PRO	0x940   #define  ELSA_WINNER_2000PRO_X	0x942#define  ELSA_WINNER_2000AVI	0x943#define  ELSA_WINNER_2000PRO_X8	0x94a#define  ELSA_GLORIA_4		0x980#define  ELSA_GLORIA_8		0x981typedef struct {   unsigned short code;   char *name;   long *flags;} elsa_board_types_t;extern elsa_board_types_t elsa_board_types[];/* structure to hold timing/mode info read from EEROM*/typedef struct {   unsigned short       crc16,      wnr_type,		/*  0x3353  ("S3")  */      board_code,      serno_l,		/*  low word  */      serno_h,		/*  high word  */      eeprom_size,	/*  EEROM size in words  */      hw_conf,		/*  reserved  */      max_pixclock,	/*  max pixel clock [MHz] / 4000  */      max_memclock,	/*  max memory clock [MHz] / 4000  */      vmode0,		/*  reserved  */      key_word,		/*  reserved  */      xsize,		/*  monitor size in mm  */      ysize,         sw_vers;		/*  currently 1  */} elsa_eeprom_data_t;typedef struct {   unsigned short       bpp_xres4,  /* bpp (6bit) + xres/4 (10bit) */      fl_yres,    /* flags (4bit) + yres (12bit) */      pixfrq4,    /* pixel clock frequency in kHz / 4 (16bit) */      hfph_htot,  /* hor-frontporch-hi4bit + hor-total (12bit) */      hfpl_hsw,   /* hor-frontporch-lo6bit + hor-syncwidth (10bit) */      vfph_vtot,  /* ver-frontporch-hi4bit + ver-total (12bit) */      vfpl_vsw,   /* ver-frontporch-lo6bit + ver-syncwidth (10bit) */      res1,       /* reserved */      res2;       /* reserved */} elsa_eeprom_timing_t;/* how to make the fields in this struct */#define ELSA_TIM_bx(_bpp_, _xres_)   (ushort) ((_bpp_) << 10 | (_xres_) / 4)#define ELSA_TIM_fy(_flags_, _yres_) (ushort) ((_flags_) << 12 | _yres_)#define ELSA_TIM_fp(_pixfreq_)       (ushort) ((_pixfreq_) / 4)#define ELSA_TIM_h1(_hfp_, _htot_)   (ushort) (((_hfp_) & 0x3c0) <<  6 | (_htot_))#define ELSA_TIM_h2(_hfp_, _hsw_)    (ushort) (((_hfp_) & 0x03f) << 10 | (_hsw_))#define ELSA_TIM_v1(_vfp_, _vtot_)   (ushort) (((_vfp_) & 0x3c0) <<  6 | (_vtot_))#define ELSA_TIM_v2(_vfp_, _vsw_)    (ushort) (((_vfp_) & 0x03f) << 10 | (_vsw_))/* how to extract info from this struct */#define ELSA_TIM_bpp(et)     (((et).bpp_xres4 & 0xfc00) >> 10)#define ELSA_TIM_xres(et)    (((et).bpp_xres4 & 0x03ff) * 4)#define ELSA_TIM_flags(et)   (((et).fl_yres & 0xf000) >> 12)#define ELSA_TIM_yres(et)    ((et).fl_yres & 0x0fff)#define ELSA_TIM_pixfrq4(et) ((et).pixfrq4)#define ELSA_TIM_htot(et)    ((et).hfph_htot & 0x0fff)#define ELSA_TIM_hfp(et)     ((((et).hfph_htot & 0xf000) >> 6) | (((et).hfpl_hsw & 0xfc00) >> 10))#define ELSA_TIM_hsw(et)     ((et).hfpl_hsw & 0x03ff)#define ELSA_TIM_vtot(et)    ((et).vfph_vtot & 0x0fff)#define ELSA_TIM_vfp(et)     ((((et).vfph_vtot & 0xf000) >> 6) | (((et).vfpl_vsw & 0xfc00) >> 10))#define ELSA_TIM_vsw(et)     ((et).vfpl_vsw & 0x03ff)/* Macro to check validity of timing data */#define ELSA_ET_VM_VALID(pet) (                                       \  (pet)->bpp_xres4 != 0xFFFF && ((pet)->bpp_xres4 & 0x3FF) >= 16/4 && \  (pet)->fl_yres   != 0xFFFF && ((pet)->fl_yres   & 0xFFF) >= 16   && \  (pet)->pixfrq4   != 0xFFFF &&  (pet)->pixfrq4 )_XFUNCPROTOBEGINextern int s3DetectELSA(#if NeedFunctionPrototypes			int BIOSbase,			char **pcard, 			char **pserno,			int *max_pix_clock, 			int *max_mem_clock,			int *hwconf,			char **modes#endif			);_XFUNCPROTOEND#endif /* _S3ELSA_H_ */

⌨️ 快捷键说明

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