diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2004-06-30 16:06:50 -0400 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2004-06-30 16:06:50 -0400 |
commit | bf32875fc45181fbfdee52ee5190a2fd0d357fb4 (patch) | |
tree | 235284c6f6c222f45c97b53009811fb77419d88e | |
parent | 16f53a7899c4ab6fe84271dee63768654ea0d1aa (diff) | |
parent | 1506e4a580a16ed5849fe188726a2ad8f918863b (diff) | |
download | gem5-bf32875fc45181fbfdee52ee5190a2fd0d357fb4.tar.xz |
Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5
--HG--
extra : convert_revision : eec2cf5ef2f8452bca955fd8aecb062d07502b0b
-rw-r--r-- | kern/linux/linux_system.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/kern/linux/linux_system.cc b/kern/linux/linux_system.cc index 4b3f32f9c..6d7324688 100644 --- a/kern/linux/linux_system.cc +++ b/kern/linux/linux_system.cc @@ -51,6 +51,7 @@ #include "dev/platform.hh" #include "targetarch/isa_traits.hh" #include "targetarch/vtophys.hh" +#include "sim/debug.hh" extern SymbolTable *debugSymbolTable; @@ -188,6 +189,26 @@ LinuxSystem::LinuxSystem(const string _name, const uint64_t _init_param, } else panic("could not find hwprb to set system type/variation\n"); + /** + * EV5 only supports 127 ASNs so we are going to tell the kernel that the + * paritiuclar EV6 we have only supports 127 asns. + * @todo At some point we should change ev5.hh and the palcode to support + * 255 ASNs. + */ + if (kernelSymtab->findAddress("dp264_mv", addr)) { + Addr paddr = vtophys(physmem, addr); + char *dp264_mv = (char *)physmem->dma_addr(paddr, sizeof(uint64_t)); + + if (dp264_mv) { + *(uint32_t*)(dp264_mv+0x18) = htoa((uint32_t)127); + } else + panic("could not translate dp264_mv addr to set the MAX_ASN to 127\n"); + + } else + panic("could not find dp264_mv to set the MAX_ASN to 127\n"); + + + #ifdef DEBUG if (kernelSymtab->findAddress("panic", addr)) kernelPanicEvent->schedule(addr); |