1 /****************************************************************************** 2 * config.h 3 * 4 * A Linux-style configuration list. 5 */ 6 7 #ifndef __XEN_CONFIG_H__ 8 #define __XEN_CONFIG_H__ 9 10 #include <xen/kconfig.h> 11 12 #ifndef __ASSEMBLY__ 13 #include <xen/compiler.h> 14 #endif 15 #include <asm/config.h> 16 17 #define EXPORT_SYMBOL(var) 18 19 /* 20 * The following log levels are as follows: 21 * 22 * XENLOG_ERR: Fatal errors, either Xen, Guest or Dom0 23 * is about to crash. 24 * 25 * XENLOG_WARNING: Something bad happened, but we can recover. 26 * 27 * XENLOG_INFO: Interesting stuff, but not too noisy. 28 * 29 * XENLOG_DEBUG: Use where ever you like. Lots of noise. 30 * 31 * 32 * Since we don't trust the guest operating system, we don't want 33 * it to allow for DoS by causing the HV to print out a lot of 34 * info, so where ever the guest has control of what is printed 35 * we use the XENLOG_GUEST to distinguish that the output is 36 * controlled by the guest. 37 * 38 * To make it easier on the typing, the above log levels all 39 * have a corresponding _G_ equivalent that appends the 40 * XENLOG_GUEST. (see the defines below). 41 * 42 */ 43 #define XENLOG_ERR "<0>" 44 #define XENLOG_WARNING "<1>" 45 #define XENLOG_INFO "<2>" 46 #define XENLOG_DEBUG "<3>" 47 48 #define XENLOG_GUEST "<G>" 49 50 #define XENLOG_G_ERR XENLOG_GUEST XENLOG_ERR 51 #define XENLOG_G_WARNING XENLOG_GUEST XENLOG_WARNING 52 #define XENLOG_G_INFO XENLOG_GUEST XENLOG_INFO 53 #define XENLOG_G_DEBUG XENLOG_GUEST XENLOG_DEBUG 54 55 /* 56 * Some code is copied directly from Linux. 57 * Match some of the Linux log levels to Xen. 58 */ 59 #define KERN_ERR XENLOG_ERR 60 #define KERN_CRIT XENLOG_ERR 61 #define KERN_EMERG XENLOG_ERR 62 #define KERN_WARNING XENLOG_WARNING 63 #define KERN_NOTICE XENLOG_INFO 64 #define KERN_INFO XENLOG_INFO 65 #define KERN_DEBUG XENLOG_DEBUG 66 67 /* Linux 'checker' project. */ 68 #define __iomem 69 #define __user 70 #define __force 71 #define __bitwise 72 73 #define KB(_kb) (_AC(_kb, ULL) << 10) 74 #define MB(_mb) (_AC(_mb, ULL) << 20) 75 #define GB(_gb) (_AC(_gb, ULL) << 30) 76 77 #define IS_ALIGNED(val, align) (((val) & ((align) - 1)) == 0) 78 79 #define __STR(...) #__VA_ARGS__ 80 #define STR(...) __STR(__VA_ARGS__) 81 82 /* allow existing code to work with Kconfig variable */ 83 #define NR_CPUS CONFIG_NR_CPUS 84 85 #ifndef CONFIG_DEBUG 86 #define NDEBUG 87 #endif 88 89 #endif /* __XEN_CONFIG_H__ */ 90