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  )