aboutsummaryrefslogtreecommitdiff
path: root/sim/ppc/emul_chirp.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2001-10-26 04:37:54 +0000
committerAndrew Cagney <cagney@redhat.com>2001-10-26 04:37:54 +0000
commit560ba567a08f995fe5e2d24f47b504e3aca28fa6 (patch)
tree1e349f3bf8196c2597f642e78485247e47ca2c16 /sim/ppc/emul_chirp.c
parent0398c9aabc5573e28f965098a0c4f6c45dcd0f0f (diff)
downloadgdb-560ba567a08f995fe5e2d24f47b504e3aca28fa6.zip
gdb-560ba567a08f995fe5e2d24f47b504e3aca28fa6.tar.gz
gdb-560ba567a08f995fe5e2d24f47b504e3aca28fa6.tar.bz2
Chirp fixes:
* hw_htab.c (htab_map_binary): Don't try to map the text section when it is empty. * emul_chirp.c (map_over_chirp_note): Default load-base to -1 not CHIRP_LOAD_BASE. (emul_chirp_create): Map in the interrupt table.
Diffstat (limited to 'sim/ppc/emul_chirp.c')
-rw-r--r--sim/ppc/emul_chirp.c14
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*)&note->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;
}