head	1.20;
access;
symbols
	RELENG_8_4:1.20.0.2
	RELENG_9_1_0_RELEASE:1.19.2.1.4.2
	RELENG_9_1:1.19.2.1.0.4
	RELENG_9_1_BP:1.19.2.1
	RELENG_8_3_0_RELEASE:1.17.10.2.6.1
	RELENG_8_3:1.17.10.2.0.6
	RELENG_8_3_BP:1.17.10.2
	RELENG_9_0_0_RELEASE:1.19.2.1.2.1
	RELENG_9_0:1.19.2.1.0.2
	RELENG_9_0_BP:1.19.2.1
	RELENG_9:1.19.0.2
	RELENG_9_BP:1.19
	RELENG_7_4_0_RELEASE:1.17.14.1
	RELENG_8_2_0_RELEASE:1.17.10.2.4.1
	RELENG_7_4:1.17.0.14
	RELENG_7_4_BP:1.17
	RELENG_8_2:1.17.10.2.0.4
	RELENG_8_2_BP:1.17.10.2
	RELENG_8_1_0_RELEASE:1.17.10.2.2.1
	RELENG_8_1:1.17.10.2.0.2
	RELENG_8_1_BP:1.17.10.2
	RELENG_7_3_0_RELEASE:1.17.12.1
	RELENG_7_3:1.17.0.12
	RELENG_7_3_BP:1.17
	RELENG_8_0_0_RELEASE:1.17.10.1.2.1
	RELENG_8_0:1.17.10.1.0.2
	RELENG_8_0_BP:1.17.10.1
	RELENG_8:1.17.0.10
	RELENG_8_BP:1.17
	RELENG_7_2_0_RELEASE:1.17.8.1
	RELENG_7_2:1.17.0.8
	RELENG_7_2_BP:1.17
	RELENG_7_1_0_RELEASE:1.17.6.1
	RELENG_6_4_0_RELEASE:1.16.12.1
	RELENG_7_1:1.17.0.6
	RELENG_7_1_BP:1.17
	RELENG_6_4:1.16.0.12
	RELENG_6_4_BP:1.16
	RELENG_7_0_0_RELEASE:1.17
	RELENG_6_3_0_RELEASE:1.16
	RELENG_7_0:1.17.0.4
	RELENG_7_0_BP:1.17
	RELENG_6_3:1.16.0.10
	RELENG_6_3_BP:1.16
	RELENG_7:1.17.0.2
	RELENG_7_BP:1.17
	RELENG_6_2_0_RELEASE:1.16
	RELENG_6_2:1.16.0.8
	RELENG_6_2_BP:1.16
	RELENG_5_5_0_RELEASE:1.14.2.1
	RELENG_5_5:1.14.2.1.0.4
	RELENG_5_5_BP:1.14.2.1
	RELENG_6_1_0_RELEASE:1.16
	RELENG_6_1:1.16.0.6
	RELENG_6_1_BP:1.16
	RELENG_6_0_0_RELEASE:1.16
	RELENG_6_0:1.16.0.4
	RELENG_6_0_BP:1.16
	RELENG_6:1.16.0.2
	RELENG_6_BP:1.16
	RELENG_5_4_0_RELEASE:1.14.2.1
	RELENG_5_4:1.14.2.1.0.2
	RELENG_5_4_BP:1.14.2.1
	RELENG_5_3_0_RELEASE:1.14
	RELENG_5_3:1.14.0.4
	RELENG_5_3_BP:1.14
	RELENG_5:1.14.0.2
	RELENG_5_BP:1.14
	RELENG_5_2_1_RELEASE:1.12
	RELENG_5_2_0_RELEASE:1.12
	RELENG_5_2:1.12.0.2
	RELENG_5_2_BP:1.12
	RELENG_5_1_0_RELEASE:1.11
	RELENG_5_1:1.11.0.4
	RELENG_5_1_BP:1.11
	RELENG_5_0_0_RELEASE:1.11
	RELENG_5_0:1.11.0.2
	RELENG_5_0_BP:1.11
	KSE_MILESTONE_2:1.2
	KSE_PRE_MILESTONE_2:1.2;
locks; strict;
comment	@# @;


1.20
date	2012.11.17.01.51.15;	author svnexp;	state Exp;
branches
	1.20.2.1;
next	1.19;

1.19
date	2010.08.23.01.48.07;	author imp;	state Exp;
branches
	1.19.2.1;
