qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 814658: target-arm: Factor out handling of SR


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 814658: target-arm: Factor out handling of SRS instruction
Date: Tue, 05 Mar 2013 06:30:18 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 81465888c5306cd94abb9847e560796fd13d3c2f
      
https://github.com/qemu/qemu/commit/81465888c5306cd94abb9847e560796fd13d3c2f
  Author: Peter Maydell <address@hidden>
  Date:   2013-03-04 (Mon, 04 Mar 2013)

  Changed paths:
    M target-arm/translate.c

  Log Message:
  -----------
  target-arm: Factor out handling of SRS instruction

Factor out the handling of the SRS instruction rather than
duplicating it between the Thumb and ARM decoders. This in
passing fixes two bugs in the Thumb decoder's SRS handling
which didn't exist in the ARM decoder:
 * (LP:1079080) storing CPSR rather than SPSR (fixed in the
   ARM decoder in commit c67b6b71 in 2009)
 * failing to free the 'addr' TCG temp in the writeback case

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


  Commit: 00115976bb066d4b33dbb07a92f8bde5ec8b9518
      
https://github.com/qemu/qemu/commit/00115976bb066d4b33dbb07a92f8bde5ec8b9518
  Author: Peter Maydell <address@hidden>
  Date:   2013-03-04 (Mon, 04 Mar 2013)

  Changed paths:
    M target-arm/translate.c

  Log Message:
  -----------
  target-arm: Don't decode RFE or SRS on M profile cores

M profile cores do not have the RFE or SRS instructions, so
correctly UNDEF these insn patterns on those cores.

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


  Commit: 2e07b297e0b450fe38bab115f71749e032d7191c
      
https://github.com/qemu/qemu/commit/2e07b297e0b450fe38bab115f71749e032d7191c
  Author: Peter Maydell <address@hidden>
  Date:   2013-03-04 (Mon, 04 Mar 2013)

  Changed paths:
    M util/oslib-posix.c

  Log Message:
  -----------
  oslib-posix: Align to permit transparent hugepages on ARM Linux

ARM Linux (like x86-64 Linux) can use transparent hugepages for
KVM if memory blocks are 2MiB aligned; set QEMU_VMALLOC_ALIGN
accordingly.

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


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

  Changed paths:
    A linux-headers/asm-arm/kvm.h
    A linux-headers/asm-arm/kvm_para.h
    A linux-headers/asm-generic/kvm_para.h
    M linux-headers/linux/kvm.h

  Log Message:
  -----------
  linux-headers: resync from mainline to add ARM KVM headers

Resync QEMU's copy of the Linux kernel headers from
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
commit 2ef14f4. This adds the ARM KVM headers, since ARM KVM
support has just hit mainline via Russell's ARM tree.

This is not a pure sync -- I have removed by hand some changes
that would have reverted updates for s390x and ppc which have not
yet hit mainline.

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


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

  Changed paths:
    M target-arm/helper.c

  Log Message:
  -----------
  target-arm: Drop CPUARMState* argument from bank_number()

Drop the CPUARMState* argument from bank_number(), since we only
use it for passing to cpu_abort(). Use hw_error() instead.
This avoids propagating further interfaces using env pointers.

In the long term this function's callers need auditing to fix
problems where badly behaved guests can pass invalid bank numbers.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Andreas Färber <address@hidden>


  Commit: 494b00c76afb906a2d093b71c8772331c2a19a89
      
https://github.com/qemu/qemu/commit/494b00c76afb906a2d093b71c8772331c2a19a89
  Author: Christoffer Dall <address@hidden>
  Date:   2013-03-04 (Mon, 04 Mar 2013)

  Changed paths:
    M hw/arm_pic.c
    M target-arm/Makefile.objs
    M target-arm/cpu.h
    M target-arm/helper.c
    A target-arm/kvm.c

  Log Message:
  -----------
  ARM: KVM: Add support for KVM on ARM architecture

Add basic support for KVM on ARM architecture.

Signed-off-by: Christoffer Dall <address@hidden>
[PMM: Minor tweaks and code cleanup, switch to ONE_REG]
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>


  Commit: 81635574f6e7f4d18ea059ecbeeec93c3ffc284c
      
https://github.com/qemu/qemu/commit/81635574f6e7f4d18ea059ecbeeec93c3ffc284c
  Author: Peter Maydell <address@hidden>
  Date:   2013-03-04 (Mon, 04 Mar 2013)

  Changed paths:
    M target-arm/kvm.c

  Log Message:
  -----------
  ARM KVM: save and load VFP registers from kernel

