Home | History | Annotate | Download | only in fs
      1 #include <dprintf.h>
      2 #include <stdio.h>
      3 #include <string.h>
      4 #include <stdbool.h>
      5 #include <klibc/compiler.h>
      6 #include <core.h>
      7 #include <fs.h>
      8 #include <disk.h>
      9 #include <ilog2.h>
     10 #include <minmax.h>
     11 
     12 #include <syslinux/firmware.h>
     13 
     14 void getoneblk(struct disk *disk, char *buf, block_t block, int block_size)
     15 {
     16     int sec_per_block = block_size / disk->sector_size;
     17 
     18     disk->rdwr_sectors(disk, buf, block * sec_per_block, sec_per_block, 0);
     19 }
     20 
     21 /*
     22  * Initialize the device structure.
     23  */
     24 struct device * device_init(void *args)
     25 {
     26     static struct device dev;
     27 
     28     dev.disk = firmware->disk_init(args);
     29     dev.cache_size = 128*1024;
     30     dev.cache_data = malloc(dev.cache_size);
     31     dev.cache_init = 0; /* Explicitly set cache as uninitialized */
     32 
     33     return &dev;
     34 }
     35