Bugzilla: 3047 (https://bugzilla.tianocore.org/show_bug.cgi?id=3047) Create a new parser for the PCCT Table. The PCCT Table is used to describe how the OSPM can communicate with entities outside the platform. It describes which memory spaces correspond to which entity as well as a few of the needed information to handle the communications. This new PCCT parser dumps the values and names of the table fields. It also performs some validation on the table's fields. Signed-off-by: Marc Moisson-Franckhauser <marc.moisson-franckhauser@arm.com> Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Zhichao Gao <zhichao.gao@intel.com>
34 lines
874 B
C
34 lines
874 B
C
/** @file
|
|
Header file for PCCT parser
|
|
|
|
Copyright (c) 2020, Arm Limited.
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
**/
|
|
|
|
#ifndef PCCT_PARSER_H_
|
|
#define PCCT_PARSER_H_
|
|
|
|
/**
|
|
Minimum value for the 'length' field in subspaces of types 0, 1 and 2.
|
|
*/
|
|
#define MIN_MEMORY_RANGE_LENGTH 8
|
|
|
|
/**
|
|
Minimum value for the 'length' field in subspaces of types 3 and 4.
|
|
*/
|
|
#define MIN_EXT_PCC_SUBSPACE_MEM_RANGE_LEN 16
|
|
|
|
/**
|
|
Maximum number of PCC subspaces.
|
|
*/
|
|
#define MAX_PCC_SUBSPACES 256
|
|
|
|
/**
|
|
Parser for the header of any type of PCC subspace.
|
|
*/
|
|
#define PCC_SUBSPACE_HEADER() \
|
|
{L"Type", 1, 0, L"0x%x", NULL, (VOID**)&PccSubspaceType, NULL, NULL}, \
|
|
{L"Length", 1, 1, L"%u", NULL, (VOID**)&PccSubspaceLength, NULL, NULL}
|
|
|
|
#endif // PCCT_PARSER_H_
|