1 /* 2 * Copyright (C) 2020-2022 Intel Corporation. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef RTCM_H 8 #define RTCM_H 9 10 #include <asm/rtct.h> 11 12 #define MSABI __attribute__((ms_abi)) 13 14 typedef int32_t MSABI(*rtcm_abi_func)(uint32_t command, void *command_struct); 15 16 #define RTCM_CMD_INIT_SOFTWARE_SRAM (int32_t)1U 17 #define RTCM_CMD_CPUID (int32_t)2U 18 #define RTCM_CMD_RDMSR (int32_t)3U 19 #define RTCM_CMD_WRMSR (int32_t)4U 20 21 #define RTCM_MAGIC_PTCM 0x5054434dU /* "PTCM", CRL header magic number for RTCT version 1 */ 22 #define RTCM_MAGIC_RTCM 0x5254434dU /* "RTCM", CRL header magic number for RTCT version 2 */ 23 24 struct rtcm_header { 25 uint32_t magic; 26 uint32_t version; 27 uint64_t command_offset; 28 } __packed; 29 30 bool init_software_sram(bool is_bsp); 31 void set_rtct_tbl(void *rtct_tbl_addr); 32 bool is_software_sram_enabled(void); 33 #endif /* RTCM_H */ 34