2
* Copyright (C) 2004,2005 Heinz Mauelshagen, Red Hat GmbH.
5
* See file LICENSE at the top of this source tree for license information.
16
/* Highpoint 45x config data sector offset off end of disk */
17
#define HPT45X_CONFIGOFFSET ((di->sectors - 11) << 9)
18
#define HPT45X_DATAOFFSET 0 /* Data offset in sectors */
20
/* Ondisk metadata for Highpoint 45X ATARAID */
22
uint32_t magic; /* 0x0 - 0x03 */
23
#define HPT45X_MAGIC_OK 0x5a7816f3
24
#define HPT45X_MAGIC_BAD 0x5a7816fd
26
uint32_t magic_0; /* 0x04 - 0x07 Set identifier */
27
uint32_t magic_1; /* 0x08 - 0x0A (Sub-)Array identifier */
29
uint32_t total_secs; /* 0x0B - 0x0F */
31
uint8_t type; /* 0x10 */
32
#define HPT45X_T_SPAN 0x04
33
#define HPT45X_T_RAID0 0x05
34
#define HPT45X_T_RAID1 0x06
36
uint8_t raid_disks; /* 0x11 */
37
uint8_t disk_number; /* 0x12 */
38
uint8_t raid0_shift; /* 0x13 */
40
uint32_t dummy[3]; /* 0x14 - 0x1F */
42
uint8_t raid1_type; /* 0x20 */
43
uint8_t raid1_raid_disks; /* 0x21 */
44
uint8_t raid1_disk_number; /* 0x22 */
45
uint8_t raid1_shift; /* 0x23 */
47
uint32_t dummy1[3]; /* 0x24 - 0x2F */
48
} __attribute__ ((packed));
51
int register_hpt45x(struct lib_context *lc);