blob: 447248c648becd23601a344319ae8e2e010eb46a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
/*
* This file and its contents are supplied under the terms of the
* Common Development and Distribution License ("CDDL"), version 1.0.
* You may only use this file in accordance with the terms of version
* 1.0 of the CDDL.
*
* A full copy of the text of the CDDL should have accompanied this
* source. A copy of the CDDL is also available via the Internet at
* http://www.illumos.org/license/CDDL.
*/
/*
* Copyright (C) 2013 Hewlett-Packard Development Company, L.P.
*/
#ifndef _CPQARY3_NOE_H
#define _CPQARY3_NOE_H
#ifdef __cplusplus
extern "C" {
#endif
/*
* Information from CPQARY3 on Notification of Events
* View Hardware API for more information
*/
#define CISS_NOE_CDB_LEN 0x0D
#define CISS_CANCEL_NOE_CDB_LEN 0x10
#define BMIC_NOTIFY_ON_EVENT 0xD0
#define BMIC_CANCEL_NOTIFY_ON_EVENT 0xD1
#define NOE_BUFFER_LENGTH 0x200
#pragma pack(1)
typedef struct Noe_Buffer {
uint32_t relative_controller_time;
uint16_t event_class_code;
uint16_t event_subclass_code;
uint16_t event_detail_code;
uint8_t event_specific_data[64];
uint8_t ascii_message[80];
uint32_t event_tag;
uint16_t month_day;
uint16_t year;
uint32_t hms;
uint16_t pre_powerup_time;
uint8_t device_address[8];
uint8_t reserved[336];
} NoeBuffer;
#pragma pack()
#define CPQARY3_NOE_INIT 0
#define CPQARY3_NOE_RESUBMIT 1
#define CPQARY3_NOE_FAILED 3
/*
* This hierarchy is described in the firmware spec.
* It provides various categories of reports to provide for
* notification to host regarding asynchronous phenomena.
*/
#define CLASS_PROTOCOL 0 /* Event Notifier Protocol */
#define SUB_CLASS_NON_EVENT 0
#define DETAIL_DISABLED 1
#define SUB_CLASS_PROTOCOL_ERR 1
#define DETAIL_EVENT_Q_OVERFLOW 0
#define CLASS_HOT_PLUG 1 /* All Hot-Plug Operations */
#define SUB_CLASS_HP_CHANGE 0
/*
* New events for HP Smart Array controllers - FW revision greater than 5.14
* or later
*/
/* Storage Box HotPlug or Cabling Change */
#define SUB_CLASS_SB_HP_CHANGE 6
#define DETAIL_STORAGEBOX_REMOVED 0 /* Storage box Removed */
#define DETAIL_STORAGEBOX_ADDED 1 /* Storage Box Added */
/* Storage Box Redundant I/O Module Removed */
#define DETAIL_PATH_REMOVED 2
/* Storage Box Redundant I/O Module (or its path) Added */
#define DETAIL_PATH_ADDED 3
/* Storage Box (or its first path) Repaired (re-added after failure) */
#define DETIAL_STORAGEBOX_REPAIRED 4
/* Storage Box Redundant I/O Module (or its path) Repaired */
#define DETAIL_PATH_REPAIRED 5
/* Disk Drive Redundant Path Change */
#define SUB_CLASS_DD_PATH_CHANGE 7
/* Redundant path to configured disk drive is Hot Removed */
#define DETAIL_DD_HOT_REMOVED 0
#define CLASS_HARDWARE 2 /* Cable, Memory, Fan */
#define SUB_CLASS_RC_CHANGE 7 /* Redundant Cabling Change */
/* Unsupported Configuration Occurred Online */
#define DETAIL_UNSUPPORTED_CONFIGURATION 0
#define CLASS_ENVIRONMENT 3 /* Temperature, Power, Chasis, UPS */
#define CLASS_PHYSICAL_DRIVE 4 /* Physical drive Changes */
#define CLASS_LOGICAL_DRIVE 5 /* Logical drive Changes */
#define SUB_CLASS_STATUS 0
#define DETAIL_CHANGE 0
#define MEDIA_EXCHANGE 1
/* Spare Status States */
#define SPARE_UNDEFINED 0x00
#define SPARES_DESIGNATED 0x01
#define SPARE_REBUILDING 0x02
#define SPARE_REBUILT 0x04
#define SPARES_BAD 0x08
#define SPARE_ACTIVE 0x10
#define SPARE_AVAILABLE 0x20
#ifdef __cplusplus
}
#endif
#endif /* _CPQARY3_NOE_H */
|