+#define BackPocketSaveBloks 8 /* Number of pages of back pocket saveareas */
+
+void save_queue(ppnum_t); /* Add a new savearea block to the free list */
+addr64_t save_get_init(void); /* special savearea-get for cpu initialization (returns physical address) */
+struct savearea *save_get(void); /* Obtains a savearea from the free list (returns virtual address) */
+reg64_t save_get_phys_32(void); /* Obtains a savearea from the free list (returns phys addr in r3) */
+reg64_t save_get_phys_64(void); /* Obtains a savearea from the free list (returns phys addr in r3) */
+struct savearea *save_alloc(void); /* Obtains a savearea and allocates blocks if needed */
+struct savearea *save_cpv(addr64_t); /* Converts a physical savearea address to virtual */
+void save_ret(struct savearea *); /* Returns a savearea to the free list by virtual address */
+void save_ret_wMSR(struct savearea *, reg64_t); /* returns a savearea and restores an MSR */
+void save_ret_phys(reg64_t); /* Returns a savearea to the free list by physical address */
+void save_adjust(void); /* Adjust size of the global free list */
+struct savearea_comm *save_trim_free(void); /* Remove free pages from savearea pool */
+int save_recover(void); /* returns nonzero if we can recover enough from the free pool */
+void savearea_init(vm_offset_t addr); /* Boot-time savearea initialization */