All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL for-2.1 0/3] target-arm queue
@ 2014-07-08 12:13 Peter Maydell
  2014-07-08 12:13 ` [Qemu-devel] [PULL 1/3] disas/libvixl: prepend the include path of libvixl header files Peter Maydell
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Peter Maydell @ 2014-07-08 12:13 UTC (permalink / raw)
  To: qemu-devel


target-arm patches for 2.1rc1; just a handful of bug fixes.

thanks
-- PMM

The following changes since commit eaa4980185943da6e36f6f2e052d41924705e1ea:

  Merge remote-tracking branch 'remotes/agraf/tags/signed-ppc-for-upstream' into staging (2014-07-08 11:38:12 +0100)

are available in the git repository at:


  git://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20140708

for you to fetch changes up to 75c9a1a0473cc5ca9756d11b236c715c7bc0ba67:

  target-arm: Implement vCPU reset via KVM_ARM_VCPU_INIT for 32-bit CPUs (2014-07-08 13:05:11 +0100)

----------------------------------------------------------------
target-arm queue:
 * fix handling of KVM reset for 32-bit ARM CPUs
 * implement NOR flash alias for vexpress-a9
 * make sure libvixl gets its own utils.h rather than somebody else's

----------------------------------------------------------------
Peter Maydell (2):
      hw/arm/vexpress: Alias NOR flash at 0 for vexpress-a9
      target-arm: Implement vCPU reset via KVM_ARM_VCPU_INIT for 32-bit CPUs

Stefano Stabellini (1):
      disas/libvixl: prepend the include path of libvixl header files

 disas/libvixl/Makefile.objs |  2 +-
 hw/arm/vexpress.c           |  2 +-
 target-arm/cpu-qom.h        |  4 ----
 target-arm/kvm32.c          | 19 +++++--------------
 4 files changed, 7 insertions(+), 20 deletions(-)

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Qemu-devel] [PULL 1/3] disas/libvixl: prepend the include path of libvixl header files
  2014-07-08 12:13 [Qemu-devel] [PULL for-2.1 0/3] target-arm queue Peter Maydell
@ 2014-07-08 12:13 ` Peter Maydell
  2014-07-08 12:13 ` [Qemu-devel] [PULL 2/3] hw/arm/vexpress: Alias NOR flash at 0 for vexpress-a9 Peter Maydell
  2014-07-08 12:13 ` [Qemu-devel] [PULL 3/3] target-arm: Implement vCPU reset via KVM_ARM_VCPU_INIT for 32-bit CPUs Peter Maydell
  2 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2014-07-08 12:13 UTC (permalink / raw)
  To: qemu-devel

From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Currently the Makefile of disas/libvixl appends
-I$(SRC_PATH)/disas/libvixl to QEMU_CFLAGS. As a consequence C++ files
that #include "utils.h", such as disas/libvixl/a64/instructions-a64.cc,
are going to look for utils.h on all the other include paths first.

When building QEMU as part of the Xen make system, another unrelated
utils.h file is going to be chosen for inclusion, causing a build
failure:

In file included from disas/libvixl/a64/instructions-a64.cc:27:0:
/qemu/disas/libvixl/a64/instructions-a64.h:88:64: error:
'rawbits_to_float' was not declared in this scope
 const float kFP32PositiveInfinity = rawbits_to_float(0x7f800000);

Fix the problem by prepending (rather than appending) the libvixl
include path to QEMU_CFLAGS.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 disas/libvixl/Makefile.objs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/disas/libvixl/Makefile.objs b/disas/libvixl/Makefile.objs
index 0adb3ce..17e6565 100644
--- a/disas/libvixl/Makefile.objs
+++ b/disas/libvixl/Makefile.objs
@@ -3,6 +3,6 @@ libvixl_OBJS = utils.o \
                a64/decoder-a64.o \
                a64/disasm-a64.o
 
