platform/upstream/syslinux.git
10 years agoMerge branch 'syslinux-5.xx'
H. Peter Anvin [Wed, 26 Feb 2014 22:20:56 +0000 (14:20 -0800)]
Merge branch 'syslinux-5.xx'

Resolved Conflicts:
core/init.c

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agobios: Don't truncate memory size needed to 16 bits
H. Peter Anvin [Wed, 26 Feb 2014 22:18:36 +0000 (14:18 -0800)]
bios: Don't truncate memory size needed to 16 bits

We can't truncate the memory size needed to 16 bits *before* we
convert it to kilobytes...

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agobios: Fix lowmem check
H. Peter Anvin [Wed, 26 Feb 2014 22:12:00 +0000 (14:12 -0800)]
bios: Fix lowmem check

The lowmem check was backwards and would report error when there
wasn't any.  This was missed because the Ctrl key check was *also*
backwards and so the check would only be done when Ctrl was held down.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agoMakefile.private: archive the gnu-efi submodule, too.
H. Peter Anvin [Sat, 22 Feb 2014 04:30:33 +0000 (20:30 -0800)]
Makefile.private: archive the gnu-efi submodule, too.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agomk/efi.mk: Add libefi.a dependency
Gene Cumm [Sat, 22 Feb 2014 17:00:47 +0000 (12:00 -0500)]
mk/efi.mk: Add libefi.a dependency

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agoefi: fix up gnu-efi build
Gene Cumm [Sat, 22 Feb 2014 17:00:11 +0000 (12:00 -0500)]
efi: fix up gnu-efi build

This eliminates the forking and pushes the build under the efi32/ and
 efi64/ object directories eliminating a build race and preventing the
 build from breaking as gnu-efi takes a few seconds to complete.

Depends on gnu-efi commit 52d88dd

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agognu-efi: update to ab54e2b4
Gene Cumm [Thu, 13 Feb 2014 19:18:30 +0000 (14:18 -0500)]
gnu-efi: update to ab54e2b4

This allows gnu-efi to be built outside the source tree properly.

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agoMakefile: make "make spotless" actually work
H. Peter Anvin [Sat, 22 Feb 2014 01:08:55 +0000 (17:08 -0800)]
Makefile: make "make spotless" actually work

The other cleaning targets might still have issues...

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agoefi: We need -m32/-m64 even when processing assembly
H. Peter Anvin [Sat, 22 Feb 2014 00:56:46 +0000 (16:56 -0800)]
efi: We need -m32/-m64 even when processing assembly

We need to specify -m32/-m64 even when we are processing assembly.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agomk/efi.mk: Disable stack protector
Magnus Granberg [Sat, 22 Feb 2014 00:55:37 +0000 (16:55 -0800)]
mk/efi.mk: Disable stack protector

Disable the stack protector if on by default.

Copied from https://bugs.gentoo.org/show_bug.cgi?id=495146.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agoefi: Useless relocation section in PE file
Sylvain Gault [Mon, 3 Feb 2014 04:43:06 +0000 (05:43 +0100)]
efi: Useless relocation section in PE file

There is no need to have a relocation section that nothing points at.
The image is still seen as relocatable as long as the Characteristics of
the FileHeader do not say otherwise.

Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agoefi: PE file size differ from in-memory size
Sylvain Gault [Mon, 3 Feb 2014 04:43:05 +0000 (05:43 +0100)]
efi: PE file size differ from in-memory size

PE headers code_sz and image_sz indicate more or less, the size of the
file and the size of the in-memory image. They are now given the right
value.

In the ELF format, only the program headers are reliable to determine
the actually needed part of the file and the in-memory size.

The .bss section should always be marked as NOLOAD for ld since its
content shouldn't be included into the binary file.

Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agoefi: Remove buggy relocation in PE file
Sylvain Gault [Mon, 3 Feb 2014 04:43:04 +0000 (05:43 +0100)]
efi: Remove buggy relocation in PE file

OVMF and probably other UEFI implementation refuse a file with a
relocation entry inside the headers. And since the dummy relocation
wasn't used at all, better remove it.

Moreover, the field base_relocation_table wasn't initialized properly,
leading to unpredictable bugs.

Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agoefi: Location, size and alignment of .text section
Sylvain Gault [Mon, 3 Feb 2014 04:43:03 +0000 (05:43 +0100)]
efi: Location, size and alignment of .text section

