[PATCH ARM 6/6]: Architectural Extensions - Virtualization Extensions

Matthew Gretton-Dann matthew.gretton-dann@arm.com
Thu Sep 23 09:24:00 GMT 2010


All,

The attached patch adds support for the Virtualization Extensions to
v7-A under the 'virt' extension.

The main features of this patch are to add support for the HVC and ERET 
instructions, and to also add support for the new special registers
which MRS and MSR accept.  Also note that the 'virt' extension implies
the 'idiv' extension.

Proposed ChangeLogs:

bfd/ChangeLog:
	* bfd-in2.h (BFD_RELOC_ARM_HVC): Add.

gas/ChangeLog:
2010-09-22  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/tc-arm.c (arm_ext_virt): Add.
	(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): Add.
	(do_t_mrs): Add support for Virtualization Extensions.
	(do_t_msr): Likewise.
	(do_t_hvc): Add.
	(SPLRBANK): Likewise.
	(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.
	doc/c-arm.texi: Document 'virt' extension.

gas/testsuite/ChangeLog:
2010-09-22  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* gas/arm/armv7-a+virt.d: New test.
	* gas/arm/armv7-a+virt.s: Likewise.
	* gas/arm/attr-march-all.d: Update for Virtualization 
	Extensions.
	* gas/arm/attr-march-armv7-a+sec+virt.d: New test.
	* gas/arm/attr-march-armv7-a+virt.d: Likewise.

include/opcode/ChangeLog:
2010-09-22  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* arm.h (ARM_EXT_VIRT): Add.
	(ARM_ARCH_V7A_IDIV_MP_SEC): Rename...
	(ARM_ARCH_V7A_IDIV_MP_SEC_VIRT): ...to this and include 
	Virtualization Extensions.

opcodes/ChangeLog:
2010-09-22  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	arm-dis.c (arm_opcodes): Add Virtualiztion Extensions support.
	(thumb32_opcodes): Likewise.
	(banked_regname): Add.
	(print_insn_arm): Add Virtualization Extensions support.
	(print_insn_thumb32): Likewise.

Thanks,

Matt

-- 
Matthew Gretton-Dann
Principal Engineer - PDSW Tools
ARM Ltd
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 1009-006-arch-extensions-virt.patch
Type: text/x-patch
Size: 33795 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20100923/335b0cdf/attachment.bin>


More information about the Binutils mailing list