boxster: add utility functions to create platform information
Populate fake program with fake platform information.
BUG=chromium:1199415
TEST=manual
Change-Id: If2f6b84f0a89650a94949b6a2602e8f3a6332af3
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/config/+/2841563
Auto-Submit: Sean McAllister <smcallis@google.com>
Reviewed-by: Andrew Lamb <andrewlamb@chromium.org>
Commit-Queue: Andrew Lamb <andrewlamb@chromium.org>
diff --git a/test/program/fake/generated/config.jsonproto b/test/program/fake/generated/config.jsonproto
index 59a7c5f..2094a4b 100644
--- a/test/program/fake/generated/config.jsonproto
+++ b/test/program/fake/generated/config.jsonproto
@@ -143,6 +143,19 @@
},
"mosysPlatformName": "fake",
"name": "FAKE_PROGRAM",
+ "platform": {
+ "gpuFamily": "FAKE_INTEL_GPU",
+ "graphicsApis": [
+ 1
+ ],
+ "socArch": 2,
+ "socFamily": "FAKE_INTEL_PLATFORM",
+ "videoCodecs": [
+ 1,
+ 1,
+ 9
+ ]
+ },
"publicReplication": {
"publicFields": "name,id"
}
diff --git a/test/program/fake/program.star b/test/program/fake/program.star
index 3318847..671c2af 100644
--- a/test/program/fake/program.star
+++ b/test/program/fake/program.star
@@ -68,6 +68,19 @@
_SIGNER_CONFIG = _SIGNER_BRAND_CONFIGS + _SIGNER_DESIGN_CONFIGS
+platform = program_util.platform
+_PLATFORM = program_util.create_platform(
+ soc_family = "FAKE_INTEL_PLATFORM",
+ soc_arch = platform.X86_64,
+ gpu_family = "FAKE_INTEL_GPU",
+ graphics_apis = [platform.GRAPHICS_API_OPENGL],
+ video_codecs = [
+ platform.H264_DECODE,
+ platform.H264_DECODE,
+ platform.H265_DECODE,
+ ],
+)
+
_FAKE = program_util.create(
name = "FAKE_PROGRAM",
component_quals = _QUAL_CONSTRAINTS,
@@ -75,6 +88,7 @@
firmware_configuration_segments = _FIRMWARE_CONFIGURATION_SEGMENTS,
device_signer_configs = _SIGNER_CONFIG,
mosys_platform_name = "fake",
+ platform = _PLATFORM,
)
program = struct(
diff --git a/util/program.star b/util/program.star
index 3ba6791..5ef23bf 100644
--- a/util/program.star
+++ b/util/program.star
@@ -65,6 +65,15 @@
def _create_signer_configs_by_design(configs):
return [_create_signer_config_by_design(id, key) for id, key in configs.items()]
+def _create_platform(soc_family, soc_arch, gpu_family = None, graphics_apis = [], video_codecs = []):
+ return program_pb.Program.Platform(
+ soc_family = soc_family,
+ soc_arch = soc_arch,
+ gpu_family = gpu_family,
+ graphics_apis = graphics_apis,
+ video_codecs = video_codecs,
+ )
+
def _create(
name,
public_fields = ["name", "id"],
@@ -74,7 +83,8 @@
ssfc_segments = None,
design_config_id_segments = None,
device_signer_configs = None,
- mosys_platform_name = None):
+ mosys_platform_name = None,
+ platform = None):
"""Builds a Program proto."""
program_id = program_id_pb.ProgramId(value = name)
return program_pb.Program(
@@ -88,10 +98,12 @@
design_config_id_segments = design_config_id_segments,
device_signer_configs = device_signer_configs,
mosys_platform_name = mosys_platform_name,
+ platform = platform,
)
program = struct(
create = _create,
+ create_platform = _create_platform,
create_firmware_configuration_segment = _create_firmware_configuration_segment,
create_design_config_id_segment = _create_design_config_id_segment,
create_signer_config = _create_signer_config,
@@ -100,4 +112,5 @@
create_signer_config_by_design = _create_signer_config_by_design,
create_signer_configs_by_design = _create_signer_configs_by_design,
generate = generate.generate,
+ platform = program_pb.Program.Platform,
)