Commit Diff


commit - 1f441eaac47471899b15802f0382565b538d4db1
commit + 0e430b25b21cb9e08ccb46c7c5202cd10c13e1dd
blob - 7a528b681c3223b485bab7adb5ca09dbb119311a
blob + db2e799322ee3b0b40cf1a1a454e0fb5349c5085
--- src/cmd/venti/srv/icache.c
+++ src/cmd/venti/srv/icache.c
@@ -131,7 +131,7 @@ popout(IEntry *ie)
 }
 
 static IEntry*
-poplast(IEntry *list)
+poplast(volatile IEntry *list)
 {
 	if(list->prev == list)
 		return nil;
@@ -139,10 +139,10 @@ poplast(IEntry *list)
 }
 
 static IEntry*
-pushfirst(IEntry *list, IEntry *ie)
+pushfirst(volatile IEntry *list, IEntry *ie)
 {
 	popout(ie);
-	ie->prev = list;
+	ie->prev = (IEntry*)list;
 	ie->next = list->next;
 	ie->prev->next = ie;
 	ie->next->prev = ie;
@@ -311,7 +311,7 @@ fprint(2, "icache %,d bytes = %,d entries; %d scache\n
 
 	icache.clean.prev = icache.clean.next = &icache.clean;
 	icache.dirty.prev = icache.dirty.next = &icache.dirty;
-	icache.free.prev = icache.free.next = &icache.free;
+	icache.free.prev = icache.free.next = (IEntry*)&icache.free;
 	
 	icache.hash = mkihash(entries);
 	icache.nentries = entries;