blob: 2a386e4ffb2ba04152904ea8f8ff8dce7508e2f7 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
qemu aarch64 cannot boot linux kernel v4.6+
Hi,
I tested the latest qemu-system-aarch64 cannot boot linux mainline kernel since v4.6 from https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git.
Environment info:
# host
ubuntu 16.04
# qemu
Master branch from git://git.qemu.org/qemu.git, and now the HEAD is c11d61271b9e6e7a1f0479ef1ca8fb55fa457a62.
# build command
./configure --target-list=aarch64-softmmu
make
# qemu commmand
qemu-system-aarch64 -machine virt -cpu cortex-a57 -machine type=virt -smp 4 -m 1024 -nographic -s -kernel ~/workspace/linux/arch/arm64/boot/Image -device e1000,netdev=net0 -netdev user,id=net0,hostfwd=tcp::2222-:22
Error info:
No error prompted, actually no any log which means I couldn't see the usually kernel boot message.
Debug info:
I did a git bisect on linux, and found with this kernel commit, qemu failed to boot. Parent of 406e308770a92bd33995b2e5b681e86358328bb0 can boot.
commit 406e308770a92bd33995b2e5b681e86358328bb0
Author: James Morse <email address hidden>
Date: Fri Feb 5 14:58:47 2016 +0000
arm64: add ARMv8.2 id_aa64mmfr2 boiler plate
ARMv8.2 adds a new feature register id_aa64mmfr2. This patch adds the
cpu feature boiler plate used by the actual features in later patches.
Signed-off-by: James Morse <email address hidden>
Reviewed-by: Suzuki K Poulose <email address hidden>
Signed-off-by: Catalin Marinas <email address hidden>
The main change in the patch is to add reg_id_aa64mmfr2 in to arch/arm64/include/asm/cpu.h, so might it be any struct change not included in qemu?
Can you please help check how to fix it?
Thanks
- Joey
|