This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[AArch64 Patch] Add support for CSDB
- From: James Greenhalgh <james dot greenhalgh at arm dot com>
- To: <binutils at sourceware dot org>
- Cc: <nd at arm dot com>, <richard dot earnshaw at arm dot com>, <nickc at redhat dot com>
- Date: Tue, 9 Jan 2018 10:57:54 +0000
- Subject: [AArch64 Patch] Add support for CSDB
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=pass (sender IP is 217.140.96.140) smtp.mailfrom=arm.com; redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=bestguesspass action=none header.from=arm.com;
- Nodisclaimer: True
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
Hi,
CSDB is a new instruction which Arm has defined. It has the same encoding as
HINT #0x14 and is available at all architecture levels.
OK? If so, please commit on my behalf as I don't have commit rights over
here. Please remember when applying the patch on my behalf to regenerate
the aarch64-asm-2.c, aarch64-dis-2.c, and aarch64-opc-2.c files.
I would like this to be applied before the 2.30 cut if possible.
Thanks,
James
---
opcodes/
2018-01-09 James Greenhalgh <james.greenhalgh@arm.com>
* aarch64-tbl.h (aarch64_opcode_table): Add "csdb".
* aarch64-asm-2.c: Regenerate.
* aarch64-dis-2.c: Regenerate.
* aarch64-opc-2.c: Regenerate.
gas/
2018-01-09 James Greenhalgh <james.greenhalgh@arm.com>
* testsuite/gas/aarch64/system.d: Update expected results to expect
CSDB.
diff --git a/gas/testsuite/gas/aarch64/system.d b/gas/testsuite/gas/aarch64/system.d
index be9536e..9ca9c5e 100644
--- a/gas/testsuite/gas/aarch64/system.d
+++ b/gas/testsuite/gas/aarch64/system.d
@@ -32,7 +32,7 @@ Disassembly of section \.text:
60: d503223f (hint #0x11|psb csync)
64: d503225f hint #0x12
68: d503227f hint #0x13
- 6c: d503229f hint #0x14
+ 6c: d503229f (hint #0x14|csdb)
70: d50322bf hint #0x15
74: d50322df hint #0x16
78: d50322ff hint #0x17
diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h
index f758eeb..12b980e 100644
--- a/opcodes/aarch64-tbl.h
+++ b/opcodes/aarch64-tbl.h
@@ -3455,6 +3455,7 @@ struct aarch64_opcode aarch64_opcode_table[] =
CORE_INSN ("msr", 0xd500401f, 0xfff8f01f, ic_system, 0, OP2 (PSTATEFIELD, UIMM4), {}, 0),
CORE_INSN ("hint",0xd503201f, 0xfffff01f, ic_system, 0, OP1 (UIMM7), {}, F_HAS_ALIAS),
CORE_INSN ("nop", 0xd503201f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
+ CORE_INSN ("csdb",0xd503229f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
CORE_INSN ("yield", 0xd503203f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
CORE_INSN ("wfe", 0xd503205f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
CORE_INSN ("wfi", 0xd503207f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),