The Solaris 9 Fcode boot block relies on the assumption that Sun's OpenBOOT would always interpose /packages/ufs-file-system if

it existed when opening a disk device. Emulate this behaviour in order to fix Solaris 9 boot. With thanks to Tarl for pointing 
me in the right direction.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@857 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
Mark Cave-Ayland
2010-08-22 21:29:25 +00:00
committed by Mark Cave-Ayland
parent bb488d3045
commit 6532c83e1f

View File

@@ -220,6 +220,20 @@ sunparts_open( sunparts_info_t *di )
}
} else {
DPRINTF("sun-parts: no filesystem found; bypassing misc-files interpose\n");
/* Solaris Fcode boot blocks assume that the disk-label package will always
automatically interpose the "ufs-file-system" package if it exists! We
need to mimic this behaviour in order for the boot to work. */
push_str("ufs-file-system");
feval("find-package");
ph = POP_ph();
if (ph) {
ph = POP_ph();
push_str(argstr);
PUSH_ph(ph);
fword("interpose");
}
}
free( str );