Mintsuki
3b7c85ff71
drivers/disk: Add disk_create_index() workaround for optical drive on VMware/BIOS
2026-04-04 14:37:09 +02:00
Mintsuki
8c95baeea9
drivers/disk: Fix unique sector pool being clobbered by find_unique_sectors()
2026-04-02 22:21:54 +02:00
Mintsuki
e0a93f5c39
drivers/disk: Remove sector size whitelist
2026-02-16 13:08:01 +01:00
Mintsuki
0b0794972c
drivers/disk: Move BlockSize and LastBlock validation before volume allocation
2026-02-09 13:02:39 +01:00
Mintsuki
8fc3cdfa47
drivers/disk: Skip UEFI block devices with BlockSize == 0
2026-02-09 13:02:39 +01:00
Mintsuki
e3b8f58571
drivers/disk: Free volume on detect_sector_size failure
2026-02-09 13:02:39 +01:00
Mintsuki
129fc506ce
drivers/disk: Guard against LastBlock == UINT64_MAX overflow
2026-02-09 13:02:38 +01:00
Mintsuki
e84c1a5ccc
drivers/disk: Re-add mistakenly removed responsiveness check for EFI volumes
2026-02-05 09:50:41 +01:00
Mintsuki
c270a97302
drivers/disk: Lazily find unique sectors if needed
2026-02-04 08:20:57 +01:00
Mintsuki
40bdb21b28
drivers/disk: Add extra layer of verification for unique sector fallback matches
2026-02-04 08:20:57 +01:00
Mintsuki
89c92a887d
drivers/disk: Use volume_by_device_path() as primary detection method
2026-02-04 08:20:57 +01:00
Mintsuki
352fb9a6cf
drivers/disk: Normalise sect_count to always be in 512-byte blocks
2026-02-04 07:42:27 +01:00
Mintsuki
44600beb01
drivers/disk: Fix issue with unique sectors discovery
...
Sometimes (in cases with 3+ instances of collisions) non-unique cases could be classified as unique.
2026-02-04 01:36:39 +01:00
Mintsuki
dab44f4501
drivers/disk: Work around PicoEFI structure definition issue in volume_by_device_path()
2026-02-04 01:36:39 +01:00
Mintsuki
6dc52f3a09
drivers/disk: Optical volume detection without writes on BIOS
2026-02-02 02:56:27 +01:00
Mintsuki
0408d81989
drivers/disk: Get rid of more unreliable volume detection methods and misc fixes
2026-02-02 02:15:38 +01:00
Mintsuki
e291532d7a
drivers/disk: Re-add unique sector volume detection method
2026-02-01 14:28:33 +01:00
Mintsuki
0491f550c1
drivers/disk: Refactor disk_volume_from_efi_handle() and disk_create_index() to not ever attempt disk writes
2026-01-31 14:47:23 +01:00
Mintsuki
1209935a7b
disk: Free volume struct on partition enumeration failure
2026-01-11 23:45:22 +01:00
Mintsuki
8a0f7684a7
drivers/disk: Validate sector size and device path traversal
2025-12-26 13:27:34 +01:00
Mintsuki
42e5fb9ded
drivers/disk: Skip EFI handles with VenHw(7CCE9C94-983F-4D0A-8143-B6C05545B223)
...
See https://github.com/limine-bootloader/limine/issues/521#issuecomment-3160168795
2025-10-29 00:01:44 +01:00
Mintsuki
a0b5faddf9
drivers/disk: Partial revert of f39f51d0; ensure EFI handles are HDD type before attempting write-back method
2025-09-13 22:11:22 +02:00
Mintsuki
e9592014da
drivers/disk: Only validate EFI handle before running the fallback detection method
2025-09-05 22:52:35 +02:00
Mintsuki
d36726b4ba
drivers/disk: EFI: Do not disable write caching unnecessarily
...
See #525
2025-08-06 18:45:42 +02:00
Mintsuki
b1422f5692
drivers/disk: EFI: Attempt to restore original data to volume even after a write failure
...
See #525
2025-08-06 18:23:55 +02:00
Mintsuki
47667c34f4
drivers/disk: EFI: More coarse validation of handles based on PCI HW subtype
2025-08-06 16:11:57 +02:00
Mintsuki
a68dd11cff
driver/disk: EFI: Attempt to validate EFI volume handles before use
2025-08-06 06:44:14 +02:00
Mintsuki
dc42296949
drivers/disk: Reinstate limit for scanned drives to 0xf0 for BIOS
2025-05-27 19:59:58 +02:00
Mintsuki
73d03e7149
disk: Avoid mistakingly allocating more memory than necessary
...
What should've been a sizeof(void *) had been a sizeof(struct volume) for the longest time
2025-03-25 23:18:20 +01:00
Mintsuki
3ef6bb6764
disk: Handle dynamically allocating volume index. Fixes #481
2025-03-25 21:54:08 +01:00
mintsuki
32a96b4666
drivers/disk: Allocate unique_sector_pool at runtime
2024-07-15 01:03:14 +02:00
mintsuki
a8f6d49c19
drivers/disk: Simplify overly convoluted code to invalidate collision unique sector
2024-07-15 00:16:57 +02:00
mintsuki
5090334a09
drivers/disk: Optimise disk_volume_from_efi_handle()
2024-07-14 21:22:45 +02:00
mintsuki
a15a75d210
drivers/disk: Get rid of logically broken unique sector detection and replace with working one
2024-07-14 08:30:32 +02:00
mintsuki
b258face1c
drivers/disk: Ensure disk_volume_from_efi_handle() does not return erroneous results
2024-07-14 04:32:40 +02:00
mintsuki
705dfa92f6
disk: UEFI: Add additional sector_size == 2048 condition for is_optical
2024-05-08 21:42:29 +02:00
mintsuki
40a772033a
disk: BIOS: Yucky workaround to a workaround to an HP Pavillion something
2024-05-08 20:55:27 +02:00
mintsuki
9109b40756
disk: BIOS: Fix wrong logical operator from 9476b3dfaa
2024-05-07 21:03:15 +02:00
mintsuki
71cfe73d67
disk: BIOS: Work around bogus GCC warning
2024-05-07 20:11:28 +02:00
mintsuki
10e0ca6aaa
disk: BIOS: Remove useless disk_read_sectors() call
2024-05-07 20:05:04 +02:00
mintsuki
9476b3dfaa
disk: BIOS: Use DPTE to determine removable media and BDA disk count to skip broken entries
2024-05-07 19:53:03 +02:00
mintsuki
51fc81b117
disk: Set MAX_VOLUMES to 256 for UEFI ports
2024-04-29 23:14:48 +02:00
mintsuki
4abedffb43
disk: BIOS: Skip drive if sector size is 0. Fixes #294
2023-08-19 08:20:45 -05:00
mintsuki
27a32e416c
disk: Add additional volume_index_i overflow guards
2023-08-18 13:37:16 -05:00
Bryce Lanham
fe083d3701
Fix netboot in configs where BLOCK_IO does not exist
...
For example, netbooting qemu-system-aarch64 with no drive specified will
result in OVMF not loading the BLOCK_IO_PROTOCOL, causing a panic in
disk.s2.c.
2023-06-01 03:33:13 -05:00
mintsuki
f26b651e5f
disk/efi: Do not use DISK_IO protocol and fix buffer reuse bug
2023-05-30 21:36:09 +02:00
Qwinci
3dd0a6fb41
limine: Add UEFI PXE support
...
based on @qookei's original patch with small changes.
2023-01-17 18:47:36 +02:00
mintsuki
f9399fd5a3
disk: Fix issue where _p struct was not zeroed out in create_disk_index()
2022-11-19 06:35:41 +01:00
beakeyz
28187433f9
Fixed little memory leak in the UEFI build that would make the bootloader crash on systems with larger disks
2022-11-18 22:28:28 +00:00
mintsuki
3c541576f3
disk: Fix wrong parameter passed to ReadBlocks()
2022-10-14 06:59:35 +02:00