ACPICA: Disassembler: Add support for C-style operators and expressions.
authorBob Moore <robert.moore@intel.com>
Thu, 27 Nov 2014 06:26:12 +0000 (14:26 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 27 Nov 2014 23:00:52 +0000 (00:00 +0100)
Now emit ASL+ code which includes C-style operators.
Optionally, legacy text ASL operators can still be emitted.

This patch only affects compiler/disassembler support which is not in the
Linux kernel.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpica/acglobal.h
drivers/acpi/acpica/aclocal.h

index ebf02cc10a430a9c52d99e3f245f20ce671ceab5..7f60582d0c8ce1c99bdeca6ba30b647574c33beb 100644 (file)
@@ -305,6 +305,7 @@ ACPI_INIT_GLOBAL(u8, acpi_gbl_db_output_flags, ACPI_DB_CONSOLE_OUTPUT);
 
 ACPI_INIT_GLOBAL(u8, acpi_gbl_no_resource_disassembly, FALSE);
 ACPI_INIT_GLOBAL(u8, acpi_gbl_ignore_noop_operator, FALSE);
+ACPI_INIT_GLOBAL(u8, acpi_gbl_cstyle_disassembly, TRUE);
 
 ACPI_GLOBAL(u8, acpi_gbl_db_opt_disasm);
 ACPI_GLOBAL(u8, acpi_gbl_db_opt_verbose);
index c00e7e41ad75ae387886d6327f664b090cd19133..1c218d9478cbd5d0ebd771ad579b216616085f25 100644 (file)
@@ -722,6 +722,7 @@ union acpi_parse_value {
        ACPI_DISASM_ONLY_MEMBERS (\
        u8                              disasm_flags;   /* Used during AML disassembly */\
        u8                              disasm_opcode;  /* Subtype used for disassembly */\
+       char                            *operator_symbol;/* Used for C-style operator name strings */\
        char                            aml_op_name[16])        /* Op name (debug only) */
 
 /* Flags for disasm_flags field above */
@@ -827,6 +828,7 @@ struct acpi_parse_state {
 #define ACPI_PARSEOP_EMPTY_TERMLIST     0x04
 #define ACPI_PARSEOP_PREDEF_CHECKED     0x08
 #define ACPI_PARSEOP_SPECIAL            0x10
+#define ACPI_PARSEOP_COMPOUND           0x20
 
 /*****************************************************************************
  *