diff options
author | sos <sos@FreeBSD.org> | 2001-10-04 18:02:26 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2001-10-04 18:02:26 +0000 |
commit | f5ccb524fca01bad6a6e4b7570ceb13ba1f764ed (patch) | |
tree | 6332150659483a7de6b327f75250080e89e13266 /sys/dev/ata/ata-raid.h | |
parent | b61c05c0f2510ff753cf5a863cdcbfbec99b8ca4 (diff) | |
download | FreeBSD-src-f5ccb524fca01bad6a6e4b7570ceb13ba1f764ed.zip FreeBSD-src-f5ccb524fca01bad6a6e4b7570ceb13ba1f764ed.tar.gz |
Update the promise raid structure with some of the info I've gathered
before I'm accused of "lending" it from somebody else.
Diffstat (limited to 'sys/dev/ata/ata-raid.h')
-rw-r--r-- | sys/dev/ata/ata-raid.h | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/sys/dev/ata/ata-raid.h b/sys/dev/ata/ata-raid.h index d5cce77..c5a242e 100644 --- a/sys/dev/ata/ata-raid.h +++ b/sys/dev/ata/ata-raid.h @@ -111,32 +111,33 @@ struct highpoint_raid_conf { u_int32_t lba; } errorlog[32]; int8_t filler2[60]; -}; +} __attribute__((packed)); struct promise_raid_conf { char promise_id[24]; #define PR_MAGIC "Promise Technology, Inc." int32_t dummy_0; - int32_t magic_0; - int32_t dummy_1; - int32_t magic_1; - int16_t dummy_2; + int8_t magic_0[8]; + int16_t magic_1; + int32_t magic_2; int8_t filler1[470]; struct { int32_t flags; /* 0x200 */ -#define PR_F_CONFED 0x00000080 +#define PR_F_READY 0x00000080 +#define PR_F_SPARE 0x00000040 +#define PR_F_DOWN 0x00000020 +#define PR_F_VALID 0x00000001 int8_t dummy_0; int8_t disk_number; int8_t channel; int8_t device; - int32_t magic_0; - int32_t dummy_1; - int32_t dummy_2; /* 0x210 */ + int8_t magic_0[8]; + int32_t disk_offset; /* 0x210 */ int32_t disk_secs; - int32_t dummy_3; - int16_t dummy_4; + int32_t dummy_1; + int16_t dummy_2; int8_t status; #define PR_S_DEFINED 0x01 #define PR_S_ONLINE 0x02 @@ -156,19 +157,18 @@ struct promise_raid_conf { u_int16_t cylinders; u_int8_t heads; u_int8_t sectors; - int32_t magic_1; - int32_t dummy_5; /* 0x230 */ + int8_t magic_1[8]; struct { - int16_t dummy_0; + int8_t flags; + int8_t dummy_0; int8_t channel; int8_t device; - int32_t magic_0; - int32_t disk_number; + int8_t magic_0[8]; } disk[8]; } raid; int32_t filler2[346]; uint32_t checksum; -}; +} __attribute__((packed)); int ar_probe(struct ad_softc *); |