ACPI_STATUS AcpiInitializeSubsystem ( void) { ACPI_STATUS Status; ACPI_FUNCTION_TRACE (AcpiInitializeSubsystem); AcpiGbl_StartupFlags = ACPI_SUBSYSTEM_INITIALIZE; ACPI_DEBUG_EXEC (AcpiUtInitStackPtrTrace ()); /* Initialize the OS-Dependent layer */ Status = AcpiOsInitialize (); if (ACPI_FAILURE (Status)) { ACPI_EXCEPTION ((AE_INFO, Status, "During OSL initialization")); return_ACPI_STATUS (Status); } /* Initialize all globals used by the subsystem */ Status = AcpiUtInitGlobals (); if (ACPI_FAILURE (Status)) { ACPI_EXCEPTION ((AE_INFO, Status, "During initialization of globals")); return_ACPI_STATUS (Status); } /* Create the default mutex objects */ Status = AcpiUtMutexInitialize (); if (ACPI_FAILURE (Status)) { ACPI_EXCEPTION ((AE_INFO, Status, "During Global Mutex creation")); return_ACPI_STATUS (Status); } /* * Initialize the namespace manager and * the root of the namespace tree */ Status = AcpiNsRootInitialize (); if (ACPI_FAILURE (Status)) { ACPI_EXCEPTION ((AE_INFO, Status, "During Namespace initialization")); return_ACPI_STATUS (Status); } /* If configured, initialize the AML debugger */ ACPI_DEBUGGER_EXEC (Status = AcpiDbInitialize ()); return_ACPI_STATUS (Status); }
ACPI_STATUS AdInitialize ( void) { ACPI_STATUS Status; /* ACPICA subsystem initialization */ Status = AcpiOsInitialize (); if (ACPI_FAILURE (Status)) { fprintf (stderr, "Could not initialize ACPICA subsystem: %s\n", AcpiFormatException (Status)); return (Status); } Status = AcpiUtInitGlobals (); if (ACPI_FAILURE (Status)) { fprintf (stderr, "Could not initialize ACPICA globals: %s\n", AcpiFormatException (Status)); return (Status); } Status = AcpiUtMutexInitialize (); if (ACPI_FAILURE (Status)) { fprintf (stderr, "Could not initialize ACPICA mutex objects: %s\n", AcpiFormatException (Status)); return (Status); } Status = AcpiNsRootInitialize (); if (ACPI_FAILURE (Status)) { fprintf (stderr, "Could not initialize ACPICA namespace: %s\n", AcpiFormatException (Status)); return (Status); } /* Setup the Table Manager (cheat - there is no RSDT) */ AcpiGbl_RootTableList.MaxTableCount = 1; AcpiGbl_RootTableList.CurrentTableCount = 0; AcpiGbl_RootTableList.Tables = LocalTables; return (AE_OK); }
ACPI_STATUS AdInitialize ( void) { ACPI_STATUS Status; /* ACPI CA subsystem initialization */ Status = AcpiOsInitialize (); if (ACPI_FAILURE (Status)) { return (Status); } Status = AcpiUtInitGlobals (); if (ACPI_FAILURE (Status)) { return (Status); } Status = AcpiUtMutexInitialize (); if (ACPI_FAILURE (Status)) { return (Status); } Status = AcpiNsRootInitialize (); if (ACPI_FAILURE (Status)) { return (Status); } /* Setup the Table Manager (cheat - there is no RSDT) */ AcpiGbl_RootTableList.MaxTableCount = 1; AcpiGbl_RootTableList.CurrentTableCount = 0; AcpiGbl_RootTableList.Tables = LocalTables; return (Status); }
int ACPI_SYSTEM_XFACE main ( int argc, char **argv) { ACPI_STATUS Status; char *Prefix; /* Init and command line */ AslInitialize (); AslCommandLine (argc, argv); /* * If -p not specified, we will use the input filename as the * output filename prefix */ FlSplitInputPathname (Gbl_Files[ASL_FILE_INPUT].Filename, &Gbl_DirectoryPath, &Prefix); if (Gbl_UseDefaultAmlFilename) { Gbl_OutputFilenamePrefix = Prefix; } /* * AML Disassembly (Optional) */ if (Gbl_DisasmFlag || Gbl_GetAllTables) { /* ACPI CA subsystem initialization */ Status = AcpiOsInitialize (); AcpiUtInitGlobals (); Status = AcpiUtMutexInitialize (); if (ACPI_FAILURE (Status)) { return -1; } Status = AcpiNsRootInitialize (); if (ACPI_FAILURE (Status)) { return -1; } /* This is where the disassembly happens */ AcpiGbl_DbOpt_disasm = TRUE; Status = AdAmlDisassemble (AslToFile, Gbl_Files[ASL_FILE_INPUT].Filename, Gbl_OutputFilenamePrefix, &Gbl_Files[ASL_FILE_INPUT].Filename, Gbl_GetAllTables); if (ACPI_FAILURE (Status)) { return -1; } /* * Gbl_Files[ASL_FILE_INPUT].Filename was replaced with the * .DSL disassembly file, which can now be compiled if requested */ if (DoCompile) { AcpiOsPrintf ("\nCompiling \"%s\"\n", Gbl_Files[ASL_FILE_INPUT].Filename); } } /* * ASL Compilation (Optional) */ if (DoCompile) { /* * If -p not specified, we will use the input filename as the * output filename prefix */ FlSplitInputPathname (Gbl_Files[ASL_FILE_INPUT].Filename, &Gbl_DirectoryPath, &Prefix); if (Gbl_UseDefaultAmlFilename) { Gbl_OutputFilenamePrefix = Prefix; } /* ACPI CA subsystem initialization (Must be re-initialized) */ Status = AcpiOsInitialize (); AcpiUtInitGlobals (); Status = AcpiUtMutexInitialize (); if (ACPI_FAILURE (Status)) { return -1; } Status = AcpiNsRootInitialize (); if (ACPI_FAILURE (Status)) { return -1; } Status = CmDoCompile (); } return (0); }
ACPI_STATUS AcpiInitializeSubsystem ( void) { ACPI_STATUS Status; ACPI_FUNCTION_TRACE (AcpiInitializeSubsystem); AcpiGbl_StartupFlags = ACPI_SUBSYSTEM_INITIALIZE; ACPI_DEBUG_EXEC (AcpiUtInitStackPtrTrace ()); /* Initialize the OS-Dependent layer */ Status = AcpiOsInitialize (); if (ACPI_FAILURE (Status)) { ACPI_EXCEPTION ((AE_INFO, Status, "During OSL initialization")); return_ACPI_STATUS (Status); } /* Initialize all globals used by the subsystem */ Status = AcpiUtInitGlobals (); if (ACPI_FAILURE (Status)) { ACPI_EXCEPTION ((AE_INFO, Status, "During initialization of globals")); return_ACPI_STATUS (Status); } /* Create the default mutex objects */ Status = AcpiUtMutexInitialize (); if (ACPI_FAILURE (Status)) { ACPI_EXCEPTION ((AE_INFO, Status, "During Global Mutex creation")); return_ACPI_STATUS (Status); } /* * Initialize the namespace manager and * the root of the namespace tree */ Status = AcpiNsRootInitialize (); if (ACPI_FAILURE (Status)) { ACPI_EXCEPTION ((AE_INFO, Status, "During Namespace initialization")); return_ACPI_STATUS (Status); } /* Initialize the global OSI interfaces list with the static names */ Status = AcpiUtInitializeInterfaces (); if (ACPI_FAILURE (Status)) { ACPI_EXCEPTION ((AE_INFO, Status, "During OSI interfaces initialization")); return_ACPI_STATUS (Status); } if (!AcpiGbl_OverrideDefaultRegionHandlers) { /* * Install the default operation region handlers. These are the * handlers that are defined by the ACPI specification to be * "always accessible" -- namely, SystemMemory, SystemIO, and * PCI_Config. This also means that no _REG methods need to be * run for these address spaces. We need to have these handlers * installed before any AML code can be executed, especially any * module-level code (11/2015). */ Status = AcpiEvInstallRegionHandlers (); if (ACPI_FAILURE (Status)) { ACPI_EXCEPTION ((AE_INFO, Status, "During Region initialization")); return_ACPI_STATUS (Status); } } return_ACPI_STATUS (AE_OK); }