In the generated PE file, the section header for the .text section used
to address more than the whole file. Starting at offset 0 (before the
end of the headers) is illegal and is rejected by OVMF. Giving a size
greater than the actual file size is also illegal and rejected.

Moreover, the body of the PE file have to be aligned to at least 512
bytes. Hence, .text need to be aligned as well.

Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agoefi: Fix PE header field rva_and_sizes_nr
Sylvain Gault [Mon, 3 Feb 2014 04:43:02 +0000 (05:43 +0100)]
efi: Fix PE header field rva_and_sizes_nr

The value of the field rva_and_sizes_nr is used by OVMF to check the
consistency of the PE file with respect to the field optional_hdr_sz. It
now have the right value.

Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agolib.mk: Add biosboot.o
H. Peter Anvin [Fri, 14 Feb 2014 00:33:14 +0000 (16:33 -0800)]
lib.mk: Add biosboot.o

We need biosboot.o for shuffle and boot now.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agocomapi: Remove the comapi interfaces completely
H. Peter Anvin [Fri, 14 Feb 2014 00:27:50 +0000 (16:27 -0800)]
comapi: Remove the comapi interfaces completely

Remove the last bits of the comapi interfaces completely.  This does
not install stub handlers for the INT 20-3Fh handlers, as we don't
support loading old COMBOOT/COM32/COM32R images anymore.

We could put those back if we really need them.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agobios: Remove shuffle and boot comapi call
H. Peter Anvin [Fri, 14 Feb 2014 00:09:13 +0000 (16:09 -0800)]
bios: Remove shuffle and boot comapi call

Remove the shuffle and boot comapi call.  This is the last of the
comapi calls left; we should now be able to completely remove the
comapi support.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agobios: Remove comapi calls related to the ADV
H. Peter Anvin [Thu, 13 Feb 2014 17:32:39 +0000 (09:32 -0800)]
bios: Remove comapi calls related to the ADV

The only comapi calls left are the ones related to the ADV and to
shuffle and boot.  Remove the ADV-related ones as part of getting rid
of the comapi framework completely.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agopxe: Export the initial stack and PXE(NV) structure, fix pxechn
H. Peter Anvin [Thu, 13 Feb 2014 18:07:44 +0000 (10:07 -0800)]
pxe: Export the initial stack and PXE(NV) structure, fix pxechn

Export the initial stack and PXE(NV) structure pointers properly, even
for users which need seg:offs.  Use this in pxechn.c rather than the
already-removed INT 22h AX=000Ah call.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Cc: Gene Cumm <gene.cumm@gmail.com>
10 years agoefi: Suspicious size reduction in emalloc
Sylvain Gault [Thu, 13 Feb 2014 02:20:05 +0000 (03:20 +0100)]
efi: Suspicious size reduction in emalloc

It could happen on 32 bits architecture that the memory size really allocated
could be less than required. On 64 bits, allocate_pages may be called
more times than needed.

This closes bug #39.

Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agoMerge remote-tracking branch 'origin/rockridge'
H. Peter Anvin [Wed, 12 Feb 2014 17:56:15 +0000 (09:56 -0800)]
Merge remote-tracking branch 'origin/rockridge'

Resolved Conflicts:
com32/include/byteswap.h

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
10 years agocheck-gnu-efi: remove bashism
H. Peter Anvin [Fri, 7 Feb 2014 03:07:08 +0000 (19:07 -0800)]
check-gnu-efi: remove bashism

&>foo is a bashism, use  >foo 2>&1 instead.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
10 years agoMerge branch 'syslinux-5.xx'
Gene Cumm [Sat, 1 Feb 2014 12:30:39 +0000 (07:30 -0500)]
Merge branch 'syslinux-5.xx'

10 years agoMerge branch 'syslinux-4.xx' into syslinux-5.xx
Gene Cumm [Sat, 1 Feb 2014 12:28:19 +0000 (07:28 -0500)]
Merge branch 'syslinux-4.xx' into syslinux-5.xx

10 years agoisohybrid: Improve help/man
Gene Cumm [Sat, 1 Feb 2014 12:26:12 +0000 (07:26 -0500)]
isohybrid: Improve help/man

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agoAdd manpages for isohybrid, memdiskfind
Peter Jones [Sat, 1 Feb 2014 12:01:36 +0000 (07:01 -0500)]
Add manpages for isohybrid, memdiskfind

