Disable alignment checks right on boot
Specifically, before we print any numbers - rust core fmt_u64 uses a little optimisation that ldrh/strh to unaligned addresses.
This commit is contained in:
parent
482c62d341
commit
373f4753dc
|
@ -20,9 +20,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cortex-a"
|
name = "cortex-a"
|
||||||
version = "4.0.0"
|
version = "4.1.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "eda21b8ec67b82099401559fe28cea4508eb1e33217b4dacf60ba22e39b486b1"
|
checksum = "a389514c1229e12a03c0e8de8b357671b71e1d1bdab3a4f5b591abc94169cba8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"register",
|
"register",
|
||||||
]
|
]
|
||||||
|
|
|
@ -26,7 +26,7 @@ qemu = ["qemu-exit"]
|
||||||
[dependencies]
|
[dependencies]
|
||||||
r0 = "1.0"
|
r0 = "1.0"
|
||||||
qemu-exit = { version = "1.0", optional = true }
|
qemu-exit = { version = "1.0", optional = true }
|
||||||
cortex-a = "4.0"
|
cortex-a = "4.1.0"
|
||||||
ux = { version = "0.1.3", default-features = false }
|
ux = { version = "0.1.3", default-features = false }
|
||||||
usize_conversions = "0.2.0"
|
usize_conversions = "0.2.0"
|
||||||
bit_field = "0.10.0"
|
bit_field = "0.10.0"
|
||||||
|
|
|
@ -77,6 +77,7 @@ fn shared_setup_and_enter_pre() {
|
||||||
SCTLR_EL1::I::NonCacheable
|
SCTLR_EL1::I::NonCacheable
|
||||||
+ SCTLR_EL1::C::NonCacheable
|
+ SCTLR_EL1::C::NonCacheable
|
||||||
+ SCTLR_EL1::M::Disable
|
+ SCTLR_EL1::M::Disable
|
||||||
|
+ SCTLR_EL1::A::Disable,
|
||||||
);
|
);
|
||||||
|
|
||||||
// Set Hypervisor Configuration Register (EL2)
|
// Set Hypervisor Configuration Register (EL2)
|
||||||
|
|
Loading…
Reference in New Issue