1. 30 12月, 2017 2 次提交
  2. 13 11月, 2017 1 次提交
    • E
      arm/translate-a64: mark path as unreachable to eliminate warning · 5ca66278
      Emilio G. Cota 提交于
      Fixes the following warning when compiling with gcc 5.4.0 with -O1
      optimizations and --enable-debug:
      
      target/arm/translate-a64.c: In function ‘aarch64_tr_translate_insn’:
      target/arm/translate-a64.c:2361:8: error: ‘post_index’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
           if (!post_index) {
              ^
      target/arm/translate-a64.c:2307:10: note: ‘post_index’ was declared here
           bool post_index;
                ^
      target/arm/translate-a64.c:2386:8: error: ‘writeback’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
           if (writeback) {
              ^
      target/arm/translate-a64.c:2308:10: note: ‘writeback’ was declared here
           bool writeback;
                ^
      
      Note that idx comes from selecting 2 bits, and therefore its value
      can be at most 3.
      Signed-off-by: NEmilio G. Cota <cota@braap.org>
      Acked-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Message-id: 1510087611-1851-1-git-send-email-cota@braap.org
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      5ca66278
  3. 31 10月, 2017 1 次提交
  4. 25 10月, 2017 3 次提交
  5. 10 10月, 2017 1 次提交
  6. 21 9月, 2017 1 次提交
    • P
      target/arm: Remove out of date ARM ARM section references in A64 decoder · 4ce31af4
      Peter Maydell 提交于
      In the A64 decoder, we have a lot of references to section numbers
      from version A.a of the v8A ARM ARM (DDI0487). This version of the
      document is now long obsolete (we are currently on revision B.a),
      and various intervening versions renumbered all the sections.
      
      The most recent B.a version of the document doesn't assign
      section numbers at all to the individual instruction classes
      in the way that the various A.x versions did. The simplest thing
      to do is just to delete all the out of date C.x.x references.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NAlex Bennée <alex.bennee@linaro.org>
      Message-id: 20170915150849.23557-1-peter.maydell@linaro.org
      4ce31af4
  7. 15 9月, 2017 2 次提交
  8. 06 9月, 2017 10 次提交
  9. 05 9月, 2017 1 次提交
  10. 16 8月, 2017 2 次提交
  11. 15 8月, 2017 1 次提交
  12. 25 7月, 2017 1 次提交
  13. 20 7月, 2017 2 次提交
  14. 17 7月, 2017 3 次提交
  15. 20 6月, 2017 1 次提交
  16. 06 6月, 2017 2 次提交
    • E
      target/aarch64: optimize indirect branches · e75449a3
      Emilio G. Cota 提交于
      Measurements:
      
      [Baseline performance is that before applying this and the previous commit]
      
      -                                    NBench, aarch64-softmmu. Host: Intel i7-4790K @ 4.00GHz
      
       1.7x +-+--------------------------------------------------------------------------------------------------------------+-+
            |                                                                                                                  |
            |   cross                                                                                                          |
       1.6x +cross+jr.................................................####...................................................+-+
            |                                                         #++#                                                     |
            |                                                         #  #                                                     |
       1.5x +-+...................................................*****..#...................................................+-+
            |                                                     *+++*  #                                                     |
            |                                                     *   *  #                                                     |
       1.4x +-+...................................................*...*..#...................................................+-+
            |                                                     *   *  #                                                     |
            |                                     #####           *   *  #                                                     |
       1.3x +-+................................****+++#...........*...*..#...................................................+-+
            |                                  *++*   #           *   *  #                                                     |
            |                                  *  *   #           *   *  #                                                     |
       1.2x +-+................................*..*...#...........*...*..#...................................................+-+
            |                                  *  *   #           *   *  #                                                     |
            |                            ####  *  *   #           *   *  #                                                     |
       1.1x +-+.......................+++#..#..*..*...#...........*...*..#...................................................+-+
            |                         ****  #  *  *   #           *   *  #                                        ****####     |
            |                         *  *  #  *  *   #           *   *  #  ****###   +++####            ****###  *  *   #     |
         1x +-++-++++++-++++****###++-*++*++#++*++*+-+#++****+++++*+++*++#++*++*-+#++*****++#++****###-++*++*-+#++*+-*+++#+-++-+
            |     *****###  *  *  #   *  *  #  *  *   #  *++*###  *   *  #  *  *  #  *   *  #  *  *++#   *  *  #  *  *   #     |
            |     *   *++#  *  *  #   *  *  #  *  *   #  *  *  #  *   *  #  *  *  #  *   *  #  *  *  #   *  *  #  *  *   #     |
       0.9x +-+---*****###--****###---****###--****####--****###--*****###--****###--*****###--****###---****###--****####---+-+
            ASSIGNMENT BITFIELD   FOURFP EMULATION   HUFFMAN   LU DECOMPOSITIONNEURAL NUMERIC SORSTRING SORT    hmean
        png: http://imgur.com/qO9ubtk
      NB. cross here represents the previous commit.
      
      -                            SPECint06 (test set), aarch64-linux-user. Host: Intel i7-4790K @ 4.00GHz
      
       1.5x +-+--------------------------------------------------------------------------------------------------------------+-+
            |                                                                       *****                                      |
            |                                                                       *+++*                           jr         |
            |                                                                       *   *                                      |
       1.4x +-+.....................................................................*...*.....................+++............+-+
            |                                                                       *   *                      |               |
            |                                      *****                            *   *                      |               |
            |                                      *   *                            *   *                    *****             |
       1.3x +-+....................................*...*............................*...*....................*.|.*...........+-+
            |                       +++            *   *                            *   *                    * | *             |
            |                      *****           *   *                            *   *                    *+++*             |
            |                      *   *           *   *                            *   *                    *   *             |
       1.2x +-+....................*...*...........*...*............................*...*...........*****....*...*...........+-+
            |     *****            *   *           *   *                            *   *           *   *    *   *    +++      |
            |     *   *            *   *           *   *                            *   *           *   *    *   *   *****     |
            |     *   *            *   *   *****   *   *                            *   *           *   *    *   *   *   *     |
       1.1x +-+...*...*............*...*...*...*...*...*............................*...*....+++....*...*....*...*...*...*...+-+
            |     *   *            *   *   *   *   *   *                            *   *   *****   *   *    *   *   *   *     |
            |     *   *            *   *   *   *   *   *   *****                    *   *   *   *   *   *    *   *   *   *     |
            |     *   *   *****    *   *   *   *   *   *   *   *   ******           *   *   *   *   *   *    *   *   *   *     |
         1x +-++-+*+++*-++*+++*++++*+-+*+++*-++*+++*-++*+++*+++*++-*++++*-++*****+++*++-*+++*++-*+++*+-+*++++*+++*++-*+++*+-++-+
            |     *   *   *   *    *   *   *   *   *   *   *   *   *    *   *+++*   *   *   *   *   *   *    *   *   *   *     |
            |     *   *   *   *    *   *   *   *   *   *   *   *   *    *   *   *   *   *   *   *   *   *    *   *   *   *     |
            |     *   *   *   *    *   *   *   *   *   *   *   *   *    *   *   *   *   *   *   *   *   *    *   *   *   *     |
       0.9x +-+---*****---*****----*****---*****---*****---*****---******---*****---*****---*****---*****----*****---*****---+-+
               astar   bzip2      gcc   gobmk h264ref   hmmlibquantum      mcf omnetpperlbench   sjengxalancbmk   hmean
        png: http://imgur.com/3Dp4vvq
      
      -                           SPECint06 (train set), aarch64-linux-user. Host: Intel i7-4790K @ 4.00GHz
      
       1.7x +-+--------------------------------------------------------------------------------------------------------------+-+
            |                                                                                                                  |
            |                                                                                                       jr         |
       1.6x +-+...............................................................................................+++............+-+
            |                                                                                                *****             |
            |                                                                                                *+++*             |
            |                                                                                                *   *             |
       1.5x +-+..............................................................................................*...*...........+-+
            |                                                                        +++                     *   *             |
            |                                                                       *****                    *   *             |
       1.4x +-+.....................................................................*+++*....................*...*...........+-+
            |                                                                       *   *                    *   *             |
            |                                      *****                            *   *                    *   *             |
            |                                      *   *                            *   *   *****            *   *             |
       1.3x +-+....................................*...*............................*...*...*...*............*...*...........+-+
            |                       +++            *   *                            *   *   *   *            *   *             |
            |                      *****           *   *                            *   *   *   *   *****    *   *             |
       1.2x +-+....................*...*...........*...*............................*...*...*...*...*+++*....*...*...*****...+-+
            |                      *   *           *   *                            *   *   *   *   *   *    *   *   *+++*     |
            |     *****            *   *   *****   *   *                            *   *   *   *   *   *    *   *   *   *     |
            |     *   *            *   *   *+++*   *   *                            *   *   *   *   *   *    *   *   *   *     |
       1.1x +-+...*...*............*...*...*...*...*...*............................*...*...*...*...*...*....*...*...*...*...+-+
            |     *   *   *****    *   *   *   *   *   *                    *****   *   *   *   *   *   *    *   *   *   *     |
            |     *   *   *   *    *   *   *   *   *   *    +++    ******   *+++*   *   *   *   *   *   *    *   *   *   *     |
         1x +-+---*****---*****----*****---*****---*****---*****---******---*****---*****---*****---*****----*****---*****---+-+
               astar   bzip2      gcc   gobmk h264ref   hmmlibquantum      mcf omnetpperlbench   sjengxalancbmk   hmean
        png: http://imgur.com/vRrdc9jSigned-off-by: NEmilio G. Cota <cota@braap.org>
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      e75449a3
    • E
      target/aarch64: optimize cross-page direct jumps in softmmu · e7872236
      Emilio G. Cota 提交于
      Perf numbers in next commit's log.
      Signed-off-by: NEmilio G. Cota <cota@braap.org>
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      e7872236
  17. 02 6月, 2017 1 次提交
    • P
      arm: Add support for M profile CPUs having different MMU index semantics · 8bd5c820
      Peter Maydell 提交于
      The M profile CPU's MPU has an awkward corner case which we
      would like to implement with a different MMU index.
      
      We can avoid having to bump the number of MMU modes ARM
      uses, because some of our existing MMU indexes are only
      used by non-M-profile CPUs, so we can borrow one.
      To avoid that getting too confusing, clean up the code
      to try to keep the two meanings of the index separate.
      
      Instead of ARMMMUIdx enum values being identical to core QEMU
      MMU index values, they are now the core index values with some
      high bits set. Any particular CPU always uses the same high
      bits (so eventually A profile cores and M profile cores will
      use different bits). New functions arm_to_core_mmu_idx()
      and core_to_arm_mmu_idx() convert between the two.
      
      In general core index values are stored in 'int' types, and
      ARM values are stored in ARMMMUIdx types.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1493122030-32191-3-git-send-email-peter.maydell@linaro.org
      8bd5c820
  18. 28 2月, 2017 1 次提交
  19. 24 2月, 2017 1 次提交
  20. 08 2月, 2017 1 次提交
  21. 14 1月, 2017 1 次提交
  22. 11 1月, 2017 1 次提交