github.com/mvdan/u-root-coreutils@v0.0.0-20230122170626-c2eef2898555/cmds/exp/cbmem/const.go (about) 1 // Copyright 2016-2021 the u-root 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:build linux 6 // +build linux 7 8 package main 9 10 // Constants from coreboot. We will not change these names. 11 const ( 12 LB_TAG_UNUSED = 0x0000 13 LB_TAG_MEMORY = 0x0001 14 LB_TAG_HWRPB = 0x0002 15 LB_TAG_MAINBOARD = 0x0003 16 LB_TAG_VERSION = 0x0004 17 LB_TAG_EXTRA_VERSION = 0x0005 18 LB_TAG_BUILD = 0x0006 19 LB_TAG_COMPILE_TIME = 0x0007 20 LB_TAG_COMPILE_BY = 0x0008 21 LB_TAG_COMPILE_HOST = 0x0009 22 LB_TAG_COMPILE_DOMAIN = 0x000a 23 LB_TAG_COMPILER = 0x000b 24 LB_TAG_LINKER = 0x000c 25 LB_TAG_ASSEMBLER = 0x000d 26 LB_TAG_SERIAL = 0x000f 27 LB_TAG_CONSOLE = 0x0010 28 LB_TAG_FORWARD = 0x0011 29 LB_TAG_FRAMEBUFFER = 0x0012 30 LB_TAG_GPIO = 0x0013 31 LB_TAG_TIMESTAMPS = 0x0016 32 LB_TAG_CBMEM_CONSOLE = 0x0017 33 LB_TAG_MRC_CACHE = 0x0018 34 LB_TAG_VBNV = 0x0019 35 LB_TAG_VBOOT_HANDOFF = 0x0020 // deprecated 36 LB_TAG_X86_ROM_MTRR = 0x0021 37 LB_TAG_DMA = 0x0022 38 LB_TAG_RAM_OOPS = 0x0023 39 LB_TAG_ACPI_GNVS = 0x0024 40 LB_TAG_BOARD_ID = 0x0025 // deprecated 41 LB_TAG_VERSION_TIMESTAMP = 0x0026 42 LB_TAG_WIFI_CALIBRATION = 0x0027 43 LB_TAG_RAM_CODE = 0x0028 // deprecated 44 LB_TAG_SPI_FLASH = 0x0029 45 LB_TAG_SERIALNO = 0x002a 46 LB_TAG_MTC = 0x002b 47 LB_TAG_VPD = 0x002c 48 LB_TAG_SKU_ID = 0x002d // deprecated 49 LB_TAG_BOOT_MEDIA_PARAMS = 0x0030 50 LB_TAG_CBMEM_ENTRY = 0x0031 51 LB_TAG_TSC_INFO = 0x0032 52 LB_TAG_MAC_ADDRS = 0x0033 53 LB_TAG_VBOOT_WORKBUF = 0x0034 54 LB_TAG_MMC_INFO = 0x0035 55 LB_TAG_TCPA_LOG = 0x0036 56 LB_TAG_FMAP = 0x0037 57 LB_TAG_PLATFORM_BLOB_VERSION = 0x0038 58 LB_TAG_SMMSTOREV2 = 0x0039 59 LB_TAG_TPM_PPI_HANDOFF = 0x003a 60 LB_TAG_BOARD_CONFIG = 0x0040 61 /* The following options are CMOS-related */ 62 LB_TAG_CMOS_OPTION_TABLE = 0x00c8 63 LB_TAG_OPTION = 0x00c9 64 LB_TAG_OPTION_ENUM = 0x00ca 65 LB_TAG_OPTION_DEFAULTS = 0x00cb 66 LB_TAG_OPTION_CHECKSUM = 0x00cc 67 ) 68 69 const ( 70 LB_MEM_RAM = 1 71 LB_MEM_RESERVED = 2 // Don't use this memory region 72 LB_MEM_ACPI = 3 // ACPI Tables 73 LB_MEM_NVS = 4 // ACPI NVS Memory 74 LB_MEM_UNUSABLE = 5 // Unusable address space 75 LB_MEM_VENDOR_RSVD = 6 // Vendor Reserved 76 LB_MEM_TABLE = 16 // Ram configuration tables are kept in 77 LB_SERIAL_TYPE_IO_MAPPED = 1 78 LB_SERIAL_TYPE_MEMORY_MAPPED = 2 79 ACTIVE_LOW = 0 80 ACTIVE_HIGH = 1 81 GPIO_MAX_NAME_LENGTH = 16 82 LB_TAB_VBOOT_HANDOFF = 0x0020 83 LB_TAB_DMA = 0x0022 84 MAX_SERIALNO_LENGTH = 32 85 CMOS_MAX_NAME_LENGTH = 32 86 CMOS_MAX_TEXT_LENGTH = 32 87 CMOS_IMAGE_BUFFER_SIZE = 256 88 CHECKSUM_NONE = 0 89 CHECKSUM_PCBIOS = 1 90 91 CBMC_CURSOR_MASK = ((1 << 28) - 1) 92 CBMC_OVERFLOW = (1 << 31) 93 ) 94 95 var ( 96 memTags = map[uint32]string{ 97 LB_MEM_RAM: "LB_MEM_RAM", 98 LB_MEM_RESERVED: "LB_MEM_RESERVED", 99 LB_MEM_ACPI: "LB_MEM_ACPI", 100 LB_MEM_NVS: "LB_MEM_NVS", 101 LB_MEM_UNUSABLE: "LB_MEM_UNUSABLE", 102 LB_MEM_VENDOR_RSVD: "LB_MEM_VENDOR_RSVD", 103 LB_MEM_TABLE: "LB_MEM_TABLE", 104 } 105 serialNames = map[uint32]string{ 106 LB_SERIAL_TYPE_IO_MAPPED: "IO_MAPPED", 107 LB_SERIAL_TYPE_MEMORY_MAPPED: "MEMORY_MAPPED", 108 } 109 consoleNames = map[uint32]string{} 110 tagNames = map[uint32]string{ 111 LB_TAG_UNUSED: "LB_TAG_UNUSED", 112 LB_TAG_MEMORY: "LB_TAG_MEMORY", 113 LB_TAG_HWRPB: "LB_TAG_HWRPB", 114 LB_TAG_MAINBOARD: "LB_TAG_MAINBOARD", 115 LB_TAG_VERSION: "LB_TAG_VERSION", 116 LB_TAG_EXTRA_VERSION: "LB_TAG_EXTRA_VERSION", 117 LB_TAG_BUILD: "LB_TAG_BUILD", 118 LB_TAG_COMPILE_TIME: "LB_TAG_COMPILE_TIME", 119 LB_TAG_COMPILE_BY: "LB_TAG_COMPILE_BY", 120 LB_TAG_COMPILE_HOST: "LB_TAG_COMPILE_HOST", 121 LB_TAG_COMPILE_DOMAIN: "LB_TAG_COMPILE_DOMAIN", 122 LB_TAG_COMPILER: "LB_TAG_COMPILER", 123 LB_TAG_LINKER: "LB_TAG_LINKER", 124 LB_TAG_ASSEMBLER: "LB_TAG_ASSEMBLER", 125 LB_TAG_SERIAL: "LB_TAG_SERIAL", 126 LB_TAG_CONSOLE: "LB_TAG_CONSOLE", 127 LB_TAG_FORWARD: "LB_TAG_FORWARD", 128 LB_TAG_FRAMEBUFFER: "LB_TAG_FRAMEBUFFER", 129 LB_TAG_GPIO: "LB_TAG_GPIO", 130 LB_TAG_TIMESTAMPS: "LB_TAG_TIMESTAMPS", 131 LB_TAG_CBMEM_CONSOLE: "LB_TAG_CBMEM_CONSOLE", 132 LB_TAG_MRC_CACHE: "LB_TAG_MRC_CACHE", 133 LB_TAG_VBNV: "LB_TAG_VBNV", 134 LB_TAG_VBOOT_HANDOFF: "LB_TAG_VBOOT_HANDOFF", 135 LB_TAG_X86_ROM_MTRR: "LB_TAG_X86_ROM_MTRR", 136 LB_TAG_DMA: "LB_TAG_DMA", 137 LB_TAG_RAM_OOPS: "LB_TAG_RAM_OOPS", 138 LB_TAG_ACPI_GNVS: "LB_TAG_ACPI_GNVS", 139 LB_TAG_BOARD_ID: "LB_TAG_BOARD_ID", 140 LB_TAG_VERSION_TIMESTAMP: "LB_TAG_VERSION_TIMESTAMP", 141 LB_TAG_WIFI_CALIBRATION: "LB_TAG_WIFI_CALIBRATION", 142 LB_TAG_RAM_CODE: "LB_TAG_RAM_CODE", 143 LB_TAG_SPI_FLASH: "LB_TAG_SPI_FLASH", 144 LB_TAG_SERIALNO: "LB_TAG_SERIALNO", 145 LB_TAG_MTC: "LB_TAG_MTC", 146 LB_TAG_VPD: "LB_TAG_VPD", 147 LB_TAG_SKU_ID: "LB_TAG_SKU_ID", 148 LB_TAG_BOOT_MEDIA_PARAMS: "LB_TAG_BOOT_MEDIA_PARAMS", 149 LB_TAG_CBMEM_ENTRY: "LB_TAG_CBMEM_ENTRY", 150 LB_TAG_TSC_INFO: "LB_TAG_TSC_INFO", 151 LB_TAG_MAC_ADDRS: "LB_TAG_MAC_ADDRS", 152 LB_TAG_VBOOT_WORKBUF: "LB_TAG_VBOOT_WORKBUF", 153 LB_TAG_MMC_INFO: "LB_TAG_MMC_INFO", 154 LB_TAG_TCPA_LOG: "LB_TAG_TCPA_LOG", 155 LB_TAG_FMAP: "LB_TAG_FMAP", 156 LB_TAG_PLATFORM_BLOB_VERSION: "LB_TAG_PLATFORM_BLOB_VERSION", 157 LB_TAG_SMMSTOREV2: "LB_TAG_SMMSTOREV2", 158 LB_TAG_TPM_PPI_HANDOFF: "LB_TAG_TPM_PPI_HANDOFF", 159 LB_TAG_BOARD_CONFIG: "LB_TAG_BOARD_CONFIG", 160 LB_TAG_CMOS_OPTION_TABLE: "LB_TAG_CMOS_OPTION_TABLE", 161 LB_TAG_OPTION: "LB_TAG_OPTION", 162 LB_TAG_OPTION_ENUM: "LB_TAG_OPTION_ENUM", 163 LB_TAG_OPTION_DEFAULTS: "LB_TAG_OPTION_DEFAULTS", 164 LB_TAG_OPTION_CHECKSUM: "LB_TAG_OPTION_CHECKSUM", 165 } 166 )