Revision 8da3ff18 hw/r2d.c
b/hw/r2d.c | ||
---|---|---|
39 | 39 |
#define PA_OUTPORT 0x36 |
40 | 40 |
|
41 | 41 |
typedef struct { |
42 |
target_phys_addr_t base; |
|
43 |
|
|
44 | 42 |
uint16_t bcr; |
45 | 43 |
uint16_t irlmon; |
46 | 44 |
uint16_t cfctl; |
... | ... | |
68 | 66 |
{ |
69 | 67 |
r2d_fpga_t *s = opaque; |
70 | 68 |
|
71 |
addr -= s->base; |
|
72 |
|
|
73 | 69 |
switch (addr) { |
74 | 70 |
case PA_OUTPORT: |
75 | 71 |
return s->outport; |
... | ... | |
87 | 83 |
{ |
88 | 84 |
r2d_fpga_t *s = opaque; |
89 | 85 |
|
90 |
addr -= s->base; |
|
91 |
|
|
92 | 86 |
switch (addr) { |
93 | 87 |
case PA_OUTPORT: |
94 | 88 |
s->outport = value; |
... | ... | |
123 | 117 |
if (!s) |
124 | 118 |
return; |
125 | 119 |
|
126 |
s->base = base; |
|
127 | 120 |
iomemtype = cpu_register_io_memory(0, r2d_fpga_readfn, |
128 | 121 |
r2d_fpga_writefn, s); |
129 | 122 |
cpu_register_physical_memory(base, 0x40, iomemtype); |
Also available in: Unified diff