<div dir="ltr">There are so many bits, so little time. I have utterly forgotten how vt-d gets enabled. <div><br></div><div>Anyway, there's two bits and a lock bit. coreboot very deliberately does nothing with any of them -- this was a design decision a few years ago -- and it leaves them in a state that you can control them. So the 'enable vt-x' part is easy and kvm will do it for you when you load the module, or you can do it with the wrmsr command (for each core! -- if you only do one core it will go badly).</div><div><br></div><div>ron</div></div><br><div class="gmail_quote"><div dir="ltr">On Sun, Jul 26, 2015 at 3:40 AM Noah Vesely <<a href="mailto:fowlslegs@riseup.net">fowlslegs@riseup.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks Ron! Took bit to get back to you because a Xen hypervisor update<br>
in Qubes seemed to put me in a boot loop. I just installed an Arch<br>
derivative because Arch has good support for this machine and I needed<br>
some type of test environment to actually run this command.<br>
<br>
Anyway, `rdmsr 0x3a` (think this is what you meant to type) returns 0. I<br>
guess this means all 3 bits are not set in the IA32_FEATURE_CONTROL MSR.<br>
<br>
This doesn't immediately make sense to me because (1) the output here<br>
seems to be telling me VT-x is not activated and the vmx cpu flag is<br>
present =><= and (2) I wrote in because `xl info` in Xen was reporting<br>
VT-x, but not VT-d, was activated and I was interested in how I could<br>
activate the former--isn't 0x3a unrelated to VT-d? Hopefully you can<br>
clarify this for me.<br>
<br>
Noah<br>
<br>
On 07/24/2015 11:25 PM, ron minnich wrote:<br>
> what does rdmsr 0 0x3a show you?<br>
><br>
> ron<br>
><br>
> On Fri, Jul 24, 2015 at 10:06 PM Noah Vesely <<a href="mailto:fowlslegs@riseup.net" target="_blank">fowlslegs@riseup.net</a>> wrote:<br>
><br>
>> I've been trying to get VT-d working on John Lewis's build for the 2015<br>
>> Pixel (samus). You can see our conversation at<br>
>> <a href="https://plus.google.com/116173342884039282107/posts/TGA4EXYQMfq" rel="noreferrer" target="_blank">https://plus.google.com/116173342884039282107/posts/TGA4EXYQMfq</a> and I<br>
>> have also pasted it below. So far, I haven't got anywhere, so I thought<br>
>> I would try asking you all as well.<br>
>><br>
>> Thanks,<br>
>> Noah<br>
>><br>
>> &%$#&%$#&%$#&%$#&%$#&%$#&%$#&%$#&%$#<br>
>><br>
>> Noah Vesely<br>
>>    -  Jul 16, 2015<br>
>><br>
>> Is it possible to get Intel VT-d working on the Chromebook Pixel 2/<br>
>> Samus? The i7-5600U processor does support it.<br>
>> ARK | Intel® Core™ i7-5600U Processor (4M Cache, up to 3.20 GHz)<br>
>> <a href="http://ark.intel.com" rel="noreferrer" target="_blank">ark.intel.com</a><br>
>> ARK | Intel® Core™ i7-5600U Processor (4M Cache, up to 3.20 GHz) quick<br>
>> reference guide including specifications, features, pricing,<br>
>> compatibility, design documentation, ordering codes, spec codes and more.<br>
>> John Lewis's profile photoNoah Vesely's profile photo<br>
>> 10 comments<br>
>> John Lewis<br>
>> Jul 18, 2015<br>
>><br>
>><br>
>><br>
>><br>
>> AFAIK, none of the hardware VT extensions are disabled in the firmware<br>
>> on Samus. Have you tried it?<br>
>> Noah Vesely<br>
>> Jul 18, 2015<br>
>><br>
>><br>
>><br>
>><br>
>> Yes. VT-x was enable while VT-d was not.<br>
>> John Lewis<br>
>> Jul 18, 2015<br>
>><br>
>><br>
>><br>
>><br>
>> Clone<br>
>><br>
>> <a href="https://chromium.googlesource.com/chromiumos/third_party/coreboot/+/firmware-samus-6300.B" rel="noreferrer" target="_blank">https://chromium.googlesource.com/chromiumos/third_party/coreboot/+/firmware-samus-6300.B</a><br>
>> and run menuconfig to see if there's an option for VT-d.<br>
>> Noah Vesely<br>
>> Jul 19, 2015<br>
>><br>
>><br>
>><br>
>><br>
>> I can't figure out how to checkout this repository. I cloned the main<br>
>> third_part/coreboot repo then checked out the broadwell branch, but<br>
>> could not find the same directory you linked. Maybe my git fu could use<br>
>> some work.<br>
>> John Lewis<br>
>> Jul 20, 2015<br>
>><br>
>><br>
>><br>
>><br>
>> Use the last chunk of the URL as the branch argument i.e. "-b<br>
>> firmware-samus-6300.B".<br>
>> Noah Vesely<br>
>> Jul 20, 2015<br>
>><br>
>><br>
>><br>
>><br>
>> Nothing in menuconfig, however, I found the line `#define CONFIG_IOMMU<br>
>> 0` in ./build/config.h. I also found `#define CONFIG_ENABLE_VMX 0`.<br>
>> John Lewis<br>
>> Jul 21, 2015<br>
>><br>
>><br>
>><br>
>><br>
>> VMX is already enabled in the firmware. IOMMU is unrelated. I would have<br>
>> to conclude that VT'd is either not supported by that CPU or something<br>
>> more needs to be done in coreboot to get it to work.<br>
>> Noah Vesely<br>
>> Jul 21, 2015<br>
>><br>
>><br>
>><br>
>><br>
>> VT-d is supported by this CPU. See original link to Intel Ark.<br>
>><br>
>> VT-d is Intel's specification for their IOMMU technology, so I don't see<br>
>> how it's unrelated.<br>
>> John Lewis<br>
>> Jul 21, 2015<br>
>><br>
>><br>
>><br>
>><br>
>> Take a look at the .config from a shellball ROM (you can extract it<br>
>> using cbfstool).<br>
>><br>
>> <a href="https://johnlewis.ie/extracting-the-shell-ball-rom-using-a-chromeos-image/" rel="noreferrer" target="_blank">https://johnlewis.ie/extracting-the-shell-ball-rom-using-a-chromeos-image/</a><br>
>> <br>
>> Noah Vesely<br>
>> 9:15 PM<br>
>><br>
>><br>
>><br>
>><br>
>> I don't see anything relevant to VT-d; no VT-d keywords (e.g., iommu,<br>
>> vt, vmx, hvm, and directio).<br>
>><br>
>> <a href="http://paste.debian.net/hidden/08ac8494/" rel="noreferrer" target="_blank">http://paste.debian.net/hidden/08ac8494/</a><br>
>><br>
>> --<br>
>> coreboot mailing list: <a href="mailto:coreboot@coreboot.org" target="_blank">coreboot@coreboot.org</a><br>
>> <a href="http://www.coreboot.org/mailman/listinfo/coreboot" rel="noreferrer" target="_blank">http://www.coreboot.org/mailman/listinfo/coreboot</a><br>
<br>
</blockquote></div>