QEMU's ESP emulation currently does not support the mixing of DMA and FIFO messages. Setting the scsi-options property prevents the Solaris ESP kernel module from trying to use this feature by default, which otherwise would cause boot to fail.
Signed-off-by: Mark Cave-Ayland mark.cave-ayland@siriusit.co.uk --- openbios-devel/drivers/esp.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/openbios-devel/drivers/esp.c b/openbios-devel/drivers/esp.c index 2dfc2bd..78478f6 100644 --- a/openbios-devel/drivers/esp.c +++ b/openbios-devel/drivers/esp.c @@ -383,6 +383,14 @@ ob_esp_initialize(__attribute__((unused)) esp_private_t **esp) push_str("scsi"); fword("device-type");
+ /* QEMU's ESP emulation does not support mixing DMA and FIFO messages. By + setting this attribute, we prevent the Solaris ESP kernel driver from + trying to use this feature when booting a disk image (and failing) */ + PUSH(0x58); + fword("encode-int"); + push_str("scsi-options"); + fword("property"); + PUSH(0x24); fword("encode-int"); PUSH(0);
On Sun, May 1, 2011 at 11:33 PM, Mark Cave-Ayland mark.cave-ayland@siriusit.co.uk wrote:
QEMU's ESP emulation currently does not support the mixing of DMA and FIFO messages. Setting the scsi-options property prevents the Solaris ESP kernel module from trying to use this feature by default, which otherwise would cause boot to fail.
Looks fine to me.
On 04/05/11 20:04, Blue Swirl wrote:
QEMU's ESP emulation currently does not support the mixing of DMA and FIFO messages. Setting the scsi-options property prevents the Solaris ESP kernel module from trying to use this feature by default, which otherwise would cause boot to fail.
Looks fine to me.
Great. Have you had a chance to look at the other patch to fix the boot word? This shows up that some of the architecture-specific words are being registered in /chosen rather than in the global dictionary, but I can't decide if this is something we should change or not.
ATB,
Mark.
On 2011-May-4 18:26 , Mark Cave-Ayland wrote:
Great. Have you had a chance to look at the other patch to fix the boot word? This shows up that some of the architecture-specific words are being registered in /chosen rather than in the global dictionary, but I can't decide if this is something we should change or not.
Methods aren't supposed to show up in /chosen - that's for properties only. Whatever's creating those methods there is probably doing something wrong.
On 04/05/11 23:53, Tarl Neustaedter wrote:
Great. Have you had a chance to look at the other patch to fix the boot word? This shows up that some of the architecture-specific words are being registered in /chosen rather than in the global dictionary, but I can't decide if this is something we should change or not.
Methods aren't supposed to show up in /chosen - that's for properties only. Whatever's creating those methods there is probably doing something wrong.
Yeah - it's probably my lack of knowledge from when I was doing the loader refactoring. I'll see if I can come up with a better patch.
ATB,
Mark.
On 06/05/11 23:45, Mark Cave-Ayland wrote:
Methods aren't supposed to show up in /chosen - that's for properties only. Whatever's creating those methods there is probably doing something wrong.
Yeah - it's probably my lack of knowledge from when I was doing the loader refactoring. I'll see if I can come up with a better patch.
Oh that was easy - it just needed an extra device-end call before setting up the bindings to the low level C functions. And it seems as if it was only an issue with SPARC32. Patch on its way shortly.
ATB,
Mark.