Add support for saving and restoring VFP register state from the
kernel. This includes a check that the KVM-created CPU has full
VFP support (as the TCG Cortex-A15 model always does), since for
the moment ARM QEMU doesn't have any way to tweak optional features
on created CPUs.

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


  Commit: 9ecb992674cec86091b4fce3bd66faee8b56b165
      
https://github.com/qemu/qemu/commit/9ecb992674cec86091b4fce3bd66faee8b56b165
  Author: Peter Maydell <address@hidden>
  Date:   2013-03-04 (Mon, 04 Mar 2013)

  Changed paths:
    M hw/arm_gic_common.c
    M hw/arm_gic_internal.h

  Log Message:
  -----------
  hw/arm_gic: Add presave/postload hooks

Add presave/postload hooks to the ARM GIC common base class.
These will be used by the KVM in-kernel GIC subclass to sync
state between kernel and userspace when migrating.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Andreas Färber <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>


  Commit: 53111180946a56d314a9c1d07d09b9ef91e847b9
      
https://github.com/qemu/qemu/commit/53111180946a56d314a9c1d07d09b9ef91e847b9
  Author: Peter Maydell <address@hidden>
  Date:   2013-03-04 (Mon, 04 Mar 2013)

  Changed paths:
    M hw/arm_gic.c
    M hw/arm_gic_common.c
    M hw/arm_gic_internal.h
    M hw/armv7m_nvic.c

  Log Message:
  -----------
  hw/arm_gic: Convert ARM GIC classes to use init/realize

Convert the ARM GIC classes to use init/realize rather than
SysBusDevice::init. (We have to do them all in one patch to
avoid unconverted subclasses calling a nonexistent SysBusDevice
init function in the base class and crashing.)

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Andreas Färber <address@hidden>


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

  Changed paths:
    M target-arm/kvm.c
    A target-arm/kvm_arm.h

  Log Message:
  -----------
  target-arm: Use MemoryListener to identify GIC base address for KVM

When using an in-kernel GIC with KVM, we need to tell the kernel where
the GIC's memory mapped registers live. Do this by registering a
MemoryListener which tracks where the board model maps the A15's
private peripherals, so we can finish the GIC initialisation
when the GIC is actually mapped.

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


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

  Changed paths:
    M hw/a15mpcore.c
    M hw/arm/Makefile.objs
    A hw/kvm/arm_gic.c

  Log Message:
  -----------
  hw/kvm/arm_gic: Implement support for KVM in-kernel ARM GIC

Implement support for using the KVM in-kernel GIC for ARM.

Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Andreas Färber <address@hidden>


  Commit: 68b05c427b0d220e38bfa21ee6df7970f158b377
      
https://github.com/qemu/qemu/commit/68b05c427b0d220e38bfa21ee6df7970f158b377
  Author: Peter Maydell <address@hidden>
  Date:   2013-03-04 (Mon, 04 Mar 2013)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: Enable KVM on ARM

Enable KVM on ARM hosts, now that all the necessary components
for it exist.

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


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

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: add entry for ARM KVM guest cores

Add an entry indicating maintainer status for the ARM KVM code.

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


  Commit: 2c3c6689b32529b56261bbbca36ba8544a34dd60
      
https://github.com/qemu/qemu/commit/2c3c6689b32529b56261bbbca36ba8544a34dd60
  Author: Richard Henderson <address@hidden>
  Date:   2013-03-04 (Mon, 04 Mar 2013)

  Changed paths:
    M linux-user/signal.c

  Log Message:
  -----------
  mips-linux-user: Delete n32 and n64 signal stubs

Deleting these first makes the next patch much easier to read.
This doesn't cause any sort of compilation failure because we
have not yet enabled n32/n64 compilation.  This is dead code.

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


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

  Changed paths:
    M linux-user/signal.c

  Log Message:
  -----------
  mips-linux-user: Share o32 code for n32 and n64 signals

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


  Commit: 51cd14d3f56f15cb82e63d694a023ce2b02334f9
      
https://github.com/qemu/qemu/commit/51cd14d3f56f15cb82e63d694a023ce2b02334f9
  Author: Richard Henderson <address@hidden>
  Date:   2013-03-04 (Mon, 04 Mar 2013)

  Changed paths:
    M configure

  Log Message:
  -----------
  mips-linux-user: Enable mips64 and mipsn32 linux-user targets

At this point we can enable compilation, though things
still don't work.

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


  Commit: 084d0497a0edf060d8f61c798217b6d0622a5feb
      
