mirror of
https://github.com/genodelabs/genode.git
synced 2025-01-17 10:19:48 +00:00
parent
f18285205c
commit
6d8d6b5552
@ -62,7 +62,6 @@ void Bootstrap::Cpu::enable_mmu_and_caches(Genode::addr_t table)
|
|||||||
Sctlr::C::set(sctlr, 1);
|
Sctlr::C::set(sctlr, 1);
|
||||||
Sctlr::I::set(sctlr, 1);
|
Sctlr::I::set(sctlr, 1);
|
||||||
Sctlr::V::set(sctlr, 1);
|
Sctlr::V::set(sctlr, 1);
|
||||||
Sctlr::A::set(sctlr, 0);
|
|
||||||
Sctlr::M::set(sctlr, 1);
|
Sctlr::M::set(sctlr, 1);
|
||||||
Sctlr::Z::set(sctlr, 1);
|
Sctlr::Z::set(sctlr, 1);
|
||||||
Sctlr::write(sctlr);
|
Sctlr::write(sctlr);
|
||||||
|
@ -40,7 +40,6 @@ void Bootstrap::Cpu::enable_mmu_and_caches(Genode::addr_t table)
|
|||||||
Sctlr::C::set(sctlr, 1);
|
Sctlr::C::set(sctlr, 1);
|
||||||
Sctlr::I::set(sctlr, 1);
|
Sctlr::I::set(sctlr, 1);
|
||||||
Sctlr::V::set(sctlr, 1);
|
Sctlr::V::set(sctlr, 1);
|
||||||
Sctlr::A::set(sctlr, 0);
|
|
||||||
Sctlr::M::set(sctlr, 1);
|
Sctlr::M::set(sctlr, 1);
|
||||||
Sctlr::Z::set(sctlr, 1);
|
Sctlr::Z::set(sctlr, 1);
|
||||||
Sctlr::write(sctlr);
|
Sctlr::write(sctlr);
|
||||||
|
@ -25,11 +25,9 @@ struct Bootstrap::Cpu : Hw::Arm_cpu
|
|||||||
static void init()
|
static void init()
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* disable alignment checks and
|
|
||||||
* set exception vector to 0xffff0000
|
* set exception vector to 0xffff0000
|
||||||
*/
|
*/
|
||||||
access_t v = read();
|
access_t v = read();
|
||||||
A::set(v, 0);
|
|
||||||
V::set(v, 1);
|
V::set(v, 1);
|
||||||
write(v);
|
write(v);
|
||||||
}
|
}
|
||||||
|
@ -37,6 +37,15 @@
|
|||||||
2:
|
2:
|
||||||
|
|
||||||
|
|
||||||
|
/******************************
|
||||||
|
** Disable alignment checks **
|
||||||
|
******************************/
|
||||||
|
|
||||||
|
mrc p15, 0, r0, c1, c0, 0
|
||||||
|
bic r0, r0, #2 /* clear A bit */
|
||||||
|
mcr p15, 0, r0, c1, c0, 0
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************
|
/*****************************************************
|
||||||
** Setup multiprocessor-aware kernel stack-pointer **
|
** Setup multiprocessor-aware kernel stack-pointer **
|
||||||
*****************************************************/
|
*****************************************************/
|
||||||
|
@ -123,7 +123,6 @@ static inline void prepare_hypervisor(Genode::addr_t table)
|
|||||||
Cpu::Sctlr::C::set(sctlr, 1);
|
Cpu::Sctlr::C::set(sctlr, 1);
|
||||||
Cpu::Sctlr::I::set(sctlr, 1);
|
Cpu::Sctlr::I::set(sctlr, 1);
|
||||||
Cpu::Sctlr::V::set(sctlr, 1);
|
Cpu::Sctlr::V::set(sctlr, 1);
|
||||||
Cpu::Sctlr::A::set(sctlr, 0);
|
|
||||||
Cpu::Sctlr::M::set(sctlr, 1);
|
Cpu::Sctlr::M::set(sctlr, 1);
|
||||||
Cpu::Sctlr::Z::set(sctlr, 1);
|
Cpu::Sctlr::Z::set(sctlr, 1);
|
||||||
Cpu::Hsctlr::write(sctlr);
|
Cpu::Hsctlr::write(sctlr);
|
||||||
|
@ -256,7 +256,6 @@ static inline void prepare_hypervisor(Genode::addr_t table)
|
|||||||
Cpu::Sctlr::C::set(sctlr, 1);
|
Cpu::Sctlr::C::set(sctlr, 1);
|
||||||
Cpu::Sctlr::I::set(sctlr, 1);
|
Cpu::Sctlr::I::set(sctlr, 1);
|
||||||
Cpu::Sctlr::V::set(sctlr, 1);
|
Cpu::Sctlr::V::set(sctlr, 1);
|
||||||
Cpu::Sctlr::A::set(sctlr, 0);
|
|
||||||
Cpu::Sctlr::M::set(sctlr, 1);
|
Cpu::Sctlr::M::set(sctlr, 1);
|
||||||
Cpu::Sctlr::Z::set(sctlr, 1);
|
Cpu::Sctlr::Z::set(sctlr, 1);
|
||||||
Cpu::Hsctlr::write(sctlr);
|
Cpu::Hsctlr::write(sctlr);
|
||||||
|
Loading…
Reference in New Issue
Block a user