diff options
Diffstat (limited to 'sim/ppc/emul_chirp.c')
-rw-r--r-- | sim/ppc/emul_chirp.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/sim/ppc/emul_chirp.c b/sim/ppc/emul_chirp.c index c9bb89c..c4deb18 100644 --- a/sim/ppc/emul_chirp.c +++ b/sim/ppc/emul_chirp.c @@ -1537,7 +1537,7 @@ map_over_chirp_note(bfd *image, if (head.descsz == sizeof(note->desc)) note->desc.load_base = bfd_get_32(image, (void*)¬e->desc.load_base); else - note->desc.load_base = CHIRP_LOAD_BASE; + note->desc.load_base = (signed32)-1; } } @@ -1904,6 +1904,18 @@ emul_chirp_create(device *root, tree_parse(node, "./pp %d", 0x2); } + /* map in the interrupt vectors */ + + if (!chirp->real_mode) { + node = tree_parse(root, "/openprom/init/htab/pte@0x0"); + tree_parse(node, "./psim,description \"map in interrupt vectors"); + tree_parse(node, "./virtual-address 0x0"); + tree_parse(node, "./real-address 0x0"); + tree_parse(node, "./nr-bytes 0x3000"); + tree_parse(node, "./wimg %d", 0x7); + tree_parse(node, "./pp %d", 0x2); + } + return chirp; } |