| /* |
| * Copyright 2017, Data61 |
| * Commonwealth Scientific and Industrial Research Organisation (CSIRO) |
| * ABN 41 687 119 230. |
| * |
| * This software may be distributed and modified according to the terms of |
| * the GNU General Public License version 2. Note that NO WARRANTY is provided. |
| * See "LICENSE_GPLv2.txt" for details. |
| * |
| * @TAG(DATA61_GPL) |
| */ |
| |
| #pragma once |
| |
| #include <autoconf.h> |
| #include <sel4vmm/gen_config.h> |
| #include "vmm/vmm.h" |
| |
| #ifndef COLOUR |
| #define COLOUR "\033[;1;%dm" |
| #define COLOUR_R "\033[;1;31m" |
| #define COLOUR_G "\033[;1;32m" |
| #define COLOUR_Y "\033[;1;33m" |
| #define COLOUR_B "\033[;1;34m" |
| #define COLOUR_M "\033[;1;35m" |
| #define COLOUR_C "\033[;1;36m" |
| #define COLOUR_RESET "\033[0m" |
| #endif |
| |
| #ifdef CONFIG_LIB_VMM_DEBUG |
| |
| #define DPRINTF(lvl, ...) \ |
| do{ \ |
| if(lvl <= 0 || lvl < CONFIG_LIB_VMM_DEBUG_LEVEL){ \ |
| printf("%s:%d | ", __func__, __LINE__); \ |
| printf(__VA_ARGS__); \ |
| } \ |
| }while(0) |
| |
| #define drun(lvl, cmd) \ |
| do{ \ |
| if(lvl < LIB_VMM_DEBUG_LEVEL){ \ |
| cmd; \ |
| } \ |
| }while(0) |
| |
| #else /* CONFIG_LIB_VMM_DEBUG */ |
| |
| #define DPRINTF(lvl, ...) do{ /* nothing */ }while(0) |
| #define drun() do{ /* nothing */ }while(0) |
| |
| #endif /* CONFIG_LIB_VMM_DEBUG */ |
| |
| #ifndef panic |
| #define panic(msg) \ |
| do{ \ |
| printf(COLOUR_R "!!!!!!!!!!!! LIBVMM PANIC !!!!!!!!!!!!! \n"\ |
| " @ %s: %d | %s\n" COLOUR_RESET, __func__, __LINE__, msg);\ |
| assert(!msg);\ |
| while(1);\ |
| }while(0) |
| #endif |
| |
| void vmm_print_guest_context(int, vmm_vcpu_t *); |
| |