On Wed, 14 May 2014 19:40:23 -0400 Kevin O'Connor kevin@koconnor.net wrote:
On Wed, May 14, 2014 at 01:00:39PM -0400, Don Koch wrote:
On Fri, 27 Dec 2013 12:17:42 -0500 Kevin O'Connor kevin@koconnor.net wrote:
As with the recent change to AHCI, if the pvscsi driver needs to jump into 32bit mode to access a register, then it's better to run the pvscsi driver entirely in 32bit mode.
Evgeny, can you take a look at this and give it a test? Also, what command line do you use for testing?
I tried testing locally by adding:
-device pvscsi,id=pvscsi0 -device scsi-disk,bus=pvscsi0.0,drive=drive0 -drive id=drive0,if=none,file=dos-drivec-new
to my qemu command line (both qemu v1.6 and qemu v1.7), but it doesn't work for me even before my changes. It hangs in pvscsi_wait_intr_cmpl().
Try the following patch to qemu. I was getting hangs in this routine due to language definition/compiler/bogus input issues. The old one returned an off-by-one value.
It still fails for me. I patched qemu and ran it with the command-line above and it still causes a hang in SeaBIOS.
Not sure if this is your problem, but we noted an issue with the generated code for seabios which includes the build machine name; depending on the length of the machine name, it changed the value in an uninitialized variable that caused hanging (or not). Shorter names seem to be less problematic.
-Kevin
Still researching.
-d