Lines Matching refs:table

3  * Module Name: tbutils   - table utilities
70 * AE_INVALID_TABLE_LENGTH - invalid table length
79 struct acpi_table_header *table;
86 table = acpi_os_map_memory(address, sizeof(struct acpi_table_header));
87 if (!table)
90 length = table->length;
91 acpi_os_unmap_memory(table, sizeof(struct acpi_table_header));
95 table = acpi_os_map_memory(address, length);
96 if (!table)
101 (u32) ((table->length -
104 ACPI_CAST_PTR(u8, table) + sizeof(struct acpi_table_header);
113 acpi_os_unmap_memory(table, length);
208 * Header - Input ACPI table header
212 * DESCRIPTION: Copy the table header and ensure that all "string" fields in
239 * DESCRIPTION: Print an ACPI table header. Special cases for FACS and RSDP.
279 /* Standard ACPI table with full common header */
299 * PARAMETERS: Table - ACPI table to verify
300 * Length - Length of entire table
304 * DESCRIPTION: Verifies that the table checksums to zero. Optionally returns
309 acpi_status acpi_tb_verify_checksum(struct acpi_table_header *table, u32 length)
313 /* Compute the checksum on the table */
315 checksum = acpi_tb_checksum(ACPI_CAST_PTR(u8, table), length);
321 "Incorrect checksum in table [%4.4s] - 0x%2.2X, should be 0x%2.2X",
322 table->signature, table->checksum,
323 (u8) (table->checksum - checksum)));
401 * PARAMETERS: table_desc - Installed table to copy
444 * table_index - Index into root table array
448 * DESCRIPTION: Install an ACPI table into the global data structure. The
449 * table override mechanism is called to allow the host
450 * OS to replace any table before it is installed in the root
451 * table array.
459 struct acpi_table_header *table;
465 "Null physical address for ACPI table [%s]",
470 /* Map just the table header */
472 table = acpi_os_map_memory(address, sizeof(struct acpi_table_header));
473 if (!table) {
475 "Could not map memory for table [%s] at %p",
482 if (signature && !ACPI_COMPARE_NAME(table->signature, signature)) {
484 "Invalid signature 0x%X for ACPI table, expected [%s]",
485 *ACPI_CAST_PTR(u32, table->signature), signature));
490 * Initialize the table entry. Set the pointer to NULL, since the
491 * table is not fully mapped at this time.
497 table_desc->length = table->length;
499 ACPI_MOVE_32_TO_32(table_desc->signature.ascii, table->signature);
504 * Before we install the table, let the host OS override it with a new
505 * one if desired. Any table within the RSDT/XSDT can be replaced,
508 * NOTE: If the table is overridden, then final_table will contain a
509 * mapped pointer to the full new table. If the table is not overridden,
510 * or if there has been a physical override, then the table will be
511 * fully mapped later (in verify table). In any case, we must
514 final_table = acpi_tb_table_override(table, table_desc);
516 final_table = table; /* There was no override */
529 * tables, unmap the table for now. It will be mapped again later when
535 if (final_table != table) {
541 /* Always unmap the table header that we mapped above */
543 acpi_os_unmap_memory(table, sizeof(struct acpi_table_header));
550 * PARAMETERS: table_entry - Pointer to the RSDT/XSDT table entry
553 * RETURN: Physical address extracted from the root table
555 * DESCRIPTION: Get one root table entry. Handles 32-bit and 64-bit cases on
569 * Get the table physical address (32-bit for RSDT, 64-bit for XSDT):
574 * 32-bit platform, RSDT: Return 32-bit table entry
626 struct acpi_table_header *table;
652 * Root table is an XSDT (64-bit physical addresses). We must use the
661 /* Root table is an RSDT (32-bit physical addresses) */
682 /* Map the RSDT/XSDT table header to get the full table length */
684 table = acpi_os_map_memory(address, sizeof(struct acpi_table_header));
685 if (!table) {
689 acpi_tb_print_table_header(address, table);
691 /* Get the length of the full table, verify length and map entire table */
693 length = table->length;
694 acpi_os_unmap_memory(table, sizeof(struct acpi_table_header));
702 table = acpi_os_map_memory(address, length);
703 if (!table) {
707 /* Validate the root table checksum */
709 status = acpi_tb_verify_checksum(table, length);
711 acpi_os_unmap_memory(table, length);
715 /* Calculate the number of tables described in the root table */
717 table_count = (u32)((table->length - sizeof(struct acpi_table_header)) /
720 * First two entries in the table array are reserved for the DSDT
725 ACPI_CAST_PTR(u8, table) + sizeof(struct acpi_table_header);
729 * Initialize the root table array from the RSDT/XSDT
735 /* There is no more room in the root table array, attempt resize */
740 "Truncating %u table entries!",
749 /* Get the table physical address (32-bit for RSDT, 64-bit for XSDT) */
761 * so unmap the root table here before mapping other tables
763 acpi_os_unmap_memory(table, length);
766 * Complete the initialization of the root table array by examining
767 * the header of each table