target-arm: Code changes to implement overwrite of tag field on PC load
commit6feecb8b941f2d21e5645d0b6e0cdb776998121b
authorThomas Hanson <thomas.hanson@linaro.org>
Mon, 17 Oct 2016 18:22:18 +0000 (17 19:22 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 17 Oct 2016 18:22:18 +0000 (17 19:22 +0100)
tree097bd46371f9446569f5dce9c76960430c602199
parent86fb3fa4ed5873b021a362ea26a021f4aeab1bb4
target-arm: Code changes to implement overwrite of tag field on PC load

For BR, BLR and RET instructions, if tagged addresses are enabled, the
tag field in the address must be cleared out prior to loading the
address into the PC.  Depending on the current EL, it will be set to
either all 0's or all 1's.

Signed-off-by: Thomas Hanson <thomas.hanson@linaro.org>
Message-id: 1476301853-15774-3-git-send-email-thomas.hanson@linaro.org
[PMM: remove unnecessary gen_a64_set_pc_reg() wrapper,
 rename gen_a64_set_pc_var() to gen_a64_set_pc(), fix stray
 misindentation]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target-arm/translate-a64.c