Deleted Added
full compact
dmbuffer.c (231844) dmbuffer.c (239340)
1/*******************************************************************************
2 *
3 * Module Name: dmbuffer - AML disassembler, buffer and string support
4 *
5 ******************************************************************************/
6
7/*
8 * Copyright (C) 2000 - 2012, Intel Corp.

--- 50 unchanged lines hidden (view full) ---

59static void
60AcpiDmUnicode (
61 ACPI_PARSE_OBJECT *Op);
62
63static void
64AcpiDmIsEisaIdElement (
65 ACPI_PARSE_OBJECT *Op);
66
1/*******************************************************************************
2 *
3 * Module Name: dmbuffer - AML disassembler, buffer and string support
4 *
5 ******************************************************************************/
6
7/*
8 * Copyright (C) 2000 - 2012, Intel Corp.

--- 50 unchanged lines hidden (view full) ---

59static void
60AcpiDmUnicode (
61 ACPI_PARSE_OBJECT *Op);
62
63static void
64AcpiDmIsEisaIdElement (
65 ACPI_PARSE_OBJECT *Op);
66
67static void
68AcpiDmPldBuffer (
69 UINT32 Level,
70 UINT8 *ByteData,
71 UINT32 ByteCount);
67
72
73
68/*******************************************************************************
69 *
70 * FUNCTION: AcpiDmDisasmByteList
71 *
72 * PARAMETERS: Level - Current source code indentation level
73 * ByteData - Pointer to the byte list
74 * ByteCount - Length of the byte list
75 *

--- 99 unchanged lines hidden (view full) ---

175 AcpiOsPrintf ("\n");
176 break;
177
178 case ACPI_DASM_UNICODE:
179
180 AcpiDmUnicode (Op);
181 break;
182
74/*******************************************************************************
75 *
76 * FUNCTION: AcpiDmDisasmByteList
77 *
78 * PARAMETERS: Level - Current source code indentation level
79 * ByteData - Pointer to the byte list
80 * ByteCount - Length of the byte list
81 *

--- 99 unchanged lines hidden (view full) ---

181 AcpiOsPrintf ("\n");
182 break;
183
184 case ACPI_DASM_UNICODE:
185
186 AcpiDmUnicode (Op);
187 break;
188
189 case ACPI_DASM_PLD_METHOD:
190
191 AcpiDmDisasmByteList (Info->Level, ByteData, ByteCount);
192 AcpiDmPldBuffer (Info->Level, ByteData, ByteCount);
193 break;
194
183 case ACPI_DASM_BUFFER:
184 default:
185
186 /*
187 * Not a resource, string, or unicode string.
188 * Just dump the buffer
189 */
190 AcpiDmDisasmByteList (Info->Level, ByteData, ByteCount);

--- 136 unchanged lines hidden (view full) ---

327 }
328
329 return (TRUE);
330}
331
332
333/*******************************************************************************
334 *
195 case ACPI_DASM_BUFFER:
196 default:
197
198 /*
199 * Not a resource, string, or unicode string.
200 * Just dump the buffer
201 */
202 AcpiDmDisasmByteList (Info->Level, ByteData, ByteCount);

--- 136 unchanged lines hidden (view full) ---

