Get physical address from virtual address is important for qmp command to
dump memory content. In TCG mode, it searches TLB tables firstly and
then do page table walker. In KVM mode, there are no TLB tables and page
table walker is used directly.

Here TLB tables searching is moved to directory tcg, and code about page
table walker is put in the common part so that it can be used in KVM mode
also.

---
v3 ... v4:
  1. Remove stub definition with function loongarch_get_addr_from_tlb()
  2. Use tcg_enable() when calling tcg specified function, stub definition
     is not necessary for tcg specified function.

v2 ... v3:
  1. Split patch 6 into two three small patches
  2. Define tcg specified function from header file internals.h to
     tcg/tcg_loongarch.h

v1 ... v2:
  1. Remove CONFIG_TCG macro with file helper.h in patch 1
  2. Refresh spelling issues in patch 5
  3. Split original patch 4 into existing patch 4 and patch 5
  4. Add !kvm_enabled() in function loongarch_map_address(), tlb entries
     will not be searched in kvm mode
---
Bibo Mao (9):
  target/loongarch: Move header file helper.h to directory tcg
  target/loongarch: Add function loongarch_get_addr_from_tlb
  target/loongarch: Move function get_dir_base_width to common directory
  target/loongarch: Add stub function loongarch_get_addr_from_tlb
  target/loongarch: Set function loongarch_map_address() with common
    code
  target/loongarch: Define function loongarch_get_addr_from_tlb()
    non-static
  target/loongarch: Move function loongarch_tlb_search to directory tcg
  target/loongarch: Add static definition with function
    loongarch_tlb_search()
  target/loongarch: Move definition of TCG specified function to tcg
    directory

 target/loongarch/cpu.c               |   1 +
 target/loongarch/cpu_helper.c        | 177 ++-----
 target/loongarch/helper.h            | 720 +-------------------------
 target/loongarch/internals.h         |   7 -
 target/loongarch/tcg/helper.h        | 722 +++++++++++++++++++++++++++
 target/loongarch/tcg/tcg_loongarch.h |   9 +
 target/loongarch/tcg/tlb_helper.c    | 173 +++++--
 7 files changed, 915 insertions(+), 894 deletions(-)
 create mode 100644 target/loongarch/tcg/helper.h


base-commit: 1da8f3a3c53b604edfe0d55e475102640490549e
-- 
2.39.3


Reply via email to