Index: boot/arch/arm32/include/arch.h
===================================================================
--- boot/arch/arm32/include/arch.h	(revision f5299fa1e88c0851fbc4b04964b82fb9d1c89852)
+++ boot/arch/arm32/include/arch.h	(revision 936b72e201381317b2f2553fcfdba3265e667a93)
@@ -42,4 +42,6 @@
 #ifdef MACHINE_gta02
 #define BOOT_BASE	0x30008000
+#elif defined MACHINE_beagleboardxm
+#define BOOT_BASE	0x80000000
 #else
 #define BOOT_BASE	0x00000000
@@ -48,9 +50,16 @@
 #define BOOT_OFFSET	(BOOT_BASE + 0xa00000)
 
+#ifdef MACHINE_beagleboardxm
+	#define PA_OFFSET 0
+#else
+	#define PA_OFFSET 0x80000000
+#endif
+
 #ifndef __ASM__
-	#define PA2KA(addr)  (((uintptr_t) (addr)) + 0x80000000)
+	#define PA2KA(addr)  (((uintptr_t) (addr)) + PA_OFFSET)
 #else
-	#define PA2KA(addr)  ((addr) + 0x80000000)
+	#define PA2KA(addr)  ((addr) + PA_OFFSET)
 #endif
+
 
 #endif
Index: boot/arch/arm32/include/main.h
===================================================================
--- boot/arch/arm32/include/main.h	(revision f5299fa1e88c0851fbc4b04964b82fb9d1c89852)
+++ boot/arch/arm32/include/main.h	(revision 936b72e201381317b2f2553fcfdba3265e667a93)
@@ -40,4 +40,16 @@
 /** Address where characters to be printed are expected. */
 
+
+/** BeagleBoard-xM UART register address
+ *
+ * This is UART3 of AM/DM37x CPU
+ */
+#define BBXM_SCONS_THR          0x49020000
+#define BBXM_SCONS_SSR          0x49020044
+
+/* Check this bit before writing (tx fifo full) */
+#define BBXM_THR_FULL           0x00000001
+
+
 /** GTA02 serial console UART register addresses.
  *
Index: boot/arch/arm32/include/mm.h
===================================================================
--- boot/arch/arm32/include/mm.h	(revision f5299fa1e88c0851fbc4b04964b82fb9d1c89852)
+++ boot/arch/arm32/include/mm.h	(revision 936b72e201381317b2f2553fcfdba3265e667a93)
@@ -58,9 +58,13 @@
 	unsigned int bufferable : 1;
 	unsigned int cacheable : 1;
-	unsigned int impl_specific : 1;
+	unsigned int xn : 1;
 	unsigned int domain : 4;
 	unsigned int should_be_zero_1 : 1;
-	unsigned int access_permission : 2;
-	unsigned int should_be_zero_2 : 8;
+	unsigned int access_permission_0 : 2;
+	unsigned int tex : 3;
+	unsigned int access_permission_1 : 2;
+	unsigned int non_global : 1;
+	unsigned int should_be_zero_2 : 1;
+	unsigned int non_secure : 1;
 	unsigned int section_base_addr : 12;
 } __attribute__((packed)) pte_level0_section_t;
