@@ -30,13 +30,10 @@ static inline uint32_t glue(address_space_ldl_internal, SUFFIX)(struct uc_struct
30
30
hwaddr l = 4 ;
31
31
hwaddr addr1 ;
32
32
MemTxResult r ;
33
- bool release_lock = false;
34
33
35
34
//RCU_READ_LOCK();
36
35
mr = TRANSLATE (addr , & addr1 , & l , false, attrs );
37
36
if (l < 4 || !memory_access_is_direct (mr , false)) {
38
- release_lock |= prepare_mmio_access (mr );
39
-
40
37
/* I/O case */
41
38
r = memory_region_dispatch_read (uc , mr , addr1 , & val ,
42
39
MO_32 | devend_memop (endian ), attrs );
@@ -95,13 +92,10 @@ static inline uint64_t glue(address_space_ldq_internal, SUFFIX)(struct uc_struct
95
92
hwaddr l = 8 ;
96
93
hwaddr addr1 ;
97
94
MemTxResult r ;
98
- bool release_lock = false;
99
95
100
96
//RCU_READ_LOCK();
101
97
mr = TRANSLATE (addr , & addr1 , & l , false, attrs );
102
98
if (l < 8 || !memory_access_is_direct (mr , false)) {
103
- release_lock |= prepare_mmio_access (mr );
104
-
105
99
/* I/O case */
106
100
r = memory_region_dispatch_read (uc , mr , addr1 , & val ,
107
101
MO_64 | devend_memop (endian ), attrs );
@@ -158,13 +152,10 @@ uint32_t glue(address_space_ldub, SUFFIX)(struct uc_struct *uc, ARG1_DECL,
158
152
hwaddr l = 1 ;
159
153
hwaddr addr1 ;
160
154
MemTxResult r ;
161
- bool release_lock = false;
162
155
163
156
//RCU_READ_LOCK();
164
157
mr = TRANSLATE (addr , & addr1 , & l , false, attrs );
165
158
if (!memory_access_is_direct (mr , false)) {
166
- release_lock |= prepare_mmio_access (mr );
167
-
168
159
/* I/O case */
169
160
r = memory_region_dispatch_read (uc , mr , addr1 , & val , MO_8 , attrs );
170
161
} else {
@@ -191,13 +182,10 @@ static inline uint32_t glue(address_space_lduw_internal, SUFFIX)(struct uc_struc
191
182
hwaddr l = 2 ;
192
183
hwaddr addr1 ;
193
184
MemTxResult r ;
194
- bool release_lock = false;
195
185
196
186
//RCU_READ_LOCK();
197
187
mr = TRANSLATE (addr , & addr1 , & l , false, attrs );
198
188
if (l < 2 || !memory_access_is_direct (mr , false)) {
199
- release_lock |= prepare_mmio_access (mr );
200
-
201
189
/* I/O case */
202
190
r = memory_region_dispatch_read (uc , mr , addr1 , & val ,
203
191
MO_16 | devend_memop (endian ), attrs );
@@ -256,13 +244,10 @@ void glue(address_space_stl_notdirty, SUFFIX)(struct uc_struct *uc, ARG1_DECL,
256
244
hwaddr l = 4 ;
257
245
hwaddr addr1 ;
258
246
MemTxResult r ;
259
- bool release_lock = false;
260
247
261
248
//RCU_READ_LOCK();
262
249
mr = TRANSLATE (addr , & addr1 , & l , true, attrs );
263
250
if (l < 4 || !memory_access_is_direct (mr , true)) {
264
- release_lock |= prepare_mmio_access (mr );
265
-
266
251
r = memory_region_dispatch_write (uc , mr , addr1 , val , MO_32 , attrs );
267
252
} else {
268
253
ptr = qemu_map_ram_ptr (mr -> uc , mr -> ram_block , addr1 );
@@ -286,12 +271,10 @@ static inline void glue(address_space_stl_internal, SUFFIX)(struct uc_struct *uc
286
271
hwaddr l = 4 ;
287
272
hwaddr addr1 ;
288
273
MemTxResult r ;
289
- bool release_lock = false;
290
274
291
275
//RCU_READ_LOCK();
292
276
mr = TRANSLATE (addr , & addr1 , & l , true, attrs );
293
277
if (l < 4 || !memory_access_is_direct (mr , true)) {
294
- release_lock |= prepare_mmio_access (mr );
295
278
r = memory_region_dispatch_write (uc , mr , addr1 , val ,
296
279
MO_32 | devend_memop (endian ), attrs );
297
280
} else {
@@ -346,12 +329,10 @@ void glue(address_space_stb, SUFFIX)(struct uc_struct *uc, ARG1_DECL,
346
329
hwaddr l = 1 ;
347
330
hwaddr addr1 ;
348
331
MemTxResult r ;
349
- bool release_lock = false;
350
332
351
333
//RCU_READ_LOCK();
352
334
mr = TRANSLATE (addr , & addr1 , & l , true, attrs );
353
335
if (!memory_access_is_direct (mr , true)) {
354
- release_lock |= prepare_mmio_access (mr );
355
336
r = memory_region_dispatch_write (uc , mr , addr1 , val , MO_8 , attrs );
356
337
} else {
357
338
/* RAM case */
@@ -376,12 +357,10 @@ static inline void glue(address_space_stw_internal, SUFFIX)(struct uc_struct *uc
376
357
hwaddr l = 2 ;
377
358
hwaddr addr1 ;
378
359
MemTxResult r ;
379
- bool release_lock = false;
380
360
381
361
//RCU_READ_LOCK();
382
362
mr = TRANSLATE (addr , & addr1 , & l , true, attrs );
383
363
if (l < 2 || !memory_access_is_direct (mr , true)) {
384
- release_lock |= prepare_mmio_access (mr );
385
364
r = memory_region_dispatch_write (uc , mr , addr1 , val ,
386
365
MO_16 | devend_memop (endian ), attrs );
387
366
} else {
@@ -437,12 +416,10 @@ static void glue(address_space_stq_internal, SUFFIX)(struct uc_struct *uc, ARG1_
437
416
hwaddr l = 8 ;
438
417
hwaddr addr1 ;
439
418
MemTxResult r ;
440
- bool release_lock = false;
441
419
442
420
//RCU_READ_LOCK();
443
421
mr = TRANSLATE (addr , & addr1 , & l , true, attrs );
444
422
if (l < 8 || !memory_access_is_direct (mr , true)) {
445
- release_lock |= prepare_mmio_access (mr );
446
423
r = memory_region_dispatch_write (uc , mr , addr1 , val ,
447
424
MO_64 | devend_memop (endian ), attrs );
448
425
} else {
0 commit comments