diff --git a/go/chromite/api/firmware.pb.go b/go/chromite/api/firmware.pb.go
index c081dbe..757c37b 100644
--- a/go/chromite/api/firmware.pb.go
+++ b/go/chromite/api/firmware.pb.go
@@ -1472,6 +1472,44 @@
 	return nil
 }
 
+type FirmwareArtifactInfo_LcovTarballInfo struct {
+	state         protoimpl.MessageState
+	sizeCache     protoimpl.SizeCache
+	unknownFields protoimpl.UnknownFields
+}
+
+func (x *FirmwareArtifactInfo_LcovTarballInfo) Reset() {
+	*x = FirmwareArtifactInfo_LcovTarballInfo{}
+	if protoimpl.UnsafeEnabled {
+		mi := &file_chromite_api_firmware_proto_msgTypes[21]
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		ms.StoreMessageInfo(mi)
+	}
+}
+
+func (x *FirmwareArtifactInfo_LcovTarballInfo) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FirmwareArtifactInfo_LcovTarballInfo) ProtoMessage() {}
+
+func (x *FirmwareArtifactInfo_LcovTarballInfo) ProtoReflect() protoreflect.Message {
+	mi := &file_chromite_api_firmware_proto_msgTypes[21]
+	if protoimpl.UnsafeEnabled && x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use FirmwareArtifactInfo_LcovTarballInfo.ProtoReflect.Descriptor instead.
+func (*FirmwareArtifactInfo_LcovTarballInfo) Descriptor() ([]byte, []int) {
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{16, 1}
+}
+
 type FirmwareArtifactInfo_ObjectInfo struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -1481,13 +1519,14 @@
 	FileName string `protobuf:"bytes,1,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`
 	// Types that are assignable to FirmwareObjectInfo:
 	//	*FirmwareArtifactInfo_ObjectInfo_TarballInfo
+	//	*FirmwareArtifactInfo_ObjectInfo_LcovInfo
 	FirmwareObjectInfo isFirmwareArtifactInfo_ObjectInfo_FirmwareObjectInfo `protobuf_oneof:"firmware_object_info"`
 }
 
 func (x *FirmwareArtifactInfo_ObjectInfo) Reset() {
 	*x = FirmwareArtifactInfo_ObjectInfo{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[21]
+		mi := &file_chromite_api_firmware_proto_msgTypes[22]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -1500,7 +1539,7 @@
 func (*FirmwareArtifactInfo_ObjectInfo) ProtoMessage() {}
 
 func (x *FirmwareArtifactInfo_ObjectInfo) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[21]
+	mi := &file_chromite_api_firmware_proto_msgTypes[22]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -1513,7 +1552,7 @@
 
 // Deprecated: Use FirmwareArtifactInfo_ObjectInfo.ProtoReflect.Descriptor instead.
 func (*FirmwareArtifactInfo_ObjectInfo) Descriptor() ([]byte, []int) {
-	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{16, 1}
+	return file_chromite_api_firmware_proto_rawDescGZIP(), []int{16, 2}
 }
 
 func (x *FirmwareArtifactInfo_ObjectInfo) GetFileName() string {
@@ -1537,6 +1576,13 @@
 	return nil
 }
 
+func (x *FirmwareArtifactInfo_ObjectInfo) GetLcovInfo() *FirmwareArtifactInfo_LcovTarballInfo {
+	if x, ok := x.GetFirmwareObjectInfo().(*FirmwareArtifactInfo_ObjectInfo_LcovInfo); ok {
+		return x.LcovInfo
+	}
+	return nil
+}
+
 type isFirmwareArtifactInfo_ObjectInfo_FirmwareObjectInfo interface {
 	isFirmwareArtifactInfo_ObjectInfo_FirmwareObjectInfo()
 }
@@ -1546,9 +1592,17 @@
 	TarballInfo *FirmwareArtifactInfo_TarballInfo `protobuf:"bytes,2,opt,name=tarball_info,json=tarballInfo,proto3,oneof"`
 }
 
+type FirmwareArtifactInfo_ObjectInfo_LcovInfo struct {
+	// Info about an LCOV tarball.
+	LcovInfo *FirmwareArtifactInfo_LcovTarballInfo `protobuf:"bytes,3,opt,name=lcov_info,json=lcovInfo,proto3,oneof"`
+}
+
 func (*FirmwareArtifactInfo_ObjectInfo_TarballInfo) isFirmwareArtifactInfo_ObjectInfo_FirmwareObjectInfo() {
 }
 
+func (*FirmwareArtifactInfo_ObjectInfo_LcovInfo) isFirmwareArtifactInfo_ObjectInfo_FirmwareObjectInfo() {
+}
+
 // The type of a firmware binary.
 type FirmwareArtifactInfo_TarballInfo_FirmwareType struct {
 	state         protoimpl.MessageState
@@ -1559,7 +1613,7 @@
 func (x *FirmwareArtifactInfo_TarballInfo_FirmwareType) Reset() {
 	*x = FirmwareArtifactInfo_TarballInfo_FirmwareType{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[22]
+		mi := &file_chromite_api_firmware_proto_msgTypes[23]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -1572,7 +1626,7 @@
 func (*FirmwareArtifactInfo_TarballInfo_FirmwareType) ProtoMessage() {}
 
 func (x *FirmwareArtifactInfo_TarballInfo_FirmwareType) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[22]
+	mi := &file_chromite_api_firmware_proto_msgTypes[23]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -1601,7 +1655,7 @@
 func (x *FirmwareArtifactInfo_TarballInfo_Version) Reset() {
 	*x = FirmwareArtifactInfo_TarballInfo_Version{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_chromite_api_firmware_proto_msgTypes[23]
+		mi := &file_chromite_api_firmware_proto_msgTypes[24]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -1614,7 +1668,7 @@
 func (*FirmwareArtifactInfo_TarballInfo_Version) ProtoMessage() {}
 
 func (x *FirmwareArtifactInfo_TarballInfo_Version) ProtoReflect() protoreflect.Message {
-	mi := &file_chromite_api_firmware_proto_msgTypes[23]
+	mi := &file_chromite_api_firmware_proto_msgTypes[24]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -1805,7 +1859,7 @@
 	0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
 	0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x42, 0x79, 0x53, 0x65, 0x72,
 	0x76, 0x69, 0x63, 0x65, 0x2e, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x09, 0x61,
-	0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x22, 0x9e, 0x06, 0x0a, 0x14, 0x46, 0x69, 0x72,
+	0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x22, 0x84, 0x07, 0x0a, 0x14, 0x46, 0x69, 0x72,
 	0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66,
 	0x6f, 0x12, 0x47, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
 	0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70,
@@ -1846,62 +1900,68 @@
 	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x01, 0x20,
 	0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69,
 	0x6e, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72,
-	0x1a, 0x96, 0x01, 0x0a, 0x0a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12,
-	0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x53, 0x0a, 0x0c,
-	0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01,
-	0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70,
-	0x69, 0x2e, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61,
-	0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x54, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x49, 0x6e,
-	0x66, 0x6f, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66,
-	0x6f, 0x42, 0x16, 0x0a, 0x14, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x6f, 0x62,
-	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2a, 0x5e, 0x0a, 0x0a, 0x46, 0x77, 0x4c,
-	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x57, 0x5f, 0x4c, 0x4f,
-	0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00,
-	0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x45, 0x43, 0x10,
-	0x01, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x5a, 0x45,
-	0x50, 0x48, 0x59, 0x52, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f,
-	0x52, 0x4d, 0x5f, 0x54, 0x49, 0x35, 0x30, 0x10, 0x03, 0x32, 0xb3, 0x04, 0x0a, 0x0f, 0x46, 0x69,
-	0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6a, 0x0a,
-	0x13, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d,
-	0x77, 0x61, 0x72, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e,
+	0x1a, 0x11, 0x0a, 0x0f, 0x4c, 0x63, 0x6f, 0x76, 0x54, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x49,
+	0x6e, 0x66, 0x6f, 0x1a, 0xe9, 0x01, 0x0a, 0x0a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e,
+	0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12,
+	0x53, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65,
+	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74,
+	0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x54, 0x61, 0x72, 0x62, 0x61, 0x6c,
+	0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c,
+	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x51, 0x0a, 0x09, 0x6c, 0x63, 0x6f, 0x76, 0x5f, 0x69, 0x6e, 0x66,
+	0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69,
+	0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x41,
+	0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x63, 0x6f, 0x76,
+	0x54, 0x61, 0x72, 0x62, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x08, 0x6c,
+	0x63, 0x6f, 0x76, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x16, 0x0a, 0x14, 0x66, 0x69, 0x72, 0x6d, 0x77,
+	0x61, 0x72, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2a,
+	0x5e, 0x0a, 0x0a, 0x46, 0x77, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a,
+	0x13, 0x46, 0x57, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4b,
+	0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f,
+	0x52, 0x4d, 0x5f, 0x45, 0x43, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x4c, 0x41, 0x54, 0x46,
+	0x4f, 0x52, 0x4d, 0x5f, 0x5a, 0x45, 0x50, 0x48, 0x59, 0x52, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d,
+	0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x54, 0x49, 0x35, 0x30, 0x10, 0x03, 0x32,
+	0xb3, 0x04, 0x0a, 0x0f, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76,
+	0x69, 0x63, 0x65, 0x12, 0x6a, 0x0a, 0x13, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x54,
+	0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x68, 0x72,
+	0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41,
+	0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71,
+	0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e,
 	0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46,
-	0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29,
-	0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75,
-	0x69, 0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72,
-	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x12, 0x54, 0x65, 0x73,
-	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x12,
-	0x27, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54,
-	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72,
-	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d,
-	0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
-	0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
-	0x73, 0x65, 0x12, 0x61, 0x0a, 0x10, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x46, 0x69,
-	0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74,
-	0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x46, 0x69,
-	0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e,
-	0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69,
-	0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73,
-	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0f, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
-	0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x12, 0x24, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d,
-	0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x46,
-	0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25,
+	0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+	0x67, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46, 0x69, 0x72,
+	0x6d, 0x77, 0x61, 0x72, 0x65, 0x12, 0x27, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65,
+	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46,
+	0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28,
 	0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x65,
-	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73,
-	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x17, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46,
-	0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73,
-	0x12, 0x2c, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e,
-	0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72,
-	0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d,
-	0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75,
-	0x6e, 0x64, 0x6c, 0x65, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74, 0x69,
-	0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x10, 0xc2,
-	0xed, 0x1a, 0x0c, 0x0a, 0x08, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x10, 0x01, 0x42,
-	0x38, 0x5a, 0x36, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f,
-	0x72, 0x67, 0x2f, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x69, 0x6e,
-	0x66, 0x72, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x68, 0x72,
-	0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
-	0x33,
+	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x6f, 0x74, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65,
+	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x10, 0x42, 0x75, 0x69, 0x6c,
+	0x64, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x12, 0x25, 0x2e, 0x63,
+	0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c,
+	0x64, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75,
+	0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61,
+	0x70, 0x69, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77,
+	0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0f, 0x54,
+	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x12, 0x24,
+	0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x65,
+	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71,
+	0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e,
+	0x61, 0x70, 0x69, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x72, 0x6d, 0x77,
+	0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x17, 0x42,
+	0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74,
+	0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74,
+	0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x69, 0x72, 0x6d,
+	0x77, 0x61, 0x72, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71,
+	0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2e,
+	0x61, 0x70, 0x69, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x69, 0x72, 0x6d, 0x77, 0x61,
+	0x72, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
+	0x6e, 0x73, 0x65, 0x1a, 0x10, 0xc2, 0xed, 0x1a, 0x0c, 0x0a, 0x08, 0x66, 0x69, 0x72, 0x6d, 0x77,
+	0x61, 0x72, 0x65, 0x10, 0x01, 0x42, 0x38, 0x5a, 0x36, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f,
+	0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75,
+	0x6d, 0x6f, 0x73, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
+	0x67, 0x6f, 0x2f, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x62,
+	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
 var (
@@ -1917,7 +1977,7 @@
 }
 
 var file_chromite_api_firmware_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
-var file_chromite_api_firmware_proto_msgTypes = make([]protoimpl.MessageInfo, 24)
+var file_chromite_api_firmware_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
 var file_chromite_api_firmware_proto_goTypes = []interface{}{
 	(FwLocation)(0),                                         // 0: chromite.api.FwLocation
 	(FwBuildMetric_FwSection_FwRegion)(0),                   // 1: chromite.api.FwBuildMetric.FwSection.FwRegion
@@ -1943,14 +2003,15 @@
 	(*FwBuildMetric_Version)(nil),                           // 21: chromite.api.FwBuildMetric.Version
 	(*FwBuildMetric_ZephyrTarget)(nil),                      // 22: chromite.api.FwBuildMetric.ZephyrTarget
 	(*FirmwareArtifactInfo_TarballInfo)(nil),                // 23: chromite.api.FirmwareArtifactInfo.TarballInfo
-	(*FirmwareArtifactInfo_ObjectInfo)(nil),                 // 24: chromite.api.FirmwareArtifactInfo.ObjectInfo
-	(*FirmwareArtifactInfo_TarballInfo_FirmwareType)(nil),   // 25: chromite.api.FirmwareArtifactInfo.TarballInfo.FirmwareType
-	(*FirmwareArtifactInfo_TarballInfo_Version)(nil),        // 26: chromite.api.FirmwareArtifactInfo.TarballInfo.Version
-	(*chromiumos.Chroot)(nil),                               // 27: chromiumos.Chroot
-	(chromiumos.FwLocation)(0),                              // 28: chromiumos.FwLocation
-	(*chromiumos.ResultPath)(nil),                           // 29: chromiumos.ResultPath
-	(*chromiumos.ArtifactsByService_Firmware)(nil),          // 30: chromiumos.ArtifactsByService.Firmware
-	(*chromiumos.UploadedArtifactsByService_Firmware)(nil),  // 31: chromiumos.UploadedArtifactsByService.Firmware
+	(*FirmwareArtifactInfo_LcovTarballInfo)(nil),            // 24: chromite.api.FirmwareArtifactInfo.LcovTarballInfo
+	(*FirmwareArtifactInfo_ObjectInfo)(nil),                 // 25: chromite.api.FirmwareArtifactInfo.ObjectInfo
+	(*FirmwareArtifactInfo_TarballInfo_FirmwareType)(nil),   // 26: chromite.api.FirmwareArtifactInfo.TarballInfo.FirmwareType
+	(*FirmwareArtifactInfo_TarballInfo_Version)(nil),        // 27: chromite.api.FirmwareArtifactInfo.TarballInfo.Version
+	(*chromiumos.Chroot)(nil),                               // 28: chromiumos.Chroot
+	(chromiumos.FwLocation)(0),                              // 29: chromiumos.FwLocation
+	(*chromiumos.ResultPath)(nil),                           // 30: chromiumos.ResultPath
+	(*chromiumos.ArtifactsByService_Firmware)(nil),          // 31: chromiumos.ArtifactsByService.Firmware
+	(*chromiumos.UploadedArtifactsByService_Firmware)(nil),  // 32: chromiumos.UploadedArtifactsByService.Firmware
 }
 var file_chromite_api_firmware_proto_depIdxs = []int32{
 	20, // 0: chromite.api.FwBuildMetric.fw_section:type_name -> chromite.api.FwBuildMetric.FwSection
@@ -1958,45 +2019,46 @@
 	5,  // 2: chromite.api.FwBuildMetricList.value:type_name -> chromite.api.FwBuildMetric
 	7,  // 3: chromite.api.FwTestMetricList.value:type_name -> chromite.api.FwTestMetric
 	0,  // 4: chromite.api.BuildAllTotFirmwareRequest.firmware_location:type_name -> chromite.api.FwLocation
-	27, // 5: chromite.api.BuildAllTotFirmwareRequest.chroot:type_name -> chromiumos.Chroot
+	28, // 5: chromite.api.BuildAllTotFirmwareRequest.chroot:type_name -> chromiumos.Chroot
 	6,  // 6: chromite.api.BuildAllTotFirmwareResponse.metrics:type_name -> chromite.api.FwBuildMetricList
 	0,  // 7: chromite.api.TestAllTotFirmwareRequest.firmware_location:type_name -> chromite.api.FwLocation
-	27, // 8: chromite.api.TestAllTotFirmwareRequest.chroot:type_name -> chromiumos.Chroot
+	28, // 8: chromite.api.TestAllTotFirmwareRequest.chroot:type_name -> chromiumos.Chroot
 	8,  // 9: chromite.api.TestAllTotFirmwareResponse.metrics:type_name -> chromite.api.FwTestMetricList
-	28, // 10: chromite.api.BuildAllFirmwareRequest.firmware_location:type_name -> chromiumos.FwLocation
-	27, // 11: chromite.api.BuildAllFirmwareRequest.chroot:type_name -> chromiumos.Chroot
+	29, // 10: chromite.api.BuildAllFirmwareRequest.firmware_location:type_name -> chromiumos.FwLocation
+	28, // 11: chromite.api.BuildAllFirmwareRequest.chroot:type_name -> chromiumos.Chroot
 	6,  // 12: chromite.api.BuildAllFirmwareResponse.metrics:type_name -> chromite.api.FwBuildMetricList
-	28, // 13: chromite.api.TestAllFirmwareRequest.firmware_location:type_name -> chromiumos.FwLocation
-	27, // 14: chromite.api.TestAllFirmwareRequest.chroot:type_name -> chromiumos.Chroot
+	29, // 13: chromite.api.TestAllFirmwareRequest.firmware_location:type_name -> chromiumos.FwLocation
+	28, // 14: chromite.api.TestAllFirmwareRequest.chroot:type_name -> chromiumos.Chroot
 	8,  // 15: chromite.api.TestAllFirmwareResponse.metrics:type_name -> chromite.api.FwTestMetricList
-	27, // 16: chromite.api.BundleFirmwareArtifactsRequest.chroot:type_name -> chromiumos.Chroot
-	29, // 17: chromite.api.BundleFirmwareArtifactsRequest.result_path:type_name -> chromiumos.ResultPath
-	30, // 18: chromite.api.BundleFirmwareArtifactsRequest.artifacts:type_name -> chromiumos.ArtifactsByService.Firmware
+	28, // 16: chromite.api.BundleFirmwareArtifactsRequest.chroot:type_name -> chromiumos.Chroot
+	30, // 17: chromite.api.BundleFirmwareArtifactsRequest.result_path:type_name -> chromiumos.ResultPath
+	31, // 18: chromite.api.BundleFirmwareArtifactsRequest.artifacts:type_name -> chromiumos.ArtifactsByService.Firmware
 	3,  // 19: chromite.api.BundleFirmwareArtifactsRequest.bcs_version_info:type_name -> chromite.api.BcsVersionInfo
-	31, // 20: chromite.api.BundleFirmwareArtifactsResponse.artifacts:type_name -> chromiumos.UploadedArtifactsByService.Firmware
-	24, // 21: chromite.api.FirmwareArtifactInfo.objects:type_name -> chromite.api.FirmwareArtifactInfo.ObjectInfo
+	32, // 20: chromite.api.BundleFirmwareArtifactsResponse.artifacts:type_name -> chromiumos.UploadedArtifactsByService.Firmware
+	25, // 21: chromite.api.FirmwareArtifactInfo.objects:type_name -> chromite.api.FirmwareArtifactInfo.ObjectInfo
 	3,  // 22: chromite.api.FirmwareArtifactInfo.bcs_version_info:type_name -> chromite.api.BcsVersionInfo
 	1,  // 23: chromite.api.FwBuildMetric.FwSection.region:type_name -> chromite.api.FwBuildMetric.FwSection.FwRegion
 	21, // 24: chromite.api.FwBuildMetric.ZephyrTarget.kernel_version:type_name -> chromite.api.FwBuildMetric.Version
 	2,  // 25: chromite.api.FirmwareArtifactInfo.TarballInfo.type:type_name -> chromite.api.FirmwareArtifactInfo.TarballInfo.FirmwareType.Type
-	26, // 26: chromite.api.FirmwareArtifactInfo.TarballInfo.version:type_name -> chromite.api.FirmwareArtifactInfo.TarballInfo.Version
+	27, // 26: chromite.api.FirmwareArtifactInfo.TarballInfo.version:type_name -> chromite.api.FirmwareArtifactInfo.TarballInfo.Version
 	4,  // 27: chromite.api.FirmwareArtifactInfo.TarballInfo.firmware_version_info:type_name -> chromite.api.FirmwareVersionInfo
 	23, // 28: chromite.api.FirmwareArtifactInfo.ObjectInfo.tarball_info:type_name -> chromite.api.FirmwareArtifactInfo.TarballInfo
-	9,  // 29: chromite.api.FirmwareService.BuildAllTotFirmware:input_type -> chromite.api.BuildAllTotFirmwareRequest
-	11, // 30: chromite.api.FirmwareService.TestAllTotFirmware:input_type -> chromite.api.TestAllTotFirmwareRequest
-	13, // 31: chromite.api.FirmwareService.BuildAllFirmware:input_type -> chromite.api.BuildAllFirmwareRequest
-	15, // 32: chromite.api.FirmwareService.TestAllFirmware:input_type -> chromite.api.TestAllFirmwareRequest
-	17, // 33: chromite.api.FirmwareService.BundleFirmwareArtifacts:input_type -> chromite.api.BundleFirmwareArtifactsRequest
-	10, // 34: chromite.api.FirmwareService.BuildAllTotFirmware:output_type -> chromite.api.BuildAllTotFirmwareResponse
-	12, // 35: chromite.api.FirmwareService.TestAllTotFirmware:output_type -> chromite.api.TestAllTotFirmwareResponse
-	14, // 36: chromite.api.FirmwareService.BuildAllFirmware:output_type -> chromite.api.BuildAllFirmwareResponse
-	16, // 37: chromite.api.FirmwareService.TestAllFirmware:output_type -> chromite.api.TestAllFirmwareResponse
-	18, // 38: chromite.api.FirmwareService.BundleFirmwareArtifacts:output_type -> chromite.api.BundleFirmwareArtifactsResponse
-	34, // [34:39] is the sub-list for method output_type
-	29, // [29:34] is the sub-list for method input_type
-	29, // [29:29] is the sub-list for extension type_name
-	29, // [29:29] is the sub-list for extension extendee
-	0,  // [0:29] is the sub-list for field type_name
+	24, // 29: chromite.api.FirmwareArtifactInfo.ObjectInfo.lcov_info:type_name -> chromite.api.FirmwareArtifactInfo.LcovTarballInfo
+	9,  // 30: chromite.api.FirmwareService.BuildAllTotFirmware:input_type -> chromite.api.BuildAllTotFirmwareRequest
+	11, // 31: chromite.api.FirmwareService.TestAllTotFirmware:input_type -> chromite.api.TestAllTotFirmwareRequest
+	13, // 32: chromite.api.FirmwareService.BuildAllFirmware:input_type -> chromite.api.BuildAllFirmwareRequest
+	15, // 33: chromite.api.FirmwareService.TestAllFirmware:input_type -> chromite.api.TestAllFirmwareRequest
+	17, // 34: chromite.api.FirmwareService.BundleFirmwareArtifacts:input_type -> chromite.api.BundleFirmwareArtifactsRequest
+	10, // 35: chromite.api.FirmwareService.BuildAllTotFirmware:output_type -> chromite.api.BuildAllTotFirmwareResponse
+	12, // 36: chromite.api.FirmwareService.TestAllTotFirmware:output_type -> chromite.api.TestAllTotFirmwareResponse
+	14, // 37: chromite.api.FirmwareService.BuildAllFirmware:output_type -> chromite.api.BuildAllFirmwareResponse
+	16, // 38: chromite.api.FirmwareService.TestAllFirmware:output_type -> chromite.api.TestAllFirmwareResponse
+	18, // 39: chromite.api.FirmwareService.BundleFirmwareArtifacts:output_type -> chromite.api.BundleFirmwareArtifactsResponse
+	35, // [35:40] is the sub-list for method output_type
+	30, // [30:35] is the sub-list for method input_type
+	30, // [30:30] is the sub-list for extension type_name
+	30, // [30:30] is the sub-list for extension extendee
+	0,  // [0:30] is the sub-list for field type_name
 }
 
 func init() { file_chromite_api_firmware_proto_init() }
@@ -2259,7 +2321,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*FirmwareArtifactInfo_ObjectInfo); i {
+			switch v := v.(*FirmwareArtifactInfo_LcovTarballInfo); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -2271,7 +2333,7 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*FirmwareArtifactInfo_TarballInfo_FirmwareType); i {
+			switch v := v.(*FirmwareArtifactInfo_ObjectInfo); i {
 			case 0:
 				return &v.state
 			case 1:
@@ -2283,6 +2345,18 @@
 			}
 		}
 		file_chromite_api_firmware_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
+			switch v := v.(*FirmwareArtifactInfo_TarballInfo_FirmwareType); i {
+			case 0:
+				return &v.state
+			case 1:
+				return &v.sizeCache
+			case 2:
+				return &v.unknownFields
+			default:
+				return nil
+			}
+		}
+		file_chromite_api_firmware_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*FirmwareArtifactInfo_TarballInfo_Version); i {
 			case 0:
 				return &v.state
@@ -2298,8 +2372,9 @@
 	file_chromite_api_firmware_proto_msgTypes[2].OneofWrappers = []interface{}{
 		(*FwBuildMetric_Zephyr)(nil),
 	}
-	file_chromite_api_firmware_proto_msgTypes[21].OneofWrappers = []interface{}{
+	file_chromite_api_firmware_proto_msgTypes[22].OneofWrappers = []interface{}{
 		(*FirmwareArtifactInfo_ObjectInfo_TarballInfo)(nil),
+		(*FirmwareArtifactInfo_ObjectInfo_LcovInfo)(nil),
 	}
 	type x struct{}
 	out := protoimpl.TypeBuilder{
@@ -2307,7 +2382,7 @@
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 			RawDescriptor: file_chromite_api_firmware_proto_rawDesc,
 			NumEnums:      3,
-			NumMessages:   24,
+			NumMessages:   25,
 			NumExtensions: 0,
 			NumServices:   1,
 		},
diff --git a/src/chromite/api/firmware.proto b/src/chromite/api/firmware.proto
index b8b4166..8d8aa93 100644
--- a/src/chromite/api/firmware.proto
+++ b/src/chromite/api/firmware.proto
@@ -252,6 +252,11 @@
       FirmwareVersionInfo firmware_version_info = 5;
   }
 
+  message LcovTarballInfo {
+    // Deliberately empty; there isn't any other information I need other
+    // than to know that this is code coverage data in a tarball.
+  }
+
   message ObjectInfo {
     // The name of the file.
     string file_name = 1;
@@ -259,6 +264,9 @@
     oneof firmware_object_info {
       // Info about Firmware.FIRMWARE_TARBALL.
       TarballInfo tarball_info = 2;
+
+      // Info about an LCOV tarball.
+      LcovTarballInfo lcov_info = 3;
     }
   }
   repeated ObjectInfo objects = 1;
