CVS commit: src/usr.sbin/acpitools/acpidump

2024-05-12 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Sun May 12 23:00:21 UTC 2024

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
s/iast/iasl/ from FreeBSD.


To generate a diff of this commit:
cvs rdiff -u -r1.55 -r1.56 src/usr.sbin/acpitools/acpidump/acpi.c

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.55 src/usr.sbin/acpitools/acpidump/acpi.c:1.56
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.55	Tue May 24 20:50:21 2022
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Sun May 12 23:00:21 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.55 2022/05/24 20:50:21 andvar Exp $ */
+/* $NetBSD: acpi.c,v 1.56 2024/05/12 23:00:21 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.55 2022/05/24 20:50:21 andvar Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.56 2024/05/12 23:00:21 msaitoh Exp $");
 
 #include 
 #include 
@@ -4719,7 +4719,7 @@ aml_disassemble(ACPI_TABLE_HEADER *rsdt,
 		goto out;
 	}
 	if (status != 0) {
-		fprintf(stderr, "iast exit status = %d\n", status);
+		fprintf(stderr, "iasl exit status = %d\n", status);
 	}
 
 	/* Dump iasl's output to stdout */



CVS commit: src/usr.sbin/acpitools/acpidump

2024-05-12 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Sun May 12 23:00:21 UTC 2024

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
s/iast/iasl/ from FreeBSD.


To generate a diff of this commit:
cvs rdiff -u -r1.55 -r1.56 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2021-11-08 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Mon Nov  8 10:19:42 UTC 2021

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
acpi_print_gicc_flags: print {en,dis}abled


To generate a diff of this commit:
cvs rdiff -u -r1.52 -r1.53 src/usr.sbin/acpitools/acpidump/acpi.c

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.52 src/usr.sbin/acpitools/acpidump/acpi.c:1.53
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.52	Sun Sep 19 10:34:10 2021
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Mon Nov  8 10:19:42 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.52 2021/09/19 10:34:10 andvar Exp $ */
+/* $NetBSD: acpi.c,v 1.53 2021/11/08 10:19:42 skrll Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.52 2021/09/19 10:34:10 andvar Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.53 2021/11/08 10:19:42 skrll Exp $");
 
 #include 
 #include 
@@ -979,7 +979,12 @@ static void
 acpi_print_gicc_flags(uint32_t flags)
 {
 
-	printf("\tFlags={Performance intr=");
+	printf("\tFlags={");
+	if (flags & ACPI_MADT_ENABLED)
+		printf("enabled");
+	else
+		printf("disabled");
+	printf(", Performance intr=");
 	if (flags & ACPI_MADT_PERFORMANCE_IRQ_MODE)
 		printf("edge");
 	else



CVS commit: src/usr.sbin/acpitools/acpidump

2021-11-08 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Mon Nov  8 10:19:42 UTC 2021

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
acpi_print_gicc_flags: print {en,dis}abled


To generate a diff of this commit:
cvs rdiff -u -r1.52 -r1.53 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



Re: CVS commit: src/usr.sbin/acpitools/acpidump

2021-09-16 Thread Rin Okuyama

On 2021/09/15 8:30, Jason Thorpe wrote:




On Sep 14, 2021, at 1:34 PM, Roland Illig  wrote:

When lint runs on the code, it defines the preprocessor macro 'lint' to
be 1.  Due to that, this name cannot be used as a regular identifier.


Perhaps all of the "#ifdef lint" conditions should become "#ifdef __lint__"?


Agreed. lint should not pollute public namespace.

Thanks,
rin


Re: CVS commit: src/usr.sbin/acpitools/acpidump

2021-09-14 Thread Jason Thorpe



> On Sep 14, 2021, at 1:34 PM, Roland Illig  wrote:
> 
> When lint runs on the code, it defines the preprocessor macro 'lint' to
> be 1.  Due to that, this name cannot be used as a regular identifier.

Perhaps all of the "#ifdef lint" conditions should become "#ifdef __lint__"?

-- thorpej



CVS commit: src/usr.sbin/acpitools/acpidump

2021-09-14 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Tue Sep 14 20:34:36 UTC 2021

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
acpidump: fix lint errors

When lint runs on the code, it defines the preprocessor macro 'lint' to
be 1.  Due to that, this name cannot be used as a regular identifier.

acpi.c(86): error: syntax error '1' [249]
acpi.c(1004): error: syntax error '1' [249]
acpi.c(2422): error: void function acpi_print_lpit cannot return value
[213]

The FreeBSD code doesn't need this name change since lint is specific to
NetBSD.

No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.50 -r1.51 src/usr.sbin/acpitools/acpidump/acpi.c

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.50 src/usr.sbin/acpitools/acpidump/acpi.c:1.51
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.50	Wed Jan 20 15:27:51 2021
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Tue Sep 14 20:34:36 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.50 2021/01/20 15:27:51 skrll Exp $ */
+/* $NetBSD: acpi.c,v 1.51 2021/09/14 20:34:36 rillig Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.50 2021/01/20 15:27:51 skrll Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.51 2021/09/14 20:34:36 rillig Exp $");
 
 #include 
 #include 
@@ -83,7 +83,7 @@ static void	acpi_print_io_apic(uint32_t 
 		uint64_t apic_addr);
 static void	acpi_print_mps_flags(uint16_t flags);
 static void	acpi_print_intr(uint32_t intr, uint16_t mps_flags);
-static void	acpi_print_local_nmi(u_int lint, uint16_t mps_flags);
+static void	acpi_print_local_nmi(u_int local_int, 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);
@@ -1001,10 +1001,10 @@ acpi_print_intr(uint32_t intr, uint16_t 
 }
 
 static void
-acpi_print_local_nmi(u_int lint, uint16_t mps_flags)
+acpi_print_local_nmi(u_int local_int, uint16_t mps_flags)
 {
 
-	printf("\tLINT Pin=%d\n", lint);
+	printf("\tLINT Pin=%d\n", local_int);
 	acpi_print_mps_flags(mps_flags);
 }
 
@@ -2419,7 +2419,7 @@ acpi_print_lpit(ACPI_LPIT_HEADER *lpit)
 #undef PRINTFLAG
 
 	if (lpit->Type == ACPI_LPIT_TYPE_NATIVE_CSTATE)
-		return acpi_print_native_lpit((ACPI_LPIT_NATIVE *)lpit);
+		acpi_print_native_lpit((ACPI_LPIT_NATIVE *)lpit);
 }
 
 static void



CVS commit: src/usr.sbin/acpitools/acpidump

2021-09-14 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Tue Sep 14 20:34:36 UTC 2021

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
acpidump: fix lint errors

When lint runs on the code, it defines the preprocessor macro 'lint' to
be 1.  Due to that, this name cannot be used as a regular identifier.

acpi.c(86): error: syntax error '1' [249]
acpi.c(1004): error: syntax error '1' [249]
acpi.c(2422): error: void function acpi_print_lpit cannot return value
[213]

The FreeBSD code doesn't need this name change since lint is specific to
NetBSD.

No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.50 -r1.51 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2021-01-20 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Wed Jan 20 15:27:51 UTC 2021

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
Consistently use ACPI_SIG_SSDT


To generate a diff of this commit:
cvs rdiff -u -r1.49 -r1.50 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2021-01-20 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Wed Jan 20 15:27:51 UTC 2021

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
Consistently use ACPI_SIG_SSDT


To generate a diff of this commit:
cvs rdiff -u -r1.49 -r1.50 src/usr.sbin/acpitools/acpidump/acpi.c

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.49 src/usr.sbin/acpitools/acpidump/acpi.c:1.50
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.49	Mon Dec 14 10:18:28 2020
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Wed Jan 20 15:27:51 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.49 2020/12/14 10:18:28 jmcneill Exp $ */
+/* $NetBSD: acpi.c,v 1.50 2021/01/20 15:27:51 skrll Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.49 2020/12/14 10:18:28 jmcneill Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.50 2021/01/20 15:27:51 skrll Exp $");
 
 #include 
 #include 
@@ -4625,11 +4625,11 @@ write_dsdt(int fd, ACPI_TABLE_HEADER *rs
 
 	/* Write out any SSDTs (if present.) */
 	if (rsdt != NULL) {
-		ssdt = sdt_from_rsdt(rsdt, "SSDT", NULL);
+		ssdt = sdt_from_rsdt(rsdt, ACPI_SIG_SSDT, NULL);
 		while (ssdt != NULL) {
 			write(fd, ssdt + 1, ssdt->Length -
 			sizeof(ACPI_TABLE_HEADER));
-			ssdt = sdt_from_rsdt(rsdt, "SSDT", ssdt);
+			ssdt = sdt_from_rsdt(rsdt, ACPI_SIG_SSDT, ssdt);
 		}
 	}
 	return (0);



CVS commit: src/usr.sbin/acpitools/acpidump

2020-12-14 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Mon Dec 14 10:18:28 UTC 2020

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
MAsk -> Mask, spotted by rillig@