next	1.18;

1.18
date	2010.01.09.22.54.29;	author marcel;	state Exp;
branches;
next	1.17;

1.17
date	2006.11.05.22.03.03;	author marcel;	state Exp;
branches
	1.17.2.1
	1.17.6.1
	1.17.8.1
	1.17.10.1
	1.17.12.1
	1.17.14.1;
next	1.16;

1.16
date	2004.11.28.00.30.22;	author marcel;	state Exp;
branches
	1.16.2.1
	1.16.12.1;
next	1.15;

1.15
date	2004.10.24.15.32.49;	author ru;	state Exp;
branches;
next	1.14;

1.14
date	2004.02.13.04.43.41;	author marcel;	state Exp;
branches
	1.14.2.1;
next	1.13;

1.13
date	2004.02.12.08.10.33;	author ru;	state Exp;
branches;
next	1.12;

1.12
date	2003.07.02.11.53.55;	author ru;	state Exp;
branches;
next	1.11;

1.11
date	2002.12.10.06.22.25;	author marcel;	state Exp;
branches;
next	1.10;

1.10
date	2002.05.13.11.09.06;	author ru;	state Exp;
branches;
next	1.9;

1.9
date	2002.05.12.13.54.39;	author obrien;	state Exp;
branches;
next	1.8;

1.8
date	2002.05.11.18.02.32;	author obrien;	state Exp;
branches;
next	1.7;

1.7
date	2002.05.10.09.26.30;	author obrien;	state Exp;
branches;
next	1.6;

1.6
date	2001.11.19.07.09.47;	author peter;	state Exp;
branches;
next	1.5;

1.5
date	2001.09.24.19.31.44;	author dfr;	state Exp;
branches;
next	1.4;

1.4
date	2001.09.22.19.10.56;	author dfr;	state Exp;
branches;
next	1.3;

1.3
date	2001.09.14.08.27.49;	author dfr;	state Exp;
branches;
next	1.2;

1.2
date	2001.09.07.08.51.48;	author dfr;	state Exp;
branches;
next	1.1;

1.1
date	2001.06.09.16.49.50;	author dfr;	state Exp;
branches;
next	;

1.20.2.1
date	2012.11.17.01.51.15;	author svnexp;	state dead;
branches;
next	1.20.2.2;

1.20.2.2
date	2013.03.28.13.04.01;	author svnexp;	state Exp;
branches;
next	;

1.19.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.19.2.1.2.1
	1.19.2.1.4.1;
next	1.19.2.2;

1.19.2.2
date	2012.11.17.11.36.47;	author svnexp;	state Exp;
branches;
next	;

1.19.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.19.2.1.2.2;

1.19.2.1.2.2
date	2012.11.17.08.36.45;	author svnexp;	state Exp;
branches;
next	;

1.19.2.1.4.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.19.2.1.4.2;

1.19.2.1.4.2
date	2012.11.17.08.47.35;	author svnexp;	state Exp;
branches;
next	;

1.17.2.1
date	2012.11.17.08.04.50;	author svnexp;	state Exp;
branches;
next	;

1.17.6.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.17.8.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;

1.17.10.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.17.10.1.2.1;
next	1.17.10.2;

1.17.10.2
date	2010.01.16.04.34.03;	author marcel;	state Exp;
branches
	1.17.10.2.2.1
	1.17.10.2.4.1
	1.17.10.2.6.1;
next	1.17.10.3;

1.17.10.3
date	2012.11.17.10.36.26;	author svnexp;	state Exp;
branches;
next	;

1.17.10.1.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.17.10.2.2.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.17.10.2.4.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.17.10.2.6.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.17.10.2.6.2;

1.17.10.2.6.2
date	2012.11.17.08.25.07;	author svnexp;	state Exp;
branches;
next	;

1.17.12.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.17.14.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.17.14.2;

1.17.14.2
date	2012.11.17.08.17.04;	author svnexp;	state Exp;
branches;
next	;

1.16.2.1
date	2012.11.17.07.42.35;	author svnexp;	state Exp;
branches;
next	;

1.16.12.1
date	2008.10.02.02.57.24;	author kensmith;	state Exp;
branches;
next	;

1.14.2.1
date	2005.02.13.07.23.31;	author obrien;	state Exp;
branches;
next	;


desc
@@


