<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/syslinux.git/mbr, branch syslinux-6.02-pre4</title>
<subtitle>git.kernel.org: pub/scm/boot/syslinux/syslinux.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/'/>
<entry>
<title>Merge tag 'syslinux-5.10-pre2' into for-hpa/elflink/firmware</title>
<updated>2013-03-22T13:57:44+00:00</updated>
<author>
<name>Matt Fleming</name>
<email>matt.fleming@intel.com</email>
</author>
<published>2013-03-20T17:14:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=37d43cf9dd5dd2d2cef1e86aa651097473fd0b48'/>
<id>37d43cf9dd5dd2d2cef1e86aa651097473fd0b48</id>
<content type='text'>
syslinux-5.10-pre2

Conflicts:
	NEWS
	com32/include/netinet/in.h
	com32/include/sys/cpu.h
	com32/lib/Makefile
	core/Makefile
	core/fs/diskio.c
	core/fs/pxe/pxe.h
	core/init.c
	core/mem/free.c
	core/mem/malloc.c
	mk/devel.mk
	version
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
syslinux-5.10-pre2

Conflicts:
	NEWS
	com32/include/netinet/in.h
	com32/include/sys/cpu.h
	com32/lib/Makefile
	core/Makefile
	core/fs/diskio.c
	core/fs/pxe/pxe.h
	core/init.c
	core/mem/free.c
	core/mem/malloc.c
	mk/devel.mk
	version
</pre>
</div>
</content>
</entry>
<entry>
<title>4k_sector: Support sectors &gt;512</title>
<updated>2013-02-11T12:39:27+00:00</updated>
<author>
<name>Frediano Ziglio</name>
<email>frediano.ziglio@citrix.com</email>
</author>
<published>2013-02-08T12:58:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=6f7b0e4a33e4064c8e814cbebeacf7206c9fb850'/>
<id>6f7b0e4a33e4064c8e814cbebeacf7206c9fb850</id>
<content type='text'>
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 is always allocated into the stack.
CHS informations are not readed as not needed and save space not
restoring %dl for drive number.

Signed-off-by: Frediano Ziglio &lt;frediano.ziglio@citrix.com&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 is always allocated into the stack.
CHS informations are not readed as not needed and save space not
restoring %dl for drive number.

Signed-off-by: Frediano Ziglio &lt;frediano.ziglio@citrix.com&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>4k_sector: Reduce size reducing a message</title>
<updated>2013-02-11T12:35:15+00:00</updated>
<author>
<name>Frediano Ziglio</name>
<email>frediano.ziglio@citrix.com</email>
</author>
<published>2013-02-08T12:58:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=8b94ab8751d98c0355d0a0d60453c151e22d6fbb'/>
<id>8b94ab8751d98c0355d0a0d60453c151e22d6fbb</id>
<content type='text'>
Easy way to reduce code but actually I found the message is
readable at the same way as previous.

Signed-off-by: Frediano Ziglio &lt;frediano.ziglio@citrix.com&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Easy way to reduce code but actually I found the message is
readable at the same way as previous.

Signed-off-by: Frediano Ziglio &lt;frediano.ziglio@citrix.com&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>4k_sector: Save some bytes adding a function to set bx before read_sector</title>
<updated>2013-02-11T12:35:12+00:00</updated>
<author>
<name>Frediano Ziglio</name>
<email>frediano.ziglio@citrix.com</email>
</author>
<published>2013-02-08T12:58:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=b681bd70ac5c478c2d450aa1db98aa9359625a7d'/>
<id>b681bd70ac5c478c2d450aa1db98aa9359625a7d</id>
<content type='text'>
Mostly of the time bx was set as phdr before calling read_sector
so add a specific function to set %bx and call read_sector
gaining 2 bytes

Signed-off-by: Frediano Ziglio &lt;frediano.ziglio@citrix.com&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Mostly of the time bx was set as phdr before calling read_sector
so add a specific function to set %bx and call read_sector
gaining 2 bytes

Signed-off-by: Frediano Ziglio &lt;frediano.ziglio@citrix.com&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>4k_sector: Recover 3 bytes avoid a call</title>
<updated>2013-02-11T11:51:53+00:00</updated>
<author>
<name>Frediano Ziglio</name>
<email>frediano.ziglio@citrix.com</email>
</author>
<published>2013-02-08T12:58:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=71a16643953b812d7054784c3f7f0f03cf116264'/>
<id>71a16643953b812d7054784c3f7f0f03cf116264</id>
<content type='text'>
after read_sector %edx:%eax are unused or incremented so increment
always at end gaining 3 bytes

