mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-02 20:04:49 +08:00
KVM: arm64: Warn when PENDING_EXCEPTION and INCREMENT_PC are set together
We really don't want PENDING_EXCEPTION and INCREMENT_PC to ever be set at the same time, as they are mutually exclusive. Add checks that will generate a warning should this ever happen. Reviewed-by: Fuad Tabba <tabba@google.com> Reviewed-by: Reiji Watanabe <reijiw@google.com> Signed-off-by: Marc Zyngier <maz@kernel.org>
This commit is contained in:
parent
30b6ab45f8
commit
e19f2c6cd1
@ -473,11 +473,13 @@ static inline unsigned long vcpu_data_host_to_guest(struct kvm_vcpu *vcpu,
|
|||||||
|
|
||||||
static __always_inline void kvm_incr_pc(struct kvm_vcpu *vcpu)
|
static __always_inline void kvm_incr_pc(struct kvm_vcpu *vcpu)
|
||||||
{
|
{
|
||||||
|
WARN_ON(vcpu_get_flag(vcpu, PENDING_EXCEPTION));
|
||||||
vcpu_set_flag(vcpu, INCREMENT_PC);
|
vcpu_set_flag(vcpu, INCREMENT_PC);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define kvm_pend_exception(v, e) \
|
#define kvm_pend_exception(v, e) \
|
||||||
do { \
|
do { \
|
||||||
|
WARN_ON(vcpu_get_flag((v), INCREMENT_PC)); \
|
||||||
vcpu_set_flag((v), PENDING_EXCEPTION); \
|
vcpu_set_flag((v), PENDING_EXCEPTION); \
|
||||||
vcpu_set_flag((v), e); \
|
vcpu_set_flag((v), e); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
Loading…
Reference in New Issue
Block a user