1.20
log
@Switching exporter and resync
@
text
@# $FreeBSD: head/sys/boot/efi/libefi/Makefile 211679 2010-08-23 01:48:07Z imp $

LIB=	efi
INTERNALLIB=

SRCS=	delay.c efi_console.c efinet.c efipart.c errno.c handles.c \
	libefi.c time.c

CFLAGS+= -I${.CURDIR}/../include
CFLAGS+= -I${.CURDIR}/../include/${MACHINE_CPUARCH:S/amd64/i386/}
CFLAGS+= -I${.CURDIR}/../../../../lib/libstand

# Pick up the bootstrap header for some interface items
CFLAGS+= -I${.CURDIR}/../../common

.include <bsd.lib.mk>
@


1.20.2.1
log
@file Makefile was added on branch RELENG_8_4 on 2013-03-28 13:04:01 +0000
@
text
@d1 16
@


1.20.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 16
# $FreeBSD: releng/8.4/sys/boot/efi/libefi/Makefile 202430 2010-01-16 04:34:03Z marcel $

LIB=	efi
INTERNALLIB=

SRCS=	delay.c efi_console.c efinet.c efipart.c errno.c handles.c \
	libefi.c time.c

CFLAGS+= -I${.CURDIR}/../include
CFLAGS+= -I${.CURDIR}/../include/${MACHINE_ARCH:S/amd64/i386/}
CFLAGS+= -I${.CURDIR}/../../../../lib/libstand

# Pick up the bootstrap header for some interface items
CFLAGS+= -I${.CURDIR}/../../common

.include <bsd.lib.mk>
@


1.19
log
@SVN rev 211679 on 2010-08-23 01:48:07Z by imp

MF tbemd: move to using specific architecture makefiles
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.19.2.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.19.2.2
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by:	adrian (co-mentor)
## SVN ## Approved by:	adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/sys/boot/efi/libefi/Makefile 211679 2010-08-23 01:48:07Z imp $
@


1.19.2.1.4.1
log
@SVN rev 239080 on 2012-08-05 23:54:33Z by kensmith

Copy stable/9 to releng/9.1 as part of the 9.1-RELEASE release process.

Approved by:	re (implicit)
@
text
@@


1.19.2.1.4.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.1/sys/boot/efi/libefi/Makefile 211679 2010-08-23 01:48:07Z imp $
@


1.19.2.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.19.2.1.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.0/sys/boot/efi/libefi/Makefile 211679 2010-08-23 01:48:07Z imp $
@


1.18
log
@SVN rev 201941 on 2010-01-09 22:54:29Z by marcel

Remove file system support based on the simple file system protocol
as this only allows us to access file systems that EFI knows about.
With a loader that can only use EFI-supported file systems, we're
forced to put /boot on the EFI system partition. This is suboptimal
in the following ways:
1.  With /boot a symlink to /efi/boot, mergemaster complains about
    the mismatch and there's no quick solution.
2.  The EFI loader can only boot a single version of FreeBSD. There's
    no way to install multiple versions of FreeBSD and select one
    at the loader prompt.
3.  ZFS maintains /boot/zfs/zpool.cache and with /boot a symlink we
    end up with the file on a MSDOS file system. ZFS does not have
    proper handling of file systems that are under Giant.

Implement a disk device based on the block I/O protocol instead and
pull in file system code from libstand. The disk devices are really
the partitions that EFI knows about.

This change is backward compatible.

MFC after:	1 week
@
text
@d10 1
a10 1
CFLAGS+= -I${.CURDIR}/../include/${MACHINE_ARCH:S/amd64/i386/}
@


1.17
log
@Major rework of the ia64 loaders. The two primary objectives are:
1. Make libefi portable by removing ia64 specific code and build
   it on i386 and amd64 by default to prevent regressions. These
   changes include fixes and improvements over previous code to
   establish or improve APIs where none existed or when the amount
   of kluging was unacceptably high.
2. Increase the amount of sharing between the efi and ski loaders
   to improve maintainability of the loaders and simplify making
   changes to the loader-kernel handshaking in the future.

The version of the efi and ski loaders are now both changed to 1.2
as user visible improvements and changes have been made.
@
text
@d6 2
a7 2
SRCS=	delay.c efi_console.c efifs.c efinet.c errno.c handles.c libefi.c \
	time.c
@


1.17.2.1
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/7/sys/boot/efi/libefi/Makefile 164010 2006-11-05 22:03:04Z marcel $
@


