On Sun, Jun 17, 2012 at 10:29 AM, Blue Swirl <blauwir...@gmail.com> wrote: > On Sat, Jun 16, 2012 at 1:15 PM, Andreas Färber <afaer...@suse.de> wrote: >> Am 16.06.2012 08:51, schrieb Blue Swirl: >>> On Sat, Jun 16, 2012 at 12:59 AM, Andreas Färber <afaer...@suse.de> wrote: >>>> Am 09.06.2012 18:18, schrieb Blue Swirl: >>>>> v3: Rebased due to Makefile changes. If there are no objections, >>>>> I'll apply this next weekend. >>>> >>>> If you have it on some branch to test I'll give it a whirl tomorrow. >>> >>> URL git://repo.or.cz/qemu/blueswirl.git >>> http://repo.or.cz/r/qemu/blueswirl.git >> >> Thanks for rebasing and pushing. >> >> Unfortunately I'm seeing a regression booting openSUSE 12.1 64-bit GNOME >> Live CD [1] with qemu-system-x86_64: It hangs after initializing the >> mouse whereas on master it proceeds into the graphical installer. > > After kernel has been loaded, the screen flashes black and there's a > screen with SUSE logo, then nothing happens. But this is also the case > with 1.1.0, master and after the series. Even with KVM, there's one > more screen flash and the screen resizes but nothing happens after > that. > > I'm now trying Debian 6.0.4 live amd64.
I can now reproduce the problem with Debian, without the patch set there's text about loading, but with the patch the screen remains blank forever. It looks like the problem is with the patch 'x86: avoid AREG0 for FPU helpers'. However, the only FPU instructions executed by Linux are fxsave and fildl. Even if I revert those areas (even all memory access changes), the problem remains. The patch looks pretty straightforward otherwise. I also checked that I didn't accidentally change register order like before. The changed helpers which return a value can be found with this: $ git diff HEAD~1 HEAD target-i386/helper.h target-i386/ops_sse_header.h |grep '^+'|grep DEF_HELPER |grep -v 'void, env' +DEF_HELPER_1(fsts_ST0, i32, env) +DEF_HELPER_1(fstl_ST0, i64, env) +DEF_HELPER_1(fist_ST0, s32, env) +DEF_HELPER_1(fistl_ST0, s32, env) +DEF_HELPER_1(fistll_ST0, s64, env) +DEF_HELPER_1(fistt_ST0, s32, env) +DEF_HELPER_1(fisttl_ST0, s32, env) +DEF_HELPER_1(fisttll_ST0, s64, env) +DEF_HELPER_1(fnstsw, i32, env) +DEF_HELPER_1(fnstcw, i32, env) +DEF_HELPER_2(cvtss2si, s32, env, XMMReg) +DEF_HELPER_2(cvtsd2si, s32, env, XMMReg) +DEF_HELPER_2(cvtss2sq, s64, env, XMMReg) +DEF_HELPER_2(cvtsd2sq, s64, env, XMMReg) +DEF_HELPER_2(cvttss2si, s32, env, XMMReg) +DEF_HELPER_2(cvttsd2si, s32, env, XMMReg) +DEF_HELPER_2(cvttss2sq, s64, env, XMMReg) +DEF_HELPER_2(cvttsd2sq, s64, env, XMMReg) +DEF_HELPER_2(movmskps, i32, env, Reg) +DEF_HELPER_2(movmskpd, i32, env, Reg) +DEF_HELPER_2(glue(pmovmskb, SUFFIX), i32, env, Reg) +DEF_HELPER_3(popcnt, tl, env, tl, i32) > >> >> Andreas >> >> [1] http://software.opensuse.org/121/en >> >> -- >> SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany >> GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg