On Thu, May 16, 2013 at 5:23 AM, Peter Maydell peter.mayd...@linaro.org wrote:
On 16 May 2013 12:09, Mian M. Hamayun m.hama...@virtualopensystems.com
wrote:
Hello Everyone,
I am currently trying to compile qemu for Aarch64 but so far I haven't been
able to configure qemu for this purpose.
On Thu, May 16, 2013 at 8:47 PM, John Rigby john.ri...@linaro.org wrote:
On Thu, May 16, 2013 at 5:23 AM, Peter Maydell peter.mayd...@linaro.org
wrote:
On 16 May 2013 12:09, Mian M. Hamayun m.hama...@virtualopensystems.com
wrote:
Hello Everyone,
I am currently trying to compile qemu
On Tue, May 14, 2013 at 10:31 AM, Richard Henderson r...@twiddle.net wrote:
On 05/13/2013 09:32 PM, John Rigby wrote:
+#ifdef TARGET_AARCH64
+ return state-sp;
+#else
return state-regs[13];
+#endif
Merge error. You changed that to xreg[31].
Thanks, fixed locally for v5.
Version 3 of series to add Aarch64 support.
Alexander Graf (11):
ARM: Export cpu_env
ARM: Prepare translation for AArch64 code
ARM: Add AArch64 translation stub
AArch64: Add gdb stub
linux-user: Don't treat aarch64 cpu names specially
linux-user: AArch64 requires at least 3.8.0
From: Alexander Graf ag...@suse.de
The cpu_env tcg variable will be used by both the AArch32 and AArch64
handling code. Unstaticify it, so that both sides can make use of it.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
target-arm/translate.c
to decide whether we can handle the
current code in the legacy AArch32 code or in the new AArch64 code.
So far, the translation always complains about unallocated instructions. There
is no emulator functionality in this patch!
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri
definitions in linux-user should
be sound for AArch64.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
linux-user/syscall.c | 5 +++--
linux-user/syscall_defs.h | 28 ++--
2 files changed, 29 insertions(+), 4 deletions(-)
diff
cpu running in aarch64 mode vs aarch32 mode.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
include/elf.h | 2 +
target-arm/cpu.h | 140 ++---
target-arm/translate.c | 15 --
3 files
on any older kernel version than that.
To allow for execution of linux-user guests even on older host kernels,
let's always fake the kernel version to 3.8.0 on AArch64 guests.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
linux-user/syscall.c | 5
From: Andreas Schwab sch...@suse.de
This patch adds signal handling for AArch64. The code is based on the
respective source in the Linux kernel.
Signed-off-by: Andreas Schwab sch...@suse.de
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
linux
From: Alexander Graf ag...@suse.de
We want to be able to debug AArch64 guests. So let's add the respective gdb
stub functions and xml descriptions that allow us to do so.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
gdb-xml/aarch64-core.xml
Signed-off-by: John Rigby john.ri...@linaro.org
---
configure | 1 +
1 file changed, 1 insertion(+)
diff --git a/configure b/configure
index 4f5be7a..5f9eb57 100755
--- a/configure
+++ b/configure
@@ -4198,6 +4198,7 @@ case $target_arch2 in
target_nptl=yes
gdb_xml_files=aarch64-core.xml
-off-by: John Rigby john.ri...@linaro.org
---
linux-user/cpu-uname.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/linux-user/cpu-uname.c b/linux-user/cpu-uname.c
index 59cd647..89bdb91 100644
--- a/linux-user/cpu-uname.c
+++ b/linux-user/cpu-uname.c
@@ -30,7 +30,8
From: Alexander Graf ag...@suse.de
The AArch64 syscall definitions are all publicly available in the Linux
kernel. Let's add them to our linux-user emulation target, so that we
can easily handle AArch64 syscalls.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri
ignore this part 6/12 one, somehow I neglected to remove it from the series
the fix in 12/12 is the one riku recommended
From: Alexander Graf ag...@suse.de
This patch adds support for AArch64 in all the small corners of
linux-user and beyond.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
default-configs/aarch64-linux-user.mak | 3 +
linux-user/aarch64/syscall.h
From: Alexander Graf ag...@suse.de
If we want to compile a target machine type that is AArch64 capable,
we need to add a new 64-bit capable ARM target. Use AArch64 since that
is the official ARM LTD name.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
Resend of v3 with part 6 removed and change notes included.
Alexander Graf (10):
ARM: Export cpu_env
ARM: Prepare translation for AArch64 code
ARM: Add AArch64 translation stub
AArch64: Add gdb stub
linux-user: Don't treat aarch64 cpu names specially
linux-user: Add syscall handling
From: Alexander Graf ag...@suse.de
The cpu_env tcg variable will be used by both the AArch32 and AArch64
handling code. Unstaticify it, so that both sides can make use of it.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
Changes in v3:
- None
cpu running in aarch64 mode vs aarch32 mode.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
Changes in v2:
- remove many uses of is_a64 that are not needed since the 32/64 choice
happens at a higher level
- add ARM_TBFLAG_AARCH64_STATE
From: Alexander Graf ag...@suse.de
We want to be able to debug AArch64 guests. So let's add the respective gdb
stub functions and xml descriptions that allow us to do so.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
Changes in v3:
- fix
From: Alexander Graf ag...@suse.de
If we want to compile a target machine type that is AArch64 capable,
we need to add a new 64-bit capable ARM target. Use AArch64 since that
is the official ARM LTD name.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
-off-by: John Rigby john.ri...@linaro.org
---
linux-user/cpu-uname.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/linux-user/cpu-uname.c b/linux-user/cpu-uname.c
index 59cd647..89bdb91 100644
--- a/linux-user/cpu-uname.c
+++ b/linux-user/cpu-uname.c
@@ -30,7 +30,8
Signed-off-by: John Rigby john.ri...@linaro.org
---
Changes in v2:
- Move patch to last in series and implement by forcing
CONFIG_UNAME_RELEASE=3.8.0 in config_target_mak
configure | 1 +
1 file changed, 1 insertion(+)
diff --git a/configure b/configure
index 4f5be7a..5f9eb57 100755
From: Alexander Graf ag...@suse.de
The AArch64 syscall definitions are all publicly available in the Linux
kernel. Let's add them to our linux-user emulation target, so that we
can easily handle AArch64 syscalls.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri
definitions in linux-user should
be sound for AArch64.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
linux-user/syscall.c | 5 +++--
linux-user/syscall_defs.h | 28 ++--
2 files changed, 29 insertions(+), 4 deletions(-)
diff
From: Andreas Schwab sch...@suse.de
This patch adds signal handling for AArch64. The code is based on the
respective source in the Linux kernel.
Signed-off-by: Andreas Schwab sch...@suse.de
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
Changes
From: Alexander Graf ag...@suse.de
This patch adds support for AArch64 in all the small corners of
linux-user and beyond.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
Changes in v3:
- Aarch64 files go in linux-user/aarch64 instead of ifdefs
to decide whether we can handle the
current code in the legacy AArch32 code or in the new AArch64 code.
So far, the translation always complains about unallocated instructions. There
is no emulator functionality in this patch!
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri
Sorry about this. I'll rebase and add an mach-virt for aarch64 patch
and send out a v4. Please just ignore this mess untill then.
On Mon, May 13, 2013 at 2:54 AM, Peter Maydell peter.mayd...@linaro.org wrote:
On 13 May 2013 07:57, John Rigby john.ri...@linaro.org wrote:
Resend of v3 with part
More clean up.
Cross compile tested for aarch64 linux-user target and armhf softmmu.
Alexander Graf (11):
ARM: Extract the disas struct to a header file
ARM: Export cpu_env
ARM: Prepare translation for AArch64 code
ARM: Add AArch64 translation stub
AArch64: Add gdb stub
linux-user:
From: Alexander Graf ag...@suse.de
We will need to share the disassembly status struct between AArch32 and
AArch64 modes. So put it into a header file that both sides can use.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
target-arm/translate.c
cpu running in aarch64 mode vs aarch32 mode.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
Changes in v2:
- remove many uses of is_a64 that are not needed since the 32/64 choice
happens at a higher level
- add ARM_TBFLAG_AARCH64_STATE
to decide whether we can handle the
current code in the legacy AArch32 code or in the new AArch64 code.
So far, the translation always complains about unallocated instructions. There
is no emulator functionality in this patch!
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri
From: Alexander Graf ag...@suse.de
The cpu_env tcg variable will be used by both the AArch32 and AArch64
handling code. Unstaticify it, so that both sides can make use of it.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
Changes in v3:
- None
From: Alexander Graf ag...@suse.de
We want to be able to debug AArch64 guests. So let's add the respective gdb
stub functions and xml descriptions that allow us to do so.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
Changes in v3:
- fix
From: Alexander Graf ag...@suse.de
If we want to compile a target machine type that is AArch64 capable,
we need to add a new 64-bit capable ARM target. Use AArch64 since that
is the official ARM LTD name.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
From: Andreas Schwab sch...@suse.de
This patch adds signal handling for AArch64. The code is based on the
respective source in the Linux kernel.
Signed-off-by: Andreas Schwab sch...@suse.de
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
Changes
-off-by: John Rigby john.ri...@linaro.org
---
linux-user/cpu-uname.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/linux-user/cpu-uname.c b/linux-user/cpu-uname.c
index 59cd647..89bdb91 100644
--- a/linux-user/cpu-uname.c
+++ b/linux-user/cpu-uname.c
@@ -30,7 +30,8
From: Alexander Graf ag...@suse.de
This patch adds support for AArch64 in all the small corners of
linux-user and beyond.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
changes in v3:
- Aarch64 files go in linux-user/aarch64 instead of ifdefs
definitions in linux-user should
be sound for AArch64.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
linux-user/syscall.c | 5 +++--
linux-user/syscall_defs.h | 28 ++--
2 files changed, 29 insertions(+), 4 deletions(-)
diff
on any older kernel version than that.
To allow for execution of linux-user guests even on older host kernels,
let's always fake the kernel version to 3.8.0 on AArch64 guests.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
Changes in v4:
- Go back
From: Alexander Graf ag...@suse.de
The AArch64 syscall definitions are all publicly available in the Linux
kernel. Let's add them to our linux-user emulation target, so that we
can easily handle AArch64 syscalls.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri
By calling qemu_devtree_dumpdtb near the end of load_dtb.
Signed-off-by: John Rigby john.ri...@linaro.org
---
changes in v3:
- split patch
hw/arm/boot.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/arm/boot.c b/hw/arm/boot.c
index 64b56ac..de71edf 100644
--- a/hw/arm/boot.c
+++ b/hw
Add mach-virt platform support corresponding to
/arch/arm/mach-virt in kernel tree.
For now it is not virtual but instantiates a pl011 uart
and an sp804 timer. The uart is need for a console
the timer is needed when running without kvm and there
is no arch timer.
Signed-off-by: John Rigby
If no fdt is provided on command line and the new field
get_dtb in struct arm_boot_info is set then call it to
get a device tree blob.
Signed-off-by: John Rigby john.ri...@linaro.org
---
changes in v3:
- split patch
hw/arm/boot.c| 30 +++---
include/hw/arm/arm.h
- put qemu device creation and fdt nod creation near one another to make
it easier to keep them in sync
- use CONFIG_KVM and kvm_enabled() to differentiate between tcg and kvm
dependent code
- move memory to 0x0 and io up to 0xfff0
John Rigby (3):
ARM: Allow boards to provide an fdt blob
On Fri, May 3, 2013 at 8:29 AM, Peter Maydell peter.mayd...@linaro.org wrote:
On 30 April 2013 17:04, John Rigby john.ri...@linaro.org wrote:
Add mach-virt platform support cooresponding to
corresponding
I wonder if we should just call this virt ?
/arch/arm/mach-virt in kernel tree
On Wed, May 1, 2013 at 4:33 AM, Peter Maydell peter.mayd...@linaro.orgwrote:
On 1 May 2013 11:19, Laurent Desnogues laurent.desnog...@gmail.com
wrote:
On Wednesday, May 1, 2013, Richard Henderson r...@twiddle.net wrote:
On 2013-04-30 07:36, John Rigby wrote:
uint32_t regs[16
On Tue, Apr 30, 2013 at 6:36 AM, Peter Maydell peter.mayd...@linaro.org wrote:
On 30 April 2013 10:36, Alexander Graf ag...@suse.de wrote:
On 30.04.2013, at 08:36, John Rigby wrote:
- remove many uses of is_a64 as that is a indicator the target arch is
aarch64 not what mode it is running
Resubmission of patches submitted by Alexander Graf in March.
Addressing feedback sent.
Changes in v2:
All: Use aarch64 instead of arm64 (in all case combinations).
Patch 2/12 ARM: Prepare translation for AArch64 code
- Remove uses of is_a64 that are not needed because arch choice happens at
a
From: Alexander Graf ag...@suse.de
The cpu_env tcg variable will be used by both the AArch32 and AArch64
handling code. Unstaticify it, so that both sides can make use of it.
Signed-off-by: Alexander Graf ag...@suse.de
---
target-arm/translate.c |2 +-
target-arm/translate.h |2 ++
2
in aarch64 mode vs aarch32 mode.
Signed-off-by: Alexander Graf ag...@suse.de
Signed-off-by: John Rigby john.ri...@linaro.org
---
Changes in v2:
- remove many uses of is_a64 as that is a indicator the target arch is
aarch64 not what mode it is running in.
- add ARM_TBFLAG_AARCH64_STATE
From: Alexander Graf ag...@suse.de
We should translate AArch64 mode separately from AArch32 mode. In AArch64 mode,
registers look vastly different, instruction encoding is completely different,
basically the system turns into a different machine.
So let's do a simple if() in translate.c to
From: Alexander Graf ag...@suse.de
The AArch64 syscall definitions are all publicly available in the Linux
kernel. Let's add them to our linux-user emulation target, so that we
can easily handle AArch64 syscalls.
Signed-off-by: Alexander Graf ag...@suse.de
---
linux-user/arm/syscall_nr.h | 326
From: Alexander Graf ag...@suse.de
We want to be able to debug AArch64 guests. So let's add the respective gdb
stub functions and xml descriptions that allow us to do so.
Signed-off-by: Alexander Graf ag...@suse.de
---
gdb-xml/aarch64-core.xml | 46 +
From: Alexander Graf ag...@suse.de
32-bit ARM has a lot of different names for different types of CPUs it supports.
On AArch64, we don't have this, so we really don't want to execute the 32-bit
logic. Stub it out for AArch64 linux-user guests.
Signed-off-by: Alexander Graf ag...@suse.de
---
From: Andreas Schwab sch...@suse.de
This patch adds signal handling for AArch64. The code is based on the
respective source in the Linux kernel.
Signed-off-by: Andreas Schwab sch...@suse.de
Signed-off-by: Alexander Graf ag...@suse.de
---
linux-user/arm/target_signal.h |4 +
From: Alexander Graf ag...@suse.de
Glibc 1.17 checks for the host kernel version on startup. Unfortunately,
it also checks whether the host kernel version is recent enough for the
target to run at all.
Since AArch64 support only got introduced in 3.8.0, that means that glibc
refuses to run on
From: Alexander Graf ag...@suse.de
Some syscall handlers have special code for ARM enabled that we don't
need on AArch64. Exclude AArch64 in those cases. In other places we
can share struct definitions with other targets or have to provide our
own.
With this patch applied, most syscall
From: Alexander Graf ag...@suse.de
This patch adds support for AArch64 in all the small corners of
linux-user and beyond.
Signed-off-by: Alexander Graf ag...@suse.de
---
default-configs/aarch64-linux-user.mak |3 +++
linux-user/arm/syscall.h | 46
From: Alexander Graf ag...@suse.de
If we want to compile a target machine type that is AArch64 capable,
we need to add a new 64-bit capable ARM target. Use AArch64 since that
is the official ARM LTD name.
Signed-off-by: Alexander Graf ag...@suse.de
---
configure|8
Signed-off-by: John Rigby john.ri...@linaro.org
---
Changes in v2:
- Moved from 7/12 to 12/12 because it now changes configure which only
gets aarch64 added in 11/12
configure |1 +
1 file changed, 1 insertion(+)
diff --git a/configure b/configure
index 87ed42d..8aa9526 100755
--- a/configure
So do we set the number of registers back to 32 and use xregs[31] for sp
and remove env-sp?
--john
On Tue, Apr 30, 2013 at 2:21 AM, Alexander Graf ag...@suse.de wrote:
Am 30.04.2013 um 10:01 schrieb Laurent Desnogues
laurent.desnog...@gmail.com:
On Tue, Apr 30, 2013 at 8:36 AM, John
On Tue, Apr 30, 2013 at 3:37 AM, Alexander Graf ag...@suse.de wrote:
On 30.04.2013, at 08:35, John Rigby wrote:
Resubmission of patches submitted by Alexander Graf in March.
Addressing feedback sent.
Your mail chaining is broken :)
yes, I see that. When I ran git format-patch I gave
kvm
on an arndale board
John Rigby (2):
ARM: Allow boards to provide an fdt blob
ARM: Add mach-virt platform
hw/arm/Makefile.objs |2 +-
hw/arm/boot.c| 31 +++--
hw/arm/mach-virt.c | 339 ++
include/hw/arm/arm.h |6 +
4 files
If no fdt is provided on command line and the new field
get_dtb in struct arm_boot_info is set then call it to
get a device tree blob.
Also allow dumping of device tree by calling qemu_devtree_dumpdtb
near the end of load_dtb.
Signed-off-by: John Rigby john.ri...@linaro.org
---
hw/arm/boot.c
Add mach-virt platform support cooresponding to
/arch/arm/mach-virt in kernel tree.
For now it is not virtual but instantiates a pl011 uart
and and sp804 timer. The uart is need for a console
the timer is needed when running without kvm and there
is no arch timer.
Signed-off-by: John Rigby
kvm
on an arndale board
v2 changes: remove bogus cruft from mach-virt.c that was leftover
from checkpatch fixing
John Rigby (2):
ARM: Allow boards to provide an fdt blob
ARM: Add mach-virt platform
hw/arm/Makefile.objs |2 +-
hw/arm/boot.c| 31 +++--
hw/arm/mach-virt.c | 337
If no fdt is provided on command line and the new field
get_dtb in struct arm_boot_info is set then call it to
get a device tree blob.
Also allow dumping of device tree by calling qemu_devtree_dumpdtb
near the end of load_dtb.
Signed-off-by: John Rigby john.ri...@linaro.org
---
hw/arm/boot.c
Add mach-virt platform support cooresponding to
/arch/arm/mach-virt in kernel tree.
For now it is not virtual but instantiates a pl011 uart
and and sp804 timer. The uart is need for a console
the timer is needed when running without kvm and there
is no arch timer.
Signed-off-by: John Rigby
I see the same thing javac hanging. This is with a raring chroot on
raring host with qemu compiled from upstream 1.4.0 plus Peter's patches
and my linux-user patches
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
I noticed for the case where javac --version hangs the process has
several threads all waiting on futexes. Details attached.
** Attachment added: dump.out
https://bugs.launchpad.net/qemu/+bug/1129571/+attachment/3555716/+files/dump.out
--
You received this bug notification because you are
Trying to build on a raring amd64 host in a raring armhf chroot, two
failures so far. First time was a hang checking ant, an xlc-ls showed
several java threads hung. Second time was a segfault again in java.
So I have no problems reproducing this now locally. Hang seems like
thread waiting for
The patch at least allows java to run without segfaulting. I have not
tried to build libreoffice yet.
Late in 2012 libc started using FUTEX_WAIT_BITSET instead of FUTEX_WAIT
so teach qemu about it so it will forward the call to the host kernel
rather than returning -TARGET_ENOSYS. The patch
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Peter, sorry I attached this quick patch to the bug for Serge to try
out with the intent of sending a proper patch upstream later.
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with undefined -
Upstream libc has recently changed to start using
FUTEX_WAIT_BITSET instead of FUTEX_WAIT and this
is causing do_futex to return -TARGET_ENOSYS.
Pass bitset in val3 to sys_futex which will be
ignored by kernel for the FUTEX_WAIT case.
Signed-off-by: John Rigby john.ri...@linaro.org
---
linux
Handle same as existing FUTEX_PRIVATE_FLAG.
Signed-off-by: John Rigby john.ri...@linaro.org
---
linux-user/strace.c |6 ++
1 file changed, 6 insertions(+)
diff --git a/linux-user/strace.c b/linux-user/strace.c
index 4e91a6e..f8030e0 100644
--- a/linux-user/strace.c
+++ b/linux-user
78 matches
Mail list logo