Deleted Added
full compact
idareg.h (59273) idareg.h (63934)
1/*-
2 * Copyright (c) 1999,2000 Jonathan Lemon
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
1/*-
2 * Copyright (c) 1999,2000 Jonathan Lemon
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $FreeBSD: head/sys/dev/ida/idareg.h 59273 2000-04-16 06:12:08Z mdodd $
26 * $FreeBSD: head/sys/dev/ida/idareg.h 63934 2000-07-27 22:24:44Z jlemon $
27 */
28
29/*
30 * #defines and software structures for the Compaq RAID card
31 */
32
33/*
34 * defines for older EISA controllers (IDA, IDA-2, IAES, SMART)

--- 61 unchanged lines hidden (view full) ---

96#define CMD_SENSE_DRV_LEDS 0x17
97#define CMD_GET_LOG_DRV_EXT 0x18
98#define CMD_GET_CTRL_INFO 0x11
99#define CMD_READ 0x20
100#define CMD_WRITE 0x30
101#define CMD_WRITE_MEDIA 0x31
102#define CMD_GET_CONFIG 0x50
103#define CMD_SET_CONFIG 0x51
27 */
28
29/*
30 * #defines and software structures for the Compaq RAID card
31 */
32
33/*
34 * defines for older EISA controllers (IDA, IDA-2, IAES, SMART)

--- 61 unchanged lines hidden (view full) ---

96#define CMD_SENSE_DRV_LEDS 0x17
97#define CMD_GET_LOG_DRV_EXT 0x18
98#define CMD_GET_CTRL_INFO 0x11
99#define CMD_READ 0x20
100#define CMD_WRITE 0x30
101#define CMD_WRITE_MEDIA 0x31
102#define CMD_GET_CONFIG 0x50
103#define CMD_SET_CONFIG 0x51
104#define CMD_START_FIRMWARE 0x99 /* for integrated RAID */
104#define CMD_FLUSH_CACHE 0xc2
105
106/*
107 * command structures
108 */
109struct ida_drive_info {
105#define CMD_FLUSH_CACHE 0xc2
106
107/*
108 * command structures
109 */
110struct ida_drive_info {
110 u_int16_t secsize __attribute__ ((packed));
111 u_int32_t secperunit __attribute__ ((packed));
112 u_int16_t ncylinders __attribute__ ((packed));
113 u_int8_t nheads __attribute__ ((packed));
114 u_int8_t signature __attribute__ ((packed));
115 u_int8_t psectors __attribute__ ((packed));
116 u_int16_t wprecomp __attribute__ ((packed));
117 u_int8_t max_acc __attribute__ ((packed));
118 u_int8_t control __attribute__ ((packed));
119 u_int16_t pcylinders __attribute__ ((packed));
120 u_int8_t ptracks __attribute__ ((packed));
121 u_int16_t landing_zone __attribute__ ((packed));
122 u_int8_t nsectors __attribute__ ((packed));
123 u_int8_t checksum __attribute__ ((packed));
124 u_int8_t mirror __attribute__ ((packed));
125};
111 u_int16_t secsize;
112 u_int32_t secperunit;
113 u_int16_t ncylinders;
114 u_int8_t nheads;
115 u_int8_t signature;
116 u_int8_t psectors;
117 u_int16_t wprecomp;
118 u_int8_t max_acc;
119 u_int8_t control;
120 u_int16_t pcylinders;
121 u_int8_t ptracks;
122 u_int16_t landing_zone;
123 u_int8_t nsectors;
124 u_int8_t checksum;
125 u_int8_t mirror;
126} __attribute__ ((packed));
126
127struct ida_controller_info {
127
128struct ida_controller_info {
128 u_int8_t num_drvs __attribute__ ((packed));
129 u_int32_t signature __attribute__ ((packed));
130 u_int8_t firm_rev[4] __attribute__ ((packed));
131};
129 u_int8_t num_drvs;
130 u_int32_t signature;
131 u_int8_t firm_rev[4];
132} __attribute__ ((packed));
133
134
135struct ida_drive_status {
136 u_int8_t status;
137 u_int32_t failure_map;
138 u_int8_t reserved[416];
139 u_int32_t secrecover;
140 u_int8_t rebuilding;
141 u_int16_t remap_cnt[8];
142 u_int32_t repl_map;
143 u_int32_t spare_map;
144 u_int8_t spare_status;
145 u_int8_t spare_repl_map[32];
146 u_int32_t repl_ok_map;
147 u_int8_t media_exchange;
148 u_int8_t cache_failure;
149 u_int8_t expand_failure;
150 u_int8_t unit_flags;
151 u_int16_t big_failure_map[8];
152 u_int16_t big_remap_cnt[128];
153 u_int16_t big_repl_map[8];
154 u_int16_t big_act_spare_map[8];
155 u_int8_t big_spare_repl_map[128];
156 u_int16_t big_repl_ok_map[8];
157 u_int8_t big_rebuilding;
158} __attribute__ ((packed));