Signed-off-by: Frediano Ziglio &lt;frediano.ziglio@citrix.com&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
after read_sector %edx:%eax are unused or incremented so increment
always at end gaining 3 bytes

Signed-off-by: Frediano Ziglio &lt;frediano.ziglio@citrix.com&gt;
Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'syslinux-5.00' into firmware</title>
<updated>2012-12-07T11:33:45+00:00</updated>
<author>
<name>Matt Fleming</name>
<email>matt.fleming@intel.com</email>
</author>
<published>2012-12-07T11:33:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=10f6cf6eef0a7da7dad1933efdbfb101155792d0'/>
<id>10f6cf6eef0a7da7dad1933efdbfb101155792d0</id>
<content type='text'>
Conflicts:
	Makefile
	com32/elflink/ldlinux/Makefile
	com32/lib/sys/module/elf_module.c
	core/cleanup.c
	core/comboot.inc
	core/conio.c
	core/fs/fs.c
	core/init.c
	core/mem/free.c
	core/mem/malloc.c
	core/timer.inc
	diag/geodsp/Makefile
	extlinux/main.c
	mk/embedded.mk
	modules/Makefile

Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	Makefile
	com32/elflink/ldlinux/Makefile
	com32/lib/sys/module/elf_module.c
	core/cleanup.c
	core/comboot.inc
	core/conio.c
	core/fs/fs.c
	core/init.c
	core/mem/free.c
	core/mem/malloc.c
	core/timer.inc
	diag/geodsp/Makefile
	extlinux/main.c
	mk/embedded.mk
	modules/Makefile

Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add per-firmware object directory support</title>
<updated>2012-10-16T10:38:01+00:00</updated>
<author>
<name>Matt Fleming</name>
<email>matt.fleming@intel.com</email>
</author>
<published>2012-09-25T13:45:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=1408e6ca7b3854d94aaa39612b4bb6fdf9111dc7'/>
<id>1408e6ca7b3854d94aaa39612b4bb6fdf9111dc7</id>
<content type='text'>
Now that we have multiple firmware backends it no longer makes sense
to write object files to the same directory as their source. A better
solution is to write the object files to a per-firmware directory
under a top-level object directory.

The top-level object directory can be specified on the command-line
with the O= variable, e.g. make O=/tmp/obj. If no top-level object
directory is specified an 'obj' directory is created in the top-level
of the Syslinux source repository.

All the existing make targets continue to work as before, however now
they apply to all firmware backends, e.g. 'make installer' will build
the BIOS, 32-bit EFI and 64-bit EFI installers and place them under
$(OBJ)/bios, $(OBJ)/efi32 and $(OBJ)/efi64 respectively.

Note unlike every other bit of Syslinux, the gpxe objects are still
kept in the src directory, e.g. gpxe/src, since gpxe is only required
by the BIOS backend.

It is possible to specify a make target for a specific firmware or
list of firmware with the following syntax,

    make [firmware[,firmware]] [target[,target]]

To clean the object directory for just the BIOS firmware type,

      'make bios clean'

To build both the 32-bit and 64-bit EFI installers type,

     'make efi32 efi64 installer'

Since the Syslinux make infrastructure is now more complex a new file
doc/building.txt has been created to explain how to build Syslinux.

The top-level Makefile now exports some make variables for use in
module Makefiles,

    - topdir - the top-level source directory of the Syslinux
      repository, e.g. /usr/src/syslinux

    - objdir - the top-level object directory for the firmware
      backend currently being built, e.g. /obj/syslinux/bios

    - SRC - the source directory in the Syslinux repository for the
      module currently being built,
      e.g. /usr/src/syslinux/com32/libupload

    - OBJ - the object directory for the module currently being
      built, e.g. /obj/syslinux/bios/com32/libupload

Since we're rewriting the Makefile infrastructure anyway it seemed
like a good idea to add parallel support. By writing subdirectories as
prequisites for make targets the objects in those subdirectories can
be built in parallel.

Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that we have multiple firmware backends it no longer makes sense
to write object files to the same directory as their source. A better
solution is to write the object files to a per-firmware directory
under a top-level object directory.

The top-level object directory can be specified on the command-line
with the O= variable, e.g. make O=/tmp/obj. If no top-level object
directory is specified an 'obj' directory is created in the top-level
of the Syslinux source repository.

All the existing make targets continue to work as before, however now
they apply to all firmware backends, e.g. 'make installer' will build
the BIOS, 32-bit EFI and 64-bit EFI installers and place them under
$(OBJ)/bios, $(OBJ)/efi32 and $(OBJ)/efi64 respectively.

