zynq: invalidate cache before booting cpu1
sometimes, machine would crash on boot because of data cache inconsistency. invalidating the cache before booting cpu1 fixes it.
This commit is contained in:
parent
a43321946e
commit
85e144dcb0
|
@ -379,11 +379,12 @@ mpinit(void)
|
||||||
m1->l1.va[L1X(KZERO)+i] = m->l1.va[L1X(KZERO)+i];
|
m1->l1.va[L1X(KZERO)+i] = m->l1.va[L1X(KZERO)+i];
|
||||||
coherence();
|
coherence();
|
||||||
cleandse((uchar*)KZERO, (uchar*)0xFFFFFFFF);
|
cleandse((uchar*)KZERO, (uchar*)0xFFFFFFFF);
|
||||||
|
invaldse((uchar*)KZERO, (uchar*)0xFFFFFFFF);
|
||||||
|
|
||||||
|
/* ocm is uncached */
|
||||||
v = KADDR(0xFFFFF000);
|
v = KADDR(0xFFFFF000);
|
||||||
v[0xFF0/4] = PADDR(mpbootstrap);
|
v[0xFF0/4] = PADDR(mpbootstrap);
|
||||||
coherence();
|
coherence();
|
||||||
cleandse(v, (uchar*)v+BY2PG);
|
|
||||||
|
|
||||||
sendevent();
|
sendevent();
|
||||||
synccycles();
|
synccycles();
|
||||||
|
|
Loading…
Reference in a new issue