* bfd/bfd-in2.h (BFD_RELOC_ARM_HVC): New enum value.
* gas/config/tc-arm.c (arm_ext_virt): New variable. (arm_reg_type): Add REG_TYPE_RNB for banked registers. (reg_entry): Allow registers to be larger than a byte. (reg_alias): Fix type warning. (parse_operands): Parse banked registers when appropriate. (do_mrs): Add support for Virtualization Extensions. (do_hvc): New function. (do_t_mrs): Add support for Virtualization Extensions. (do_t_msr): Likewise. (do_t_hvc): New function. (SPLRBANK): New define. (reg_names): Add banked registers. (insns): Add support for Virtualization Extensions. (md_apply_fixup): Likewise. (arm_cpus): -mcpu=cortex-a15 implies the Virtualization Extensions. (arm_extensions): Add 'virt' extension. (aeabi_set_public_attributes): Add support for Virtualization Extensions. * gas/doc/c-arm.texi: Document 'virt' extension. * gas/testsuite/gas/arm/armv7-a+virt.d: New test. * gas/testsuite/gas/arm/armv7-a+virt.s: Likewise. * gas/testsuite/gas/arm/attr-march-all.d: Update for Virtualization Extensions. * gas/testsuite/gas/arm/attr-march-armv7-a+sec+virt.d: New test. * gas/testsuite/gas/arm/attr-march-armv7-a+virt.d: Likewise. * include/opcode/arm.h (ARM_EXT_VIRT): New define. (ARM_ARCH_V7A_IDIV_MP_SEC): Rename... (ARM_ARCH_V7A_IDIV_MP_SEC_VIRT): ...to this and include Virtualization Extensions. * opcodes/arm-dis.c (arm_opcodes): Add Virtualiztion Extensions support. (thumb32_opcodes): Likewise. (banked_regname): New function. (print_insn_arm): Add Virtualization Extensions support. (print_insn_thumb32): Likewise.
This commit is contained in:
parent
fa4115fd6e
commit
2b35bca98a
@ -1,3 +1,10 @@
|
||||
2010-09-23 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
|
||||
|
||||
* arm.h (ARM_EXT_VIRT): New define.
|
||||
(ARM_ARCH_V7A_IDIV_MP_SEC): Rename...
|
||||
(ARM_ARCH_V7A_IDIV_MP_SEC_VIRT): ...to this and include Virtualization
|
||||
Extensions.
|
||||
|
||||
2010-09-23 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
|
||||
|
||||
* arm.h (ARM_AEXT_ADIV): New define.
|
||||
|
@ -54,6 +54,7 @@
|
||||
#define ARM_EXT_OS 0x20000000 /* OS Extensions. */
|
||||
#define ARM_EXT_ADIV 0x40000000 /* Integer divide extensions in ARM
|
||||
state. */
|
||||
#define ARM_EXT_VIRT 0x80000000 /* Virtualization extensions. */
|
||||
|
||||
/* Co-processor space extensions. */
|
||||
#define ARM_CEXT_XSCALE 0x00000001 /* Allow MIA etc. */
|
||||
@ -222,10 +223,11 @@
|
||||
#define ARM_ARCH_V7A_MP_SEC \
|
||||
ARM_FEATURE (ARM_AEXT_V7A | ARM_EXT_MP | ARM_EXT_SEC, \
|
||||
0)
|
||||
/* v7-a+idiv+mp+sec. */
|
||||
#define ARM_ARCH_V7A_IDIV_MP_SEC \
|
||||
/* v7-a+idiv+mp+sec+virt. */
|
||||
#define ARM_ARCH_V7A_IDIV_MP_SEC_VIRT \
|
||||
ARM_FEATURE (ARM_AEXT_V7A | ARM_EXT_MP | ARM_EXT_SEC \
|
||||
| ARM_EXT_DIV | ARM_EXT_ADIV, 0)
|
||||
| ARM_EXT_DIV | ARM_EXT_ADIV \
|
||||
| ARM_EXT_VIRT, 0)
|
||||
|
||||
/* There are too many feature bits to fit in a single word, so use a
|
||||
structure. For simplicity we put all core features in one word and
|
||||
|
Loading…
x
Reference in New Issue
Block a user