Revert "soc/intel/cannonlake: Remove DMA support for PTT"

This reverts commit d5018a8f78.
This commit is contained in:
Jeremy Soller
2019-10-02 10:15:22 -06:00
parent 3e2083ba43
commit fbdb388c39
2 changed files with 23 additions and 0 deletions

View File

@@ -68,6 +68,10 @@
#define HECI1_BASE_ADDRESS 0xfeda2000
/* PTT registers */
#define PTT_TXT_BASE_ADDRESS 0xfed30800
#define PTT_PRESENT 0x00070000
#define VTD_BASE_ADDRESS 0xFED90000
#define VTD_BASE_SIZE 0x00004000
/*

View File

@@ -37,6 +37,22 @@ void smm_region(uintptr_t *start, size_t *size)
*size = sa_get_tseg_size();
}
static bool is_ptt_enable(void)
{
if ((read32((void *)PTT_TXT_BASE_ADDRESS) & PTT_PRESENT) ==
PTT_PRESENT)
return true;
return false;
}
/* Calculate PTT size */
static size_t get_ptt_size(void)
{
/* Allocate 4KB for PTT if enabled */
return is_ptt_enable() ? 4*KiB : 0;
}
/* Calculate ME Stolen size */
static size_t get_imr_size(void)
{
@@ -130,6 +146,9 @@ static size_t calculate_reserved_mem_size(uintptr_t dram_base,
/* Get Tracehub size */
reserve_mem_base -= get_imr_size();
/* Get PTT size */
reserve_mem_base -= get_ptt_size();
/* Traditional Area Size */
reserve_mem_size = dram_base - reserve_mem_base;