From f10e629c9a76939d59574c5fabbe5b6ccd22812d Mon Sep 17 00:00:00 2001 From: Vasant Hegde Date: Fri, 12 Jul 2019 16:47:42 +0530 Subject: [PATCH] mem-map: Setup memory for MDDT table Each entry in MDST and MDDT takes 16 bytes. With 1K we can have upto 64 entries. This is sufficient to support OPAL MPIPL (memory preserving IPL). Presently OPAL reserves 2K memory for MDST table. Lets split this into two region of 1K for MDST and MDDT table. Signed-off-by: Vasant Hegde [oliver: rebased] Signed-off-by: Oliver O'Halloran --- include/mem-map.h | 8 ++++++-- skiboot.lds.S | 7 +++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/include/mem-map.h b/include/mem-map.h index 4d06b64b9396..e75bd4e618ea 100644 --- a/include/mem-map.h +++ b/include/mem-map.h @@ -36,12 +36,16 @@ */ #define PROCIN_OFF (SPIRA_OFF + 0x800) -/* Initial MDST table like PROCIN, we need fixed addresses, +/* Initial MDST and MDDT tables like PROCIN, we need fixed addresses, * we leave a 2k gap for PROCIN */ #define MDST_TABLE_OFF (SPIRA_OFF + 0x1000) +#define MDST_TABLE_SIZE 0x400 -/* Like MDST, we need fixed address for CPU control header. +#define MDDT_TABLE_OFF (SPIRA_OFF + 0x1400) +#define MDDT_TABLE_SIZE 0x400 + +/* Like MDST and MDDT, we need fixed address for CPU control header. * We leave a 2k gap for MDST. CPU_CTL table is of size ~4k */ #define CPU_CTL_OFF (SPIRA_OFF + 0x1800) diff --git a/skiboot.lds.S b/skiboot.lds.S index 477c06a5085c..67c58b307e7d 100644 --- a/skiboot.lds.S +++ b/skiboot.lds.S @@ -1,7 +1,5 @@ // SPDX-License-Identifier: Apache-2.0 /* - * Skiboot linker script - * * Copyright 2013-2019 IBM Corp. */ @@ -81,6 +79,11 @@ SECTIONS KEEP(*(.mdst.data)) } + . = MDDT_TABLE_OFF; + .mddt : { + KEEP(*(.mddt.data)) + } + . = CPU_CTL_OFF; .cpuctrl : { KEEP(*(.cpuctrl.data))