/* * I/O instructions for S/390 * * Copyright 2012 IBM Corp. * Author(s): Cornelia Huck * * This work is licensed under the terms of the GNU GPL, version 2 or (at * your option) any later version. See the COPYING file in the top-level * directory. */ #include #include "cpu.h" #include "ioinst.h" int ioinst_disassemble_sch_ident(uint32_t value, int *m, int *cssid, int *ssid, int *schid) { if (!IOINST_SCHID_ONE(value)) { return -EINVAL; } if (!IOINST_SCHID_M(value)) { if (IOINST_SCHID_CSSID(value)) { return -EINVAL; } *cssid = 0; *m = 0; } else { *cssid = IOINST_SCHID_CSSID(value); *m = 1; } *ssid = IOINST_SCHID_SSID(value); *schid = IOINST_SCHID_NR(value); return 0; }