23 |
struct hpt37x_meta { |
struct hpt37x_meta { |
24 |
uint8_t filler1[32]; |
uint8_t filler1[32]; |
25 |
uint32_t magic; |
uint32_t magic; |
26 |
} __attribute__((packed)); |
} PACKED; |
27 |
|
|
28 |
struct hpt45x_meta { |
struct hpt45x_meta { |
29 |
uint32_t magic; |
uint32_t magic; |
30 |
} __attribute__((packed)); |
} PACKED; |
31 |
|
|
32 |
#define HPT37X_CONFIG_OFF 0x1200 |
#define HPT37X_CONFIG_OFF 0x1200 |
33 |
#define HPT37X_MAGIC_OK 0x5a7816f0 |
#define HPT37X_MAGIC_OK 0x5a7816f0 |
37 |
#define HPT45X_MAGIC_BAD 0x5a7816fd |
#define HPT45X_MAGIC_BAD 0x5a7816fd |
38 |
|
|
39 |
|
|
40 |
int volume_id_probe_highpoint_37x_raid(struct volume_id *id, uint64_t off) |
int FAST_FUNC volume_id_probe_highpoint_37x_raid(struct volume_id *id, uint64_t off) |
41 |
{ |
{ |
42 |
struct hpt37x_meta *hpt; |
struct hpt37x_meta *hpt; |
43 |
uint32_t magic; |
uint32_t magic; |
58 |
return 0; |
return 0; |
59 |
} |
} |
60 |
|
|
61 |
int volume_id_probe_highpoint_45x_raid(struct volume_id *id, uint64_t off, uint64_t size) |
int FAST_FUNC volume_id_probe_highpoint_45x_raid(struct volume_id *id, uint64_t off, uint64_t size) |
62 |
{ |
{ |
63 |
struct hpt45x_meta *hpt; |
struct hpt45x_meta *hpt; |
64 |
uint64_t meta_off; |
uint64_t meta_off; |