david/ipxe
david
/
ipxe
Archived
1
0
Fork 0
Commit Graph

138 Commits

Author SHA1 Message Date
Michael Brown 1c67623e37 [build] Enable building with the Intel C compiler (icc) 2009-03-26 07:27:19 +00:00
Michael Brown f95c919741 [release] Update version to 0.9.7+ post release 2009-03-02 02:29:20 +00:00
Michael Brown e103495563 [release] Update version to 0.9.7 for release 2009-03-02 02:23:42 +00:00
Michael Brown ba1016f378 [dhcp] Include gPXE version number within DHCP request 2009-01-08 08:39:05 +00:00
Michael Brown fb72336fe6 [efi] Add efirom utility and .efirom image format 2009-01-08 02:19:18 +00:00
Michael Brown 314779eb36 [efi] Use elf2efi utility in place of efilink
elf2efi converts a suitable ELF executable (containing relocation
information, and with appropriate virtual addresses) into an EFI
executable.  It is less tightly coupled with the gPXE build process
and, in particular, does not require the use of a hand-crafted PE
image header in efiprefix.S.

elf2efi correctly handles .bss sections, which significantly reduces
the size of the gPXE EFI executable.
2009-01-07 22:59:05 +00:00
Michael Brown 29480dd715 [efi] Use EFI-native mechanism for accessing SMBIOS table
EFI provides a copy of the SMBIOS table accessible via the EFI system
table, which we should use instead of manually scanning through the
F000:0000 segment.
2008-12-04 23:19:12 +00:00
Marty Connor 708e6e0613 [release] Update version to 0.9.6+ post release 2008-11-23 17:01:17 -05:00
Marty Connor 74b7bc0954 [release] Update version to 0.9.6 for release 2008-11-23 16:44:45 -05:00
Michael Brown 81d92c6d34 [efi] Add EFI image format and basic runtime environment
We have EFI APIs for CPU I/O, PCI I/O, timers, console I/O, user
access and user memory allocation.