https://github.com/qemu/qemu/commit/084d0497a0edf060d8f61c798217b6d0622a5feb
  Author: Richard Henderson <address@hidden>
  Date:   2013-03-05 (Tue, 05 Mar 2013)

  Changed paths:
    M linux-user/signal.c
    M target-mips/cpu.h
    M target-mips/dsp_helper.c

  Log Message:
  -----------
  mips-linux-user: Save and restore fpu and dsp from sigcontext

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


  Commit: ff4f7382815d31933fe0cbedce03270e4b62b771
      
https://github.com/qemu/qemu/commit/ff4f7382815d31933fe0cbedce03270e4b62b771
  Author: Richard Henderson <address@hidden>
  Date:   2013-03-05 (Tue, 05 Mar 2013)

  Changed paths:
    M linux-user/main.c

  Log Message:
  -----------
  mips-linux-user: Fix n32 and n64 syscalls

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


  Commit: 68473f15d4c9948986618f63828825beafcaf1cf
      
https://github.com/qemu/qemu/commit/68473f15d4c9948986618f63828825beafcaf1cf
  Author: Richard Henderson <address@hidden>
  Date:   2013-03-05 (Tue, 05 Mar 2013)

  Changed paths:
    M target-mips/translate.c

  Log Message:
  -----------
  mips64-linux-user: Enable 64-bit address mode and fpu

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


  Commit: 597e2cec8096e0703506abcbbf66938b5ac04368
      
https://github.com/qemu/qemu/commit/597e2cec8096e0703506abcbbf66938b5ac04368
  Author: Richard Henderson <address@hidden>
  Date:   2013-03-05 (Tue, 05 Mar 2013)

  Changed paths:
    M configure
    M linux-user/mips64/syscall.h
    M linux-user/mips64/syscall_nr.h
    R linux-user/mipsn32/syscall.h
    R linux-user/mipsn32/syscall_nr.h
    R linux-user/mipsn32/target_signal.h
    R linux-user/mipsn32/termbits.h

  Log Message:
  -----------
  mipsn32-linux-user: Configure the architecture properly

N32 is a 64-bit cpu with a 32-bit address space.  We have
existing cpp defines for this situation, but weren't using them.

This does mean that the linux-user/mipsn32 directory must be
merged with the linux-user/mips64 directory, and differences
must be resolved via ifdefs.

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


  Commit: 76c48503c4c87afabf0c93acf78480f65276844d
      
https://github.com/qemu/qemu/commit/76c48503c4c87afabf0c93acf78480f65276844d
  Author: Aurelien Jarno <address@hidden>
  Date:   2013-03-05 (Tue, 05 Mar 2013)

  Changed paths:
    M MAINTAINERS
    M configure
    M hw/a15mpcore.c
    M hw/arm/Makefile.objs
    M hw/arm_gic.c
    M hw/arm_gic_common.c
    M hw/arm_gic_internal.h
    M hw/arm_pic.c
    M hw/armv7m_nvic.c
    A hw/kvm/arm_gic.c
    A linux-headers/asm-arm/kvm.h
    A linux-headers/asm-arm/kvm_para.h
    A linux-headers/asm-generic/kvm_para.h
    M linux-headers/linux/kvm.h
    M target-arm/Makefile.objs
    M target-arm/cpu.h
    M target-arm/helper.c
    A target-arm/kvm.c
    A target-arm/kvm_arm.h
    M target-arm/translate.c
    M util/oslib-posix.c

  Log Message:
  -----------
  Merge branch 'target-arm.next' of 
git://git.linaro.org/people/pmaydell/qemu-arm

* 'target-arm.next' of git://git.linaro.org/people/pmaydell/qemu-arm:
  MAINTAINERS: add entry for ARM KVM guest cores
  configure: Enable KVM on ARM
  hw/kvm/arm_gic: Implement support for KVM in-kernel ARM GIC
  target-arm: Use MemoryListener to identify GIC base address for KVM
  hw/arm_gic: Convert ARM GIC classes to use init/realize
  hw/arm_gic: Add presave/postload hooks
  ARM KVM: save and load VFP registers from kernel
  ARM: KVM: Add support for KVM on ARM architecture
  target-arm: Drop CPUARMState* argument from bank_number()
  linux-headers: resync from mainline to add ARM KVM headers
  oslib-posix: Align to permit transparent hugepages on ARM Linux
  target-arm: Don't decode RFE or SRS on M profile cores
  target-arm: Factor out handling of SRS instruction


Compare: https://github.com/qemu/qemu/compare/26135ead80fa...76c48503c4c8

reply via email to

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