• Ricardo Neri's avatar
    x86/mpx, x86/insn: Relocate insn util functions to a new insn-eval file · 32542ee2
    Ricardo Neri authored
    Other kernel submodules can benefit from using the utility functions
    defined in mpx.c to obtain the addresses and values of operands contained
    in the general purpose registers. An instance of this is the emulation code
    used for instructions protected by the Intel User-Mode Instruction
    Prevention feature.
    
    Thus, these functions are relocated to a new insn-eval.c file. The reason
    to not relocate these utilities into insn.c is that the latter solely
    analyses instructions given by a struct insn without any knowledge of the
    meaning of the values of instruction operands. This new utility insn-
    eval.c aims to be used to resolve userspace linear addresses based on
    the contents of the instruction operands as well as the contents of pt_regs
    structure.
    
    These utilities come with a separate header. This is to avoid taking insn.c
    out of sync from the instructions decoders under tools/obj and tools/perf.
    This also avoids adding cumbersome #ifdef's for the #include'd files
    required to decode instructions in a kernel context.
    
    Functions are simply relocated. There are not functional or indentation
    changes.
    Signed-off-by: default avatarRicardo Neri <ricardo.neri-calderon@linux.intel.com>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Reviewed-by: default avatarBorislav Petkov <bp@suse.de>
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: ricardo.neri@intel.com
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
    Cc: Huang Rui <ray.huang@amd.com>
    Cc: Qiaowei Ren <qiaowei.ren@intel.com>
    Cc: Shuah Khan <shuah@kernel.org>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Jiri Slaby <jslaby@suse.cz>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Cc: "Ravi V. Shankar" <ravi.v.shankar@intel.com>
    Cc: Chris Metcalf <cmetcalf@mellanox.com>
    Cc: Brian Gerst <brgerst@gmail.com>
    Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Colin Ian King <colin.king@canonical.com>
    Cc: Chen Yucong <slaoub@gmail.com>
    Cc: Adam Buchbinder <adam.buchbinder@gmail.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Lorenzo Stoakes <lstoakes@gmail.com>
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Thomas Garnier <thgarnie@google.com>
    Link: https://lkml.kernel.org/r/1509135945-13762-10-git-send-email-ricardo.neri-calderon@linux.intel.com
    32542ee2
insn-eval.c 3.9 KB