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

📄 irqextras390.h

📁 Linux内核源代码 为压缩文件 是<<Linux内核>>一书中的源代码
💻 H
字号:
/* *  include/asm-s390/irqextras390.h * *  S390 version *    Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation *    Author(s): Denis Joseph Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com) */#ifndef __irqextras390_h#define __irqextras390_h/*  irqextras390.h by D.J. Barrow  if you are a bitfield fan &  are paranoid that ansi dosen't  give hard definitions about the size of an int or long you might  prefer these definitions as an alternative.*/#include <linux/types.h>typedef struct {      unsigned key:4;      unsigned s:1;      unsigned l:1;      unsigned cc:2;      unsigned f:1;      unsigned p:1;      unsigned i:1;      unsigned a:1;      unsigned u:1;      unsigned z:1;      unsigned e:1;      unsigned n:1;      unsigned zero:1;            unsigned fc_start:1;      unsigned fc_halt:1;      unsigned fc_clear:1;            unsigned ac_resume_pending:1;      unsigned ac_start_pending:1;      unsigned ac_halt_pending:1;      unsigned ac_clear_pending:1;      unsigned ac_subchannel_active:1;      unsigned ac_device_active:1;      unsigned ac_suspended:1;            unsigned sc_alert:1;      unsigned sc_intermediate:1;      unsigned sc_primary:1;      unsigned sc_seconary:1;      unsigned sc_status_pending:1;            __u32	   ccw_address;            unsigned dev_status_attention:1;      unsigned dev_status_modifier:1;      unsigned dev_status_control_unit_end:1;      unsigned dev_status_busy:1;      unsigned dev_status_channel_end:1;      unsigned dev_status_device_end:1;      unsigned dev_status_unit_check:1;      unsigned dev_status_unit_exception:1;            unsigned sch_status_program_cont_int:1;      unsigned sch_status_incorrect_length:1;      unsigned sch_status_program_check:1;      unsigned sch_status_protection_check:1;      unsigned sch_status_channel_data_check:1;      unsigned sch_status_channel_control_check:1;      unsigned sch_status_interface_control_check:1;      unsigned sch_status_chaining_check:1;           __u16	   byte_count;} scsw_bits_t __attribute__((packed));typedef struct{  __u32      flags;  __u32      ccw_address;  __u8       dev_status;  __u8       sch_status;  __u16      byte_count;} scsw_words_t __attribute__((packed));typedef struct{      __u8     cmd_code;            unsigned cd:1;      unsigned cc:1;      unsigned sli:1;      unsigned skip:1;      unsigned pci:1;      unsigned ida:1;      unsigned s:1;      unsigned res1:1;      __u16	count;      void	*ccw_data_address;} ccw1_bits_t __attribute__((packed,aligned(8)));typedef struct{      __u32		interruption_parm;      unsigned key:4;      unsigned s:1;      unsigned res1:3;      unsigned f:1;      unsigned p:1;      unsigned i:1;      unsigned a:1;      unsigned u:1;      __u8	   lpm;      unsigned l:1;      unsigned res2:7;      ccw1_bits_t	*ccw_program_address;} orb_bits_t __attribute__((packed));void fixchannelprogram(orb_bits_t *orbptr);void fixccws(ccw1_bits_t *ccwptr);enum{   ccw_write=0x1,   ccw_read=0x2,   ccw_read_backward=0xc,   ccw_control=0x3,   ccw_sense=0x4,   ccw_sense_id=0xe4,   ccw_transfer_in_channel0=0x8,   ccw_transfer_in_channel1=0x8,   ccw_set_x_mode=0xc3,		// according to uli's lan notes   ccw_nop=0x3			// according to uli's notes again                                        // n.b. ccw_control clashes with this                                        // so I presume its a special case of					// control};#endif

⌨️ 快捷键说明

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