acpi: add aml_arg() term

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Igor Mammedov 2015-02-18 19:14:23 +00:00 committed by Michael S. Tsirkin
parent b25af5ad59
commit 7193f3a67e
2 changed files with 12 additions and 0 deletions

View File

@ -397,6 +397,17 @@ Aml *aml_name_decl(const char *name, Aml *val)
return var; return var;
} }
/* ACPI 1.0b: 16.2.6.1 Arg Objects Encoding */
Aml *aml_arg(int pos)
{
Aml *var;
uint8_t op = 0x68 /* ARG0 op */ + pos;
assert(pos <= 6);
var = aml_opcode(op);
return var;
}
/* ACPI 1.0b: 16.2.5.3 Type 1 Opcodes Encoding: DefIfElse */ /* ACPI 1.0b: 16.2.5.3 Type 1 Opcodes Encoding: DefIfElse */
Aml *aml_if(Aml *predicate) Aml *aml_if(Aml *predicate)
{ {

View File

@ -64,6 +64,7 @@ Aml *aml_name(const char *name_format, ...) GCC_FMT_ATTR(1, 2);
Aml *aml_name_decl(const char *name, Aml *val); Aml *aml_name_decl(const char *name, Aml *val);
Aml *aml_return(Aml *val); Aml *aml_return(Aml *val);
Aml *aml_int(const uint64_t val); Aml *aml_int(const uint64_t val);
Aml *aml_arg(int pos);
/* Block AML object primitives */ /* Block AML object primitives */
Aml *aml_scope(const char *name_format, ...) GCC_FMT_ATTR(1, 2); Aml *aml_scope(const char *name_format, ...) GCC_FMT_ATTR(1, 2);