aboutsummaryrefslogtreecommitdiffstats
path: root/src/arch/i386/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* [build] Apply the "-fno-PIE -nopie" workaround only to i386 buildsMichael Brown2015-02-121-0/+11
| | | | | | | | | | | | | | | | | | | | Hardened versions of gcc default to building position-independent code, which breaks our i386 build. Our build process therefore detects such platforms and automatically adds "-fno-PIE -nopie" to the gcc command line. On x86_64, we choose to build position-independent code (in order to reduce the final binary size and, in particular, the number of relocations required for UEFI binaries). The workaround therefore breaks the build process for x86_64 binaries on such platforms. Fix by moving the workaround to the i386-specific portion of the Makefile. Reported-by: Jan Kundrát <jkt@kde.org> Debugged-by: Jan Kundrát <jkt@kde.org> Debugged-by: Marin Hannache <git@mareo.fr> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [build] Add yet another potential location for isolinux.binMichael Brown2014-06-261-1/+2
| | | | | Reported-by: Martin Sofaru <ipxe@fhloston.org> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [lkrnprefix] Include iPXE version string in image headerMichael Brown2013-12-061-0/+4
| | | | | Originally-implemented-by: Christian Hesse <list@eworm.de> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [build] Update build system for Syslinux 6.xChristian Hesse2013-11-151-1/+4
| | | | | | | | | Syslinux 6.x places its files into a bios subdirectory, and requires that a ldlinux.c32 module be included within the ISO image. Add the relevant search paths for isolinux.bin, and include the file ldlinux.c32 within the ISO image if it exists. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [build] Fix building under OpenBSDThomas Miletich2012-07-231-0/+2
| | | | | | | | | Similarly to FreeBSD, OpenBSD requires the object format to be specified as elf_i386_obsd rather than elf_i386. Reported-by: Jiri B <jirib@devio.us> Modified-by: Michael Brown <mcb30@ipxe.org> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [image] Remove non-working image loadersMarin Hannache2012-04-241-7/+0
| | | | | | | | | | The WinCE, a.out and FreeBSD loaders are designed to be #included by core/loader.c, which no longer exists. These old loaders are not usable anymore and cause compilation failures when enabled in config/general.h. Signed-off-by: Marin Hannache <mareo@mareo.fr> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [vmware] Add GuestRPC mechanismMichael Brown2012-02-281-0/+1
| | | | | | Use the VMware backdoor I/O port to access the GuestRPC mechanism. Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [build] Add FreeBSD location for isolinuxMichael Brown2010-11-021-1/+2
| | | | | Reported-by: Jedrzej Kalinowski <kalinoj1@iem.pw.edu.pl> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [build] Provide %.fd0 build targets only for pcbiosMichael Brown2010-08-171-15/+0
| | | | | Originally-fixed-by: Piotr Jaroszyński <p.jaroszynski@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [build] Build pcbios specific drivers only on pcbiosPiotr Jaroszyński2010-08-161-2/+0
| | | | | Signed-off-by: Piotr Jaroszyński <p.jaroszynski@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
* [build] Look for isolinux.bin in more placesPiotr Jaroszyński2010-04-161-1/+5
| | | | | Signed-off-by: Piotr Jaroszyński <p.jaroszynski@gmail.com> Signed-off-by: Marty Connor <mdc@etherboot.org>
* [pxe] Separate parent PXE API caller from UNDINET driverJoshua Oreman2010-01-201-0/+1
| | | | | | | | | Calling the parent PXE stack (the stack that loaded us, for undionly.kkpxe) can be useful for more than UNDI calls; for instance, it lets us get cached DHCP packets to avoid re-DHCP when working with embedded images. Signed-off-by: Marty Connor <mdc@etherboot.org>
* [pxe] Add startpxe and stoppxe commandsMichael Brown2009-06-281-0/+1
| | | | | | | | | These commands can be used to activate or deactivate the PXE API (on a specifiable network interface). This is currently of limited use, since most image formats will call shutdown() before booting the image, meaning that the underlying net device gets shut down during remove_devices() anyway.
* [build] Kill off the last multiple-object source fileMichael Brown2009-04-171-5/+0
| | | | | | | The build mechanism currently allows for multiple objects per source file. The only remaining user of this is unnrv2b.S. Replace this usage with a separate unnrv2b16.S wrapper file, as is currently used for e.g. pxeprefix.S and kpxeprefix.S.
* [build] Pad .rom, .dsk, and .hd images to 512-byte boundariesMichael Brown2009-04-161-7/+0
| | | | | | | | QEMU will silently round down a disk or ROM image file to the nearest 512 bytes. Fix by always padding .rom, .dsk and .hd images to the nearest 512-byte boundary. Originally-fixed-by: Stefan Hajnoczi <stefanha@gmail.com>
* [build] Enable building with the Intel C compiler (icc)Michael Brown2009-03-261-3/+16
|
* [x86_64] Add support for compilation as an x86_64 binaryMichael Brown2008-12-051-1/+5
| | | | | | | | | | | | Currently the only supported platform for x86_64 is EFI. Building an EFI64 gPXE requires a version of gcc that supports __attribute__((ms_abi)). This currently means a development build of gcc; the feature should be present when gcc 4.4 is released. In the meantime; you can grab a suitable gcc tree from git://git.etherboot.org/scm/people/mcb30/gcc/.git
* [i386] Rename __cdecl to __asmcallMichael Brown2008-11-191-2/+2
| | | | | __cdecl is a misleading name, since it currently encapsulates both cdecl and regparm(0) attributes. Rename to __asmcall.
* [build] Fix building on FreeBSDMichael Brown2008-10-171-2/+6
| | | | | | | FreeBSD requires the object format to be specified as elf_i386_fbsd, rather than elf_i386. Based on a patch from Eygene Ryabinkin <rea-fbsd@codelabs.ru>
* [efi] Add EFI image format and basic runtime environmentMichael Brown2008-10-131-0/+1
| | | | | | | | | 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.
* [makefile] Reduce verbosity of various NON_AUTO_MEDIA rulesMichael Brown2008-10-101-4/+6
|
* [makefile] Split platform-dependent portions out of arch/i386/MakefileMichael Brown2008-10-101-50/+7
|
* [makefile] Add support for multiple build platformsMichael Brown2008-10-081-11/+0
| | | | | | | | | | | | | | | | | | | | | | 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.
* [makefile] Kill off arch/$(ARCH)/ConfigMichael Brown2008-10-071-5/+56
| | | | | | 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.
* [comboot] Add COMBOOT and COM32 supportDaniel Verkamp2008-08-281-0/+1
|
* [Makefile] Remove obsolete SRCDIRSMichael Brown2008-05-231-2/+0
|
* Modify gPXE core and drivers to work with the new timer subsystemAlexey Zaytsev2008-03-021-0/+1
| | | | Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com>
* Added missing .kpxe prefix.Michael Brown2007-09-061-0/+1
|
* Kill off redundant references to the .zprefixes.Michael Brown2007-07-161-49/+2
|
* Merge branch 'master' of /pub/scm/gpxeMarty Connor2007-07-061-0/+7
|\
| * Add .pdsk target (padded .dsk, suitable for qemu).Michael Brown2007-07-051-0/+7
| |
* | Rename .lilo extension to .lkrn and updated dependenciesMarty Connor2007-07-061-5/+5
|/
* Add .usb targetMichael Brown2007-07-051-0/+11
|
* Added .nbi as a format.Michael Brown2007-03-111-0/+4
|
* Remove some references to no-longer-existent source files.Michael Brown2007-01-141-6/+5
| | | | | Add a path for isolinux.bin that is correct on my system; hopefully it will work on others too.
* Updated PXE UDP implementation to use the new Etherboot UDP API.Michael Brown2006-08-021-0/+1
| | | | | | | Updated PXE API dispatcher to use copy_{to,from}_user, and moved to arch/i386 since the implementation is quite architecture-dependent. (The individual PXE API calls can be largely architecture-independent.)
* We now have just romprefix, rather than having isaprefix and pciprefixMichael Brown2006-06-061-5/+2
|
* Add drivers/block and arch/i386/interface/pcbiosMichael Brown2006-05-131-0/+1
|
* Merge from Etherboot 5.4Michael Brown2006-03-161-0/+4
|\
* | There is no arch/i386/firmware/linuxbios directoryMichael Brown2005-05-181-1/+1
|/
* Added "image" directoryMichael Brown2005-05-171-0/+1
|
* Added arch/i386/drivers/diskMichael Brown2005-04-251-1/+3
|
* Added arch/i386/drivers/busMichael Brown2005-04-181-1/+1
|
* hooks.o is now a single object, rather than having separate hooks.o andMichael Brown2005-04-101-5/+0
| | | | hooks_rm.o
* Merged mcb30-realmode-redesign back to HEADMichael Brown2005-04-081-369/+124
|
* unhuf.S is obsolete and no longer usedMichael Brown2005-03-091-1/+0
|
* Add rule to generate 16-bit version of decompressorMichael Brown2005-03-091-2/+5
|
* Initial revisionMichael Brown2005-03-081-0/+373