1.17.14.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@@


1.17.14.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/7.4/sys/boot/efi/libefi/Makefile 164010 2006-11-05 22:03:04Z marcel $
@


1.17.12.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@@


1.17.10.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@@


1.17.10.2
log
@SVN rev 202430 on 2010-01-16 04:34:03Z by marcel

MFC rev 201941:
Remove file system support based on the simple file system protocol.

MFC rev 201966:
Remove debugging printf().
@
text
@d6 2
a7 2
SRCS=	delay.c efi_console.c efinet.c efipart.c errno.c handles.c \
	libefi.c time.c
@


1.17.10.3
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not).  Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ##       [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ##       [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by:	yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/8/sys/boot/efi/libefi/Makefile 202430 2010-01-16 04:34:03Z marcel $
@


1.17.10.2.6.1
log
@SVN rev 232438 on 2012-03-03 06:15:13Z by kensmith

Copy stable/8 to releng/8.3 as part of 8.3-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.17.10.2.6.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/8.3/sys/boot/efi/libefi/Makefile 202430 2010-01-16 04:34:03Z marcel $
@


1.17.10.2.4.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.17.10.2.2.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.17.10.1.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.17.8.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@@


1.17.6.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@@


1.16
log
@o  Introduce efimd_va2pa() to translate addresses in efi_copy{in|out}()
   and efi_readin(). This removes MD code from copy.c.
o  Don't unconditionally add pal.S to SRCS. It's specific to ia64.
@
text
@a2 2
.PATH: ${.CURDIR}/../../../${MACHINE_ARCH}/${MACHINE_ARCH}

d6 2
a7 6
SRCS=	bootinfo.c copy.c delay.c devicename.c efi_console.c efifs.c efinet.c \
	elf_freebsd.c libefi.c module.c time.c

.if ${MACHINE_ARCH} == "ia64"
SRCS+=	efifpswa.c pal.S
.endif
d10 1
a10 1
CFLAGS+= -I${.CURDIR}/../include/${MACHINE_ARCH}
a15 5
# Make the disk code more talkative
.if defined(BOOT_DISK_DEBUG)
CFLAGS+= -DDISK_DEBUG
.endif

@


1.16.2.1
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/6/sys/boot/efi/libefi/Makefile 138141 2004-11-28 00:30:22Z marcel $
@


1.16.12.1
log
@SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)
@
text
@@


1.15
log
@For variables that are only checked with defined(), don't provide
any fake value.
@
text
@d5 1
a5 1
LIB=		efi
d8 2
a9 2
SRCS=	libefi.c efi_console.c time.c copy.c devicename.c module.c
SRCS+=	delay.c efifs.c efinet.c elf_freebsd.c bootinfo.c pal.S
d12 1
a12 1
SRCS+=	efifpswa.c
d15 3
a17 3
CFLAGS+=	-I${.CURDIR}/../include
CFLAGS+=	-I${.CURDIR}/../include/${MACHINE_ARCH}
CFLAGS+=	-I${.CURDIR}/../../../../lib/libstand
d20 1
a20 1
CFLAGS+=	-I${.CURDIR}/../../common
d22 1
a23 1
# Make the disk code more talkative
@


1.14
log
@o  Don't build with -fpic. It's not needed and inconsistent with how
   other constributions are compiled.
o  Remove powerpc specific additions to CFLAGS.
@
text
@d6 1
a6 1
INTERNALLIB=	true
@


1.14.2.1
log
@MFC: For variables that are only checked with defined(), don't provide
     any fake value.
@
text
@d6 1
a6 1
INTERNALLIB=
@


1.13
log
@Tidy up makefiles.

Tested by:	marcel
@
text
@a14 1
CFLAGS+=	-fpic
a20 4

.if ${MACHINE_ARCH} == "powerpc"
CFLAGS+=	-msoft-float
.endif
@


1.12
log
@sys/ia64/ia64/pal.s has been repocopied to pal.S.

Approved by:	marcel
Repocopied by:	joe
@
text
@d15 1
a15 1
CFLAGS+=	-ffreestanding -fpic
d18 1
a18 1
CFLAGS+=	-I${.CURDIR}/../../../../lib/libstand/
d21 1
a21 1
CFLAGS+=	-I${.CURDIR}/../../common -I${.CURDIR}/../../.. -I.
d27 1
a27 1
.ifdef(BOOT_DISK_DEBUG)
a31 5
machine:
	ln -sf ${.CURDIR}/../../../${MACHINE_ARCH}/include machine

