[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 07/12] linux-user: AArch64 requires at least 3.8
From: |
Riku Voipio |
Subject: |
Re: [Qemu-devel] [PATCH 07/12] linux-user: AArch64 requires at least 3.8.0 |
Date: |
Wed, 6 Mar 2013 09:04:04 +0200 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
Hi,
Cool work and thanks for early sharing.
On Wed, Mar 06, 2013 at 03:01:15AM +0100, Alexander Graf wrote:
> 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 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.
We already allow setting uname version at command line (-r) and with
./configure . A better place to hardcode this would be linux-user/main.c
where qemu_uname_release is set. Or even just setting
CONFIG_UNAME_RELEASE to the aarch64 config-target.mak
Riku
> Signed-off-by: Alexander Graf <address@hidden>
> ---
> linux-user/syscall.c | 5 +++++
> 1 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 19630ea..38c0711 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -313,7 +313,12 @@ static int sys_uname(struct new_utsname *buf)
> memset(buf, 0, sizeof(*buf));
> COPY_UTSNAME_FIELD(buf->sysname, uts_buf.sysname);
> COPY_UTSNAME_FIELD(buf->nodename, uts_buf.nodename);
> +#ifdef TARGET_ARM64
> + /* glibc refuses to run on older kernels */
> + COPY_UTSNAME_FIELD(buf->release, "3.8.0");
> +#else
> COPY_UTSNAME_FIELD(buf->release, uts_buf.release);
> +#endif
> COPY_UTSNAME_FIELD(buf->version, uts_buf.version);
> COPY_UTSNAME_FIELD(buf->machine, uts_buf.machine);
> #ifdef _GNU_SOURCE
> --
> 1.6.0.2
- Re: [Qemu-devel] [PATCH 12/12] ARM: Add arm64 target to configure, (continued)
- [Qemu-devel] [PATCH 05/12] AArch64: Add gdb stub, Alexander Graf, 2013/03/05
- [Qemu-devel] [PATCH 07/12] linux-user: AArch64 requires at least 3.8.0, Alexander Graf, 2013/03/05
- Re: [Qemu-devel] [PATCH 07/12] linux-user: AArch64 requires at least 3.8.0,
Riku Voipio <=
- [Qemu-devel] [PATCH 11/12] linux-user: Add AArch64 support, Alexander Graf, 2013/03/05
- [Qemu-devel] [PATCH 01/12] ARM: Extract the disas struct to a header file, Alexander Graf, 2013/03/05
- [Qemu-devel] [PATCH 06/12] linux-user: Don't treat aarch64 cpu names specially, Alexander Graf, 2013/03/05
- [Qemu-devel] [PATCH 08/12] linux-user: Add syscall handling for AArch64, Alexander Graf, 2013/03/05
- [Qemu-devel] [PATCH 10/12] linux-user: Add signal handling for AArch64, Alexander Graf, 2013/03/05
- [Qemu-devel] [PATCH 04/12] ARM: Add AArch64 translation stub, Alexander Graf, 2013/03/05