diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-04-13 23:04:53 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-04-13 23:04:53 +0200 |
commit | 85e144dcb0c621161ca4275f7613d606da088ca0 (patch) | |
tree | 1170e7e02c87f36c4a2a5b663d079afe40acbb9a /sys/src/9/zynq | |
parent | a43321946e0f661f51290988c7e7567262d403bd (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.c | 3 |
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(); |