diff options
| author | Christian Krinitsin <mail@krinitsin.com> | 2025-07-03 07:27:52 +0000 |
|---|---|---|
| committer | Christian Krinitsin <mail@krinitsin.com> | 2025-07-03 07:27:52 +0000 |
| commit | d0c85e36e4de67af628d54e9ab577cc3fad7796a (patch) | |
| tree | f8f784b0f04343b90516a338d6df81df3a85dfa2 /results/classifier/gemma3:12b/kernel/1078 | |
| parent | 7f4364274750eb8cb39a3e7493132fca1c01232e (diff) | |
| download | qemu-analysis-d0c85e36e4de67af628d54e9ab577cc3fad7796a.tar.gz qemu-analysis-d0c85e36e4de67af628d54e9ab577cc3fad7796a.zip | |
add deepseek and gemma results
Diffstat (limited to 'results/classifier/gemma3:12b/kernel/1078')
| -rw-r--r-- | results/classifier/gemma3:12b/kernel/1078 | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/results/classifier/gemma3:12b/kernel/1078 b/results/classifier/gemma3:12b/kernel/1078 new file mode 100644 index 000000000..81f3a4957 --- /dev/null +++ b/results/classifier/gemma3:12b/kernel/1078 @@ -0,0 +1,45 @@ + +qemu-system-arm: unable to use LPAE +Description of problem: +Failed to run qemu: qemu-system-arm: Addressing limited to 32 bits, +but memory exceeds it by 1073741824 bytes +Steps to reproduce: +1. ./configure --target-list=arm-softmmu +2. make +3. +./qemu-system-arm \ +-machine virt,highmem=on \ +-cpu cortex-a15 -smp 4 \ +-m 4096 \ +-kernel ./zImage \ +-drive id=disk0,file=./rootfs.ext4,if=none,format=raw \ +-object rng-random,filename=/dev/urandom,id=rng0 \ +-device virtio-rng-pci,rng=rng0 \ +-device virtio-blk-device,drive=disk0 \ +-device virtio-gpu-pci \ +-serial mon:stdio -serial null \ +-nographic \ +-append 'root=/dev/vda rw mem=4096M ip=dhcp console=ttyAMA0 console=hvc0' +Additional information: +We set physical address bits to 40 if ARM_FEATURE_LPAE is enabled. But ARM_FEATURE_V7VE also implies ARM_FEATURE_LPAE as set later in arm_cpu_realizefn. + +We should add condition for ARM_FEATURE_V7VE, otherwise we would not be able to use highmem larger than 3GB even though we have enabled highmem, since we would fail and return right from machvirt_init. + +I have already made a patch to fix this issue. +https://gitlab.com/realhezhe/qemu/-/commit/4dad8167c1c1a7695af88d8929e8d7f6399177de +`hw/arm/virt.c` +```c + if (object_property_get_bool(cpuobj, "aarch64", NULL)) { + pa_bits = arm_pamax(armcpu); + } else if (arm_feature(&armcpu->env, ARM_FEATURE_LPAE)) { + } else if (arm_feature(&armcpu->env, ARM_FEATURE_LPAE) + || arm_feature(&armcpu->env, ARM_FEATURE_V7VE)) { + /* v7 with LPAE */ + pa_bits = 40; + } else { +``` + +After applying the patch, I can make sure that the pa_bits has already been set to 40, but qemu hangs later. By bisecting I found if the following commit is reverted qemu can boot up successfully.. +39a1fd2528 ("target/arm: Fix handling of LPAE block descriptors") + +It can't be quickly determined what's going on here at my side. Maybe the author can help give some hints. Thanks. |