root/drivers/acpi/acpica/actables.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 */
   2 /******************************************************************************
   3  *
   4  * Name: actables.h - ACPI table management
   5  *
   6  * Copyright (C) 2000 - 2019, Intel Corp.
   7  *
   8  *****************************************************************************/
   9 
  10 #ifndef __ACTABLES_H__
  11 #define __ACTABLES_H__
  12 
  13 acpi_status acpi_allocate_root_table(u32 initial_table_count);
  14 
  15 /*
  16  * tbxfroot - Root pointer utilities
  17  */
  18 u32 acpi_tb_get_rsdp_length(struct acpi_table_rsdp *rsdp);
  19 
  20 acpi_status acpi_tb_validate_rsdp(struct acpi_table_rsdp *rsdp);
  21 
  22 u8 *acpi_tb_scan_memory_for_rsdp(u8 *start_address, u32 length);
  23 
  24 /*
  25  * tbdata - table data structure management
  26  */
  27 acpi_status
  28 acpi_tb_get_next_table_descriptor(u32 *table_index,
  29                                   struct acpi_table_desc **table_desc);
  30 
  31 void
  32 acpi_tb_init_table_descriptor(struct acpi_table_desc *table_desc,
  33                               acpi_physical_address address,
  34                               u8 flags, struct acpi_table_header *table);
  35 
  36 acpi_status
  37 acpi_tb_acquire_temp_table(struct acpi_table_desc *table_desc,
  38                            acpi_physical_address address, u8 flags);
  39 
  40 void acpi_tb_release_temp_table(struct acpi_table_desc *table_desc);
  41 
  42 acpi_status acpi_tb_validate_temp_table(struct acpi_table_desc *table_desc);
  43 
  44 acpi_status
  45 acpi_tb_verify_temp_table(struct acpi_table_desc *table_desc,
  46                           char *signature, u32 *table_index);
  47 
  48 u8 acpi_tb_is_table_loaded(u32 table_index);
  49 
  50 void acpi_tb_set_table_loaded_flag(u32 table_index, u8 is_loaded);
  51 
  52 /*
  53  * tbfadt - FADT parse/convert/validate
  54  */
  55 void acpi_tb_parse_fadt(void);
  56 
  57 void acpi_tb_create_local_fadt(struct acpi_table_header *table, u32 length);
  58 
  59 /*
  60  * tbfind - find ACPI table
  61  */
  62 acpi_status
  63 acpi_tb_find_table(char *signature,
  64                    char *oem_id, char *oem_table_id, u32 *table_index);
  65 
  66 /*
  67  * tbinstal - Table removal and deletion
  68  */
  69 acpi_status acpi_tb_resize_root_table_list(void);
  70 
  71 acpi_status acpi_tb_validate_table(struct acpi_table_desc *table_desc);
  72 
  73 void acpi_tb_invalidate_table(struct acpi_table_desc *table_desc);
  74 
  75 void acpi_tb_override_table(struct acpi_table_desc *old_table_desc);
  76 
  77 acpi_status
  78 acpi_tb_acquire_table(struct acpi_table_desc *table_desc,
  79                       struct acpi_table_header **table_ptr,
  80                       u32 *table_length, u8 *table_flags);
  81 
  82 void
  83 acpi_tb_release_table(struct acpi_table_header *table,
  84                       u32 table_length, u8 table_flags);
  85 
  86 acpi_status
  87 acpi_tb_install_standard_table(acpi_physical_address address,
  88                                u8 flags,
  89                                u8 reload, u8 override, u32 *table_index);
  90 
  91 void acpi_tb_uninstall_table(struct acpi_table_desc *table_desc);
  92 
  93 acpi_status
  94 acpi_tb_load_table(u32 table_index, struct acpi_namespace_node *parent_node);
  95 
  96 acpi_status
  97 acpi_tb_install_and_load_table(acpi_physical_address address,
  98                                u8 flags, u8 override, u32 *table_index);
  99 
 100 acpi_status acpi_tb_unload_table(u32 table_index);
 101 
 102 void acpi_tb_notify_table(u32 event, void *table);
 103 
 104 void acpi_tb_terminate(void);
 105 
 106 acpi_status acpi_tb_delete_namespace_by_owner(u32 table_index);
 107 
 108 acpi_status acpi_tb_allocate_owner_id(u32 table_index);
 109 
 110 acpi_status acpi_tb_release_owner_id(u32 table_index);
 111 
 112 acpi_status acpi_tb_get_owner_id(u32 table_index, acpi_owner_id *owner_id);
 113 
 114 /*
 115  * tbutils - table manager utilities
 116  */
 117 acpi_status acpi_tb_initialize_facs(void);
 118 
 119 void
 120 acpi_tb_print_table_header(acpi_physical_address address,
 121                            struct acpi_table_header *header);
 122 
 123 u8 acpi_tb_checksum(u8 *buffer, u32 length);
 124 
 125 acpi_status
 126 acpi_tb_verify_checksum(struct acpi_table_header *table, u32 length);
 127 
 128 void acpi_tb_check_dsdt_header(void);
 129 
 130 struct acpi_table_header *acpi_tb_copy_dsdt(u32 table_index);
 131 
 132 void
 133 acpi_tb_install_table_with_override(struct acpi_table_desc *new_table_desc,
 134                                     u8 override, u32 *table_index);
 135 
 136 acpi_status acpi_tb_parse_root_table(acpi_physical_address rsdp_address);
 137 
 138 acpi_status
 139 acpi_tb_get_table(struct acpi_table_desc *table_desc,
 140                   struct acpi_table_header **out_table);
 141 
 142 void acpi_tb_put_table(struct acpi_table_desc *table_desc);
 143 
 144 /*
 145  * tbxfload
 146  */
 147 acpi_status acpi_tb_load_namespace(void);
 148 
 149 #endif                          /* __ACTABLES_H__ */

/* [<][>][^][v][top][bottom][index][help] */