brintos

brintos / linux-shallow public Read only

0
0
Text · 4.0 KiB · b6ae979 Raw
149 lines · c
1/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */2/******************************************************************************3 *4 * Name: actables.h - ACPI table management5 *6 * Copyright (C) 2000 - 2023, Intel Corp.7 *8 *****************************************************************************/9 10#ifndef __ACTABLES_H__11#define __ACTABLES_H__12 13acpi_status acpi_allocate_root_table(u32 initial_table_count);14 15/*16 * tbxfroot - Root pointer utilities17 */18u32 acpi_tb_get_rsdp_length(struct acpi_table_rsdp *rsdp);19 20acpi_status acpi_tb_validate_rsdp(struct acpi_table_rsdp *rsdp);21 22u8 *acpi_tb_scan_memory_for_rsdp(u8 *start_address, u32 length);23 24/*25 * tbdata - table data structure management26 */27acpi_status28acpi_tb_get_next_table_descriptor(u32 *table_index,29				  struct acpi_table_desc **table_desc);30 31void32acpi_tb_init_table_descriptor(struct acpi_table_desc *table_desc,33			      acpi_physical_address address,34			      u8 flags, struct acpi_table_header *table);35 36acpi_status37acpi_tb_acquire_temp_table(struct acpi_table_desc *table_desc,38			   acpi_physical_address address,39			   u8 flags, struct acpi_table_header *table);40 41void acpi_tb_release_temp_table(struct acpi_table_desc *table_desc);42 43acpi_status acpi_tb_validate_temp_table(struct acpi_table_desc *table_desc);44 45acpi_status46acpi_tb_verify_temp_table(struct acpi_table_desc *table_desc,47			  char *signature, u32 *table_index);48 49u8 acpi_tb_is_table_loaded(u32 table_index);50 51void acpi_tb_set_table_loaded_flag(u32 table_index, u8 is_loaded);52 53/*54 * tbfadt - FADT parse/convert/validate55 */56void acpi_tb_parse_fadt(void);57 58void acpi_tb_create_local_fadt(struct acpi_table_header *table, u32 length);59 60/*61 * tbfind - find ACPI table62 */63acpi_status64acpi_tb_find_table(char *signature,65		   char *oem_id, char *oem_table_id, u32 *table_index);66 67/*68 * tbinstal - Table removal and deletion69 */70acpi_status acpi_tb_resize_root_table_list(void);71 72acpi_status acpi_tb_validate_table(struct acpi_table_desc *table_desc);73 74void acpi_tb_invalidate_table(struct acpi_table_desc *table_desc);75 76void acpi_tb_override_table(struct acpi_table_desc *old_table_desc);77 78acpi_status79acpi_tb_acquire_table(struct acpi_table_desc *table_desc,80		      struct acpi_table_header **table_ptr,81		      u32 *table_length, u8 *table_flags);82 83void84acpi_tb_release_table(struct acpi_table_header *table,85		      u32 table_length, u8 table_flags);86 87acpi_status88acpi_tb_install_standard_table(acpi_physical_address address,89			       u8 flags,90			       struct acpi_table_header *table,91			       u8 reload, u8 override, u32 *table_index);92 93void acpi_tb_uninstall_table(struct acpi_table_desc *table_desc);94 95acpi_status96acpi_tb_load_table(u32 table_index, struct acpi_namespace_node *parent_node);97 98acpi_status99acpi_tb_install_and_load_table(acpi_physical_address address,100			       u8 flags,101			       struct acpi_table_header *table,102			       u8 override, u32 *table_index);103 104acpi_status acpi_tb_unload_table(u32 table_index);105 106void acpi_tb_notify_table(u32 event, void *table);107 108void acpi_tb_terminate(void);109 110acpi_status acpi_tb_delete_namespace_by_owner(u32 table_index);111 112acpi_status acpi_tb_allocate_owner_id(u32 table_index);113 114acpi_status acpi_tb_release_owner_id(u32 table_index);115 116acpi_status acpi_tb_get_owner_id(u32 table_index, acpi_owner_id *owner_id);117 118/*119 * tbutils - table manager utilities120 */121acpi_status acpi_tb_initialize_facs(void);122 123void124acpi_tb_print_table_header(acpi_physical_address address,125			   struct acpi_table_header *header);126 127void acpi_tb_check_dsdt_header(void);128 129struct acpi_table_header *acpi_tb_copy_dsdt(u32 table_index);130 131void132acpi_tb_install_table_with_override(struct acpi_table_desc *new_table_desc,133				    u8 override, u32 *table_index);134 135acpi_status acpi_tb_parse_root_table(acpi_physical_address rsdp_address);136 137acpi_status138acpi_tb_get_table(struct acpi_table_desc *table_desc,139		  struct acpi_table_header **out_table);140 141void acpi_tb_put_table(struct acpi_table_desc *table_desc);142 143/*144 * tbxfload145 */146acpi_status acpi_tb_load_namespace(void);147 148#endif				/* __ACTABLES_H__ */149