summaryrefslogtreecommitdiffstats
path: root/usr.sbin/acpidump
diff options
context:
space:
mode:
authorfgsch <fgsch@openbsd.org>2007-12-07 18:27:07 +0000
committerfgsch <fgsch@openbsd.org>2007-12-07 18:27:07 +0000
commitf3fd8e0e4797a895b31da1c67ec215d14c61bdde (patch)
tree405df6d59e22d0dec242e6ce36abd171ade074af /usr.sbin/acpidump
parentsync (diff)
downloadwireguard-openbsd-f3fd8e0e4797a895b31da1c67ec215d14c61bdde.tar.xz
wireguard-openbsd-f3fd8e0e4797a895b31da1c67ec215d14c61bdde.zip
implement a few more opcodes from acpi 3.0 and fix output in some cases.
dell d620 now shows the tree correctly. marco@ ok.
Diffstat (limited to 'usr.sbin/acpidump')
-rw-r--r--usr.sbin/acpidump/asl_dump.c26
1 files changed, 23 insertions, 3 deletions
diff --git a/usr.sbin/acpidump/asl_dump.c b/usr.sbin/acpidump/asl_dump.c
index 83b265d6d2f..4c3a31e1e34 100644
--- a/usr.sbin/acpidump/asl_dump.c
+++ b/usr.sbin/acpidump/asl_dump.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: asl_dump.c,v 1.6 2007/12/02 22:23:04 jordan Exp $ */
+/* $OpenBSD: asl_dump.c,v 1.7 2007/12/07 18:27:07 fgsch Exp $ */
/*-
* Copyright (c) 1999 Doug Rabson
* Copyright (c) 2000 Mitsuru IWASAKI <iwasaki@FreeBSD.org>
@@ -25,7 +25,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: asl_dump.c,v 1.6 2007/12/02 22:23:04 jordan Exp $
+ * $Id: asl_dump.c,v 1.7 2007/12/07 18:27:07 fgsch Exp $
* $FreeBSD: src/usr.sbin/acpi/acpidump/asl_dump.c,v 1.5 2001/10/23 14:53:58 takawata Exp $
*/
@@ -772,10 +772,10 @@ asl_dump_termobj(u_int8_t **dpp, int indent)
};
#define OPTARG() do { \
- printf(", "); \
if (*dp == 0x00) { \
dp++; \
} else { \
+ printf(", "); \
asl_dump_termobj(&dp, indent); \
} \
} while (0)
@@ -1290,6 +1290,26 @@ asl_dump_termobj(u_int8_t **dpp, int indent)
asl_dump_termobj(&dp, indent);
printf(")");
break;
+ case 0x96: /* ToBufferOp */
+ printf("ToBuffer(");
+ asl_dump_termobj(&dp, indent);
+ OPTARG();
+ printf(")");
+ break;
+ case 0x99: /* ToIntegerOp */
+ printf("ToInteger(");
+ asl_dump_termobj(&dp, indent);
+ OPTARG();
+ printf(")");
+ break;
+ case 0x9c: /* ToStringOp */
+ printf("ToString(");
+ asl_dump_termobj(&dp, indent);
+ printf(", ");
+ asl_dump_termobj(&dp, indent);
+ OPTARG();
+ printf(")");
+ break;
case 0xa0: /* IfOp */
asl_dump_defif(&dp, indent);
break;