From a0c8aa6aedc4177823e58a66793af57a57dfb56f Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Mon, 21 Apr 2025 16:44:18 -0400 Subject: fmt, rename some fns --- kernel/fs/fs.c | 45 ++++++++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 19 deletions(-) (limited to 'kernel/fs') diff --git a/kernel/fs/fs.c b/kernel/fs/fs.c index 4b6bc5d..ed2d2ea 100644 --- a/kernel/fs/fs.c +++ b/kernel/fs/fs.c @@ -18,7 +18,7 @@ void fs_init(void) void *rd = mboot_get_initrd(&rd_len); if (rd != NULL) { assert(idx < N_DISKS, "Too many disks, limit is: %d\n", N_DISKS); - fs_disks[idx] = (struct disk) { + fs_disks[idx] = (struct disk){ .present = 1, .id = idx, .type = DISK_TYPE_RAMDISK, @@ -32,7 +32,7 @@ void fs_init(void) struct ide_devicelist ide_list = ide_devices_enumerate(); for (size_t i = 0; i < ide_list.num_devices; i++) { assert(idx < N_DISKS, "Too many disks, limit is: %d\n", N_DISKS); - fs_disks[idx] = (struct disk) { + fs_disks[idx] = (struct disk){ .present = 1, .id = idx, .type = DISK_TYPE_ATA, @@ -92,7 +92,8 @@ int fs_find_file_rel(struct file *rel, char *rel_path, struct file *res) panic("fs_find_file_rel NOT YET IMPLEMENTED"); } -static int disk_read_rd(struct disk *disk, size_t offset, size_t len, uint8_t *buffer) +static int disk_read_rd(struct disk *disk, size_t offset, size_t len, + uint8_t *buffer) { if (offset + len >= disk->rd.len) { WARN("attempted to read past length of ramdisk"); @@ -103,7 +104,8 @@ static int disk_read_rd(struct disk *disk, size_t offset, size_t len, uint8_t *b return 0; } -static int disk_read_ata(struct disk *disk, size_t offset, size_t len, uint8_t *buffer) +static int disk_read_ata(struct disk *disk, size_t offset, size_t len, + uint8_t *buffer) { static size_t atabuf_len = 0; static uint16_t *atabuf = NULL; @@ -112,14 +114,15 @@ static int disk_read_ata(struct disk *disk, size_t offset, size_t len, uint8_t * uint32_t err = offset % ATA_SECT_SIZE; int ret = 0; - if (atabuf == NULL || atabuf_len < numsects*ATA_SECT_SIZE) { - if ((atabuf = krealloc(atabuf, numsects*ATA_SECT_SIZE)) == NULL) + if (atabuf == NULL || atabuf_len < numsects * ATA_SECT_SIZE) { + if ((atabuf = krealloc(atabuf, numsects * ATA_SECT_SIZE)) == NULL) return 1; - atabuf_len = numsects*ATA_SECT_SIZE; + atabuf_len = numsects * ATA_SECT_SIZE; } // read sectors - if ((ret = ide_device_read_sectors(disk->ide, numsects, offset / ATA_SECT_SIZE, atabuf))) + if ((ret = ide_device_read_sectors(disk->ide, numsects, + offset / ATA_SECT_SIZE, atabuf))) return 1; // copy over to buffer @@ -128,12 +131,11 @@ static int disk_read_ata(struct disk *disk, size_t offset, size_t len, uint8_t * return ret; } - int disk_read(struct disk *disk, size_t offset, size_t len, uint8_t *buffer) { int ret = 0; - switch(disk->type) { + switch (disk->type) { case DISK_TYPE_RAMDISK: ret = disk_read_rd(disk, offset, len, buffer); break; @@ -141,14 +143,16 @@ int disk_read(struct disk *disk, size_t offset, size_t len, uint8_t *buffer) ret = disk_read_ata(disk, offset, len, buffer); break; default: - ERROR("attempted to read from disk with invalid type: %d\n", disk->type); + ERROR("attempted to read from disk with invalid type: %d\n", + disk->type); ret = 1; } return ret; } -static int disk_write_rd(struct disk *disk, size_t offset, size_t len, uint8_t *buffer) +static int disk_write_rd(struct disk *disk, size_t offset, size_t len, + uint8_t *buffer) { if (offset + len >= disk->rd.len) { WARN("attempted to write past length of ramdisk"); @@ -159,7 +163,8 @@ static int disk_write_rd(struct disk *disk, size_t offset, size_t len, uint8_t * return 0; } -static int disk_write_ata(struct disk *disk, size_t offset, size_t len, uint8_t *buffer) +static int disk_write_ata(struct disk *disk, size_t offset, size_t len, + uint8_t *buffer) { static size_t atabuf_len = 0; static uint16_t *atabuf = NULL; @@ -168,21 +173,23 @@ static int disk_write_ata(struct disk *disk, size_t offset, size_t len, uint8_t uint32_t err = offset % ATA_SECT_SIZE; int ret = 0; - if (atabuf == NULL || atabuf_len < numsects*ATA_SECT_SIZE) { - if ((atabuf = krealloc(atabuf, numsects*ATA_SECT_SIZE)) == NULL) + if (atabuf == NULL || atabuf_len < numsects * ATA_SECT_SIZE) { + if ((atabuf = krealloc(atabuf, numsects * ATA_SECT_SIZE)) == NULL) return 1; - atabuf_len = numsects*ATA_SECT_SIZE; + atabuf_len = numsects * ATA_SECT_SIZE; } // read sectors what will be overwritten - if ((ret = ide_device_read_sectors(disk->ide, numsects, offset / ATA_SECT_SIZE, atabuf))) + if ((ret = ide_device_read_sectors(disk->ide, numsects, + offset / ATA_SECT_SIZE, atabuf))) return 1; // copy custom data over memcpy(atabuf + err, buffer, len); // write back sectors - if ((ret = ide_device_write_sectors(disk->ide, numsects, offset / ATA_SECT_SIZE, atabuf))) + if ((ret = ide_device_write_sectors(disk->ide, numsects, + offset / ATA_SECT_SIZE, atabuf))) return 1; return ret; @@ -192,7 +199,7 @@ int disk_write(struct disk *disk, size_t offset, size_t len, uint8_t *buffer) { int ret = 0; - switch(disk->type) { + switch (disk->type) { case DISK_TYPE_RAMDISK: ret = disk_write_rd(disk, offset, len, buffer); break; -- cgit v1.2.3-freya From 6ce3d2519f982412de1d99b0acfcda6c6e44cc44 Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Mon, 21 Apr 2025 22:02:12 -0400 Subject: make fs use void* --- kernel/fs/fs.c | 4 ++-- kernel/include/comus/fs.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'kernel/fs') diff --git a/kernel/fs/fs.c b/kernel/fs/fs.c index ed2d2ea..75bd0e9 100644 --- a/kernel/fs/fs.c +++ b/kernel/fs/fs.c @@ -131,7 +131,7 @@ static int disk_read_ata(struct disk *disk, size_t offset, size_t len, return ret; } -int disk_read(struct disk *disk, size_t offset, size_t len, uint8_t *buffer) +int disk_read(struct disk *disk, size_t offset, size_t len, void *buffer) { int ret = 0; @@ -195,7 +195,7 @@ static int disk_write_ata(struct disk *disk, size_t offset, size_t len, return ret; } -int disk_write(struct disk *disk, size_t offset, size_t len, uint8_t *buffer) +int disk_write(struct disk *disk, size_t offset, size_t len, void *buffer) { int ret = 0; diff --git a/kernel/include/comus/fs.h b/kernel/include/comus/fs.h index 048c7c5..e67b6fe 100644 --- a/kernel/include/comus/fs.h +++ b/kernel/include/comus/fs.h @@ -47,7 +47,7 @@ struct disk { * @param buffer - the buffer to save data into * @returns bytes read on success, negative fs error code in failure */ -int disk_read(struct disk *disk, size_t offset, size_t len, uint8_t *buffer); +int disk_read(struct disk *disk, size_t offset, size_t len, void *buffer); /** * write data from a disk into a buffer @@ -58,7 +58,7 @@ int disk_read(struct disk *disk, size_t offset, size_t len, uint8_t *buffer); * @param buffer - the buffer to read from * @returns bytes written on success, negative fs error code in failure */ -int disk_write(struct disk *disk, size_t offset, size_t len, uint8_t *buffer); +int disk_write(struct disk *disk, size_t offset, size_t len, void *buffer); enum file_type { // regular file -- cgit v1.2.3-freya From 3fc8b4cc890da5edd55924a0e2be179e01fecc2c Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Mon, 21 Apr 2025 22:37:42 -0400 Subject: fix kernel fs invalid err offset bug --- kernel/fs/fs.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'kernel/fs') diff --git a/kernel/fs/fs.c b/kernel/fs/fs.c index 75bd0e9..5f53c6d 100644 --- a/kernel/fs/fs.c +++ b/kernel/fs/fs.c @@ -1,3 +1,4 @@ +#include "lib/kio.h" #include #include #include @@ -126,7 +127,7 @@ static int disk_read_ata(struct disk *disk, size_t offset, size_t len, return 1; // copy over to buffer - memcpy(buffer, atabuf + err, len); + memcpy(buffer, (char*)atabuf + err, len); return ret; } @@ -185,7 +186,7 @@ static int disk_write_ata(struct disk *disk, size_t offset, size_t len, return 1; // copy custom data over - memcpy(atabuf + err, buffer, len); + memcpy((char*)atabuf + err, buffer, len); // write back sectors if ((ret = ide_device_write_sectors(disk->ide, numsects, -- cgit v1.2.3-freya From c8ad77d642d50c3d137d8d50c474b2b812722deb Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Tue, 22 Apr 2025 13:18:41 -0400 Subject: fmt --- kernel/drivers/pit.c | 2 +- kernel/fs/fs.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'kernel/fs') diff --git a/kernel/drivers/pit.c b/kernel/drivers/pit.c index b0d10d9..d77df08 100644 --- a/kernel/drivers/pit.c +++ b/kernel/drivers/pit.c @@ -21,7 +21,7 @@ uint16_t pit_read_divider(void) void pit_set_divider(uint16_t count) { - (void) count; + (void)count; // FIXME: broken on -O0 // cli(); // outb(CHAN_0, count & 0xFF); // low byte diff --git a/kernel/fs/fs.c b/kernel/fs/fs.c index 5f53c6d..8c918b6 100644 --- a/kernel/fs/fs.c +++ b/kernel/fs/fs.c @@ -127,7 +127,7 @@ static int disk_read_ata(struct disk *disk, size_t offset, size_t len, return 1; // copy over to buffer - memcpy(buffer, (char*)atabuf + err, len); + memcpy(buffer, (char *)atabuf + err, len); return ret; } @@ -186,7 +186,7 @@ static int disk_write_ata(struct disk *disk, size_t offset, size_t len, return 1; // copy custom data over - memcpy((char*)atabuf + err, buffer, len); + memcpy((char *)atabuf + err, buffer, len); // write back sectors if ((ret = ide_device_write_sectors(disk->ide, numsects, -- cgit v1.2.3-freya From a7995717ef157030da9e02c75c4de2d19334d766 Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Tue, 22 Apr 2025 13:20:03 -0400 Subject: remove bad includes --- kernel/fs/fs.c | 1 - kernel/memory/paging.c | 1 - kernel/procs.c | 1 - 3 files changed, 3 deletions(-) (limited to 'kernel/fs') diff --git a/kernel/fs/fs.c b/kernel/fs/fs.c index 8c918b6..c8399a3 100644 --- a/kernel/fs/fs.c +++ b/kernel/fs/fs.c @@ -1,4 +1,3 @@ -#include "lib/kio.h" #include #include #include diff --git a/kernel/memory/paging.c b/kernel/memory/paging.c index f6330d2..ff73444 100644 --- a/kernel/memory/paging.c +++ b/kernel/memory/paging.c @@ -1,4 +1,3 @@ -#include "lib/kio.h" #include #include diff --git a/kernel/procs.c b/kernel/procs.c index 98cc818..9cde22f 100644 --- a/kernel/procs.c +++ b/kernel/procs.c @@ -1,4 +1,3 @@ -#include "lib/klib.h" #include #include #include -- cgit v1.2.3-freya