Signed-off-by: Peter Jones <pjones@redhat.com>
10 years agoMerge remote-tracking branch 'erwan-github/hdt-memleak' into master
Gene Cumm [Sat, 1 Feb 2014 01:00:15 +0000 (20:00 -0500)]
Merge remote-tracking branch 'erwan-github/hdt-memleak' into master

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agomk/efi.mk: Cancel old rules
Gene Cumm [Fri, 31 Jan 2014 12:59:30 +0000 (07:59 -0500)]
mk/efi.mk: Cancel old rules

If a dependency is added to the newer rules, make will choose the easier
rules instead of the preferred rules.

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agoMerge remote-tracking branch 'zytor/firmware' into master
Gene Cumm [Thu, 30 Jan 2014 04:16:01 +0000 (23:16 -0500)]
Merge remote-tracking branch 'zytor/firmware' into master

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agoacpi: Removing memset of buffer
Erwan Velu [Wed, 29 Jan 2014 19:28:08 +0000 (20:28 +0100)]
acpi: Removing memset of buffer

There is no need to memset the buffer since the strncat will end the
string with a \0. The memset was also almost wrong as doing a sizeof()
on a char * could return 1 if buff was malloc'ed.

We had chance as all the current calls are done with static buffers.

Removing this memset call will make things clearer but also will prevent
compilation warnings like :

com32/gpllib/acpi/acpi.c:38:29: warning: argument to ‘sizeof’ in ‘memset’ call is the same expression as the
destination; did you mean to provide an explicit length? [-Wsizeof-pointer-memaccess]
     memset(buffer, 0, sizeof(buffer));

10 years agohdt: Fixing memory leak in cli
Felipe Pena [Wed, 29 Jan 2014 19:16:42 +0000 (20:16 +0100)]
hdt: Fixing memory leak in cli

The dynamically alloc'd string to protect from strtok modification
has not been free'd on start_auto_mode() function.

This patch insure the free is done properly.

10 years agoefi/udp: zero token in recv
Gene Cumm [Thu, 28 Nov 2013 03:56:02 +0000 (22:56 -0500)]
efi/udp: zero token in recv

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agoefi: Loop on Configure when EFI_NO_MAPPING in udp.c/tcp.c
Gene Cumm [Wed, 27 Nov 2013 21:48:55 +0000 (16:48 -0500)]
efi: Loop on Configure when EFI_NO_MAPPING in udp.c/tcp.c

This should help hardware that doesn't return EFI_SUCCESS immediately.

Reported-by: Jason Matthews <jason.david.matthews@gmail.com>
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agoefu/udp: Unset mode
Gene Cumm [Sun, 10 Nov 2013 17:03:13 +0000 (12:03 -0500)]
efu/udp: Unset mode

udata.AcceptAnyPort caused the udata.StationPort to return as 0.

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agoefi: UseDefaultAddress in udp.c/tcp.c
Gene Cumm [Sun, 10 Nov 2013 13:50:32 +0000 (08:50 -0500)]
efi: UseDefaultAddress in udp.c/tcp.c

We don't need to re-inform EFI what IPv4 address and subnet mask to use.
This change should help to re-use the exising routes.

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agoefi/udp.c: Use existing UDP port in core_udp_sendto()
Celelibi [Sun, 10 Nov 2013 13:46:03 +0000 (08:46 -0500)]
efi/udp.c: Use existing UDP port in core_udp_sendto()

core_udp_open() obtained a port allocation.  Continue using it.

Author:        Celelibi <celelibi@gmail.com>
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agoefi/udp.c: Save UDP Port in core_udp_open()
H. Peter Anvin [Sun, 10 Nov 2013 13:44:06 +0000 (08:44 -0500)]
efi/udp.c: Save UDP Port in core_udp_open()

core_udp_open() should obtain a UDP port allocation and save it for
  core_udp_connect() and core_udp_sendto() to reuse.

Author:        H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agoAdd const qualifiers
Gene Cumm [Sat, 25 Jan 2014 00:23:05 +0000 (19:23 -0500)]
Add const qualifiers

Some functions are ignoring the const qualifier.

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agocom32: fix __bswap_64_macro
Gene Cumm [Sat, 25 Jan 2014 00:19:17 +0000 (19:19 -0500)]
com32: fix __bswap_64_macro

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agoMerge branch 'syslinux-5.xx' into master; fixes loadkeys
Gene Cumm [Sat, 25 Jan 2014 17:10:41 +0000 (12:10 -0500)]
Merge branch 'syslinux-5.xx' into master; fixes loadkeys

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agocom32/moduless/poweroff.c: use __unused attribute instead
Gene Cumm [Sat, 25 Jan 2014 16:55:26 +0000 (11:55 -0500)]
com32/moduless/poweroff.c: use __unused attribute instead