CLEANFILES+=	machine

a32 2

beforedepend ${OBJS}: machine
@


1.11
log
@Change the startup code to fix a memory leak and to allow us to
accept load options (=command line options).

The call graph changes from *entry*->efi_main->efi_init, where
efi_main is the EFI equivalent of main to *entry*->efi_main->main,
where main is what you'd expect. efi_main now is what efi_init was.
The prototype of main follows that of C. The first argument is argc
and the second is argv. There is no third argument.
Allocation of heap pages is now handled by the EFI library and it
now deallocates the pages when main() returns or when exit() is
called. This allows us to safely return to the boot manager (or
EFI shell) without leaks. EFI applications are responsible to free
all memory themselves.

Handling of the load options is a bit tricky. There are either no
load options, load options in ASCII or load options in Unicode.
The EFI library will translate the ASCII options to Unicode options
as to simplify user code. Since the load options are passed as a
single string (if present) and main() accepts argc and argv, the
startup code also has to split the string into words and build the
argv vector. Here the trickiness starts. When the loader is started
from the EFI shell, argv[0] will automaticly load the program name.
In all other cases (ie through the boot manager), this is not the
case. Unfortunately, there's no trivial way to check. Hence, a
set of conditions is checked to determine if we need to fill in
argv[0] ourselves or not. This checking is not perfect. There are
known cases where it fails to do the right thing. The logic works
for most expected cases, though. This includes the case where no
options are given.

Approved by: re (blanket)
@
text
@d9 1
a9 1
SRCS+=	delay.c efifs.c efinet.c elf_freebsd.c bootinfo.c pal.s
@


1.10
log
@Removed now unused INTERNALSTATICLIB.
INTERNALLIB now implies NOPIC and NOPROFILE.
Removed gratuitous NOMAN.
@
text
@d8 1
a8 1
SRCS=	libefi.c efi_console.c time.c copy.c devicename.c module.c exit.c
@


1.9
log
@Back out last commit.  I expect our bsd.*.mk gods to remove the need for
defining so many extra things in addition to INTERNALLIB.  We don't like
repetitive C code and we shouldn't for make code either.
@
text
@a5 2
NOPIC=		true
NOPROFILE=	true
a6 1
INTERNALSTATICLIB=	true
@


1.8
log
@NOPIC, NOPROFILE, NOMAN, and INTERNALSTATICLIB are redundant when using
INTERNALLIB now.
@
text
@d6 2
d9 1
@


1.7
log
@-ffreestanding is the word.
(also resort some CFLAGS such that the more "important" value are first so
they are easier to see)
@
text
@a5 2
NOPIC=		true
NOPROFILE=	true
a6 1
INTERNALSTATICLIB=	true
@


1.6
log
@Lookup the EFI_FPSWA driver and pass the interface pointer through to the
kernel before we call ExitBootServices().  I've typed the definitions
in efifpswa.h from the Intel FPSWA manual (urk).
@
text
@d18 1
a18 1
CFLAGS+=	-fpic
@


1.5
log
@Pick up pal.s from the kernel sources.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/efi/libefi/Makefile,v 1.4 2001/09/22 19:10:56 dfr Exp $
d13 4
@


1.4
log
@* Flesh out elf_exec and bootinfo.
* Add EFI network support.
@
text
@d1 3
a3 1
# $FreeBSD: src/sys/boot/efi/libefi/Makefile,v 1.3 2001/09/14 08:27:49 dfr Exp $
d12 1
a12 1
SRCS+=	delay.c efifs.c efinet.c elf_freebsd.c bootinfo.c
@


1.3
log
@Add ELF backend to the build.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/efi/libefi/Makefile,v 1.2 2001/09/07 08:51:48 dfr Exp $
d10 1
a10 1
SRCS+=	delay.c efifs.c elf_freebsd.c
@


1.2
log
@Add a libstand filesystem for accessing EFI native filesystems.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/efi/libefi/Makefile,v 1.1 2001/06/09 16:49:50 dfr Exp $
d10 1
a10 1
SRCS+=	delay.c efifs.c
@


1.1
log
@First approximation of an ia64 EFI loader. Not functional.
@
text
@d1 1
a1 1
# $FreeBSD$
d10 1
a10 1
SRCS+=	delay.c
@

