diff options
author | fgsch <fgsch@openbsd.org> | 2007-12-07 18:27:07 +0000 |
---|---|---|
committer | fgsch <fgsch@openbsd.org> | 2007-12-07 18:27:07 +0000 |
commit | f3fd8e0e4797a895b31da1c67ec215d14c61bdde (patch) | |
tree | 405df6d59e22d0dec242e6ce36abd171ade074af /usr.sbin/acpidump | |
parent | sync (diff) | |
download | wireguard-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.c | 26 |
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; |