From 5d1770e5b43e037abf5783018157e2df9c251021 Mon Sep 17 00:00:00 2001 From: Arnd Bergmann Date: Tue, 26 Feb 2008 07:01:56 +0100 Subject: [PATCH] --- yaml --- r: 86639 b: refs/heads/master c: cc4b7c1814c9ad375e8167ea4a9ec4a0ec1ada04 h: refs/heads/master i: 86637: dfbeb87c8ea4fe36b00da3a7935536a18dfeaa30 86635: bc77c68f689faaeebf6fcbf0611b8ea08eeebd59 86631: 90b8135d41ff94ac3a5052be153a57a02110f24e 86623: 18b8436cd799bcd496ad498a86837d4c6538189e v: v3 --- [refs] | 2 +- trunk/arch/powerpc/platforms/cell/spu_base.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 4f03091d982c..397b47fabdf2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fae9ca791507876c3ccaa8ab686b2ce42dc7a560 +refs/heads/master: cc4b7c1814c9ad375e8167ea4a9ec4a0ec1ada04 diff --git a/trunk/arch/powerpc/platforms/cell/spu_base.c b/trunk/arch/powerpc/platforms/cell/spu_base.c index 87eb07f94c5f..cfc28e93c825 100644 --- a/trunk/arch/powerpc/platforms/cell/spu_base.c +++ b/trunk/arch/powerpc/platforms/cell/spu_base.c @@ -148,7 +148,11 @@ static inline void spu_load_slb(struct spu *spu, int slbe, struct spu_slb *slb) __func__, slbe, slb->vsid, slb->esid); out_be64(&priv2->slb_index_W, slbe); + /* set invalid before writing vsid */ + out_be64(&priv2->slb_esid_RW, 0); + /* now it's safe to write the vsid */ out_be64(&priv2->slb_vsid_RW, slb->vsid); + /* setting the new esid makes the entry valid again */ out_be64(&priv2->slb_esid_RW, slb->esid); }