x86: Poll and discard console devices during setup
[akaros.git] / kern / include / pagemap.h
index c23155e..c1def83 100644 (file)
@@ -7,8 +7,7 @@
  * with the VFS, block devices also use it (hence the separate header and c
  * file). */
 
-#ifndef ROS_KERN_PAGEMAP_H
-#define ROS_KERN_PAGEMAP_H
+#pragma once
 
 #include <radix.h>
 #include <atomic.h>
@@ -53,18 +52,18 @@ struct page_map_operations {
        commit_write: complete a write (disk backed pages)
        bmap: get a logical block number from a file block index
        invalidate page: invalidate, part of truncating
-       release page: prepare to release 
+       release page: prepare to release
        direct_io: bypass the page cache */
 };
 
 /* Page cache functions */
 void pm_init(struct page_map *pm, struct page_map_operations *op, void *host);
 int pm_load_page(struct page_map *pm, unsigned long index, struct page **pp);
+int pm_load_page_nowait(struct page_map *pm, unsigned long index,
+                        struct page **pp);
 void pm_put_page(struct page *page);
 void pm_add_vmr(struct page_map *pm, struct vm_region *vmr);
 void pm_remove_vmr(struct page_map *pm, struct vm_region *vmr);
 int pm_remove_contig(struct page_map *pm, unsigned long index,
                      unsigned long nr_pgs);
 void print_page_map_info(struct page_map *pm);
-
-#endif /* ROS_KERN_PAGEMAP_H */