j
: Next unread message k
: Previous unread message j a
: Jump to all threads
j l
: Jump to MailingList overview
Author: mcayland Date: Mon Apr 5 20:41:11 2010 New Revision: 734 URL: http://tracker.coreboot.org/trac/openbios/changeset/734
Log: Partially fix up the OpenBIOS PPC build. While the code technically works, even with this fix in place the PPC console output disappears when booting a FC12 test ISO directly. Interestingly enough, if the equivalent "load" and "go" commands are entered manually then the console output works fine and the ISO can boot?! So there is still an issue with the console not being initialised correctly somewhere.
Signed-off-by: Mark Cave-Ayland mark.cave-ayland@siriusit.co.uk
Modified: trunk/openbios-devel/arch/ppc/qemu/init.c trunk/openbios-devel/arch/ppc/qemu/ofmem.c trunk/openbios-devel/config/examples/cross-ppc_config.xml trunk/openbios-devel/config/examples/ppc_config.xml trunk/openbios-devel/include/arch/ppc/io.h trunk/openbios-devel/include/arch/ppc/types.h
Modified: trunk/openbios-devel/arch/ppc/qemu/init.c ============================================================================== --- trunk/openbios-devel/arch/ppc/qemu/init.c Sat Apr 3 15:03:39 2010 (r733) +++ trunk/openbios-devel/arch/ppc/qemu/init.c Mon Apr 5 20:41:11 2010 (r734) @@ -472,6 +472,7 @@ { ucell addr;
+ feval("saved-program-state >sps.entry @"); addr = POP();
call_elf( 0, 0, addr);
Modified: trunk/openbios-devel/arch/ppc/qemu/ofmem.c ============================================================================== --- trunk/openbios-devel/arch/ppc/qemu/ofmem.c Sat Apr 3 15:03:39 2010 (r733) +++ trunk/openbios-devel/arch/ppc/qemu/ofmem.c Mon Apr 5 20:41:11 2010 (r734) @@ -162,8 +162,6 @@ /* misc */ /************************************************************************/
-extern char _start[], _end[]; - ucell ofmem_arch_default_translation_mode( ucell phys ) { /* XXX: Guard bit not set as it should! */
Modified: trunk/openbios-devel/config/examples/cross-ppc_config.xml ============================================================================== --- trunk/openbios-devel/config/examples/cross-ppc_config.xml Sat Apr 3 15:03:39 2010 (r733) +++ trunk/openbios-devel/config/examples/cross-ppc_config.xml Mon Apr 5 20:41:11 2010 (r734) @@ -42,7 +42,7 @@ <option name="CONFIG_VGA_DEPTH" type="integer" value="8"/> <option name="CONFIG_LOADER_AOUT" type="boolean" value="false"/> <option name="CONFIG_LOADER_BOOTINFO" type="boolean" value="true"/> - <option name="CONFIG_LOADER_ELF" type="boolean" value="false"/> + <option name="CONFIG_LOADER_ELF" type="boolean" value="true"/> <option name="CONFIG_LOADER_FCODE" type="boolean" value="false"/> <option name="CONFIG_LOADER_FORTH" type="boolean" value="false"/> <option name="CONFIG_LOADER_XCOFF" type="boolean" value="true"/>
Modified: trunk/openbios-devel/config/examples/ppc_config.xml ============================================================================== --- trunk/openbios-devel/config/examples/ppc_config.xml Sat Apr 3 15:03:39 2010 (r733) +++ trunk/openbios-devel/config/examples/ppc_config.xml Mon Apr 5 20:41:11 2010 (r734) @@ -42,7 +42,7 @@ <option name="CONFIG_VGA_DEPTH" type="integer" value="8"/> <option name="CONFIG_LOADER_AOUT" type="boolean" value="false"/> <option name="CONFIG_LOADER_BOOTINFO" type="boolean" value="true"/> - <option name="CONFIG_LOADER_ELF" type="boolean" value="false"/> + <option name="CONFIG_LOADER_ELF" type="boolean" value="true"/> <option name="CONFIG_LOADER_FCODE" type="boolean" value="false"/> <option name="CONFIG_LOADER_FORTH" type="boolean" value="false"/> <option name="CONFIG_LOADER_XCOFF" type="boolean" value="true"/>
Modified: trunk/openbios-devel/include/arch/ppc/io.h ============================================================================== --- trunk/openbios-devel/include/arch/ppc/io.h Sat Apr 3 15:03:39 2010 (r733) +++ trunk/openbios-devel/include/arch/ppc/io.h Mon Apr 5 20:41:11 2010 (r734) @@ -6,6 +6,7 @@ #define NO_QEMU_PROTOS #include "arch/common/fw_cfg.h"
+extern char _start, _end; extern unsigned long virt_offset;
#define phys_to_virt(phys) ((void *) ((unsigned long) (phys) - virt_offset))
Modified: trunk/openbios-devel/include/arch/ppc/types.h ============================================================================== --- trunk/openbios-devel/include/arch/ppc/types.h Sat Apr 3 15:03:39 2010 (r733) +++ trunk/openbios-devel/include/arch/ppc/types.h Mon Apr 5 20:41:11 2010 (r734) @@ -40,6 +40,10 @@ #define FMT_ucellx "%08x" #define FMT_ucellX "%08X"
+#define FMT_elf "%#x" +#define FMT_sizet "%lx" +#define FMT_aout_ehdr "%lx" + #define bitspercell (sizeof(cell)<<3) #define bitsperdcell (sizeof(dcell)<<3)