Note unlike every other bit of Syslinux, the gpxe objects are still
kept in the src directory, e.g. gpxe/src, since gpxe is only required
by the BIOS backend.

It is possible to specify a make target for a specific firmware or
list of firmware with the following syntax,

    make [firmware[,firmware]] [target[,target]]

To clean the object directory for just the BIOS firmware type,

      'make bios clean'

To build both the 32-bit and 64-bit EFI installers type,

     'make efi32 efi64 installer'

Since the Syslinux make infrastructure is now more complex a new file
doc/building.txt has been created to explain how to build Syslinux.

The top-level Makefile now exports some make variables for use in
module Makefiles,

    - topdir - the top-level source directory of the Syslinux
      repository, e.g. /usr/src/syslinux

    - objdir - the top-level object directory for the firmware
      backend currently being built, e.g. /obj/syslinux/bios

    - SRC - the source directory in the Syslinux repository for the
      module currently being built,
      e.g. /usr/src/syslinux/com32/libupload

    - OBJ - the object directory for the module currently being
      built, e.g. /obj/syslinux/bios/com32/libupload

Since we're rewriting the Makefile infrastructure anyway it seemed
like a good idea to add parallel support. By writing subdirectories as
prequisites for make targets the objects in those subdirectories can
be built in parallel.

Signed-off-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'mfleming/elflink' into for-hpa/elflink/firmware</title>
<updated>2012-07-30T08:51:36+00:00</updated>
<author>
<name>Matt Fleming</name>
<email>matt.fleming@intel.com</email>
</author>
<published>2012-07-27T09:41:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=0d6f330878173c7ba45b884f3e41ce40b917c73c'/>
<id>0d6f330878173c7ba45b884f3e41ce40b917c73c</id>
<content type='text'>
Conflicts:
	Makefile
	com32/elflink/ldlinux/adv.c
	com32/elflink/ldlinux/kernel.c
	com32/elflink/ldlinux/ldlinux.c
	com32/include/bitsize/stddef.h
	com32/include/bitsize/stdint.h
	com32/include/stdint.h
	com32/include/sys/module.h
	com32/include/sys/x86_64/bitops.h
	com32/include/syslinux/linux.h
	com32/lib/Makefile
	com32/lib/sys/ansicon_write.c
	com32/lib/sys/module/elfutils.h
	com32/lib/sys/vesa/efi/fill.h
	com32/lib/syslinux/load_linux.c
	com32/lib/syslinux/serial.c
	com32/lib/syslinux/shuffle.c
	core/conio.c
	core/elflink/config.c
	core/elflink/load_env32.c
	core/graphics.c
	core/include/graphics.h
	core/init.c
	core/pxelinux.asm
	mk/elf.mk
	mk/lib.mk
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	Makefile
	com32/elflink/ldlinux/adv.c
	com32/elflink/ldlinux/kernel.c
	com32/elflink/ldlinux/ldlinux.c
	com32/include/bitsize/stddef.h
	com32/include/bitsize/stdint.h
	com32/include/stdint.h
	com32/include/sys/module.h
	com32/include/sys/x86_64/bitops.h
	com32/include/syslinux/linux.h
	com32/lib/Makefile
	com32/lib/sys/ansicon_write.c
	com32/lib/sys/module/elfutils.h
	com32/lib/sys/vesa/efi/fill.h
	com32/lib/syslinux/load_linux.c
	com32/lib/syslinux/serial.c
	com32/lib/syslinux/shuffle.c
	core/conio.c
	core/elflink/config.c
	core/elflink/load_env32.c
	core/graphics.c
	core/include/graphics.h
	core/init.c
	core/pxelinux.asm
	mk/elf.mk
	mk/lib.mk
</pre>
</div>
</content>
</entry>
<entry>
<title>mbr: Add support for loading VBRs from XFS filesystems</title>
<updated>2012-07-21T04:21:45+00:00</updated>
<author>
<name>Paulo Alcantara</name>
<email>pcacjr@zytor.com</email>
</author>
<published>2012-06-08T21:07:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=4298786ca19e9121568ecd4cc8b79d276ccfd24a'/>
<id>4298786ca19e9121568ecd4cc8b79d276ccfd24a</id>
<content type='text'>
Before reading the VBR into 0x7C00, we need to check the first 4 bytes of
the read sector and check whether it is a XFS superblock or not. If it
is, then we need to read the right sector, which is the 4th sector of
the XFS partition where the Syslinux boot sector lives in.

This patch adds support for booting off XFS partitions properly on
MBR HDDs.

