home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-alpha / err_ev7.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  4.3 KB  |  203 lines

  1. #ifndef __ALPHA_ERR_EV7_H
  2. #define __ALPHA_ERR_EV7_H 1
  3.  
  4. /*
  5.  * Data for el packet class PAL (14), type LOGOUT_FRAME (1)
  6.  */
  7. struct ev7_pal_logout_subpacket {
  8.     u32 mchk_code;
  9.     u32 subpacket_count;
  10.     u64 whami;
  11.     u64 rbox_whami;
  12.     u64 rbox_int;
  13.     u64 exc_addr;
  14.     union el_timestamp timestamp;
  15.     u64 halt_code;
  16.     u64 reserved;
  17. };
  18.  
  19. /*
  20.  * Data for el packet class PAL (14), type EV7_PROCESSOR (4)
  21.  */
  22. struct ev7_pal_processor_subpacket {
  23.     u64 i_stat;
  24.     u64 dc_stat;
  25.     u64 c_addr;
  26.     u64 c_syndrome_1;
  27.     u64 c_syndrome_0;
  28.     u64 c_stat;
  29.     u64 c_sts;
  30.     u64 mm_stat;
  31.     u64 exc_addr;
  32.     u64 ier_cm;
  33.     u64 isum;
  34.     u64 pal_base;
  35.     u64 i_ctl;
  36.     u64 process_context;
  37.     u64 cbox_ctl;
  38.     u64 cbox_stp_ctl;
  39.     u64 cbox_acc_ctl;
  40.     u64 cbox_lcl_set;
  41.     u64 cbox_gbl_set;
  42.     u64 bbox_ctl;
  43.     u64 bbox_err_sts;
  44.     u64 bbox_err_idx;
  45.     u64 cbox_ddp_err_sts;
  46.     u64 bbox_dat_rmp;
  47.     u64 reserved[2];
  48. };
  49.  
  50. /*
  51.  * Data for el packet class PAL (14), type EV7_ZBOX (5)
  52.  */
  53. struct ev7_pal_zbox_subpacket {
  54.     u32 zbox0_dram_err_status_1;
  55.     u32 zbox0_dram_err_status_2;
  56.     u32 zbox0_dram_err_status_3;
  57.     u32 zbox0_dram_err_ctl;
  58.     u32 zbox0_dram_err_adr;
  59.     u32 zbox0_dift_timeout;
  60.     u32 zbox0_dram_mapper_ctl;
  61.     u32 zbox0_frc_err_adr;
  62.     u32 zbox0_dift_err_status;
  63.     u32 reserved1;
  64.     u32 zbox1_dram_err_status_1;
  65.     u32 zbox1_dram_err_status_2;
  66.     u32 zbox1_dram_err_status_3;
  67.     u32 zbox1_dram_err_ctl;
  68.     u32 zbox1_dram_err_adr;
  69.     u32 zbox1_dift_timeout;
  70.     u32 zbox1_dram_mapper_ctl;
  71.     u32 zbox1_frc_err_adr;
  72.     u32 zbox1_dift_err_status;
  73.     u32 reserved2;
  74.     u64 cbox_ctl;
  75.     u64 cbox_stp_ctl;
  76.     u64 zbox0_error_pa;
  77.     u64 zbox1_error_pa;
  78.     u64 zbox0_ored_syndrome;
  79.     u64 zbox1_ored_syndrome;
  80.     u64 reserved3[2];
  81. };
  82.  
  83. /*
  84.  * Data for el packet class PAL (14), type EV7_RBOX (6)
  85.  */
  86. struct ev7_pal_rbox_subpacket {
  87.     u64 rbox_cfg;
  88.     u64 rbox_n_cfg;
  89.     u64 rbox_s_cfg;
  90.     u64 rbox_e_cfg;
  91.     u64 rbox_w_cfg;
  92.     u64 rbox_n_err;
  93.     u64 rbox_s_err;
  94.     u64 rbox_e_err;
  95.     u64 rbox_w_err;
  96.     u64 rbox_io_cfg;
  97.     u64 rbox_io_err;
  98.     u64 rbox_l_err;
  99.     u64 rbox_whoami;
  100.     u64 rbox_imask;
  101.     u64 rbox_intq;
  102.     u64 rbox_int;
  103.     u64 reserved[2];
  104. };
  105.  
  106. /*
  107.  * Data for el packet class PAL (14), type EV7_IO (7)
  108.  */
  109. struct ev7_pal_io_one_port {
  110.     u64 pox_err_sum;
  111.     u64 pox_tlb_err;
  112.     u64 pox_spl_cmplt;
  113.     u64 pox_trans_sum;
  114.     u64 pox_first_err;
  115.     u64 pox_mult_err;
  116.     u64 pox_dm_source;
  117.     u64 pox_dm_dest;
  118.     u64 pox_dm_size;
  119.     u64 pox_dm_ctrl;
  120.     u64 reserved;
  121. };
  122.  
  123. struct ev7_pal_io_subpacket {
  124.     u64 io_asic_rev;
  125.     u64 io_sys_rev;
  126.     u64 io7_uph;
  127.     u64 hpi_ctl;
  128.     u64 crd_ctl;
  129.     u64 hei_ctl;
  130.     u64 po7_error_sum;
  131.     u64 po7_uncrr_sym;
  132.     u64 po7_crrct_sym;
  133.     u64 po7_ugbge_sym;
  134.     u64 po7_err_pkt0;
  135.     u64 po7_err_pkt1;
  136.     u64 reserved[2];
  137.     struct ev7_pal_io_one_port ports[4];
  138. };
  139.  
  140. /*
  141.  * Environmental subpacket. Data used for el packets:
  142.  *        class PAL (14), type AMBIENT_TEMPERATURE (10)
  143.  *        class PAL (14), type AIRMOVER_FAN (11)
  144.  *        class PAL (14), type VOLTAGE (12)
  145.  *        class PAL (14), type INTRUSION (13)
  146.  *       class PAL (14), type POWER_SUPPLY (14)
  147.  *       class PAL (14), type LAN (15)
  148.  *       class PAL (14), type HOT_PLUG (16)
  149.  */
  150. struct ev7_pal_environmental_subpacket {
  151.     u16 cabinet;
  152.     u16 drawer;
  153.     u16 reserved1[2];
  154.     u8 module_type;
  155.     u8 unit_id;        /* unit reporting condition */
  156.     u8 reserved2;
  157.     u8 condition;        /* condition reported       */
  158. };
  159.  
  160. /*
  161.  * Convert environmental type to index
  162.  */
  163. static inline int ev7_lf_env_index(int type)
  164. {
  165.     BUG_ON((type < EL_TYPE__PAL__ENV__AMBIENT_TEMPERATURE) 
  166.            || (type > EL_TYPE__PAL__ENV__HOT_PLUG));
  167.  
  168.     return type - EL_TYPE__PAL__ENV__AMBIENT_TEMPERATURE;
  169. }
  170.  
  171. /*
  172.  * Data for generic el packet class PAL.
  173.  */
  174. struct ev7_pal_subpacket {
  175.     union {
  176.         struct ev7_pal_logout_subpacket logout;         /* Type     1 */
  177.         struct ev7_pal_processor_subpacket ev7;         /* Type     4 */
  178.         struct ev7_pal_zbox_subpacket zbox;         /* Type     5 */
  179.         struct ev7_pal_rbox_subpacket rbox;         /* Type     6 */
  180.         struct ev7_pal_io_subpacket io;             /* Type     7 */
  181.         struct ev7_pal_environmental_subpacket env;  /* Type 10-16 */
  182.         u64 as_quad[1];                     /* Raw u64    */
  183.     } by_type;
  184. };
  185.  
  186. /*
  187.  * Struct to contain collected logout from subpackets.
  188.  */
  189. struct ev7_lf_subpackets {
  190.     struct ev7_pal_logout_subpacket *logout;        /* Type  1 */
  191.     struct ev7_pal_processor_subpacket *ev7;        /* Type  4 */
  192.     struct ev7_pal_zbox_subpacket *zbox;            /* Type  5 */
  193.     struct ev7_pal_rbox_subpacket *rbox;            /* Type  6 */
  194.     struct ev7_pal_io_subpacket *io;            /* Type  7 */
  195.     struct ev7_pal_environmental_subpacket *env[7];         /* Type 10-16 */
  196.  
  197.     unsigned int io_pid;
  198. };
  199.  
  200. #endif /* __ALPHA_ERR_EV7_H */
  201.  
  202.  
  203.