1*10465441SEvalZero /* 2*10465441SEvalZero * VMM startup file. 3*10465441SEvalZero * 4*10465441SEvalZero * COPYRIGHT (C) 2013-2014, Real-Thread Information Technology Ltd 5*10465441SEvalZero * All rights reserved 6*10465441SEvalZero * 7*10465441SEvalZero * SPDX-License-Identifier: Apache-2.0 8*10465441SEvalZero * 9*10465441SEvalZero * Change Logs: 10*10465441SEvalZero * Date Author Notes 11*10465441SEvalZero * 2013-06-15 Bernard the first verion 12*10465441SEvalZero */ 13*10465441SEvalZero 14*10465441SEvalZero #ifndef __VMM_H__ 15*10465441SEvalZero #define __VMM_H__ 16*10465441SEvalZero 17*10465441SEvalZero #ifndef __ASSEMBLY__ 18*10465441SEvalZero #include <stddef.h> // for size_t 19*10465441SEvalZero #endif 20*10465441SEvalZero 21*10465441SEvalZero #define VMM_VERIFY_GUEST 22*10465441SEvalZero 23*10465441SEvalZero #include <rtt_api.h> 24*10465441SEvalZero 25*10465441SEvalZero #ifndef __ASSEMBLY__ 26*10465441SEvalZero 27*10465441SEvalZero void vmm_iomap_init(struct vmm_iomap *iomap); 28*10465441SEvalZero unsigned long vmm_find_iomap(const char *name); 29*10465441SEvalZero unsigned long vmm_find_iomap_by_pa(unsigned long pa); 30*10465441SEvalZero 31*10465441SEvalZero void vmm_vector_init(void); 32*10465441SEvalZero 33*10465441SEvalZero #ifndef RT_USING_LOGTRACE 34*10465441SEvalZero /* If the rshell is run, we could not rt_kprintf in some situation because 35*10465441SEvalZero * write to a vbus channel *Would BLOCK*. So we cannot use it in interrupt 36*10465441SEvalZero * context, we cannot use it within the context of idle(vmm). */ 37*10465441SEvalZero #define vmm_debug(fmt, ...) 38*10465441SEvalZero #define vmm_verbose(fmt, ...) 39*10465441SEvalZero #define vmm_info(fmt, ...) 40*10465441SEvalZero #else // have RT_USING_LOGTRACE 41*10465441SEvalZero #define vmm_debug(fmt, ...) log_trace(LOG_TRACE_DEBUG "[vmm]"fmt, ##__VA_ARGS__) 42*10465441SEvalZero #define vmm_verbose(fmt, ...) log_trace(LOG_TRACE_VERBOSE"[vmm]"fmt, ##__VA_ARGS__) 43*10465441SEvalZero #define vmm_info(fmt, ...) log_trace(LOG_TRACE_INFO "[vmm]"fmt, ##__VA_ARGS__) 44*10465441SEvalZero #endif // RT_USING_LOGTRACE 45*10465441SEvalZero #endif 46*10465441SEvalZero 47*10465441SEvalZero #define ARRAY_SIZE(ar) (sizeof(ar)/sizeof(ar[0])) 48*10465441SEvalZero 49*10465441SEvalZero #endif 50