Recommended-By: Matt Fleming <matt@console-pimps.org>
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agocom32/modules/poweroff.c: fix main()
Gene Cumm [Sat, 25 Jan 2014 00:43:37 +0000 (19:43 -0500)]
com32/modules/poweroff.c: fix main()

Wrong prototype; use GCC unused

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agoldlinux/readconfig.c: remove bail: from do_include()
Gene Cumm [Sat, 25 Jan 2014 00:44:51 +0000 (19:44 -0500)]
ldlinux/readconfig.c: remove bail: from do_include()

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agoAdd const qualifiers to loadleys
Gene Cumm [Sat, 25 Jan 2014 12:37:24 +0000 (07:37 -0500)]
Add const qualifiers to loadleys

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agoefi: Add Intel copyright notices
Matt Fleming [Fri, 24 Jan 2014 12:46:48 +0000 (12:46 +0000)]
efi: Add Intel copyright notices

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
10 years agomem: Calling int15 for 0x8800
Erwan Velu [Wed, 22 Jan 2014 23:05:21 +0000 (00:05 +0100)]
mem: Calling int15 for 0x8800

On some code, the intcall 0x15 was missing when playing with 0x8800
making code useless.

That's not a big deal since e820 or e801 shall be provided by host but
anyway, let's fix it ;)

10 years agocom32sys_t inreg shall be zeroified prior intcall
Erwan Velu [Wed, 22 Jan 2014 22:57:12 +0000 (23:57 +0100)]
com32sys_t inreg shall be zeroified prior intcall

As per commit f775e740a3a817a4ff5ba26bea99dbfd735456b3, inreg parameters
of intcall() shall be zeroified.

Having unclean inreg could trigger bad behaviors on some hosts.

This patch is about adding memset() calls prior any intcall() :
- some intcall didn't had any memset at all
- some successive intcall() calls didn't memset inreg in between calls

10 years agoMerge remote-tracking branch 'origin/syslinux-5.xx'
H. Peter Anvin [Tue, 21 Jan 2014 15:19:10 +0000 (07:19 -0800)]
Merge remote-tracking branch 'origin/syslinux-5.xx'

10 years agolocalboot: Clear register image before using
H. Peter Anvin [Tue, 21 Jan 2014 15:15:52 +0000 (07:15 -0800)]
localboot: Clear register image before using

Using a register image on the stack without initializing it is not a
good idea.

Reported-by: Erwan Velu <erwanaliasr1@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agoMerge remote-tracking branch 'origin/syslinux-5.xx'
H. Peter Anvin [Sun, 19 Jan 2014 00:12:25 +0000 (16:12 -0800)]
Merge remote-tracking branch 'origin/syslinux-5.xx'

Resolved Conflicts:
version

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
10 years agoMerge remote-tracking branch 'origin/syslinux-4.xx' into syslinux-5.xx
H. Peter Anvin [Sun, 19 Jan 2014 00:11:39 +0000 (16:11 -0800)]
Merge remote-tracking branch 'origin/syslinux-4.xx' into syslinux-5.xx

Resolved Conflicts:
version

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
10 years agoMakefiles: don't include *.tmp
H. Peter Anvin [Sun, 19 Jan 2014 00:09:19 +0000 (16:09 -0800)]
Makefiles: don't include *.tmp

Since checkin:

bd09a6d828fa Major Makefile cleanups; gcc 4.3.0 compatiblity

... we include *.tmp into the Makefiles as well as .*.d.  This seems
to have been a mistake in made when adding *.tmp to cleanup rules,
probably using a sed script.

This causes problems, because *.tmp files are generated by the gcc_ok
macro and do not contain Makefile rules at all.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
10 years agosyslxint: fix compilation on non-x86 architectures
H. Peter Anvin [Sat, 18 Jan 2014 23:55:47 +0000 (15:55 -0800)]
syslxint: fix compilation on non-x86 architectures

The access functions for architectures which need bytewise access had
type problems.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agocom32: Add missing dependencies to Makefile
Gene Cumm [Sat, 18 Jan 2014 16:53:39 +0000 (11:53 -0500)]
com32: Add missing dependencies to Makefile

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agodiag/geodsp: fix .img target in Makefile
Gene Cumm [Sat, 18 Jan 2014 16:48:30 +0000 (11:48 -0500)]
diag/geodsp: fix .img target in Makefile

