qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] e7bc90: tcg-sparc: Fix ld64 for 32-bit mode


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] e7bc90: tcg-sparc: Fix ld64 for 32-bit mode
Date: Mon, 17 Mar 2014 16:00:05 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: e7bc9004e729d4db1fdced5ccc09a322df53723f
      
https://github.com/qemu/qemu/commit/e7bc9004e729d4db1fdced5ccc09a322df53723f
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-17 (Mon, 17 Mar 2014)

  Changed paths:
    M tcg/sparc/tcg-target.c

  Log Message:
  -----------
  tcg-sparc: Fix ld64 for 32-bit mode

Since were not using an annulled branch, we need to put a nop
in the delay slot.

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


  Commit: d801a8f2ce9b89aef6006992ea1c573be817d80b
      
https://github.com/qemu/qemu/commit/d801a8f2ce9b89aef6006992ea1c573be817d80b
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-17 (Mon, 17 Mar 2014)

  Changed paths:
    M tcg/sparc/tcg-target.c

  Log Message:
  -----------
  tcg-sparc: Fix tlb read

We were computing the full address into %o0 and then not using it.
Adjust some of the computation to rely less on having to pull immediate
values into registers.

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


  Commit: aad2f06a7f03d06945e727373e4e059997220529
      
https://github.com/qemu/qemu/commit/aad2f06a7f03d06945e727373e4e059997220529
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-17 (Mon, 17 Mar 2014)

  Changed paths:
    M tcg/sparc/tcg-target.c

  Log Message:
  -----------
  tcg-sparc: Tidy call+jump patterns

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


  Commit: c8fc56cedda388641a3a5e1650db9a58c2280549
      
https://github.com/qemu/qemu/commit/c8fc56cedda388641a3a5e1650db9a58c2280549
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-17 (Mon, 17 Mar 2014)

  Changed paths:
    M tcg/sparc/tcg-target.c

  Log Message:
  -----------
  tcg-sparc: Use intptr_t as appropriate

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


  Commit: 5f9eb02555e743bdeb2e22ea3c43a36cb9dad72f
      
https://github.com/qemu/qemu/commit/5f9eb02555e743bdeb2e22ea3c43a36cb9dad72f
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-17 (Mon, 17 Mar 2014)

  Changed paths:
    M tcg/sparc/tcg-target.c
    M tcg/sparc/tcg-target.h

  Log Message:
  -----------
  tcg-sparc: Don't handle remainder

The generic fallback is exactly what we implemented.

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


  Commit: 1d0a60681a287e5697fa5b537dabb77f9c9c7f04
      
https://github.com/qemu/qemu/commit/1d0a60681a287e5697fa5b537dabb77f9c9c7f04
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-17 (Mon, 17 Mar 2014)

  Changed paths:
    M tcg/sparc/tcg-target.c

  Log Message:
  -----------
  tcg-sparc: Dont handle constant arguments to ext32 ops

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


  Commit: a9c7d27bd189c8df698fac1369f718e7fa30d9d9
      
https://github.com/qemu/qemu/commit/a9c7d27bd189c8df698fac1369f718e7fa30d9d9
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-17 (Mon, 17 Mar 2014)

  Changed paths:
    M tcg/sparc/tcg-target.c

  Log Message:
  -----------
  tcg-sparc: Improve tcg_out_movi

If bits 31:13 are zero, reduce the insn count by one.

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


  Commit: eef0d9e740be3fb3b8226d8dffb0871455d45ce5
      
https://github.com/qemu/qemu/commit/eef0d9e740be3fb3b8226d8dffb0871455d45ce5
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-17 (Mon, 17 Mar 2014)

  Changed paths:
    M tcg/sparc/tcg-target.c

  Log Message:
  -----------
  tcg-sparc: Use TCGMemOp within qemu_ldst routines

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


  Commit: a8b12c108c364587213396c3cd3e22d740f87e2e
      
https://github.com/qemu/qemu/commit/a8b12c108c364587213396c3cd3e22d740f87e2e
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-17 (Mon, 17 Mar 2014)

  Changed paths:
    M tcg/sparc/tcg-target.c

  Log Message:
  -----------
  tcg-sparc: Tidy tcg_out_tlb_load interface

Pass address registers explicitly, rather than as indicies of args[].
It's two argument registers either way.  Use more TCGReg as appropriate.

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


  Commit: 7ea5d7256d06a04e8953b25f7766c9e32fa408e8
      
https://github.com/qemu/qemu/commit/7ea5d7256d06a04e8953b25f7766c9e32fa408e8
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-17 (Mon, 17 Mar 2014)

  Changed paths:
    M tcg/sparc/tcg-target.c

  Log Message:
  -----------
  tcg-sparc: Convert to new ldst helpers

All of the helpers with the explicit big/little endian option
require the return address as a parameter.  Acquire this via
a trampoline.

Move the load of areg0 into the trampoline.

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


  Commit: cab0a7ea002b0a01ebfbde5d3c8ace0b6848ffcc
      
https://github.com/qemu/qemu/commit/cab0a7ea002b0a01ebfbde5d3c8ace0b6848ffcc
  Author: Richard Henderson <address@hidden>
  Date:   2014-03-17 (Mon, 17 Mar 2014)

  Changed paths:
    M tcg/sparc/tcg-target.c
    M tcg/sparc/tcg-target.h

  Log Message:
  -----------
  tcg-sparc: Convert to new ldst opcodes

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


  Commit: 0a1bec8a4e1c55bb581521c60db30e3f4867ceb1
      
https://github.com/qemu/qemu/commit/0a1bec8a4e1c55bb581521c60db30e3f4867ceb1
  Author: Christian Borntraeger <address@hidden>
  Date:   2014-03-17 (Mon, 17 Mar 2014)

  Changed paths:
    M hw/s390x/ipl.c

  Log Message:
  -----------
  s390/ipl: Fix error path on BIOS loading

commit 18674b26788a9e47f1157170234e32ece2044367
(elf-loader: add more return codes) enabled the elf loader to return
other errors than -1.

Lets also handle that case for our "BIOS" on s390.

Signed-off-by: Christian Borntraeger <address@hidden>
CC: Alexey Kardashevskiy <address@hidden>
CC: Alexander Graf <address@hidden>


  Commit: 7b53f2940e3bf43ae50c929330a4837ca4da7a94
      
https://github.com/qemu/qemu/commit/7b53f2940e3bf43ae50c929330a4837ca4da7a94
  Author: Christian Borntraeger <address@hidden>
  Date:   2014-03-17 (Mon, 17 Mar 2014)

  Changed paths:
    M hw/s390x/sclpcpu.c

  Log Message:
  -----------
  s390x/cpu hotplug: Fix memory leak

valgrind complains about the following:
==42117== 8 bytes in 1 blocks are definitely lost in loss record 88 of 833
==42117==    at 0x4031AFE: malloc (vg_replace_malloc.c:292)
==42117==    by 0x8022F855: malloc_and_trace (vl.c:2715)
==42117==    by 0x4145569: g_malloc (in /usr/lib64/libglib-2.0.so.0.3400.2)
==42117==    by 0x800F696D: qemu_extend_irqs (irq.c:51)
==42117==    by 0x800F6AF7: qemu_allocate_irqs (irq.c:68)
==42117==    by 0x8029FA4B: irq_cpu_hotplug_init (sclpcpu.c:84)
==42117==    by 0x80297C79: event_realize (event-facility.c:386)
==42117==    by 0x80105071: device_set_realized (qdev.c:693)
[...]

Right it is. Don't drop the pointer of the irq.

Signed-off-by: Christian Borntraeger <address@hidden>
Reviewed-by: Jason J. Herne <address@hidden>


  Commit: b074e6220542107afb9fad480a184775be591d2a
      
https://github.com/qemu/qemu/commit/b074e6220542107afb9fad480a184775be591d2a
  Author: Christian Borntraeger <address@hidden>
  Date:   2014-03-17 (Mon, 17 Mar 2014)

  Changed paths:
    M hw/char/sclpconsole.c

  Log Message:
  -----------
  s390x/sclpconsole: Fix and simplify interrupt injection

valgrind complains about a memory leak in irq setup of sclpconsole:

==42117== 8 bytes in 1 blocks are definitely lost in loss record 89 of 833
==42117==    at 0x4031AFE: malloc (vg_replace_malloc.c:292)
==42117==    by 0x8022F855: malloc_and_trace (vl.c:2715)
==42117==    by 0x4145569: g_malloc (in /usr/lib64/libglib-2.0.so.0.3400.2)
==42117==    by 0x800F696D: qemu_extend_irqs (irq.c:51)
==42117==    by 0x800F6AF7: qemu_allocate_irqs (irq.c:68)
==42117==    by 0x800F5685: console_init (sclpconsole.c:235)
==42117==    by 0x80297C79: event_realize (event-facility.c:386)
==42117==    by 0x80105071: device_set_realized (qdev.c:693)
==42117==    by 0x801CDC4B: property_set_bool (object.c:1337)
==42117==    by 0x801CBD7F: object_property_set (object.c:819)
[...]

Turns out that we actually dont need the indirection, so trigger the
sclp interrupt directly.

Signed-off-by: Christian Borntraeger <address@hidden>
Acked-by: Heinz Graalfs <address@hidden>


  Commit: 4f3ed190a673c0020c3ccebb4882ae4675cb5f4d
      
https://github.com/qemu/qemu/commit/4f3ed190a673c0020c3ccebb4882ae4675cb5f4d
  Author: Christian Borntraeger <address@hidden>
  Date:   2014-03-17 (Mon, 17 Mar 2014)

  Changed paths:
    M hw/char/sclpconsole-lm.c

  Log Message:
  -----------
  s390x/sclpconsole-lm: Fix and simplify irq setup

valgrind complains about a memory leak in irq setup of sclpconsole:

==42117== 8 bytes in 1 blocks are definitely lost in loss record 89of 833
==42117==    at 0x4031AFE: malloc (vg_replace_malloc.c:292)
==42117==    by 0x8022F855: malloc_and_trace (vl.c:2715)
==42117==    by 0x4145569: g_malloc (in /usr/lib64/libglib-2.0.so.0.3400.2)
==42117==    by 0x800F696D: qemu_extend_irqs (irq.c:51)
==42117==    by 0x800F6AF7: qemu_allocate_irqs (irq.c:68)
==42117==    by 0x800F5685: console_init (sclpconsole.c:235)
==42117==    by 0x80297C79: event_realize (event-facility.c:386)
==42117==    by 0x80105071: device_set_realized (qdev.c:693)
==42117==    by 0x801CDC4B: property_set_bool (object.c:1337)
 ==42117==    by 0x801CBD7F: object_property_set (object.c:819)
[...]

We dont need the indirection of an qemu irq to inject an slcp interrupt.
Fixes a valgrind error and makes the code simpler.

Signed-off-by: Christian Borntraeger <address@hidden>
Acked-by: Heinz Graalfs <address@hidden>


  Commit: cdf0592cb888d071e4b4f37048ad8646ac9fbc8c
      
https://github.com/qemu/qemu/commit/cdf0592cb888d071e4b4f37048ad8646ac9fbc8c
  Author: Peter Maydell <address@hidden>
  Date:   2014-03-17 (Mon, 17 Mar 2014)

  Changed paths:
    M tcg/sparc/tcg-target.c
    M tcg/sparc/tcg-target.h

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/rth/tcg-v8p-2' into staging

* remotes/rth/tcg-v8p-2:
  tcg-sparc: Convert to new ldst opcodes
  tcg-sparc: Convert to new ldst helpers
  tcg-sparc: Tidy tcg_out_tlb_load interface
  tcg-sparc: Use TCGMemOp within qemu_ldst routines
  tcg-sparc: Improve tcg_out_movi
  tcg-sparc: Dont handle constant arguments to ext32 ops
  tcg-sparc: Don't handle remainder
  tcg-sparc: Use intptr_t as appropriate
  tcg-sparc: Tidy call+jump patterns
  tcg-sparc: Fix tlb read
  tcg-sparc: Fix ld64 for 32-bit mode

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


  Commit: 315b59344126beab85a62b53582794b14436a5a4
      
https://github.com/qemu/qemu/commit/315b59344126beab85a62b53582794b14436a5a4
  Author: Peter Maydell <address@hidden>
  Date:   2014-03-17 (Mon, 17 Mar 2014)

  Changed paths:
    M hw/char/sclpconsole-lm.c
    M hw/char/sclpconsole.c
    M hw/s390x/ipl.c
    M hw/s390x/sclpcpu.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/borntraeger/tags/kvm-s390-20140317' 
into staging

4 small patches:
- Fixing findings of valgrind regarding minor memory leaks:
  Currently we forget the pointer of qemu_allocate_irqs. Since we never
  free the irqs, this is not critical, but obviously not good programming
  style. While we are at it, we dont need the irq infrastructure for
  the sclp consoles.
- Handle new ELF error codes for BIOS loading

# gpg: Signature made Mon 17 Mar 2014 21:34:12 GMT using RSA key ID B5A61C7C
# gpg: Can't check signature: public key not found

* remotes/borntraeger/tags/kvm-s390-20140317:
  s390x/sclpconsole-lm: Fix and simplify irq setup
  s390x/sclpconsole: Fix and simplify interrupt injection
  s390x/cpu hotplug: Fix memory leak
  s390/ipl: Fix error path on BIOS loading

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


Compare: https://github.com/qemu/qemu/compare/87f639629334...315b59344126

reply via email to

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