github.com/linuxboot/fiano@v1.2.0/pkg/intel/metadata/cbnt/cbntbootpolicy/txt.go (about) 1 // Copyright 2017-2021 the LinuxBoot Authors. All rights reserved 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 //go:generate manifestcodegen 6 7 package cbntbootpolicy 8 9 import ( 10 "fmt" 11 "time" 12 13 "github.com/linuxboot/fiano/pkg/intel/metadata/cbnt" 14 ) 15 16 // TXT is the TXT element 17 type TXT struct { 18 StructInfo `id:"__TXTS__" version:"0x21" var0:"0" var1:"uint16(s.TotalSize())"` 19 Reserved0 [1]byte `require:"0" json:"txtReserved0,omitempty"` 20 SetNumber [1]byte `require:"0" json:"txtSetNumer,omitempty"` 21 SInitMinSVNAuth uint8 `default:"0" json:"txtSVN"` 22 Reserved1 [1]byte `require:"0" json:"txtReserved1,omitempty"` 23 ControlFlags TXTControlFlags `json:"txtFlags"` 24 PwrDownInterval Duration16In5Sec `json:"txtPwrDownInterval"` 25 // PrettyString: PTT CMOS Offset 0 26 PTTCMOSOffset0 uint8 `default:"126" json:"txtPTTCMOSOffset0"` 27 // PrettyString: PTT CMOS Offset 1 28 PTTCMOSOffset1 uint8 `default:"127" json:"txtPTTCMOSOffset1"` 29 ACPIBaseOffset uint16 `default:"0x400" json:"txtACPIBaseOffset,omitempty"` 30 Reserved2 [2]byte `json:"txtReserved2,omitempty"` 31 // PrettyString: ACPI MMIO Offset 32 PwrMBaseOffset uint32 `default:"0xFE000000" json:"txtPwrMBaseOffset,omitempty"` 33 DigestList cbnt.HashList `json:"txtDigestList"` 34 Reserved3 [3]byte `require:"0" json:"txtReserved3,omitempty"` 35 36 SegmentCount uint8 `require:"0" json:"txtSegmentCount,omitempty"` 37 } 38 39 // Duration16In5Sec exports the custom type Duration16In5Sec 40 type Duration16In5Sec uint16 41 42 // Duration calculates a given time in multiple of 5 seconds. 43 func (d Duration16In5Sec) Duration() time.Duration { 44 return time.Second * 5 * time.Duration(d) 45 } 46 47 func (d Duration16In5Sec) String() string { 48 if d == 0 { 49 return "0 (infinite)" 50 } 51 return fmt.Sprintf("%d (%s)", d, d.Duration().String()) 52 }