/* Copyright (C) 2010 - 2013 UNISYS CORPORATION * All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or (at * your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or * NON INFRINGEMENT. See the GNU General Public License for more * details. */ /* Please note that this file is to be used ONLY for defining diagnostic * subsystem values for the appos (sPAR Linux service partitions) component. */ #ifndef __APPOS_SUBSYSTEMS_H__ #define __APPOS_SUBSYSTEMS_H__ #ifdef __KERNEL__ #include #include #else #include #include #endif static inline char * subsys_unknown_to_s(int subsys, char *s, int n) { snprintf(s, n, "SUBSYS-%-2.2d", subsys); s[n - 1] = '\0'; return s; } #define SUBSYS_TO_MASK(subsys) (1ULL << (subsys)) /* The first SUBSYS_APPOS_MAX subsystems are the same for each AppOS type * (IOVM, SMS, etc.) The rest have unique values for each AppOS type. */ #define SUBSYS_APPOS_MAX 16 #define SUBSYS_APPOS_DEFAULT 1 /* or "other" */ #define SUBSYS_APPOS_CHIPSET 2 /* controlvm and other */ /* low-level sPAR activity */ #define SUBSYS_APPOS_BUS 3 /* sPAR bus */ /* DAK #define SUBSYS_APPOS_DIAG 4 // diagnostics and dump */ #define SUBSYS_APPOS_CHANNELACCESS 5 /* generic channel access */ #define SUBSYS_APPOS_NICCLIENT 6 /* virtual NIC client */ #define SUBSYS_APPOS_HBACLIENT 7 /* virtual HBA client */ #define SUBSYS_APPOS_CONSOLESERIAL 8 /* sPAR virtual serial console */ #define SUBSYS_APPOS_UISLIB 9 /* */ #define SUBSYS_APPOS_VRTCUPDD 10 /* */ #define SUBSYS_APPOS_WATCHDOG 11 /* watchdog timer and healthcheck */ #define SUBSYS_APPOS_13 13 /* available */ #define SUBSYS_APPOS_14 14 /* available */ #define SUBSYS_APPOS_15 15 /* available */ #define SUBSYS_APPOS_16 16 /* available */ static inline char * subsys_generic_to_s(int subsys, char *s, int n) { switch (subsys) { case SUBSYS_APPOS_DEFAULT: strncpy(s, "APPOS_DEFAULT", n); break; case SUBSYS_APPOS_CHIPSET: strncpy(s, "APPOS_CHIPSET", n); break; case SUBSYS_APPOS_BUS: strncpy(s, "APPOS_BUS", n); break; case SUBSYS_APPOS_CHANNELACCESS: strncpy(s, "APPOS_CHANNELACCESS", n); break; case SUBSYS_APPOS_NICCLIENT: strncpy(s, "APPOS_NICCLIENT", n); break; case SUBSYS_APPOS_HBACLIENT: strncpy(s, "APPOS_HBACLIENT", n); break; case SUBSYS_APPOS_CONSOLESERIAL: strncpy(s, "APPOS_CONSOLESERIAL", n); break; case SUBSYS_APPOS_UISLIB: strncpy(s, "APPOS_UISLIB", n); break; case SUBSYS_APPOS_VRTCUPDD: strncpy(s, "APPOS_VRTCUPDD", n); break; case SUBSYS_APPOS_WATCHDOG: strncpy(s, "APPOS_WATCHDOG", n); break; case SUBSYS_APPOS_13: strncpy(s, "APPOS_13", n); break; case SUBSYS_APPOS_14: strncpy(s, "APPOS_14", n); break; case SUBSYS_APPOS_15: strncpy(s, "APPOS_15", n); break; case SUBSYS_APPOS_16: strncpy(s, "APPOS_16", n); break; default: subsys_unknown_to_s(subsys, s, n); break; } s[n - 1] = '\0'; return s; } /* CONSOLE */ #define SUBSYS_CONSOLE_VIDEO (SUBSYS_APPOS_MAX + 1) /* 17 */ #define SUBSYS_CONSOLE_KBDMOU (SUBSYS_APPOS_MAX + 2) /* 18 */ #define SUBSYS_CONSOLE_04 (SUBSYS_APPOS_MAX + 4) #define SUBSYS_CONSOLE_05 (SUBSYS_APPOS_MAX + 5) #define SUBSYS_CONSOLE_06 (SUBSYS_APPOS_MAX + 6) #define SUBSYS_CONSOLE_07 (SUBSYS_APPOS_MAX + 7) #define SUBSYS_CONSOLE_08 (SUBSYS_APPOS_MAX + 8) #define SUBSYS_CONSOLE_09 (SUBSYS_APPOS_MAX + 9) #define SUBSYS_CONSOLE_10 (SUBSYS_APPOS_MAX + 10) #define SUBSYS_CONSOLE_11 (SUBSYS_APPOS_MAX + 11) #define SUBSYS_CONSOLE_12 (SUBSYS_APPOS_MAX + 12) #define SUBSYS_CONSOLE_13 (SUBSYS_APPOS_MAX + 13) #define SUBSYS_CONSOLE_14 (SUBSYS_APPOS_MAX + 14) #define SUBSYS_CONSOLE_15 (SUBSYS_APPOS_MAX + 15) #define SUBSYS_CONSOLE_16 (SUBSYS_APPOS_MAX + 16) #define SUBSYS_CONSOLE_17 (SUBSYS_APPOS_MAX + 17) #define SUBSYS_CONSOLE_18 (SUBSYS_APPOS_MAX + 18) #define SUBSYS_CONSOLE_19 (SUBSYS_APPOS_MAX + 19) #define SUBSYS_CONSOLE_20 (SUBSYS_APPOS_MAX + 20) #define SUBSYS_CONSOLE_21 (SUBSYS_APPOS_MAX + 21) #define SUBSYS_CONSOLE_22 (SUBSYS_APPOS_MAX + 22) #define SUBSYS_CONSOLE_23 (SUBSYS_APPOS_MAX + 23) #define SUBSYS_CONSOLE_24 (SUBSYS_APPOS_MAX + 24) #define SUBSYS_CONSOLE_25 (SUBSYS_APPOS_MAX + 25) #define SUBSYS_CONSOLE_26 (SUBSYS_APPOS_MAX + 26) #define SUBSYS_CONSOLE_27 (SUBSYS_APPOS_MAX + 27) #define SUBSYS_CONSOLE_28 (SUBSYS_APPOS_MAX + 28) #define SUBSYS_CONSOLE_29 (SUBSYS_APPOS_MAX + 29) #define SUBSYS_CONSOLE_30 (SUBSYS_APPOS_MAX + 30) #define SUBSYS_CONSOLE_31 (SUBSYS_APPOS_MAX + 31) #define SUBSYS_CONSOLE_32 (SUBSYS_APPOS_MAX + 32) #define SUBSYS_CONSOLE_33 (SUBSYS_APPOS_MAX + 33) #define SUBSYS_CONSOLE_34 (SUBSYS_APPOS_MAX + 34) #define SUBSYS_CONSOLE_35 (SUBSYS_APPOS_MAX + 35) #define SUBSYS_CONSOLE_36 (SUBSYS_APPOS_MAX + 36) #define SUBSYS_CONSOLE_37 (SUBSYS_APPOS_MAX + 37) #define SUBSYS_CONSOLE_38 (SUBSYS_APPOS_MAX + 38) #define SUBSYS_CONSOLE_39 (SUBSYS_APPOS_MAX + 39) #define SUBSYS_CONSOLE_40 (SUBSYS_APPOS_MAX + 40) #define SUBSYS_CONSOLE_41 (SUBSYS_APPOS_MAX + 41) #define SUBSYS_CONSOLE_42 (SUBSYS_APPOS_MAX + 42) #define SUBSYS_CONSOLE_43 (SUBSYS_APPOS_MAX + 43) #define SUBSYS_CONSOLE_44 (SUBSYS_APPOS_MAX + 44) #define SUBSYS_CONSOLE_45 (SUBSYS_APPOS_MAX + 45) #define SUBSYS_CONSOLE_46 (SUBSYS_APPOS_MAX + 46) static inline char * subsys_console_to_s(int subsys, char *s, int n) { switch (subsys) { case SUBSYS_CONSOLE_VIDEO: strncpy(s, "CONSOLE_VIDEO", n); break; case SUBSYS_CONSOLE_KBDMOU: strncpy(s, "CONSOLE_KBDMOU", n); break; case SUBSYS_CONSOLE_04: strncpy(s, "CONSOLE_04", n); break; case SUBSYS_CONSOLE_05: strncpy(s, "CONSOLE_05", n); break; case SUBSYS_CONSOLE_06: strncpy(s, "CONSOLE_06", n); break; case SUBSYS_CONSOLE_07: strncpy(s, "CONSOLE_07", n); break; case SUBSYS_CONSOLE_08: strncpy(s, "CONSOLE_08", n); break; case SUBSYS_CONSOLE_09: strncpy(s, "CONSOLE_09", n); break; case SUBSYS_CONSOLE_10: strncpy(s, "CONSOLE_10", n); break; case SUBSYS_CONSOLE_11: strncpy(s, "CONSOLE_11", n); break; case SUBSYS_CONSOLE_12: strncpy(s, "CONSOLE_12", n); break; case SUBSYS_CONSOLE_13: strncpy(s, "CONSOLE_13", n); break; case SUBSYS_CONSOLE_14: strncpy(s, "CONSOLE_14", n); break; case SUBSYS_CONSOLE_15: strncpy(s, "CONSOLE_15", n); break; case SUBSYS_CONSOLE_16: strncpy(s, "CONSOLE_16", n); break; case SUBSYS_CONSOLE_17: strncpy(s, "CONSOLE_17", n); break; case SUBSYS_CONSOLE_18: strncpy(s, "CONSOLE_18", n); break; case SUBSYS_CONSOLE_19: strncpy(s, "CONSOLE_19", n); break; case SUBSYS_CONSOLE_20: strncpy(s, "CONSOLE_20", n); break; case SUBSYS_CONSOLE_21: strncpy(s, "CONSOLE_21", n); break; case SUBSYS_CONSOLE_22: strncpy(s, "CONSOLE_22", n); break; case SUBSYS_CONSOLE_23: strncpy(s, "CONSOLE_23", n); break; case SUBSYS_CONSOLE_24: strncpy(s, "CONSOLE_24", n); break; case SUBSYS_CONSOLE_25: strncpy(s, "CONSOLE_25", n); break; case SUBSYS_CONSOLE_26: strncpy(s, "CONSOLE_26", n); break; case SUBSYS_CONSOLE_27: strncpy(s, "CONSOLE_27", n); break; case SUBSYS_CONSOLE_28: strncpy(s, "CONSOLE_28", n); break; case SUBSYS_CONSOLE_29: strncpy(s, "CONSOLE_29", n); break; case SUBSYS_CONSOLE_30: strncpy(s, "CONSOLE_30", n); break; case SUBSYS_CONSOLE_31: strncpy(s, "CONSOLE_31", n); break; case SUBSYS_CONSOLE_32: strncpy(s, "CONSOLE_32", n); break; case SUBSYS_CONSOLE_33: strncpy(s, "CONSOLE_33", n); break; case SUBSYS_CONSOLE_34: strncpy(s, "CONSOLE_34", n); break; case SUBSYS_CONSOLE_35: strncpy(s, "CONSOLE_35", n); break; case SUBSYS_CONSOLE_36: strncpy(s, "CONSOLE_36", n); break; case SUBSYS_CONSOLE_37: strncpy(s, "CONSOLE_37", n); break; case SUBSYS_CONSOLE_38: strncpy(s, "CONSOLE_38", n); break; case SUBSYS_CONSOLE_39: strncpy(s, "CONSOLE_39", n); break; case SUBSYS_CONSOLE_40: strncpy(s, "CONSOLE_40", n); break; case SUBSYS_CONSOLE_41: strncpy(s, "CONSOLE_41", n); break; case SUBSYS_CONSOLE_42: strncpy(s, "CONSOLE_42", n); break; case SUBSYS_CONSOLE_43: strncpy(s, "CONSOLE_43", n); break; case SUBSYS_CONSOLE_44: strncpy(s, "CONSOLE_44", n); break; case SUBSYS_CONSOLE_45: strncpy(s, "CONSOLE_45", n); break; case SUBSYS_CONSOLE_46: strncpy(s, "CONSOLE_46", n); break; default: subsys_unknown_to_s(subsys, s, n); break; } s[n - 1] = '\0'; return s; } #endif