[syslinux] [PATCH 4/4] Support sectors >512

Frediano Ziglio frediano.ziglio at citrix.com
Fri Aug 24 01:00:48 PDT 2012


On Tue, 2012-08-14 at 09:45 -0700, H. Peter Anvin wrote:
> On 08/10/2012 02:33 AM, Frediano Ziglio wrote:
> >
> > If EBIOS is detected for this drive it tries to read sector size and
> > use it. If error or no EBIOS 512 is assumed.
> > Buffer to read sector size if always allocated into the stack.
> > CHS informations are not readed as not needed and same space not
> > restoring %dl for drive number.
> >
> 
> I'm sorry, I can't make out this description...
> 


The comment is before the code that read sector size. First two lines
should be ok.

Third ("Buffer to read sector size is always allocated into the stack.",
if -> is) refer to the fact that stack is allocated some rows before
even if space is not used.

If you look at patch only a int 13 is called, or the one to read sector
size or the one that read CHS informations. I do not call again int 13
to read CHS informations if EBIOS is detected. Doing so produce some
"random" data into the stack and avoid having to restore dx a second
time. dx is saved 2 times
- for next stage (unchanged)
- for next int 13 call

> %dl needs to be set up correctly when launching the next stage.
> 

Yes, this is not changed.

> 	-hpa
> 

Frediano





More information about the Syslinux mailing list