summaryrefslogtreecommitdiff
path: root/sys/src/9/zynq
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2015-04-13 23:04:53 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2015-04-13 23:04:53 +0200
commit85e144dcb0c621161ca4275f7613d606da088ca0 (patch)
tree1170e7e02c87f36c4a2a5b663d079afe40acbb9a /sys/src/9/zynq
parenta43321946e0f661f51290988c7e7567262d403bd (diff)
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.
Diffstat (limited to 'sys/src/9/zynq')
-rw-r--r--sys/src/9/zynq/main.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/src/9/zynq/main.c b/sys/src/9/zynq/main.c
index 4af5216c0..ee27bb873 100644
--- a/sys/src/9/zynq/main.c
+++ b/sys/src/9/zynq/main.c
@@ -379,11 +379,12 @@ mpinit(void)
m1->l1.va[L1X(KZERO)+i] = m->l1.va[L1X(KZERO)+i];
coherence();
cleandse((uchar*)KZERO, (uchar*)0xFFFFFFFF);
+ invaldse((uchar*)KZERO, (uchar*)0xFFFFFFFF);
+ /* ocm is uncached */
v = KADDR(0xFFFFF000);
v[0xFF0/4] = PADDR(mpbootstrap);
coherence();
- cleandse(v, (uchar*)v+BY2PG);
sendevent();
synccycles();