1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16#include "ia_css_device_access.h"
17#include <type_support.h>
18#include <system_local.h>
19#include <ia_css_env.h>
20#include <assert_support.h>
21
22static struct ia_css_hw_access_env my_env;
23
24void
25ia_css_device_access_init(const struct ia_css_hw_access_env *env)
26{
27 assert(env);
28
29 my_env = *env;
30}
31
32uint8_t
33ia_css_device_load_uint8(const hrt_address addr)
34{
35 return my_env.load_8(addr);
36}
37
38uint16_t
39ia_css_device_load_uint16(const hrt_address addr)
40{
41 return my_env.load_16(addr);
42}
43
44uint32_t
45ia_css_device_load_uint32(const hrt_address addr)
46{
47 return my_env.load_32(addr);
48}
49
50uint64_t
51ia_css_device_load_uint64(const hrt_address addr)
52{
53 assert(0);
54
55 (void)addr;
56 return 0;
57}
58
59void
60ia_css_device_store_uint8(const hrt_address addr, const uint8_t data)
61{
62 my_env.store_8(addr, data);
63}
64
65void
66ia_css_device_store_uint16(const hrt_address addr, const uint16_t data)
67{
68 my_env.store_16(addr, data);
69}
70
71void
72ia_css_device_store_uint32(const hrt_address addr, const uint32_t data)
73{
74 my_env.store_32(addr, data);
75}
76
77void
78ia_css_device_store_uint64(const hrt_address addr, const uint64_t data)
79{
80 assert(0);
81
82 (void)addr;
83 (void)data;
84}
85
86void
87ia_css_device_load(const hrt_address addr, void *data, const size_t size)
88{
89 my_env.load(addr, data, (uint32_t)size);
90}
91
92void
93ia_css_device_store(const hrt_address addr, const void *data, const size_t size)
94{
95 my_env.store(addr, data, (uint32_t)size);
96}
97