forked from Imagelibrary/rtems
bsp/qoriq: MMU configuration as hypervisor guest
Re-enable MMU configuration as hypervisor guest. Make sure the QORIQ_TLB1_ENTRY_COUNT is set according to the hypervisor configuration. Update #3085.
This commit is contained in:
@@ -200,13 +200,6 @@ _start:
|
|||||||
.Linitmore:
|
.Linitmore:
|
||||||
mflr SAVED_LINK_REGISTER
|
mflr SAVED_LINK_REGISTER
|
||||||
|
|
||||||
#ifdef QORIQ_IS_HYPERVISOR_GUEST
|
|
||||||
/* MSR initialization with guest state */
|
|
||||||
LWI INITIAL_MSR, QORIQ_INITIAL_MSR
|
|
||||||
oris r0, INITIAL_MSR, MSR_GS >> 16
|
|
||||||
mtmsr r0
|
|
||||||
isync
|
|
||||||
#else
|
|
||||||
/* Invalidate all TS1 MMU entries */
|
/* Invalidate all TS1 MMU entries */
|
||||||
li r3, 1
|
li r3, 1
|
||||||
bl qoriq_tlb1_invalidate_all_by_ts
|
bl qoriq_tlb1_invalidate_all_by_ts
|
||||||
@@ -226,9 +219,11 @@ _start:
|
|||||||
/* MSR initialization and use TS1 for address translation */
|
/* MSR initialization and use TS1 for address translation */
|
||||||
LWI INITIAL_MSR, QORIQ_INITIAL_MSR
|
LWI INITIAL_MSR, QORIQ_INITIAL_MSR
|
||||||
ori r0, INITIAL_MSR, MSR_IS | MSR_DS
|
ori r0, INITIAL_MSR, MSR_IS | MSR_DS
|
||||||
|
#ifdef QORIQ_IS_HYPERVISOR_GUEST
|
||||||
|
oris r0, r0, MSR_GS >> 16
|
||||||
|
#endif
|
||||||
mtmsr r0
|
mtmsr r0
|
||||||
isync
|
isync
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Initialize start stack. Make sure that we do not share a cache line
|
* Initialize start stack. Make sure that we do not share a cache line
|
||||||
@@ -248,7 +243,6 @@ _start:
|
|||||||
blr
|
blr
|
||||||
|
|
||||||
.Linitmmu:
|
.Linitmmu:
|
||||||
#ifndef QORIQ_IS_HYPERVISOR_GUEST
|
|
||||||
mflr SAVED_LINK_REGISTER
|
mflr SAVED_LINK_REGISTER
|
||||||
|
|
||||||
/* Configure MMU */
|
/* Configure MMU */
|
||||||
@@ -263,7 +257,6 @@ _start:
|
|||||||
PPC64_NOP_FOR_LINKER_TOC_POINTER_RESTORE
|
PPC64_NOP_FOR_LINKER_TOC_POINTER_RESTORE
|
||||||
|
|
||||||
mtlr SAVED_LINK_REGISTER
|
mtlr SAVED_LINK_REGISTER
|
||||||
#endif
|
|
||||||
blr
|
blr
|
||||||
|
|
||||||
#ifdef INITIALIZE_FPU
|
#ifdef INITIALIZE_FPU
|
||||||
|
|||||||
@@ -135,6 +135,7 @@ static entry DATA config[] = {
|
|||||||
ENTRY_RW(bsp_section_stack_begin, bsp_section_stack_size),
|
ENTRY_RW(bsp_section_stack_begin, bsp_section_stack_size),
|
||||||
ENTRY_IO(bsp_section_nocache_begin, bsp_section_nocache_size),
|
ENTRY_IO(bsp_section_nocache_begin, bsp_section_nocache_size),
|
||||||
ENTRY_IO(bsp_section_nocachenoload_begin, bsp_section_nocachenoload_size),
|
ENTRY_IO(bsp_section_nocachenoload_begin, bsp_section_nocachenoload_size),
|
||||||
|
#ifndef QORIQ_IS_HYPERVISOR_GUEST
|
||||||
#if QORIQ_CHIP_IS_T_VARIANT(QORIQ_CHIP_VARIANT)
|
#if QORIQ_CHIP_IS_T_VARIANT(QORIQ_CHIP_VARIANT)
|
||||||
/* BMan Portals */
|
/* BMan Portals */
|
||||||
ENTRY_DEV_CACHED(&qoriq_bman_portal[0][0], sizeof(qoriq_bman_portal[0])),
|
ENTRY_DEV_CACHED(&qoriq_bman_portal[0][0], sizeof(qoriq_bman_portal[0])),
|
||||||
@@ -144,6 +145,7 @@ static entry DATA config[] = {
|
|||||||
ENTRY_DEV(&qoriq_qman_portal[1][0], sizeof(qoriq_qman_portal[1])),
|
ENTRY_DEV(&qoriq_qman_portal[1][0], sizeof(qoriq_qman_portal[1])),
|
||||||
#endif
|
#endif
|
||||||
ENTRY_DEV(&qoriq, sizeof(qoriq))
|
ENTRY_DEV(&qoriq, sizeof(qoriq))
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
static DATA char memory_path[] = "/memory";
|
static DATA char memory_path[] = "/memory";
|
||||||
|
|||||||
Reference in New Issue
Block a user