diff options
author | Michael Eager <eager@eagercon.com> | 2012-11-21 17:34:11 +0000 |
---|---|---|
committer | Michael Eager <eager@eagercon.com> | 2012-11-21 17:34:11 +0000 |
commit | b66f7d905a679685476fbfbc793541adb8829a6c (patch) | |
tree | a57989c1048b5ba89d1530c0959dacee6fac25ec /opcodes/microblaze-dis.c | |
parent | fafb357beaa81f02eb6e32c300f6d2fb2776c7d8 (diff) | |
download | binutils-redhat-b66f7d905a679685476fbfbc793541adb8829a6c.tar.gz |
Add stack high register and stack low register for MicroBlaze
hardware assisted stack protection, stores stack low / stack high limits
for detecting stack overflow / underflow
binutils/opcodes
* microblaze-opcm.h: Add REG_SLR_MASK, REG_SHR_MASK, REG_SHR and REG_SLR
* microblaze-dis.c (get_field_special): Handle REG_SLR_MASK and REG_SHR_MASK
binutils/gas
* config/tc-microblaze.c (parse_reg): Parse REG_SLR, REG_SHR
binutils/gas
* gas/microblaze/allinsn.s: Test use of SHR, SLR
* gas/microblaze/allinsn.d: Likewise
Diffstat (limited to 'opcodes/microblaze-dis.c')
-rw-r--r-- | opcodes/microblaze-dis.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/opcodes/microblaze-dis.c b/opcodes/microblaze-dis.c index e204e36310..7e3a546ff8 100644 --- a/opcodes/microblaze-dis.c +++ b/opcodes/microblaze-dis.c @@ -139,6 +139,12 @@ get_field_special (long instr, struct op_code_struct * op) case REG_TLBSX_MASK : strcpy (spr, "tlbsx"); break; + case REG_SHR_MASK : + strcpy (spr, "shr"); + break; + case REG_SLR_MASK : + strcpy (spr, "slr"); + break; default : if (((((instr & IMM_MASK) >> IMM_LOW) ^ op->immval_mask) & 0xE000) == REG_PVR_MASK) |