Lines Matching refs:th
166 struct sfi_table_header *th; in sfi_map_table() local
170 th = sfi_map_memory(pa, sizeof(struct sfi_table_header)); in sfi_map_table()
172 th = (void *)syst_va + (pa - syst_pa); in sfi_map_table()
175 if (TABLE_ON_PAGE(th, th, th->len)) in sfi_map_table()
176 return th; in sfi_map_table()
179 length = th->len; in sfi_map_table()
181 sfi_unmap_memory(th, sizeof(struct sfi_table_header)); in sfi_map_table()
192 void sfi_unmap_table(struct sfi_table_header *th) in sfi_unmap_table() argument
194 if (!TABLE_ON_PAGE(syst_va, th, th->len)) in sfi_unmap_table()
195 sfi_unmap_memory(th, TABLE_ON_PAGE(th, th, th->len) ? in sfi_unmap_table()
196 sizeof(*th) : th->len); in sfi_unmap_table()
199 static int sfi_table_check_key(struct sfi_table_header *th, in sfi_table_check_key() argument
203 if (strncmp(th->sig, key->sig, SFI_SIGNATURE_SIZE) in sfi_table_check_key()
204 || (key->oem_id && strncmp(th->oem_id, in sfi_table_check_key()
206 || (key->oem_table_id && strncmp(th->oem_table_id, in sfi_table_check_key()
233 struct sfi_table_header *th; in sfi_check_table() local
236 th = sfi_map_table(pa); in sfi_check_table()
237 if (!th) in sfi_check_table()
241 sfi_print_table_header(pa, th); in sfi_check_table()
242 if (sfi_verify_table(th)) in sfi_check_table()
245 if (!sfi_table_check_key(th, key)) in sfi_check_table()
246 return th; /* Success */ in sfi_check_table()
249 sfi_unmap_table(th); in sfi_check_table()
261 struct sfi_table_header *th; in sfi_get_table() local
266 th = sfi_check_table(syst_va->pentry[i], key); in sfi_get_table()
267 if (!IS_ERR(th) && th) in sfi_get_table()
268 return th; in sfi_get_table()
274 void sfi_put_table(struct sfi_table_header *th) in sfi_put_table() argument
276 sfi_unmap_table(th); in sfi_put_table()
395 struct sfi_table_header *th = NULL; in sfi_table_show() local
404 th = sfi_get_table(&key); in sfi_table_show()
405 if (!th) in sfi_table_show()
409 th, th->len); in sfi_table_show()
410 sfi_put_table(th); in sfi_table_show()
421 struct sfi_table_header *th; in sfi_sysfs_install_table() local
428 th = sfi_map_table(pa); in sfi_sysfs_install_table()
429 if (!th || !th->sig[0]) { in sfi_sysfs_install_table()
435 memcpy(tbl_attr->name, th->sig, SFI_SIGNATURE_SIZE); in sfi_sysfs_install_table()
449 sfi_unmap_table(th); in sfi_sysfs_install_table()