-$(addprefix $(obj)/,$(libvixl_OBJS)): QEMU_CFLAGS += -I$(SRC_PATH)/disas/libvixl
+$(addprefix $(obj)/,$(libvixl_OBJS)): QEMU_CFLAGS := -I$(SRC_PATH)/disas/libvixl $(QEMU_CFLAGS)
 
 common-obj-$(CONFIG_ARM_A64_DIS) += $(libvixl_OBJS)
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Qemu-devel] [PULL 2/3] hw/arm/vexpress: Alias NOR flash at 0 for vexpress-a9
  2014-07-08 12:13 [Qemu-devel] [PULL for-2.1 0/3] target-arm queue Peter Maydell
  2014-07-08 12:13 ` [Qemu-devel] [PULL 1/3] disas/libvixl: prepend the include path of libvixl header files Peter Maydell
@ 2014-07-08 12:13 ` Peter Maydell
  2014-07-10  9:00   ` Peter Maydell
  2014-07-08 12:13 ` [Qemu-devel] [PULL 3/3] target-arm: Implement vCPU reset via KVM_ARM_VCPU_INIT for 32-bit CPUs Peter Maydell
  2 siblings, 1 reply; 6+ messages in thread
From: Peter Maydell @ 2014-07-08 12:13 UTC (permalink / raw)
  To: qemu-devel

Make the vexpress-a9 board alias the first NOR flash region at
address zero, like vexpress-a15. This makes "-bios" actually usable
on this board.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 1404310070-3561-1-git-send-email-peter.maydell@linaro.org
Reviewed-by: Greg Bellows <greg.bellows@linaro.org>
---
 hw/arm/vexpress.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c
index 3d83e6c..a88732c 100644
--- a/hw/arm/vexpress.c
+++ b/hw/arm/vexpress.c
@@ -84,6 +84,7 @@ enum {
 };
 
 static hwaddr motherboard_legacy_map[] = {
+    [VE_NORFLASHALIAS] = 0,
     /* CS7: 0x10000000 .. 0x10020000 */
     [VE_SYSREGS] = 0x10000000,
     [VE_SP810] = 0x10001000,
@@ -114,7 +115,6 @@ static hwaddr motherboard_legacy_map[] = {
     [VE_VIDEORAM] = 0x4c000000,
     [VE_ETHERNET] = 0x4e000000,
     [VE_USB] = 0x4f000000,
-    [VE_NORFLASHALIAS] = -1, /* not present */
 };
 
 static hwaddr motherboard_aseries_map[] = {
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Qemu-devel] [PULL 3/3] target-arm: Implement vCPU reset via KVM_ARM_VCPU_INIT for 32-bit CPUs
  2014-07-08 12:13 [Qemu-devel] [PULL for-2.1 0/3] target-arm queue Peter Maydell
  2014-07-08 12:13 ` [Qemu-devel] [PULL 1/3] disas/libvixl: prepend the include path of libvixl header files Peter Maydell
  2014-07-08 12:13 ` [Qemu-devel] [PULL 2/3] hw/arm/vexpress: Alias NOR flash at 0 for vexpress-a9 Peter Maydell
@ 2014-07-08 12:13 ` Peter Maydell
  2 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2014-07-08 12:13 UTC (permalink / raw)
  To: qemu-devel

Implement kvm_arm_vcpu_init() as a simple call to arm_arm_vcpu_init()
(which uses the KVM_ARM_VCPU_INIT vcpu ioctl to tell the kernel
to re-initialize the vCPU), rather than via the complicated code
which saves a copy of the register state on first init and then
writes it back to the kernel. This is much simpler and brings the
32-bit KVM code into line with the 64-bit code.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 1403802973-20841-1-git-send-email-peter.maydell@linaro.org
---
 target-arm/cpu-qom.h |  4 ----
 target-arm/kvm32.c   | 19 +++++--------------
 2 files changed, 5 insertions(+), 18 deletions(-)

diff --git a/target-arm/cpu-qom.h b/target-arm/cpu-qom.h
index eaee944..ee4fbb1 100644
--- a/target-arm/cpu-qom.h
+++ b/target-arm/cpu-qom.h
@@ -72,10 +72,6 @@ typedef struct ARMCPU {
     uint64_t *cpreg_indexes;
     /* Values of the registers (cpreg_indexes[i]'s value is cpreg_values[i]) */
     uint64_t *cpreg_values;
-    /* When using KVM, keeps a copy of the initial state of the VCPU,
-     * so that on reset we can feed the reset values back into the kernel.
-     */
-    uint64_t *cpreg_reset_values;
     /* Length of the indexes, values, reset_values arrays */
     int32_t cpreg_array_len;
     /* These are used only for migration: incoming data arrives in
diff --git a/target-arm/kvm32.c b/target-arm/kvm32.c
index 068af7d..5ec4eb1 100644
--- a/target-arm/kvm32.c
+++ b/target-arm/kvm32.c
@@ -270,13 +270,6 @@ int kvm_arch_init_vcpu(CPUState *cs)
         goto out;
     }
 
-    /* Save a copy of the initial register values so that we can
-     * feed it back to the kernel on VCPU reset.
-     */
-    cpu->cpreg_reset_values = g_memdup(cpu->cpreg_values,
-                                       cpu->cpreg_array_len *
-                                       sizeof(cpu->cpreg_values[0]));
-
 out:
     g_free(rlp);
     return ret;
@@ -518,11 +511,9 @@ int kvm_arch_get_registers(CPUState *cs)
 
 void kvm_arm_reset_vcpu(ARMCPU *cpu)
 {
-    /* Feed the kernel back its initial register state */
-    memmove(cpu->cpreg_values, cpu->cpreg_reset_values,
-            cpu->cpreg_array_len * sizeof(cpu->cpreg_values[0]));
-
-    if (!write_list_to_kvmstate(cpu)) {
-        abort();
-    }
+    /* Re-init VCPU so that all registers are set to
+     * their respective reset values.
+     */
+    kvm_arm_vcpu_init(CPU(cpu));
+    write_kvmstate_to_list(cpu);
 }
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PULL 2/3] hw/arm/vexpress: Alias NOR flash at 0 for vexpress-a9
  2014-07-08 12:13 ` [Qemu-devel] [PULL 2/3] hw/arm/vexpress: Alias NOR flash at 0 for vexpress-a9 Peter Maydell
@ 2014-07-10  9:00   ` Peter Maydell
  2014-07-10 12:40     ` Eric Blake
  0 siblings, 1 reply; 6+ messages in thread
From: Peter Maydell @ 2014-07-10  9:00 UTC (permalink / raw)
  To: QEMU Developers

On 8 July 2014 13:13, Peter Maydell <peter.maydell@linaro.org> wrote:
> Make the vexpress-a9 board alias the first NOR flash region at
> address zero, like vexpress-a15. This makes "-bios" actually usable
> on this board.

Oof. Judging by the headers lists.gnu sat on this email for over
36 hours...

-- PMM

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PULL 2/3] hw/arm/vexpress: Alias NOR flash at 0 for vexpress-a9
  2014-07-10  9:00   ` Peter Maydell
@ 2014-07-10 12:40     ` Eric Blake
  0 siblings, 0 replies; 6+ messages in thread