To generate a diff of this commit:
cvs rdiff -u -r1.48 -r1.49 src/usr.sbin/acpitools/acpidump/acpi.c

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.48 src/usr.sbin/acpitools/acpidump/acpi.c:1.49
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.48	Sat Dec 12 16:08:39 2020
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Mon Dec 14 10:18:28 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.48 2020/12/12 16:08:39 jmcneill Exp $ */
+/* $NetBSD: acpi.c,v 1.49 2020/12/14 10:18:28 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.48 2020/12/12 16:08:39 jmcneill Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.49 2020/12/14 10:18:28 jmcneill Exp $");
 
 #include 
 #include 
@@ -2648,7 +2648,7 @@ acpi_print_pcct_ext_pcc_master(ACPI_PCCT
 	acpi_print_gas(>CmdUpdateRegister);
 	printf("\n");
 	printf("\tCommand Update Preserve Mask=0x%016jx\n", subspace->CmdUpdatePreserveMask);
-	printf("\tCommand Update Set MAsk=0x%016jx\n", subspace->CmdUpdateSetMask);
+	printf("\tCommand Update Set Mask=0x%016jx\n", subspace->CmdUpdateSetMask);
 	printf("\tError Status Register=");
 	acpi_print_gas(>ErrorStatusRegister);
 	printf("\n");
@@ -2694,7 +2694,7 @@ acpi_print_pcct_ext_pcc_slave(ACPI_PCCT_
 	acpi_print_gas(>CmdUpdateRegister);
 	printf("\n");
 	printf("\tCommand Update Preserve Mask=0x%016jx\n", subspace->CmdUpdatePreserveMask);
-	printf("\tCommand Update Set MAsk=0x%016jx\n", subspace->CmdUpdateSetMask);
+	printf("\tCommand Update Set Mask=0x%016jx\n", subspace->CmdUpdateSetMask);
 	printf("\tError Status Register=");
 	acpi_print_gas(>ErrorStatusRegister);
 	printf("\n");



CVS commit: src/usr.sbin/acpitools/acpidump

2020-12-14 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Mon Dec 14 10:18:28 UTC 2020

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
MAsk -> Mask, spotted by rillig@


To generate a diff of this commit:
cvs rdiff -u -r1.48 -r1.49 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2020-12-12 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sat Dec 12 16:08:39 UTC 2020

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
Add support for decoding Platform Communications Channel Tables ("PCCT").


To generate a diff of this commit:
cvs rdiff -u -r1.47 -r1.48 src/usr.sbin/acpitools/acpidump/acpi.c

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.47 src/usr.sbin/acpitools/acpidump/acpi.c:1.48
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.47	Sun Dec  6 18:38:58 2020
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Sat Dec 12 16:08:39 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.47 2020/12/06 18:38:58 jmcneill Exp $ */
+/* $NetBSD: acpi.c,v 1.48 2020/12/12 16:08:39 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.47 2020/12/06 18:38:58 jmcneill Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.48 2020/12/12 16:08:39 jmcneill Exp $");
 
 #include 
 #include 
@@ -103,6 +103,7 @@ static void	acpi_handle_msct(ACPI_TABLE_
 static void	acpi_handle_ecdt(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_hpet(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_mcfg(ACPI_TABLE_HEADER *sdp);
+static void	acpi_handle_pcct(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_pptt(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_sbst(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_slit(ACPI_TABLE_HEADER *sdp);
@@ -2532,6 +2533,222 @@ acpi_handle_mcfg(ACPI_TABLE_HEADER *sdp)
 }
 
 static void
+acpi_print_pcct_subspace(ACPI_PCCT_SUBSPACE *subspace)
+{
+	printf("\tType=Generic Subspace\n");
+	printf("\tBase Address=0x%016jx\n", subspace->BaseAddress);
+	printf("\tLength=%jd\n", subspace->Length);
+	printf("\tDoorbell Address=");
+	acpi_print_gas(>DoorbellRegister);
+	printf("\n");
+	printf("\tDoorbell Preserve=0x%016jx\n", subspace->PreserveMask);
+	printf("\tDoorbell Write=0x%016jx\n", subspace->WriteMask);
+	printf("\tLatency=%u us\n", subspace->Latency);
+	printf("\tMax Access Rate=%u\n", subspace->MaxAccessRate);
+	printf("\tMin Turnaround Time=%u us\n", subspace->MinTurnaroundTime);
+}
+
+static void
+acpi_print_pcct_hw_reduced(ACPI_PCCT_HW_REDUCED *subspace)
+{
+	printf("\tType=HW-reduced Subspace\n");
+	printf("\tPlatform Interrupt=%u", subspace->PlatformInterrupt);
+	if (subspace->Flags & ACPI_PCCT_INTERRUPT_POLARITY) {
+		printf(", Edge triggered");
+	} else {
+		printf(", Level triggered");
+	}
+	if (subspace->Flags & ACPI_PCCT_INTERRUPT_MODE) {
+		printf(", Active low");
+	} else {
+		printf(", Active high");
+	}
+	printf("\n");
+	printf("\tBase Address=0x%016jx\n", subspace->BaseAddress);
+	printf("\tLength=%jd\n", subspace->Length);
+	printf("\tDoorbell Register=");
+	acpi_print_gas(>DoorbellRegister);
+	printf("\n");
+	printf("\tDoorbell Preserve=0x%016jx\n", subspace->PreserveMask);
+	printf("\tDoorbell Write=0x%016jx\n", subspace->WriteMask);
+	printf("\tLatency=%u us\n", subspace->Latency);
+	printf("\tMax Access Rate=%u\n", subspace->MaxAccessRate);
+	printf("\tMin Turnaround Time=%u us\n", subspace->MinTurnaroundTime);
+}
+
+static void
+acpi_print_pcct_hw_reduced_type2(ACPI_PCCT_HW_REDUCED_TYPE2 *subspace)
+{
+	printf("\tType=HW-reduced Subspace Type 2\n");
+	printf("\tPlatform Interrupt=%u", subspace->PlatformInterrupt);
+	if (subspace->Flags & ACPI_PCCT_INTERRUPT_POLARITY) {
+		printf(", Edge triggered");
+	} else {
+		printf(", Level triggered");
+	}
+	if (subspace->Flags & ACPI_PCCT_INTERRUPT_MODE) {
+		printf(", Active low");
+	} else {
+		printf(", Active high");
+	}
+	printf("\n");
+	printf("\tBase Address=0x%016jx\n", subspace->BaseAddress);
+	printf("\tLength=%jd\n", subspace->Length);
+	printf("\tDoorbell Register=");
+	acpi_print_gas(>DoorbellRegister);
+	printf("\n");
+	printf("\tDoorbell Preserve=0x%016jx\n", subspace->PreserveMask);
+	printf("\tDoorbell Write=0x%016jx\n", subspace->WriteMask);
+	printf("\tLatency=%u us\n", subspace->Latency);
+	printf("\tMax Access Rate=%u\n", subspace->MaxAccessRate);
+	printf("\tMin Turnaround Time=%u us\n", subspace->MinTurnaroundTime);
+	printf("\tPlatform Interrupt Ack Register=");
+	acpi_print_gas(>PlatformAckRegister);
+	printf("\n");
+	printf("\tPlatform Interrupt Ack Preserve=0x%016jx\n", subspace->AckPreserveMask);
+	printf("\tPlatform Interrupt Ack Write=0x%016jx\n", subspace->AckWriteMask);
+}
+
+static void
+acpi_print_pcct_ext_pcc_master(ACPI_PCCT_EXT_PCC_MASTER *subspace)
+{
+	printf("\tType=Extended PCC Master Subspace\n");
+	printf("\tPlatform Interrupt=%u", subspace->PlatformInterrupt);
+	if (subspace->Flags & ACPI_PCCT_INTERRUPT_POLARITY) {
+		printf(", Edge triggered");
+	} else {
+		printf(", Level triggered");
+	}
+	if (subspace->Flags & ACPI_PCCT_INTERRUPT_MODE) {
+		printf(", Active low");
+	} else {
+		printf(", Active high");
+	}
+	printf("\n");
+	

CVS commit: src/usr.sbin/acpitools/acpidump

2020-12-12 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sat Dec 12 16:08:39 UTC 2020

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
Add support for decoding Platform Communications Channel Tables ("PCCT").


To generate a diff of this commit:
cvs rdiff -u -r1.47 -r1.48 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2020-12-06 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Dec  6 18:38:58 UTC 2020

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
acpidump: Do not print FACS if HW_REDUCED flag is set.

According to ACPI 6.3 spec, FACS is optional when HW_REDUCED is set. ACPICA
ignores the FACS completely when HW_REDUCED is set, so we need to follow
suit since it is not available through /dev/acpi as the table is not
installed.


To generate a diff of this commit:
cvs rdiff -u -r1.46 -r1.47 src/usr.sbin/acpitools/acpidump/acpi.c

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.46 src/usr.sbin/acpitools/acpidump/acpi.c:1.47
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.46	Sat Jun 22 12:39:40 2019
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Sun Dec  6 18:38:58 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.46 2019/06/22 12:39:40 maxv Exp $ */
+/* $NetBSD: acpi.c,v 1.47 2020/12/06 18:38:58 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.46 2019/06/22 12:39:40 maxv Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.47 2020/12/06 18:38:58 jmcneill Exp $");
 
 #include 
 #include 
@@ -836,7 +836,7 @@ acpi_handle_fadt(ACPI_TABLE_HEADER *sdp)
 	if (acpi_select_address(fadt->Facs, fadt->XFacs) == 0) {
 		if ((fadt->Flags & ACPI_FADT_HW_REDUCED) == 0)
 			errx(EXIT_FAILURE, "Missing FACS and HW_REDUCED_ACPI flag not set in FADT");
-	} else {
+	} else if ((fadt->Flags & ACPI_FADT_HW_REDUCED) == 0) {
 		facs = (ACPI_TABLE_FACS *)acpi_map_sdt(
 			acpi_select_address(fadt->Facs, fadt->XFacs));
 		if (memcmp(facs->Signature, ACPI_SIG_FACS, 4) != 0 || facs->Length < 64)



CVS commit: src/usr.sbin/acpitools/acpidump

2020-12-06 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Dec  6 18:38:58 UTC 2020

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
acpidump: Do not print FACS if HW_REDUCED flag is set.

According to ACPI 6.3 spec, FACS is optional when HW_REDUCED is set. ACPICA
ignores the FACS completely when HW_REDUCED is set, so we need to follow
suit since it is not available through /dev/acpi as the table is not
installed.


To generate a diff of this commit:
cvs rdiff -u -r1.46 -r1.47 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2019-06-22 Thread Maxime Villard
Module Name:src
Committed By:   maxv
Date:   Sat Jun 22 12:39:40 UTC 2019

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c acpidump.8

Log Message:
Dump TPM2.


To generate a diff of this commit:
cvs rdiff -u -r1.45 -r1.46 src/usr.sbin/acpitools/acpidump/acpi.c
cvs rdiff -u -r1.15 -r1.16 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.



CVS commit: src/usr.sbin/acpitools/acpidump

2019-06-22 Thread Maxime Villard
Module Name:src
Committed By:   maxv
Date:   Sat Jun 22 12:39:40 UTC 2019

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c acpidump.8

Log Message:
Dump TPM2.


To generate a diff of this commit:
cvs rdiff -u -r1.45 -r1.46 src/usr.sbin/acpitools/acpidump/acpi.c
cvs rdiff -u -r1.15 -r1.16 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.45 src/usr.sbin/acpitools/acpidump/acpi.c:1.46
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.45	Mon Apr 29 02:49:35 2019
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Sat Jun 22 12:39:40 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.45 2019/04/29 02:49:35 dogcow Exp $ */
+/* $NetBSD: acpi.c,v 1.46 2019/06/22 12:39:40 maxv Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.45 2019/04/29 02:49:35 dogcow Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.46 2019/06/22 12:39:40 maxv Exp $");
 
 #include 
 #include 
@@ -115,6 +115,7 @@ static void	acpi_print_srat_memory(ACPI_
 static void	acpi_print_srat(ACPI_SUBTABLE_HEADER *srat);
 static void	acpi_handle_srat(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_tcpa(ACPI_TABLE_HEADER *sdp);
+static void	acpi_handle_tpm2(ACPI_TABLE_HEADER *sdp);
 static void	acpi_print_nfit(ACPI_NFIT_HEADER *nfit);
 static void	acpi_handle_nfit(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_uefi(ACPI_TABLE_HEADER *sdp);
@@ -3339,6 +3340,31 @@ acpi_handle_tcpa(ACPI_TABLE_HEADER *sdp)
 	printf(END_COMMENT);
 }
 
+static void
+acpi_handle_tpm2(ACPI_TABLE_HEADER *sdp)
+{
+	ACPI_TABLE_TPM2 *tpm2;
+	const char *class;
+
+	printf(BEGIN_COMMENT);
+
+	acpi_print_sdt(sdp);
+	tpm2 = (ACPI_TABLE_TPM2 *)sdp;
+
+	if (tpm2->PlatformClass == 0) {
+		class = "Client";
+	} else if (tpm2->PlatformClass == 1) {
+		class = "Server";
+	} else {
+		class = "Unknown";
+	}
+	printf("\tClass=%s (%u)\n", class, tpm2->PlatformClass);
+	printf("\tControl Address=0x%"PRIx64"\n", tpm2->ControlAddress);
+	printf("\tStart Method=%u\n", tpm2->StartMethod);
+
+	printf(END_COMMENT);
+}
+
 static const char *
 devscope_type2str(int type)
 {
@@ -4297,6 +4323,8 @@ acpi_handle_rsdt(ACPI_TABLE_HEADER *rsdp
 			acpi_handle_srat(sdp);
 		else if (!memcmp(sdp->Signature, ACPI_SIG_TCPA, 4))
 			acpi_handle_tcpa(sdp);
+		else if (!memcmp(sdp->Signature, ACPI_SIG_TPM2, 4))
+			acpi_handle_tpm2(sdp);
 		else if (!memcmp(sdp->Signature, ACPI_SIG_NFIT, 4))
 			acpi_handle_nfit(sdp);
 		else if (!memcmp(sdp->Signature, ACPI_SIG_UEFI, 4))

Index: src/usr.sbin/acpitools/acpidump/acpidump.8
diff -u src/usr.sbin/acpitools/acpidump/acpidump.8:1.15 src/usr.sbin/acpitools/acpidump/acpidump.8:1.16
--- src/usr.sbin/acpitools/acpidump/acpidump.8:1.15	Sun Dec  2 10:51:07 2018
+++ src/usr.sbin/acpitools/acpidump/acpidump.8	Sat Jun 22 12:39:40 2019
@@ -1,4 +1,4 @@
-.\" $NetBSD: acpidump.8,v 1.15 2018/12/02 10:51:07 msaitoh Exp $
+.\" $NetBSD: acpidump.8,v 1.16 2019/06/22 12:39:40 maxv Exp $
 .\" ACPI (ACPI Package)
 .\"
 .\" Copyright (c) 1999 Doug Rabson 
@@ -30,7 +30,7 @@
 .\"
 .\" $FreeBSD: head/usr.sbin/acpi/acpidump/acpidump.8 267668 2014-06-20 09:57:27Z bapt $
 .\"
-.Dd December 2, 2018
+.Dd June 22, 2019
 .Dt ACPIDUMP 8
 .Os
 .Sh NAME
@@ -128,6 +128,7 @@ utility dumps contents of the following 
 .It SPMI
 .It SRAT
 .It TCPA
+.It TPM2
 .It UEFI
 .It WAET
 .It WDAT



CVS commit: src/usr.sbin/acpitools/acpidump

2019-04-28 Thread Tom Spindler
Module Name:src
Committed By:   dogcow
Date:   Mon Apr 29 02:49:35 UTC 2019

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
acpica 20190405 changed some internal macros; update code to match


To generate a diff of this commit:
cvs rdiff -u -r1.44 -r1.45 src/usr.sbin/acpitools/acpidump/acpi.c

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.44 src/usr.sbin/acpitools/acpidump/acpi.c:1.45
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.44	Sat Feb  9 16:00:41 2019
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Mon Apr 29 02:49:35 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.44 2019/02/09 16:00:41 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.45 2019/04/29 02:49:35 dogcow Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.44 2019/02/09 16:00:41 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.45 2019/04/29 02:49:35 dogcow Exp $");
 
 #include 
 #include 
@@ -3855,7 +3855,7 @@ static void
 acpi_print_sdt(ACPI_TABLE_HEADER *sdp)
 {
 	printf("  ");
-	acpi_print_string(sdp->Signature, ACPI_NAME_SIZE);
+	acpi_print_string(sdp->Signature, ACPI_NAMESEG_SIZE);
 	printf(": Length=%d, Revision=%d, Checksum=%d",
 	   sdp->Length, sdp->Revision, sdp->Checksum);
 	if (acpi_checksum(sdp, sdp->Length))
@@ -3866,7 +3866,7 @@ acpi_print_sdt(ACPI_TABLE_HEADER *sdp)
 	acpi_print_string(sdp->OemTableId, ACPI_OEM_TABLE_ID_SIZE);
 	printf(", OEM Revision=0x%x,\n", sdp->OemRevision);
 	printf("\tCreator ID=");
-	acpi_print_string(sdp->AslCompilerId, ACPI_NAME_SIZE);
+	acpi_print_string(sdp->AslCompilerId, ACPI_NAMESEG_SIZE);
 	printf(", Creator Revision=0x%x\n", sdp->AslCompilerRevision);
 }
 



CVS commit: src/usr.sbin/acpitools/acpidump

2019-04-28 Thread Tom Spindler
Module Name:src
Committed By:   dogcow
Date:   Mon Apr 29 02:49:35 UTC 2019

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
acpica 20190405 changed some internal macros; update code to match


To generate a diff of this commit:
cvs rdiff -u -r1.44 -r1.45 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2019-02-09 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Sat Feb  9 16:00:42 UTC 2019

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Add missing newline.


To generate a diff of this commit:
cvs rdiff -u -r1.43 -r1.44 src/usr.sbin/acpitools/acpidump/acpi.c

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.43 src/usr.sbin/acpitools/acpidump/acpi.c:1.44
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.43	Sun Dec 30 05:05:21 2018
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Sat Feb  9 16:00:41 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.43 2018/12/30 05:05:21 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.44 2019/02/09 16:00:41 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.43 2018/12/30 05:05:21 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.44 2019/02/09 16:00:41 msaitoh Exp $");
 
 #include 
 #include 
@@ -717,7 +717,7 @@ acpi_print_hest_generic_v2(ACPI_HEST_GEN
 
 	printf("\tError Status Address");
 	acpi_print_gas(>ReadAckRegister);
-	printf("\tRead Ack Preserve=0x%016jx\n",
+	printf("\n\tRead Ack Preserve=0x%016jx\n",
 	(uintmax_t)data->ReadAckPreserve);
 	printf("\tRead Ack Write=0x%016jx\n",
 	(uintmax_t)data->ReadAckWrite);
@@ -2050,7 +2050,7 @@ acpi_handle_hpet(ACPI_TABLE_HEADER *sdp)
 	printf("\tHPET Number=%d\n", hpet->Sequence);
 	printf("\tADDR=");
 	acpi_print_gas(>Address);
-	printf("\tHW Rev=0x%x\n", hpet->Id & ACPI_HPET_ID_HARDWARE_REV_ID);
+	printf("\n\tHW Rev=0x%x\n", hpet->Id & ACPI_HPET_ID_HARDWARE_REV_ID);
 	printf("\tComparators=%d\n", (hpet->Id & ACPI_HPET_ID_COMPARATORS) >>
 	8);
 	printf("\tCounter Size=%d\n", hpet->Id & ACPI_HPET_ID_COUNT_SIZE_CAP ?
@@ -2385,13 +2385,14 @@ acpi_print_native_lpit(ACPI_LPIT_NATIVE 
 {
 	printf("\tEntryTrigger=");
 	acpi_print_gas(>EntryTrigger);
-	printf("\tResidency=%u\n", nl->Residency);
+	printf("\n\tResidency=%u\n", nl->Residency);
 	printf("\tLatency=%u\n", nl->Latency);
 	if (nl->Header.Flags & ACPI_LPIT_NO_COUNTER)
 		printf("\tResidencyCounter=Not Present");
 	else {
 		printf("\tResidencyCounter=");
 		acpi_print_gas(>ResidencyCounter);
+		printf("\n");
 	}
 	if (nl->CounterFrequency)
 		printf("\tCounterFrequency=%ju\n", nl->CounterFrequency);
@@ -3818,8 +3819,9 @@ acpi_handle_wdrt(ACPI_TABLE_HEADER *sdp)
 
 	printf("\tControl Register=");
 	acpi_print_gas(>ControlRegister);
-	printf("\tCount Register=");
+	printf("\n\tCount Register=");
 	acpi_print_gas(>CountRegister);
+	printf("\n");
 	acpi_print_pci(wdrt->PciVendorId, wdrt->PciDeviceId,
 	wdrt->PciSegment, wdrt->PciBus, wdrt->PciDevice, wdrt->PciFunction);
 



CVS commit: src/usr.sbin/acpitools/acpidump

2019-02-09 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Sat Feb  9 16:00:42 UTC 2019

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Add missing newline.


To generate a diff of this commit:
cvs rdiff -u -r1.43 -r1.44 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2018-12-29 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Sun Dec 30 05:05:22 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Fix acpi_print_string(). Treat NUL termination correctly to not to print
NUL character. For example, this change prints an OEMID "41 4d 44 00 41 4d"
with "AMD". Tested by Patrick Welche.


To generate a diff of this commit:
cvs rdiff -u -r1.42 -r1.43 src/usr.sbin/acpitools/acpidump/acpi.c

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.42 src/usr.sbin/acpitools/acpidump/acpi.c:1.43
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.42	Sun Dec  2 10:51:07 2018
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Sun Dec 30 05:05:21 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.42 2018/12/02 10:51:07 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.43 2018/12/30 05:05:21 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.42 2018/12/02 10:51:07 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.43 2018/12/30 05:05:21 msaitoh Exp $");
 
 #include 
 #include 
@@ -215,6 +215,8 @@ acpi_print_string(char *s, size_t length
 
 	while (length--) {
 		c = *s++;
+		if (c == '\0')
+			return;
 		putchar(c);
 	}
 }



CVS commit: src/usr.sbin/acpitools/acpidump

2018-12-29 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Sun Dec 30 05:05:22 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Fix acpi_print_string(). Treat NUL termination correctly to not to print
NUL character. For example, this change prints an OEMID "41 4d 44 00 41 4d"
with "AMD". Tested by Patrick Welche.


To generate a diff of this commit:
cvs rdiff -u -r1.42 -r1.43 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2018-12-02 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Sun Dec  2 10:51:07 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c acpidump.8

Log Message:
 Decode IO Remapping Table.


To generate a diff of this commit:
cvs rdiff -u -r1.41 -r1.42 src/usr.sbin/acpitools/acpidump/acpi.c
cvs rdiff -u -r1.14 -r1.15 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.41 src/usr.sbin/acpitools/acpidump/acpi.c:1.42
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.41	Sun Nov 11 00:24:01 2018
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Sun Dec  2 10:51:07 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.41 2018/11/11 00:24:01 maya Exp $ */
+/* $NetBSD: acpi.c,v 1.42 2018/12/02 10:51:07 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.41 2018/11/11 00:24:01 maya Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.42 2018/12/02 10:51:07 msaitoh Exp $");
 
 #include 
 #include 
@@ -96,6 +96,7 @@ static void	acpi_handle_einj(ACPI_TABLE_
 static void	acpi_handle_erst(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_gtdt(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_hest(ACPI_TABLE_HEADER *sdp);
+static void	acpi_handle_iort(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_lpit(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_madt(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_msct(ACPI_TABLE_HEADER *sdp);
@@ -2063,6 +2064,320 @@ acpi_handle_hpet(ACPI_TABLE_HEADER *sdp)
 	printf(END_COMMENT);
 }
 
+/*
+ * IORT
+ * I/O Remapping Table
+ */
+
+static void acpi_print_iort_its_group(ACPI_IORT_NODE *);
+static void acpi_print_iort_named_component(ACPI_IORT_NODE *);
+static void acpi_print_iort_root_complex(ACPI_IORT_NODE *);
+static void acpi_print_iort_smmuv1v2(ACPI_IORT_NODE *);
+static void acpi_print_iort_smmuv3(ACPI_IORT_NODE *);
+
+struct iort_node_list {
+	uint8_t	Type;
+	const char *gname;
+	void (*func)(ACPI_IORT_NODE *);
+} iort_node_list [] = {
+#define NDMAC(name)	ACPI_IORT_NODE_## name
+#define PRFN(name)	acpi_print_iort_## name
+	{ NDMAC(ITS_GROUP),	   "ITS group",   PRFN(its_group)},
+	{ NDMAC(NAMED_COMPONENT),  "Named component", PRFN(named_component)},
+	{ NDMAC(PCI_ROOT_COMPLEX), "Root complex",PRFN(root_complex)},
+	{ NDMAC(SMMU),		   "SMMUv1 or v2",PRFN(smmuv1v2)},
+	{ NDMAC(SMMU_V3),	   "SMMUv3",	  PRFN(smmuv3)},
+	{ 255, NULL, NULL},
+#undef NDMAC
+#undef PRFN
+};
+
+static void
+acpi_print_iort_memory_access(ACPI_IORT_MEMORY_ACCESS *memacc)
+{
+
+	printf("\tMemory Access={\n");
+	printf("\t\tCacheCoherency=");
+	switch (memacc->CacheCoherency) {
+	case ACPI_IORT_NODE_COHERENT:
+		printf("Fully coherent\n");
+		break;
+	case ACPI_IORT_NODE_NOT_COHERENT:
+		printf("Not coherent\n");
+		break;
+	default:
+		printf("resrved (%u)\n", memacc->CacheCoherency);
+		break;
+	}
+	printf("\t\tAllocation Hints=");
+#define	PRINTFLAG(var, flag)	printflag((var), ACPI_IORT_HT_## flag, #flag)
+		PRINTFLAG(memacc->Hints, TRANSIENT);
+		PRINTFLAG(memacc->Hints, WRITE);
+		PRINTFLAG(memacc->Hints, READ);
+		PRINTFLAG(memacc->Hints, OVERRIDE);
+		PRINTFLAG_END();
+#undef PRINTFLAG
+	printf("\t\tMemory Access Flags=");
+#define	PRINTFLAG(var, flag)	printflag((var), ACPI_IORT_MF_## flag, #flag)
+		PRINTFLAG(memacc->MemoryFlags, COHERENCY);
+		PRINTFLAG(memacc->MemoryFlags, ATTRIBUTES);
+		PRINTFLAG_END();
+#undef PRINTFLAG
+	printf("\t}\n");
+}
+
+static void
+acpi_print_iort_its_group(ACPI_IORT_NODE *node)
+{
+	ACPI_IORT_ITS_GROUP *itsg = (ACPI_IORT_ITS_GROUP *)node->NodeData;
+	uint32_t *idp;
+	unsigned int i;
+
+	idp = itsg->Identifiers;
+	for (i = 0; i < itsg->ItsCount; i++)
+		printf("\tGIC ITS ID=%d\n", idp[i]);
+}
+
+static void
+acpi_print_iort_named_component(ACPI_IORT_NODE *node)
+{
+	ACPI_IORT_NAMED_COMPONENT *ncomp
+	= (ACPI_IORT_NAMED_COMPONENT *)node->NodeData;
+
+#define	PRINTFLAG(var, flag)	printflag((var), ACPI_IORT_NC_## flag, #flag)
+	printf("\tNode Flags={PASID_BITS=%u",
+	(ncomp->NodeFlags & ACPI_IORT_NC_PASID_BITS) >> 1);
+	pf_sep = ',';
+	PRINTFLAG(ncomp->NodeFlags, STALL_SUPPORTED);
+	PRINTFLAG_END();
+#undef PRINTFLAG
+	acpi_print_iort_memory_access(
+		(ACPI_IORT_MEMORY_ACCESS *)>MemoryProperties);
+	printf("\tMemory address size=%hhu\n", ncomp->MemoryAddressLimit);
+	printf("\tDevice object Name=%s\n", ncomp->DeviceName);
+}
+
+static void
+acpi_print_iort_root_complex(ACPI_IORT_NODE *node)
+{
+	ACPI_IORT_ROOT_COMPLEX *rcmp
+	= (ACPI_IORT_ROOT_COMPLEX *)node->NodeData;
+
+	acpi_print_iort_memory_access(
+		(ACPI_IORT_MEMORY_ACCESS *)>MemoryProperties);
+	printf("\tATS Attribute=%s\n",
+	(rcmp->AtsAttribute & ACPI_IORT_ATS_SUPPORTED)
+	? "supported" : "not supported");
+	printf("\tPCI Segment=%u\n", rcmp->PciSegmentNumber);
+	printf("\tMemory address size 

CVS commit: src/usr.sbin/acpitools/acpidump

2018-12-02 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Sun Dec  2 10:51:07 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c acpidump.8

Log Message:
 Decode IO Remapping Table.


To generate a diff of this commit:
cvs rdiff -u -r1.41 -r1.42 src/usr.sbin/acpitools/acpidump/acpi.c
cvs rdiff -u -r1.14 -r1.15 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.



CVS commit: src/usr.sbin/acpitools/acpidump

2018-11-10 Thread Maya Rashish
Module Name:src
Committed By:   maya
Date:   Sun Nov 11 00:24:01 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
& promotes to int already, so clang warns about the hh modifier.
(and we use -Werror)

ok xtos


To generate a diff of this commit:
cvs rdiff -u -r1.40 -r1.41 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2018-11-10 Thread Maya Rashish
Module Name:src
Committed By:   maya
Date:   Sun Nov 11 00:24:01 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
& promotes to int already, so clang warns about the hh modifier.
(and we use -Werror)

ok xtos


To generate a diff of this commit:
cvs rdiff -u -r1.40 -r1.41 src/usr.sbin/acpitools/acpidump/acpi.c

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.40 src/usr.sbin/acpitools/acpidump/acpi.c:1.41
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.40	Mon Nov  5 07:39:57 2018
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Sun Nov 11 00:24:01 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.40 2018/11/05 07:39:57 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.41 2018/11/11 00:24:01 maya Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.40 2018/11/05 07:39:57 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.41 2018/11/11 00:24:01 maya Exp $");
 
 #include 
 #include 
@@ -1236,7 +1236,7 @@ acpi_handle_bgrt(ACPI_TABLE_HEADER *sdp)
 	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("\tDisplayed=%u\n", bgrt->Status & ACPI_BGRT_DISPLAYED);
 	printf("\tImage Type=");
 	switch (bgrt->ImageType) {
 	case 0:



CVS commit: src/usr.sbin/acpitools/acpidump

2018-11-04 Thread SAITOH Masanobu
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.



CVS commit: src/usr.sbin/acpitools/acpidump

2018-11-04 Thread SAITOH Masanobu
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 
-__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 
 #include 
@@ -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 
@@ -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



CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-31 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Nov  1 03:08:46 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c acpidump.8

Log Message:
 Decode CSRT (Core System Resources Table).


To generate a diff of this commit:
cvs rdiff -u -r1.38 -r1.39 src/usr.sbin/acpitools/acpidump/acpi.c
cvs rdiff -u -r1.12 -r1.13 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.38 src/usr.sbin/acpitools/acpidump/acpi.c:1.39
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.38	Thu Oct 18 05:20:05 2018
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Thu Nov  1 03:08:46 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.38 2018/10/18 05:20:05 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.39 2018/11/01 03:08:46 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.38 2018/10/18 05:20:05 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.39 2018/11/01 03:08:46 msaitoh Exp $");
 
 #include 
 #include 
@@ -40,6 +40,7 @@ __RCSID("$NetBSD: acpi.c,v 1.38 2018/10/
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -53,7 +54,11 @@ __RCSID("$NetBSD: acpi.c,v 1.38 2018/10/
 #define BEGIN_COMMENT	"/*\n"
 #define END_COMMENT	" */\n"
 
+/* Commonly used helper functions */
 static void	acpi_print_string(char *s, size_t length);
+static void	acpi_print_tabs(unsigned int n);
+static void	acpi_dump_bytes(uint8_t *p, uint32_t len, unsigned int ntabs);
+static void	acpi_dump_table(ACPI_TABLE_HEADER *sdp);
 static void	acpi_print_gas(ACPI_GENERIC_ADDRESS *gas);
 static void	acpi_print_pci(uint16_t vendorid, uint16_t deviceid,
 		uint8_t seg, uint8_t bus, uint8_t device, uint8_t func);
@@ -68,6 +73,8 @@ static void	acpi_print_whea(ACPI_WHEA_HE
 		void (*print_ins)(ACPI_WHEA_HEADER *),
 		void (*print_flags)(ACPI_WHEA_HEADER *));
 static uint64_t	acpi_select_address(uint32_t, uint64_t);
+
+/* Handlers for each table */
 static void	acpi_handle_fadt(ACPI_TABLE_HEADER *fadt);
 static void	acpi_print_cpu(u_char cpu_id);
 static void	acpi_print_cpu_uid(uint32_t uid, char *uid_string);
@@ -81,6 +88,7 @@ static void	acpi_print_madt(ACPI_SUBTABL
 static void	acpi_handle_bert(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);
 static void	acpi_handle_dbgp(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_dbg2(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_einj(ACPI_TABLE_HEADER *sdp);
@@ -113,7 +121,6 @@ static void	acpi_handle_wdat(ACPI_TABLE_
 static void	acpi_handle_wddt(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_wdrt(ACPI_TABLE_HEADER *sdp);
 static void	acpi_print_sdt(ACPI_TABLE_HEADER *sdp);
-static void	acpi_dump_bytes(ACPI_TABLE_HEADER *sdp);
 static void	acpi_print_fadt(ACPI_TABLE_HEADER *sdp);
 static void	acpi_print_facs(ACPI_TABLE_FACS *facs);
 static void	acpi_print_dsdt(ACPI_TABLE_HEADER *dsdp);
@@ -1249,6 +1256,130 @@ acpi_handle_cpep(ACPI_TABLE_HEADER *sdp)
 }
 
 static void
+acpi_print_csrt_resource_group(ACPI_CSRT_GROUP *grp)
+{
+	ACPI_CSRT_DESCRIPTOR *desc;
+
+	printf("\tLength=%u\n", grp->Length);
+	printf("\tVendorId=");
+	acpi_print_string((char *)>VendorId, 4);
+	printf("\n");
+	if (grp->SubvendorId != 0) {
+		printf("\tSubvendorId=");
+		acpi_print_string((char *)>SubvendorId, 4);
+		printf("\n");
+	}
+	printf("\tDeviceId=0x%08x\n", grp->DeviceId);
+	if (grp->SubdeviceId != 0)
+		printf("\tSubdeviceId=0x%08x\n", grp->SubdeviceId);
+	printf("\tRevision=%hu\n", grp->Revision);
+	printf("\tSharedInfoLength=%u\n", grp->SharedInfoLength);
+
+	/* Next is Shared Info */
+	if (grp->SharedInfoLength != 0) {
+		printf("\tShared Info ");
+		acpi_dump_bytes((uint8_t *)(grp + 1),
+		grp->SharedInfoLength, 1);
+	}
+
+	/* And then, Resource Descriptors */
+	desc = (ACPI_CSRT_DESCRIPTOR *)
+	((vaddr_t)(grp + 1) + grp->SharedInfoLength);
+	while (desc < (ACPI_CSRT_DESCRIPTOR *)((vaddr_t)grp + grp->Length)) {
+		bool unknownsubytpe = false;
+		printf("\n\tLength=%u\n", desc->Length);
+		printf("\tResource Type=");
+		switch (desc->Type) {
+		case ACPI_CSRT_TYPE_INTERRUPT:
+			printf("Interrupt");
+			switch (desc->Subtype) {
+			case ACPI_CSRT_XRUPT_LINE:
+printf("(Interrupt line)\n");
+break;
+			case ACPI_CSRT_XRUPT_CONTROLLER:
+printf("(Interrupt controller)\n");
+break;
+			default:
+unknownsubytpe = true;
+break;
+			}
+			break;
+		case ACPI_CSRT_TYPE_TIMER:
+			printf("Timer");
+			switch (desc->Subtype) {
+			case ACPI_CSRT_TIMER:
+printf("\n");
+break;
+			default:
+unknownsubytpe = true;
+break;
+			}
+			break;
+		case ACPI_CSRT_TYPE_DMA:
+			printf("DMA");
+			switch (desc->Subtype) {
+			case 

CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-31 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Nov  1 03:08:46 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c acpidump.8

Log Message:
 Decode CSRT (Core System Resources Table).


To generate a diff of this commit:
cvs rdiff -u -r1.38 -r1.39 src/usr.sbin/acpitools/acpidump/acpi.c
cvs rdiff -u -r1.12 -r1.13 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.



CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-18 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Fri Oct 19 05:04:45 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpidump.8

Log Message:
 Add GTDT and PPTT.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 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/acpidump.8
diff -u src/usr.sbin/acpitools/acpidump/acpidump.8:1.11 src/usr.sbin/acpitools/acpidump/acpidump.8:1.12
--- src/usr.sbin/acpitools/acpidump/acpidump.8:1.11	Wed Oct  3 09:46:11 2018
+++ src/usr.sbin/acpitools/acpidump/acpidump.8	Fri Oct 19 05:04:45 2018
@@ -1,4 +1,4 @@
-.\" $NetBSD: acpidump.8,v 1.11 2018/10/03 09:46:11 msaitoh Exp $
+.\" $NetBSD: acpidump.8,v 1.12 2018/10/19 05:04:45 msaitoh Exp $
 .\" ACPI (ACPI Package)
 .\"
 .\" Copyright (c) 1999 Doug Rabson 
@@ -30,7 +30,7 @@
 .\"
 .\" $FreeBSD: head/usr.sbin/acpi/acpidump/acpidump.8 267668 2014-06-20 09:57:27Z bapt $
 .\"
-.Dd October 3, 2018
+.Dd October 19, 2018
 .Dt ACPIDUMP 8
 .Os
 .Sh NAME
@@ -108,6 +108,7 @@ utility dumps contents of the following 
 .It ERST
 .It FACS
 .It FADT
+.It GTDT
 .It HEST
 .It HPET
 .It LPIT
@@ -115,6 +116,7 @@ utility dumps contents of the following 
 .It MCFG
 .It MSCT
 .It NFIT
+.It PPTT
 .It RSD PTR
 .It RSDT
 .It SBST



CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-18 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Fri Oct 19 05:04:45 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpidump.8

Log Message:
 Add GTDT and PPTT.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 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.



CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-17 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Oct 18 05:20:06 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Fix output of Cache type in PPTT.


To generate a diff of this commit:
cvs rdiff -u -r1.37 -r1.38 src/usr.sbin/acpitools/acpidump/acpi.c

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.37 src/usr.sbin/acpitools/acpidump/acpi.c:1.38
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.37	Thu Oct 18 05:04:44 2018
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Thu Oct 18 05:20:05 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.37 2018/10/18 05:04:44 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.38 2018/10/18 05:20:05 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.37 2018/10/18 05:04:44 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.38 2018/10/18 05:20:05 msaitoh Exp $");
 
 #include 
 #include 
@@ -2102,8 +2102,7 @@ acpi_print_pptt_cache(ACPI_PPTT_CACHE *c
 		printf("\tAssociativity=%d\n", cache->Associativity);
 	if (cache->Flags & ACPI_PPTT_ALLOCATION_TYPE_VALID) {
 		printf("\tAllocation type=");
-		switch (__SHIFTOUT(cache->Attributes,
-			ACPI_PPTT_MASK_ALLOCATION_TYPE)) {
+		switch (cache->Attributes & ACPI_PPTT_MASK_ALLOCATION_TYPE) {
 		case ACPI_PPTT_CACHE_READ_ALLOCATE:
 			printf("Read allocate\n");
 			break;
@@ -2118,8 +2117,7 @@ acpi_print_pptt_cache(ACPI_PPTT_CACHE *c
 	}
 	if (cache->Flags & ACPI_PPTT_CACHE_TYPE_VALID) {
 		printf("\tCache type=");
-		switch (__SHIFTOUT(cache->Attributes,
-			ACPI_PPTT_MASK_CACHE_TYPE)) {
+		switch (cache->Attributes & ACPI_PPTT_MASK_CACHE_TYPE) {
 		case ACPI_PPTT_CACHE_TYPE_DATA:
 			printf("Data\n");
 			break;



CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-17 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Oct 18 05:20:06 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Fix output of Cache type in PPTT.


To generate a diff of this commit:
cvs rdiff -u -r1.37 -r1.38 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-17 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Oct 18 05:04:44 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Don't print X_PM_TMR_BLK if the address value is 0.


To generate a diff of this commit:
cvs rdiff -u -r1.36 -r1.37 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-17 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Oct 18 05:04:44 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Don't print X_PM_TMR_BLK if the address value is 0.


To generate a diff of this commit:
cvs rdiff -u -r1.36 -r1.37 src/usr.sbin/acpitools/acpidump/acpi.c

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.36 src/usr.sbin/acpitools/acpidump/acpi.c:1.37
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.36	Thu Oct 18 04:52:00 2018
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Thu Oct 18 05:04:44 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.36 2018/10/18 04:52:00 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.37 2018/10/18 05:04:44 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.36 2018/10/18 04:52:00 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.37 2018/10/18 05:04:44 msaitoh Exp $");
 
 #include 
 #include 
@@ -3589,8 +3589,10 @@ acpi_print_fadt(ACPI_TABLE_HEADER *sdp)
 		printf("\n\tX_PM2_CNT_BLK=");
 		acpi_print_gas(>XPm2ControlBlock);
 	}
-	printf("\n\tX_PM_TMR_BLK=");
-	acpi_print_gas(>XPmTimerBlock);
+	if (fadt->XPmTimerBlock.Address != 0) {
+		printf("\n\tX_PM_TMR_BLK=");
+		acpi_print_gas(>XPmTimerBlock);
+	}
 	if (fadt->XGpe0Block.Address != 0) {
 		printf("\n\tX_GPE0_BLK=");
 		acpi_print_gas(>XGpe0Block);



CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-17 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Oct 18 04:52:00 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Don't print PM_TMR_BLK if the value is 0 (see also acpi_timer.c rev. 1.23).


To generate a diff of this commit:
cvs rdiff -u -r1.35 -r1.36 src/usr.sbin/acpitools/acpidump/acpi.c

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.35 src/usr.sbin/acpitools/acpidump/acpi.c:1.36
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.35	Thu Oct 18 04:29:44 2018
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Thu Oct 18 04:52:00 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.35 2018/10/18 04:29:44 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.36 2018/10/18 04:52:00 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.35 2018/10/18 04:29:44 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.36 2018/10/18 04:52:00 msaitoh Exp $");
 
 #include 
 #include 
@@ -3490,9 +3490,10 @@ acpi_print_fadt(ACPI_TABLE_HEADER *sdp)
 		printf("\tPM2_CNT_BLK=0x%x-0x%x\n",
 		   fadt->Pm2ControlBlock,
 		   fadt->Pm2ControlBlock + fadt->Pm2ControlLength - 1);
-	printf("\tPM_TMR_BLK=0x%x-0x%x\n",
-	   fadt->PmTimerBlock,
-	   fadt->PmTimerBlock + fadt->PmTimerLength - 1);
+	if (fadt->PmTimerBlock != 0)
+		printf("\tPM_TMR_BLK=0x%x-0x%x\n",
+		fadt->PmTimerBlock,
+		fadt->PmTimerBlock + fadt->PmTimerLength - 1);
 	if (fadt->Gpe0Block != 0)
 		printf("\tGPE0_BLK=0x%x-0x%x\n",
 		   fadt->Gpe0Block,



CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-17 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Oct 18 04:52:00 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Don't print PM_TMR_BLK if the value is 0 (see also acpi_timer.c rev. 1.23).


To generate a diff of this commit:
cvs rdiff -u -r1.35 -r1.36 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-17 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Oct 18 04:29:44 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Decode Generic Timer Description Table(GTDT) and Processor Properties Topology
Table(PPTT). Cosmetic changes and fixes might be required. Testesd by jmcneill.


To generate a diff of this commit:
cvs rdiff -u -r1.34 -r1.35 src/usr.sbin/acpitools/acpidump/acpi.c

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.34 src/usr.sbin/acpitools/acpidump/acpi.c:1.35
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.34	Thu Oct 18 04:25:34 2018
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Thu Oct 18 04:29:44 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.34 2018/10/18 04:25:34 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.35 2018/10/18 04:29:44 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.34 2018/10/18 04:25:34 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.35 2018/10/18 04:29:44 msaitoh Exp $");
 
 #include 
 #include 
@@ -85,6 +85,7 @@ static void	acpi_handle_dbgp(ACPI_TABLE_
 static void	acpi_handle_dbg2(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_einj(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_erst(ACPI_TABLE_HEADER *sdp);
+static void	acpi_handle_gtdt(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_hest(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_lpit(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_madt(ACPI_TABLE_HEADER *sdp);
@@ -92,6 +93,7 @@ static void	acpi_handle_msct(ACPI_TABLE_
 static void	acpi_handle_ecdt(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_hpet(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_mcfg(ACPI_TABLE_HEADER *sdp);
+static void	acpi_handle_pptt(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_sbst(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_slit(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_spcr(ACPI_TABLE_HEADER *sdp);
@@ -1679,6 +1681,182 @@ acpi_handle_erst(ACPI_TABLE_HEADER *sdp)
 }
 
 static void
+acpi_print_gtd_timer(const char *name, uint32_t interrupt, uint32_t flags)
+{
+
+	printf("\t%s Timer GSIV=%d\n", name, interrupt);
+	printf("\t%s Flags={Mode=", name);
+	if (flags & ACPI_GTDT_INTERRUPT_MODE)
+		printf("edge");
+	else
+		printf("level");
+	printf(", Polarity=");
+	if (flags & ACPI_GTDT_INTERRUPT_POLARITY)
+		printf("active-lo");
+	else
+		printf("active-hi");
+	if (flags & ACPI_GTDT_ALWAYS_ON)
+		printf(", always-on");
+	printf("}\n");
+}
+
+static void
+acpi_print_gtd_block_timer_flags(const char *name, uint32_t interrupt,
+uint32_t flags)
+{
+
+	printf("\t\t%s Timer GSIV=%d\n", name, interrupt);
+	printf("\t\t%s Timer Flags={Mode=", name);
+	if (flags & ACPI_GTDT_GT_IRQ_MODE)
+		printf("Secure");
+	else
+		printf("Non-Secure");
+	printf(", Polarity=");
+	if (flags & ACPI_GTDT_GT_IRQ_POLARITY)
+		printf("active-lo");
+	else
+		printf("active-hi");
+	printf("}\n");
+}
+
+static void
+acpi_print_gtblock(ACPI_GTDT_TIMER_BLOCK *gtblock)
+{
+	ACPI_GTDT_TIMER_ENTRY *entry;
+	unsigned int i;
+	
+	printf("\tType=GT Block\n");
+	printf("\tLength=%d\n", gtblock->Header.Length);
+	/* XXX might not 8byte aligned */
+	printf("\tBlockAddress=%016jx\n",
+	(uintmax_t)gtblock->BlockAddress);
+
+	printf("\tGT Block Timer Count=%d\n", gtblock->TimerCount);
+	entry = (ACPI_GTDT_TIMER_ENTRY *)((vaddr_t)gtblock
+	+ gtblock->TimerOffset);
+	for (i = 0; i < gtblock->TimerCount; i++) {
+		printf("\n");
+		if (entry >= (ACPI_GTDT_TIMER_ENTRY *)((vaddr_t)gtblock
+		+ gtblock->Header.Length)) {
+			printf("\\ttWrong Timer entry\n");
+			break;
+		}
+		printf("\t\tFrame Number=%d\n", entry->FrameNumber);
+		/* XXX might not 8byte aligned */
+		printf("\t\tBaseAddress=%016jx\n",
+		(uintmax_t)entry->BaseAddress);
+		/* XXX might not 8byte aligned */
+		printf("\t\tEl0BaseAddress=%016jx\n",
+		(uintmax_t)entry->El0BaseAddress);
+
+		acpi_print_gtd_block_timer_flags("Physical",
+		entry->TimerInterrupt, entry->TimerFlags);
+		acpi_print_gtd_block_timer_flags("Virtual",
+		entry->VirtualTimerInterrupt, entry->VirtualTimerFlags);
+
+		printf("\t\tCommon Flags={Mode=");
+		if (entry->CommonFlags & ACPI_GTDT_GT_IS_SECURE_TIMER)
+			printf("Secure");
+		else
+			printf("Non-Secure");
+		if (entry->CommonFlags & ACPI_GTDT_GT_ALWAYS_ON)
+			printf(", always-on");
+		printf("}\n");
+
+		entry++;
+	}
+}
+
+static void
+acpi_print_sbsa_watchdog(ACPI_GTDT_WATCHDOG *wdog)
+{
+	
+	printf("\tType=Watchdog GT\n");
+	printf("\tLength=%d\n", wdog->Header.Length);
+	/* XXX might not 8byte aligned */
+	printf("\tRefreshFrameAddress=%016jx\n",
+	(uintmax_t)wdog->RefreshFrameAddress);
+	/* XXX might not 8byte aligned */
+	printf("\tControlFrameAddress=%016jx\n",
+	(uintmax_t)wdog->ControlFrameAddress);
+	printf("\tGSIV=%d\n", 

CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-17 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Oct 18 04:29:44 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Decode Generic Timer Description Table(GTDT) and Processor Properties Topology
Table(PPTT). Cosmetic changes and fixes might be required. Testesd by jmcneill.


To generate a diff of this commit:
cvs rdiff -u -r1.34 -r1.35 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-17 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Oct 18 04:25:35 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
Print SPCR's Interface Type and ARMH GIC Interrupt Type.


To generate a diff of this commit:
cvs rdiff -u -r1.33 -r1.34 src/usr.sbin/acpitools/acpidump/acpi.c

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.33 src/usr.sbin/acpitools/acpidump/acpi.c:1.34
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.33	Tue Oct 16 21:44:37 2018
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Thu Oct 18 04:25:34 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.33 2018/10/16 21:44:37 jmcneill Exp $ */
+/* $NetBSD: acpi.c,v 1.34 2018/10/18 04:25:34 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.33 2018/10/16 21:44:37 jmcneill Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.34 2018/10/18 04:25:34 msaitoh Exp $");
 
 #include 
 #include 
@@ -1270,6 +1270,39 @@ acpi_handle_dbgp(ACPI_TABLE_HEADER *sdp)
 	printf(END_COMMENT);
 }
 
+/* This function is used by DBG2 and SPCR. */
+static void
+acpi_print_dbg2_serial_subtype(uint16_t subtype)
+{
+
+	switch (subtype) {
+	case ACPI_DBG2_16550_COMPATIBLE:
+		printf("Fully 16550 compatible\n");
+		break;
+	case ACPI_DBG2_16550_SUBSET:
+		printf("16550 subset with DBGP Rev. 1\n");
+		break;
+	case ACPI_DBG2_ARM_PL011:
+		printf("ARM PL011\n");
+		break;
+	case ACPI_DBG2_ARM_SBSA_32BIT:
+		printf("ARM SBSA 32bit only\n");
+		break;
+	case ACPI_DBG2_ARM_SBSA_GENERIC:
+		printf("ARM SBSA Generic\n");
+		break;
+	case ACPI_DBG2_ARM_DCC:
+		printf("ARM DCC\n");
+		break;
+	case ACPI_DBG2_BCM2835:
+		printf("BCM2835\n");
+		break;
+	default:
+		printf("reserved (%04hx)\n", subtype);
+		break;
+	}
+}
+
 static void
 acpi_print_dbg2_device(ACPI_DBG2_DEVICE *dev)
 {
@@ -1293,32 +1326,7 @@ acpi_print_dbg2_device(ACPI_DBG2_DEVICE 
 	switch (dev->PortType) {
 	case ACPI_DBG2_SERIAL_PORT:
 		printf("Serial\n" "\t\tPortSubtype=");
-		switch (dev->PortSubtype) {
-		case ACPI_DBG2_16550_COMPATIBLE:
-			printf("Fully 16550 compatible\n");
-			break;
-		case ACPI_DBG2_16550_SUBSET:
-			printf("16550 subset with DBGP Rev. 1\n");
-			break;
-		case ACPI_DBG2_ARM_PL011:
-			printf("ARM PL011\n");
-			break;
-		case ACPI_DBG2_ARM_SBSA_32BIT:
-			printf("ARM SBSA 32bit only\n");
-			break;
-		case ACPI_DBG2_ARM_SBSA_GENERIC:
-			printf("ARM SBSA Generic\n");
-			break;
-		case ACPI_DBG2_ARM_DCC:
-			printf("ARM DCC\n");
-			break;
-		case ACPI_DBG2_BCM2835:
-			printf("BCM2835\n");
-			break;
-		default:
-			printf("reserved (%04hx)\n", dev->PortSubtype);
-			break;
-		}
+		acpi_print_dbg2_serial_subtype(dev->PortSubtype);
 		break;
 	case ACPI_DBG2_1394_PORT:
 		printf("IEEE1394\n" "\t\tPortSubtype=");
@@ -1914,6 +1922,21 @@ acpi_handle_spcr(ACPI_TABLE_HEADER *sdp)
 	acpi_print_sdt(sdp);
 	spcr = (ACPI_TABLE_SPCR *)sdp;
 
+	printf("\n\tInterface Type=");
+	switch (sdp->Revision) {
+	case 1:
+		printf("full 16550%s\n",
+		(spcr->InterfaceType == 1) ?
+		"(must also accept writing FCR register)" : "");
+		break;
+	case 2:
+		acpi_print_dbg2_serial_subtype(spcr->InterfaceType);
+		break;
+	default:
+		printf("unknown Revision\n");
+		break;
+	}
+	
 	printf("\tSerial Port=");
 	acpi_print_gas(>SerialPort);
 	printf("\n\tInterrupt Type={");
@@ -1936,6 +1959,9 @@ acpi_handle_spcr(ACPI_TABLE_HEADER *sdp)
 	if (spcr->InterruptType & 0x4) {
 		printf("\n\t\tIO SAPIC={ GSI=%d }", spcr->Interrupt);
 	}
+	if (spcr->InterruptType & 0x8) {
+		printf("\n\t\tARMH GIC={ GSI=%d }", spcr->Interrupt);
+	}
 	printf("\n\t}\n");
 
 	printf("\tBaud Rate=");



CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-17 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Oct 18 04:25:35 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
Print SPCR's Interface Type and ARMH GIC Interrupt Type.


To generate a diff of this commit:
cvs rdiff -u -r1.33 -r1.34 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-16 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Tue Oct 16 21:44:38 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
FACS is optional if the HW_REDUCED_ACPI flag is set in the FADT.


To generate a diff of this commit:
cvs rdiff -u -r1.32 -r1.33 src/usr.sbin/acpitools/acpidump/acpi.c

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.32 src/usr.sbin/acpitools/acpidump/acpi.c:1.33
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.32	Fri Oct  5 05:09:31 2018
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Tue Oct 16 21:44:37 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.32 2018/10/05 05:09:31 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.33 2018/10/16 21:44:37 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.32 2018/10/05 05:09:31 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.33 2018/10/16 21:44:37 jmcneill Exp $");
 
 #include 
 #include 
@@ -819,11 +819,16 @@ acpi_handle_fadt(ACPI_TABLE_HEADER *sdp)
 	fadt = (ACPI_TABLE_FADT *)sdp;
 	acpi_print_fadt(sdp);
 
-	facs = (ACPI_TABLE_FACS *)acpi_map_sdt(
-		acpi_select_address(fadt->Facs, fadt->XFacs));
-	if (memcmp(facs->Signature, ACPI_SIG_FACS, 4) != 0 || facs->Length < 64)
-		errx(EXIT_FAILURE, "FACS is corrupt");
-	acpi_print_facs(facs);
+	if (acpi_select_address(fadt->Facs, fadt->XFacs) == 0) {
+		if ((fadt->Flags & ACPI_FADT_HW_REDUCED) == 0)
+			errx(EXIT_FAILURE, "Missing FACS and HW_REDUCED_ACPI flag not set in FADT");
+	} else {
+		facs = (ACPI_TABLE_FACS *)acpi_map_sdt(
+			acpi_select_address(fadt->Facs, fadt->XFacs));
+		if (memcmp(facs->Signature, ACPI_SIG_FACS, 4) != 0 || facs->Length < 64)
+			errx(EXIT_FAILURE, "FACS is corrupt");
+		acpi_print_facs(facs);
+	}
 
 	dsdp = (ACPI_TABLE_HEADER *)acpi_map_sdt(
 		acpi_select_address(fadt->Dsdt, fadt->XDsdt));



CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-16 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Tue Oct 16 21:44:38 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
FACS is optional if the HW_REDUCED_ACPI flag is set in the FADT.


To generate a diff of this commit:
cvs rdiff -u -r1.32 -r1.33 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-04 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Fri Oct  5 05:09:31 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Remove extra newline in SPMI table.


To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/usr.sbin/acpitools/acpidump/acpi.c

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.31 src/usr.sbin/acpitools/acpidump/acpi.c:1.32
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.31	Wed Oct  3 09:52:59 2018
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Fri Oct  5 05:09:31 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.31 2018/10/03 09:52:59 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.32 2018/10/05 05:09:31 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.31 2018/10/03 09:52:59 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.32 2018/10/05 05:09:31 msaitoh Exp $");
 
 #include 
 #include 
@@ -2040,7 +2040,7 @@ acpi_handle_spmi(ACPI_TABLE_HEADER *sdp)
 		printf("Reserved(%d)", spmi->InterfaceType);
 		break;
 	}
-	printf("\n\tSpecRevision=%d.%d\n", spmi->SpecRevision >> 8,
+	printf("\n\tSpecRevision=%d.%d", spmi->SpecRevision >> 8,
 		spmi->SpecRevision & 0xff);
 
 	printf("\n\tInterrupt Type={");



CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-04 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Fri Oct  5 05:09:31 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Remove extra newline in SPMI table.


To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-03 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Wed Oct  3 09:52:59 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
- Decode DMAR's ANDD (ACPI Name Space).
- Add X2APIC_MODE flag of DMAR. Note that Intel's VT-d's document says the
  flag's name is DMA_CTRL_PLATFORM_OPT_IN but actbl1.h says it's
  DMAR_X2APIC_MODE.


To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 src/usr.sbin/acpitools/acpidump/acpi.c

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.30 src/usr.sbin/acpitools/acpidump/acpi.c:1.31
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.30	Wed Oct  3 09:46:11 2018
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Wed Oct  3 09:52:59 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.30 2018/10/03 09:46:11 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.31 2018/10/03 09:52:59 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.30 2018/10/03 09:46:11 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.31 2018/10/03 09:52:59 msaitoh Exp $");
 
 #include 
 #include 
@@ -2520,6 +2520,8 @@ devscope_type2str(int type)
 		return ("IOAPIC");
 	case 4:
 		return ("HPET");
+	case 5:
+		return ("ACPI Name space");
 	default:
 		snprintf(typebuf, sizeof(typebuf), "%d", type);
 		return (typebuf);
@@ -2667,6 +2669,17 @@ acpi_handle_dmar_rhsa(ACPI_DMAR_RHSA *rh
 	printf("\tProximityDomain=0x%08x\n", rhsa->ProximityDomain);
 }
 
+static void
+acpi_handle_dmar_andd(ACPI_DMAR_ANDD *andd)
+{
+
+	printf("\n");
+	printf("\tType=ANDD\n");
+	printf("\tLength=%d\n", andd->Header.Length);
+	printf("\tDeviceNumber=%d\n", andd->DeviceNumber);
+	printf("\tDeviceName=0x%s\n", andd->DeviceName);
+}
+
 static int
 acpi_handle_dmar_remapping_structure(void *addr, int remaining)
 {
@@ -2691,6 +2704,9 @@ acpi_handle_dmar_remapping_structure(voi
 	case ACPI_DMAR_TYPE_HARDWARE_AFFINITY:
 		acpi_handle_dmar_rhsa(addr);
 		break;
+	case ACPI_DMAR_TYPE_NAMESPACE:
+		acpi_handle_dmar_andd(addr);
+		break;
 	default:
 		printf("\n");
 		printf("\tType=%d\n", hdr->Type);
@@ -2721,6 +2737,7 @@ acpi_handle_dmar(ACPI_TABLE_HEADER *sdp)
 	printf("\tFlags=");
 	PRINTFLAG(dmar->Flags, INTR_REMAP);
 	PRINTFLAG(dmar->Flags, X2APIC_OPT_OUT);
+	PRINTFLAG(dmar->Flags, X2APIC_MODE);
 	PRINTFLAG_END();
 
 #undef PRINTFLAG



CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-03 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Wed Oct  3 09:52:59 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
- Decode DMAR's ANDD (ACPI Name Space).
- Add X2APIC_MODE flag of DMAR. Note that Intel's VT-d's document says the
  flag's name is DMA_CTRL_PLATFORM_OPT_IN but actbl1.h says it's
  DMAR_X2APIC_MODE.


To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-03 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Wed Oct  3 09:46:11 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c acpidump.8

Log Message:
 Add ACPI LPIT (Low Power Idle Table) from FreeBSD r336185.


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 src/usr.sbin/acpitools/acpidump/acpi.c
cvs rdiff -u -r1.10 -r1.11 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.29 src/usr.sbin/acpitools/acpidump/acpi.c:1.30
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.29	Thu Sep 28 06:55:08 2017
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Wed Oct  3 09:46:11 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.29 2017/09/28 06:55:08 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.30 2018/10/03 09:46:11 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.29 2017/09/28 06:55:08 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.30 2018/10/03 09:46:11 msaitoh Exp $");
 
 #include 
 #include 
@@ -86,6 +86,7 @@ static void	acpi_handle_dbg2(ACPI_TABLE_
 static void	acpi_handle_einj(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_erst(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_hest(ACPI_TABLE_HEADER *sdp);
+static void	acpi_handle_lpit(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_madt(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_msct(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_ecdt(ACPI_TABLE_HEADER *sdp);
@@ -1709,6 +1710,79 @@ acpi_handle_hpet(ACPI_TABLE_HEADER *sdp)
 }
 
 static void
+acpi_print_native_lpit(ACPI_LPIT_NATIVE *nl)
+{
+	printf("\tEntryTrigger=");
+	acpi_print_gas(>EntryTrigger);
+	printf("\tResidency=%u\n", nl->Residency);
+	printf("\tLatency=%u\n", nl->Latency);
+	if (nl->Header.Flags & ACPI_LPIT_NO_COUNTER)
+		printf("\tResidencyCounter=Not Present");
+	else {
+		printf("\tResidencyCounter=");
+		acpi_print_gas(>ResidencyCounter);
+	}
+	if (nl->CounterFrequency)
+		printf("\tCounterFrequency=%ju\n", nl->CounterFrequency);
+	else
+		printf("\tCounterFrequency=TSC\n");
+}
+
+static void
+acpi_print_lpit(ACPI_LPIT_HEADER *lpit)
+{
+	if (lpit->Type == ACPI_LPIT_TYPE_NATIVE_CSTATE)
+		printf("\tType=ACPI_LPIT_TYPE_NATIVE_CSTATE\n");
+	else
+		warnx("unknown LPIT type %u", lpit->Type);
+
+	printf("\tLength=%u\n", lpit->Length);
+	printf("\tUniqueId=0x%04x\n", lpit->UniqueId);
+#define	PRINTFLAG(var, flag)	printflag((var), ACPI_LPIT_## flag, #flag)
+	printf("\tFlags=");
+	PRINTFLAG(lpit->Flags, STATE_DISABLED);
+	PRINTFLAG_END();
+#undef PRINTFLAG
+
+	if (lpit->Type == ACPI_LPIT_TYPE_NATIVE_CSTATE)
+		return acpi_print_native_lpit((ACPI_LPIT_NATIVE *)lpit);
+}
+
+static void
+acpi_walk_lpit(ACPI_TABLE_HEADER *table, void *first,
+void (*action)(ACPI_LPIT_HEADER *))
+{
+	ACPI_LPIT_HEADER *subtable;
+	char *end;
+
+	subtable = first;
+	end = (char *)table + table->Length;
+	while ((char *)subtable < end) {
+		printf("\n");
+		if (subtable->Length < sizeof(ACPI_LPIT_HEADER)) {
+			warnx("invalid subtable length %u", subtable->Length);
+			return;
+		}
+		action(subtable);
+		subtable = (ACPI_LPIT_HEADER *)((char *)subtable +
+		subtable->Length);
+	}
+}
+
+static void
+acpi_handle_lpit(ACPI_TABLE_HEADER *sdp)
+{
+	ACPI_TABLE_LPIT *lpit;
+
+	printf(BEGIN_COMMENT);
+	acpi_print_sdt(sdp);
+	lpit = (ACPI_TABLE_LPIT *)sdp;
+	acpi_walk_lpit(sdp, (lpit + 1), acpi_print_lpit);
+
+	printf(END_COMMENT);
+}
+
+static void
 acpi_handle_msct(ACPI_TABLE_HEADER *sdp)
 {
 	ACPI_TABLE_MSCT *msct;
@@ -3323,6 +3397,8 @@ acpi_handle_rsdt(ACPI_TABLE_HEADER *rsdp
 			acpi_handle_hpet(sdp);
 		else if (!memcmp(sdp->Signature, ACPI_SIG_ECDT, 4))
 			acpi_handle_ecdt(sdp);
+		else if (!memcmp(sdp->Signature, ACPI_SIG_LPIT, 4))
+			acpi_handle_lpit(sdp);
 		else if (!memcmp(sdp->Signature, ACPI_SIG_MCFG, 4))
 			acpi_handle_mcfg(sdp);
 		else if (!memcmp(sdp->Signature, ACPI_SIG_SBST, 4))

Index: src/usr.sbin/acpitools/acpidump/acpidump.8
diff -u src/usr.sbin/acpitools/acpidump/acpidump.8:1.10 src/usr.sbin/acpitools/acpidump/acpidump.8:1.11
--- src/usr.sbin/acpitools/acpidump/acpidump.8:1.10	Fri Sep  1 18:35:50 2017
+++ src/usr.sbin/acpitools/acpidump/acpidump.8	Wed Oct  3 09:46:11 2018
@@ -1,4 +1,4 @@
-.\" $NetBSD: acpidump.8,v 1.10 2017/09/01 18:35:50 msaitoh Exp $
+.\" $NetBSD: acpidump.8,v 1.11 2018/10/03 09:46:11 msaitoh Exp $
 .\" ACPI (ACPI Package)
 .\"
 .\" Copyright (c) 1999 Doug Rabson 
@@ -30,7 +30,7 @@
 .\"
 .\" $FreeBSD: head/usr.sbin/acpi/acpidump/acpidump.8 267668 2014-06-20 09:57:27Z bapt $
 .\"
-.Dd September 1, 2017
+.Dd October 3, 2018
 .Dt ACPIDUMP 8
 .Os
 .Sh NAME
@@ -110,6 +110,7 @@ utility dumps contents of the following 
 .It FADT
 .It HEST
 .It HPET
+.It LPIT
 .It MADT
 .It MCFG
 .It MSCT



CVS commit: src/usr.sbin/acpitools/acpidump

2018-10-03 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Wed Oct  3 09:46:11 UTC 2018

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c acpidump.8

Log Message:
 Add ACPI LPIT (Low Power Idle Table) from FreeBSD r336185.


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 src/usr.sbin/acpitools/acpidump/acpi.c
cvs rdiff -u -r1.10 -r1.11 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.



CVS commit: src/usr.sbin/acpitools/acpidump

2017-09-28 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Sep 28 06:55:08 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Print ACPI_HEST_GHES_ASSIST flag (ACPI 6.2).


To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 src/usr.sbin/acpitools/acpidump/acpi.c

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.28 src/usr.sbin/acpitools/acpidump/acpi.c:1.29
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.28	Wed Sep 27 08:14:18 2017
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Thu Sep 28 06:55:08 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.28 2017/09/27 08:14:18 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.29 2017/09/28 06:55:08 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.28 2017/09/27 08:14:18 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.29 2017/09/28 06:55:08 msaitoh Exp $");
 
 #include 
 #include 
@@ -390,12 +390,17 @@ acpi_print_hest_header(ACPI_HEST_HEADER 
 static void
 acpi_print_hest_aer_common(ACPI_HEST_AER_COMMON *data)
 {
-	printf("\tFlags={ ");
-	if (data->Flags & ACPI_HEST_FIRMWARE_FIRST)
-		printf("FIRMWARE_FIRST");
-	if (data->Flags & ACPI_HEST_GLOBAL)
-		printf("GLOBAL");
-	printf(" }\n");
+
+#define PRINTFLAG(var, flag)	printflag((var), ACPI_HEST_## flag, #flag)
+
+	printf("\tFlags=");
+	PRINTFLAG(data->Flags, FIRMWARE_FIRST);
+	PRINTFLAG(data->Flags, GLOBAL);
+	PRINTFLAG(data->Flags, GHES_ASSIST);
+	PRINTFLAG_END();
+
+#undef PRINTFLAG
+
 	printf("\tEnabled={ %s ", data->Flags ? "YES" : "NO");
 	if (data->Flags & ACPI_HEST_FIRMWARE_FIRST)
 		printf("(ignored) ");



CVS commit: src/usr.sbin/acpitools/acpidump

2017-09-28 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Sep 28 06:55:08 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Print ACPI_HEST_GHES_ASSIST flag (ACPI 6.2).


To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2017-09-27 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Wed Sep 27 08:14:18 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Cosmetic change (tab and newline).


To generate a diff of this commit:
cvs rdiff -u -r1.27 -r1.28 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2017-09-27 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Wed Sep 27 08:14:18 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Cosmetic change (tab and newline).


To generate a diff of this commit:
cvs rdiff -u -r1.27 -r1.28 src/usr.sbin/acpitools/acpidump/acpi.c

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.27 src/usr.sbin/acpitools/acpidump/acpi.c:1.28
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.27	Wed Sep 27 05:43:55 2017
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Wed Sep 27 08:14:18 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.27 2017/09/27 05:43:55 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.28 2017/09/27 08:14:18 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.27 2017/09/27 05:43:55 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.28 2017/09/27 08:14:18 msaitoh Exp $");
 
 #include 
 #include 
@@ -1253,8 +1253,9 @@ acpi_handle_dbgp(ACPI_TABLE_HEADER *sdp)
 		break;
 	}
 	printf("}\n");
-	printf("DebugPort=");
+	printf("\tDebugPort=");
 	acpi_print_gas(>DebugPort);
+	printf("\n");
 	printf(END_COMMENT);
 }
 



CVS commit: src/usr.sbin/acpitools/acpidump

2017-09-26 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Wed Sep 27 05:43:55 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
- Print SAPIC EID of Processor Local APIC/SAPIC Affinity.
- Print GIC Interrupt Translation Service(ITS) Affinity (ACPI 6.2)
- KNF
- Whilte space cleanup.


To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 src/usr.sbin/acpitools/acpidump/acpi.c

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.26 src/usr.sbin/acpitools/acpidump/acpi.c:1.27
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.26	Thu Sep  7 04:40:56 2017
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Wed Sep 27 05:43:55 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.26 2017/09/07 04:40:56 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.27 2017/09/27 05:43:55 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.26 2017/09/07 04:40:56 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.27 2017/09/27 05:43:55 msaitoh Exp $");
 
 #include 
 #include 
@@ -95,9 +95,9 @@ static void	acpi_handle_sbst(ACPI_TABLE_
 static void	acpi_handle_slit(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_spcr(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_spmi(ACPI_TABLE_HEADER *sdp);
-static void	acpi_print_srat_cpu(uint32_t apic_id,
+static void	acpi_print_srat_cpu(uint8_t type, uint32_t apic_id,
 		uint32_t proximity_domain,
-		uint32_t flags, uint32_t clockdomain);
+		uint32_t flags, uint32_t clockdomain, uint8_t sapic_eid);
 static void	acpi_print_srat_memory(ACPI_SRAT_MEM_AFFINITY *mp);
 static void	acpi_print_srat(ACPI_SUBTABLE_HEADER *srat);
 static void	acpi_handle_srat(ACPI_TABLE_HEADER *sdp);
@@ -210,7 +210,7 @@ acpi_print_string(char *s, size_t length
 static void
 acpi_print_gas(ACPI_GENERIC_ADDRESS *gas)
 {
-	switch(gas->SpaceId) {
+	switch (gas->SpaceId) {
 	case ACPI_ADR_SPACE_SYSTEM_MEMORY:
 		if (gas->BitWidth <= 32)
 			printf("0x%08x:%u[%u] (Memory)",
@@ -1984,8 +1984,8 @@ acpi_handle_spmi(ACPI_TABLE_HEADER *sdp)
 }
 
 static void
-acpi_print_srat_cpu(uint32_t apic_id, uint32_t proximity_domain,
-uint32_t flags, uint32_t clockdomain)
+acpi_print_srat_cpu(uint8_t type, uint32_t apic_id, uint32_t proximity_domain,
+uint32_t flags, uint32_t clockdomain, uint8_t sapic_eid)
 {
 
 	printf("\tFlags={");
@@ -1994,9 +1994,14 @@ acpi_print_srat_cpu(uint32_t apic_id, ui
 	else
 		printf("DISABLED");
 	printf("}\n");
-	printf("\tAPIC ID=%d\n", apic_id);
+	printf("\t%s ID=%d\n",
+	(type == ACPI_SRAT_TYPE_GIC_ITS_AFFINITY) ? "ITS" : "APIC",
+	apic_id);
+	if (type == ACPI_SRAT_TYPE_CPU_AFFINITY)
+		printf("\tSAPIC EID=%d\n", sapic_eid);
 	printf("\tProximity Domain=%d\n", proximity_domain);
-	printf("\tClock Domain=%d\n", clockdomain);
+	if (type != ACPI_SRAT_TYPE_GIC_ITS_AFFINITY)
+		printf("\tClock Domain=%d\n", clockdomain);
 }
 
 static void
@@ -2023,6 +2028,7 @@ static const char *srat_types[] = {
 [ACPI_SRAT_TYPE_MEMORY_AFFINITY] = "Memory",
 [ACPI_SRAT_TYPE_X2APIC_CPU_AFFINITY] = "X2APIC",
 [ACPI_SRAT_TYPE_GICC_AFFINITY] = "GICC",
+[ACPI_SRAT_TYPE_GIC_ITS_AFFINITY] = "GIC ITS",
 };
 
 static void
@@ -2030,7 +2036,8 @@ acpi_print_srat(ACPI_SUBTABLE_HEADER *sr
 {
 	ACPI_SRAT_CPU_AFFINITY *cpu;
 	ACPI_SRAT_X2APIC_CPU_AFFINITY *x2apic;
-	ACPI_SRAT_GICC_AFFINITY *gic;
+	ACPI_SRAT_GICC_AFFINITY *gicc;
+	ACPI_SRAT_GIC_ITS_AFFINITY *gici;
 
 	if (srat->Type < __arraycount(srat_types))
 		printf("\tType=%s\n", srat_types[srat->Type]);
@@ -2039,25 +2046,33 @@ acpi_print_srat(ACPI_SUBTABLE_HEADER *sr
 	switch (srat->Type) {
 	case ACPI_SRAT_TYPE_CPU_AFFINITY:
 		cpu = (ACPI_SRAT_CPU_AFFINITY *)srat;
-		acpi_print_srat_cpu(cpu->ApicId,
+		acpi_print_srat_cpu(srat->Type, cpu->ApicId,
 		cpu->ProximityDomainHi[2] << 24 |
 		cpu->ProximityDomainHi[1] << 16 |
 		cpu->ProximityDomainHi[0] << 0 |
 		cpu->ProximityDomainLo,
-		cpu->Flags, cpu->ClockDomain);
+		cpu->Flags, cpu->ClockDomain, cpu->LocalSapicEid);
 		break;
 	case ACPI_SRAT_TYPE_MEMORY_AFFINITY:
 		acpi_print_srat_memory((ACPI_SRAT_MEM_AFFINITY *)srat);
 		break;
 	case ACPI_SRAT_TYPE_X2APIC_CPU_AFFINITY:
 		x2apic = (ACPI_SRAT_X2APIC_CPU_AFFINITY *)srat;
-		acpi_print_srat_cpu(x2apic->ApicId, x2apic->ProximityDomain,
-		x2apic->Flags, x2apic->ClockDomain);
+		acpi_print_srat_cpu(srat->Type, x2apic->ApicId,
+		x2apic->ProximityDomain,
+		x2apic->Flags, x2apic->ClockDomain, 0 /* dummy */);
 		break;
 	case ACPI_SRAT_TYPE_GICC_AFFINITY:
-		gic = (ACPI_SRAT_GICC_AFFINITY *)srat;
-		acpi_print_srat_cpu(gic->AcpiProcessorUid, gic->ProximityDomain,
-		gic->Flags, gic->ClockDomain);
+		gicc = (ACPI_SRAT_GICC_AFFINITY *)srat;
+		acpi_print_srat_cpu(srat->Type, gicc->AcpiProcessorUid,
+		gicc->ProximityDomain,
+		gicc->Flags, 

CVS commit: src/usr.sbin/acpitools/acpidump

2017-09-26 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Wed Sep 27 05:43:55 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
- Print SAPIC EID of Processor Local APIC/SAPIC Affinity.
- Print GIC Interrupt Translation Service(ITS) Affinity (ACPI 6.2)
- KNF
- Whilte space cleanup.


To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2017-09-06 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Sep  7 04:40:56 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c acpidump.h

Log Message:
 Don't define GAS adddess ID constants in acpidump.h and use actypes.h's
definitions. No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 src/usr.sbin/acpitools/acpidump/acpi.c
cvs rdiff -u -r1.6 -r1.7 src/usr.sbin/acpitools/acpidump/acpidump.h

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.25 src/usr.sbin/acpitools/acpidump/acpi.c:1.26
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.25	Mon Sep  4 08:12:29 2017
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Thu Sep  7 04:40:56 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.25 2017/09/04 08:12:29 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.26 2017/09/07 04:40:56 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.25 2017/09/04 08:12:29 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.26 2017/09/07 04:40:56 msaitoh Exp $");
 
 #include 
 #include 
@@ -211,7 +211,7 @@ static void
 acpi_print_gas(ACPI_GENERIC_ADDRESS *gas)
 {
 	switch(gas->SpaceId) {
-	case ACPI_GAS_MEMORY:
+	case ACPI_ADR_SPACE_SYSTEM_MEMORY:
 		if (gas->BitWidth <= 32)
 			printf("0x%08x:%u[%u] (Memory)",
 			(u_int)gas->Address, gas->BitOffset,
@@ -221,28 +221,31 @@ acpi_print_gas(ACPI_GENERIC_ADDRESS *gas
 			(uintmax_t)gas->Address, gas->BitOffset,
 			gas->BitWidth);
 		break;
-	case ACPI_GAS_IO:
+	case ACPI_ADR_SPACE_SYSTEM_IO:
 		printf("0x%02x:%u[%u] (IO)", (u_int)gas->Address,
 		gas->BitOffset, gas->BitWidth);
 		break;
-	case ACPI_GAS_PCI:
+	case ACPI_ADR_SPACE_PCI_CONFIG:
 		printf("%x:%x+0x%x (PCI)", (uint16_t)(gas->Address >> 32),
 		   (uint16_t)((gas->Address >> 16) & 0x),
 		   (uint16_t)gas->Address);
 		break;
 	/* XXX How to handle these below? */
-	case ACPI_GAS_EMBEDDED:
+	case ACPI_ADR_SPACE_EC:
 		printf("0x%x:%u[%u] (EC)", (uint16_t)gas->Address,
 		   gas->BitOffset, gas->BitWidth);
 		break;
-	case ACPI_GAS_SMBUS:
+	case ACPI_ADR_SPACE_SMBUS:
 		printf("0x%x:%u[%u] (SMBus)", (uint16_t)gas->Address,
 		   gas->BitOffset, gas->BitWidth);
 		break;
-	case ACPI_GAS_CMOS:
-	case ACPI_GAS_PCIBAR:
-	case ACPI_GAS_DATATABLE:
-	case ACPI_GAS_FIXED:
+	case ACPI_ADR_SPACE_CMOS:
+	case ACPI_ADR_SPACE_PCI_BAR_TARGET:
+	case ACPI_ADR_SPACE_IPMI:
+	case ACPI_ADR_SPACE_GPIO:
+	case ACPI_ADR_SPACE_GSBUS:
+	case ACPI_ADR_SPACE_PLATFORM_COMM:
+	case ACPI_ADR_SPACE_FIXED_HARDWARE:
 	default:
 		printf("0x%016jx (SpaceID=%hhu)", (uintmax_t)gas->Address,
 		gas->SpaceId);

Index: src/usr.sbin/acpitools/acpidump/acpidump.h
diff -u src/usr.sbin/acpitools/acpidump/acpidump.h:1.6 src/usr.sbin/acpitools/acpidump/acpidump.h:1.7
--- src/usr.sbin/acpitools/acpidump/acpidump.h:1.6	Fri Aug  4 06:30:36 2017
+++ src/usr.sbin/acpitools/acpidump/acpidump.h	Thu Sep  7 04:40:56 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: acpidump.h,v 1.6 2017/08/04 06:30:36 msaitoh Exp $ */
+/* $NetBSD: acpidump.h,v 1.7 2017/09/07 04:40:56 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1999 Doug Rabson
@@ -36,17 +36,6 @@
 #include 
 #include 
 
-/* GAS address space ID constants. */
-#define	ACPI_GAS_MEMORY		0
-#define	ACPI_GAS_IO		1
-#define	ACPI_GAS_PCI		2
-#define	ACPI_GAS_EMBEDDED	3
-#define	ACPI_GAS_SMBUS		4
-#define	ACPI_GAS_CMOS		5
-#define	ACPI_GAS_PCIBAR		6
-#define	ACPI_GAS_DATATABLE	7
-#define	ACPI_GAS_FIXED		0x7f
-
 /* Subfields in the HPET Id member. */
 #define	ACPI_HPET_ID_HARDWARE_REV_ID	0x00ff
 #define	ACPI_HPET_ID_COMPARATORS	0x1f00



CVS commit: src/usr.sbin/acpitools/acpidump

2017-09-06 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Sep  7 04:40:56 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c acpidump.h

Log Message:
 Don't define GAS adddess ID constants in acpidump.h and use actypes.h's
definitions. No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 src/usr.sbin/acpitools/acpidump/acpi.c
cvs rdiff -u -r1.6 -r1.7 src/usr.sbin/acpitools/acpidump/acpidump.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2017-09-04 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Mon Sep  4 08:12:29 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
- Space, tab and newline change for consistency output.
- Print a type number for unknown HEST sub entry ID.


To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 src/usr.sbin/acpitools/acpidump/acpi.c

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.24 src/usr.sbin/acpitools/acpidump/acpi.c:1.25
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.24	Mon Sep  4 08:08:41 2017
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Mon Sep  4 08:12:29 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.24 2017/09/04 08:08:41 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.25 2017/09/04 08:12:29 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.24 2017/09/04 08:08:41 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.25 2017/09/04 08:12:29 msaitoh Exp $");
 
 #include 
 #include 
@@ -317,7 +317,7 @@ acpi_print_hest_errorbank(ACPI_HEST_IA_E
 {
 	printf("\n");
 	printf("\tBank Number=%d\n", bank->BankNumber);
-	printf("\tClear Status On Init={ %s }\n",
+	printf("\tClear Status On Init={%s}\n",
 		bank->ClearStatusOnInit ? "NO" : "YES");
 	printf("\tStatus Data Format={ ");
 	switch (bank->StatusFormat) {
@@ -344,43 +344,43 @@ acpi_print_hest_errorbank(ACPI_HEST_IA_E
 static void
 acpi_print_hest_header(ACPI_HEST_HEADER *hest)
 {
-	printf("\tType={ ");
+	printf("\tType={");
 	switch (hest->Type) {
 	case ACPI_HEST_TYPE_IA32_CHECK:
 		printf("IA32 Machine Check Exception");
 		break;
 	case ACPI_HEST_TYPE_IA32_CORRECTED_CHECK:
-		printf("IA32 Corrected Machine Check\n");
+		printf("IA32 Corrected Machine Check");
 		break;
 	case ACPI_HEST_TYPE_IA32_NMI:
-		printf("IA32 Non-Maskable Interrupt\n");
+		printf("IA32 Non-Maskable Interrupt");
 		break;
 	case ACPI_HEST_TYPE_NOT_USED3:
 	case ACPI_HEST_TYPE_NOT_USED4:
 	case ACPI_HEST_TYPE_NOT_USED5:
-		printf("unused type: %d\n", hest->Type);
+		printf("unused type: %d", hest->Type);
 		break;
 	case ACPI_HEST_TYPE_AER_ROOT_PORT:
-		printf("PCI Express Root Port AER\n");
+		printf("PCI Express Root Port AER");
 		break;
 	case ACPI_HEST_TYPE_AER_ENDPOINT:
-		printf("PCI Express Endpoint AER\n");
+		printf("PCI Express Endpoint AER");
 		break;
 	case ACPI_HEST_TYPE_AER_BRIDGE:
-		printf("PCI Express/PCI-X Bridge AER\n");
+		printf("PCI Express/PCI-X Bridge AER");
 		break;
 	case ACPI_HEST_TYPE_GENERIC_ERROR:
-		printf("Generic Hardware Error Source\n");
+		printf("Generic Hardware Error Source");
 		break;
 	case ACPI_HEST_TYPE_GENERIC_ERROR_V2:
-		printf("Generic Hardware Error Source version 2\n");
+		printf("Generic Hardware Error Source version 2");
 		break;
 	case ACPI_HEST_TYPE_RESERVED:
 	default:
-		printf("Reserved\n");
+		printf("Reserved (%d)", hest->Type);
 		break;
 	}
-	printf(" }\n");
+	printf("}\n");
 	printf("\tSourceId=%d\n", hest->SourceId);
 }
 
@@ -417,7 +417,7 @@ static void
 acpi_print_hest_notify(ACPI_HEST_NOTIFY *notify)
 {
 	printf("\tHW Error Notification={\n");
-	printf("\t\tType={ ");
+	printf("\t\tType={");
 	switch (notify->Type) {
 	case ACPI_HEST_NOTIFY_POLLED:
 		printf("POLLED");
@@ -456,10 +456,10 @@ acpi_print_hest_notify(ACPI_HEST_NOTIFY 
 		printf("RESERVED");
 		break;
 	default:
-		printf(" %d (reserved)", notify->Type);
+		printf("%d (reserved)", notify->Type);
 		break;
 	}
-	printf(" }\n");
+	printf("}\n");
 
 	printf("\t\tLength=%d\n", notify->Length);
 
@@ -674,13 +674,14 @@ acpi_print_hest_generic(ACPI_HEST_GENERI
 	acpi_print_hest_header(>Header);
 	if (data->RelatedSourceId != 0x)
 		printf("\tReleated SourceId=%d\n", data->RelatedSourceId);
-	printf("\tEnabled={ %s }\n", data->Enabled ? "YES" : "NO");
+	printf("\tEnabled={%s}\n", data->Enabled ? "YES" : "NO");
 	printf("\tNumber of Records to pre-allocate=%u\n",
 		data->RecordsToPreallocate);
 	printf("\tMax Sections per Record=%u\n", data->MaxSectionsPerRecord);
 	printf("\tMax Raw Data Length=%u\n", data->MaxRawDataLength);
 	printf("\tError Status Address=");
 	acpi_print_gas(>ErrorStatusAddress);
+	printf("\n");
 	acpi_print_hest_notify(>Notify);
 	printf("\tError Block Length=%u\n", data->ErrorBlockLength);
 }
@@ -1005,7 +1006,7 @@ acpi_print_gicm_flags(ACPI_MADT_GENERIC_
 {
 	uint32_t flags = gicm->Flags;
 
-	printf("\tFLAGS={ ");
+	printf("\tFLAGS={");
 	if (flags & ACPI_MADT_OVERRIDE_SPI_VALUES)
 		printf("SPI Count/Base Select");
 	printf("}\n");
@@ -1446,7 +1447,7 @@ acpi_print_einj_flags(ACPI_WHEA_HEADER *
 {
 	uint32_t flags = whea->Flags;
 
-	printf("\tFLAGS={ ");
+	printf("\tFLAGS={");
 	if (flags & ACPI_EINJ_PRESERVE)
 		printf("PRESERVED");
 	printf("}\n");
@@ -1622,7 +1623,7 @@ acpi_print_erst_flags(ACPI_WHEA_HEADER *
 {
 	uint32_t flags = whea->Flags;
 
-	

CVS commit: src/usr.sbin/acpitools/acpidump

2017-09-04 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Mon Sep  4 08:12:29 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
- Space, tab and newline change for consistency output.
- Print a type number for unknown HEST sub entry ID.


To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2017-09-04 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Mon Sep  4 08:08:41 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
- Calculate offset of a sub header correctly in acpi_handle_hest() to print
  all of sub entries in HEST correctly.
- Print a SpaceID number for unknown ID in acpi_print_gas().
- Use PRINTFLAG() in acpi_print_hest_notify().
- Use %u instead of %d for unsgined values in acpi_print_hest_generic().


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/usr.sbin/acpitools/acpidump/acpi.c

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.23 src/usr.sbin/acpitools/acpidump/acpi.c:1.24
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.23	Mon Sep  4 07:59:15 2017
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Mon Sep  4 08:08:41 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.23 2017/09/04 07:59:15 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.24 2017/09/04 08:08:41 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.23 2017/09/04 07:59:15 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.24 2017/09/04 08:08:41 msaitoh Exp $");
 
 #include 
 #include 
@@ -244,7 +244,8 @@ acpi_print_gas(ACPI_GENERIC_ADDRESS *gas
 	case ACPI_GAS_DATATABLE:
 	case ACPI_GAS_FIXED:
 	default:
-		printf("0x%016jx (?)", (uintmax_t)gas->Address);
+		printf("0x%016jx (SpaceID=%hhu)", (uintmax_t)gas->Address,
+		gas->SpaceId);
 		break;
 	}
 }
@@ -461,20 +462,19 @@ acpi_print_hest_notify(ACPI_HEST_NOTIFY 
 	printf(" }\n");
 
 	printf("\t\tLength=%d\n", notify->Length);
-	printf("\t\tConfig Write Enable={\n");
-	if (notify->ConfigWriteEnable & ACPI_HEST_TYPE)
-		printf("TYPE");
-	if (notify->ConfigWriteEnable & ACPI_HEST_POLL_INTERVAL)
-		printf("POLL INTERVAL");
-	if (notify->ConfigWriteEnable & ACPI_HEST_POLL_THRESHOLD_VALUE)
-		printf("THRESHOLD VALUE");
-	if (notify->ConfigWriteEnable & ACPI_HEST_POLL_THRESHOLD_WINDOW)
-		printf("THRESHOLD WINDOW");
-	if (notify->ConfigWriteEnable & ACPI_HEST_ERR_THRESHOLD_VALUE)
-		printf("THRESHOLD VALUE");
-	if (notify->ConfigWriteEnable & ACPI_HEST_ERR_THRESHOLD_WINDOW)
-		printf("THRESHOLD WINDOW");
-	printf("}\n");
+
+#define PRINTFLAG(var, flag)	printflag((var), ACPI_HEST_## flag, #flag)
+
+	printf("\t\tConfig Write Enable=");
+	PRINTFLAG(notify->ConfigWriteEnable, TYPE);
+	PRINTFLAG(notify->ConfigWriteEnable, POLL_INTERVAL);
+	PRINTFLAG(notify->ConfigWriteEnable, POLL_THRESHOLD_VALUE);
+	PRINTFLAG(notify->ConfigWriteEnable, POLL_THRESHOLD_WINDOW);
+	PRINTFLAG(notify->ConfigWriteEnable, ERR_THRESHOLD_VALUE);
+	PRINTFLAG(notify->ConfigWriteEnable, ERR_THRESHOLD_WINDOW);
+	PRINTFLAG_END();
+
+#undef PRINTFLAG
 
 	printf("\t\tPoll Interval=%d msec\n", notify->PollInterval);
 	printf("\t\tInterrupt Vector=%d\n", notify->Vector);
@@ -675,15 +675,14 @@ acpi_print_hest_generic(ACPI_HEST_GENERI
 	if (data->RelatedSourceId != 0x)
 		printf("\tReleated SourceId=%d\n", data->RelatedSourceId);
 	printf("\tEnabled={ %s }\n", data->Enabled ? "YES" : "NO");
-	printf("\tNumber of Records to pre-allocate=%d\n",
+	printf("\tNumber of Records to pre-allocate=%u\n",
 		data->RecordsToPreallocate);
-	printf("\tMax Sections per Record=%d\n",
-		data->MaxSectionsPerRecord);
-	printf("\tMax Raw Data Length=%d\n", data->MaxRawDataLength);
+	printf("\tMax Sections per Record=%u\n", data->MaxSectionsPerRecord);
+	printf("\tMax Raw Data Length=%u\n", data->MaxRawDataLength);
 	printf("\tError Status Address=");
 	acpi_print_gas(>ErrorStatusAddress);
 	acpi_print_hest_notify(>Notify);
-	printf("\tError Block Length=%d\n", data->ErrorBlockLength);
+	printf("\tError Block Length=%u\n", data->ErrorBlockLength);
 }
 
 static void
@@ -707,7 +706,6 @@ acpi_handle_hest(ACPI_TABLE_HEADER *sdp)
 	ACPI_TABLE_HEST *hest;
 	ACPI_HEST_HEADER *subhest;
 	uint32_t i, pos;
-	void *subtable;
 
 	printf(BEGIN_COMMENT);
 	acpi_print_sdt(sdp);
@@ -717,23 +715,24 @@ acpi_handle_hest(ACPI_TABLE_HEADER *sdp)
 	pos = sizeof(ACPI_TABLE_HEST);
 	for (i = 0; i < hest->ErrorSourceCount; i++) {
 		subhest = (ACPI_HEST_HEADER *)((char *)hest + pos);
-		subtable = (void *)((char *)subhest + sizeof(ACPI_HEST_HEADER));
 		printf("\n");
 
-		printf("\tType={ ");
 		switch (subhest->Type) {
 		case ACPI_HEST_TYPE_IA32_CHECK:
-			acpi_print_hest_ia32_check(subtable);
+			acpi_print_hest_ia32_check(
+(ACPI_HEST_IA_MACHINE_CHECK *)subhest);
 			pos += sizeof(ACPI_HEST_IA_MACHINE_CHECK);
 			break;
 
 		case ACPI_HEST_TYPE_IA32_CORRECTED_CHECK:
-			acpi_print_hest_ia32_correctedcheck(subtable);
+			acpi_print_hest_ia32_correctedcheck(
+(ACPI_HEST_IA_CORRECTED *)subhest);
 			pos += sizeof(ACPI_HEST_IA_CORRECTED);
 			break;
 
 		case ACPI_HEST_TYPE_IA32_NMI:
-			acpi_print_hest_ia32_nmi(subtable);
+			acpi_print_hest_ia32_nmi(
+

CVS commit: src/usr.sbin/acpitools/acpidump

2017-09-04 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Mon Sep  4 08:08:41 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
- Calculate offset of a sub header correctly in acpi_handle_hest() to print
  all of sub entries in HEST correctly.
- Print a SpaceID number for unknown ID in acpi_print_gas().
- Use PRINTFLAG() in acpi_print_hest_notify().
- Use %u instead of %d for unsgined values in acpi_print_hest_generic().


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2017-09-04 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Mon Sep  4 07:59:15 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Fix calculation the offset of the Action Table in WDAT to print each
entries correctly.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2017-09-04 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Mon Sep  4 07:59:15 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Fix calculation the offset of the Action Table in WDAT to print each
entries correctly.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/usr.sbin/acpitools/acpidump/acpi.c

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.22 src/usr.sbin/acpitools/acpidump/acpi.c:1.23
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.22	Fri Sep  1 18:35:50 2017
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Mon Sep  4 07:59:15 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.22 2017/09/01 18:35:50 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.23 2017/09/04 07:59:15 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.22 2017/09/01 18:35:50 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.23 2017/09/04 07:59:15 msaitoh Exp $");
 
 #include 
 #include 
@@ -2785,7 +2785,7 @@ acpi_handle_wdat(ACPI_TABLE_HEADER *sdp)
 {
 	ACPI_TABLE_WDAT *wdat;
 	ACPI_WHEA_HEADER *whea;
-	char *wdat_pos;
+	ACPI_WDAT_ENTRY *wdat_pos;
 	u_int i;
 
 	printf(BEGIN_COMMENT);
@@ -2807,15 +2807,14 @@ acpi_handle_wdat(ACPI_TABLE_HEADER *sdp)
 		printf(", STOPPED");
 	printf("}\n");
 
-	wdat_pos = ((char *)wdat + sizeof(ACPI_TABLE_HEADER)
-	+ wdat->HeaderLength);
+	wdat_pos = (ACPI_WDAT_ENTRY *)((char *)wdat + sizeof(ACPI_TABLE_WDAT));
 
 	for (i = 0; i < wdat->Entries; i++) {
 		whea = (ACPI_WHEA_HEADER *)wdat_pos;
 		acpi_print_whea(whea,
 		acpi_print_wdat_action, acpi_print_wdat_instruction,
 		NULL);
-		wdat_pos += sizeof(ACPI_WDAT_ENTRY);
+		wdat_pos++;
 	}
 	printf(END_COMMENT);
 }



CVS commit: src/usr.sbin/acpitools/acpidump

2017-09-01 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Fri Sep  1 18:35:50 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c acpidump.8

Log Message:
 Decode the following entries:
 - DBG2 (Debug Port Table 2)
 - SPMI (Server Platform Management Interface Table)
 - WDDT (Watchdog Timer Description Table)
 - UEFI (UEFI, not fully decoded yet)


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/usr.sbin/acpitools/acpidump/acpi.c
cvs rdiff -u -r1.9 -r1.10 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.21 src/usr.sbin/acpitools/acpidump/acpi.c:1.22
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.21	Fri Sep  1 05:53:09 2017
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Fri Sep  1 18:35:50 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.21 2017/09/01 05:53:09 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.22 2017/09/01 18:35:50 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.21 2017/09/01 05:53:09 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.22 2017/09/01 18:35:50 msaitoh Exp $");
 
 #include 
 #include 
@@ -57,7 +57,7 @@ static void	acpi_print_string(char *s, s
 static void	acpi_print_gas(ACPI_GENERIC_ADDRESS *gas);
 static void	acpi_print_pci(uint16_t vendorid, uint16_t deviceid,
 		uint8_t seg, uint8_t bus, uint8_t device, uint8_t func);
-static void	acpi_print_pci_sbfd(uint8_t seg, uint8_t bus, uint8_t device,
+static void	acpi_print_pci_sbdf(uint8_t seg, uint8_t bus, uint8_t device,
 		uint8_t func);
 #ifdef notyet
 static void	acpi_print_hest_generic_status(ACPI_HEST_GENERIC_STATUS *);
@@ -82,6 +82,7 @@ static void	acpi_handle_bert(ACPI_TABLE_
 static void	acpi_handle_boot(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_cpep(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_dbgp(ACPI_TABLE_HEADER *sdp);
+static void	acpi_handle_dbg2(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_einj(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_erst(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_hest(ACPI_TABLE_HEADER *sdp);
@@ -93,6 +94,7 @@ static void	acpi_handle_mcfg(ACPI_TABLE_
 static void	acpi_handle_sbst(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_slit(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_spcr(ACPI_TABLE_HEADER *sdp);
+static void	acpi_handle_spmi(ACPI_TABLE_HEADER *sdp);
 static void	acpi_print_srat_cpu(uint32_t apic_id,
 		uint32_t proximity_domain,
 		uint32_t flags, uint32_t clockdomain);
@@ -102,8 +104,10 @@ static void	acpi_handle_srat(ACPI_TABLE_
 static void	acpi_handle_tcpa(ACPI_TABLE_HEADER *sdp);
 static void	acpi_print_nfit(ACPI_NFIT_HEADER *nfit);
 static void	acpi_handle_nfit(ACPI_TABLE_HEADER *sdp);
+static void	acpi_handle_uefi(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_waet(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_wdat(ACPI_TABLE_HEADER *sdp);
+static void	acpi_handle_wddt(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_wdrt(ACPI_TABLE_HEADER *sdp);
 static void	acpi_print_sdt(ACPI_TABLE_HEADER *sdp);
 static void	acpi_dump_bytes(ACPI_TABLE_HEADER *sdp);
@@ -266,7 +270,7 @@ acpi_print_pci(uint16_t vendorid, uint16
 }
 
 static void
-acpi_print_pci_sbfd(uint8_t seg, uint8_t bus, uint8_t device, uint8_t func)
+acpi_print_pci_sbdf(uint8_t seg, uint8_t bus, uint8_t device, uint8_t func)
 {
 	if (bus == 0xff && device == 0xff && func == 0xff) {
 		printf("\tPCI Device=NONE\n");
@@ -396,7 +400,7 @@ acpi_print_hest_aer_common(ACPI_HEST_AER
 		data->RecordsToPreallocate);
 	printf("\tMax. Sections per Record=%d\n", data->MaxSectionsPerRecord);
 	if (!(data->Flags & ACPI_HEST_GLOBAL))
-		acpi_print_pci_sbfd(0, data->Bus, data->Device, data->Function);
+		acpi_print_pci_sbdf(0, data->Bus, data->Device, data->Function);
 	printf("\tDevice Control=0x%x\n", data->DeviceControl);
 	printf("\tUncorrectable Error Mask Register=0x%x\n",
 		data->UncorrectableMask);
@@ -1251,6 +1255,113 @@ acpi_handle_dbgp(ACPI_TABLE_HEADER *sdp)
 }
 
 static void
+acpi_print_dbg2_device(ACPI_DBG2_DEVICE *dev)
+{
+
+	printf("\t\tRevision=%u\n", dev->Revision);
+	printf("\t\tLength=%u\n", dev->Length);
+	printf("\t\tRegisterCount=%u\n", dev->RegisterCount);
+
+	printf("\t\tNamepath=");
+	acpi_print_string((char *)((vaddr_t)dev + dev->NamepathOffset),
+	dev->NamepathLength);
+	printf("\n");
+
+	if (dev->OemDataLength) {
+		printf("\t\tOemDataLength=%u\n", dev->OemDataLength);
+		printf("\t\tOemDataOffset=%u\n", dev->OemDataOffset);
+		/* XXX need dump */
+	}
+
+	printf("\t\tPortType=");
+	switch (dev->PortType) {
+	case ACPI_DBG2_SERIAL_PORT:
+		printf("Serial\n" "\t\tPortSubtype=");
+		switch (dev->PortSubtype) {
+		case ACPI_DBG2_16550_COMPATIBLE:
+			printf("Fully 16550 compatible\n");
+			break;
+		case ACPI_DBG2_16550_SUBSET:
+			

CVS commit: src/usr.sbin/acpitools/acpidump

2017-09-01 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Fri Sep  1 18:35:50 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c acpidump.8

Log Message:
 Decode the following entries:
 - DBG2 (Debug Port Table 2)
 - SPMI (Server Platform Management Interface Table)
 - WDDT (Watchdog Timer Description Table)
 - UEFI (UEFI, not fully decoded yet)


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/usr.sbin/acpitools/acpidump/acpi.c
cvs rdiff -u -r1.9 -r1.10 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.



CVS commit: src/usr.sbin/acpitools/acpidump

2017-08-31 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Fri Sep  1 05:53:09 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
- Add "Performance Server" and "Tablet" for Preferred_PM_Profile.
- Don't print FADT_RESET_REG if FADT version is 1.
- Print FADT ArmBootFlags, MinorRevision, SleepControl, SleepStatus and
  HypervisorId.
- Print "{}" even if any flags aren't set.


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2017-08-31 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Fri Sep  1 05:53:09 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
- Add "Performance Server" and "Tablet" for Preferred_PM_Profile.
- Don't print FADT_RESET_REG if FADT version is 1.
- Print FADT ArmBootFlags, MinorRevision, SleepControl, SleepStatus and
  HypervisorId.
- Print "{}" even if any flags aren't set.


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/usr.sbin/acpitools/acpidump/acpi.c

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.20 src/usr.sbin/acpitools/acpidump/acpi.c:1.21
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.20	Thu Aug 31 09:27:51 2017
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Fri Sep  1 05:53:09 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.20 2017/08/31 09:27:51 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.21 2017/09/01 05:53:09 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.20 2017/08/31 09:27:51 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.21 2017/09/01 05:53:09 msaitoh Exp $");
 
 #include 
 #include 
@@ -67,7 +67,6 @@ static void	acpi_print_whea(ACPI_WHEA_HE
 		void (*print_action)(ACPI_WHEA_HEADER *),
 		void (*print_ins)(ACPI_WHEA_HEADER *),
 		void (*print_flags)(ACPI_WHEA_HEADER *));
-static int	acpi_get_fadt_revision(ACPI_TABLE_FADT *fadt);
 static uint64_t	acpi_select_address(uint32_t, uint64_t);
 static void	acpi_handle_fadt(ACPI_TABLE_HEADER *fadt);
 static void	acpi_print_cpu(u_char cpu_id);
@@ -170,10 +169,12 @@ static void
 printflag_end(void)
 {
 
-	if (pf_sep != '{') {
+	if (pf_sep == ',') {
 		printf("}");
-		pf_sep = '{';
+	} else if (pf_sep == '{') {
+		printf("{}");
 	}
+	pf_sep = '{';
 	printf("\n");
 }
 
@@ -773,31 +774,6 @@ acpi_handle_hest(ACPI_TABLE_HEADER *sdp)
 	printf(END_COMMENT);
 }
 
-/* The FADT revision indicates whether we use the DSDT or X_DSDT addresses. */
-static int
-acpi_get_fadt_revision(ACPI_TABLE_FADT *fadt)
-{
-	int fadt_revision;
-
-	/* Set the FADT revision separately from the RSDP version. */
-	if (addr_size == 8) {
-		fadt_revision = 2;
-
-		/*
-		 * A few systems (e.g., IBM T23) have an RSDP that claims
-		 * revision 2 but the 64 bit addresses are invalid.  If
-		 * revision 2 and the 32 bit address is non-zero but the
-		 * 32 and 64 bit versions don't match, prefer the 32 bit
-		 * version for all subsequent tables.
-		 */
-		if (fadt->Facs != 0 &&
-		(fadt->XFacs & 0x) != fadt->Facs)
-			fadt_revision = 1;
-	} else
-		fadt_revision = 1;
-	return (fadt_revision);
-}
-
 static uint64_t
 acpi_select_address(uint32_t addr32, uint64_t addr64)
 {
@@ -2774,7 +2750,8 @@ acpi_print_rsdt(ACPI_TABLE_HEADER *rsdp)
 
 static const char *acpi_pm_profiles[] = {
 	"Unspecified", "Desktop", "Mobile", "Workstation",
-	"Enterprise Server", "SOHO Server", "Appliance PC"
+	"Enterprise Server", "SOHO Server", "Appliance PC",
+	"Performance Server", "Tablet"
 };
 
 static void
@@ -2788,6 +2765,7 @@ acpi_print_fadt(ACPI_TABLE_HEADER *sdp)
 	acpi_print_sdt(sdp);
 	printf(" \tFACS=0x%x, DSDT=0x%x\n", fadt->Facs,
 	   fadt->Dsdt);
+	/* XXX ACPI 2.0 eliminated this */
 	printf("\tINT_MODEL=%s\n", fadt->Model ? "APIC" : "PIC");
 	if (fadt->PreferredProfile >= sizeof(acpi_pm_profiles) / sizeof(char *))
 		pm = "Reserved";
@@ -2877,45 +2855,77 @@ acpi_print_fadt(ACPI_TABLE_HEADER *sdp)
 	PRINTFLAG(fadt->Flags, LOW_POWER_S0);
 	PRINTFLAG_END();
 
-#undef PRINTFLAG
+	if (sdp->Length < ACPI_FADT_V2_SIZE)
+		goto out;
 
 	if (fadt->Flags & ACPI_FADT_RESET_REGISTER) {
 		printf("\tRESET_REG=");
 		acpi_print_gas(>ResetRegister);
 		printf(", RESET_VALUE=%#x\n", fadt->ResetValue);
 	}
-	if (acpi_get_fadt_revision(fadt) > 1) {
-		printf("\tX_FACS=0x%016jx, ", (uintmax_t)fadt->XFacs);
-		printf("X_DSDT=0x%016jx\n", (uintmax_t)fadt->XDsdt);
-		printf("\tX_PM1a_EVT_BLK=");
-		acpi_print_gas(>XPm1aEventBlock);
-		if (fadt->XPm1bEventBlock.Address != 0) {
-			printf("\n\tX_PM1b_EVT_BLK=");
-			acpi_print_gas(>XPm1bEventBlock);
-		}
-		printf("\n\tX_PM1a_CNT_BLK=");
-		acpi_print_gas(>XPm1aControlBlock);
-		if (fadt->XPm1bControlBlock.Address != 0) {
-			printf("\n\tX_PM1b_CNT_BLK=");
-			acpi_print_gas(>XPm1bControlBlock);
-		}
-		if (fadt->XPm2ControlBlock.Address != 0) {
-			printf("\n\tX_PM2_CNT_BLK=");
-			acpi_print_gas(>XPm2ControlBlock);
-		}
-		printf("\n\tX_PM_TMR_BLK=");
-		acpi_print_gas(>XPmTimerBlock);
-		if (fadt->XGpe0Block.Address != 0) {
-			printf("\n\tX_GPE0_BLK=");
-			acpi_print_gas(>XGpe0Block);
-		}
-		if (fadt->XGpe1Block.Address != 0) {
-			printf("\n\tX_GPE1_BLK=");
-			acpi_print_gas(>XGpe1Block);
-		}
+
+	printf("\tArmBootFlags=");
+	PRINTFLAG(fadt->ArmBootFlags, PSCI_COMPLIANT);
+	PRINTFLAG(fadt->ArmBootFlags, PSCI_USE_HVC);
+	PRINTFLAG_END();
+

CVS commit: src/usr.sbin/acpitools/acpidump

2017-08-31 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Aug 31 09:27:51 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
Part of FreeBSD r323045:
 - Print Valid Field in ACPI_NFIT_CONTROL_REGION with 0x%02x.
 - Fix Flags of ACPI_NFIT_CONTROL_REGION.


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/usr.sbin/acpitools/acpidump/acpi.c

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.19 src/usr.sbin/acpitools/acpidump/acpi.c:1.20
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.19	Thu Aug 31 06:53:58 2017
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Thu Aug 31 09:27:51 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.19 2017/08/31 06:53:58 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.20 2017/08/31 09:27:51 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.19 2017/08/31 06:53:58 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.20 2017/08/31 09:27:51 msaitoh Exp $");
 
 #include 
 #include 
@@ -2043,7 +2043,7 @@ acpi_print_nfit(ACPI_NFIT_HEADER *nfit)
 		(u_int)ctlreg->SubsystemDeviceId);
 		printf("\tSubsystemRevisionId=%u\n",
 		(u_int)ctlreg->SubsystemRevisionId);
-		printf("\tValidFields=%u\n", (u_int)ctlreg->ValidFields);
+		printf("\tValidFields=%02x\n", (u_int)ctlreg->ValidFields);
 		printf("\tManufacturingLocation=%u\n",
 		(u_int)ctlreg->ManufacturingLocation);
 		printf("\tManufacturingDate=%u\n",
@@ -2066,8 +2066,7 @@ acpi_print_nfit(ACPI_NFIT_HEADER *nfit)
 #define PRINTFLAG(var, flag)	printflag((var), ACPI_NFIT_## flag, #flag)
 
 		printf("\tFlags=");
-		PRINTFLAG(ctlreg->Flags, ADD_ONLINE_ONLY);
-		PRINTFLAG(ctlreg->Flags, PROXIMITY_VALID);
+		PRINTFLAG(ctlreg->Flags, CONTROL_BUFFERED);
 		PRINTFLAG_END();
 
 #undef PRINTFLAG



CVS commit: src/usr.sbin/acpitools/acpidump

2017-08-31 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Aug 31 09:27:51 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
Part of FreeBSD r323045:
 - Print Valid Field in ACPI_NFIT_CONTROL_REGION with 0x%02x.
 - Fix Flags of ACPI_NFIT_CONTROL_REGION.


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2017-08-31 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Aug 31 06:53:58 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c acpidump.8

Log Message:
- Decode ACPI_HEST_GENERIC_V2.
- Decode ACPI_MADT_GENERIC_MSI_FRAME.
- Add NMI, CMCI, MCE, GPIO-Signal, ARMv8 SEA, ARMv8 SEI and GSIV
  in acpi_print_hest_notify().
- Add ACPI_EINJ_SET_ERROR_TYPE_WITH_ADDRESS and ACPI_EINJ_GET_EXECUTE_TIMINGS
  in acpi_print_einj_action().
- Add ACPI_ERST_EXECUTE_TIMINGS in acpi_print_erst_action().
- Decode NFIT (NVDIMM Firmware Interface Table) from FreeBSD.


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/usr.sbin/acpitools/acpidump/acpi.c
cvs rdiff -u -r1.8 -r1.9 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.18 src/usr.sbin/acpitools/acpidump/acpi.c:1.19
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.18	Mon Aug 21 02:58:49 2017
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Thu Aug 31 06:53:58 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.18 2017/08/21 02:58:49 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.19 2017/08/31 06:53:58 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.18 2017/08/21 02:58:49 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.19 2017/08/31 06:53:58 msaitoh Exp $");
 
 #include 
 #include 
@@ -46,6 +46,7 @@ __RCSID("$NetBSD: acpi.c,v 1.18 2017/08/
 #include 
 #include 
 #include 
+#include 
 
 #include "acpidump.h"
 
@@ -100,6 +101,8 @@ static void	acpi_print_srat_memory(ACPI_
 static void	acpi_print_srat(ACPI_SUBTABLE_HEADER *srat);
 static void	acpi_handle_srat(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_tcpa(ACPI_TABLE_HEADER *sdp);
+static void	acpi_print_nfit(ACPI_NFIT_HEADER *nfit);
+static void	acpi_handle_nfit(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_waet(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_wdat(ACPI_TABLE_HEADER *sdp);
 static void	acpi_handle_wdrt(ACPI_TABLE_HEADER *sdp);
@@ -113,6 +116,8 @@ static void	acpi_print_rsd_ptr(ACPI_TABL
 static void	acpi_handle_rsdt(ACPI_TABLE_HEADER *rsdp);
 static void	acpi_walk_subtables(ACPI_TABLE_HEADER *table, void *first,
 		void (*action)(ACPI_SUBTABLE_HEADER *));
+static void	acpi_walk_nfit(ACPI_TABLE_HEADER *table, void *first,
+		void (*action)(ACPI_NFIT_HEADER *));
 
 /* Size of an address. 32-bit for ACPI 1.0, 64-bit for ACPI 2.0 and up. */
 static int addr_size;
@@ -361,6 +366,9 @@ acpi_print_hest_header(ACPI_HEST_HEADER 
 	case ACPI_HEST_TYPE_GENERIC_ERROR:
 		printf("Generic Hardware Error Source\n");
 		break;
+	case ACPI_HEST_TYPE_GENERIC_ERROR_V2:
+		printf("Generic Hardware Error Source version 2\n");
+		break;
 	case ACPI_HEST_TYPE_RESERVED:
 	default:
 		printf("Reserved\n");
@@ -420,6 +428,24 @@ acpi_print_hest_notify(ACPI_HEST_NOTIFY 
 	case ACPI_HEST_NOTIFY_NMI:
 		printf("NMI");
 		break;
+	case ACPI_HEST_NOTIFY_CMCI:
+		printf("CMCI");
+		break;
+	case ACPI_HEST_NOTIFY_MCE:
+		printf("MCE");
+		break;
+	case ACPI_HEST_NOTIFY_GPIO:
+		printf("GPIO-Signal");
+		break;
+	case ACPI_HEST_NOTIFY_SEA:
+		printf("ARMv8 SEA");
+		break;
+	case ACPI_HEST_NOTIFY_SEI:
+		printf("ARMv8 SEI");
+		break;
+	case ACPI_HEST_NOTIFY_GSIV:
+		printf("External Interrupt - GSIV");
+		break;
 	case ACPI_HEST_NOTIFY_RESERVED:
 		printf("RESERVED");
 		break;
@@ -656,6 +682,21 @@ acpi_print_hest_generic(ACPI_HEST_GENERI
 }
 
 static void
+acpi_print_hest_generic_v2(ACPI_HEST_GENERIC_V2 *data)
+{
+
+	/* The first 64 bytes are the same as ACPI_HEST_GENERIC */
+	acpi_print_hest_generic((ACPI_HEST_GENERIC *)data);
+
+	printf("\tError Status Address");
+	acpi_print_gas(>ReadAckRegister);
+	printf("\tRead Ack Preserve=0x%016jx\n",
+	(uintmax_t)data->ReadAckPreserve);
+	printf("\tRead Ack Write=0x%016jx\n",
+	(uintmax_t)data->ReadAckWrite);
+}
+
+static void
 acpi_handle_hest(ACPI_TABLE_HEADER *sdp)
 {
 	ACPI_TABLE_HEST *hest;
@@ -717,6 +758,11 @@ acpi_handle_hest(ACPI_TABLE_HEADER *sdp)
 			pos += sizeof(ACPI_HEST_GENERIC);
 			break;
 
+		case ACPI_HEST_TYPE_GENERIC_ERROR_V2:
+			acpi_print_hest_generic_v2(subtable);
+			pos += sizeof(ACPI_HEST_GENERIC_V2);
+			break;
+
 		case ACPI_HEST_TYPE_RESERVED:
 		default:
 			pos += sizeof(ACPI_HEST_HEADER);
@@ -820,6 +866,27 @@ acpi_walk_subtables(ACPI_TABLE_HEADER *t
 }
 
 static void
+acpi_walk_nfit(ACPI_TABLE_HEADER *table, void *first,
+void (*action)(ACPI_NFIT_HEADER *))
+{
+	ACPI_NFIT_HEADER *subtable;
+	char *end;
+
+	subtable = first;
+	end = (char *)table + table->Length;
+	while ((char *)subtable < end) {
+		printf("\n");
+		if (subtable->Length < sizeof(ACPI_NFIT_HEADER)) {
+			warnx("invalid subtable length %u", subtable->Length);
+			return;
+		}
+		action(subtable);
+		subtable = (ACPI_NFIT_HEADER *)((char *)subtable +
+		

CVS commit: src/usr.sbin/acpitools/acpidump

2017-08-31 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Aug 31 06:53:58 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c acpidump.8

Log Message:
- Decode ACPI_HEST_GENERIC_V2.
- Decode ACPI_MADT_GENERIC_MSI_FRAME.
- Add NMI, CMCI, MCE, GPIO-Signal, ARMv8 SEA, ARMv8 SEI and GSIV
  in acpi_print_hest_notify().
- Add ACPI_EINJ_SET_ERROR_TYPE_WITH_ADDRESS and ACPI_EINJ_GET_EXECUTE_TIMINGS
  in acpi_print_einj_action().
- Add ACPI_ERST_EXECUTE_TIMINGS in acpi_print_erst_action().
- Decode NFIT (NVDIMM Firmware Interface Table) from FreeBSD.


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/usr.sbin/acpitools/acpidump/acpi.c
cvs rdiff -u -r1.8 -r1.9 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.



CVS commit: src/usr.sbin/acpitools/acpidump

2017-08-20 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Mon Aug 21 02:58:49 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Add new function acpi_select_address() derived from acpi_get_fadt_revision().
On some systems, 32bit address is used for (X)Dsdt even if (X)Facs uses 64bit.
Don't assume an address size from FADT revision.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2017-08-20 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Mon Aug 21 02:58:49 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Add new function acpi_select_address() derived from acpi_get_fadt_revision().
On some systems, 32bit address is used for (X)Dsdt even if (X)Facs uses 64bit.
Don't assume an address size from FADT revision.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/usr.sbin/acpitools/acpidump/acpi.c

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.17 src/usr.sbin/acpitools/acpidump/acpi.c:1.18
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.17	Fri Aug 18 09:49:24 2017
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Mon Aug 21 02:58:49 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.17 2017/08/18 09:49:24 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.18 2017/08/21 02:58:49 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.17 2017/08/18 09:49:24 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.18 2017/08/21 02:58:49 msaitoh Exp $");
 
 #include 
 #include 
@@ -67,6 +67,7 @@ static void	acpi_print_whea(ACPI_WHEA_HE
 		void (*print_ins)(ACPI_WHEA_HEADER *),
 		void (*print_flags)(ACPI_WHEA_HEADER *));
 static int	acpi_get_fadt_revision(ACPI_TABLE_FADT *fadt);
+static uint64_t	acpi_select_address(uint32_t, uint64_t);
 static void	acpi_handle_fadt(ACPI_TABLE_HEADER *fadt);
 static void	acpi_print_cpu(u_char cpu_id);
 static void	acpi_print_cpu_uid(uint32_t uid, char *uid_string);
@@ -751,30 +752,45 @@ acpi_get_fadt_revision(ACPI_TABLE_FADT *
 	return (fadt_revision);
 }
 
+static uint64_t
+acpi_select_address(uint32_t addr32, uint64_t addr64)
+{
+
+	if (addr64 == 0)
+		return addr32;
+
+	if ((addr32 != 0) && ((addr64 & 0xfff) != addr32)) {
+		/*
+		 * A few systems (e.g., IBM T23) have an RSDP that claims
+		 * revision 2 but the 64 bit addresses are invalid.  If
+		 * revision 2 and the 32 bit address is non-zero but the
+		 * 32 and 64 bit versions don't match, prefer the 32 bit
+		 * version for all subsequent tables.
+		 */
+		return addr32;
+	}
+
+	return addr64;
+}
+
 static void
 acpi_handle_fadt(ACPI_TABLE_HEADER *sdp)
 {
 	ACPI_TABLE_HEADER *dsdp;
 	ACPI_TABLE_FACS	*facs;
 	ACPI_TABLE_FADT *fadt;
-	int		fadt_revision;
 
 	fadt = (ACPI_TABLE_FADT *)sdp;
 	acpi_print_fadt(sdp);
 
-	fadt_revision = acpi_get_fadt_revision(fadt);
-	if (fadt_revision == 1)
-		facs = (ACPI_TABLE_FACS *)acpi_map_sdt(fadt->Facs);
-	else
-		facs = (ACPI_TABLE_FACS *)acpi_map_sdt(fadt->XFacs);
+	facs = (ACPI_TABLE_FACS *)acpi_map_sdt(
+		acpi_select_address(fadt->Facs, fadt->XFacs));
 	if (memcmp(facs->Signature, ACPI_SIG_FACS, 4) != 0 || facs->Length < 64)
 		errx(EXIT_FAILURE, "FACS is corrupt");
 	acpi_print_facs(facs);
 
-	if (fadt_revision == 1)
-		dsdp = (ACPI_TABLE_HEADER *)acpi_map_sdt(fadt->Dsdt);
-	else
-		dsdp = (ACPI_TABLE_HEADER *)acpi_map_sdt(fadt->XDsdt);
+	dsdp = (ACPI_TABLE_HEADER *)acpi_map_sdt(
+		acpi_select_address(fadt->Dsdt, fadt->XDsdt));
 	if (memcmp(dsdp->Signature, ACPI_SIG_DSDT, 4) != 0)
 		errx(EXIT_FAILURE, "DSDT signature mismatch");
 	if (acpi_checksum(dsdp, dsdp->Length))
@@ -3020,10 +3036,8 @@ dsdt_from_fadt(ACPI_TABLE_FADT *fadt)
 	ACPI_TABLE_HEADER	*sdt;
 
 	/* Use the DSDT address if it is version 1, otherwise use XDSDT. */
-	if (acpi_get_fadt_revision(fadt) == 1)
-		sdt = (ACPI_TABLE_HEADER *)acpi_map_sdt(fadt->Dsdt);
-	else
-		sdt = (ACPI_TABLE_HEADER *)acpi_map_sdt(fadt->XDsdt);
+	sdt = (ACPI_TABLE_HEADER *)acpi_map_sdt(
+		acpi_select_address(fadt->Dsdt, fadt->XDsdt));
 	if (acpi_checksum(sdt, sdt->Length))
 		errx(EXIT_FAILURE, "DSDT is corrupt");
 	return (sdt);



CVS commit: src/usr.sbin/acpitools/acpidump

2017-08-18 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Fri Aug 18 09:49:24 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Check DSDT signature in acpi_handle_fadt() for broken ACPI table.


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2017-08-18 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Fri Aug 18 09:49:24 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
 Check DSDT signature in acpi_handle_fadt() for broken ACPI table.


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/usr.sbin/acpitools/acpidump/acpi.c

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.16 src/usr.sbin/acpitools/acpidump/acpi.c:1.17
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.16	Fri Aug  4 06:30:36 2017
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Fri Aug 18 09:49:24 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.16 2017/08/04 06:30:36 msaitoh Exp $ */
+/* $NetBSD: acpi.c,v 1.17 2017/08/18 09:49:24 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.16 2017/08/04 06:30:36 msaitoh Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.17 2017/08/18 09:49:24 msaitoh Exp $");
 
 #include 
 #include 
@@ -775,6 +775,8 @@ acpi_handle_fadt(ACPI_TABLE_HEADER *sdp)
 		dsdp = (ACPI_TABLE_HEADER *)acpi_map_sdt(fadt->Dsdt);
 	else
 		dsdp = (ACPI_TABLE_HEADER *)acpi_map_sdt(fadt->XDsdt);
+	if (memcmp(dsdp->Signature, ACPI_SIG_DSDT, 4) != 0)
+		errx(EXIT_FAILURE, "DSDT signature mismatch");
 	if (acpi_checksum(dsdp, dsdp->Length))
 		errx(EXIT_FAILURE, "DSDT is corrupt");
 	acpi_print_dsdt(dsdp);



CVS commit: src/usr.sbin/acpitools/acpidump

2017-08-04 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Fri Aug  4 06:30:36 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c acpi_user.c acpidump.8
acpidump.c acpidump.h

Log Message:
Sync with FreeBSD's r321294:
 - Dump TCG ACPI spec table (TCPA) more.
 - Dump DMA Remapping Reporting table (DMAR).
 - Consistently cast ACPICA 64-bit integer types when we print them.
 - Display the 'Flags' field in the HPET Description Table.
 - Do not crash when RSDT/XSDT contains an empty entry.
 - Print 64-bit addresses clearly with leading zeros to avoid confusions.
 - Create temp file safely.
 - Add missing flags into FADT.
 - Print some new ACPI 5.1 MADT entries.
 - Use __arraycount().
 - Warn and exit loop on invalid subtable length.
 - Fix the type used to hold the value returned from getopt. On arm64 char is
   unsigned so will never be -1.


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/usr.sbin/acpitools/acpidump/acpi.c
cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/acpitools/acpidump/acpi_user.c
cvs rdiff -u -r1.7 -r1.8 src/usr.sbin/acpitools/acpidump/acpidump.8
cvs rdiff -u -r1.6 -r1.7 src/usr.sbin/acpitools/acpidump/acpidump.c
cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/acpitools/acpidump/acpidump.h

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.15 src/usr.sbin/acpitools/acpidump/acpi.c:1.16
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.15	Sat Feb 27 16:40:22 2016
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Fri Aug  4 06:30:36 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.15 2016/02/27 16:40:22 christos Exp $ */
+/* $NetBSD: acpi.c,v 1.16 2017/08/04 06:30:36 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -26,11 +26,11 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *	$FreeBSD: src/usr.sbin/acpi/acpidump/acpi.c,v 1.37 2009/08/25 20:35:57 jhb Exp $
+ *	$FreeBSD: head/usr.sbin/acpi/acpidump/acpi.c 321299 2017-07-20 17:36:17Z emaste $
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.15 2016/02/27 16:40:22 christos Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.16 2017/08/04 06:30:36 msaitoh Exp $");
 
 #include 
 #include 
@@ -116,6 +116,71 @@ static void	acpi_walk_subtables(ACPI_TAB
 /* Size of an address. 32-bit for ACPI 1.0, 64-bit for ACPI 2.0 and up. */
 static int addr_size;
 
+/* Strings used in the TCPA table */
+static const char *tcpa_event_type_strings[] = {
+	"PREBOOT Certificate",
+	"POST Code",
+	"Unused",
+	"No Action",
+	"Separator",
+	"Action",
+	"Event Tag",
+	"S-CRTM Contents",
+	"S-CRTM Version",
+	"CPU Microcode",
+	"Platform Config Flags",
+	"Table of Devices",
+	"Compact Hash",
+	"IPL",
+	"IPL Partition Data",
+	"Non-Host Code",
+	"Non-Host Config",
+	"Non-Host Info"
+};
+
+static const char *TCPA_pcclient_strings[] = {
+	"",
+	"SMBIOS",
+	"BIS Certificate",
+	"POST BIOS ROM Strings",
+	"ESCD",
+	"CMOS",
+	"NVRAM",
+	"Option ROM Execute",
+	"Option ROM Configurateion",
+	"",
+	"Option ROM Microcode Update ",
+	"S-CRTM Version String",
+	"S-CRTM Contents",
+	"POST Contents",
+	"Table of Devices",
+};
+
+#define	PRINTFLAG_END()		printflag_end()
+
+static char pf_sep = '{';
+
+static void
+printflag_end(void)
+{
+
+	if (pf_sep != '{') {
+		printf("}");
+		pf_sep = '{';
+	}
+	printf("\n");
+}
+
+static void
+printflag(uint64_t var, uint64_t mask, const char *name)
+{
+
+	if (var & mask) {
+		printf("%c%s", pf_sep, name);
+		pf_sep = ',';
+	}
+}
+
 static void
 acpi_print_string(char *s, size_t length)
 {
@@ -136,12 +201,18 @@ acpi_print_gas(ACPI_GENERIC_ADDRESS *gas
 {
 	switch(gas->SpaceId) {
 	case ACPI_GAS_MEMORY:
-		printf("0x%08lx:%u[%u] (Memory)", (u_long)gas->Address,
-		   gas->BitOffset, gas->BitWidth);
+		if (gas->BitWidth <= 32)
+			printf("0x%08x:%u[%u] (Memory)",
+			(u_int)gas->Address, gas->BitOffset,
+			gas->BitWidth);
+		else
+			printf("0x%016jx:%u[%u] (Memory)",
+			(uintmax_t)gas->Address, gas->BitOffset,
+			gas->BitWidth);
 		break;
 	case ACPI_GAS_IO:
-		printf("0x%02lx:%u[%u] (IO)", (u_long)gas->Address,
-		   gas->BitOffset, gas->BitWidth);
+		printf("0x%02x:%u[%u] (IO)", (u_int)gas->Address,
+		gas->BitOffset, gas->BitWidth);
 		break;
 	case ACPI_GAS_PCI:
 		printf("%x:%x+0x%x (PCI)", (uint16_t)(gas->Address >> 32),
@@ -162,7 +233,7 @@ acpi_print_gas(ACPI_GENERIC_ADDRESS *gas
 	case ACPI_GAS_DATATABLE:
 	case ACPI_GAS_FIXED:
 	default:
-		printf("0x%08lx (?)", (u_long)gas->Address);
+		printf("0x%016jx (?)", (uintmax_t)gas->Address);
 		break;
 	}
 }
@@ -720,6 +791,10 @@ acpi_walk_subtables(ACPI_TABLE_HEADER *t
 	end = (char *)table + table->Length;
 	while ((char *)subtable < end) {
 		printf("\n");
+		if (subtable->Length < sizeof(ACPI_SUBTABLE_HEADER)) {
+			warnx("invalid subtable length %u", subtable->Length);
+			return;
+		}
 		action(subtable);
 		subtable 

CVS commit: src/usr.sbin/acpitools/acpidump

2017-08-04 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Fri Aug  4 06:30:36 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c acpi_user.c acpidump.8
acpidump.c acpidump.h

Log Message:
Sync with FreeBSD's r321294:
 - Dump TCG ACPI spec table (TCPA) more.
 - Dump DMA Remapping Reporting table (DMAR).
 - Consistently cast ACPICA 64-bit integer types when we print them.
 - Display the 'Flags' field in the HPET Description Table.
 - Do not crash when RSDT/XSDT contains an empty entry.
 - Print 64-bit addresses clearly with leading zeros to avoid confusions.
 - Create temp file safely.
 - Add missing flags into FADT.
 - Print some new ACPI 5.1 MADT entries.
 - Use __arraycount().
 - Warn and exit loop on invalid subtable length.
 - Fix the type used to hold the value returned from getopt. On arm64 char is
   unsigned so will never be -1.


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/usr.sbin/acpitools/acpidump/acpi.c
cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/acpitools/acpidump/acpi_user.c
cvs rdiff -u -r1.7 -r1.8 src/usr.sbin/acpitools/acpidump/acpidump.8
cvs rdiff -u -r1.6 -r1.7 src/usr.sbin/acpitools/acpidump/acpidump.c
cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/acpitools/acpidump/acpidump.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2017-08-02 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Aug  3 05:54:45 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi_user.c

Log Message:
 On UEFI environment, ACPI table is not at low address. Get ACPI root pointer
from hw.acpi.root first. Same as FreeBSD. This change fixes a problem that
acpidump(8) showed "acpidump: Can't find ACPI information".

XXX pullup-8


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/acpitools/acpidump/acpi_user.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2017-08-02 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Thu Aug  3 05:54:45 UTC 2017

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi_user.c

Log Message:
 On UEFI environment, ACPI table is not at low address. Get ACPI root pointer
from hw.acpi.root first. Same as FreeBSD. This change fixes a problem that
acpidump(8) showed "acpidump: Can't find ACPI information".

XXX pullup-8


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/acpitools/acpidump/acpi_user.c

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_user.c
diff -u src/usr.sbin/acpitools/acpidump/acpi_user.c:1.2 src/usr.sbin/acpitools/acpidump/acpi_user.c:1.3
--- src/usr.sbin/acpitools/acpidump/acpi_user.c:1.2	Tue Dec 22 08:44:03 2009
+++ src/usr.sbin/acpitools/acpidump/acpi_user.c	Thu Aug  3 05:54:45 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_user.c,v 1.2 2009/12/22 08:44:03 cegger Exp $ */
+/* $NetBSD: acpi_user.c,v 1.3 2017/08/03 05:54:45 msaitoh Exp $ */
 
 /*-
  * Copyright (c) 1999 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi_user.c,v 1.2 2009/12/22 08:44:03 cegger Exp $");
+__RCSID("$NetBSD: acpi_user.c,v 1.3 2017/08/03 05:54:45 msaitoh Exp $");
 
 #include 
 #include 
@@ -46,6 +46,7 @@ __RCSID("$NetBSD: acpi_user.c,v 1.2 2009
 
 #include "acpidump.h"
 
+static char	machdep_acpi_root[] = "hw.acpi.root";
 static int  acpi_mem_fd = -1;
 
 struct acpi_user_mapping {
@@ -164,22 +165,16 @@ acpi_scan_rsd_ptr(void)
 ACPI_TABLE_RSDP *
 acpi_find_rsd_ptr(void)
 {
-	int i;
-	uint8_t		buf[sizeof(ACPI_TABLE_RSDP)];
+	ACPI_TABLE_RSDP	*rsdp;
+	u_long		addr = 0;
+	size_t		len = sizeof(addr);
 
 	acpi_user_init();
-	for (i = 0; i < 1024 * 1024; i += 16) {
-		read(acpi_mem_fd, buf, 16);
-		if (!memcmp(buf, "RSD PTR ", 8)) {
-			/* Read the rest of the structure */
-			read(acpi_mem_fd, buf + 16, sizeof(ACPI_TABLE_RSDP) - 16);
-
-			/* Verify checksum before accepting it. */
-			if (acpi_checksum(buf, sizeof(ACPI_TABLE_RSDP)))
-continue;
-			return (acpi_map_physical(i, sizeof(ACPI_TABLE_RSDP)));
-		}
-	}
+
+	if (sysctlbyname(machdep_acpi_root, , , NULL, 0) != 0)
+		addr = 0;
+	if (addr != 0 && (rsdp = acpi_get_rsdp(addr)) != NULL)
+		return rsdp;
 
 	return acpi_scan_rsd_ptr();
 }



CVS commit: src/usr.sbin/acpitools/acpidump

2016-02-27 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Feb 27 16:40:22 UTC 2016

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
CID 1354301, 1354302, 1354303: Fix uninitialized variable.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2016-02-27 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Feb 27 16:40:22 UTC 2016

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
CID 1354301, 1354302, 1354303: Fix uninitialized variable.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/usr.sbin/acpitools/acpidump/acpi.c

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.14 src/usr.sbin/acpitools/acpidump/acpi.c:1.15
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.14	Mon Feb  1 12:46:22 2016
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Sat Feb 27 11:40:22 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.14 2016/02/01 17:46:22 christos Exp $ */
+/* $NetBSD: acpi.c,v 1.15 2016/02/27 16:40:22 christos Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.14 2016/02/01 17:46:22 christos Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.15 2016/02/27 16:40:22 christos Exp $");
 
 #include 
 #include 
@@ -1950,7 +1950,7 @@ acpi_print_rsdt(ACPI_TABLE_HEADER *rsdp)
 	ACPI_TABLE_RSDT *rsdt;
 	ACPI_TABLE_XSDT *xsdt;
 	int	i, entries;
-	u_long	addr;
+	u_long	addr = 0;
 
 	rsdt = (ACPI_TABLE_RSDT *)rsdp;
 	xsdt = (ACPI_TABLE_XSDT *)rsdp;
@@ -1969,7 +1969,7 @@ acpi_print_rsdt(ACPI_TABLE_HEADER *rsdp)
 			addr = le64toh(xsdt->TableOffsetEntry[i]);
 			break;
 		default:
-			assert((addr == 0));
+			assert(addr == 0);
 		}
 		printf("0x%08lx", addr);
 	}
@@ -2219,7 +2219,7 @@ acpi_handle_rsdt(ACPI_TABLE_HEADER *rsdp
 	ACPI_TABLE_HEADER *sdp;
 	ACPI_TABLE_RSDT *rsdt;
 	ACPI_TABLE_XSDT *xsdt;
-	vm_offset_t addr;
+	vm_offset_t addr = 0;
 	int entries, i;
 
 	acpi_print_rsdt(rsdp);
@@ -2235,7 +2235,7 @@ acpi_handle_rsdt(ACPI_TABLE_HEADER *rsdp
 			addr = le64toh(xsdt->TableOffsetEntry[i]);
 			break;
 		default:
-			assert((addr == 0));
+			assert(addr == 0);
 		}
 
 		sdp = (ACPI_TABLE_HEADER *)acpi_map_sdt(addr);
@@ -2456,7 +2456,7 @@ sdt_from_rsdt(ACPI_TABLE_HEADER *rsdp, c
 	ACPI_TABLE_HEADER *sdt;
 	ACPI_TABLE_RSDT *rsdt;
 	ACPI_TABLE_XSDT *xsdt;
-	vm_offset_t addr;
+	vm_offset_t addr = 0;
 	int entries, i;
 
 	rsdt = (ACPI_TABLE_RSDT *)rsdp;
@@ -2471,7 +2471,7 @@ sdt_from_rsdt(ACPI_TABLE_HEADER *rsdp, c
 			addr = le64toh(xsdt->TableOffsetEntry[i]);
 			break;
 		default:
-			assert((addr == 0));
+			assert(addr == 0);
 		}
 		sdt = (ACPI_TABLE_HEADER *)acpi_map_sdt(addr);
 		if (last != NULL) {



CVS commit: src/usr.sbin/acpitools/acpidump

2016-02-01 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Feb  1 17:46:22 UTC 2016

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
PR/50741: David Binderman: Fix assignment in assert.


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2016-02-01 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Feb  1 17:46:22 UTC 2016

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
PR/50741: David Binderman: Fix assignment in assert.


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/usr.sbin/acpitools/acpidump/acpi.c

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.13 src/usr.sbin/acpitools/acpidump/acpi.c:1.14
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.13	Wed Aug 19 03:37:17 2015
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Mon Feb  1 12:46:22 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.13 2015/08/19 07:37:17 christos Exp $ */
+/* $NetBSD: acpi.c,v 1.14 2016/02/01 17:46:22 christos Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpi.c,v 1.13 2015/08/19 07:37:17 christos Exp $");
+__RCSID("$NetBSD: acpi.c,v 1.14 2016/02/01 17:46:22 christos Exp $");
 
 #include 
 #include 
@@ -1969,7 +1969,7 @@ acpi_print_rsdt(ACPI_TABLE_HEADER *rsdp)
 			addr = le64toh(xsdt->TableOffsetEntry[i]);
 			break;
 		default:
-			assert((addr = 0));
+			assert((addr == 0));
 		}
 		printf("0x%08lx", addr);
 	}
@@ -2235,7 +2235,7 @@ acpi_handle_rsdt(ACPI_TABLE_HEADER *rsdp
 			addr = le64toh(xsdt->TableOffsetEntry[i]);
 			break;
 		default:
-			assert((addr = 0));
+			assert((addr == 0));
 		}
 
 		sdp = (ACPI_TABLE_HEADER *)acpi_map_sdt(addr);
@@ -2471,7 +2471,7 @@ sdt_from_rsdt(ACPI_TABLE_HEADER *rsdp, c
 			addr = le64toh(xsdt->TableOffsetEntry[i]);
 			break;
 		default:
-			assert((addr = 0));
+			assert((addr == 0));
 		}
 		sdt = (ACPI_TABLE_HEADER *)acpi_map_sdt(addr);
 		if (last != NULL) {



CVS commit: src/usr.sbin/acpitools/acpidump

2015-09-20 Thread Thomas Klausner
Module Name:src
Committed By:   wiz
Date:   Sun Sep 20 17:45:25 UTC 2015

Modified Files:
src/usr.sbin/acpitools/acpidump: acpidump.c

Log Message:
Add -s to getopt(3)-string.

Noted missing by Henning Petersen in PR 50255.

While here, clean up usage.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/acpitools/acpidump/acpidump.c

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/acpidump.c
diff -u src/usr.sbin/acpitools/acpidump/acpidump.c:1.5 src/usr.sbin/acpitools/acpidump/acpidump.c:1.6
--- src/usr.sbin/acpitools/acpidump/acpidump.c:1.5	Mon Aug 29 20:38:54 2011
+++ src/usr.sbin/acpitools/acpidump/acpidump.c	Sun Sep 20 17:45:25 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: acpidump.c,v 1.5 2011/08/29 20:38:54 joerg Exp $ */
+/* $NetBSD: acpidump.c,v 1.6 2015/09/20 17:45:25 wiz Exp $ */
 
 /*-
  * Copyright (c) 2000 Mitsuru IWASAKI 
@@ -29,7 +29,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: acpidump.c,v 1.5 2011/08/29 20:38:54 joerg Exp $");
+__RCSID("$NetBSD: acpidump.c,v 1.6 2015/09/20 17:45:25 wiz Exp $");
 
 
 #include 
@@ -53,7 +53,7 @@ usage(void)
 {
 	const char *progname = getprogname();
 
-	fprintf(stderr, "usage: %s [-c] [-d] [-s] [-t] [-h] [-v] "
+	fprintf(stderr, "usage: %s [-cdhstv] "
 			"[-f dsdt_input] [-o dsdt_output]\n", progname);
 	fprintf(stderr, "To send ASL:\n\t%s -dt | gzip -c9 > foo.asl.gz\n",
 	progname);
@@ -72,7 +72,7 @@ main(int argc, char *argv[])
 	if (argc < 2)
 		usage();
 
-	while ((c = getopt(argc, argv, "cdhtvf:o:")) != -1) {
+	while ((c = getopt(argc, argv, "cdhtsvf:o:")) != -1) {
 		switch (c) {
 		case 'c':
 			cflag = 1;



CVS commit: src/usr.sbin/acpitools/acpidump

2015-09-20 Thread Thomas Klausner
Module Name:src
Committed By:   wiz
Date:   Sun Sep 20 17:45:25 UTC 2015

Modified Files:
src/usr.sbin/acpitools/acpidump: acpidump.c

Log Message:
Add -s to getopt(3)-string.

Noted missing by Henning Petersen in PR 50255.

While here, clean up usage.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/acpitools/acpidump/acpidump.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2015-08-19 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Aug 19 07:37:17 UTC 2015

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
Put back a Trusted Computing Platform Alliance table pretty printer.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/usr.sbin/acpitools/acpidump/acpi.c

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.12 src/usr.sbin/acpitools/acpidump/acpi.c:1.13
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.12	Tue Aug 18 13:49:49 2015
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Wed Aug 19 03:37:17 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.12 2015/08/18 17:49:49 christos Exp $ */
+/* $NetBSD: acpi.c,v 1.13 2015/08/19 07:37:17 christos Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__RCSID($NetBSD: acpi.c,v 1.12 2015/08/18 17:49:49 christos Exp $);
+__RCSID($NetBSD: acpi.c,v 1.13 2015/08/19 07:37:17 christos Exp $);
 
 #include sys/param.h
 #include sys/endian.h
@@ -1667,18 +1667,37 @@ acpi_handle_srat(ACPI_TABLE_HEADER *sdp)
 static void
 acpi_handle_tcpa(ACPI_TABLE_HEADER *sdp)
 {
-#if 0
-	ACPI_TABLE_TCPA *tcpa;
+	ACPI_TABLE_TCPA_HDR *tcpah;
+	ACPI_TABLE_TCPA_CLIENT *tcpac;
+	ACPI_TABLE_TCPA_SERVER *tcpas;
 
 	printf(BEGIN_COMMENT);
 	acpi_print_sdt(sdp);
-	tcpa = (ACPI_TABLE_TCPA *)sdp;
+	tcpah = (void *)sdp;
+	switch (tcpah-PlatformClass) {
+	case ACPI_TCPA_CLIENT_TABLE:
+		tcpac = (void *)((char *)sdp + sizeof(*tcpah));
+		printf(\tMinimum Length of Event Log Area=%PRIu32\n,
+		tcpac-MinimumLogLength);
+		printf(\tPhysical Address of Log Area=0x%08PRIx64\n,
+		tcpac-LogAddress);
+		break;
+
+	case ACPI_TCPA_SERVER_TABLE:
+		tcpas = (void *)((char *)sdp + sizeof(*tcpah));
+		printf(\tMinimum Length of Event Log Area=%PRIu64\n,
+		tcpas-MinimumLogLength);
+		printf(\tPhysical Address of Log Area=0x%08PRIx64\n,
+		tcpas-LogAddress);
+		break;
+
+	default:
+		printf (\tUnknown TCPA Platform Class 0x%X\n,
+		tcpah-PlatformClass);
+		break;
+	}
 
-	printf(\tMaximum Length of Event Log Area=%d\n, tcpa-MaxLogLength);
-	printf(\tPhysical Address of Log Area=0x%08PRIx64\n,
-	tcpa-LogAddress);
 	printf(END_COMMENT);
-#endif
 }
 
 static void



CVS commit: src/usr.sbin/acpitools/acpidump

2015-08-19 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Aug 19 07:37:17 UTC 2015

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
Put back a Trusted Computing Platform Alliance table pretty printer.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2015-08-18 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Tue Aug 18 17:46:09 UTC 2015

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
comment out tcpa printout since it has been split between server and client
struct.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2015-08-18 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Tue Aug 18 17:46:09 UTC 2015

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
comment out tcpa printout since it has been split between server and client
struct.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/usr.sbin/acpitools/acpidump/acpi.c

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.10 src/usr.sbin/acpitools/acpidump/acpi.c:1.11
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.10	Tue Jun 16 19:04:13 2015
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Tue Aug 18 13:46:09 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.10 2015/06/16 23:04:13 christos Exp $ */
+/* $NetBSD: acpi.c,v 1.11 2015/08/18 17:46:09 christos Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__RCSID($NetBSD: acpi.c,v 1.10 2015/06/16 23:04:13 christos Exp $);
+__RCSID($NetBSD: acpi.c,v 1.11 2015/08/18 17:46:09 christos Exp $);
 
 #include sys/param.h
 #include sys/endian.h
@@ -1667,6 +1667,7 @@ acpi_handle_srat(ACPI_TABLE_HEADER *sdp)
 static void
 acpi_handle_tcpa(ACPI_TABLE_HEADER *sdp)
 {
+#if 0
 	ACPI_TABLE_TCPA *tcpa;
 
 	printf(BEGIN_COMMENT);
@@ -1676,7 +1677,7 @@ acpi_handle_tcpa(ACPI_TABLE_HEADER *sdp)
 	printf(\tMaximum Length of Event Log Area=%d\n, tcpa-MaxLogLength);
 	printf(\tPhysical Address of Log Area=0x%08PRIx64\n,
 	tcpa-LogAddress);
-
+#endif
 	printf(END_COMMENT);
 }
 



CVS commit: src/usr.sbin/acpitools/acpidump

2015-08-18 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Tue Aug 18 17:49:50 UTC 2015

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
comment out end comment printing.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/usr.sbin/acpitools/acpidump/acpi.c

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.11 src/usr.sbin/acpitools/acpidump/acpi.c:1.12
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.11	Tue Aug 18 13:46:09 2015
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Tue Aug 18 13:49:49 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.11 2015/08/18 17:46:09 christos Exp $ */
+/* $NetBSD: acpi.c,v 1.12 2015/08/18 17:49:49 christos Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__RCSID($NetBSD: acpi.c,v 1.11 2015/08/18 17:46:09 christos Exp $);
+__RCSID($NetBSD: acpi.c,v 1.12 2015/08/18 17:49:49 christos Exp $);
 
 #include sys/param.h
 #include sys/endian.h
@@ -1677,8 +1677,8 @@ acpi_handle_tcpa(ACPI_TABLE_HEADER *sdp)
 	printf(\tMaximum Length of Event Log Area=%d\n, tcpa-MaxLogLength);
 	printf(\tPhysical Address of Log Area=0x%08PRIx64\n,
 	tcpa-LogAddress);
-#endif
 	printf(END_COMMENT);
+#endif
 }
 
 static void



CVS commit: src/usr.sbin/acpitools/acpidump

2015-08-18 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Tue Aug 18 17:49:50 UTC 2015

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
comment out end comment printing.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2014-03-20 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Mar 20 14:39:43 UTC 2014

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
Don't choke on an assertion for an RSDT with a null address entry.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/usr.sbin/acpitools/acpidump/acpi.c

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.8 src/usr.sbin/acpitools/acpidump/acpi.c:1.9
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.8	Thu Feb 17 10:18:05 2011
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Thu Mar 20 14:39:43 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.8 2011/02/17 10:18:05 jmcneill Exp $ */
+/* $NetBSD: acpi.c,v 1.9 2014/03/20 14:39:43 riastradh Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__RCSID($NetBSD: acpi.c,v 1.8 2011/02/17 10:18:05 jmcneill Exp $);
+__RCSID($NetBSD: acpi.c,v 1.9 2014/03/20 14:39:43 riastradh Exp $);
 
 #include sys/param.h
 #include sys/endian.h
@@ -1949,9 +1949,8 @@ acpi_print_rsdt(ACPI_TABLE_HEADER *rsdp)
 			addr = le64toh(xsdt-TableOffsetEntry[i]);
 			break;
 		default:
-			addr = 0;
+			assert((addr = 0));
 		}
-		assert(addr != 0);
 		printf(0x%08lx, addr);
 	}
 	printf( }\n);



CVS commit: src/usr.sbin/acpitools/acpidump

2014-03-20 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Mar 20 14:39:43 UTC 2014

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c

Log Message:
Don't choke on an assertion for an RSDT with a null address entry.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/usr.sbin/acpitools/acpidump/acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/usr.sbin/acpitools/acpidump

2011-02-17 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Thu Feb 17 10:18:05 UTC 2011

Modified Files:
src/usr.sbin/acpitools/acpidump: acpi.c acpidump.c acpidump.h

Log Message:
- when dumping table bytes, make sure to dump our header and not the next one
- also dump tables with bad checksums, unless the -s flag is specified


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/usr.sbin/acpitools/acpidump/acpi.c
cvs rdiff -u -r1.3 -r1.4 src/usr.sbin/acpitools/acpidump/acpidump.c \
src/usr.sbin/acpitools/acpidump/acpidump.h

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.7 src/usr.sbin/acpitools/acpidump/acpi.c:1.8
--- src/usr.sbin/acpitools/acpidump/acpi.c:1.7	Thu Feb 17 02:55:16 2011
+++ src/usr.sbin/acpitools/acpidump/acpi.c	Thu Feb 17 10:18:05 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi.c,v 1.7 2011/02/17 02:55:16 jmcneill Exp $ */
+/* $NetBSD: acpi.c,v 1.8 2011/02/17 10:18:05 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 1998 Doug Rabson
@@ -30,7 +30,7 @@
  */
 
 #include sys/cdefs.h
-__RCSID($NetBSD: acpi.c,v 1.7 2011/02/17 02:55:16 jmcneill Exp $);
+__RCSID($NetBSD: acpi.c,v 1.8 2011/02/17 10:18:05 jmcneill Exp $);
 
 #include sys/param.h
 #include sys/endian.h
@@ -1884,9 +1884,11 @@
 {
 	printf(  );
 	acpi_print_string(sdp-Signature, ACPI_NAME_SIZE);
-	printf(: Length=%d, Revision=%d, Checksum=%d,\n,
+	printf(: Length=%d, Revision=%d, Checksum=%d,
 	   sdp-Length, sdp-Revision, sdp-Checksum);
-	printf(\tOEMID=);
+	if (acpi_checksum(sdp, sdp-Length))
+		printf( (Incorrect));
+	printf(,\n\tOEMID=);
 	acpi_print_string(sdp-OemId, ACPI_OEM_ID_SIZE);
 	printf(, OEM Table ID=);
 	acpi_print_string(sdp-OemTableId, ACPI_OEM_TABLE_ID_SIZE);
@@ -1902,7 +1904,7 @@
 	unsigned int i;
 	uint8_t *p;
 
-	p = (uint8_t *)sdp + sizeof(*sdp);
+	p = (uint8_t *)sdp;
 	printf(\n\tData={);
 	for (i = 0; i  sdp-Length; i++) {
 		if (cflag) {
@@ -2221,7 +2223,8 @@
 		if (acpi_checksum(sdp, sdp-Length)) {
 			warnx(RSDT entry %d (sig %.4s) is corrupt, i,
 			sdp-Signature);
-			continue;
+			if (sflag)
+continue;
 		}
 		if (!memcmp(sdp-Signature, ACPI_SIG_FADT, 4))
 			acpi_handle_fadt(sdp);

Index: src/usr.sbin/acpitools/acpidump/acpidump.c
diff -u src/usr.sbin/acpitools/acpidump/acpidump.c:1.3 src/usr.sbin/acpitools/acpidump/acpidump.c:1.4
--- src/usr.sbin/acpitools/acpidump/acpidump.c:1.3	Thu Feb 17 02:55:16 2011
+++ src/usr.sbin/acpitools/acpidump/acpidump.c	Thu Feb 17 10:18:05 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: acpidump.c,v 1.3 2011/02/17 02:55:16 jmcneill Exp $ */
+/* $NetBSD: acpidump.c,v 1.4 2011/02/17 10:18:05 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2000 Mitsuru IWASAKI iwas...@freebsd.org
@@ -29,7 +29,7 @@
  */
 
 #include sys/cdefs.h
-__RCSID($NetBSD: acpidump.c,v 1.3 2011/02/17 02:55:16 jmcneill Exp $);
+__RCSID($NetBSD: acpidump.c,v 1.4 2011/02/17 10:18:05 jmcneill Exp $);
 
 
 #include sys/param.h
@@ -42,18 +42,19 @@
 
 #include acpidump.h
 
+int	cflag;	/* Dump unknown table data as characters */
 int	dflag;	/* Disassemble AML using iasl(8) */
+int	sflag;	/* Skip tables with bad checksums */
 int	tflag;	/* Dump contents of SDT tables */
 int	vflag;	/* Use verbose messages */
-int	cflag;	/* Dump unknown table data as characters */
 
 static void
 usage(void)
 {
 	const char *progname = getprogname();
 
-	fprintf(stderr, usage: %s [-c] [-d] [-t] [-h] [-v] [-f dsdt_input] 
-			[-o dsdt_output]\n, progname);
+	fprintf(stderr, usage: %s [-c] [-d] [-s] [-t] [-h] [-v] 
+			[-f dsdt_input] [-o dsdt_output]\n, progname);
 	fprintf(stderr, To send ASL:\n\t%s -dt | gzip -c9  foo.asl.gz\n,
 	progname);
 	exit(EXIT_FAILURE);
@@ -79,6 +80,9 @@
 		case 'd':
 			dflag = 1;
 			break;
+		case 's':
+			sflag = 1;
+			break;
 		case 't':
 			tflag = 1;
 			break;
Index: src/usr.sbin/acpitools/acpidump/acpidump.h
diff -u src/usr.sbin/acpitools/acpidump/acpidump.h:1.3 src/usr.sbin/acpitools/acpidump/acpidump.h:1.4
--- src/usr.sbin/acpitools/acpidump/acpidump.h:1.3	Thu Feb 17 02:55:16 2011
+++ src/usr.sbin/acpitools/acpidump/acpidump.h	Thu Feb 17 10:18:05 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: acpidump.h,v 1.3 2011/02/17 02:55:16 jmcneill Exp $ */
+/* $NetBSD: acpidump.h,v 1.4 2011/02/17 10:18:05 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 1999 Doug Rabson
@@ -83,6 +83,7 @@
 /* Command line flags */
 extern int	cflag;
 extern int	dflag;
+extern int	sflag;
 extern int	tflag;
 extern int	vflag;
 



CVS commit: src/usr.sbin/acpitools/acpidump

2011-02-17 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Thu Feb 17 10:21:02 UTC 2011

Modified Files:
src/usr.sbin/acpitools/acpidump: acpidump.8

Log Message:
document -c and -s flags


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 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/acpidump.8
diff -u src/usr.sbin/acpitools/acpidump/acpidump.8:1.3 src/usr.sbin/acpitools/acpidump/acpidump.8:1.4
--- src/usr.sbin/acpitools/acpidump/acpidump.8:1.3	Tue Dec 22 08:44:03 2009
+++ src/usr.sbin/acpitools/acpidump/acpidump.8	Thu Feb 17 10:21:02 2011
@@ -1,4 +1,4 @@
-.\ $NetBSD: acpidump.8,v 1.3 2009/12/22 08:44:03 cegger Exp $
+.\ $NetBSD: acpidump.8,v 1.4 2011/02/17 10:21:02 jmcneill Exp $
 .\ ACPI (ACPI Package)
 .\
 .\ Copyright (c) 1999 Doug Rabson d...@freebsd.org
@@ -30,7 +30,7 @@
 .\
 .\ $FreeBSD: src/usr.sbin/acpi/acpidump/acpidump.8,v 1.24 2007/03/14 22:55:30 njl Exp $
 .\
-.Dd February 14, 2005
+.Dd February 17, 2011
 .Dt ACPIDUMP 8
 .Os
 .Sh NAME
@@ -38,7 +38,9 @@
 .Nd dump ACPI tables and ASL
 .Sh SYNOPSIS
 .Nm
+.Op Fl c
 .Op Fl d
+.Op Fl s
 .Op Fl t
 .Op Fl h
 .Op Fl v
@@ -140,10 +142,14 @@
 The following options are supported by
 .Nm :
 .Bl -tag -width indent
+.It Fl c
+Dump unknown table data as characters instead of hex.
 .It Fl d
 Disassemble the DSDT into ASL using
 .Xr iasl 8
 and print the results to stdout.
+.It Fl s
+Skip tables with bad checksums.
 .It Fl t
 Dump the contents of the various fixed tables listed above.
 .It Fl h



CVS commit: src/usr.sbin/acpitools/acpidump

2011-02-17 Thread Jukka Ruohonen
Module Name:src
Committed By:   jruoho
Date:   Thu Feb 17 15:06:34 UTC 2011

Modified Files:
src/usr.sbin/acpitools/acpidump: acpidump.h

Log Message:
Provide a definition for the size of the RSDP in ACPI 1.0.
Appears to be missing in the new ACPICA.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/acpitools/acpidump/acpidump.h

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/acpidump.h
diff -u src/usr.sbin/acpitools/acpidump/acpidump.h:1.4 src/usr.sbin/acpitools/acpidump/acpidump.h:1.5
--- src/usr.sbin/acpitools/acpidump/acpidump.h:1.4	Thu Feb 17 10:18:05 2011
+++ src/usr.sbin/acpitools/acpidump/acpidump.h	Thu Feb 17 15:06:34 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: acpidump.h,v 1.4 2011/02/17 10:18:05 jmcneill Exp $ */
+/* $NetBSD: acpidump.h,v 1.5 2011/02/17 15:06:34 jruoho Exp $ */
 
 /*-
  * Copyright (c) 1999 Doug Rabson
@@ -54,6 +54,8 @@
 #define	ACPI_HPET_ID_LEGACY_CAPABLE	0x8000
 #define	ACPI_HPET_ID_PCI_VENDOR_ID	0x
 
+#define ACPI_RSDP_REV0_SIZE 20  /* Size of original ACPI 1.0 RSDP */
+
 /* Find and map the RSD PTR structure and return it for parsing */
 ACPI_TABLE_HEADER *sdt_load_devmem(void);
 



CVS commit: src/usr.sbin/acpitools/acpidump

2011-02-17 Thread Thomas Klausner
Module Name:src
Committed By:   wiz
Date:   Thu Feb 17 17:05:06 UTC 2011

Modified Files:
src/usr.sbin/acpitools/acpidump: acpidump.8

Log Message:
Sort option descriptions. Merge single-letter options in SYNOPSIS.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 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/acpidump.8
diff -u src/usr.sbin/acpitools/acpidump/acpidump.8:1.4 src/usr.sbin/acpitools/acpidump/acpidump.8:1.5
--- src/usr.sbin/acpitools/acpidump/acpidump.8:1.4	Thu Feb 17 10:21:02 2011
+++ src/usr.sbin/acpitools/acpidump/acpidump.8	Thu Feb 17 17:05:05 2011
@@ -1,4 +1,4 @@
-.\ $NetBSD: acpidump.8,v 1.4 2011/02/17 10:21:02 jmcneill Exp $
+.\ $NetBSD: acpidump.8,v 1.5 2011/02/17 17:05:05 wiz Exp $
 .\ ACPI (ACPI Package)
 .\
 .\ Copyright (c) 1999 Doug Rabson d...@freebsd.org
@@ -38,12 +38,7 @@
 .Nd dump ACPI tables and ASL
 .Sh SYNOPSIS
 .Nm
-.Op Fl c
-.Op Fl d
-.Op Fl s
-.Op Fl t
-.Op Fl h
-.Op Fl v
+.Op Fl cdhstv
 .Op Fl f Ar dsdt_input
 .Op Fl o Ar dsdt_output
 .Sh DESCRIPTION
@@ -148,21 +143,21 @@
 Disassemble the DSDT into ASL using
 .Xr iasl 8
 and print the results to stdout.
-.It Fl s
-Skip tables with bad checksums.
-.It Fl t
-Dump the contents of the various fixed tables listed above.
-.It Fl h
-Displays usage and exit.
-.It Fl v
-Enable verbose messages.
 .It Fl f Ar dsdt_input
 Load the DSDT from the specified file instead of physical memory.
 Since only the DSDT is stored in the file, the
 .Fl t
 flag may not be used with this option.
+.It Fl h
+Displays usage and exit.
 .It Fl o Ar dsdt_output
 Store the DSDT data block from physical memory into the specified file.
+.It Fl s
+Skip tables with bad checksums.
+.It Fl t
+Dump the contents of the various fixed tables listed above.
+.It Fl v
+Enable verbose messages.
 .El
 .Sh FILES
 .Bl -tag -width /dev/mem



  1   2   >