[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Debugging Windows HVM crashes on Ryzen 3xxx series CPUs.
# patch -p1 < ../000-debug-patch-0.patch patching file xen/arch/x86/hvm/hvm.c Hunk #1 succeeded at 3373 (offset 1 line). patching file xen/arch/x86/hvm/svm/svm.c Hunk #1 succeeded at 2159 (offset -64 lines).I've attached the output from around boot all the way until after the Windows HVM DomU crashed. I gzip'ed it, as its a few hundred Kb. Steven Haigh 📧 netwiz@xxxxxxxxx 💻 https://www.crc.id.au 📞 +613 9001 6090 📱 +614 1293 5897 On Fri, Oct 25, 2019 at 10:28, Jan Beulich <jbeulich@xxxxxxxx> wrote: On 25.10.2019 09:00, Steven Haigh wrote:Further to my last, I downloaded the latest Windows Server 2016 ISO fromMicrosoft.Filename: Windows_Server_2016_Datacenter_EVAL_en-us_14393_refresh.ISOHave attached as much of the log as I could get attempting to boot fromthe ISO and having a blank LV as the install target. The Windows error message (shown via VNC) is HAL MEMORY ALLOCATION.Hmm, that's as if there was still (again?) an issue with CPUID handling - iirc the same was observable on maximum-size Rome systems prior to df29d03f1d (and its fixup). Below the debugging patch I did use at the time, maybe it turns out helpful here too (and perhaps you'd really only need the first hunk, I had put in the other one just in case anyway). However this looks to be different from your earlier report, where you said you've got some (XEN) d1v0 VIRIDIAN CRASH: ac 0 a0a0 fffff8065c06bf88 bf8 So I wonder whether there's a new issue masking the old one. Jan --- unstable.orig/xen/arch/x86/hvm/hvm.c +++ unstable/xen/arch/x86/hvm/hvm.c @@ -3372,6 +3372,9 @@ int hvm_vmexit_cpuid(struct cpu_user_reg } guest_cpuid(curr, leaf, subleaf, &res);+if(regs->ax && (regs->eax >> 16) != 0x4000 && (long)regs->rip < 0) {//temp + printk("%pv[%08lx]: %08x:%08x=%08x:%08x:%08x:%08x\n", curr, regs->rip, leaf, subleaf, res.a, res.b, res.c, res.d);+} HVMTRACE_6D(CPUID, leaf, subleaf, res.a, res.b, res.c, res.d); regs->rax = res.a; --- unstable.orig/xen/arch/x86/hvm/svm/svm.c +++ unstable/xen/arch/x86/hvm/svm/svm.c @@ -2223,7 +2223,13 @@ static void svm_do_msr_access(struct cpu rc = hvm_msr_read_intercept(regs->ecx, &msr_content); if ( rc == X86EMUL_OKAY ) +{//temp msr_split(regs, msr_content); + if(regs->ecx == 0xc001100c || regs->ecx == 0xc0011005)+ printk("%pv[%08lx]: %08x -> %08x:%08x\n", curr, regs->rip, regs->ecx, regs->edx, regs->eax);+} else if(regs->ecx == 0xc001100c || regs->ecx == 0xc0011005) { + printk("%pv[%08lx]: %08x -> #GP\n", curr, regs->rip, regs->ecx); +} } elserc = hvm_msr_write_intercept(regs->ecx, msr_fold(regs), true);_______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel Attachment:
xen-output.log.gz _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |