Skip to content
Snippets Groups Projects
  1. Jan 07, 2021
  2. Jan 06, 2021
  3. Jan 04, 2021
  4. Jan 02, 2021
    • Richard Henderson's avatar
      util: Extract flush_icache_range to cacheflush.c · 084cfca1
      Richard Henderson authored
      
      This has been a tcg-specific function, but is also in use
      by hardware accelerators via physmem.c.  This can cause
      link errors when tcg is disabled.
      
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Reviewed-by: default avatarJoelle van Dyne <j@getutm.app>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Message-Id: <20201214140314.18544-3-richard.henderson@linaro.org>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      084cfca1
    • Paolo Bonzini's avatar
      remove TCG includes from common code · 3b9bd3f4
      Paolo Bonzini authored
      
      Enable removing tcg/$tcg_arch from the include path when TCG is disabled.
      Move translate-all.h to include/exec, since stubs exist for the functions
      defined therein.
      
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      3b9bd3f4
    • Daniele Buono's avatar
      cfi: Initial support for cfi-icall in QEMU · c905a368
      Daniele Buono authored
      
      LLVM/Clang, supports runtime checks for forward-edge Control-Flow
      Integrity (CFI).
      
      CFI on indirect function calls (cfi-icall) ensures that, in indirect
      function calls, the function called is of the right signature for the
      pointer type defined at compile time.
      
      For this check to work, the code must always respect the function
      signature when using function pointer, the function must be defined
      at compile time, and be compiled with link-time optimization.
      
      This rules out, for example, shared libraries that are dynamically loaded
      (given that functions are not known at compile time), and code that is
      dynamically generated at run-time.
      
      This patch:
      
      1) Introduces the CONFIG_CFI flag to support cfi in QEMU
      
      2) Introduces a decorator to allow the definition of "sensitive"
      functions, where a non-instrumented function may be called at runtime
      through a pointer. The decorator will take care of disabling cfi-icall
      checks on such functions, when cfi is enabled.
      
      3) Marks functions currently in QEMU that exhibit such behavior,
      in particular:
      - The function in TCG that calls pre-compiled TBs
      - The function in TCI that interprets instructions
      - Functions in the plugin infrastructures that jump to callbacks
      - Functions in util that directly call a signal handler
      
      Signed-off-by: default avatarDaniele Buono <dbuono@linux.vnet.ibm.com>
      Acked-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      Message-Id: <20201204230615.2392-3-dbuono@linux.vnet.ibm.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      c905a368
  5. Dec 19, 2020
  6. Dec 18, 2020
Loading