#include <dprintf.h> #include <stdio.h> #include <string.h> #include <stdbool.h> #include <klibc/compiler.h> #include <core.h> #include <fs.h> #include <disk.h> #include <ilog2.h> #include <minmax.h> #include <syslinux/firmware.h> void getoneblk(struct disk *disk, char *buf, block_t block, int block_size) { int sec_per_block = block_size / disk->sector_size; disk->rdwr_sectors(disk, buf, block * sec_per_block, sec_per_block, 0); } /* * Initialize the device structure. */ struct device * device_init(void *args) { static struct device dev; dev.disk = firmware->disk_init(args); dev.cache_size = 128*1024; dev.cache_data = malloc(dev.cache_size); dev.cache_init = 0; /* Explicitly set cache as uninitialized */ return &dev; }