|
|
- #include <swap.h>
- #include <swapfs.h>
- #include <mmu.h>
- #include <fs.h>
- #include <ide.h>
- #include <pmm.h>
- #include <assert.h>
-
- void
- swapfs_init(void) {
- static_assert((PGSIZE % SECTSIZE) == 0);
- if (!ide_device_valid(SWAP_DEV_NO)) {
- panic("swap fs isn't available.\n");
- }
- max_swap_offset = ide_device_size(SWAP_DEV_NO) / (PGSIZE / SECTSIZE);
- }
-
- int
- swapfs_read(swap_entry_t entry, struct Page *page) {
- return ide_read_secs(SWAP_DEV_NO, swap_offset(entry) * PAGE_NSECT, page2kva(page), PAGE_NSECT);
- }
-
- int
- swapfs_write(swap_entry_t entry, struct Page *page) {
- return ide_write_secs(SWAP_DEV_NO, swap_offset(entry) * PAGE_NSECT, page2kva(page), PAGE_NSECT);
- }
-
|