Revision 8da3ff18 hw/versatilepb.c
b/hw/versatilepb.c | ||
---|---|---|
20 | 20 |
|
21 | 21 |
typedef struct vpb_sic_state |
22 | 22 |
{ |
23 |
uint32_t base; |
|
24 | 23 |
uint32_t level; |
25 | 24 |
uint32_t mask; |
26 | 25 |
uint32_t pic_enable; |
... | ... | |
65 | 64 |
{ |
66 | 65 |
vpb_sic_state *s = (vpb_sic_state *)opaque; |
67 | 66 |
|
68 |
offset -= s->base; |
|
69 | 67 |
switch (offset >> 2) { |
70 | 68 |
case 0: /* STATUS */ |
71 | 69 |
return s->level & s->mask; |
... | ... | |
87 | 85 |
uint32_t value) |
88 | 86 |
{ |
89 | 87 |
vpb_sic_state *s = (vpb_sic_state *)opaque; |
90 |
offset -= s->base; |
|
91 | 88 |
|
92 | 89 |
switch (offset >> 2) { |
93 | 90 |
case 2: /* ENSET */ |
... | ... | |
141 | 138 |
if (!s) |
142 | 139 |
return NULL; |
143 | 140 |
qi = qemu_allocate_irqs(vpb_sic_set_irq, s, 32); |
144 |
s->base = base; |
|
145 | 141 |
s->parent = parent; |
146 | 142 |
s->irq = irq; |
147 | 143 |
iomemtype = cpu_register_io_memory(0, vpb_sic_readfn, |
Also available in: Unified diff