Signed-off-by: Paulo Alcantara &lt;pcacjr@zytor.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before reading the VBR into 0x7C00, we need to check the first 4 bytes of
the read sector and check whether it is a XFS superblock or not. If it
is, then we need to read the right sector, which is the 4th sector of
the XFS partition where the Syslinux boot sector lives in.

This patch adds support for booting off XFS partitions properly on
MBR HDDs.

Signed-off-by: Paulo Alcantara &lt;pcacjr@zytor.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>The make files have undergone changes to support both i386 and x86_64 platforms.</title>
<updated>2012-06-25T19:45:26+00:00</updated>
<author>
<name>chandramouli narayanan</name>
<email>mouli@linux.intel.com</email>
</author>
<published>2012-06-25T19:45:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/syslinux.git/commit/?id=38e58635d3868c23537fc5dce87b152a52df34ad'/>
<id>38e58635d3868c23537fc5dce87b152a52df34ad</id>
<content type='text'>
Pertinent changes are sprinkled through *.mk and Makefile in the syslinux tree.

Build architecture is specified at the command line via ARCH macro. This is to enable whether
one is building for the native platform or cross-building for a different architecture. Currently,
the only supported architectures via ARCH macro are i386 and x86_64.

There are some modules (e.g. memdump) that don't build under the EFI environment. To go forward
with efi boot support, a separate EFI_BUILD=1 macro has been added and is required to be
specified while building. This is a temporary solution for the current build environment.

example build:

On a x86_64 platform, the following cross-builds syslinux for i386
To build for i386: make EFI_BUILD=1 ARCH=i386

On a x86_64 platform, the following builds syslinux for x86_64
To build natively: make EFI_BUILD=1

Changes specific to GCC and LD options:

Architecture specific flags and include/search directories are set up for GCC and LD commands.
Internally, GCC options such as stack-boundary, PIC and machine architecture are set up
based on ARCH macro. While stack-boundary=2 is fine for i386, it does not work for x86_64
and so it is left to the default value. Using -fPIE with gcc does not work with ld on x86_64,
but -fPIC works fine. Similarly, target and elf options are set up for linking
as approrpriate for architecture.

Assumption about gnu-efi install path:

Since the EFI build supports both EFI32 and EFI64, the following assumptions
are made with regard to the installed location of gnu-efi on the build platform.
1. gnu-efi-ia32: assumed installed in /usr/local
[ EFI-32 include files in /usr/local/include/efi and gnu-efi library in /usr/local/lib/ ]
2. gnu-efi-x86_64: assumed installed in /usr
[ EFI-64 include files in /usr/include/efi and gnu-efi library in /usr/lib64/ ]

Remanants of the unused old i386-only files, if any, need to be pruned.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pertinent changes are sprinkled through *.mk and Makefile in the syslinux tree.

Build architecture is specified at the command line via ARCH macro. This is to enable whether
one is building for the native platform or cross-building for a different architecture. Currently,
the only supported architectures via ARCH macro are i386 and x86_64.

There are some modules (e.g. memdump) that don't build under the EFI environment. To go forward
with efi boot support, a separate EFI_BUILD=1 macro has been added and is required to be
specified while building. This is a temporary solution for the current build environment.

example build:

On a x86_64 platform, the following cross-builds syslinux for i386
To build for i386: make EFI_BUILD=1 ARCH=i386

On a x86_64 platform, the following builds syslinux for x86_64
To build natively: make EFI_BUILD=1

Changes specific to GCC and LD options:

Architecture specific flags and include/search directories are set up for GCC and LD commands.
Internally, GCC options such as stack-boundary, PIC and machine architecture are set up
based on ARCH macro. While stack-boundary=2 is fine for i386, it does not work for x86_64
and so it is left to the default value. Using -fPIE with gcc does not work with ld on x86_64,
but -fPIC works fine. Similarly, target and elf options are set up for linking
as approrpriate for architecture.

Assumption about gnu-efi install path:

Since the EFI build supports both EFI32 and EFI64, the following assumptions
are made with regard to the installed location of gnu-efi on the build platform.
1. gnu-efi-ia32: assumed installed in /usr/local
[ EFI-32 include files in /usr/local/include/efi and gnu-efi library in /usr/local/lib/ ]
2. gnu-efi-x86_64: assumed installed in /usr
[ EFI-64 include files in /usr/include/efi and gnu-efi library in /usr/lib64/ ]

Remanants of the unused old i386-only files, if any, need to be pruned.
</pre>
</div>
</content>
</entry>
</feed>
