qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 7b7d00: cputlb: Handle NB_MMU_MODES > TARGET_


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 7b7d00: cputlb: Handle NB_MMU_MODES > TARGET_PAGE_BITS_MIN
Date: Thu, 23 Jan 2020 05:45:13 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 7b7d00e0a714e0bdcd4c8a76f0927e1c8f1b2121
      
https://github.com/qemu/qemu/commit/7b7d00e0a714e0bdcd4c8a76f0927e1c8f1b2121
  Author: Richard Henderson <address@hidden>
  Date:   2020-01-21 (Tue, 21 Jan 2020)

  Changed paths:
    M accel/tcg/cputlb.c

  Log Message:
  -----------
  cputlb: Handle NB_MMU_MODES > TARGET_PAGE_BITS_MIN

In target/arm we will shortly have "too many" mmu_idx.
The current minimum barrier is caused by the way in which
tlb_flush_page_by_mmuidx is coded.

We can remove this limitation by allocating memory for
consumption by the worker.  Let us assume that this is
the unlikely case, as will be the case for the majority
of targets which have so far satisfied the BUILD_BUG_ON,
and only allocate memory when necessary.

Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 00b5032eaddb7193f03f0a28b10286244d2e2a7b
      
https://github.com/qemu/qemu/commit/00b5032eaddb7193f03f0a28b10286244d2e2a7b
  Author: Carlos Santos <address@hidden>
  Date:   2020-01-21 (Tue, 21 Jan 2020)

  Changed paths:
    M util/cacheinfo.c

  Log Message:
  -----------
  util/cacheinfo: fix crash when compiling with uClibc

uClibc defines _SC_LEVEL1_ICACHE_LINESIZE and _SC_LEVEL1_DCACHE_LINESIZE
but the corresponding sysconf calls returns -1, which is a valid result,
meaning that the limit is indeterminate.

Handle this situation using the fallback values instead of crashing due
to an assertion failure.

Signed-off-by: Carlos Santos <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 7970dc12e9b0688e3bed7dd366e76532fea501f7
      
https://github.com/qemu/qemu/commit/7970dc12e9b0688e3bed7dd366e76532fea501f7
  Author: Richard Henderson <address@hidden>
  Date:   2020-01-21 (Tue, 21 Jan 2020)

  Changed paths:
    M vl.c

  Log Message:
  -----------
  vl: Remove unused variable in configure_accelerators

The accel_initialised variable no longer has any setters.

Fixes: 6f6e1698a68c
Acked-by: Paolo Bonzini <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed by: Aleksandar Markovic <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 60ee355276a17f21aec4bfa9bdffa16102aa0b8b
      
https://github.com/qemu/qemu/commit/60ee355276a17f21aec4bfa9bdffa16102aa0b8b
  Author: Richard Henderson <address@hidden>
  Date:   2020-01-21 (Tue, 21 Jan 2020)

  Changed paths:
    M vl.c

  Log Message:
  -----------
  vl: Reduce scope of variables in configure_accelerators

The accel_list and tmp variables are only used when manufacturing
-machine accel, options based on -accel.

Acked-by: Paolo Bonzini <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Reviewed by: Aleksandar Markovic <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: a024b0906779e4355b6d04f67c01d1bc0dcc2699
      
https://github.com/qemu/qemu/commit/a024b0906779e4355b6d04f67c01d1bc0dcc2699
  Author: Richard Henderson <address@hidden>
  Date:   2020-01-21 (Tue, 21 Jan 2020)

  Changed paths:
    M vl.c

  Log Message:
  -----------
  vl: Remove useless test in configure_accelerators

The result of g_strsplit is never NULL.

Acked-by: Paolo Bonzini <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed by: Aleksandar Markovic <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 755ee1f301b30d2cd248e162e3a438473eed3767
      
https://github.com/qemu/qemu/commit/755ee1f301b30d2cd248e162e3a438473eed3767
  Author: Richard Henderson <address@hidden>
  Date:   2020-01-21 (Tue, 21 Jan 2020)

  Changed paths:
    M vl.c

  Log Message:
  -----------
  vl: Only choose enabled accelerators in configure_accelerators

By choosing "tcg:kvm" when kvm is not enabled, we generate
an incorrect warning: "invalid accelerator kvm".

