diff options
Diffstat (limited to 'src/arch/arm/linux/system.cc')
-rw-r--r-- | src/arch/arm/linux/system.cc | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/src/arch/arm/linux/system.cc b/src/arch/arm/linux/system.cc index 740d2e0e6..acca58af3 100644 --- a/src/arch/arm/linux/system.cc +++ b/src/arch/arm/linux/system.cc @@ -46,7 +46,7 @@ #include "arch/arm/linux/atag.hh" #include "arch/arm/utility.hh" #include "arch/generic/linux/threadinfo.hh" -#include "base/loader/dtb_object.hh" +#include "base/loader/dtb_file.hh" #include "base/loader/object_file.hh" #include "base/loader/symtab.hh" #include "cpu/base.hh" @@ -133,22 +133,12 @@ LinuxArmSystem::initState() inform("Loading DTB file: %s at address %#x\n", params()->dtb_filename, params()->atags_addr + loadAddrOffset); - ObjectFile *dtb_file = createObjectFile(params()->dtb_filename, true); - if (!dtb_file) { - fatal("couldn't load DTB file: %s\n", params()->dtb_filename); - } - - DtbObject *_dtb_file = dynamic_cast<DtbObject*>(dtb_file); + DtbFile *dtb_file = new DtbFile(params()->dtb_filename); - if (_dtb_file) { - if (!_dtb_file->addBootCmdLine(params()->boot_osflags.c_str(), - params()->boot_osflags.size())) { - warn("couldn't append bootargs to DTB file: %s\n", - params()->dtb_filename); - } - } else { - warn("dtb_file cast failed; couldn't append bootargs " - "to DTB file: %s\n", params()->dtb_filename); + if (!dtb_file->addBootCmdLine(params()->boot_osflags.c_str(), + params()->boot_osflags.size())) { + warn("couldn't append bootargs to DTB file: %s\n", + params()->dtb_filename); } dtb_file->buildImage(). |