• Helge Deller's avatar
    parisc: Fix alignment of pa_tlb_lock in assembly on 32-bit SMP kernel · 88776c0e
    Helge Deller authored
    Qemu for PARISC reported on a 32bit SMP parisc kernel strange failures
    about "Not-handled unaligned insn 0x0e8011d6 and 0x0c2011c9."
    
    Those opcodes evaluate to the ldcw() assembly instruction which requires
    (on 32bit) an alignment of 16 bytes to ensure atomicity.
    
    As it turns out, qemu is correct and in our assembly code in entry.S and
    pacache.S we don't pay attention to the required alignment.
    
    This patch fixes the problem by aligning the lock offset in assembly
    code in the same manner as we do in our C-code.
    Signed-off-by: default avatarHelge Deller <deller@gmx.de>
    Cc: <stable@vger.kernel.org> # v4.0+
    88776c0e
pacache.S 29.7 KB