Module Name: src
Committed By: msaitoh
Date: Mon Nov 5 07:39:57 UTC 2018
Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c acpidump.8
Log Message:
Decode Boot Graghics Resource Table (BGRT).
To generate a diff of this commit:
cvs rdiff -u -r1.39 -r1.40 src/usr.sbin/acpitools/acpidump/acpi.c
cvs rdiff -u -r1.13 -r1.14 src/usr.sbin/acpitools/acpidump/acpidump.8
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.sbin/acpitools/acpidump/acpi.c
diff -u src/usr.sbin/acpitools/acpidump/acpi.c:1.39 src/usr.sbin/acpitools/acpidump/acpi.c:1.40
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.39 Thu Nov 1 03:08:46 2018
+++ src/usr.sbin/acpitools/acpidump/acpi.c Mon Nov 5 07:39:57 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.39 2018/11/01 03:08:46 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.40 2018/11/05 07:39:57 msaitoh Exp $ */
/*-
* Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: acpi.c,v 1.39 2018/11/01 03:08:46 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.40 2018/11/05 07:39:57 msaitoh Exp $");
#include <sys/param.h>
#include <sys/endian.h>
@@ -86,6 +86,7 @@ static void acpi_print_intr(uint32_t int
static void acpi_print_local_nmi(u_int lint, uint16_t mps_flags);
static void acpi_print_madt(ACPI_SUBTABLE_HEADER *mp);
static void acpi_handle_bert(ACPI_TABLE_HEADER *sdp);
+static void acpi_handle_bgrt(ACPI_TABLE_HEADER *sdp);
static void acpi_handle_boot(ACPI_TABLE_HEADER *sdp);
static void acpi_handle_cpep(ACPI_TABLE_HEADER *sdp);
static void acpi_handle_csrt(ACPI_TABLE_HEADER *sdp);
@@ -1222,6 +1223,37 @@ acpi_handle_bert(ACPI_TABLE_HEADER *sdp)
}
static void
+acpi_handle_bgrt(ACPI_TABLE_HEADER *sdp)
+{
+ ACPI_TABLE_BGRT *bgrt;
+ unsigned int degree;
+
+ printf(BEGIN_COMMENT);
+ acpi_print_sdt(sdp);
+ bgrt = (ACPI_TABLE_BGRT *)sdp;
+
+ printf("\tVersion=%hu\n", bgrt->Version);
+ degree = ((unsigned int)(bgrt->Status & ACPI_BGRT_ORIENTATION_OFFSET)
+ >> 1) * 90;
+ printf("\tDegree=%u\n", degree);
+ printf("\tDisplayed=%hhu\n", bgrt->Status & ACPI_BGRT_DISPLAYED);
+ printf("\tImage Type=");
+ switch (bgrt->ImageType) {
+ case 0:
+ printf("Bitmap\n");
+ break;
+ default:
+ printf("reserved (0x%hhx)\n", bgrt->ImageType);
+ break;
+ }
+ printf("\tImage Address=0x%"PRIx64"\n", bgrt->ImageAddress);
+ printf("\tImage Offset X=0x%08x\n", bgrt->ImageOffsetX);
+ printf("\tImage Offset Y=0x%08x\n", bgrt->ImageOffsetY);
+
+ printf(END_COMMENT);
+}
+
+static void
acpi_handle_boot(ACPI_TABLE_HEADER *sdp)
{
ACPI_TABLE_BOOT *boot;
@@ -3896,6 +3928,8 @@ acpi_handle_rsdt(ACPI_TABLE_HEADER *rsdp
acpi_handle_fadt(sdp);
else if (!memcmp(sdp->Signature, ACPI_SIG_BERT, 4))
acpi_handle_bert(sdp);
+ else if (!memcmp(sdp->Signature, ACPI_SIG_BGRT, 4))
+ acpi_handle_bgrt(sdp);
else if (!memcmp(sdp->Signature, ACPI_SIG_BOOT, 4))
acpi_handle_boot(sdp);
else if (!memcmp(sdp->Signature, ACPI_SIG_CPEP, 4))
Index: src/usr.sbin/acpitools/acpidump/acpidump.8
diff -u src/usr.sbin/acpitools/acpidump/acpidump.8:1.13 src/usr.sbin/acpitools/acpidump/acpidump.8:1.14
--- src/usr.sbin/acpitools/acpidump/acpidump.8:1.13 Thu Nov 1 03:08:46 2018
+++ src/usr.sbin/acpitools/acpidump/acpidump.8 Mon Nov 5 07:39:57 2018
@@ -1,4 +1,4 @@
-.\" $NetBSD: acpidump.8,v 1.13 2018/11/01 03:08:46 msaitoh Exp $
+.\" $NetBSD: acpidump.8,v 1.14 2018/11/05 07:39:57 msaitoh Exp $
.\" ACPI (ACPI Package)
.\"
.\" Copyright (c) 1999 Doug Rabson <[email protected]>
@@ -30,7 +30,7 @@
.\"
.\" $FreeBSD: head/usr.sbin/acpi/acpidump/acpidump.8 267668 2014-06-20 09:57:27Z bapt $
.\"
-.Dd November 1, 2018
+.Dd November 5, 2018
.Dt ACPIDUMP 8
.Os
.Sh NAME
@@ -97,6 +97,7 @@ utility dumps contents of the following
.Bl -tag -offset indent -width 12345 -compact
.It APIC
.It BERT
+.It BGRT
.It BOOT
.It CPEP
.It CSRT