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
This commit is contained in:
@@ -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");
|
||||
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user