18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef S390_CIO_IOASM_H
38c2ecf20Sopenharmony_ci#define S390_CIO_IOASM_H
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#include <asm/chpid.h>
68c2ecf20Sopenharmony_ci#include <asm/schid.h>
78c2ecf20Sopenharmony_ci#include <asm/crw.h>
88c2ecf20Sopenharmony_ci#include "orb.h"
98c2ecf20Sopenharmony_ci#include "cio.h"
108c2ecf20Sopenharmony_ci#include "trace.h"
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci/*
138c2ecf20Sopenharmony_ci * Some S390 specific IO instructions
148c2ecf20Sopenharmony_ci */
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciint stsch(struct subchannel_id schid, struct schib *addr);
178c2ecf20Sopenharmony_ciint msch(struct subchannel_id schid, struct schib *addr);
188c2ecf20Sopenharmony_ciint tsch(struct subchannel_id schid, struct irb *addr);
198c2ecf20Sopenharmony_ciint ssch(struct subchannel_id schid, union orb *addr);
208c2ecf20Sopenharmony_ciint csch(struct subchannel_id schid);
218c2ecf20Sopenharmony_ciint tpi(struct tpi_info *addr);
228c2ecf20Sopenharmony_ciint chsc(void *chsc_area);
238c2ecf20Sopenharmony_ciint rsch(struct subchannel_id schid);
248c2ecf20Sopenharmony_ciint hsch(struct subchannel_id schid);
258c2ecf20Sopenharmony_ciint xsch(struct subchannel_id schid);
268c2ecf20Sopenharmony_ciint stcrw(struct crw *crw);
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci#endif
29