diff --git a/src/lib/program.ld b/src/lib/program.ld
index 6ffa82a..993037f 100644
--- a/src/lib/program.ld
+++ b/src/lib/program.ld
@@ -43,6 +43,11 @@
 	_cbmem_init_hooks = .;
 	KEEP(*(.rodata.cbmem_init_hooks));
 	_ecbmem_init_hooks = .;
+
+	. = ALIGN(ARCH_POINTER_ALIGN_SIZE);
+	_rsbe_init_begin = .;
+	KEEP(*(.rsbe_init));
+	_ersbe_init_begin = .;
 #endif
 
 #if ENV_RAMSTAGE
diff --git a/src/lib/reg_script.c b/src/lib/reg_script.c
index 7530dc3..9e20134 100644
--- a/src/lib/reg_script.c
+++ b/src/lib/reg_script.c
@@ -393,35 +393,27 @@
 #endif
 }
 
-#ifndef __PRE_RAM__
-/* Default routine provided for systems without platform specific busses */
-const struct reg_script_bus_entry *__attribute__((weak))
-	platform_bus_table(size_t *table_entries)
-{
-	/* No platform bus type table supplied */
-	*table_entries = 0;
-	return NULL;
-}
-
 /* Locate the structure containing the platform specific bus access routines */
 static const struct reg_script_bus_entry
 	*find_bus(const struct reg_script *step)
 {
-	const struct reg_script_bus_entry *bus;
+	extern const struct reg_script_bus_entry *_rsbe_init_begin[];
+	extern const struct reg_script_bus_entry *_ersbe_init_begin[];
+	const struct reg_script_bus_entry * const * bus;
 	size_t table_entries;
 	size_t i;
 
 	/* Locate the platform specific bus */
-	bus = platform_bus_table(&table_entries);
+	bus = _rsbe_init_begin;
+	table_entries = &_ersbe_init_begin[0] - &_rsbe_init_begin[0];
 	for (i = 0; i < table_entries; i++) {
-		if (bus[i].type == step->type)
-			return &bus[i];
+		if (bus[i]->type == step->type)
+			return bus[i];
 	}
 
 	/* Bus not found */
 	return NULL;
 }
-#endif
 
 static uint64_t reg_script_read(struct reg_script_context *ctx)
 {
@@ -443,7 +435,6 @@
 		return reg_script_read_iosf(ctx);
 #endif /* HAS_IOSF */
 	default:
-#ifndef __PRE_RAM__
 		{
 			const struct reg_script_bus_entry *bus;
 
@@ -452,7 +443,6 @@
 			if (NULL != bus)
 				return bus->reg_script_read(ctx);
 		}
-#endif
 		printk(BIOS_ERR,
 			"Unsupported read type (0x%x) for this device!\n",
 			step->type);
@@ -487,7 +477,6 @@
 		break;
 #endif /* HAS_IOSF */
 	default:
-#ifndef __PRE_RAM__
 		{
 			const struct reg_script_bus_entry *bus;
 
@@ -498,7 +487,6 @@
 				return;
 			}
 		}
-#endif
 		printk(BIOS_ERR,
 			"Unsupported write type (0x%x) for this device!\n",
 			step->type);
