aboutsummaryrefslogtreecommitdiff
path: root/src/kernel/fs/marfs/disklevel.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/fs/marfs/disklevel.c')
-rw-r--r--src/kernel/fs/marfs/disklevel.c26
1 files changed, 0 insertions, 26 deletions
diff --git a/src/kernel/fs/marfs/disklevel.c b/src/kernel/fs/marfs/disklevel.c
deleted file mode 100644
index 7dc77ea..0000000
--- a/src/kernel/fs/marfs/disklevel.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <stdint.h>
-#include <kernel/fs/ata_pio.h>
-#include <kernel/fs/marfs/marfs.h>
-
-void marfs_format(void)
-{
- // Create superblock
- struct marfs_superblock sb;
- sb.signature = 0x1083B99F34B59645; // Huh, magic?!
- sb.n_inodes = (marfs_get_max_lba() - 2) >> 5;
- sb.n_chunks = (marfs_get_max_lba() - (2 + sb.n_inodes)) >> 9;
- sb.n_first_unallocated_inode = 0;
- sb.s_first_inode = 2;
- sb.s_first_chunk = 2 + sb.n_inodes;
-
- // Write to disk
- marfs_write_superblock(&sb);
-
- // Initialize the inodes
- for (uint32_t i = 0; i < sb.n_inodes; i++)
- ata_clear28(interface, 2 + i);
-
- // Initialize the chunks
- for (uint32_t i = 0; i < sb.n_chunks; i++)
- ata_clear28(interface, sb.s_first_chunk + i * 512);
-} \ No newline at end of file