Lines Matching full:table
4 * Module Name: tbdata - Table manager data structure functions
30 * PARAMETERS: table_desc - Table 1 descriptor to be compared
31 * table_index - Index of table 2 to be compared
35 * DESCRIPTION: This function compares a table with another table that has
36 * already been installed in the root table list.
45 struct acpi_table_header *table; in acpi_tb_compare_tables() local
51 &table, &table_length, &table_flags); in acpi_tb_compare_tables()
57 * Check for a table match on the entire table length, in acpi_tb_compare_tables()
61 memcmp(table_desc->pointer, table, table_length)) ? in acpi_tb_compare_tables()
64 /* Release the acquired table */ in acpi_tb_compare_tables()
66 acpi_tb_release_table(table, table_length, table_flags); in acpi_tb_compare_tables()
74 * PARAMETERS: table_desc - Table descriptor
75 * address - Physical address of the table
76 * flags - Allocation flags of the table
77 * table - Pointer to the table
81 * DESCRIPTION: Initialize a new table descriptor
88 u8 flags, struct acpi_table_header *table) in acpi_tb_init_table_descriptor() argument
92 * Initialize the table descriptor. Set the pointer to NULL, since the in acpi_tb_init_table_descriptor()
93 * table is not fully mapped at this time. in acpi_tb_init_table_descriptor()
97 table_desc->length = table->length; in acpi_tb_init_table_descriptor()
99 ACPI_MOVE_32_TO_32(table_desc->signature.ascii, table->signature); in acpi_tb_init_table_descriptor()
106 * PARAMETERS: table_desc - Table descriptor
107 * table_ptr - Where table is returned
108 * table_length - Where table length is returned
109 * table_flags - Where table allocation flags are returned
113 * DESCRIPTION: Acquire an ACPI table. It can be used for tables not
123 struct acpi_table_header *table = NULL; in acpi_tb_acquire_table() local
128 table = in acpi_tb_acquire_table()
135 table = ACPI_CAST_PTR(struct acpi_table_header, in acpi_tb_acquire_table()
145 /* Table is not valid yet */ in acpi_tb_acquire_table()
147 if (!table) { in acpi_tb_acquire_table()
153 *table_ptr = table; in acpi_tb_acquire_table()
163 * PARAMETERS: table - Pointer for the table
164 * table_length - Length for the table
165 * table_flags - Allocation flags for the table
169 * DESCRIPTION: Release a table. The inverse of acpi_tb_acquire_table().
174 acpi_tb_release_table(struct acpi_table_header *table, in acpi_tb_release_table() argument
181 acpi_os_unmap_memory(table, table_length); in acpi_tb_release_table()
196 * PARAMETERS: table_desc - Table descriptor to be acquired
197 * address - Address of the table
198 * flags - Allocation flags of the table
202 * DESCRIPTION: This function validates the table header to obtain the length
203 * of a table and fills the table descriptor to make its state as
204 * "INSTALLED". Such a table descriptor is only used for verified
218 /* Get the length of the full table from the header */ in acpi_tb_acquire_temp_table()
251 /* Table is not valid yet */ in acpi_tb_acquire_temp_table()
260 * PARAMETERS: table_desc - Table descriptor to be released
283 * PARAMETERS: table_desc - Table descriptor
287 * DESCRIPTION: This function is called to validate the table, the returned
288 * table descriptor is in "VALIDATED" state.
298 /* Validate the table if necessary */ in acpi_tb_validate_table()
316 * PARAMETERS: table_desc - Table descriptor
320 * DESCRIPTION: Invalidate one internal ACPI table, this is the inverse of
330 /* Table must be validated */ in acpi_tb_invalidate_table()
347 * PARAMETERS: table_desc - Table descriptor
351 * DESCRIPTION: This function is called to validate the table, the returned
352 * table descriptor is in "VALIDATED" state.
361 * Only validates the header of the table. in acpi_tb_validate_temp_table()
367 * table length obtaining from the table header. in acpi_tb_validate_temp_table()
379 * PARAMETERS: table_desc - Table descriptor
380 * table_index - Where the table index is returned
384 * DESCRIPTION: Avoid installing duplicated tables. However table override and
385 * user aided dynamic table load is allowed, thus comparing the
386 * address of the table is not sufficient, and checking the entire
387 * table content is required.
398 /* Check if table is already registered */ in acpi_tb_check_duplication()
411 * Check for a table match on the entire table length, in acpi_tb_check_duplication()
419 * Note: the current mechanism does not unregister a table if it is in acpi_tb_check_duplication()
421 * but the table remains in the root table list. in acpi_tb_check_duplication()
425 * in just keeping the table in case it is needed again. in acpi_tb_check_duplication()
428 * machines with many table load/unload operations), tables will in acpi_tb_check_duplication()
430 * root table list should be reused when empty. in acpi_tb_check_duplication()
435 /* Table is still loaded, this is an error */ in acpi_tb_check_duplication()
453 * PARAMETERS: table_desc - Table descriptor
454 * signature - Table signature to verify
455 * table_index - Where the table index is returned
459 * DESCRIPTION: This function is called to validate and verify the table, the
460 * returned table descriptor is in "VALIDATED" state.
474 /* Validate the table */ in acpi_tb_verify_temp_table()
486 "Invalid signature 0x%X for ACPI table, expected [%s]", in acpi_tb_verify_temp_table()
502 " Attempted table install failed", in acpi_tb_verify_temp_table()
522 " Table is already loaded", in acpi_tb_verify_temp_table()
554 * DESCRIPTION: Expand the size of global table array
571 "Resize of Root Table Array is not allowed")); in acpi_tb_resize_root_table_list()
575 /* Increase the Table Array size */ in acpi_tb_resize_root_table_list()
588 "Could not allocate new root table array")); in acpi_tb_resize_root_table_list()
592 /* Copy and free the previous table array */ in acpi_tb_resize_root_table_list()
622 * PARAMETERS: table_index - Where table index is returned
623 * table_desc - Where table descriptor is returned
625 * RETURN: Status and table index/descriptor.
627 * DESCRIPTION: Allocate a new ACPI table entry to the global table list
638 /* Ensure that there is room for the table in the Root Table List */ in acpi_tb_get_next_table_descriptor()
688 * Delete the root table array if allocated locally. Array cannot be in acpi_tb_terminate()
709 * PARAMETERS: table_index - Table index
713 * DESCRIPTION: Delete all namespace objects created when this table was loaded.
731 /* The table index does not exist */ in acpi_tb_delete_namespace_by_owner()
737 /* Get the owner ID for this table, used to delete namespace nodes */ in acpi_tb_delete_namespace_by_owner()
763 * PARAMETERS: table_index - Table index
793 * PARAMETERS: table_index - Table index
823 * PARAMETERS: table_index - Table index
824 * owner_id - Where the table owner_id is returned
828 * DESCRIPTION: returns owner_id for the ACPI table
853 * PARAMETERS: table_index - Index into the root table
855 * RETURN: Table Loaded Flag
878 * PARAMETERS: table_index - Table index
879 * is_loaded - TRUE if table is loaded, FALSE otherwise
883 * DESCRIPTION: Sets the table loaded flag to either TRUE or FALSE.
908 * PARAMETERS: table_index - Table index
909 * parent_node - Where table index is returned
913 * DESCRIPTION: Load an ACPI table
920 struct acpi_table_header *table; in acpi_tb_load_table() local
927 * Note: Now table is "INSTALLED", it must be validated before in acpi_tb_load_table()
930 status = acpi_get_table_by_index(table_index, &table); in acpi_tb_load_table()
940 * that may have been loaded by this table. in acpi_tb_load_table()
947 /* Invoke table handler */ in acpi_tb_load_table()
949 acpi_tb_notify_table(ACPI_TABLE_EVENT_LOAD, table); in acpi_tb_load_table()
957 * PARAMETERS: address - Physical address of the table
958 * flags - Allocation flags of the table
960 * table_index - Where table index is returned
964 * DESCRIPTION: Install and load an ACPI table
977 /* Install the table and load it into the namespace */ in acpi_tb_install_and_load_table()
998 * PARAMETERS: table_index - Table index in ACPI_EXPORT_SYMBOL()
1002 * DESCRIPTION: Unload an ACPI table in ACPI_EXPORT_SYMBOL()
1009 struct acpi_table_header *table; in ACPI_EXPORT_SYMBOL() local
1013 /* Ensure the table is still loaded */ in ACPI_EXPORT_SYMBOL()
1019 /* Invoke table handler */ in ACPI_EXPORT_SYMBOL()
1021 status = acpi_get_table_by_index(table_index, &table); in ACPI_EXPORT_SYMBOL()
1023 acpi_tb_notify_table(ACPI_TABLE_EVENT_UNLOAD, table); in ACPI_EXPORT_SYMBOL()
1026 /* Delete the portion of the namespace owned by this table */ in ACPI_EXPORT_SYMBOL()
1044 * PARAMETERS: event - Table event in ACPI_EXPORT_SYMBOL()
1045 * table - Validated table pointer in ACPI_EXPORT_SYMBOL()
1049 * DESCRIPTION: Notify a table event to the users. in ACPI_EXPORT_SYMBOL()
1053 void acpi_tb_notify_table(u32 event, void *table) in ACPI_EXPORT_SYMBOL()
1055 /* Invoke table handler if present */ in ACPI_EXPORT_SYMBOL()
1058 (void)acpi_gbl_table_handler(event, table, in ACPI_EXPORT_SYMBOL()