• J
    LoongArch: Enhance booting and resume compatibility · 478e60ca
    Jianmin Lv 提交于
    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: NJianmin Lv <lvjianmin@loongson.cn>
    (cherry picked from commit 4e992fb1)
    478e60ca
head.S 2.8 KB