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 <d...@freebsd.org> @@ -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