mirror of
https://gitlab.com/qemu-project/openbios.git
synced 2024-02-13 08:34:06 +08:00
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:
committed by
Mark Cave-Ayland
parent
bb488d3045
commit
6532c83e1f
@@ -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 );
|
||||
|
||||
Reference in New Issue
Block a user