Hi all,
I am a sophomore of Computer Science and Engineering at the University of
California, Merced, and I would like to propose an original project for
GSoC 2016: supporting IOMMU virtualization (VT-d) on the Chromebook Pixel 2
(samus) in coreboot. Specifically, I will be targeting the LS model as that
is the model that I have on hand to work with.
The i7-5500U Broadwell processor and the HM97 Wildcat Point chipset of the
LS model both support VT-d which means the hardware is in place. The samus
is already a target of coreboot so all that’s left to do is patch coreboot
to pass along the ACPI direct memory access remapping (DMAR) table which
was left out presumably due to its lack of relevance to ChromeOS.
This contribution would extend the functionality of both coreboot and
Google’s Chromebook Pixel 2, and benefit users who run traditional Linux
with virtualization on the samus such as myself and Qubes OS users.
I have the sundry required for unbricking on hand and have already
performed a successful recovery. For posterity, it should be noted that the
Winbond BIOS chip not only lacks the traditional protruding gull wing
leads, it also has too many circuit features littered around it for an
SOIC-8 test clip to make contact. My workaround was to clip off all the
plastic legs around the lead contacts, disassemble the test clip into two
halves, and firmly hold the two halves of the clip against the chip
manually. Granted, it's quite grueling and also seems to deform the tiny
chip leads, but it works. Disabling verification can help shorten the
flashing process.
This is a project that I would like to undertake even outside of GSoC for
the sake being able to use VT-d on my laptop and I would be very
appreciative of any assistance or feedback regarding my proposal. I hope to
delve deeper into the project towards this weekend when my spring break
starts. My formal project proposal will be shared on Google Docs once it is
ready.
Best,
Min