diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2015-12-18 18:35:46 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2015-12-18 18:35:46 +0000 |
commit | 1c6f3e7bf6ed0a9ff1bd466e319cdf456e6e91dc (patch) | |
tree | 9ffecbf2e9ce4e63aac5515363a488b761a02b03 /source/components/namespace/nsload.c | |
parent | b9098066cd6284319bca922f13e59517f774a103 (diff) |
Notes
Diffstat (limited to 'source/components/namespace/nsload.c')
-rw-r--r-- | source/components/namespace/nsload.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/source/components/namespace/nsload.c b/source/components/namespace/nsload.c index b1b6afa70615..edd79327ff93 100644 --- a/source/components/namespace/nsload.c +++ b/source/components/namespace/nsload.c @@ -167,6 +167,24 @@ Unlock: ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "**** Completed Table Object Initialization\n")); + /* + * Execute any module-level code that was detected during the table load + * phase. Although illegal since ACPI 2.0, there are many machines that + * contain this type of code. Each block of detected executable AML code + * outside of any control method is wrapped with a temporary control + * method object and placed on a global list. The methods on this list + * are executed below. + * + * This case executes the module-level code for each table immediately + * after the table has been loaded. This provides compatibility with + * other ACPI implementations. Optionally, the execution can be deferred + * until later, see AcpiInitializeObjects. + */ + if (!AcpiGbl_GroupModuleLevelCode) + { + AcpiNsExecModuleCodeList (); + } + return_ACPI_STATUS (Status); } |