1 /*
2 * Copyright (c) 2014, Mentor Graphics Corporation
3 * All rights reserved.
4 * Copyright (c) 2015 Xilinx, Inc. All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are met:
8 *
9 * 1. Redistributions of source code must retain the above copyright notice,
10 * this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright notice,
12 * this list of conditions and the following disclaimer in the documentation
13 * and/or other materials provided with the distribution.
14 * 3. Neither the name of Mentor Graphics Corporation nor the names of its
15 * contributors may be used to endorse or promote products derived from this
16 * software without specific prior written permission.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 * POSSIBILITY OF SUCH DAMAGE.
29 */
31 /**************************************************************************
32 * FILE NAME
33 *
34 * env.h
35 *
36 * COMPONENT
37 *
38 * OpenAMP stack.
39 *
40 * DESCRIPTION
41 *
42 * This file defines abstraction layer for OpenAMP stack. The implementor
43 * must provide definition of all the functions.
44 *
45 * DATA STRUCTURES
46 *
47 * none
48 *
49 * FUNCTIONS
50 *
51 * env_allocate_memory
52 * env_free_memory
53 * env_map_vatopa
54 * env_map_patova
55 * env_sleep_msec
56 * env_disable_interrupts
57 * env_restore_interrupts
58 *
59 **************************************************************************/
60 #ifndef _ENV_H_
61 #define _ENV_H_
63 #include <stdio.h>
65 #define openamp_print(format, ...) printf(format, ##__VA_ARGS__)
67 #ifdef OPENAMP_DEBUG
68 #define openamp_dbg(format, ...) openamp_print(i"DEBUG: " format, ##__VA_ARGS__)
69 #else
70 #define openamp_dbg(...)
71 #endif
73 /**
74 * env_sleep_msec
75 *
76 * Suspends the calling thread for given time in msecs.
77 *
78 * @param num_msec - delay in msecs
79 */
80 void env_sleep_msec(int num_msec);
82 /**
83 * env_get_timestamp
84 *
85 * Returns a 64 bit time stamp.
86 *
87 *
88 */
89 unsigned long long env_get_timestamp(void);
91 #endif /* _ENV_H_ */