24
24
#define LD_P (size ) \
25
25
glue (glue(ld, size), glue(ENDIANNESS, _p))
26
26
27
+ static inline uint32_t ADDRESS_SPACE_LD_CACHED(uw)(MemoryRegionCache *cache,
28
+ hwaddr addr, MemTxAttrs attrs, MemTxResult *result)
29
+ {
30
+ assert (addr < cache->len && 2 <= cache->len - addr);
31
+ fuzz_dma_read_cb (cache->xlat + addr, 2 , cache->mrs .mr );
32
+ if (likely (cache->ptr )) {
33
+ return LD_P (uw)(cache->ptr + addr);
34
+ } else {
35
+ return ADDRESS_SPACE_LD_CACHED_SLOW (uw)(cache, addr, attrs, result);
36
+ }
37
+ }
38
+
27
39
static inline uint32_t ADDRESS_SPACE_LD_CACHED (l)(MemoryRegionCache *cache,
28
40
hwaddr addr, MemTxAttrs attrs, MemTxResult *result)
29
41
{
@@ -48,18 +60,6 @@ static inline uint64_t ADDRESS_SPACE_LD_CACHED(q)(MemoryRegionCache *cache,
48
60
}
49
61
}
50
62
51
- static inline uint32_t ADDRESS_SPACE_LD_CACHED (uw)(MemoryRegionCache *cache,
52
- hwaddr addr, MemTxAttrs attrs, MemTxResult *result)
53
- {
54
- assert (addr < cache->len && 2 <= cache->len - addr);
55
- fuzz_dma_read_cb (cache->xlat + addr, 2 , cache->mrs .mr );
56
- if (likely (cache->ptr )) {
57
- return LD_P (uw)(cache->ptr + addr);
58
- } else {
59
- return ADDRESS_SPACE_LD_CACHED_SLOW (uw)(cache, addr, attrs, result);
60
- }
61
- }
62
-
63
63
#undef ADDRESS_SPACE_LD_CACHED
64
64
#undef ADDRESS_SPACE_LD_CACHED_SLOW
65
65
#undef LD_P
@@ -71,25 +71,25 @@ static inline uint32_t ADDRESS_SPACE_LD_CACHED(uw)(MemoryRegionCache *cache,
71
71
#define ST_P (size ) \
72
72
glue (glue(st, size), glue(ENDIANNESS, _p))
73
73
74
- static inline void ADDRESS_SPACE_ST_CACHED(l )(MemoryRegionCache *cache,
74
+ static inline void ADDRESS_SPACE_ST_CACHED(w )(MemoryRegionCache *cache,
75
75
hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result)
76
76
{
77
- assert (addr < cache->len && 4 <= cache->len - addr);
77
+ assert (addr < cache->len && 2 <= cache->len - addr);
78
78
if (likely (cache->ptr )) {
79
- ST_P (l )(cache->ptr + addr, val);
79
+ ST_P (w )(cache->ptr + addr, val);
80
80
} else {
81
- ADDRESS_SPACE_ST_CACHED_SLOW (l )(cache, addr, val, attrs, result);
81
+ ADDRESS_SPACE_ST_CACHED_SLOW (w )(cache, addr, val, attrs, result);
82
82
}
83
83
}
84
84
85
- static inline void ADDRESS_SPACE_ST_CACHED (w )(MemoryRegionCache *cache,
85
+ static inline void ADDRESS_SPACE_ST_CACHED (l )(MemoryRegionCache *cache,
86
86
hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result)
87
87
{
88
- assert (addr < cache->len && 2 <= cache->len - addr);
88
+ assert (addr < cache->len && 4 <= cache->len - addr);
89
89
if (likely (cache->ptr )) {
90
- ST_P (w )(cache->ptr + addr, val);
90
+ ST_P (l )(cache->ptr + addr, val);
91
91
} else {
92
- ADDRESS_SPACE_ST_CACHED_SLOW (w )(cache, addr, val, attrs, result);
92
+ ADDRESS_SPACE_ST_CACHED_SLOW (l )(cache, addr, val, attrs, result);
93
93
}
94
94
}
95
95
0 commit comments