From: Eric Blake @ 2014-07-10 12:40 UTC (permalink / raw)
  To: Peter Maydell, QEMU Developers

[-- Attachment #1: Type: text/plain, Size: 788 bytes --]

On 07/10/2014 03:00 AM, Peter Maydell wrote:
> On 8 July 2014 13:13, Peter Maydell <peter.maydell@linaro.org> wrote:
>> Make the vexpress-a9 board alias the first NOR flash region at
>> address zero, like vexpress-a15. This makes "-bios" actually usable
>> on this board.
> 
> Oof. Judging by the headers lists.gnu sat on this email for over
> 36 hours...

Yes, the gnu mailserver was exceptionally slow in the last 48 hours (and
not just for this list); it looks like some of the backlog is finally
clearing out, but as an observer on the side I wish I had more insight
into what was cause, and if there is somewhere that such incidents can
be reported/tracked.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-07-10 12:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-08 12:13 [Qemu-devel] [PULL for-2.1 0/3] target-arm queue Peter Maydell
2014-07-08 12:13 ` [Qemu-devel] [PULL 1/3] disas/libvixl: prepend the include path of libvixl header files Peter Maydell
2014-07-08 12:13 ` [Qemu-devel] [PULL 2/3] hw/arm/vexpress: Alias NOR flash at 0 for vexpress-a9 Peter Maydell
2014-07-10  9:00   ` Peter Maydell
2014-07-10 12:40     ` Eric Blake
2014-07-08 12:13 ` [Qemu-devel] [PULL 3/3] target-arm: Implement vCPU reset via KVM_ARM_VCPU_INIT for 32-bit CPUs Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.