Loading arch/s390/include/asm/lowcore.h +9 −4 Original line number Diff line number Diff line Loading @@ -48,10 +48,15 @@ struct lowcore { __u8 pad_0x00a4[0x00a8-0x00a4]; /* 0x00a4 */ __u64 trans_exc_code; /* 0x00a8 */ __u64 monitor_code; /* 0x00b0 */ union { struct { __u16 subchannel_id; /* 0x00b8 */ __u16 subchannel_nr; /* 0x00ba */ __u32 io_int_parm; /* 0x00bc */ __u32 io_int_word; /* 0x00c0 */ }; struct tpi_info tpi_info; /* 0x00b8 */ }; __u8 pad_0x00c4[0x00c8-0x00c4]; /* 0x00c4 */ __u32 stfl_fac_list; /* 0x00c8 */ __u8 pad_0x00cc[0x00e8-0x00cc]; /* 0x00cc */ Loading arch/s390/kernel/irq.c +2 −2 Original line number Diff line number Diff line Loading @@ -146,8 +146,8 @@ void noinstr do_io_irq(struct pt_regs *regs) account_idle_time_irq(); do { memcpy(®s->int_code, &S390_lowcore.subchannel_id, 12); if (S390_lowcore.io_int_word & BIT(31)) regs->tpi_info = S390_lowcore.tpi_info; if (S390_lowcore.tpi_info.adapter_IO) do_irq_async(regs, THIN_INTERRUPT); else do_irq_async(regs, IO_INTERRUPT); Loading drivers/s390/cio/trace.h +2 −4 Original line number Diff line number Diff line Loading @@ -168,10 +168,8 @@ TRACE_EVENT(s390_cio_tpi, memset(&__entry->tpi_info, 0, sizeof(struct tpi_info)); else if (addr) __entry->tpi_info = *addr; else { memcpy(&__entry->tpi_info, &S390_lowcore.subchannel_id, sizeof(struct tpi_info)); } else __entry->tpi_info = S390_lowcore.tpi_info; __entry->cssid = __entry->tpi_info.schid.cssid; __entry->ssid = __entry->tpi_info.schid.ssid; __entry->schno = __entry->tpi_info.schid.sch_no; Loading Loading
arch/s390/include/asm/lowcore.h +9 −4 Original line number Diff line number Diff line Loading @@ -48,10 +48,15 @@ struct lowcore { __u8 pad_0x00a4[0x00a8-0x00a4]; /* 0x00a4 */ __u64 trans_exc_code; /* 0x00a8 */ __u64 monitor_code; /* 0x00b0 */ union { struct { __u16 subchannel_id; /* 0x00b8 */ __u16 subchannel_nr; /* 0x00ba */ __u32 io_int_parm; /* 0x00bc */ __u32 io_int_word; /* 0x00c0 */ }; struct tpi_info tpi_info; /* 0x00b8 */ }; __u8 pad_0x00c4[0x00c8-0x00c4]; /* 0x00c4 */ __u32 stfl_fac_list; /* 0x00c8 */ __u8 pad_0x00cc[0x00e8-0x00cc]; /* 0x00cc */ Loading
arch/s390/kernel/irq.c +2 −2 Original line number Diff line number Diff line Loading @@ -146,8 +146,8 @@ void noinstr do_io_irq(struct pt_regs *regs) account_idle_time_irq(); do { memcpy(®s->int_code, &S390_lowcore.subchannel_id, 12); if (S390_lowcore.io_int_word & BIT(31)) regs->tpi_info = S390_lowcore.tpi_info; if (S390_lowcore.tpi_info.adapter_IO) do_irq_async(regs, THIN_INTERRUPT); else do_irq_async(regs, IO_INTERRUPT); Loading
drivers/s390/cio/trace.h +2 −4 Original line number Diff line number Diff line Loading @@ -168,10 +168,8 @@ TRACE_EVENT(s390_cio_tpi, memset(&__entry->tpi_info, 0, sizeof(struct tpi_info)); else if (addr) __entry->tpi_info = *addr; else { memcpy(&__entry->tpi_info, &S390_lowcore.subchannel_id, sizeof(struct tpi_info)); } else __entry->tpi_info = S390_lowcore.tpi_info; __entry->cssid = __entry->tpi_info.schid.cssid; __entry->ssid = __entry->tpi_info.schid.ssid; __entry->schno = __entry->tpi_info.schid.sch_no; Loading