From: Peter Maydell <peter.maydell@linaro.org>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PULL 08/19] target/arm: Fetch GICv3 state directly from CPUARMState
Date: Thu, 26 Apr 2018 11:47:04 +0100 [thread overview]
Message-ID: <20180426104715.21702-9-peter.maydell@linaro.org> (raw)
In-Reply-To: <20180426104715.21702-1-peter.maydell@linaro.org>
From: Aaron Lindsay <alindsay@codeaurora.org>
This eliminates the need for fetching it from el_change_hook_opaque, and
allows for supporting multiple el_change_hooks without having to hack
something together to find the registered opaque belonging to GICv3.
Signed-off-by: Aaron Lindsay <alindsay@codeaurora.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 1523997485-1905-6-git-send-email-alindsay@codeaurora.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
target/arm/cpu.h | 10 ----------
hw/intc/arm_gicv3_cpuif.c | 10 ++--------
2 files changed, 2 insertions(+), 18 deletions(-)
diff --git a/target/arm/cpu.h b/target/arm/cpu.h
index 19a0c03f9b..6bd8ff5917 100644
--- a/target/arm/cpu.h
+++ b/target/arm/cpu.h
@@ -2902,16 +2902,6 @@ static inline AddressSpace *arm_addressspace(CPUState *cs, MemTxAttrs attrs)
void arm_register_el_change_hook(ARMCPU *cpu, ARMELChangeHook *hook,
void *opaque);
-/**
- * arm_get_el_change_hook_opaque:
- * Return the opaque data that will be used by the el_change_hook
- * for this CPU.
- */
-static inline void *arm_get_el_change_hook_opaque(ARMCPU *cpu)
-{
- return cpu->el_change_hook_opaque;
-}
-
/**
* aa32_vfp_dreg:
* Return a pointer to the Dn register within env in 32-bit mode.
diff --git a/hw/intc/arm_gicv3_cpuif.c b/hw/intc/arm_gicv3_cpuif.c
index 26f5eeda94..cb9a3a542d 100644
--- a/hw/intc/arm_gicv3_cpuif.c
+++ b/hw/intc/arm_gicv3_cpuif.c
@@ -29,11 +29,7 @@ void gicv3_set_gicv3state(CPUState *cpu, GICv3CPUState *s)
static GICv3CPUState *icc_cs_from_env(CPUARMState *env)
{
- /* Given the CPU, find the right GICv3CPUState struct.
- * Since we registered the CPU interface with the EL change hook as
- * the opaque pointer, we can just directly get from the CPU to it.
- */
- return arm_get_el_change_hook_opaque(arm_env_get_cpu(env));
+ return env->gicv3state;
}
static bool gicv3_use_ns_bank(CPUARMState *env)
@@ -2615,9 +2611,7 @@ void gicv3_init_cpuif(GICv3State *s)
* it might be with code translated by CPU 0 but run by CPU 1, in
* which case we'd get the wrong value.
* So instead we define the regs with no ri->opaque info, and
- * get back to the GICv3CPUState from the ARMCPU by reading back
- * the opaque pointer from the el_change_hook, which we're going
- * to need to register anyway.
+ * get back to the GICv3CPUState from the CPUARMState.
*/
define_arm_cp_regs(cpu, gicv3_cpuif_reginfo);
if (arm_feature(&cpu->env, ARM_FEATURE_EL2)
--
2.17.0
next prev parent reply other threads:[~2018-04-26 10:47 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-26 10:46 [Qemu-devel] [PULL 00/19] target-arm queue Peter Maydell
2018-04-26 10:46 ` [Qemu-devel] [PULL 01/19] device_tree: Increase FDT_MAX_SIZE to 1 MiB Peter Maydell
2018-04-26 10:46 ` [Qemu-devel] [PULL 02/19] arm: always start from first_cpu when registering loader cpu reset callback Peter Maydell
2018-04-26 10:46 ` [Qemu-devel] [PULL 03/19] target/arm: Remove stale TODO comment Peter Maydell
2018-04-26 10:47 ` [Qemu-devel] [PULL 04/19] target/arm: Use v7m_stack_read() for reading the frame signature Peter Maydell
2018-04-26 10:47 ` [Qemu-devel] [PULL 05/19] target/arm: Check PMCNTEN for whether PMCCNTR is enabled Peter Maydell
2018-04-26 10:47 ` [Qemu-devel] [PULL 06/19] target/arm: Treat PMCCNTR as alias of PMCCNTR_EL0 Peter Maydell
2018-04-26 10:47 ` [Qemu-devel] [PULL 07/19] target/arm: Mask PMU register writes based on PMCR_EL0.N Peter Maydell
2018-04-26 10:47 ` Peter Maydell [this message]
2018-04-26 10:47 ` [Qemu-devel] [PULL 09/19] target/arm: Support multiple EL change hooks Peter Maydell
2018-04-26 10:47 ` [Qemu-devel] [PULL 10/19] target/arm: Add pre-EL " Peter Maydell
2018-04-26 10:47 ` [Qemu-devel] [PULL 11/19] target/arm: Allow EL change hooks to do IO Peter Maydell
2018-04-26 10:47 ` [Qemu-devel] [PULL 12/19] target/arm: Fix bitmask for PMCCFILTR writes Peter Maydell
2018-04-26 10:47 ` [Qemu-devel] [PULL 13/19] target/arm: Make PMOVSCLR and PMUSERENR 64 bits wide Peter Maydell
2018-04-26 10:47 ` [Qemu-devel] [PULL 14/19] hw/arm/raspi: Don't bother setting default_cpu_type Peter Maydell
2018-04-26 10:47 ` [Qemu-devel] [PULL 15/19] hw/arm/highbank: don't make sysram 'nomigrate' Peter Maydell
2018-04-26 22:03 ` Michael Clark
2018-04-27 10:10 ` Peter Maydell
2018-04-26 10:47 ` [Qemu-devel] [PULL 16/19] hw/arm/aspeed: don't make 'boot_rom' region 'nomigrate' Peter Maydell
2018-04-26 10:47 ` [Qemu-devel] [PULL 17/19] hw/arm/aspeed_soc: don't use vmstate_register_ram_global for SRAM Peter Maydell
2018-04-26 10:47 ` [Qemu-devel] [PULL 18/19] timer/aspeed: fix vmstate version id Peter Maydell
2018-04-26 10:47 ` [Qemu-devel] [PULL 19/19] xilinx_spips: Correct SNOOP_NONE state when flushing the txfifo Peter Maydell
2018-04-26 12:15 ` [Qemu-devel] [PULL 00/19] target-arm queue Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180426104715.21702-9-peter.maydell@linaro.org \
--to=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).