summaryrefslogtreecommitdiff
path: root/src/lib/program.ld
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/program.ld')
-rw-r--r--src/lib/program.ld9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/lib/program.ld b/src/lib/program.ld
index 9b8c7c9ec1..99afe5dd56 100644
--- a/src/lib/program.ld
+++ b/src/lib/program.ld
@@ -80,7 +80,14 @@
. = ALIGN(ARCH_CACHELINE_ALIGN_SIZE);
_data = .;
-#if ENV_RMODULE
+/*
+ * The postcar phase uses a stack value that is located in the relocatable
+ * module section. While the postcar stage could be linked like smm and
+ * other rmodules the postcar stage needs similar semantics of the more
+ * traditional stages in the coreboot infrastructure. Therefore it's easier
+ * to specialize this case.
+ */
+#if ENV_RMODULE || ENV_POSTCAR
_rmodule_params = .;
KEEP(*(.module_parameters));
_ermodule_params = .;