Accomodates the per-firmware object directory support

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agodiag/geodsp: fix Makefile
Gene Cumm [Sat, 18 Jan 2014 16:06:04 +0000 (11:06 -0500)]
diag/geodsp: fix Makefile

Correct merge f88b4f47

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agodos: Remove redundant data_segment() definition
H. Peter Anvin [Sat, 18 Jan 2014 01:06:35 +0000 (17:06 -0800)]
dos: Remove redundant data_segment() definition

The definition for data_segment() was exactly the same as ds().

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
10 years agodos: Add sparse address space annotations
H. Peter Anvin [Sat, 18 Jan 2014 01:03:00 +0000 (17:03 -0800)]
dos: Add sparse address space annotations

Add sparse address space annotation to the actual DOS installer code.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
10 years agoinstaller: fix 0 used as NULL
H. Peter Anvin [Sat, 18 Jan 2014 00:56:11 +0000 (16:56 -0800)]
installer: fix 0 used as NULL

0 used as NULL triggers a warning.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
10 years agoinstaller: Add sparse address space annotations to the syslinux image
H. Peter Anvin [Sat, 18 Jan 2014 00:54:32 +0000 (16:54 -0800)]
installer: Add sparse address space annotations to the syslinux image

Add sparse address space annotations for the syslinux boot image, to
make it easier to catch errors that break the DOS installer build
again.  Use "make CC=cgcc" to run sparse.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
10 years agoversion: Update year to 2014
H. Peter Anvin [Fri, 17 Jan 2014 22:26:53 +0000 (14:26 -0800)]
version: Update year to 2014

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agoversion: Update year to 2014
H. Peter Anvin [Fri, 17 Jan 2014 22:26:28 +0000 (14:26 -0800)]
version: Update year to 2014

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agoversion: Update to 4.08, update year to 2014
H. Peter Anvin [Fri, 17 Jan 2014 22:25:34 +0000 (14:25 -0800)]
version: Update to 4.08, update year to 2014

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agoMerge branch 'elflink' into firmware
H. Peter Anvin [Fri, 17 Jan 2014 22:23:06 +0000 (14:23 -0800)]
Merge branch 'elflink' into firmware

Resolved Conflict:
diag/geodsp/Makefile

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agoMerge branch 'master' into elflink
H. Peter Anvin [Fri, 17 Jan 2014 22:21:44 +0000 (14:21 -0800)]
Merge branch 'master' into elflink

Resolved Conflicts:
NEWS
core/fs/fs.c
version

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years ago.gitignore: Ignore the bios, efi32, efi64 object directories
H. Peter Anvin [Thu, 16 Jan 2014 21:52:15 +0000 (13:52 -0800)]
.gitignore: Ignore the bios, efi32, efi64 object directories

They are object output only.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
10 years agodos: We cannot use memset() for a far object, introduce memset_sl()
H. Peter Anvin [Thu, 16 Jan 2014 18:54:02 +0000 (10:54 -0800)]
dos: We cannot use memset() for a far object, introduce memset_sl()

We started using memset() on the extents buffer in ldlinux.sys, which
doesn't reside in the main segment, which worked on all the installer
platforms except DOS.  Fix DOS by introducing memset_sl() for this
case.

Reported-by: Ady <ady-sf@hotmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
10 years agodiag/geodsp: README fixes
Gene Cumm [Mon, 9 Sep 2013 03:22:22 +0000 (23:22 -0400)]
diag/geodsp: README fixes

Should clarify the situation; also word-wrap & save example

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agodiag/geodsp: fix Makefile
Gene Cumm [Sun, 8 Sep 2013 23:05:30 +0000 (19:05 -0400)]
diag/geodsp: fix Makefile

Results in null image

Reported-By: ioannis
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agocore/legacynet: Enable dot quad resolution
Gene Cumm [Thu, 18 Jul 2013 15:20:49 +0000 (11:20 -0400)]
core/legacynet: Enable dot quad resolution

in dnsresolv.c:dns_resolv()

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agoefi: Make the gnu-efi build scripts more portable
Matt Fleming [Wed, 8 Jan 2014 10:10:36 +0000 (10:10 +0000)]
efi: Make the gnu-efi build scripts more portable

Not all distributions point /bin/sh at /bin/bash, so remove some
bashisms (pushd/popd) and require that build-gnu-efi.sh be run from the
Syslinux object directory.