339 }
340
341 return (TRUE);
342}
343
344
345/*******************************************************************************
346 *
347 * FUNCTION: AcpiDmIsPldBuffer
348 *
349 * PARAMETERS: Op - Buffer Object to be examined
350 *
351 * RETURN: TRUE if buffer contains a ASCII string, FALSE otherwise
352 *
353 * DESCRIPTION: Determine if a buffer Op contains a _PLD structure
354 *
355 ******************************************************************************/
356
357BOOLEAN
358AcpiDmIsPldBuffer (
359 ACPI_PARSE_OBJECT *Op)
360{
361 ACPI_NAMESPACE_NODE *Node;
362 ACPI_PARSE_OBJECT *ParentOp;
363
364
365 ParentOp = Op->Common.Parent;
366 if (!ParentOp)
367 {
368 return (FALSE);
369 }
370
371 /* Check for form: Name(_PLD, Buffer() {}). Not legal, however */
372
373 if (ParentOp->Common.AmlOpcode == AML_NAME_OP)
374 {
375 Node = ParentOp->Common.Node;
376
377 if (ACPI_COMPARE_NAME (Node->Name.Ascii, METHOD_NAME__PLD))
378 {
379 return (TRUE);
380 }
381
382 return (FALSE);
383 }
384
385 /* Check for proper form: Name(_PLD, Package() {Buffer() {}}) */
386
387 if (ParentOp->Common.AmlOpcode == AML_PACKAGE_OP)
388 {
389 ParentOp = ParentOp->Common.Parent;
390 if (!ParentOp)
391 {
392 return (FALSE);
393 }
394
395 if (ParentOp->Common.AmlOpcode == AML_NAME_OP)
396 {
397 Node = ParentOp->Common.Node;
398
399 if (ACPI_COMPARE_NAME (Node->Name.Ascii, METHOD_NAME__PLD))
400 {
401 return (TRUE);
402 }
403 }
404 }
405
406 return (FALSE);
407}
408
409
410/*******************************************************************************
411 *
412 * FUNCTION: AcpiDmPldBuffer
413 *
414 * PARAMETERS: Level - Current source code indentation level
415 * ByteData - Pointer to the byte list
416 * ByteCount - Length of the byte list
417 *
418 * RETURN: None
419 *
420 * DESCRIPTION: Dump and format the contents of a _PLD buffer object
421 *
422 ******************************************************************************/
423
424#define ACPI_PLD_OUTPUT "%*.s/* %18s : %-6.2X */\n", ACPI_MUL_4 (Level), " "
425#define ACPI_PLD_OUTPUT16 "%*.s/* %18s : %-6.4X */\n", ACPI_MUL_4 (Level), " "
426#define ACPI_PLD_OUTPUT24 "%*.s/* %18s : %-6.6X */\n", ACPI_MUL_4 (Level), " "
427
428static void
429AcpiDmPldBuffer (
430 UINT32 Level,
431 UINT8 *ByteData,
432 UINT32 ByteCount)
433{
434 ACPI_PLD_INFO *PldInfo;
435 ACPI_STATUS Status;
436
437
438 /* Check for valid byte count */
439
440 if (ByteCount < ACPI_PLD_REV1_BUFFER_SIZE)
441 {
442 return;
443 }
444
445 /* Convert _PLD buffer to local _PLD struct */
446
447 Status = AcpiDecodePldBuffer (ByteData, ByteCount, &PldInfo);
448 if (ACPI_FAILURE (Status))
449 {
450 return;
451 }
452
453 /* First 32-bit dword */
454
455 AcpiOsPrintf (ACPI_PLD_OUTPUT, "Revision", PldInfo->Revision);
456 AcpiOsPrintf (ACPI_PLD_OUTPUT, "IgnoreColor", PldInfo->IgnoreColor);
457 AcpiOsPrintf (ACPI_PLD_OUTPUT24,"Color", PldInfo->Color);
458
459 /* Second 32-bit dword */
460
461 AcpiOsPrintf (ACPI_PLD_OUTPUT16,"Width", PldInfo->Width);
462 AcpiOsPrintf (ACPI_PLD_OUTPUT16,"Height", PldInfo->Height);
463
464 /* Third 32-bit dword */
465
466 AcpiOsPrintf (ACPI_PLD_OUTPUT, "UserVisible", PldInfo->UserVisible);
467 AcpiOsPrintf (ACPI_PLD_OUTPUT, "Dock", PldInfo->Dock);
468 AcpiOsPrintf (ACPI_PLD_OUTPUT, "Lid", PldInfo->Lid);
469 AcpiOsPrintf (ACPI_PLD_OUTPUT, "Panel", PldInfo->Panel);
470 AcpiOsPrintf (ACPI_PLD_OUTPUT, "VerticalPosition", PldInfo->VerticalPosition);
471 AcpiOsPrintf (ACPI_PLD_OUTPUT, "HorizontalPosition", PldInfo->HorizontalPosition);
472 AcpiOsPrintf (ACPI_PLD_OUTPUT, "Shape", PldInfo->Shape);
473 AcpiOsPrintf (ACPI_PLD_OUTPUT, "GroupOrientation", PldInfo->GroupOrientation);
474 AcpiOsPrintf (ACPI_PLD_OUTPUT, "GroupToken", PldInfo->GroupToken);
475 AcpiOsPrintf (ACPI_PLD_OUTPUT, "GroupPosition", PldInfo->GroupPosition);
476 AcpiOsPrintf (ACPI_PLD_OUTPUT, "Bay", PldInfo->Bay);
477
478 /* Fourth 32-bit dword */
479
480 AcpiOsPrintf (ACPI_PLD_OUTPUT, "Ejectable", PldInfo->Ejectable);
481 AcpiOsPrintf (ACPI_PLD_OUTPUT, "OspmEjectRequired", PldInfo->OspmEjectRequired);
482 AcpiOsPrintf (ACPI_PLD_OUTPUT, "CabinetNumber", PldInfo->CabinetNumber);
483 AcpiOsPrintf (ACPI_PLD_OUTPUT, "CardCageNumber", PldInfo->CardCageNumber);
484 AcpiOsPrintf (ACPI_PLD_OUTPUT, "Reference", PldInfo->Reference);
485 AcpiOsPrintf (ACPI_PLD_OUTPUT, "Rotation", PldInfo->Rotation);
486 AcpiOsPrintf (ACPI_PLD_OUTPUT, "Order", PldInfo->Order);
487
488 /* Fifth 32-bit dword */
489
490 if (ByteCount >= ACPI_PLD_REV1_BUFFER_SIZE)
491 {
492 AcpiOsPrintf (ACPI_PLD_OUTPUT16,"VerticalOffset", PldInfo->VerticalOffset);
493 AcpiOsPrintf (ACPI_PLD_OUTPUT16,"HorizontalOffset", PldInfo->HorizontalOffset);
494 }
495
496 ACPI_FREE (PldInfo);
497}
498
499
500/*******************************************************************************
501 *
335 * FUNCTION: AcpiDmUnicode
336 *
337 * PARAMETERS: Op - Byte List op containing Unicode string
338 *
339 * RETURN: None
340 *
341 * DESCRIPTION: Dump Unicode string as a standard ASCII string. (Remove
342 * the extra zero bytes).

--- 200 unchanged lines hidden ---
502 * FUNCTION: AcpiDmUnicode
503 *
504 * PARAMETERS: Op - Byte List op containing Unicode string
505 *
506 * RETURN: None
507 *
508 * DESCRIPTION: Dump Unicode string as a standard ASCII string. (Remove
509 * the extra zero bytes).

--- 200 unchanged lines hidden ---