[coreboot] VT-d on Pixel 2015 (samus)

ron minnich rminnich at gmail.com
Sun Jul 26 16:58:41 CEST 2015


There are so many bits, so little time. I have utterly forgotten how vt-d
gets enabled.

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).

ron

On Sun, Jul 26, 2015 at 3:40 AM Noah Vesely <fowlslegs at riseup.net> wrote:

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


More information about the coreboot mailing list