Also, swap realpath(1) for readlink(1) because the former isn't
available on Debian.

Reported-by: Ferenc Wagner <wferi@niif.hu>
Reported-by: Celelibi <celelibi@gmail.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
10 years agoisolinux: Shorten a few of the debug messages
H. Peter Anvin [Thu, 2 Jan 2014 20:25:59 +0000 (12:25 -0800)]
isolinux: Shorten a few of the debug messages

Apparently with some toolchains, isolinux-debug runs out of space by a
few bytes.  Shorted a few messages slightly to make up for that.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
10 years agoRemove some whitespace
Ruben Kerkhof [Mon, 30 Dec 2013 21:53:35 +0000 (16:53 -0500)]
Remove some whitespace

Signed-off-by: Ruben Kerkhof <ruben at rubenkerkhof.com>
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
10 years agoisolinux: Clear upper half of EDX before using
H. Peter Anvin [Tue, 26 Nov 2013 17:58:17 +0000 (09:58 -0800)]
isolinux: Clear upper half of EDX before using

In checkin:

    cb015497a4e4 isolinux: Update LBA in getlinsec loop

... we use EDX as a sector count, but the sector count is actually in
DX, and the upper half of EDX is uninitialized.  If the BIOS enters
with a nonzero value in the upper half of EDX, this breaks horribly.

At least one set of BIOSes has been identified where if the LBA > 64K
then the upper half of EDX will be nonzero.

Reported-by: Carl Duff <cdrw2400@gmail.com>
Reported-by: Philip Müller <philm@manjaro.org>
Tested-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
10 years agoMerge remote-tracking branch 'origin/elflink' into firmware
H. Peter Anvin [Wed, 11 Dec 2013 23:16:27 +0000 (15:16 -0800)]
Merge remote-tracking branch 'origin/elflink' into firmware

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agopxe, efi: Bad read of file size over TFTP on EFI64
Celelibi [Sun, 1 Dec 2013 21:06:24 +0000 (22:06 +0100)]
pxe, efi: Bad read of file size over TFTP on EFI64

A fancy pointers logic has been replaced with a plain old if / else
branches. It was assigning only half of a 64 bits integer which is then
assigned to a size_t. Thus leading to a bug on platform where size_t is
64 bits.

Resolves bug #26

Signed-off-by: Celelibi <celelibi@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agoversion: Bump version
Matt Fleming [Wed, 11 Dec 2013 10:03:13 +0000 (10:03 +0000)]
version: Bump version

We've now entered the 6.03 development cycle.

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
10 years agoMerge branch 'efi-date-for-mfleming' of git://github.com/geneC/syslinux into firmware
Matt Fleming [Wed, 11 Dec 2013 09:57:15 +0000 (09:57 +0000)]
Merge branch 'efi-date-for-mfleming' of git://github.com/geneC/syslinux into firmware

Pull date fix for EFI from Gene Cumm,

* 'efi-date-for-mfleming' of git://github.com/geneC/syslinux:
  efi/: Fix displayed version; add DATE

10 years agoansi: switch cindex type to attr_t
James Buren [Tue, 12 Nov 2013 07:56:46 +0000 (01:56 -0600)]
ansi: switch cindex type to attr_t

To fully support color tables with more than 256 entries

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
10 years agoldlinux: Fix recent pxe symbol regression
Matt Fleming [Wed, 11 Dec 2013 09:47:32 +0000 (09:47 +0000)]
ldlinux: Fix recent pxe symbol regression