At the same time, use g_str_has_suffix rather than open-coding
the same operation.

Presumably the inverse is also true with --disable-tcg.

Fixes: 28a0961757fc
Acked-by: Paolo Bonzini <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Reviewed by: Aleksandar Markovic <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: f1293145d6063296bc4221269e8dec258cf6a33b
      
https://github.com/qemu/qemu/commit/f1293145d6063296bc4221269e8dec258cf6a33b
  Author: Richard Henderson <address@hidden>
  Date:   2020-01-21 (Tue, 21 Jan 2020)

  Changed paths:
    M accel/tcg/cputlb.c

  Log Message:
  -----------
  cputlb: Merge tlb_table_flush_by_mmuidx into tlb_flush_one_mmuidx_locked

There is only one caller for tlb_table_flush_by_mmuidx.  Place
the result at the earlier line number, due to an expected user
in the near future.

Reviewed-by: Alex Bennée <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 7a1efe1b97c4f68f2f78cbca2e512324ed07524d
      
https://github.com/qemu/qemu/commit/7a1efe1b97c4f68f2f78cbca2e512324ed07524d
  Author: Richard Henderson <address@hidden>
  Date:   2020-01-21 (Tue, 21 Jan 2020)

  Changed paths:
    M accel/tcg/cputlb.c
    M include/exec/cpu_ldst.h

  Log Message:
  -----------
  cputlb: Make tlb_n_entries private to cputlb.c

There are no users of this function outside cputlb.c,
and its interface will change in the next patch.

Reviewed-by: Alex Bennée <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 722a1c1e97c1edeca5ad458ad2ce3441b47f0440
      
https://github.com/qemu/qemu/commit/722a1c1e97c1edeca5ad458ad2ce3441b47f0440
  Author: Richard Henderson <address@hidden>
  Date:   2020-01-21 (Tue, 21 Jan 2020)

  Changed paths:
    M accel/tcg/cputlb.c

  Log Message:
  -----------
  cputlb: Pass CPUTLBDescFast to tlb_n_entries and sizeof_tlb

We do not need the entire CPUArchState to compute these values.

Reviewed-by: Alex Bennée <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 71ccd47ba5509f36a3dee54fe009529b67ccbd7c
      
https://github.com/qemu/qemu/commit/71ccd47ba5509f36a3dee54fe009529b67ccbd7c
  Author: Richard Henderson <address@hidden>
  Date:   2020-01-21 (Tue, 21 Jan 2020)

  Changed paths:
    M accel/tcg/cputlb.c

  Log Message:
  -----------
  cputlb: Hoist tlb portions in tlb_mmu_resize_locked

No functional change, but the smaller expressions make
the code easier to read.

Reviewed-by: Alex Bennée <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 5c948e3175e87620f5330e18873e1f8190f10ec0
      
https://github.com/qemu/qemu/commit/5c948e3175e87620f5330e18873e1f8190f10ec0
  Author: Richard Henderson <address@hidden>
  Date:   2020-01-21 (Tue, 21 Jan 2020)

  Changed paths:
    M accel/tcg/cputlb.c

  Log Message:
  -----------
  cputlb: Hoist tlb portions in tlb_flush_one_mmuidx_locked

No functional change, but the smaller expressions make
the code easier to read.

Reviewed-by: Alex Bennée <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: bbf021b04a57e95b6b4fde882b33c5363f94373f
      
https://github.com/qemu/qemu/commit/bbf021b04a57e95b6b4fde882b33c5363f94373f
  Author: Richard Henderson <address@hidden>
  Date:   2020-01-21 (Tue, 21 Jan 2020)

  Changed paths:
    M accel/tcg/cputlb.c

  Log Message:
  -----------
  cputlb: Split out tlb_mmu_flush_locked

We will want to be able to flush a tlb without resizing.

Reviewed-by: Alex Bennée <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 56e89f76fdf0dc8162e28105055570a83a93b15e
      
https://github.com/qemu/qemu/commit/56e89f76fdf0dc8162e28105055570a83a93b15e
  Author: Richard Henderson <address@hidden>
  Date:   2020-01-21 (Tue, 21 Jan 2020)

  Changed paths:
    M accel/tcg/cputlb.c

  Log Message:
  -----------
  cputlb: Partially merge tlb_dyn_init into tlb_init

