|
@@ -528,18 +528,18 @@ struct page_table
|
|
|
unsigned long page[512];
|
|
|
};
|
|
|
|
|
|
-static struct page_table *__init_page_array;
|
|
|
-static unsigned long __page_off = 0UL;
|
|
|
+/* */
|
|
|
+static struct page_table __init_page_array[6] rt_align(0x1000);
|
|
|
+static unsigned long __page_off = 2UL; /* 0, 1 for ttbr0, ttrb1 */
|
|
|
+unsigned long get_ttbrn_base(void)
|
|
|
+{
|
|
|
+ return (unsigned long) __init_page_array;
|
|
|
+}
|
|
|
+
|
|
|
unsigned long get_free_page(void)
|
|
|
{
|
|
|
- if (!__init_page_array)
|
|
|
- {
|
|
|
- extern unsigned char __bss_end;
|
|
|
- __init_page_array = (struct page_table *) RT_ALIGN((unsigned long) &__bss_end, 0x1000);
|
|
|
- __page_off = 2; /* 0, 1 for ttbr0, ttrb1 */
|
|
|
- }
|
|
|
__page_off++;
|
|
|
- return (unsigned long)(__init_page_array[__page_off - 1].page);
|
|
|
+ return (unsigned long) (__init_page_array[__page_off - 1].page);
|
|
|
}
|
|
|
|
|
|
static int _map_single_page_2M(unsigned long *lv0_tbl, unsigned long va,
|