commit 60dabb5b1d6d ("pxe: Make the SENDCOOKIES feature for HTTP worked
again") introduced a regression for ldlinux because it references the
'SendCookies' symbol, which is only provided by PXELINUX.

The regression was caused because the '__weak' tag was dropped from the
declaration of SendCookies.

Tested-by: "Santillanes, Russel" <Russel.Santillanes@gs.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
10 years agoefi: Don't rebuild gnu-efi every time
Matt Fleming [Wed, 11 Dec 2013 09:04:07 +0000 (09:04 +0000)]
efi: Don't rebuild gnu-efi every time

There is a typo in the path used to decide whether to build gnu-efi.
Since the condition "does a nonexistent file exist?" will never evaluate
true, we're currently building gnu-efi unnecessarily.

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
10 years agoefi: Check the gnu-efi build succeeded
Matt Fleming [Wed, 11 Dec 2013 09:01:56 +0000 (09:01 +0000)]
efi: Check the gnu-efi build succeeded

Guard against future changes by requiring that the gnu-efi build scripts
exit with success.

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
10 years agoefi: Make gnu-efi build scripts more robust
Matt Fleming [Wed, 11 Dec 2013 07:47:18 +0000 (07:47 +0000)]
efi: Make gnu-efi build scripts more robust

Modify the scripts to check that they're called with the correct number
of arguments and error out otherwise after printing some helpful info.

This change also stops relying on passing arguments through environment
variables and instead passes them explicitly to the scripts, which is
definitely more robust, and handles the case where the scripts are
invoked directly.

Of course, now that the scripts can be invoked directly we need to
regard any input as hostile and exit immediately on error.

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
10 years agoefi: Add build scripts for gnu-efi
Matt Fleming [Tue, 10 Dec 2013 21:33:53 +0000 (21:33 +0000)]
efi: Add build scripts for gnu-efi

Now that we have a gnu-efi git submodule we need some scripts to build
and install it into architecture-specific build directories.

This actually simplifies things a bit because we no longer need to
account for the variations in distribution installation paths - we now
control the paths.

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
10 years agognu-efi: Add gnu-efi as a submodule
Matt Fleming [Tue, 10 Dec 2013 19:00:31 +0000 (19:00 +0000)]
gnu-efi: Add gnu-efi as a submodule

Tracking the gnu-efi dependency has tripped up some users. We can make
things easier when building Syslinux by including a copy of the gnu-efi
source and building it for efi32 and efi64.

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
10 years agopxe: Make the SENDCOOKIES feature for HTTP worked again
Russel Santillanes [Fri, 6 Dec 2013 18:33:37 +0000 (10:33 -0800)]
pxe: Make the SENDCOOKIES feature for HTTP worked again

Code refactoring had caused the http_bake_cookies() function to become
inaccessible and the SendCookies variable to be duplicated, causing
the sendcookies feature to not work.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
10 years agoload_linux: Don't use size heuristic for non-relocatable kernels
H. Peter Anvin [Wed, 4 Dec 2013 20:35:09 +0000 (12:35 -0800)]
load_linux: Don't use size heuristic for non-relocatable kernels

For non-relocatable kernels, it really makes no sense to estimate how
much space the kernel is going to need, as if we fail, there is really
nothing we can do about it.  Furthermore, it is actively wrong for
zImage kernels (which aren't decompressed in place) and for non-Linux
kernels.

Additionally, tweak the code for assigning an address to the command
line to handle a few more corner cases correctly, be simpler, and not
need to build the memory map again since we already are doing that
elsewhere.

Reported-and-tested-by: Christian Hesse <list@eworm.de>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
10 years agoMerge remote-tracking branch 'origin/elflink' into firmware
H. Peter Anvin [Tue, 26 Nov 2013 18:04:48 +0000 (10:04 -0800)]
Merge remote-tracking branch 'origin/elflink' into firmware

Resolved Conflicts:
com32/lib/syslinux/disk.c

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
10 years agoisolinux: Clear upper half of EDX before using
H. Peter Anvin [Tue, 26 Nov 2013 17:58:17 +0000 (09:58 -0800)]
isolinux: Clear upper half of EDX before using

In checkin:

    cb015497a4e4 isolinux: Update LBA in getlinsec loop

... we use EDX as a sector count, but the sector count is actually in
DX, and the upper half of EDX is uninitialized.  If the BIOS enters
with a nonzero value in the upper half of EDX, this breaks horribly.

At least one set of BIOSes has been identified where if the LBA > 64K
then the upper half of EDX will be nonzero.

Reported-by: Carl Duff <cdrw2400@gmail.com>
Reported-by: Philip Müller <philm@manjaro.org>
Tested-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
11 years agoefi/: Fix displayed version; add DATE
Gene Cumm [Sun, 20 Oct 2013 14:45:53 +0000 (10:45 -0400)]
efi/: Fix displayed version; add DATE

Version string appeared to be a temporary generic string; complete out in the
  standard fashion

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
11 years agocore: don't leak the __lowmem and __bss16 macros to modules
H. Peter Anvin [Thu, 17 Oct 2013 23:05:53 +0000 (16:05 -0700)]
core: don't leak the __lowmem and __bss16 macros to modules

The __lowmem and __bss16 macros are only useful in the core itself.
Hide them from modules so people don't use them by mistake.

extern declarations don't need them (and are safe in modules), they
are only necessary at the point of definition (which must be in the
core.)

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
11 years agochain: Fix chainloading on 6.02
Raphael S. Carvalho [Thu, 17 Oct 2013 22:05:32 +0000 (19:05 -0300)]
chain: Fix chainloading on 6.02

My commit 09f4ac33 broke 'com32/lib/syslinux/disk.c'

__lowmem doesn't work for declarations outside the core.
Using __lowmem outside the core wouldn't have the desired effect, then lmalloc
must be used instead to store dapa into the correct section (".lowmem").

Reported-by: Dark Raven <drdarkraven@gmail.com>
Signed-off-by: Raphael S. Carvalho <raphael.scarv@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
11 years agoNEWS: Add recent development news
Matt Fleming [Sun, 13 Oct 2013 17:51:11 +0000 (18:51 +0100)]
NEWS: Add recent development news

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
11 years agocom32: Fix a bug on history of commands.
Raphael S.Carvalho [Tue, 17 Sep 2013 19:52:10 +0000 (16:52 -0300)]
com32: Fix a bug on history of commands.

Previously, even zero-length commands would be added to the history when
they shoudn't, e.g: just typing enter.

For example, if you type: FOO -> (ENTER) -> (ENTER),
then to get FOO from the history you would have to press the UP key
twice. It also saves a bit of memory.

Signed-off-by: Raphael S.Carvalho <raphael.scarv@gmail.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
11 years agocom32: Fix bugs on cmd_reverse_search (Triple fault dimension)
Raphael S.Carvalho [Tue, 17 Sep 2013 19:48:58 +0000 (16:48 -0300)]
com32: Fix bugs on cmd_reverse_search (Triple fault dimension)

cmd_reverse_search has a bug that the variable cursor is updated even if a command
wasn't found. If this happens, and the next key falls into the default case,
memmove's size parameter would be a negative number.

This bug can be reproduced by doing the following:
On cmd_reverse_search (ctrl-r), type multiple keys at the same time.
'Enjoy' the triple fault and a screen of random colors.

There is also a small bug that turns the task of using (ctrl-r) on the first command
impossible. Previously, this command was discarded.

Signed-off-by: Raphael S.Carvalho <raphael.scarv@gmail.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
11 years agocom32/disk: Code cleanup at disk_write_sectors and disk_read_sectors.
Raphael S.Carvalho [Tue, 17 Sep 2013 19:45:34 +0000 (16:45 -0300)]
com32/disk: Code cleanup at disk_write_sectors and disk_read_sectors.

Pulled common code out of these functions into new ones.
The functions chs_setup and ebios_setup were created for this purpose.

Signed-off-by: Raphael S.Carvalho <raphael.scarv@gmail.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
11 years agocom32: Fix a bug on history of commands.
Raphael S.Carvalho [Tue, 17 Sep 2013 19:52:10 +0000 (16:52 -0300)]
com32: Fix a bug on history of commands.

Previously, even zero-length commands would be added to the history when
they shoudn't, e.g: just typing enter.

For example, if you type: FOO -> (ENTER) -> (ENTER),
then to get FOO from the history you would have to press the UP key
twice. It also saves a bit of memory.

Signed-off-by: Raphael S.Carvalho <raphael.scarv@gmail.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
11 years agocom32: Fix bugs on cmd_reverse_search (Triple fault dimension)
Raphael S.Carvalho [Tue, 17 Sep 2013 19:48:58 +0000 (16:48 -0300)]
com32: Fix bugs on cmd_reverse_search (Triple fault dimension)

cmd_reverse_search has a bug that the variable cursor is updated even if a command
wasn't found. If this happens, and the next key falls into the default case,
memmove's size parameter would be a negative number.

This bug can be reproduced by doing the following:
On cmd_reverse_search (ctrl-r), type multiple keys at the same time.
'Enjoy' the triple fault and a screen of random colors.

There is also a small bug that turns the task of using (ctrl-r) on the first command
impossible. Previously, this command was discarded.

Signed-off-by: Raphael S.Carvalho <raphael.scarv@gmail.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
11 years agocom32/disk: Code cleanup at disk_write_sectors and disk_read_sectors.
Raphael S.Carvalho [Tue, 17 Sep 2013 19:45:34 +0000 (16:45 -0300)]
com32/disk: Code cleanup at disk_write_sectors and disk_read_sectors.

Pulled common code out of these functions into new ones.
The functions chs_setup and ebios_setup were created for this purpose.

Signed-off-by: Raphael S.Carvalho <raphael.scarv@gmail.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>