Commit 4e992fb1 authored by Jianmin Lv's avatar Jianmin Lv Committed by Hongchen Zhang
Browse files

LoongArch: Enhance booting and resume compatibility

LoongArch inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I6BWFP



--------------------------------

- For bootstrap processor booting, firmare legacy mmu environment
is used on calling kernel_entry(), if the first instruction and
next instructions of it are not in one page built by firmware, the
instructions outside the page containing first entry instruction
will trigger tlb refill exception, which will cause bug because the
tlb refill ebase has not been configured. To avoid the disaster,
we should ensure the kernel_entry to be page aligned with 4k page
size, so that for pages of size >= 4k built by firmware, the instrutions
of kernel_entry() will be in one firmware's page.

- For S3 resume from firmware, firmare legacy mmu environment is also
used on calling wakeup entry, so the wakeup entry is required to be 4k
page aligned too. And for compatibility with calling wakeup entry by
using physical address, a jumping to itself in the wakeup entry is
required.

REBASE:
1 rebase changes at head.s to
commit a8fc1e90de478fb711ccf7e1a7115370388ab7fc
LoongArch: Add boot and setup routines

2 rebase changes at suspend_asm.S to
b4206b674b85d365097a40485c87187dfbea9a39
LoongArch:Support Power Manager

Change-Id: I5304f271c9440a8526466cfe6be44da43466cd90
Signed-off-by: default avatarJianmin Lv <lvjianmin@loongson.cn>
parent 12f8311e
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment