From ceb51518afe229ce77aaa272bcb6525deff1d23f Mon Sep 17 00:00:00 2001 From: mintsuki Date: Thu, 5 Nov 2020 17:18:45 +0100 Subject: [PATCH] misc: Remove 512-byte sector assumptions from various places --- limine-pxe.bin | Bin 25708 -> 25771 bytes limine.bin | Bin 32768 -> 32768 bytes stage2/drivers/disk.c | 8 ++++++-- stage2/drivers/disk.h | 1 + stage2/lib/part.c | 27 ++++++++++++++++----------- stage2/lib/part.h | 1 + 6 files changed, 24 insertions(+), 13 deletions(-) diff --git a/limine-pxe.bin b/limine-pxe.bin index 53b2b850028f4dc1f274f91d2a05849631733172..66287d0000d048cd094b6227e8afd5d74d8375c2 100644 GIT binary patch delta 23861 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 Ip&+OL07hu~JOBUy delta 23797 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 ^ zMm8CDb7uTkCI3ry{8!cg4-9`f?muzlxPQZv%dIZZQz z7lVq(&PWG4W{Q#*_rrMxl5Iatm(YZ^CPsqXYCv*wtmp@Q%ggKB?TUM~~m$^2aD zDZA4cSm5y$$19CT`nkc}baI*I6*@=J{k2<>lu(a~J0>^)G_7OpUn;{7WPlJ|By4 zWQaRvJvwV%l4d>xJpWRA?S~d!euf_$e06n5<)&Kwi diff --git a/limine.bin b/limine.bin index 3ff7b9048659c79cd7b4e7b6a9a98463a9199064..94aa765ed74c8fcb5183941d2bce3709fca0584d 100644 GIT binary patch delta 23846 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 delta 23785 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 diff --git a/stage2/drivers/disk.c b/stage2/drivers/disk.c index 2df218ee..47568ea0 100644 --- a/stage2/drivers/disk.c +++ b/stage2/drivers/disk.c @@ -60,7 +60,7 @@ static int cache_block(int drive, uint64_t block, int sector_size) { return 0; } -int disk_read(int drive, void *buffer, uint64_t loc, uint64_t count) { +int disk_get_sector_size(int drive) { struct rm_regs r = {0}; struct bios_drive_params drive_params; @@ -78,7 +78,11 @@ int disk_read(int drive, void *buffer, uint64_t loc, uint64_t count) { panic("Disk error %x. Drive %x.\n", ah, drive); } - int sector_size = drive_params.bytes_per_sect; + return drive_params.bytes_per_sect; +} + +int disk_read(int drive, void *buffer, uint64_t loc, uint64_t count) { + int sector_size = disk_get_sector_size(drive); uint64_t progress = 0; while (progress < count) { diff --git a/stage2/drivers/disk.h b/stage2/drivers/disk.h index 166264b2..eade9f5f 100644 --- a/stage2/drivers/disk.h +++ b/stage2/drivers/disk.h @@ -14,6 +14,7 @@ struct bios_drive_params { uint32_t edd; } __attribute__((packed)); +int disk_get_sector_size(int drive); int disk_read(int drive, void *buffer, uint64_t loc, uint64_t count); #endif diff --git a/stage2/lib/part.c b/stage2/lib/part.c index ef4083fb..a905919d 100644 --- a/stage2/lib/part.c +++ b/stage2/lib/part.c @@ -53,8 +53,10 @@ struct gpt_entry { static int gpt_get_part(struct part *ret, int drive, int partition) { struct gpt_table_header header = {0}; + int sector_size = disk_get_sector_size(drive); + // read header, located after the first block - disk_read(drive, &header, 512, sizeof(header)); + disk_read(drive, &header, sector_size * 1, sizeof(header)); // check the header // 'EFI PART' @@ -69,17 +71,18 @@ static int gpt_get_part(struct part *ret, int drive, int partition) { struct gpt_entry entry = {0}; disk_read(drive, &entry, - (header.partition_entry_lba * 512) + (partition * sizeof(entry)), + (header.partition_entry_lba * sector_size) + (partition * sizeof(entry)), sizeof(entry)); struct guid empty_guid = {0}; if (!memcmp(&entry.unique_partition_guid, &empty_guid, sizeof(struct guid))) return NO_PARTITION; - ret->drive = drive; - ret->partition = partition; - ret->first_sect = entry.starting_lba; - ret->sect_count = (entry.ending_lba - entry.starting_lba) + 1; + ret->drive = drive; + ret->partition = partition; + ret->sector_size = sector_size; + ret->first_sect = entry.starting_lba; + ret->sect_count = (entry.ending_lba - entry.starting_lba) + 1; struct guid guid; if (!fs_get_guid(&guid, ret)) { @@ -124,10 +127,11 @@ static int mbr_get_part(struct part *ret, int drive, int partition) { if (entry.type == 0) return NO_PARTITION; - ret->drive = drive; - ret->partition = partition; - ret->first_sect = entry.first_sect; - ret->sect_count = entry.sect_count; + ret->drive = drive; + ret->partition = partition; + ret->sector_size = disk_get_sector_size(drive); + ret->first_sect = entry.first_sect; + ret->sect_count = entry.sect_count; struct guid guid; if (!fs_get_guid(&guid, ret)) { @@ -217,5 +221,6 @@ bool part_get_by_guid(struct part *part, struct guid *guid) { } int part_read(struct part *part, void *buffer, uint64_t loc, uint64_t count) { - return disk_read(part->drive, buffer, loc + (part->first_sect * 512), count); + return disk_read(part->drive, buffer, + loc + (part->first_sect * part->sector_size), count); } diff --git a/stage2/lib/part.h b/stage2/lib/part.h index cd31a7fc..c7848160 100644 --- a/stage2/lib/part.h +++ b/stage2/lib/part.h @@ -8,6 +8,7 @@ struct part { int drive; int partition; + int sector_size; uint64_t first_sect; uint64_t sect_count; bool guid_valid;