EFI executables are created using the vanilla GNU toolchain, with the
EXE header handcrafted in assembly and relocations generated by a
custom efilink utility.
2008-10-13 10:24:14 +01:00
Michael Brown e817a347fb [makefile] Split config.h out into config/*.h and kill off mkconfig.pl 2008-10-08 02:17:32 +01:00
Michael Brown a2588547f9 [makefile] Add support for multiple build platforms
Allow for the build CPU architecture and platform to be specified as part
of the make command goals.  For example:

  make bin/rtl8139.rom      # Standard i386 PC-BIOS build

  make bin-efi/rtl8139.efi  # i386 EFI build

The generic syntax is "bin[-[arch-]platform]", with the default
architecture being "i386" (regardless of the host architecture) and the
default platform being "pcbios".

Non-path targets such as "srcs" can be specified using e.g.

  make bin-efi srcs

Note that this changeset is merely Makefile restructuring to allow the
build architecture and platform to be determined by the make command
goals, and to export these to compiled code via the ARCH and PLATFORM
defines.  It doesn't actually introduce any new build platforms.
2008-10-08 02:17:25 +01:00
Michael Brown f0b942ef42 [makefile] Kill off arch/$(ARCH)/Config
The arch/i386/Config file has long been marked as deprecated.  Move all
the pertinent bits to arch/i386/Makefile instead and remove
arch/i386/Config.
2008-10-07 22:46:43 +01:00
H. Peter Anvin e899f100ca [makefile] Quote argument to sed containing []
[] are shell metacharacters, and they can get confused by files in the
local directory.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-09-30 21:54:41 +01:00
H. Peter Anvin e8b6077566 [makefile] Avoid using ?=
?= in a Makefile means that that variable can be overridden by the
environment.  This is confusing to users, especially with a generic
name like "ARCH".

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-09-30 21:53:34 +01:00
Michael Brown 3ad348e55a [phantom] Add support for NetXen Phantom NICs 2008-07-04 19:38:14 -07:00
H. Peter Anvin 25450dc59c [Config] remove src/Config
Remove src/Config as it has no more users, and conflicts with
src/config on case-deficient filesystems.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-06-30 12:26:13 -07:00
Marty Connor fe3162ab1c [Makefile] Add $(BIN)/undionly.kpxe as default build target 2008-06-09 08:44:11 -04:00
Michael Brown c899bdc5a8 [Makefile] Remove obsolete SRCDIRS 2008-05-23 02:35:20 +01:00
Michael Brown 74fd544101 Added the embedded pxelinux payload patch from hpa. 2008-01-08 15:51:36 +00:00
Marty Connor a9b8197f64 Unconditionally set utility program variables in Makefile to allow CROSS_COMPILE to work.
stappers and xl0 pointed out that gnu make sets some variables, so ?=
is ineffective in some cases where we use it.. Cross-compilation
requires that some variables can be overridden in the
src/$(ARCH)/Config file, so include that file _after_ utility program
variables are set.
2008-01-02 14:07:52 -05:00
Michael Brown 3ab571006e Yet another attempt to autodetect an appropriate "echo -e". 2007-12-07 14:25:02 -06:00
Michael Brown a8bddfe153 Another (hopefully more robust) attempt to find a usable substitute
for "echo -e" on the host system.
2007-12-08 00:50:57 +00:00
Michael Brown cf895a8c7c Avoid Makefile syntax that requires make >= 3.81. 2007-12-07 04:14:06 +00:00
Michael Brown 3b58fc0baf Try to fix echo-detection to work on all systems that provide any
suitable "echo -e" substitute.
2007-12-07 03:35:32 +00:00
Marty Connor 8ce93f0876 Fix typo. 2007-11-18 11:12:54 -05:00
Marty Connor e21391d7b5 Add e1000 directory to build, since the driver compiles cleanly. 2007-11-18 10:57:20 -05:00
Marty Connor 2b8f77aca1 Add src/drivers/net/e1000 as home of new e1000 driver 2007-11-18 10:28:25 -05:00
Michael Brown 982e4dd101 Separated out to a clean new drivers/infiniband directory. 2007-09-18 06:06:55 +01:00
Michael Brown 5f6439c828 Merge branch 'master' into 3leaf-rewrite 2007-09-11 15:42:17 +01:00
Michael Brown 6f799db5bd Use "/bin/echo -e" instead of shell builtin echo; some shells don't
implement the -e option.

(Thanks to Jim McQuillan for this suggestion.)
2007-09-08 23:38:17 +01:00
Michael Brown b42c5905cb Very quick and very dirty hack to get the Mellanox code building
inside gPXE.
2007-08-18 18:04:18 +01:00
Michael Brown 5cda460f19 Build the all-driver images by default, and print instructions for usage. 2007-08-09 20:17:35 -07:00
Holger Lubitz 91a8ae1216 include more changes for x86_64 2007-08-02 01:55:48 +01:00
Michael Brown 4ce8d61a5c Import various libgcc functions from syslinux.
Experimentation reveals that gcc ignores -mrtd for the implicit
arithmetic functions (e.g. __udivdi3), but not for the implicit
memcpy() and memset() functions.  Mark the implicit arithmetic
functions with __attribute__((cdecl)) to compensate for this.

(Note: we cannot mark with with __cdecl, because we define __cdecl to
incorporate regparm(0) as well.)
2007-07-30 02:43:43 +01:00
Michael Brown ed9ba18ec6 Allow -Werror to be temporarily disabled using "make NO_WERROR=1" 2007-07-24 14:01:14 +01:00
Michael Brown b188311edd We can finally enable -Werror :) 2007-07-24 12:43:11 +01:00
Marty Connor 63c9131eeb Add NIC to targets that are always made.
Even though it is only currently used for rom-o-matic.net code,
it is good to make sure it gets built, and that the parsing code
is working.
2007-07-22 20:41:53 -04:00
Michael Brown 38dbe14bbe Kill off redundant references to the .zprefixes. 2007-07-16 17:26:07 +01:00
Michael Brown 048bbeeebc Compressed ROM images now work. 2007-07-16 16:58:38 +01:00
Michael Brown 37fa9a8706 Split the objcopy stage out of final image preparation to a separate
bin/%.bin target.
2007-07-16 13:41:27 +01:00
Michael Brown c482fc90fb Revert "no need for depending on build library ("blib")"
This reverts commit 9dc2515d7e.

I want "make" to actually build something.
2007-07-16 13:06:58 +01:00
Holger Lubitz bfc4737751 Update Makefile for compilation on ARCH=x86_64 2007-07-09 03:31:14 +01:00
Michael Brown 405be071de Pad ROM images to 512 bytes, not powers of two 2007-07-05 23:36:45 +01:00
Marty Connor 969642dca6 Add warning about formats that are not working until we fix them 2007-03-02 16:25:42 +00:00
Michael Brown 6ce5c97981 Made most of the build much quieter 2007-01-31 11:06:36 +00:00
Michael Brown bd873525ff Add matrixssl directory 2007-01-26 04:36:50 +00:00
Michael Brown 7cdc6529bb Build external axtls code 2007-01-26 02:03:34 +00:00
Michael Brown 37f1b12587 Allow truly arbitrary debug levels to be specified via DEBUG= 2007-01-18 19:00:09 +00:00
Michael Brown 10980c12ee Add image directory back in 2007-01-11 14:43:15 +00:00
Michael Brown cc9b32c405 Remove uIP; we haven't used it for quite some time now. 2007-01-10 02:52:58 +00:00
Michael Brown 84202d89f0 Split the (quick hack) boot logic out from main.c to autoboot.c, add a
"boot" command to attempt booting from within the command shell, fall back
to shell if boot fails for any reason.
2006-12-20 07:04:08 +00:00
Michael Brown 1e322d4b4c Add (partly-functional) user interface for editing configuration settings 2006-12-20 03:04:07 +00:00
Michael Brown a1685cb3e2 Move nvo_cmd.c to hci/commands. 2006-12-20 00:31:34 +00:00
Michael Brown 1bc3514bd8 Start of generic editable string support 2006-12-19 19:28:12 +00:00
Michael Brown 504a705d9e Do no evil. :) 2006-08-09 03:21:02 +00:00
Marty Connor 41af7457a8 Merge of Fredrik Hultin command_line 2006-08-09 02:30:35 +00:00
Michael Brown a7011edfd4 Add net/udp 2006-07-19 17:00:40 +00:00
Dan Lynch 04fcee2306 enabled build entry for mucurses libraries 2006-06-27 11:40:04 +00:00
Dan Lynch 5d2f39bbc2 added placeholder SRCDIRS entry for mucurses 2006-06-27 10:31:42 +00:00
Derek Pryor 8b0cac40ca Added gpxe-0.5/src/crypto/ for the SSL Library 2006-06-22 17:15:45 +00:00
Michael Brown e90b64d625 Added sketch of bit-bashing interface common code 2006-06-08 19:47:09 +00:00
Michael Brown d21fc3610f Added sample AoE test code to tree 2006-06-01 11:05:36 +00:00
Michael Brown 73a449e96b Added drivers/ata directory (forgot to check this in previously). 2006-05-31 14:31:48 +00:00
Michael Brown aa2468babe Added abstraction layer for a three-wire serial device (e.g. the EEPROM
used on RTL8139 cards).
2006-05-26 15:39:24 +00:00
Michael Brown 53b682f3a2 Re-enable -Wformat, since our printf() is now more standards-conformant. 2006-05-18 21:23:38 +00:00
Michael Brown 61d7b8a5ef Added missing drivers/scsi 2006-05-17 17:31:18 +00:00
Michael Brown 1838b58c3f Add drivers/block and arch/i386/interface/pcbios 2006-05-13 11:35:29 +00:00
Michael Brown 01bd78d62a Created net/tcp and moved hello.c there 2006-04-30 09:34:11 +00:00
Michael Brown 592a5a99c8 Moved uIP and tcp.c from proto/ to net/ 2006-04-30 01:16:37 +00:00
Michael Brown e323d1a29b Add "net" directory.
Avoid including debug information in bin/%.s output, since the whole
point is to have easy-to-read assembler.
2006-04-24 15:20:01 +00:00
Michael Brown 21c58729ae Add debug symbols to objects. (They will be stripped out of the final
-Obinary build anyway, so it doesn't waste any space).
2006-03-23 13:09:29 +00:00
Michael Brown 0e611719d2 Add uip on HEAD; it's safe to build, since nothing links against it at the
moment.
2006-03-16 19:18:12 +00:00
Geert Stappers 9dc2515d7e no need for depending on build library ("blib")
when make is invoked without arguments
2005-06-14 20:16:03 +00:00
Michael Brown 13de295b56 Added interface/pxe directory 2005-05-23 23:31:59 +00:00
Michael Brown 2d9fa8a1d9 Add DOXYGEN definition, comment out reference to not-yet-existent "image"
directory.
2005-05-18 11:12:17 +00:00
Michael Brown 4f27994980 Added "image" directory 2005-05-17 13:34:25 +00:00
Michael Brown 95946c6f56 Added "proto" directory 2005-04-30 14:45:09 +00:00
Michael Brown 81e4755106 Produce a sorted list of all local symbols in the map file. 2005-04-27 10:55:12 +00:00
Michael Brown d281996ef8 Added DBG2 2005-04-25 19:25:45 +00:00
Michael Brown db0e056abd Make it easier to comment out individual SRC directories when things
are broken...  :)
2005-04-22 16:36:44 +00:00
Michael Brown 641596e6ba blib definition moved to Makefile.housekeeping. 2005-04-18 14:40:57 +00:00
Michael Brown b5ee3763c6 Add MKCONFIG utility, and add "-I ." to CFLAGS so that we can work
with generated headers.
2005-04-17 15:58:39 +00:00
Michael Brown 658fecf7e5 Found a home for MAKEROM_FLAGS_3c503. 2005-04-17 13:25:43 +00:00
Michael Brown 9c814cb123 Use the correct case for -Ddebug_<object> 2005-04-16 23:33:52 +00:00
Michael Brown a666eb34b5 Improved building of debugging objects. You can now specify a "DEBUG="
list for any build, e.g.
  make bin/pnic.dsk DEBUG=pci,pnic
This will drag in debugging-enabled versions of pci.c and pnic.c.
2005-04-16 23:28:36 +00:00
Michael Brown 0ff80b477d Merged mcb30-realmode-redesign back to HEAD 2005-04-08 15:01:17 +00:00
Michael Brown 3d6123e69a Initial revision 2005-03-08 18:53:11 +00:00