[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v5 18/21] linux-user: AArch64 requires at least 3.8.
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PATCH v5 18/21] linux-user: AArch64 requires at least 3.8.0 |
Date: |
Mon, 1 Jul 2013 18:35:17 +0100 |
From: Alexander Graf <address@hidden>
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.
Signed-off-by: Alexander Graf <address@hidden>
Signed-off-by: John Rigby <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <address@hidden>
---
linux-user/syscall.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 802ec95..c2497e4 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -304,7 +304,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_AARCH64
+ /* 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.7.9.5
- [Qemu-devel] [PATCH v5 00/21] AArch64 preparation patchset, Peter Maydell, 2013/07/01
- [Qemu-devel] [PATCH v5 05/21] target-arm: Pass DisasContext* to gen_set_pc_im(), Peter Maydell, 2013/07/01
- [Qemu-devel] [PATCH v5 15/21] target-arm: Implement cpu_set_tls() and cpu_clone_regs() for AArch64, Peter Maydell, 2013/07/01
- [Qemu-devel] [PATCH v5 17/21] linux-user: Add AArch64 support, Peter Maydell, 2013/07/01
- [Qemu-devel] [PATCH v5 09/21] linux-user: Don't treat AArch64 cpu names specially, Peter Maydell, 2013/07/01
- [Qemu-devel] [PATCH v5 11/21] linux-user: Add syscall number definitions for AArch64, Peter Maydell, 2013/07/01
- [Qemu-devel] [PATCH v5 07/21] target-arm: Add AArch64 translation stub, Peter Maydell, 2013/07/01
- [Qemu-devel] [PATCH v5 08/21] gdbstub: Add AArch64 support, Peter Maydell, 2013/07/01
- [Qemu-devel] [PATCH v5 06/21] target-arm: Prepare translation for AArch64 code, Peter Maydell, 2013/07/01
- [Qemu-devel] [PATCH v5 20/21] default-configs: Add config for aarch64-linux-user, Peter Maydell, 2013/07/01
- [Qemu-devel] [PATCH v5 18/21] linux-user: AArch64 requires at least 3.8.0,
Peter Maydell <=
- [Qemu-devel] [PATCH v5 10/21] linux-user: Add cpu loop for AArch64, Peter Maydell, 2013/07/01
- [Qemu-devel] [PATCH v5 13/21] linux-user: Add signal handling for AArch64, Peter Maydell, 2013/07/01
- [Qemu-devel] [PATCH v5 14/21] linux-user: Make sure NWFPE code is 32 bit ARM only, Peter Maydell, 2013/07/01
- [Qemu-devel] [PATCH v5 03/21] target-arm: Export cpu_env, Peter Maydell, 2013/07/01
- [Qemu-devel] [PATCH v5 01/21] target-arm: Abstract out load/store from a vaddr in AArch32, Peter Maydell, 2013/07/01
- [Qemu-devel] [PATCH v5 21/21] default-configs: Add config for aarch64-softmmu, Peter Maydell, 2013/07/01
- [Qemu-devel] [PATCH v5 02/21] target-arm: Extract the disas struct to a header file, Peter Maydell, 2013/07/01
- [Qemu-devel] [PATCH v5 04/21] target-arm: Fix target_ulong/uint32_t confusions, Peter Maydell, 2013/07/01
- [Qemu-devel] [PATCH v5 16/21] linux-user: Add AArch64 termbits.h definitions, Peter Maydell, 2013/07/01
- [Qemu-devel] [PATCH v5 19/21] configure: Add handling code for AArch64 targets, Peter Maydell, 2013/07/01