xref: /aosp_15_r20/prebuilts/build-tools/sysroots/i686-unknown-linux-musl/include/linux/sed-opal.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1*cda5da8dSAndroid Build Coastguard Worker /*
2*cda5da8dSAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*cda5da8dSAndroid Build Coastguard Worker  *
4*cda5da8dSAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*cda5da8dSAndroid Build Coastguard Worker  * for more information.
6*cda5da8dSAndroid Build Coastguard Worker  */
7*cda5da8dSAndroid Build Coastguard Worker #ifndef _UAPI_SED_OPAL_H
8*cda5da8dSAndroid Build Coastguard Worker #define _UAPI_SED_OPAL_H
9*cda5da8dSAndroid Build Coastguard Worker #include <linux/types.h>
10*cda5da8dSAndroid Build Coastguard Worker #define OPAL_KEY_MAX 256
11*cda5da8dSAndroid Build Coastguard Worker #define OPAL_MAX_LRS 9
12*cda5da8dSAndroid Build Coastguard Worker enum opal_mbr {
13*cda5da8dSAndroid Build Coastguard Worker   OPAL_MBR_ENABLE = 0x0,
14*cda5da8dSAndroid Build Coastguard Worker   OPAL_MBR_DISABLE = 0x01,
15*cda5da8dSAndroid Build Coastguard Worker };
16*cda5da8dSAndroid Build Coastguard Worker enum opal_mbr_done_flag {
17*cda5da8dSAndroid Build Coastguard Worker   OPAL_MBR_NOT_DONE = 0x0,
18*cda5da8dSAndroid Build Coastguard Worker   OPAL_MBR_DONE = 0x01
19*cda5da8dSAndroid Build Coastguard Worker };
20*cda5da8dSAndroid Build Coastguard Worker enum opal_user {
21*cda5da8dSAndroid Build Coastguard Worker   OPAL_ADMIN1 = 0x0,
22*cda5da8dSAndroid Build Coastguard Worker   OPAL_USER1 = 0x01,
23*cda5da8dSAndroid Build Coastguard Worker   OPAL_USER2 = 0x02,
24*cda5da8dSAndroid Build Coastguard Worker   OPAL_USER3 = 0x03,
25*cda5da8dSAndroid Build Coastguard Worker   OPAL_USER4 = 0x04,
26*cda5da8dSAndroid Build Coastguard Worker   OPAL_USER5 = 0x05,
27*cda5da8dSAndroid Build Coastguard Worker   OPAL_USER6 = 0x06,
28*cda5da8dSAndroid Build Coastguard Worker   OPAL_USER7 = 0x07,
29*cda5da8dSAndroid Build Coastguard Worker   OPAL_USER8 = 0x08,
30*cda5da8dSAndroid Build Coastguard Worker   OPAL_USER9 = 0x09,
31*cda5da8dSAndroid Build Coastguard Worker };
32*cda5da8dSAndroid Build Coastguard Worker enum opal_lock_state {
33*cda5da8dSAndroid Build Coastguard Worker   OPAL_RO = 0x01,
34*cda5da8dSAndroid Build Coastguard Worker   OPAL_RW = 0x02,
35*cda5da8dSAndroid Build Coastguard Worker   OPAL_LK = 0x04,
36*cda5da8dSAndroid Build Coastguard Worker };
37*cda5da8dSAndroid Build Coastguard Worker enum opal_lock_flags {
38*cda5da8dSAndroid Build Coastguard Worker   OPAL_SAVE_FOR_LOCK = 0x01,
39*cda5da8dSAndroid Build Coastguard Worker };
40*cda5da8dSAndroid Build Coastguard Worker enum opal_key_type {
41*cda5da8dSAndroid Build Coastguard Worker   OPAL_INCLUDED = 0,
42*cda5da8dSAndroid Build Coastguard Worker   OPAL_KEYRING,
43*cda5da8dSAndroid Build Coastguard Worker };
44*cda5da8dSAndroid Build Coastguard Worker struct opal_key {
45*cda5da8dSAndroid Build Coastguard Worker   __u8 lr;
46*cda5da8dSAndroid Build Coastguard Worker   __u8 key_len;
47*cda5da8dSAndroid Build Coastguard Worker   __u8 key_type;
48*cda5da8dSAndroid Build Coastguard Worker   __u8 __align[5];
49*cda5da8dSAndroid Build Coastguard Worker   __u8 key[OPAL_KEY_MAX];
50*cda5da8dSAndroid Build Coastguard Worker };
51*cda5da8dSAndroid Build Coastguard Worker enum opal_revert_lsp_opts {
52*cda5da8dSAndroid Build Coastguard Worker   OPAL_PRESERVE = 0x01,
53*cda5da8dSAndroid Build Coastguard Worker };
54*cda5da8dSAndroid Build Coastguard Worker struct opal_lr_act {
55*cda5da8dSAndroid Build Coastguard Worker   struct opal_key key;
56*cda5da8dSAndroid Build Coastguard Worker   __u32 sum;
57*cda5da8dSAndroid Build Coastguard Worker   __u8 num_lrs;
58*cda5da8dSAndroid Build Coastguard Worker   __u8 lr[OPAL_MAX_LRS];
59*cda5da8dSAndroid Build Coastguard Worker   __u8 align[2];
60*cda5da8dSAndroid Build Coastguard Worker };
61*cda5da8dSAndroid Build Coastguard Worker struct opal_session_info {
62*cda5da8dSAndroid Build Coastguard Worker   __u32 sum;
63*cda5da8dSAndroid Build Coastguard Worker   __u32 who;
64*cda5da8dSAndroid Build Coastguard Worker   struct opal_key opal_key;
65*cda5da8dSAndroid Build Coastguard Worker };
66*cda5da8dSAndroid Build Coastguard Worker struct opal_user_lr_setup {
67*cda5da8dSAndroid Build Coastguard Worker   __u64 range_start;
68*cda5da8dSAndroid Build Coastguard Worker   __u64 range_length;
69*cda5da8dSAndroid Build Coastguard Worker   __u32 RLE;
70*cda5da8dSAndroid Build Coastguard Worker   __u32 WLE;
71*cda5da8dSAndroid Build Coastguard Worker   struct opal_session_info session;
72*cda5da8dSAndroid Build Coastguard Worker };
73*cda5da8dSAndroid Build Coastguard Worker struct opal_lr_status {
74*cda5da8dSAndroid Build Coastguard Worker   struct opal_session_info session;
75*cda5da8dSAndroid Build Coastguard Worker   __u64 range_start;
76*cda5da8dSAndroid Build Coastguard Worker   __u64 range_length;
77*cda5da8dSAndroid Build Coastguard Worker   __u32 RLE;
78*cda5da8dSAndroid Build Coastguard Worker   __u32 WLE;
79*cda5da8dSAndroid Build Coastguard Worker   __u32 l_state;
80*cda5da8dSAndroid Build Coastguard Worker   __u8 align[4];
81*cda5da8dSAndroid Build Coastguard Worker };
82*cda5da8dSAndroid Build Coastguard Worker struct opal_lock_unlock {
83*cda5da8dSAndroid Build Coastguard Worker   struct opal_session_info session;
84*cda5da8dSAndroid Build Coastguard Worker   __u32 l_state;
85*cda5da8dSAndroid Build Coastguard Worker   __u16 flags;
86*cda5da8dSAndroid Build Coastguard Worker   __u8 __align[2];
87*cda5da8dSAndroid Build Coastguard Worker };
88*cda5da8dSAndroid Build Coastguard Worker struct opal_new_pw {
89*cda5da8dSAndroid Build Coastguard Worker   struct opal_session_info session;
90*cda5da8dSAndroid Build Coastguard Worker   struct opal_session_info new_user_pw;
91*cda5da8dSAndroid Build Coastguard Worker };
92*cda5da8dSAndroid Build Coastguard Worker struct opal_mbr_data {
93*cda5da8dSAndroid Build Coastguard Worker   struct opal_key key;
94*cda5da8dSAndroid Build Coastguard Worker   __u8 enable_disable;
95*cda5da8dSAndroid Build Coastguard Worker   __u8 __align[7];
96*cda5da8dSAndroid Build Coastguard Worker };
97*cda5da8dSAndroid Build Coastguard Worker struct opal_mbr_done {
98*cda5da8dSAndroid Build Coastguard Worker   struct opal_key key;
99*cda5da8dSAndroid Build Coastguard Worker   __u8 done_flag;
100*cda5da8dSAndroid Build Coastguard Worker   __u8 __align[7];
101*cda5da8dSAndroid Build Coastguard Worker };
102*cda5da8dSAndroid Build Coastguard Worker struct opal_shadow_mbr {
103*cda5da8dSAndroid Build Coastguard Worker   struct opal_key key;
104*cda5da8dSAndroid Build Coastguard Worker   const __u64 data;
105*cda5da8dSAndroid Build Coastguard Worker   __u64 offset;
106*cda5da8dSAndroid Build Coastguard Worker   __u64 size;
107*cda5da8dSAndroid Build Coastguard Worker };
108*cda5da8dSAndroid Build Coastguard Worker enum opal_table_ops {
109*cda5da8dSAndroid Build Coastguard Worker   OPAL_READ_TABLE,
110*cda5da8dSAndroid Build Coastguard Worker   OPAL_WRITE_TABLE,
111*cda5da8dSAndroid Build Coastguard Worker };
112*cda5da8dSAndroid Build Coastguard Worker #define OPAL_UID_LENGTH 8
113*cda5da8dSAndroid Build Coastguard Worker struct opal_read_write_table {
114*cda5da8dSAndroid Build Coastguard Worker   struct opal_key key;
115*cda5da8dSAndroid Build Coastguard Worker   const __u64 data;
116*cda5da8dSAndroid Build Coastguard Worker   const __u8 table_uid[OPAL_UID_LENGTH];
117*cda5da8dSAndroid Build Coastguard Worker   __u64 offset;
118*cda5da8dSAndroid Build Coastguard Worker   __u64 size;
119*cda5da8dSAndroid Build Coastguard Worker #define OPAL_TABLE_READ (1 << OPAL_READ_TABLE)
120*cda5da8dSAndroid Build Coastguard Worker #define OPAL_TABLE_WRITE (1 << OPAL_WRITE_TABLE)
121*cda5da8dSAndroid Build Coastguard Worker   __u64 flags;
122*cda5da8dSAndroid Build Coastguard Worker   __u64 priv;
123*cda5da8dSAndroid Build Coastguard Worker };
124*cda5da8dSAndroid Build Coastguard Worker #define OPAL_FL_SUPPORTED 0x00000001
125*cda5da8dSAndroid Build Coastguard Worker #define OPAL_FL_LOCKING_SUPPORTED 0x00000002
126*cda5da8dSAndroid Build Coastguard Worker #define OPAL_FL_LOCKING_ENABLED 0x00000004
127*cda5da8dSAndroid Build Coastguard Worker #define OPAL_FL_LOCKED 0x00000008
128*cda5da8dSAndroid Build Coastguard Worker #define OPAL_FL_MBR_ENABLED 0x00000010
129*cda5da8dSAndroid Build Coastguard Worker #define OPAL_FL_MBR_DONE 0x00000020
130*cda5da8dSAndroid Build Coastguard Worker #define OPAL_FL_SUM_SUPPORTED 0x00000040
131*cda5da8dSAndroid Build Coastguard Worker struct opal_status {
132*cda5da8dSAndroid Build Coastguard Worker   __u32 flags;
133*cda5da8dSAndroid Build Coastguard Worker   __u32 reserved;
134*cda5da8dSAndroid Build Coastguard Worker };
135*cda5da8dSAndroid Build Coastguard Worker struct opal_geometry {
136*cda5da8dSAndroid Build Coastguard Worker   __u8 align;
137*cda5da8dSAndroid Build Coastguard Worker   __u32 logical_block_size;
138*cda5da8dSAndroid Build Coastguard Worker   __u64 alignment_granularity;
139*cda5da8dSAndroid Build Coastguard Worker   __u64 lowest_aligned_lba;
140*cda5da8dSAndroid Build Coastguard Worker   __u8 __align[3];
141*cda5da8dSAndroid Build Coastguard Worker };
142*cda5da8dSAndroid Build Coastguard Worker struct opal_discovery {
143*cda5da8dSAndroid Build Coastguard Worker   __u64 data;
144*cda5da8dSAndroid Build Coastguard Worker   __u64 size;
145*cda5da8dSAndroid Build Coastguard Worker };
146*cda5da8dSAndroid Build Coastguard Worker struct opal_revert_lsp {
147*cda5da8dSAndroid Build Coastguard Worker   struct opal_key key;
148*cda5da8dSAndroid Build Coastguard Worker   __u32 options;
149*cda5da8dSAndroid Build Coastguard Worker   __u32 __pad;
150*cda5da8dSAndroid Build Coastguard Worker };
151*cda5da8dSAndroid Build Coastguard Worker #define IOC_OPAL_SAVE _IOW('p', 220, struct opal_lock_unlock)
152*cda5da8dSAndroid Build Coastguard Worker #define IOC_OPAL_LOCK_UNLOCK _IOW('p', 221, struct opal_lock_unlock)
153*cda5da8dSAndroid Build Coastguard Worker #define IOC_OPAL_TAKE_OWNERSHIP _IOW('p', 222, struct opal_key)
154*cda5da8dSAndroid Build Coastguard Worker #define IOC_OPAL_ACTIVATE_LSP _IOW('p', 223, struct opal_lr_act)
155*cda5da8dSAndroid Build Coastguard Worker #define IOC_OPAL_SET_PW _IOW('p', 224, struct opal_new_pw)
156*cda5da8dSAndroid Build Coastguard Worker #define IOC_OPAL_ACTIVATE_USR _IOW('p', 225, struct opal_session_info)
157*cda5da8dSAndroid Build Coastguard Worker #define IOC_OPAL_REVERT_TPR _IOW('p', 226, struct opal_key)
158*cda5da8dSAndroid Build Coastguard Worker #define IOC_OPAL_LR_SETUP _IOW('p', 227, struct opal_user_lr_setup)
159*cda5da8dSAndroid Build Coastguard Worker #define IOC_OPAL_ADD_USR_TO_LR _IOW('p', 228, struct opal_lock_unlock)
160*cda5da8dSAndroid Build Coastguard Worker #define IOC_OPAL_ENABLE_DISABLE_MBR _IOW('p', 229, struct opal_mbr_data)
161*cda5da8dSAndroid Build Coastguard Worker #define IOC_OPAL_ERASE_LR _IOW('p', 230, struct opal_session_info)
162*cda5da8dSAndroid Build Coastguard Worker #define IOC_OPAL_SECURE_ERASE_LR _IOW('p', 231, struct opal_session_info)
163*cda5da8dSAndroid Build Coastguard Worker #define IOC_OPAL_PSID_REVERT_TPR _IOW('p', 232, struct opal_key)
164*cda5da8dSAndroid Build Coastguard Worker #define IOC_OPAL_MBR_DONE _IOW('p', 233, struct opal_mbr_done)
165*cda5da8dSAndroid Build Coastguard Worker #define IOC_OPAL_WRITE_SHADOW_MBR _IOW('p', 234, struct opal_shadow_mbr)
166*cda5da8dSAndroid Build Coastguard Worker #define IOC_OPAL_GENERIC_TABLE_RW _IOW('p', 235, struct opal_read_write_table)
167*cda5da8dSAndroid Build Coastguard Worker #define IOC_OPAL_GET_STATUS _IOR('p', 236, struct opal_status)
168*cda5da8dSAndroid Build Coastguard Worker #define IOC_OPAL_GET_LR_STATUS _IOW('p', 237, struct opal_lr_status)
169*cda5da8dSAndroid Build Coastguard Worker #define IOC_OPAL_GET_GEOMETRY _IOR('p', 238, struct opal_geometry)
170*cda5da8dSAndroid Build Coastguard Worker #define IOC_OPAL_DISCOVERY _IOW('p', 239, struct opal_discovery)
171*cda5da8dSAndroid Build Coastguard Worker #define IOC_OPAL_REVERT_LSP _IOW('p', 240, struct opal_revert_lsp)
172*cda5da8dSAndroid Build Coastguard Worker #endif
173