+captive_shared_cache_map_set_data_invalid()
authorshort <>
Wed, 8 Oct 2003 20:49:30 +0000 (20:49 +0000)
committershort <>
Wed, 8 Oct 2003 20:49:30 +0000 (20:49 +0000)
src/libcaptive/cc/sharedcachemap.c
src/libcaptive/cc/sharedcachemap.h

index 46440b9..0224e3f 100644 (file)
@@ -467,6 +467,23 @@ guint64 now;
                }
 }
 
+void captive_shared_cache_map_set_data_invalid(CaptiveSharedCacheMapObject *captive_shared_cache_map_object,
+               guint64 start,guint64 end)
+{
+guint64 now;
+
+       g_return_if_fail(CAPTIVE_SHARED_CACHE_MAP_IS_OBJECT(captive_shared_cache_map_object));
+       g_return_if_fail(start<=end);
+       g_return_if_fail(end<=CAPTIVE_ROUND_UP64(captive_shared_cache_map_object->AllocationSize,PAGE_SIZE));
+
+       start=CAPTIVE_ROUND_DOWN64(start,PAGE_SIZE);
+       end=CAPTIVE_ROUND_UP64(end,PAGE_SIZE);
+
+       for (now=start;now<end;now+=PAGE_SIZE) {
+               captive_shared_cache_map_object->pages[now/PAGE_SIZE].data_valid=FALSE;
+               }
+}
+
 void captive_shared_cache_map_set_dirty(CaptiveSharedCacheMapObject *captive_shared_cache_map_object,
                guint64 start,guint64 end)
 {
index ae691db..f061d96 100644 (file)
@@ -54,6 +54,8 @@ void captive_shared_cache_map_data_validate_noread(CaptiveSharedCacheMapObject *
                guint64 validate_start,guint64 validate_end);
 void captive_shared_cache_map_set_data_valid(CaptiveSharedCacheMapObject *captive_shared_cache_map_object,
                guint64 start,guint64 end);
+void captive_shared_cache_map_set_data_invalid(CaptiveSharedCacheMapObject *captive_shared_cache_map_object,
+               guint64 start,guint64 end);
 void captive_shared_cache_map_set_dirty(CaptiveSharedCacheMapObject *captive_shared_cache_map_object,
                guint64 start,guint64 end);
 gboolean captive_shared_cache_map_is_page_dirty(CaptiveSharedCacheMapObject *captive_shared_cache_map_object,