intel/common/systemagent: Add API to get SOC specific PRMRR base and mask
Implement weak definition and SOC specific code would implement
actual definition.
Change-Id: I5e787a2603aaa475cb5c61558cc31ec0afcb4a8b
Signed-off-by: Pratik Prajapati <pratikkumar.v.prajapati@intel.com>
Reviewed-on: https://review.coreboot.org/21243
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
diff --git a/src/soc/intel/common/block/include/intelblocks/systemagent.h b/src/soc/intel/common/block/include/intelblocks/systemagent.h
index 4ca19e6..522d924 100644
--- a/src/soc/intel/common/block/include/intelblocks/systemagent.h
+++ b/src/soc/intel/common/block/include/intelblocks/systemagent.h
@@ -100,4 +100,7 @@
*/
void soc_add_fixed_mmio_resources(struct device *dev, int *resource_cnt);
+/* SoC specific APIs to get UNCORE PRMRR base and mask values
+ * returns 0, if able to get base and mask values; otherwise returns -1 */
+int soc_get_uncore_prmmr_base_and_mask(uint64_t *base, uint64_t *mask);
#endif /* SOC_INTEL_COMMON_BLOCK_SA_H */
diff --git a/src/soc/intel/common/block/systemagent/systemagent.c b/src/soc/intel/common/block/systemagent/systemagent.c
index cb7af41..3be65f9 100644
--- a/src/soc/intel/common/block/systemagent/systemagent.c
+++ b/src/soc/intel/common/block/systemagent/systemagent.c
@@ -36,6 +36,13 @@
/* no-op */
}
+__attribute__((weak)) int soc_get_uncore_prmmr_base_and_mask(uint64_t *base,
+ uint64_t *mask)
+{
+ /* return failure for this dummy API */
+ return -1;
+}
+
/*
* Add all known fixed MMIO ranges that hang off the host bridge/memory
* controller device.