[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] e46e1a: target-arm: Fix broken SCTLR_EL3 rese
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] e46e1a: target-arm: Fix broken SCTLR_EL3 reset |
Date: |
Wed, 15 Jul 2015 11:30:05 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: e46e1a74ef482f1ef773e750df9654ef4442ca29
https://github.com/qemu/qemu/commit/e46e1a74ef482f1ef773e750df9654ef4442ca29
Author: Peter Maydell <address@hidden>
Date: 2015-07-15 (Wed, 15 Jul 2015)
Changed paths:
M target-arm/helper.c
Log Message:
-----------
target-arm: Fix broken SCTLR_EL3 reset
The SCTLR_EL3 cpreg definition was implicitly resetting the
register state to 0, which is both wrong and clashes with
the reset done via the SCTLR definition (since sctlr[3]
is unioned with sctlr_s). This went unnoticed until recently,
when an unrelated change (commit a903c449b41f105aa) happened to
perturb the order of enumeration through the cpregs hashtable for
reset such that the erroneous reset happened after the correct one
rather than before it. Fix this by marking SCTLR_EL3 as an alias,
so its reset is left up to the AArch32 view.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Edgar E. Iglesias <address@hidden>
Commit: 76e2aef392629f2b2a468f5158d5c397cc5beed2
https://github.com/qemu/qemu/commit/76e2aef392629f2b2a468f5158d5c397cc5beed2
Author: Alexander Graf <address@hidden>
Date: 2015-07-15 (Wed, 15 Jul 2015)
Changed paths:
M hw/arm/boot.c
Log Message:
-----------
hw/arm/boot: Increase fdt alignment
The Linux kernel on aarch64 creates a page table entry at early bootup
that spans the 2MB range on memory spanning the fdt start address:
[ ALIGN_DOWN(fdt, 2MB) ... ALIGN_DOWN(fdt, 2MB) + 2MB ]
This means that when our current 4k alignment happens to fall at the end
of the aligned region, Linux tries to access memory that is not mapped.
The easy fix is to instead increase the alignment to 2MB, making Linux's
logic always succeed.
We leave the existing 4k alignment for 32bit kernels to not cause any
regressions due to space constraints.
Reported-by: Andreas Schwab <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Commit: 7692401a0826803522cfde533bdcc149932ddc6a
https://github.com/qemu/qemu/commit/7692401a0826803522cfde533bdcc149932ddc6a
Author: Peter Maydell <address@hidden>
Date: 2015-07-15 (Wed, 15 Jul 2015)
Changed paths:
M hw/arm/boot.c
M target-arm/helper.c
Log Message:
-----------
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20150715'
into staging
target arm queue:
* handle broken AArch64 kernels which assume DTB won't cross a 2MB boundary
* correct broken SCTLR_EL3 reset value
# gpg: Signature made Wed Jul 15 17:24:24 2015 BST using RSA key ID 14360CDE
# gpg: Good signature from "Peter Maydell <address@hidden>"
* remotes/pmaydell/tags/pull-target-arm-20150715:
hw/arm/boot: Increase fdt alignment
target-arm: Fix broken SCTLR_EL3 reset
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/711dc6f36b74...7692401a0826
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] e46e1a: target-arm: Fix broken SCTLR_EL3 reset,
GitHub <=