Index: kernel/arch/arm32/src/mach/beaglebone/beaglebone.c
===================================================================
--- kernel/arch/arm32/src/mach/beaglebone/beaglebone.c	(revision d085df109266ca3c7cd68ff490a353f281809857)
+++ kernel/arch/arm32/src/mach/beaglebone/beaglebone.c	(revision a829a5bc21c1b7b1e6c404dd58c16500a85fa42c)
@@ -35,7 +35,9 @@
 #include <arch/exception.h>
 #include <arch/mach/beaglebone/beaglebone.h>
+#include <genarch/drivers/am335x_irc/am335x_irc.h>
 #include <interrupt.h>
 #include <ddi/ddi.h>
 #include <ddi/device.h>
+#include <mm/km.h>
 
 static void bbone_init(void);
@@ -49,4 +51,8 @@
 static size_t bbone_get_irq_count(void);
 static const char *bbone_get_platform_name(void);
+
+static struct beaglebone {
+	am335x_irc_regs_t *irc_addr;
+} bbone;
 
 struct arm_machine_ops bbone_machine_ops = {
@@ -65,4 +71,9 @@
 static void bbone_init(void)
 {
+	/* Initialize the interrupt controller */
+	bbone.irc_addr = (void *) km_map(AM335x_IRC_BASE_ADDRESS,
+	    AM335x_IRC_SIZE, PAGE_NOT_CACHEABLE);
+
+	am335x_irc_init(bbone.irc_addr);
 }
 
