~ubuntu-branches/ubuntu/trusty/grub2/trusty-updates

« back to all changes in this revision

Viewing changes to include/grub/efi/api.h

Tags: upstream-1.99~20101122
ImportĀ upstreamĀ versionĀ 1.99~20101122

Show diffs side-by-side

added added

removed removed

Lines of Context:
109
109
    { 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
110
110
  }
111
111
 
 
112
#define GRUB_EFI_SAL_TABLE_GUID \
 
113
  { 0xeb9d2d32, 0x2d88, 0x11d3, \
 
114
      { 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
 
115
  }
 
116
 
 
117
#define GRUB_EFI_HCDP_TABLE_GUID \
 
118
  { 0xf951938d, 0x620b, 0x42ef, \
 
119
      { 0x82, 0x79, 0xa8, 0x4b, 0x79, 0x61, 0x78, 0x98 } \
 
120
  }
 
121
 
 
122
struct grub_efi_sal_system_table
 
123
{
 
124
  grub_uint32_t signature;
 
125
  grub_uint32_t total_table_len;
 
126
  grub_uint16_t sal_rev;
 
127
  grub_uint16_t entry_count;
 
128
  grub_uint8_t checksum;
 
129
  grub_uint8_t reserved1[7];
 
130
  grub_uint16_t sal_a_version;
 
131
  grub_uint16_t sal_b_version;
 
132
  grub_uint8_t oem_id[32];
 
133
  grub_uint8_t product_id[32];
 
134
  grub_uint8_t reserved2[8];
 
135
  grub_uint8_t entries[0];
 
136
};
 
137
 
 
138
enum
 
139
  {
 
140
    GRUB_EFI_SAL_SYSTEM_TABLE_TYPE_ENTRYPOINT_DESCRIPTOR = 0,
 
141
    GRUB_EFI_SAL_SYSTEM_TABLE_TYPE_MEMORY_DESCRIPTOR = 1,
 
142
    GRUB_EFI_SAL_SYSTEM_TABLE_TYPE_PLATFORM_FEATURES = 2,
 
143
    GRUB_EFI_SAL_SYSTEM_TABLE_TYPE_TRANSLATION_REGISTER_DESCRIPTOR = 3,
 
144
    GRUB_EFI_SAL_SYSTEM_TABLE_TYPE_PURGE_TRANSLATION_COHERENCE = 4,
 
145
    GRUB_EFI_SAL_SYSTEM_TABLE_TYPE_AP_WAKEUP = 5
 
146
  };
 
147
 
 
148
struct grub_efi_sal_system_table_entrypoint_descriptor
 
149
{
 
150
  grub_uint8_t type;
 
151
  grub_uint8_t pad[7];
 
152
  grub_uint64_t pal_proc_addr;
 
153
  grub_uint64_t sal_proc_addr;
 
154
  grub_uint64_t global_data_ptr;
 
155
  grub_uint64_t reserved[2];
 
156
};
 
157
 
 
158
struct grub_efi_sal_system_table_memory_descriptor
 
159
{
 
160
  grub_uint8_t type;
 
161
  grub_uint8_t sal_used;
 
162
  grub_uint8_t attr;
 
163
  grub_uint8_t ar;
 
164
  grub_uint8_t attr_mask;
 
165
  grub_uint8_t mem_type;
 
166
  grub_uint8_t usage;
 
167
  grub_uint8_t unknown;
 
168
  grub_uint64_t addr;
 
169
  grub_uint64_t len;
 
170
  grub_uint64_t unknown2;
 
171
};
 
172
 
 
173
struct grub_efi_sal_system_table_platform_features
 
174
{
 
175
  grub_uint8_t type;
 
176
  grub_uint8_t flags;
 
177
  grub_uint8_t reserved[14];
 
178
};
 
179
 
 
180
struct grub_efi_sal_system_table_translation_register_descriptor
 
181
{
 
182
  grub_uint8_t type;
 
183
  grub_uint8_t register_type;
 
184
  grub_uint8_t register_number;
 
185
  grub_uint8_t reserved[5];
 
186
  grub_uint64_t addr;
 
187
  grub_uint64_t page_size;
 
188
  grub_uint64_t reserver;
 
189
};
 
190
 
 
191
struct grub_efi_sal_system_table_purge_translation_coherence
 
192
{
 
193
  grub_uint8_t type;
 
194
  grub_uint8_t reserved[3];  
 
195
  grub_uint32_t ndomains;
 
196
  grub_uint64_t coherence;
 
197
};
 
198
 
 
199
struct grub_efi_sal_system_table_ap_wakeup
 
200
{
 
201
  grub_uint8_t type;
 
202
  grub_uint8_t mechanism;
 
203
  grub_uint8_t reserved[6];
 
204
  grub_uint64_t vector;
 
205
};
 
206
 
 
207
enum
 
208
  {
 
209
    GRUB_EFI_SAL_SYSTEM_TABLE_PLATFORM_FEATURE_BUSLOCK = 1,
 
210
    GRUB_EFI_SAL_SYSTEM_TABLE_PLATFORM_FEATURE_IRQREDIRECT = 2,
 
211
    GRUB_EFI_SAL_SYSTEM_TABLE_PLATFORM_FEATURE_IPIREDIRECT = 4,
 
212
    GRUB_EFI_SAL_SYSTEM_TABLE_PLATFORM_FEATURE_ITCDRIFT = 8,
 
213
  };
 
214
 
112
215
/* Enumerations.  */
113
216
enum grub_efi_timer_delay
114
217
  {
184
287
typedef grub_uint8_t grub_efi_char8_t;
185
288
typedef grub_uint16_t grub_efi_char16_t;
186
289
 
 
290
#define PRIxGRUB_EFI_UINTN_T "lx"
 
291
 
187
292
typedef grub_efi_intn_t grub_efi_status_t;
188
293
 
189
294
#define GRUB_EFI_ERROR_CODE(value)      \