e->e_ident[EI_MAG3] == ELFMAG3 &&
e->e_ident[EI_CLASS] == ELFCLASS64 &&
e->e_ident[EI_DATA] == ELFDATA2MSB &&
- e->e_type == ET_EXEC &&
+ (e->e_type == ET_EXEC || e->e_type == ET_DYN) &&
e->e_machine == EM_PPC64);
}
prom_printf("%s: Unable to parse\n", bootdevice);
return -1;
}
- if (_machine == _MACH_bplan)
+ if (_machine == _MACH_bplan && !conf_given)
boot.part++;
DEBUG_F("After parse_device_path: dev=%s, part=%d, file=%s\n",
boot.dev, boot.part, boot.file);