mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 04:31:50 +00:00
73f91b0043
In cases where interrupts are not forwarded to the guest via firmware, KVM is responsible for ensuring delivery. When an interrupt presents with the forwarding bit, we must process the forwarding tables until all interrupts are delivered. Reviewed-by: Christian Borntraeger <borntraeger@linux.ibm.com> Reviewed-by: Pierre Morel <pmorel@linux.ibm.com> Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com> Link: https://lore.kernel.org/r/20220606203325.110625-14-mjrosato@linux.ibm.com Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>
38 lines
736 B
C
38 lines
736 B
C
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
#ifndef _ASM_S390_TPI_H
|
|
#define _ASM_S390_TPI_H
|
|
|
|
#include <linux/types.h>
|
|
#include <uapi/asm/schid.h>
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
/* I/O-Interruption Code as stored by TEST PENDING INTERRUPTION (TPI). */
|
|
struct tpi_info {
|
|
struct subchannel_id schid;
|
|
u32 intparm;
|
|
u32 adapter_IO:1;
|
|
u32 directed_irq:1;
|
|
u32 isc:3;
|
|
u32 :12;
|
|
u32 type:3;
|
|
u32 :12;
|
|
} __packed __aligned(4);
|
|
|
|
/* I/O-Interruption Code as stored by TPI for an Adapter I/O */
|
|
struct tpi_adapter_info {
|
|
u32 aism:8;
|
|
u32 :22;
|
|
u32 error:1;
|
|
u32 forward:1;
|
|
u32 reserved;
|
|
u32 adapter_IO:1;
|
|
u32 directed_irq:1;
|
|
u32 isc:3;
|
|
u32 :27;
|
|
} __packed __aligned(4);
|
|
|
|
#endif /* __ASSEMBLY__ */
|
|
|
|
#endif /* _ASM_S390_TPI_H */
|