lkml.org 
[lkml]   [2012]   [Mar]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 08/16] mm/unicore32: use vm_flags_t for vma flags
    From
    Date
    The same magic like in arm: assembler code wants to test VM_EXEC,
    but for big-endian we should get upper word for this.

    Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
    Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
    ---
    arch/unicore32/kernel/asm-offsets.c | 6 +++++-
    arch/unicore32/mm/fault.c | 2 +-
    2 files changed, 6 insertions(+), 2 deletions(-)

    diff --git a/arch/unicore32/kernel/asm-offsets.c b/arch/unicore32/kernel/asm-offsets.c
    index ffcbe75..e3199b5 100644
    --- a/arch/unicore32/kernel/asm-offsets.c
    +++ b/arch/unicore32/kernel/asm-offsets.c
    @@ -87,9 +87,13 @@ int main(void)
    DEFINE(S_FRAME_SIZE, sizeof(struct pt_regs));
    BLANK();
    DEFINE(VMA_VM_MM, offsetof(struct vm_area_struct, vm_mm));
    +#if defined(CONFIG_CPU_BIG_ENDIAN) && (NR_VMA_FLAGS > 32)
    + DEFINE(VMA_VM_FLAGS, offsetof(struct vm_area_struct, vm_flags) + 4);
    +#else
    DEFINE(VMA_VM_FLAGS, offsetof(struct vm_area_struct, vm_flags));
    +#endif
    BLANK();
    - DEFINE(VM_EXEC, VM_EXEC);
    + DEFINE(VM_EXEC, (__force unsigned int)VM_EXEC);
    BLANK();
    DEFINE(PAGE_SZ, PAGE_SIZE);
    BLANK();
    diff --git a/arch/unicore32/mm/fault.c b/arch/unicore32/mm/fault.c
    index 283aa4b..9137996 100644
    --- a/arch/unicore32/mm/fault.c
    +++ b/arch/unicore32/mm/fault.c
    @@ -158,7 +158,7 @@ void do_bad_area(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
    */
    static inline bool access_error(unsigned int fsr, struct vm_area_struct *vma)
    {
    - unsigned int mask = VM_READ | VM_WRITE | VM_EXEC;
    + vm_flags_t mask = VM_READ | VM_WRITE | VM_EXEC;

    if (!(fsr ^ 0x12)) /* write? */
    mask = VM_WRITE;


    \
     
     \ /
      Last update: 2012-03-21 07:59    [W:0.021 / U:34.476 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site