:: commit 6a8e4eb49aed96c01d0478ba35d6bb537b4753bf

czapek1337 <czapek1337@gmail.com> — 2022-10-06 03:38

parents: e445555bab

disk: Use BLOCK_IO instead of DISK_IO

diff --git a/common/drivers/disk.s2.c b/common/drivers/disk.s2.c
index 51013e39..be838689 100644
--- a/common/drivers/disk.s2.c
+++ b/common/drivers/disk.s2.c
@@ -504,14 +504,6 @@ fail:
             break;
         }
 
-        EFI_GUID disk_io_guid = DISK_IO_PROTOCOL;
-        EFI_DISK_IO *disk_io = NULL;
-
-        status = gBS->HandleProtocol(handles[i], &disk_io_guid, (void **)&disk_io);
-        if (status) {
-            continue;
-        }
-
         EFI_BLOCK_IO *drive = NULL;
 
         status = gBS->HandleProtocol(handles[i], &block_io_guid, (void **)&drive);
@@ -522,13 +514,12 @@ fail:
         if (drive->Media->LogicalPartition)
             continue;
 
-        uint64_t orig;
-        status = disk_io->ReadDisk(disk_io, drive->Media->MediaId, 0, sizeof(uint64_t), &orig);
+        status = drive->ReadBlocks(drive, drive->Media->MediaId, 0, 4096, unique_sector_pool);
         if (status) {
             continue;
         }
 
-        status = disk_io->WriteDisk(disk_io, drive->Media->MediaId, 0, sizeof(uint64_t), &orig);
+        status = drive->WriteBlocks(drive, drive->Media->MediaId, 0, 4096, unique_sector_pool);
 
         struct volume *block = ext_mem_alloc(sizeof(struct volume));
 
tab: 248 wrap: offon