Merge into the only caller, but at the same time split
out tlb_mmu_init to initialize a single tlb entry.

Reviewed-by: Alex Bennée <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 3c16304af4241f242eeacae646457b9720aa71db
      
https://github.com/qemu/qemu/commit/3c16304af4241f242eeacae646457b9720aa71db
  Author: Richard Henderson <address@hidden>
  Date:   2020-01-21 (Tue, 21 Jan 2020)

  Changed paths:
    M accel/tcg/cputlb.c

  Log Message:
  -----------
  cputlb: Initialize tlbs as flushed

There's little point in leaving these data structures half initialized,
and relying on a flush to be done during reset.

Reviewed-by: Alex Bennée <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 3c3959f2d9af919e562d37f6d40322a80a90469d
      
https://github.com/qemu/qemu/commit/3c3959f2d9af919e562d37f6d40322a80a90469d
  Author: Richard Henderson <address@hidden>
  Date:   2020-01-21 (Tue, 21 Jan 2020)

  Changed paths:
    M accel/tcg/cputlb.c

  Log Message:
  -----------
  cputlb: Hoist timestamp outside of loops over tlbs

Do not call get_clock_realtime() in tlb_mmu_resize_locked,
but hoist outside of any loop over a set of tlbs.  This is
only two (indirect) callers, tlb_flush_by_mmuidx_async_work
and tlb_flush_page_locked, so not onerous.

Reviewed-by: Alex Bennée <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 75fa376cdab5e5db2c7fdd107358e16f95503ac6
      
https://github.com/qemu/qemu/commit/75fa376cdab5e5db2c7fdd107358e16f95503ac6
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-01-21 (Tue, 21 Jan 2020)

  Changed paths:
    M scripts/git.orderfile

  Log Message:
  -----------
  scripts/git.orderfile: Display decodetree before C source

To avoid scrolling each instruction when reviewing tcg
helpers written for the decodetree script, display the
.decode files (similar to header declarations) before
the C source (implementation of previous declarations).

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Stefano Garzarella <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: be9612e8cbb4b5e5d4c5f66551db2b4d6e76495b
      
https://github.com/qemu/qemu/commit/be9612e8cbb4b5e5d4c5f66551db2b4d6e76495b
  Author: Peter Maydell <address@hidden>
  Date:   2020-01-23 (Thu, 23 Jan 2020)

  Changed paths:
    M accel/tcg/cputlb.c
    M include/exec/cpu_ldst.h
    M scripts/git.orderfile
    M util/cacheinfo.c
    M vl.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20200121' into staging

Remove another limit to NB_MMU_MODES.
Fix compilation using uclibc.
Fix defaulting of -accel parameters.
Tidy cputlb basic routines.
Adjust git.orderfile for decodetree.

# gpg: Signature made Wed 22 Jan 2020 02:44:18 GMT
# gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:                issuer "address@hidden"
# gpg: Good signature from "Richard Henderson <address@hidden>" [full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* remotes/rth/tags/pull-tcg-20200121:
  scripts/git.orderfile: Display decodetree before C source
  cputlb: Hoist timestamp outside of loops over tlbs
  cputlb: Initialize tlbs as flushed
  cputlb: Partially merge tlb_dyn_init into tlb_init
  cputlb: Split out tlb_mmu_flush_locked
  cputlb: Hoist tlb portions in tlb_flush_one_mmuidx_locked
  cputlb: Hoist tlb portions in tlb_mmu_resize_locked
  cputlb: Pass CPUTLBDescFast to tlb_n_entries and sizeof_tlb
  cputlb: Make tlb_n_entries private to cputlb.c
  cputlb: Merge tlb_table_flush_by_mmuidx into tlb_flush_one_mmuidx_locked
  vl: Only choose enabled accelerators in configure_accelerators
  vl: Remove useless test in configure_accelerators
  vl: Reduce scope of variables in configure_accelerators
  vl: Remove unused variable in configure_accelerators
  util/cacheinfo: fix crash when compiling with uClibc
  cputlb: Handle NB_MMU_MODES > TARGET_PAGE_BITS_MIN

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/3e08b2b9cb64...be9612e8cbb4



reply via email to

[Prev in Thread] Current Thread [Next in Thread]