diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2004-06-27 14:33:55 -0400 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2004-06-27 14:33:55 -0400 |
commit | c75eadc2b2c6e1084571a4df8459c2a1e741350e (patch) | |
tree | f5a9f0797a86649f02cde109e6e77538da3a5cba | |
parent | 4cd030de9f02d94cf581cb79a7f45036a9d8773e (diff) | |
download | gem5-c75eadc2b2c6e1084571a4df8459c2a1e741350e.tar.xz |
allow the use of old console code and update elf_object not to rely on EM_ALPHA value.
base/loader/elf_object.cc:
EM_ALPHA value isn't official, so perhaps we shouldn't use it
dev/alpha_console.cc:
dev/alpha_console.hh:
this change allows the use of old console code
--HG--
extra : convert_revision : cfacd64ae7fd2595158ca1a83ebcdb66ee7e119b
-rw-r--r-- | base/loader/elf_object.cc | 3 | ||||
-rw-r--r-- | dev/alpha_console.cc | 4 | ||||
-rw-r--r-- | dev/alpha_console.hh | 3 |
3 files changed, 8 insertions, 2 deletions
diff --git a/base/loader/elf_object.cc b/base/loader/elf_object.cc index b8f46449a..6dfbce28c 100644 --- a/base/loader/elf_object.cc +++ b/base/loader/elf_object.cc @@ -74,7 +74,8 @@ ElfObject::tryFile(const string &fname, int fd, size_t len, uint8_t *data) else { if (ehdr.e_ident[EI_CLASS] == ELFCLASS32) panic("32 bit ELF Binary, Not Supported"); - printf("emachine = %x\n", ehdr.e_machine); + /* @todo this emachine value isn't offical yet. + * so we probably shouldn't check it. */ // if (ehdr.e_machine != EM_ALPHA) // panic("Non Alpha Binary, Not Supported"); diff --git a/dev/alpha_console.cc b/dev/alpha_console.cc index 86851ff8b..680704b30 100644 --- a/dev/alpha_console.cc +++ b/dev/alpha_console.cc @@ -122,7 +122,9 @@ AlphaConsole::read(MemReqPtr &req, uint8_t *data) *(uint32_t*)data = alphaAccess->intrClockFrequency; break; default: - panic("Unknown 32bit access, %#x\n", daddr); + // Old console code read in everyting as a 32bit int + *(uint32_t*)data = *(uint32_t*)(consoleData + daddr); + } break; case sizeof(uint64_t): diff --git a/dev/alpha_console.hh b/dev/alpha_console.hh index 47afa8f4a..49c3a9f78 100644 --- a/dev/alpha_console.hh +++ b/dev/alpha_console.hh @@ -73,7 +73,10 @@ class SimpleDisk; class AlphaConsole : public PioDevice { protected: + union { AlphaAccess *alphaAccess; + uint8_t *consoleData; + }; /** the disk must be accessed from the console */ SimpleDisk *disk; |