[OpenBIOS] [commit] r847 - trunk/openbios-devel/libopenbios

Nick Couchman Nick.Couchman at seakr.com
Tue Aug 10 01:33:35 CEST 2010


After these latest changes, I get the following trying to boot Solaris 9:

Configuration device id QEMU version 1 machine id 32
CPUs: 1 x FMI,MB86904
UUID: 00000000-0000-0000-0000-000000000000
Welcome to OpenBIOS v1.0 built on Aug 9 2010 23:27
  Type 'help' for detailed information

Trying cdrom:d...
Not a bootable ELF image
Loading a.out image...
Loaded 7680 bytes
entry point is 0x4000
bootpath: /iommu/sbus/espdma/esp/sd at 2,0:d

Jumping to entry point 00004000 for type 00000005...
switching to new context:
bootblk: can't find the boot program
halt, power off

My boot command line looks like this:
./sparc-softmmu/qemu-system-sparc -hda disk0.img -cdrom /media/Sun-ISOs-2/solaris-9/software1.iso -bios ../openbios-devel/obj-sparc32/openbios-builtin.elf.nostrip -nographic -boot d

-Nick

>>> On 2010/08/09 at 14:41, repository service <svn at openbios.org> wrote:
> Author: blueswirl
> Date: Mon Aug  9 22:41:45 2010
> New Revision: 847
> URL: http://tracker.coreboot.org/trac/openbios/changeset/847 
> 
> Log:
> Fix load breakage by r828
> 
> If a loader succeeds, don't try the others.
> 
> Signed-off-by: Blue Swirl <blauwirbel at gmail.com>
> 
> Modified:
>    trunk/openbios-devel/libopenbios/load.c
> 
> Modified: trunk/openbios-devel/libopenbios/load.c
> ============================================================================
> ==
> --- trunk/openbios-devel/libopenbios/load.c	Mon Aug  9 21:21:22 2010	(r846)
> +++ trunk/openbios-devel/libopenbios/load.c	Mon Aug  9 22:41:45 2010	(r847)
> @@ -44,6 +44,7 @@
>  {
>  	/* Invoke the loaders on the specified device */
>  	char *param;
> +        ucell valid;
>  
>  #ifdef CONFIG_LOADER_ELF
>  
> @@ -57,18 +58,38 @@
>  	param = pop_fstr_copy();
>  
>  	elf_load(&sys_info, dev, param, &elf_boot_notes);
> +        feval("state-valid @");
> +        valid = POP();
> +        if (valid) {
> +                return;
> +        }
>  #endif
>  
>  #ifdef CONFIG_LOADER_AOUT
>  	aout_load(&sys_info, dev);
> +        feval("state-valid @");
> +        valid = POP();
> +        if (valid) {
> +                return;
> +        }
>  #endif
>  
>  #ifdef CONFIG_LOADER_FCODE
>  	fcode_load(dev);
> +        feval("state-valid @");
> +        valid = POP();
> +        if (valid) {
> +                return;
> +        }
>  #endif
>  
>  #ifdef CONFIG_LOADER_FORTH
>  	forth_load(dev);
> +        feval("state-valid @");
> +        valid = POP();
> +        if (valid) {
> +                return;
> +        }
>  #endif
>  
>  }



--------
This e-mail may contain confidential and privileged material for the sole use of the intended recipient.  If this email is not intended for you, or you are not responsible for the delivery of this message to the intended recipient, please note that this message may contain SEAKR Engineering (SEAKR) Privileged/Proprietary Information.  In such a case, you are strictly prohibited from downloading, photocopying, distributing or otherwise using this message, its contents or attachments in any way.  If you have received this message in error, please notify us immediately by replying to this e-mail and delete the message from your mailbox.  Information contained in this message that does not relate to the business of SEAKR is neither endorsed by nor attributable to SEAKR.



More information about the OpenBIOS mailing list