cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

actables.h (4203B)


      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 - 2022, 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 utilities
     17 */
     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 management
     26 */
     27acpi_status
     28acpi_tb_get_next_table_descriptor(u32 *table_index,
     29				  struct acpi_table_desc **table_desc);
     30
     31void
     32acpi_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_status
     37acpi_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_status
     46acpi_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/validate
     55 */
     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 table
     62 */
     63acpi_status
     64acpi_tb_find_table(char *signature,
     65		   char *oem_id, char *oem_table_id, u32 *table_index);
     66
     67/*
     68 * tbinstal - Table removal and deletion
     69 */
     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_status
     79acpi_tb_acquire_table(struct acpi_table_desc *table_desc,
     80		      struct acpi_table_header **table_ptr,
     81		      u32 *table_length, u8 *table_flags);
     82
     83void
     84acpi_tb_release_table(struct acpi_table_header *table,
     85		      u32 table_length, u8 table_flags);
     86
     87acpi_status
     88acpi_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_status
     96acpi_tb_load_table(u32 table_index, struct acpi_namespace_node *parent_node);
     97
     98acpi_status
     99acpi_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 utilities
    120 */
    121acpi_status acpi_tb_initialize_facs(void);
    122
    123void
    124acpi_tb_print_table_header(acpi_physical_address address,
    125			   struct acpi_table_header *header);
    126
    127u8 acpi_tb_checksum(u8 *buffer, u32 length);
    128
    129acpi_status
    130acpi_tb_verify_checksum(struct acpi_table_header *table, u32 length);
    131
    132void acpi_tb_check_dsdt_header(void);
    133
    134struct acpi_table_header *acpi_tb_copy_dsdt(u32 table_index);
    135
    136void
    137acpi_tb_install_table_with_override(struct acpi_table_desc *new_table_desc,
    138				    u8 override, u32 *table_index);
    139
    140acpi_status acpi_tb_parse_root_table(acpi_physical_address rsdp_address);
    141
    142acpi_status
    143acpi_tb_get_table(struct acpi_table_desc *table_desc,
    144		  struct acpi_table_header **out_table);
    145
    146void acpi_tb_put_table(struct acpi_table_desc *table_desc);
    147
    148/*
    149 * tbxfload
    150 */
    151acpi_status acpi_tb_load_namespace(void);
    152
    153#endif				/* __ACTABLES_H__ */