On 28.12.19 21:42, [email protected] wrote:
> Hej Jailhouse community,
>
> after struggling waaay too long to get the really well prepared example
> from Jan working, I just want to post my intermediate work-around.
>
> So, I am on a stock sid-Debian machine run by an Intel Core i5-6200U CPU
> (X260 Thinkpad). The preparation all went well, however hitting
> jailhouse enable ...qemu-x86.cell
> JAILHOUSE_ENABLE: Input/output error
>
> tracking it down (after creating
> echo "#define CONFIG_TRACE_ERROR   1" >
> ./build/tmp/work/jailhouse-demo-amd64/jailhouse-jailhouse/0.11-r0/git/include/jailhouse/config.h
> ), as it was recommended in the FAQ,
> I found that I ran into an odd feature mismatch at vmx.c:247, namely
> CPUID and read_msr(MSR_IA32_VMX_PROCBASED_CTLS2) had different opinions
> on the availability (0x101008) and usability (0x0378FF) of the XSAVES
> feature. No idea what it is related to, e.g. processor short coming or
> in use by the host-Linux (4.19.67-2+deb10u2), or ?? ...
>
> However, "easy" fix was to disable the feature in ./start-qemu.sh by
> adding "-xsaves" to the line of "-cpu " features for qemu (QEMU emulator
> version 4.2.0 (Debian 1:4.2-1)).

Are you using jailhouse-images master, ie. -cpu host,...? Or was this
-cpu kvm64?

This may still be a limitation of the host CPU. Could you try "jailhouse
hardware check" with this patch on the host?

diff --git a/tools/jailhouse-hardware-check b/tools/jailhouse-hardware-check
index 37e02b7d..375816e2 100755
--- a/tools/jailhouse-hardware-check
+++ b/tools/jailhouse-hardware-check
@@ -221,6 +221,10 @@ if cpu_vendor == 'GenuineIntel':
     check_feature('  RDTSCP', procbased2 & (1 << 3),
                   'rdtscp' not in cpu_features)
     check_feature('  Unrestricted guest', procbased2 & (1 << 7))
+    check_feature('  INVPCID', procbased2 & (1 << 12),
+                  'invpcid' not in cpu_features)
+    check_feature('  XSAVES', procbased2 & (1 << 20),
+                  'xsaves' not in cpu_features)

     check_feature('  EPT', procbased2 & (1 << 1))
     ept_cap = msr.read(MSR.IA32_VMX_EPT_VPID_CAP)

Jan

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jailhouse-dev/4d491b38-28d8-a0ea-4cb1-1499957997bd%40web.de.

Reply via email to