arm64: enable context tracking

Backport of the following patch to 3.14 LSK:

commit 6c81fe7925cc4c42de49e17be21eb86d1173c3a7
Author: Larry Bassel <larry.bassel@linaro.org>
Date:   Fri May 30 12:34:15 2014 -0700

    arm64: enable context tracking

    Make calls to ct_user_enter when the kernel is exited
    and ct_user_exit when the kernel is entered (in el0_da,
    el0_ia, el0_svc, el0_irq and all of the "error" paths).

    These macros expand to function calls which will only work
    properly if el0_sync and related code has been rearranged
    (in a previous patch of this series).

    The calls to ct_user_exit are made after hw debugging has been
    enabled (enable_dbg_and_irq).

    The call to ct_user_enter is made at the beginning of the
    kernel_exit macro.

    This patch is based on earlier work by Kevin Hilman.
    Save/restore optimizations were also done by Kevin.

    Acked-by: Will Deacon <will.deacon@arm.com>
    Reviewed-by: Kevin Hilman <khilman@linaro.org>
    Tested-by: Kevin Hilman <khilman@linaro.org>
    Signed-off-by: Larry Bassel <larry.bassel@linaro.org>
    Signed-off-by: Kevin Hilman <khilman@linaro.org>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

Signed-off-by: Larry Bassel <larry.bassel@linaro.org>
3 files changed