From 65c21ebcac30ca3c5a1303149f2c795bde5f990f Mon Sep 17 00:00:00 2001
From: John Hodge <tpg@mutabah.net>
Date: Sun, 7 Aug 2011 11:53:49 +0800
Subject: [PATCH] Kernel - Planning for IOCache to use pages for cache instead
 of heap

---
 Kernel/drv/iocache.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/Kernel/drv/iocache.c b/Kernel/drv/iocache.c
index 2b4755cf..ba822df8 100644
--- a/Kernel/drv/iocache.c
+++ b/Kernel/drv/iocache.c
@@ -3,6 +3,8 @@
  * - IO Cache
  * 
  * By thePowersGang (John Hodge)
+ * 
+ * TODO: Convert to use spare physical pages instead
  */
 #define DEBUG	0
 #include <acess.h>
@@ -10,6 +12,7 @@
 
 // === TYPES ===
 typedef struct sIOCache_Ent	tIOCache_Ent;
+typedef struct sIOCache_PageInfo	tIOCache_PageInfo;
 
 // === STRUCTURES ===
 struct sIOCache_Ent
@@ -21,6 +24,15 @@ struct sIOCache_Ent
 	Uint8	Data[];
 };
 
+struct sIOCache_PageInfo
+{
+	tIOCache_PageInfo	*GlobalNext;
+	tIOCache_PageInfo	*CacheNext;
+	tIOCache	*Owner;
+	tPAddr	BasePhys;
+	Uint64	BaseOffset;
+};
+
 struct sIOCache
 {
 	tIOCache	*Next;
@@ -38,6 +50,7 @@ struct sIOCache
 tShortSpinlock	glIOCache_Caches;
 tIOCache	*gIOCache_Caches = NULL;
  int	giIOCache_NumCaches = 0;
+tIOCache_PageInfo	*gIOCache_GlobalPages;
 
 // === CODE ===
 /**
-- 
GitLab