commit | fd5a98f6204f9d854af9dcb47b237a12875f2a14 | [log] [tgz] |
---|---|---|
author | Nicholas Hollingum <hollingum@google.com> | Thu Aug 20 00:16:42 2020 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Sep 08 03:01:24 2020 |
tree | 0b1d782cef0f13775f13d8c0360a4339fbcc34fb | |
parent | 5c8208af8e0f7cc7bbde70d90780b003014ba53f [diff] |
vm_tools: Make concierge boot vm's that are DLCs. This change allows concierge to query dlcservice in order to determine the paths of the rootfs and kernel. This is intended to rework crrev.com/c/2329207. We maintain the behaviour that trusted vm's must not take their path directly from the proto. We instead assert that dlcservice is trusted equivalently to concierge itself, and so asking it for a path conveys "trust" BUG=chromium:953544 TEST=patch in crrev.com/i/3226524 and boot the VM Cq-Depend: chromium:2377042 Change-Id: I82487874bc1626018f10639338e3e43ed4025456 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2367298 Tested-by: Nic Hollingum <hollingum@google.com> Commit-Queue: Nic Hollingum <hollingum@google.com> Reviewed-by: Abhishek Bhardwaj <abhishekbh@chromium.org> Reviewed-by: Stephen Barber <smbarber@chromium.org> Reviewed-by: Fergus Dall <sidereal@google.com> Auto-Submit: Nic Hollingum <hollingum@google.com> Cr-Mirrored-From: https://chromium.googlesource.com/chromiumos/platform2 Cr-Mirrored-Commit: 688989880123b36444654c0dbd9586ab5c287818
This directory (platform2/system_api
) contains constants and definitions like D-Bus service names that are shared between Chromium and Chromium OS.
This directory is only for things like headers and .proto files. No implementation should be added.
When writting a .proto file make sure to use:
option optimize_for = LITE_RUNTIME;
This will force usage of a lite protobuf instead of a full/heavy weight protobuf. The browser only links against the light version, so you will get cryptic link errors about missing parts of Message if you define a protobuf here and then try to use it in Chrome. Currently CrOS links against the full protobuffer library, but that might change in the future.
When declaring a protobuf, avoid use of required unless it is exactly what you mean. “Required is Forever” and very rarely should actually be used. Consult Protocol Buffer Basics: C++ for a detailed of this issue.