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.
This commit is contained in:
parent
0398c9aabc
commit
560ba567a0
3 changed files with 28 additions and 5 deletions
|
@ -1,3 +1,12 @@
|
|||
2001-10-25 Andrew Cagney <ac131313@redhat.com>
|
||||
|
||||
* emul_generic.c (OEA_MEMORY_SIZE): Increase to 4mb.
|
||||
* 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.
|
||||
|
||||
2001-07-16 Daniel Jacobowitz <drow@mvista.com>
|
||||
|
||||
* Makefile.in: Add dependencies on $(CPU_H).
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -571,10 +571,12 @@ htab_map_binary(device *me,
|
|||
}
|
||||
|
||||
/* set up virtual memory maps for each of the regions */
|
||||
htab_map_region(me, memory, sizes.text_ra, sizes.text_base,
|
||||
sizes.text_bound - sizes.text_base,
|
||||
wimg, pp,
|
||||
htaborg, htabmask);
|
||||
if (sizes.text_bound - sizes.text_base > 0) {
|
||||
htab_map_region(me, memory, sizes.text_ra, sizes.text_base,
|
||||
sizes.text_bound - sizes.text_base,
|
||||
wimg, pp,
|
||||
htaborg, htabmask);
|
||||
}
|
||||
|
||||
htab_map_region(me, memory, sizes.data_ra, sizes.data_base,
|
||||
sizes.data_bound - sizes.data_base,
|
||||
|
|
Loading…
Reference in a new issue