Skip to content

Commit 76d8416

Browse files
authored
修复aarch64-qemu启动失败问题 (#7661)
1 parent edaa0d9 commit 76d8416

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

libcpu/aarch64/common/mmu.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -771,19 +771,19 @@ void rt_hw_mem_setup_early(unsigned long *tbl0, unsigned long *tbl1,
771771
unsigned long size, unsigned long pv_off)
772772
{
773773
int ret;
774-
775-
/* setup pv off */
776-
rt_kmem_pvoff_set(pv_off);
774+
unsigned long count = (size + ARCH_SECTION_MASK) >> ARCH_SECTION_SHIFT;
775+
unsigned long normal_attr = MMU_MAP_CUSTOM(MMU_AP_KAUN, NORMAL_MEM);
777776

778777
#ifdef RT_USING_SMART
779778
unsigned long va = KERNEL_VADDR_START;
780779
#else
781780
extern unsigned char __start;
782781
unsigned long va = (unsigned long) &__start;
782+
va = RT_ALIGN_DOWN(va, 0x200000);
783783
#endif
784784

785-
unsigned long count = (size + ARCH_SECTION_MASK) >> ARCH_SECTION_SHIFT;
786-
unsigned long normal_attr = MMU_MAP_CUSTOM(MMU_AP_KAUN, NORMAL_MEM);
785+
/* setup pv off */
786+
rt_kmem_pvoff_set(pv_off);
787787

788788
/* clean the first two pages */
789789
rt_memset((char *)tbl0, 0, ARCH_PAGE_SIZE);

libcpu/aarch64/cortex-a/entry_point.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ __start:
134134
mov x3,0
135135
#endif
136136

137-
ldr x2, =0x01000000 /* map 16M memory for kernel space */
137+
ldr x2, =0x10000000 /* map 256M memory for kernel space */
138138
bl rt_hw_mem_setup_early
139139

140140
ldr x30, =after_mmu_enable /* set LR to after_mmu_enable function, it's a v_addr */

0 commit comments

Comments
 (0)