^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #ifndef S390_CIO_IOASM_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define S390_CIO_IOASM_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #include <asm/chpid.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #include <asm/schid.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #include <asm/crw.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #include "orb.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #include "cio.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #include "trace.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) * Some S390 specific IO instructions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) int stsch(struct subchannel_id schid, struct schib *addr);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) int msch(struct subchannel_id schid, struct schib *addr);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) int tsch(struct subchannel_id schid, struct irb *addr);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) int ssch(struct subchannel_id schid, union orb *addr);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) int csch(struct subchannel_id schid);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) int tpi(struct tpi_info *addr);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) int chsc(void *chsc_area);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) int rsch(struct subchannel_id schid);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) int hsch(struct subchannel_id schid);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) int xsch(struct subchannel_id schid);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) int stcrw(struct crw *crw);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) #endif