Port-amd64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Windows 10 64-bit 1809 Pro on qemu-nvmm



Le 03/08/2019 à 03:11, Kamil Rytarowski a écrit :
On 02.08.2019 12:57, Ryo ONODERA wrote:
Hi,

Kamil Rytarowski <n54%gmx.com@localhost> writes:

On 02.08.2019 05:23, Ryo ONODERA wrote:
Hi,

Ryo ONODERA <ryo%tetera.org@localhost> writes:

Hi,

I have tried to install Microsoft Windows 10 64-bit 1809 Pro
to a virtual machine hosted by qemu-system-x86_64 -accel nvmm from
pkgsrc-wip/qemu-nvmm.
However a installer of Windows 10 emits the following error
in very early stage (just after Windows flag, no circular dots)
and I cannot complete to install it.


Recovery
Your PC/Device needs to be repaired

An unexpected error has occurred.

Error code: 0xc0000018

I have found that similar problem occurs in HAXM case.
I feel that my problem is in my hardware or BIOS.

Thank you.


HAXM still does not support Windows 10 64bit. There is a pending patch
for Win10 32bit and at least one issue left for 64bit with lack of the
CR8 emulation.

Thanks for your feedback.

I also tested Windows 10 1903 for IA32 and it does not boot.
I cannot submit the log from NetBSD kernel and qemu-system-x86_64 now.
I will submit them later.

And I will check same setup on another laptop.

Thank you.


For HAXM Win7 32bit is known to work.

I will let you know once Win10 support will land the HAXM sources.

I'm always amazed to see that an hypervisor written by Intel with ten
years of existence still doesn't achieve half of the features and support
available in NVMM which I wrote in only six months of spare time. HAXM has
been through really poor engineering, it seems.

To come back to the point: the "Error code: 0xc0000018" likely means the
guest received an exception and did not expect it. This kind of issues is
easy to investigate in general, unfortunately I don't have that hardware;
for me Win10 32bit works on all the Intels/AMDs I could test.

Please try these quick steps:
 1) Rebuild the NVMM module with the patch below, and modload it.
 2) Make sure you have HyperThreading disabled (either in the BIOS or with
    smtoff); this is to eliminate this possibility.
 3) Launch Win10 32bit with qemu-nvmm as you did before.

Normally, Qemu will stop before the guest printed "Error code...". The
console should print something like:
	NVMM: Unexpected VM exit code XX [hw=XX]
and the kernel should print something like:
	NVMM-VMX: qual=XX
Alternatively you can see this with the "dmesg" command.

Please provide the full output of qemu, and the one-line output of the
kernel.

Thanks


Index: nvmm_x86_vmx.c
===================================================================
RCS file: /cvsroot/src/sys/dev/nvmm/x86/nvmm_x86_vmx.c,v
retrieving revision 1.36
diff -u -r1.36 nvmm_x86_vmx.c
--- nvmm_x86_vmx.c	16 Jun 2019 18:30:31 -0000	1.36
+++ nvmm_x86_vmx.c	3 Aug 2019 07:44:11 -0000
@@ -1113,6 +1113,8 @@

 	qual = vmx_vmread(VMCS_EXIT_INTR_INFO);

+	printf("NVMM-VMX: qual=%"PRIx64"\n", qual);
+
 	if ((qual & INTR_INFO_VALID) == 0) {
 		goto error;
 	}
@@ -2557,6 +2559,8 @@

 	vmx_vmcs_enter(vcpu);

+	vmx_vmwrite(VMCS_EXCEPTION_BITMAP, 0xFFFFFFFF);
+
 	/* No link pointer. */
 	vmx_vmwrite(VMCS_LINK_POINTER, 0xFFFFFFFFFFFFFFFF);



Home | Main Index | Thread Index | Old Index