blob: 75ed1ef8fbadb06e46f57ef0e18bbf7ac00af1ce (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include <disc.h>
#include <multiboot2.h>
#include <libk/string.h>
#include <paging.h>
#include <libk/math.h>
#include <kernel_vma.h>
#include <libk/stdio.h>
disc_sector_t *disc;
void disc_init()
{
disc = (disc_sector_t *)((uint64_t)ext2_module->mod_start + KERNEL_VMA);
if (disc == NULL) {
printf("Error opening disc\n");
}
}
void read_sector(size_t sector_num, disc_sector_t *disc_sector)
{
memcpy(disc_sector, disc + sector_num, SECTOR_SIZE);
}
void write_sector(size_t sector_num, disc_sector_t *disc_sector)
{
memcpy(disc + sector_num, disc_sector, SECTOR_SIZE);
}
|