ACPICA: re-factor table init routines for benefit of iASL
Required new table init interface since iASL does not use RSDP/XSDT. Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
694b0b2092
commit
77389e1263
2 changed files with 27 additions and 5 deletions
|
@ -52,6 +52,29 @@ ACPI_MODULE_NAME("tbxface")
|
||||||
/* Local prototypes */
|
/* Local prototypes */
|
||||||
static acpi_status acpi_tb_load_namespace(void);
|
static acpi_status acpi_tb_load_namespace(void);
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: acpi_allocate_root_table
|
||||||
|
*
|
||||||
|
* PARAMETERS: initial_table_count - Size of initial_table_array, in number of
|
||||||
|
* struct acpi_table_desc structures
|
||||||
|
*
|
||||||
|
* RETURN: Status
|
||||||
|
*
|
||||||
|
* DESCRIPTION: Allocate a root table array. Used by i_aSL compiler and
|
||||||
|
* acpi_initialize_tables.
|
||||||
|
*
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
acpi_status acpi_allocate_root_table(u32 initial_table_count)
|
||||||
|
{
|
||||||
|
|
||||||
|
acpi_gbl_root_table_list.size = initial_table_count;
|
||||||
|
acpi_gbl_root_table_list.flags = ACPI_ROOT_ALLOW_RESIZE;
|
||||||
|
|
||||||
|
return (acpi_tb_resize_root_table_list());
|
||||||
|
}
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
*
|
*
|
||||||
* FUNCTION: acpi_initialize_tables
|
* FUNCTION: acpi_initialize_tables
|
||||||
|
@ -79,7 +102,7 @@ static acpi_status acpi_tb_load_namespace(void);
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
acpi_status __init
|
acpi_status __init
|
||||||
acpi_initialize_tables(struct acpi_table_desc *initial_table_array,
|
acpi_initialize_tables(struct acpi_table_desc * initial_table_array,
|
||||||
u32 initial_table_count, u8 allow_resize)
|
u32 initial_table_count, u8 allow_resize)
|
||||||
{
|
{
|
||||||
acpi_physical_address rsdp_address;
|
acpi_physical_address rsdp_address;
|
||||||
|
@ -92,10 +115,7 @@ acpi_initialize_tables(struct acpi_table_desc *initial_table_array,
|
||||||
* Allocate the table array if requested
|
* Allocate the table array if requested
|
||||||
*/
|
*/
|
||||||
if (!initial_table_array) {
|
if (!initial_table_array) {
|
||||||
acpi_gbl_root_table_list.size = initial_table_count;
|
status = acpi_allocate_root_table(initial_table_count);
|
||||||
acpi_gbl_root_table_list.flags = ACPI_ROOT_ALLOW_RESIZE;
|
|
||||||
|
|
||||||
status = acpi_tb_resize_root_table_list();
|
|
||||||
if (ACPI_FAILURE(status)) {
|
if (ACPI_FAILURE(status)) {
|
||||||
return_ACPI_STATUS(status);
|
return_ACPI_STATUS(status);
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,6 +44,8 @@
|
||||||
#ifndef __ACTABLES_H__
|
#ifndef __ACTABLES_H__
|
||||||
#define __ACTABLES_H__
|
#define __ACTABLES_H__
|
||||||
|
|
||||||
|
acpi_status acpi_allocate_root_table(u32 initial_table_count);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* tbfadt - FADT parse/convert/validate
|
* tbfadt - FADT parse/convert/validate
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue