s390x/flic: cache the common flic class in a central function

This avoids tons of conversions when handling interrupts.

Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20180129125623.21729-19-david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
This commit is contained in:
David Hildenbrand 2018-01-29 13:56:23 +01:00 committed by Cornelia Huck
parent c21a6106c1
commit 6762808fda
5 changed files with 23 additions and 11 deletions

View file

@ -134,7 +134,7 @@ void cpu_inject_stop(S390CPU *cpu)
void s390_sclp_extint(uint32_t parm)
{
S390FLICState *fs = s390_get_flic();
S390FLICStateClass *fsc = S390_FLIC_COMMON_GET_CLASS(fs);
S390FLICStateClass *fsc = s390_get_flic_class(fs);
fsc->inject_service(fs, parm);
}
@ -143,7 +143,7 @@ void s390_io_interrupt(uint16_t subchannel_id, uint16_t subchannel_nr,
uint32_t io_int_parm, uint32_t io_int_word)
{
S390FLICState *fs = s390_get_flic();
S390FLICStateClass *fsc = S390_FLIC_COMMON_GET_CLASS(fs);
S390FLICStateClass *fsc = s390_get_flic_class(fs);
fsc->inject_io(fs, subchannel_id, subchannel_nr, io_int_parm, io_int_word);
}
@ -151,7 +151,7 @@ void s390_io_interrupt(uint16_t subchannel_id, uint16_t subchannel_nr,
void s390_crw_mchk(void)
{
S390FLICState *fs = s390_get_flic();
S390FLICStateClass *fsc = S390_FLIC_COMMON_GET_CLASS(fs);
S390FLICStateClass *fsc = s390_get_flic_class(fs);
fsc->inject_crw_mchk(fs);
}