aboutsummaryrefslogtreecommitdiff
path: root/hw/fsp
diff options
context:
space:
mode:
authorVasant Hegde <hegdevasant@linux.vnet.ibm.com>2019-07-12 16:47:40 +0530
committerOliver O'Halloran <oohall@gmail.com>2019-08-15 17:52:26 +1000
commit9d57eb465222b33c317fde6f7c0d15ef255f989a (patch)
tree97521239fdbc8107240719ce9d4457bc0e171e18 /hw/fsp
parentaf98c56312b4521985f40223209d64e7715bb49a (diff)
downloadskiboot-9d57eb465222b33c317fde6f7c0d15ef255f989a.zip
skiboot-9d57eb465222b33c317fde6f7c0d15ef255f989a.tar.gz
skiboot-9d57eb465222b33c317fde6f7c0d15ef255f989a.tar.bz2
hdata: Split MDST 'type' field to accommodate MPIPL
The MPIPL facility needs to store region and type information corresponding with each MDST entry. - data region : dump data regions (like DUMP_REGION_* ) - dump type : Reflects MDST entry usage (used by SYSDUMP -OR- FADUMP) The existing type field is currently not used by FSP and/or firmware, so it is safe to re-purpose it. Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> [oliver: rebased] Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Diffstat (limited to 'hw/fsp')
-rw-r--r--hw/fsp/fsp-sysdump.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/hw/fsp/fsp-sysdump.c b/hw/fsp/fsp-sysdump.c
index 869e059..cf4af34 100644
--- a/hw/fsp/fsp-sysdump.c
+++ b/hw/fsp/fsp-sysdump.c
@@ -100,7 +100,7 @@ static int dump_region_tce_map(void)
fsp_tce_map(PSI_DMA_HYP_DUMP + t_size, (void *)addr, size);
/* Add entry to MDST table */
- mdst_table[i].type = dump_mem_region[i].type;
+ mdst_table[i].data_region = dump_mem_region[i].data_region;
mdst_table[i].size = dump_mem_region[i].size;
mdst_table[i].addr = cpu_to_be64(PSI_DMA_HYP_DUMP + t_size);
@@ -180,7 +180,7 @@ static int dump_region_del_entry(uint32_t id)
lock(&mdst_lock);
for (i = 0; i < cur_mdst_entry; i++) {
- if (be32_to_cpu(dump_mem_region[i].type) != id)
+ if (dump_mem_region[i].data_region != id)
continue;
found = true;
@@ -200,7 +200,7 @@ static int dump_region_del_entry(uint32_t id)
for ( ; i < cur_mdst_entry - 1; i++)
dump_mem_region[i] = dump_mem_region[i + 1];
- dump_mem_region[i].type = 0;
+ dump_mem_region[i].data_region = 0;
cur_mdst_entry--;
del_out:
@@ -237,7 +237,7 @@ static int __dump_region_add_entry(uint32_t id, uint64_t addr, uint32_t size)
}
/* Add entry to dump memory region table */
- dump_mem_region[cur_mdst_entry].type = cpu_to_be32(id);
+ dump_mem_region[cur_mdst_entry].data_region = (u8)cpu_to_be32(id);
dump_mem_region[cur_mdst_entry].addr = cpu_to_be64(addr);
dump_mem_region[cur_mdst_entry].size = cpu_to_be32(size);