Index: kernel/arch/arm32/include/mach/integratorcp/integratorcp.h
===================================================================
--- kernel/arch/arm32/include/mach/integratorcp/integratorcp.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
+++ kernel/arch/arm32/include/mach/integratorcp/integratorcp.h	(revision 6eb794aa8b215fdc5cb202ffc13bae94b06623b0)
@@ -106,4 +106,5 @@
 extern void icp_frame_init(void);
 extern size_t icp_get_irq_count(void);
+extern const char *icp_get_platform_name(void);
 
 extern struct arm_machine_ops icp_machine_ops;
Index: kernel/arch/arm32/include/mach/testarm/testarm.h
===================================================================
--- kernel/arch/arm32/include/mach/testarm/testarm.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
+++ kernel/arch/arm32/include/mach/testarm/testarm.h	(revision 6eb794aa8b215fdc5cb202ffc13bae94b06623b0)
@@ -74,4 +74,5 @@
 extern void gxemul_frame_init(void);
 extern size_t gxemul_get_irq_count(void);
+extern const char *gxemul_get_platform_name(void);
 
 extern struct arm_machine_ops gxemul_machine_ops;
Index: kernel/arch/arm32/include/machine_func.h
===================================================================
--- kernel/arch/arm32/include/machine_func.h	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
+++ kernel/arch/arm32/include/machine_func.h	(revision 6eb794aa8b215fdc5cb202ffc13bae94b06623b0)
@@ -56,4 +56,5 @@
 	void (*machine_input_init)(void);
 	size_t (*machine_get_irq_count)(void);
+	const char *(*machine_get_platform_name)(void);
 };
 
Index: kernel/arch/arm32/src/mach/gta02/gta02.c
===================================================================
--- kernel/arch/arm32/src/mach/gta02/gta02.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
+++ kernel/arch/arm32/src/mach/gta02/gta02.c	(revision 6eb794aa8b215fdc5cb202ffc13bae94b06623b0)
@@ -71,4 +71,5 @@
 static void gta02_input_init(void);
 static size_t gta02_get_irq_count(void);
+static const char *gta02_get_platform_name(void);
 
 static void gta02_timer_irq_init(void);
@@ -92,5 +93,6 @@
 	gta02_output_init,
 	gta02_input_init,
-	gta02_get_irq_count
+	gta02_get_irq_count,
+	gta02_get_platform_name
 };
 
@@ -235,4 +237,9 @@
 }
 
+const char *gta02_get_platform_name(void)
+{
+	return "gta02";
+}
+
 static void gta02_timer_irq_init(void)
 {
Index: kernel/arch/arm32/src/mach/integratorcp/integratorcp.c
===================================================================
--- kernel/arch/arm32/src/mach/integratorcp/integratorcp.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
+++ kernel/arch/arm32/src/mach/integratorcp/integratorcp.c	(revision 6eb794aa8b215fdc5cb202ffc13bae94b06623b0)
@@ -65,5 +65,6 @@
 	icp_output_init,
 	icp_input_init,
-	icp_get_irq_count
+	icp_get_irq_count,
+	icp_get_platform_name
 };
 
@@ -342,4 +343,9 @@
 }
 
+const char *icp_get_platform_name(void)
+{
+	return "integratorcp";
+}
+
 /** @}
  */
Index: kernel/arch/arm32/src/mach/testarm/testarm.c
===================================================================
--- kernel/arch/arm32/src/mach/testarm/testarm.c	(revision 96b02eb9b2f96f3843b8275c254c43a9cb6c8c88)
+++ kernel/arch/arm32/src/mach/testarm/testarm.c	(revision 6eb794aa8b215fdc5cb202ffc13bae94b06623b0)
@@ -65,5 +65,6 @@
 	gxemul_output_init,
 	gxemul_input_init,
-	gxemul_get_irq_count
+	gxemul_get_irq_count,
+	gxemul_get_platform_name
 };
 
@@ -132,4 +133,9 @@
 }
 
+const char *gxemul_get_platform_name(void)
+{
+	return "gxemul";
+}
+
 /** Starts gxemul Real Time Clock device, which asserts regular interrupts.
  *
