From bda493d611614cb23ea7b76adae82ecbe06ec776 Mon Sep 17 00:00:00 2001 From: Oleksandr Tymoshenko Date: Sat, 25 Aug 2012 20:01:31 +0000 Subject: [PATCH] Add clrex, strex , ldrex, strex and variants Submitted by: Alexander Rybalko --- sys/arm/arm/disassem.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sys/arm/arm/disassem.c b/sys/arm/arm/disassem.c index f05fb3fbdfc7..259c3c423cbc 100644 --- a/sys/arm/arm/disassem.c +++ b/sys/arm/arm/disassem.c @@ -130,6 +130,17 @@ static const struct arm32_insn arm32_i[] = { { 0x0c500000, 0x04100000, "ldr", "daW" }, { 0x0c500000, 0x04400000, "strb", "daW" }, { 0x0c500000, 0x04500000, "ldrb", "daW" }, +#ifdef __FreeBSD_ARCH_armv6__ + { 0xffffffff, 0xf57ff01f, "clrex", "c" }, + { 0x0ff00ff0, 0x01800f90, "strex", "dmo" }, + { 0x0ff00fff, 0x01900f9f, "ldrex", "do" }, + { 0x0ff00ff0, 0x01a00f90, "strexd", "dmo" }, + { 0x0ff00fff, 0x01b00f9f, "ldrexd", "do" }, + { 0x0ff00ff0, 0x01c00f90, "strexb", "dmo" }, + { 0x0ff00fff, 0x01d00f9f, "ldrexb", "do" }, + { 0x0ff00ff0, 0x01e00f90, "strexh", "dmo" }, + { 0x0ff00fff, 0x01f00f9f, "ldrexh", "do" }, +#endif { 0x0e1f0000, 0x080d0000, "stm", "YnWl" },/* separate out r13 base */ { 0x0e1f0000, 0x081d0000, "ldm", "YnWl" },/* separate out r13 base */ { 0x0e100000, 0x08000000, "stm", "XnWl" },