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

📄 sti-bmode.h

📁 Linux内核源代码 为压缩文件 是<<Linux内核>>一书中的源代码
💻 H
字号:
#define STI_REGION_MAX 8#define STI_DEV_NAME_LENGTH 32typedef struct {	 u8 res[3];	 u8 data;} __attribute__((packed)) sti_u8;typedef struct {	sti_u8 data[2];} __attribute__((packed)) sti_u16;typedef struct {	sti_u8 data[4];} __attribute__((packed)) sti_u32;#define  STI_U8( u8) ((u8).data)#define STI_U16(u16) ((STI_U8((u16).data[0])<<8) | STI_U8((u16).data[1]))#define STI_U32(u32) ((STI_U8((u32).data[0])<<24) | \		      (STI_U8((u32).data[1])<<16) | \		      (STI_U8((u32).data[2])<< 8) | \		      (STI_U8((u32).data[3])<< 0))struct sti_rom_region {	sti_u32 region;};struct sti_rom_font {	sti_u16 first_char;	sti_u16 last_char;	 sti_u8 width;	 sti_u8 height;	 sti_u8 font_type;	 sti_u8 bytes_per_char;	sti_u32 next_font;	 sti_u8 underline_height;	 sti_u8 underline_pos;	 sti_u8 res008[2];};struct sti_rom {	 sti_u8 type;	 sti_u8 num_mons;	 sti_u8 revno[2];	 sti_u8 graphics_id[8];			/* 0x010 */	sti_u32 font_start;			/* 0x030 */	sti_u32 statesize;	sti_u32 last_addr;	sti_u32 region_list;	sti_u16 reentsize;			/* 0x070 */	sti_u16 maxtime;	sti_u32 mon_tbl_addr;	sti_u32 user_data_addr;	sti_u32 sti_mem_req;	sti_u32 user_data_size;			/* 0x0b0 */	sti_u16 power;				/* 0x0c0 */	 sti_u8 bus_support;	 sti_u8 ext_bus_support;	 sti_u8 alt_code_type;			/* 0x0d0 */	 sti_u8 ext_dd_struct[3];	sti_u32 cfb_addr;			/* 0x0e0 */		 sti_u8 res0f0[4];				sti_u32 init_graph;		/* 0x0e0 */	sti_u32 state_mgmt;	sti_u32 font_unpmv;	sti_u32 block_move;	sti_u32 self_test;	sti_u32 excep_hdlr;	sti_u32 inq_conf;	sti_u32 set_cm_entry;	sti_u32 dma_ctrl;	sti_u32 flow_ctrl;	sti_u32 user_timing;	sti_u32 process_mgr;	sti_u32 sti_util;	sti_u32 end_addr;	sti_u32 res0b8;	sti_u32 res0bc;	sti_u32 init_graph_m68k;		/* 0x0e0 */	sti_u32 state_mgmt_m68k;	sti_u32 font_unpmv_m68k;	sti_u32 block_move_m68k;	sti_u32 self_test_m68k;	sti_u32 excep_hdlr_m68k;	sti_u32 inq_conf_m68k;	sti_u32 set_cm_entry_m68k;	sti_u32 dma_ctrl_m68k;	sti_u32 flow_ctrl_m68k;	sti_u32 user_timing_m68k;	sti_u32 process_mgr_m68k;	sti_u32 sti_util_m68k;	sti_u32 end_addr_m68k;	sti_u32 res0b8_m68k;	sti_u32 res0bc_m68k;	 sti_u8 res040[7 * 4];};	struct sti_cooked_font {	struct sti_rom_font *raw;	struct sti_cooked_font *next_font;};struct sti_cooked_rom {	struct sti_rom *raw;	struct sti_cooked_font *font_start;	u32 *region_list;};struct sti_glob_cfg_ext {	 u8 curr_mon;	 u8 friendly_boot;	s16 power;	s32 freq_ref;	s32 *sti_mem_addr;	s32 *future_ptr;};struct sti_glob_cfg {	s32 text_planes;	s16 onscreen_x;	s16 onscreen_y;	s16 offscreen_x;	s16 offscreen_y;	s16 total_x;	s16 total_y;	u32 region_ptrs[STI_REGION_MAX];	s32 reent_lvl;	s32 *save_addr;	struct sti_glob_cfg_ext *ext_ptr;};struct sti_init_flags {	u32 wait : 1;	u32 reset : 1;	u32 text : 1;	u32 nontext : 1;	u32 clear : 1;	u32 cmap_blk : 1;	u32 enable_be_timer : 1;	u32 enable_be_int : 1;	u32 no_chg_tx : 1;	u32 no_chg_ntx : 1;	u32 no_chg_bet : 1;	u32 no_chg_bei : 1;	u32 init_cmap_tx : 1;	u32 cmt_chg : 1;	u32 retain_ie : 1;	u32 pad : 17;	s32 *future_ptr;};struct sti_init_inptr_ext {	u8  config_mon_type;	u8  pad[1];	u16 inflight_data;	s32 *future_ptr;};struct sti_init_inptr {	s32 text_planes;	struct sti_init_inptr_ext *ext_ptr;};struct sti_init_outptr {	s32 errno;	s32 text_planes;	s32 *future_ptr;};struct sti_conf_flags {	u32 wait : 1;	u32 pad : 31;	s32 *future_ptr;};struct sti_conf_inptr {	s32 *future_ptr;};struct sti_conf_outptr_ext {	u32 crt_config[3];	u32 crt_hdw[3];	s32 *future_ptr;};struct sti_conf_outptr {	s32 errno;	s16 onscreen_x;	s16 onscreen_y;	s16 offscreen_x;	s16 offscreen_y;	s16 total_x;	s16 total_y;	s32 bits_per_pixel;	s32 bits_used;	s32 planes;	 u8 dev_name[STI_DEV_NAME_LENGTH];	u32 attributes;	struct sti_conf_outptr_ext *ext_ptr;};struct sti_font_inptr {	u32 font_start_addr;	s16 index;	u8 fg_color;	u8 bg_color;	s16 dest_x;	s16 dest_y;	s32 *future_ptr;};struct sti_font_flags {	u32 wait : 1;	u32 non_text : 1;	u32 pad : 30;	s32 *future_ptr;};	struct sti_font_outptr {	s32 errno;	s32 *future_ptr;};struct sti_blkmv_flags {	u32 wait : 1;	u32 color : 1;	u32 clear : 1;	u32 non_text : 1;	u32 pad : 28;	s32 *future_ptr;};struct sti_blkmv_inptr {	u8 fg_color;	u8 bg_color;	s16 src_x;	s16 src_y;	s16 dest_x;	s16 dest_y;	s16 width;	s16 height;	s32 *future_ptr;};struct sti_blkmv_outptr {	s32 errno;	s32 *future_ptr;};struct sti_struct {	spinlock_t lock;	struct sti_cooked_rom *rom;	unsigned long font_unpmv;	unsigned long block_move;	unsigned long init_graph;	unsigned long inq_conf;	struct sti_glob_cfg *glob_cfg;	struct sti_rom_font *font;	s32 text_planes;	char **mon_strings;	u32 *regions;	 u8 *pci_regions;};#define STI_CALL(func, flags, inptr, outptr, glob_cfg) \	({	 						\		real32_call( func, (unsigned long)STI_PTR(flags), \				    STI_PTR(inptr), STI_PTR(outptr), \				    glob_cfg); \	})

⌨️ 快捷键说明

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