10
10
#include "qemu/log.h"
11
11
#include "qapi/error.h"
12
12
#include "hw/irq.h"
13
- #include "hw/sysbus.h"
14
13
#include "hw/loongarch/virt.h"
15
- #include "hw/qdev-properties.h"
16
14
#include "exec/address-spaces.h"
17
15
#include "hw/intc/loongarch_extioi.h"
18
- #include "migration/vmstate.h"
19
16
#include "trace.h"
20
17
21
18
22
- static void extioi_update_irq (LoongArchExtIOI * s , int irq , int level )
19
+ static void extioi_update_irq (LoongArchExtIOICommonState * s , int irq , int level )
23
20
{
24
21
int ipnum , cpu , found , irq_index , irq_mask ;
25
22
@@ -54,7 +51,7 @@ static void extioi_update_irq(LoongArchExtIOI *s, int irq, int level)
54
51
55
52
static void extioi_setirq (void * opaque , int irq , int level )
56
53
{
57
- LoongArchExtIOI * s = LOONGARCH_EXTIOI (opaque );
54
+ LoongArchExtIOICommonState * s = LOONGARCH_EXTIOI_COMMON (opaque );
58
55
trace_loongarch_extioi_setirq (irq , level );
59
56
if (level ) {
60
57
set_bit32 (irq , s -> isr );
@@ -67,7 +64,7 @@ static void extioi_setirq(void *opaque, int irq, int level)
67
64
static MemTxResult extioi_readw (void * opaque , hwaddr addr , uint64_t * data ,
68
65
unsigned size , MemTxAttrs attrs )
69
66
{
70
- LoongArchExtIOI * s = LOONGARCH_EXTIOI (opaque );
67
+ LoongArchExtIOICommonState * s = LOONGARCH_EXTIOI_COMMON (opaque );
71
68
unsigned long offset = addr & 0xffff ;
72
69
uint32_t index , cpu ;
73
70
@@ -106,7 +103,7 @@ static MemTxResult extioi_readw(void *opaque, hwaddr addr, uint64_t *data,
106
103
return MEMTX_OK ;
107
104
}
108
105
109
- static inline void extioi_enable_irq (LoongArchExtIOI * s , int index ,\
106
+ static inline void extioi_enable_irq (LoongArchExtIOICommonState * s , int index ,\
110
107
uint32_t mask , int level )
111
108
{
112
109
uint32_t val ;
@@ -125,8 +122,8 @@ static inline void extioi_enable_irq(LoongArchExtIOI *s, int index,\
125
122
}
126
123
}
127
124
128
- static inline void extioi_update_sw_coremap (LoongArchExtIOI * s , int irq ,
129
- uint64_t val , bool notify )
125
+ static inline void extioi_update_sw_coremap (LoongArchExtIOICommonState * s ,
126
+ int irq , uint64_t val , bool notify )
130
127
{
131
128
int i , cpu ;
132
129
@@ -162,8 +159,8 @@ static inline void extioi_update_sw_coremap(LoongArchExtIOI *s, int irq,
162
159
}
163
160
}
164
161
165
- static inline void extioi_update_sw_ipmap (LoongArchExtIOI * s , int index ,
166
- uint64_t val )
162
+ static inline void extioi_update_sw_ipmap (LoongArchExtIOICommonState * s ,
163
+ int index , uint64_t val )
167
164
{
168
165
int i ;
169
166
uint8_t ipnum ;
@@ -186,7 +183,7 @@ static MemTxResult extioi_writew(void *opaque, hwaddr addr,
186
183
uint64_t val , unsigned size ,
187
184
MemTxAttrs attrs )
188
185
{
189
- LoongArchExtIOI * s = LOONGARCH_EXTIOI (opaque );
186
+ LoongArchExtIOICommonState * s = LOONGARCH_EXTIOI_COMMON (opaque );
190
187
int cpu , index , old_data , irq ;
191
188
uint32_t offset ;
192
189
@@ -266,7 +263,7 @@ static const MemoryRegionOps extioi_ops = {
266
263
static MemTxResult extioi_virt_readw (void * opaque , hwaddr addr , uint64_t * data ,
267
264
unsigned size , MemTxAttrs attrs )
268
265
{
269
- LoongArchExtIOI * s = LOONGARCH_EXTIOI (opaque );
266
+ LoongArchExtIOICommonState * s = LOONGARCH_EXTIOI_COMMON (opaque );
270
267
271
268
switch (addr ) {
272
269
case EXTIOI_VIRT_FEATURES :
@@ -286,7 +283,7 @@ static MemTxResult extioi_virt_writew(void *opaque, hwaddr addr,
286
283
uint64_t val , unsigned size ,
287
284
MemTxAttrs attrs )
288
285
{
289
- LoongArchExtIOI * s = LOONGARCH_EXTIOI (opaque );
286
+ LoongArchExtIOICommonState * s = LOONGARCH_EXTIOI_COMMON (opaque );
290
287
291
288
switch (addr ) {
292
289
case EXTIOI_VIRT_FEATURES :
@@ -365,21 +362,21 @@ static void loongarch_extioi_realize(DeviceState *dev, Error **errp)
365
362
366
363
static void loongarch_extioi_unrealize (DeviceState * dev )
367
364
{
368
- LoongArchExtIOICommonState * s = LOONGARCH_EXTIOI (dev );
365
+ LoongArchExtIOICommonState * s = LOONGARCH_EXTIOI_COMMON (dev );
369
366
370
367
g_free (s -> cpu );
371
368
}
372
369
373
370
static void loongarch_extioi_reset (DeviceState * d )
374
371
{
375
- LoongArchExtIOI * s = LOONGARCH_EXTIOI (d );
372
+ LoongArchExtIOICommonState * s = LOONGARCH_EXTIOI_COMMON (d );
376
373
377
374
s -> status = 0 ;
378
375
}
379
376
380
377
static int vmstate_extioi_post_load (void * opaque , int version_id )
381
378
{
382
- LoongArchExtIOI * s = LOONGARCH_EXTIOI (opaque );
379
+ LoongArchExtIOICommonState * s = LOONGARCH_EXTIOI_COMMON (opaque );
383
380
int i , start_irq ;
384
381
385
382
for (i = 0 ; i < (EXTIOI_IRQS / 4 ); i ++ ) {
0 commit comments