svn commit: r185339 - head/sys/boot/i386/boot0

John Baldwin jhb at freebsd.org
Mon Dec 1 11:32:40 PST 2008


On Wednesday 26 November 2008 01:01:21 pm Luigi Rizzo wrote:
> Author: luigi
> Date: Wed Nov 26 18:01:21 2008
> New Revision: 185339
> URL: http://svn.freebsd.org/changeset/base/185339
> 
> Log:
>   Pass the pointer to the selected partition in %si to the next stage
>   boot code. The bug was introduced in rev.1.13, and went unnoticed
>   because FreeBSD's boot1 does not use it, but other systems might.
>   
>   (I have been struggling for almost a full day trying to figure out
>   why a syslinux'ed partition would not boot when started with the
>   FreeBSD /boot/boot0, only to realize that the bug was ours!)
>   
>   The space for the two extra bytes (push %si and pop %si) is reclaimed
>   by removing an extra CRLF that is printed before booting.
>   
>   The bug is not a major one but if there is time it might be a good
>   thing to merge it into the upcoming releases.

Note that there is nothing (no standard, etc.) that requires any MBR boot 
loader to pass anything besides %dl (boot device ID) to other loaders.  
However, we did used to do this and had an 'XXX: what does %si carry?' 
comment that 1.13 removed.  I would suggest adding a more expanded comment 
about '%si' in the block comment above this code where the old 'XXX' comment 
was detailing why %si is preserved.

-- 
John Baldwin


More information about the svn-src-head mailing list