svn commit: r337562 - head/sys/powerpc/powerpc
Justin Hibbits
jhibbits at FreeBSD.org
Fri Aug 10 03:28:41 UTC 2018
Author: jhibbits
Date: Fri Aug 10 03:28:40 2018
New Revision: 337562
URL: https://svnweb.freebsd.org/changeset/base/337562
Log:
powerpc: Add lwsync and ptesync 'sync' opcode variants to ddb disassembler
The canonical form of sync is:
sync L, E (if Category Elemental Memory Barriers implemented)
The L bits (2) denote the type of sync:
0 -- hwsync
1 -- lwsync
2 -- ptesync or hwsync
It's been found that most 32-bit CPUs designed prior to the introduction of
lwsync will ignore the L bits. However, some cores, particularly the e500 core,
will trigger an illegal instruction exception. Adding these variants will make
it easier to see which sync variant is actually being used in case of a trap.
Modified:
head/sys/powerpc/powerpc/db_disasm.c
Modified: head/sys/powerpc/powerpc/db_disasm.c
==============================================================================
--- head/sys/powerpc/powerpc/db_disasm.c Fri Aug 10 01:43:05 2018 (r337561)
+++ head/sys/powerpc/powerpc/db_disasm.c Fri Aug 10 03:28:40 2018 (r337562)
@@ -310,7 +310,9 @@ const struct opcode opcodes_1f[] = {
{ "lfsux", 0xfc0007fe, 0x7c00046e, Op_D | Op_A | Op_B },
{ "mfsr", 0xfc0007fe, 0x7c0004a6, Op_D | Op_SR },
{ "lswi", 0xfc0007fe, 0x7c0004aa, Op_D | Op_A | Op_NB },
- { "sync", 0xfc0007fe, 0x7c0004ac, 0 },
+ { "sync", 0xfc6007fe, 0x7c0004ac, 0 },
+ { "lwsync", 0xfc6007fe, 0x7c2004ac, 0 },
+ { "ptesync", 0xfc6007fe, 0x7c4004ac, 0 },
{ "lfdx", 0xfc0007fe, 0x7c0004ae, Op_D | Op_A | Op_B },
{ "lfdux", 0xfc0007fe, 0x7c0004ee, Op_D | Op_A | Op_B },
{ "mfsrin", 0xfc0007fe, 0x7c000526, Op_D | Op_B },
More information about the svn-src-all
mailing list