aboutsummaryrefslogtreecommitdiff
path: root/include/qemu/buffer.h
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2022-01-07 17:07:59 +0000
committerPeter Maydell <peter.maydell@linaro.org>2022-01-07 17:07:59 +0000
commit764d6ba10cce25d20ef9f3e11a83a9783dadf65f (patch)
treef551cacd12bb29cbeb0e774bb2fea33bf6202e9a /include/qemu/buffer.h
parent9ae85431902dfa6dba594d639d1a37d709c56a73 (diff)
downloadqemu-764d6ba10cce25d20ef9f3e11a83a9783dadf65f.zip
qemu-764d6ba10cce25d20ef9f3e11a83a9783dadf65f.tar.gz
qemu-764d6ba10cce25d20ef9f3e11a83a9783dadf65f.tar.bz2
hw/intc/arm_gicv3_its: Don't misuse GITS_TYPE_PHYSICAL define
The GITS_TYPE_PHYSICAL define is the value we set the GITS_TYPER.Physical field to -- this is 1 to indicate that we support physical LPIs. (Support for virtual LPIs is the GITS_TYPER.Virtual field.) We also use this define as the *value* that we write into an interrupt translation table entry's INTTYPE field, which should be 1 for a physical interrupt and 0 for a virtual interrupt. Finally, we use it as a *mask* when we read the interrupt translation table entry INTTYPE field. Untangle this confusion: define an ITE_INTTYPE_VIRTUAL and ITE_INTTYPE_PHYSICAL to be the valid values of the ITE INTTYPE field, and replace the ad-hoc collection of ITE_ENTRY_* defines with use of the FIELD() macro to define the fields of an ITE and the FIELD_EX64() and FIELD_DP64() macros to read and write them. We use ITE in the new setup, rather than ITE_ENTRY, because ITE stands for "Interrupt translation entry" and so the extra "entry" would be redundant. We take the opportunity to correct the name of the field that holds the GICv4 'doorbell' interrupt ID (this is always the value 1023 in a GICv3, which is why we were calling it the 'spurious' field). The GITS_TYPE_PHYSICAL define is then used in only one place, where we set the initial GITS_TYPER value. Since GITS_TYPER.Physical is essentially a boolean, hiding the '1' value behind a macro is more confusing than helpful, so expand out the macro there and remove the define entirely. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'include/qemu/buffer.h')
0 files changed, 0 insertions, 0 deletions