Revision f3902383
b/hw/ppc_chrp.c | ||
---|---|---|
37 | 37 |
#define MAX_IDE_BUS 2 |
38 | 38 |
#define VGA_BIOS_SIZE 65536 |
39 | 39 |
|
40 |
/* debug UniNorth */ |
|
41 |
//#define DEBUG_UNIN |
|
42 |
|
|
43 |
#ifdef DEBUG_UNIN |
|
44 |
#define UNIN_DPRINTF(fmt, args...) \ |
|
45 |
do { printf("UNIN: " fmt , ##args); } while (0) |
|
46 |
#else |
|
47 |
#define UNIN_DPRINTF(fmt, args...) |
|
48 |
#endif |
|
49 |
|
|
40 | 50 |
/* UniN device */ |
41 | 51 |
static void unin_writel (void *opaque, target_phys_addr_t addr, uint32_t value) |
42 | 52 |
{ |
53 |
UNIN_DPRINTF("writel addr " TARGET_FMT_plx " val %x\n", addr, value); |
|
43 | 54 |
} |
44 | 55 |
|
45 | 56 |
static uint32_t unin_readl (void *opaque, target_phys_addr_t addr) |
46 | 57 |
{ |
47 |
return 0; |
|
58 |
uint32_t value; |
|
59 |
|
|
60 |
value = 0; |
|
61 |
UNIN_DPRINTF("readl addr " TARGET_FMT_plx " val %x\n", addr, value); |
|
62 |
|
|
63 |
return value; |
|
48 | 64 |
} |
49 | 65 |
|
50 | 66 |
static CPUWriteMemoryFunc *unin_write[] = { |
b/hw/unin_pci.c | ||
---|---|---|
25 | 25 |
#include "ppc_mac.h" |
26 | 26 |
#include "pci.h" |
27 | 27 |
|
28 |
/* debug UniNorth */ |
|
29 |
//#define DEBUG_UNIN |
|
30 |
|
|
31 |
#ifdef DEBUG_UNIN |
|
32 |
#define UNIN_DPRINTF(fmt, args...) \ |
|
33 |
do { printf("UNIN: " fmt , ##args); } while (0) |
|
34 |
#else |
|
35 |
#define UNIN_DPRINTF(fmt, args...) |
|
36 |
#endif |
|
37 |
|
|
28 | 38 |
typedef target_phys_addr_t pci_addr_t; |
29 | 39 |
#include "pci_host.h" |
30 | 40 |
|
... | ... | |
36 | 46 |
UNINState *s = opaque; |
37 | 47 |
int i; |
38 | 48 |
|
49 |
UNIN_DPRINTF("config_writel addr " TARGET_FMT_plx " val %x\n", addr, val); |
|
39 | 50 |
#ifdef TARGET_WORDS_BIGENDIAN |
40 | 51 |
val = bswap32(val); |
41 | 52 |
#endif |
... | ... | |
63 | 74 |
#ifdef TARGET_WORDS_BIGENDIAN |
64 | 75 |
val = bswap32(val); |
65 | 76 |
#endif |
77 |
UNIN_DPRINTF("config_readl addr " TARGET_FMT_plx " val %x\n", addr, val); |
|
66 | 78 |
|
67 | 79 |
return val; |
68 | 80 |
} |
... | ... | |
154 | 166 |
qemu_set_irq(pic[irq_num + 8], level); |
155 | 167 |
} |
156 | 168 |
|
169 |
static void pci_unin_save(QEMUFile* f, void *opaque) |
|
170 |
{ |
|
171 |
PCIDevice *d = opaque; |
|
172 |
|
|
173 |
pci_device_save(d, f); |
|
174 |
} |
|
175 |
|
|
176 |
static int pci_unin_load(QEMUFile* f, void *opaque, int version_id) |
|
177 |
{ |
|
178 |
PCIDevice *d = opaque; |
|
179 |
|
|
180 |
if (version_id != 1) |
|
181 |
return -EINVAL; |
|
182 |
|
|
183 |
return pci_device_load(d, f); |
|
184 |
} |
|
185 |
|
|
186 |
static void pci_unin_reset(void *opaque) |
|
187 |
{ |
|
188 |
} |
|
189 |
|
|
157 | 190 |
PCIBus *pci_pmac_init(qemu_irq *pic) |
158 | 191 |
{ |
159 | 192 |
UNINState *s; |
... | ... | |
254 | 287 |
d->config[0x0E] = 0x00; // header_type |
255 | 288 |
d->config[0x34] = 0x00; // capabilities_pointer |
256 | 289 |
#endif |
290 |
register_savevm("uninorth", 0, 1, pci_unin_save, pci_unin_load, d); |
|
291 |
qemu_register_reset(pci_unin_reset, d); |
|
292 |
pci_unin_reset(d); |
|
293 |
|
|
257 | 294 |
return s->bus; |
258 | 295 |
} |
Also available in: Unified diff