grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 0/2] disk: use maximum number of sectors for LBA


From: Vladimir 'phcoder' Serbinenko
Subject: Re: [PATCH 0/2] disk: use maximum number of sectors for LBA
Date: Fri, 6 Oct 2023 22:49:56 +0200

Is Windows XP slow as well?
We should avoid doing anything with firmware API that windows doesn't as manufacturers use it as sole compatibility test and it's not unusual for them to just not care about other OS. Like when they shipped bunch of computers with ACPI code that is basically
if (_OSI("Linux")) {
...some stale code that will corrupt random RAM location...
}

Since then Linux doesn't identify as "Linux" anymore 

Le ven. 6 oct. 2023, 22:28, ValdikSS <iam@valdikss.org.ru> a écrit :
On 06.10.2023 21:34, ValdikSS wrote:
> What can change my mind:
>> 1) Proof that windows does such calls
>
> Windows XP **bootloader** uses single-sector reads with int 13h to read
> the kernel (just checked with qemu). But the kernel seem to use direct
> IDE controller method reading.

I was checking in the wrong place. Now, checking with seabios, Windows
XP bootloader is reading by a single sector, and the kernel uses up to
63 sectors reading.

disk_op d=0x000f3a20 lba=1145839 buf=0x00030000 count=5 cmd=2
disk_op d=0x000f3a20 lba=1145844 buf=0x00030000 count=59 cmd=2
disk_op d=0x000f3a20 lba=1145903 buf=0x00030000 count=4 cmd=2
disk_op d=0x000f3a20 lba=1145907 buf=0x00030000 count=60 cmd=2
disk_op d=0x000f3a20 lba=1145967 buf=0x00030000 count=3 cmd=2
disk_op d=0x000f3a20 lba=1145970 buf=0x00030000 count=61 cmd=2
disk_op d=0x000f3a20 lba=1146031 buf=0x00030000 count=2 cmd=2
disk_op d=0x000f3a20 lba=1146033 buf=0x00030000 count=62 cmd=2
disk_op d=0x000f3a20 lba=1146095 buf=0x00030000 count=1 cmd=2
disk_op d=0x000f3a20 lba=1146096 buf=0x00030000 count=63 cmd=2
disk_op d=0x000f3a20 lba=1146159 buf=0x00030000 count=63 cmd=2
disk_op d=0x000f3a20 lba=1146222 buf=0x00030000 count=1 cmd=2
disk_op d=0x000f3a20 lba=1146223 buf=0x00030000 count=62 cmd=2
disk_op d=0x000f3a20 lba=1146285 buf=0x00030000 count=2 cmd=2
disk_op d=0x000f3a20 lba=1146287 buf=0x00030000 count=61 cmd=2

syslinux reads by 127 all the time

disk_op d=0x000f3a20 lba=6544 buf=0x00010000 count=127 cmd=2
disk_op d=0x000f3a20 lba=6671 buf=0x00010000 count=127 cmd=2
disk_op d=0x000f3a20 lba=6798 buf=0x00010000 count=127 cmd=2
disk_op d=0x000f3a20 lba=6925 buf=0x00010000 count=127 cmd=2
disk_op d=0x000f3a20 lba=7052 buf=0x00010000 count=127 cmd=2
disk_op d=0x000f3a20 lba=7179 buf=0x00010000 count=127 cmd=2
disk_op d=0x000f3a20 lba=7306 buf=0x00010000 count=127 cmd=2
disk_op d=0x000f3a20 lba=7433 buf=0x00010000 count=127 cmd=2

Currently GRUB falls back to CHS reading if LBA has failed.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]