dmopcode.c revision 217365
1233294Sstas/*******************************************************************************
2102644Snectar *
355682Smarkm * Module Name: dmopcode - AML disassembler, specific AML opcodes
4142403Snectar *
5233294Sstas ******************************************************************************/
6233294Sstas
755682Smarkm/*
855682Smarkm * Copyright (C) 2000 - 2011, Intel Corp.
955682Smarkm * All rights reserved.
1055682Smarkm *
1155682Smarkm * Redistribution and use in source and binary forms, with or without
1255682Smarkm * modification, are permitted provided that the following conditions
1355682Smarkm * are met:
1455682Smarkm * 1. Redistributions of source code must retain the above copyright
1555682Smarkm *    notice, this list of conditions, and the following disclaimer,
1690926Snectar *    without modification.
1790926Snectar * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18233294Sstas *    substantially similar to the "NO WARRANTY" disclaimer below
1990926Snectar *    ("Disclaimer") and any redistribution must be conditioned upon
20233294Sstas *    including a substantially similar Disclaimer requirement for further
2190926Snectar *    binary redistribution.
22233294Sstas * 3. Neither the names of the above-listed copyright holders nor the names
2355682Smarkm *    of any contributors may be used to endorse or promote products derived
2455682Smarkm *    from this software without specific prior written permission.
2555682Smarkm *
26233294Sstas * Alternatively, this software may be distributed under the terms of the
2755682Smarkm * GNU General Public License ("GPL") version 2 as published by the Free
28233294Sstas * Software Foundation.
29102644Snectar *
30102644Snectar * NO WARRANTY
31102644Snectar * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32127808Snectar * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
3390926Snectar * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34127808Snectar * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
3555682Smarkm * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
3655682Smarkm * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
3755682Smarkm * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
3855682Smarkm * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
3955682Smarkm * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
4055682Smarkm * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41178825Sdfr * POSSIBILITY OF SUCH DAMAGES.
4255682Smarkm */
43142403Snectar
44142403Snectar#include <contrib/dev/acpica/include/acpi.h>
45142403Snectar#include <contrib/dev/acpica/include/accommon.h>
46142403Snectar#include <contrib/dev/acpica/include/acparser.h>
47142403Snectar#include <contrib/dev/acpica/include/amlcode.h>
48142403Snectar#include <contrib/dev/acpica/include/acdisasm.h>
49142403Snectar
50233294Sstas#ifdef ACPI_DISASSEMBLER
51142403Snectar
52142403Snectar#define _COMPONENT          ACPI_CA_DEBUGGER
53142403Snectar        ACPI_MODULE_NAME    ("dmopcode")
54142403Snectar
55142403Snectar/* Local prototypes */
56142403Snectar
57142403Snectarstatic void
58142403SnectarAcpiDmMatchKeyword (
59142403Snectar    ACPI_PARSE_OBJECT       *Op);
60142403Snectar
61142403Snectar
62142403Snectar/*******************************************************************************
63142403Snectar *
64142403Snectar * FUNCTION:    AcpiDmMethodFlags
65233294Sstas *
66142403Snectar * PARAMETERS:  Op              - Method Object to be examined
67142403Snectar *
68142403Snectar * RETURN:      None
69142403Snectar *
70178825Sdfr * DESCRIPTION: Decode control method flags
71142403Snectar *
72142403Snectar ******************************************************************************/
73142403Snectar
74142403Snectarvoid
75142403SnectarAcpiDmMethodFlags (
76142403Snectar    ACPI_PARSE_OBJECT       *Op)
77142403Snectar{
78142403Snectar    UINT32                  Flags;
79233294Sstas    UINT32                  Args;
80233294Sstas
81233294Sstas
82233294Sstas    /* The next Op contains the flags */
83233294Sstas
84233294Sstas    Op = AcpiPsGetDepthNext (NULL, Op);
85178825Sdfr    Flags = (UINT8) Op->Common.Value.Integer;
86178825Sdfr    Args = Flags & 0x07;
87178825Sdfr
88178825Sdfr    /* Mark the Op as completed */
89178825Sdfr
90178825Sdfr    Op->Common.DisasmFlags |= ACPI_PARSEOP_IGNORE;
91178825Sdfr
92233294Sstas    /* 1) Method argument count */
93142403Snectar
94142403Snectar    AcpiOsPrintf (", %u, ", Args);
95178825Sdfr
96142403Snectar    /* 2) Serialize rule */
97142403Snectar
98233294Sstas    if (!(Flags & 0x08))
99178825Sdfr    {
100142403Snectar        AcpiOsPrintf ("Not");
101142403Snectar    }
102142403Snectar
103142403Snectar    AcpiOsPrintf ("Serialized");
104142403Snectar
105142403Snectar    /* 3) SyncLevel */
106142403Snectar
107142403Snectar    if (Flags & 0xF0)
108142403Snectar    {
109233294Sstas        AcpiOsPrintf (", %u", Flags >> 4);
110233294Sstas    }
111233294Sstas}
112233294Sstas
113142403Snectar
114142403Snectar/*******************************************************************************
115178825Sdfr *
116178825Sdfr * FUNCTION:    AcpiDmFieldFlags
117178825Sdfr *
118142403Snectar * PARAMETERS:  Op              - Field Object to be examined
119178825Sdfr *
120178825Sdfr * RETURN:      None
121178825Sdfr *
122142403Snectar * DESCRIPTION: Decode Field definition flags
123142403Snectar *
124233294Sstas ******************************************************************************/
125233294Sstas
126233294Sstasvoid
127233294SstasAcpiDmFieldFlags (
128233294Sstas    ACPI_PARSE_OBJECT       *Op)
129233294Sstas{
130233294Sstas    UINT32                  Flags;
131233294Sstas
132233294Sstas
133233294Sstas    Op = Op->Common.Next;
134233294Sstas    Flags = (UINT8) Op->Common.Value.Integer;
135233294Sstas
136233294Sstas    /* Mark the Op as completed */
137233294Sstas
138233294Sstas    Op->Common.DisasmFlags |= ACPI_PARSEOP_IGNORE;
139233294Sstas
140233294Sstas    AcpiOsPrintf ("%s, ", AcpiGbl_AccessTypes [Flags & 0x07]);
141233294Sstas    AcpiOsPrintf ("%s, ", AcpiGbl_LockRule [(Flags & 0x10) >> 4]);
142233294Sstas    AcpiOsPrintf ("%s)",  AcpiGbl_UpdateRules [(Flags & 0x60) >> 5]);
143233294Sstas}
144233294Sstas
145178825Sdfr
146178825Sdfr/*******************************************************************************
147142403Snectar *
148142403Snectar * FUNCTION:    AcpiDmAddressSpace
149142403Snectar *
150127808Snectar * PARAMETERS:  SpaceId         - ID to be translated
15155682Smarkm *
15272445Sassar * RETURN:      None
153127808Snectar *
154233294Sstas * DESCRIPTION: Decode a SpaceId to an AddressSpaceKeyword
155233294Sstas *
156127808Snectar ******************************************************************************/
157127808Snectar
158127808Snectarvoid
15955682SmarkmAcpiDmAddressSpace (
16055682Smarkm    UINT8                   SpaceId)
161233294Sstas{
162233294Sstas
16355682Smarkm    if (SpaceId >= ACPI_NUM_PREDEFINED_REGIONS)
16455682Smarkm    {
16555682Smarkm        if (SpaceId == 0x7F)
166233294Sstas        {
167127808Snectar            AcpiOsPrintf ("FFixedHW, ");
16890926Snectar        }
16972445Sassar        else
170127808Snectar        {
171127808Snectar            AcpiOsPrintf ("0x%.2X, ", SpaceId);
172233294Sstas        }
17355682Smarkm    }
174127808Snectar    else
175233294Sstas    {
17690926Snectar        AcpiOsPrintf ("%s, ", AcpiGbl_RegionTypes [SpaceId]);
177178825Sdfr    }
178178825Sdfr}
17972445Sassar
180233294Sstas
181233294Sstas/*******************************************************************************
182233294Sstas *
183127808Snectar * FUNCTION:    AcpiDmRegionFlags
184127808Snectar *
185127808Snectar * PARAMETERS:  Op              - Object to be examined
186127808Snectar *
187127808Snectar * RETURN:      None
188233294Sstas *
189178825Sdfr * DESCRIPTION: Decode OperationRegion flags
19055682Smarkm *
19172445Sassar ******************************************************************************/
192178825Sdfr
193127808Snectarvoid
194127808SnectarAcpiDmRegionFlags (
195233294Sstas    ACPI_PARSE_OBJECT       *Op)
196233294Sstas{
197127808Snectar
198127808Snectar
199233294Sstas    /* The next Op contains the SpaceId */
200178825Sdfr
201127808Snectar    Op = AcpiPsGetDepthNext (NULL, Op);
202127808Snectar
203127808Snectar    /* Mark the Op as completed */
20490926Snectar
205233294Sstas    Op->Common.DisasmFlags |= ACPI_PARSEOP_IGNORE;
206127808Snectar
207178825Sdfr    AcpiOsPrintf (", ");
20855682Smarkm    AcpiDmAddressSpace ((UINT8) Op->Common.Value.Integer);
209102644Snectar}
210102644Snectar
211178825Sdfr
212127808Snectar/*******************************************************************************
213127808Snectar *
21455682Smarkm * FUNCTION:    AcpiDmMatchOp
21555682Smarkm *
21690926Snectar * PARAMETERS:  Op              - Match Object to be examined
217127808Snectar *
218127808Snectar * RETURN:      None
219127808Snectar *
220127808Snectar * DESCRIPTION: Decode Match opcode operands
221127808Snectar *
22290926Snectar ******************************************************************************/
22390926Snectar
22490926Snectarvoid
225127808SnectarAcpiDmMatchOp (
226127808Snectar    ACPI_PARSE_OBJECT       *Op)
227127808Snectar{
228127808Snectar    ACPI_PARSE_OBJECT       *NextOp;
229233294Sstas
230127808Snectar
231127808Snectar    NextOp = AcpiPsGetDepthNext (NULL, Op);
232233294Sstas    NextOp = NextOp->Common.Next;
233178825Sdfr
234127808Snectar    if (!NextOp)
235127808Snectar    {
236127808Snectar        /* Handle partial tree during single-step */
237127808Snectar
238127808Snectar        return;
239127808Snectar    }
240127808Snectar
241127808Snectar    /* Mark the two nodes that contain the encoding for the match keywords */
242178825Sdfr
243178825Sdfr    NextOp->Common.DisasmOpcode = ACPI_DASM_MATCHOP;
244178825Sdfr
245178825Sdfr    NextOp = NextOp->Common.Next;
246127808Snectar    NextOp = NextOp->Common.Next;
247127808Snectar    NextOp->Common.DisasmOpcode = ACPI_DASM_MATCHOP;
24855682Smarkm}
249127808Snectar
250233294Sstas
251233294Sstas/*******************************************************************************
252127808Snectar *
253127808Snectar * FUNCTION:    AcpiDmMatchKeyword
254127808Snectar *
255127808Snectar * PARAMETERS:  Op              - Match Object to be examined
256127808Snectar *
25755682Smarkm * RETURN:      None
258127808Snectar *
259127808Snectar * DESCRIPTION: Decode Match opcode operands
260178825Sdfr *
261127808Snectar ******************************************************************************/
262127808Snectar
26355682Smarkmstatic void
26455682SmarkmAcpiDmMatchKeyword (
265127808Snectar    ACPI_PARSE_OBJECT       *Op)
266127808Snectar{
267233294Sstas
268127808Snectar
269127808Snectar    if (((UINT32) Op->Common.Value.Integer) > ACPI_MAX_MATCH_OPCODE)
270233294Sstas    {
27155682Smarkm        AcpiOsPrintf ("/* Unknown Match Keyword encoding */");
27255682Smarkm    }
273120945Snectar    else
274127808Snectar    {
275233294Sstas        AcpiOsPrintf ("%s", ACPI_CAST_PTR (char,
276178825Sdfr            AcpiGbl_MatchOps[(ACPI_SIZE) Op->Common.Value.Integer]));
277233294Sstas    }
278233294Sstas}
279233294Sstas
28055682Smarkm
281233294Sstas/*******************************************************************************
282127808Snectar *
283233294Sstas * FUNCTION:    AcpiDmDisassembleOneOp
284233294Sstas *
28555682Smarkm * PARAMETERS:  WalkState           - Current walk info
286127808Snectar *              Info                - Parse tree walk info
287127808Snectar *              Op                  - Op that is to be printed
288127808Snectar *
289127808Snectar * RETURN:      None
290233294Sstas *
291127808Snectar * DESCRIPTION: Disassemble a single AML opcode
292127808Snectar *
293233294Sstas ******************************************************************************/
294233294Sstas
295233294Sstasvoid
296233294SstasAcpiDmDisassembleOneOp (
29755682Smarkm    ACPI_WALK_STATE         *WalkState,
298233294Sstas    ACPI_OP_WALK_INFO       *Info,
299127808Snectar    ACPI_PARSE_OBJECT       *Op)
300127808Snectar{
301233294Sstas    const ACPI_OPCODE_INFO  *OpInfo = NULL;
302233294Sstas    UINT32                  Offset;
303102644Snectar    UINT32                  Length;
30455682Smarkm    ACPI_PARSE_OBJECT       *Child;
305178825Sdfr    ACPI_STATUS             Status;
30655682Smarkm
30755682Smarkm
30855682Smarkm    if (!Op)
309178825Sdfr    {
31090926Snectar        AcpiOsPrintf ("<NULL OP PTR>");
31190926Snectar        return;
31290926Snectar    }
31390926Snectar
31455682Smarkm    switch (Op->Common.DisasmOpcode)
315178825Sdfr    {
316178825Sdfr    case ACPI_DASM_MATCHOP:
317178825Sdfr
318178825Sdfr        AcpiDmMatchKeyword (Op);
319178825Sdfr        return;
320233294Sstas
321127808Snectar    case ACPI_DASM_LNOT_SUFFIX:
322233294Sstas        switch (Op->Common.AmlOpcode)
323233294Sstas        {
324127808Snectar        case AML_LEQUAL_OP:
325233294Sstas            AcpiOsPrintf ("LNotEqual");
326178825Sdfr            break;
327178825Sdfr
328127808Snectar        case AML_LGREATER_OP:
329127808Snectar            AcpiOsPrintf ("LLessEqual");
330127808Snectar            break;
331127808Snectar
332127808Snectar        case AML_LLESS_OP:
333127808Snectar            AcpiOsPrintf ("LGreaterEqual");
334178825Sdfr            break;
335127808Snectar
336178825Sdfr        default:
337178825Sdfr            break;
338102644Snectar        }
339102644Snectar        Op->Common.DisasmOpcode = 0;
340102644Snectar        Op->Common.DisasmFlags |= ACPI_PARSEOP_IGNORE;
341178825Sdfr        return;
342127808Snectar
343127808Snectar    default:
344127808Snectar        break;
345127808Snectar    }
346127808Snectar
347127808Snectar
348178825Sdfr    OpInfo = AcpiPsGetOpcodeInfo (Op->Common.AmlOpcode);
349127808Snectar
350127808Snectar    /* The op and arguments */
35172445Sassar
352127808Snectar    switch (Op->Common.AmlOpcode)
353127808Snectar    {
354178825Sdfr    case AML_LNOT_OP:
355127808Snectar
356127808Snectar        Child = Op->Common.Value.Arg;
357142403Snectar        if ((Child->Common.AmlOpcode == AML_LEQUAL_OP) ||
358127808Snectar            (Child->Common.AmlOpcode == AML_LGREATER_OP) ||
359178825Sdfr            (Child->Common.AmlOpcode == AML_LLESS_OP))
360127808Snectar        {
361127808Snectar            Child->Common.DisasmOpcode = ACPI_DASM_LNOT_SUFFIX;
362178825Sdfr            Op->Common.DisasmOpcode = ACPI_DASM_LNOT_PREFIX;
363127808Snectar        }
364127808Snectar        else
365178825Sdfr        {
366233294Sstas            AcpiOsPrintf ("%s", OpInfo->Name);
367127808Snectar        }
368127808Snectar        break;
369233294Sstas
370178825Sdfr    case AML_BYTE_OP:
371178825Sdfr
372233294Sstas        AcpiOsPrintf ("0x%2.2X", (UINT32) Op->Common.Value.Integer);
373233294Sstas        break;
374233294Sstas
375102644Snectar
37690926Snectar    case AML_WORD_OP:
37772445Sassar
37855682Smarkm        if (Op->Common.DisasmOpcode == ACPI_DASM_EISAID)
379233294Sstas        {
38055682Smarkm            AcpiDmEisaId ((UINT32) Op->Common.Value.Integer);
38155682Smarkm        }
38255682Smarkm        else
38355682Smarkm        {
38455682Smarkm            AcpiOsPrintf ("0x%4.4X", (UINT32) Op->Common.Value.Integer);
38555682Smarkm        }
386233294Sstas        break;
38755682Smarkm
388120945Snectar
38990926Snectar    case AML_DWORD_OP:
39072445Sassar
39155682Smarkm        if (Op->Common.DisasmOpcode == ACPI_DASM_EISAID)
39290926Snectar        {
393233294Sstas            AcpiDmEisaId ((UINT32) Op->Common.Value.Integer);
39490926Snectar        }
39572445Sassar        else
396178825Sdfr        {
397178825Sdfr            AcpiOsPrintf ("0x%8.8X", (UINT32) Op->Common.Value.Integer);
39872445Sassar        }
39972445Sassar        break;
400178825Sdfr
40172445Sassar
40272445Sassar    case AML_QWORD_OP:
40355682Smarkm
404233294Sstas        AcpiOsPrintf ("0x%8.8X%8.8X",
40590926Snectar            ACPI_FORMAT_UINT64 (Op->Common.Value.Integer));
40655682Smarkm        break;
40755682Smarkm
408233294Sstas
409142403Snectar    case AML_STRING_OP:
410142403Snectar
411142403Snectar        AcpiUtPrintString (Op->Common.Value.String, ACPI_UINT8_MAX);
412142403Snectar        break;
413233294Sstas
414233294Sstas
415142403Snectar    case AML_BUFFER_OP:
416142403Snectar
417142403Snectar        /*
418233294Sstas         * Determine the type of buffer.  We can have one of the following:
419233294Sstas         *
420233294Sstas         * 1) ResourceTemplate containing Resource Descriptors.
421142403Snectar         * 2) Unicode String buffer
422142403Snectar         * 3) ASCII String buffer
423142403Snectar         * 4) Raw data buffer (if none of the above)
424142403Snectar         *
425142403Snectar         * Since there are no special AML opcodes to differentiate these
426142403Snectar         * types of buffers, we have to closely look at the data in the
427142403Snectar         * buffer to determine the type.
428142403Snectar         */
429142403Snectar        Status = AcpiDmIsResourceTemplate (Op);
430142403Snectar        if (ACPI_SUCCESS (Status))
431142403Snectar        {
432142403Snectar            Op->Common.DisasmOpcode = ACPI_DASM_RESOURCE;
433142403Snectar            AcpiOsPrintf ("ResourceTemplate");
434142403Snectar            break;
435142403Snectar        }
436142403Snectar        else if (Status == AE_AML_NO_RESOURCE_END_TAG)
437142403Snectar        {
438233294Sstas            AcpiOsPrintf ("/**** Is ResourceTemplate, but EndTag not at buffer end ****/ ");
43972445Sassar        }
44072445Sassar
441178825Sdfr        if (AcpiDmIsUnicodeBuffer (Op))
442233294Sstas        {
443233294Sstas            Op->Common.DisasmOpcode = ACPI_DASM_UNICODE;
444233294Sstas            AcpiOsPrintf ("Unicode (");
445233294Sstas        }
446233294Sstas        else if (AcpiDmIsStringBuffer (Op))
447233294Sstas        {
448233294Sstas            Op->Common.DisasmOpcode = ACPI_DASM_STRING;
449233294Sstas            AcpiOsPrintf ("Buffer");
450233294Sstas        }
451233294Sstas        else
452233294Sstas        {
453233294Sstas            Op->Common.DisasmOpcode = ACPI_DASM_BUFFER;
454233294Sstas            AcpiOsPrintf ("Buffer");
455233294Sstas        }
456233294Sstas        break;
457233294Sstas
458233294Sstas
459233294Sstas    case AML_INT_STATICSTRING_OP:
460233294Sstas
461233294Sstas        if (Op->Common.Value.String)
462233294Sstas        {
46355682Smarkm            AcpiOsPrintf ("%s", Op->Common.Value.String);
46472445Sassar        }
46572445Sassar        else
466233294Sstas        {
467233294Sstas            AcpiOsPrintf ("\"<NULL STATIC STRING PTR>\"");
468233294Sstas        }
469233294Sstas        break;
470233294Sstas
471233294Sstas
472233294Sstas    case AML_INT_NAMEPATH_OP:
47355682Smarkm
47490926Snectar        AcpiDmNamestring (Op->Common.Value.Name);
475233294Sstas        break;
476233294Sstas
477233294Sstas
478233294Sstas    case AML_INT_NAMEDFIELD_OP:
479233294Sstas
480233294Sstas        Length = AcpiDmDumpName (Op->Named.Name);
481233294Sstas        AcpiOsPrintf (",%*.s  %u", (unsigned) (5 - Length), " ",
48290926Snectar            (UINT32) Op->Common.Value.Integer);
48390926Snectar        AcpiDmCommaIfFieldMember (Op);
484178825Sdfr
48590926Snectar        Info->BitOffset += (UINT32) Op->Common.Value.Integer;
48655682Smarkm        break;
487142403Snectar
48855682Smarkm
48955682Smarkm    case AML_INT_RESERVEDFIELD_OP:
49055682Smarkm
49155682Smarkm        /* Offset() -- Must account for previous offsets */
492233294Sstas
493233294Sstas        Offset = (UINT32) Op->Common.Value.Integer;
49490926Snectar        Info->BitOffset += Offset;
495233294Sstas
496233294Sstas        if (Info->BitOffset % 8 == 0)
497233294Sstas        {
498233294Sstas            AcpiOsPrintf ("        Offset (0x%.2X)", ACPI_DIV_8 (Info->BitOffset));
499233294Sstas        }
50055682Smarkm        else
50172445Sassar        {
502233294Sstas            AcpiOsPrintf ("    ,   %u", Offset);
503233294Sstas        }
504233294Sstas
505233294Sstas        AcpiDmCommaIfFieldMember (Op);
506233294Sstas        break;
50790926Snectar
50872445Sassar
509233294Sstas    case AML_INT_ACCESSFIELD_OP:
510233294Sstas
511233294Sstas        AcpiOsPrintf ("        AccessAs (%s, ",
512233294Sstas            AcpiGbl_AccessTypes [(UINT32) (Op->Common.Value.Integer >> 8) & 0x7]);
513233294Sstas
514102644Snectar        AcpiDmDecodeAttribute ((UINT8) Op->Common.Value.Integer);
515102644Snectar        AcpiOsPrintf (")");
516102644Snectar        AcpiDmCommaIfFieldMember (Op);
517102644Snectar        break;
518102644Snectar
519102644Snectar
520233294Sstas    case AML_INT_BYTELIST_OP:
521178825Sdfr
522178825Sdfr        AcpiDmByteList (Info, Op);
523233294Sstas        break;
524233294Sstas
525233294Sstas
526233294Sstas    case AML_INT_METHODCALL_OP:
527233294Sstas
528233294Sstas        Op = AcpiPsGetDepthNext (NULL, Op);
529233294Sstas        Op->Common.DisasmFlags |= ACPI_PARSEOP_IGNORE;
530233294Sstas
531233294Sstas        AcpiDmNamestring (Op->Common.Value.Name);
532233294Sstas        break;
533233294Sstas
534233294Sstas
535233294Sstas    default:
536233294Sstas
537233294Sstas        /* Just get the opcode name and print it */
538233294Sstas
539178825Sdfr        AcpiOsPrintf ("%s", OpInfo->Name);
540233294Sstas
541233294Sstas
542233294Sstas#ifdef ACPI_DEBUGGER
543233294Sstas
544233294Sstas        if ((Op->Common.AmlOpcode == AML_INT_RETURN_VALUE_OP) &&
545233294Sstas            (WalkState) &&
546233294Sstas            (WalkState->Results) &&
547178825Sdfr            (WalkState->ResultCount))
548178825Sdfr        {
549233294Sstas            AcpiDmDecodeInternalObject (
550233294Sstas                WalkState->Results->Results.ObjDesc [
551233294Sstas                    (WalkState->ResultCount - 1) %
552233294Sstas                        ACPI_RESULTS_FRAME_OBJ_NUM]);
553233294Sstas        }
554233294Sstas#endif
555233294Sstas
556233294Sstas        break;
557233294Sstas    }
558102644Snectar}
55972445Sassar
560102644Snectar#endif  /* ACPI_DISASSEMBLER */
56172445Sassar