diff --git a/Kernel/drv/iocache.c b/Kernel/drv/iocache.c
index 2b4755cfe57b02fc483be62fe39f00c306f4548d..ba822df8bf31534b8601ac3a48c9c27f706f3a21 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 ===
 /**