summaryrefslogtreecommitdiffstats
path: root/src/util
Commit message (Collapse)AuthorAgeFilesLines
...
* [build] Enable building with the Intel C compiler (icc)Michael Brown2009-03-262-0/+157
|
* [efi] Ensure EFI ROM checksum is zeroMichael Brown2009-01-091-101/+60Star
| | | | | | | The UEFI specification does not mention ROM checksums, and reassigns the field typically used as a checksum byte. The UEFI shell "loadpcirom" utility does not verify ROM checksums, but it seems that some UEFI BIOSes do.
* [util] Tidy up output of disrom.plMichael Brown2009-01-091-21/+26
|
* [efi] Add efirom utility and .efirom image formatMichael Brown2009-01-083-42/+324
|
* [efi] Allow for .efidrv images as well as .efi imagesMichael Brown2009-01-081-14/+93
| | | | | | Merge in the changes that allow for building EFI driver images (that can be loaded using the EFI shell's "load" command) as well as EFI applications.
* [efi] Use elf2efi utility in place of efilinkMichael Brown2009-01-073-516/+766
| | | | | | | | | | | 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.
* [x86_64] Add support for compilation as an x86_64 binaryMichael Brown2008-12-051-2/+10
| | | | | | | | | | | | 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
* [efi] Add EFI image format and basic runtime environmentMichael Brown2008-10-132-0/+508
| | | | | | | | | 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-1/+1
|
* [util] Don't die on undefined symbols in sortobjdump.plMichael Brown2008-10-101-1/+1
| | | | | Undefined symbols shouldn't reach sortobjdump.pl, but if they do then it is not a helpful place to report the error.
* [util] Add optional debug messages to zbin.cMichael Brown2008-10-101-0/+27
|
* [makefile] Split config.h out into config/*.h and kill off mkconfig.plMichael Brown2008-10-081-205/+0Star
|
* [util] Avoid calling fclose(NULL) in zbin.cEygene Ryabinkin2008-09-041-1/+2
| | | | | | | | Must check that argument to a fclose() is not NULL -- we can get to the 'err' label when file was not opened. fclose(NULL) is known to produce core dump on some platforms and we don't want zbin to fail so loudly. Signed-off-by: Eygene Ryabinkin <rea-fbsd@codelabs.ru>
* [util] Fix interpretation of short jumps in Option::ROMMichael Brown2008-08-271-1/+3
| | | | | | Option::ROM was assuming that ROM images using a short jump instruction for the init entry point would have a zero byte at offset 5; this is not necessarily true.
* [util] Allow Option::ROM to understand and modify initialisation entry pointMichael Brown2008-08-153-7/+66
| | | | | | | | | | | | | | Add support for manipulating the jump instruction that forms the option ROM initialisation entry point, so that mergerom.pl can treat it just like other entry points. Add support for merging the initialisation entry point (and IBM BOFM table) to mergerom.pl; this is another slightly icky but unfortunately necessary GPL vs. NDA workaround. When mergerom.pl replaces an entry point in the original ROM, it now fills in the corresponding entry point in the merged ROM with the original value; this allows (for example) a merged initialisation entry point to do some processing and then jump back to the original entry point.
* [util] Add mergerom.plMichael Brown2008-07-311-0/+80
| | | | | | | | | | | | | | This utility is required as a workaround for legal restrictions on including GPL and non-GPL code within the same expansion ROM image. While this is not encouraged, we are prepared to accept that concatenation of ROM images and updating of the ROM header data structures can be classed as "mere aggregation" within the terms of the GPL. If in any doubt, assume that you cannot include GPL and non-GPL code within the same expansion ROM image. Contact the Etherboot team for clarification on your specific circumstances.
* [util] Add Option::ROM library and rewrite disrom.pl to use it.Michael Brown2008-07-312-100/+520
| | | | | The Option::ROM module provides an easy way to read and edit fields within option ROM headers.
* [util] config-local.h to avoid accidental commitsStefan Hajnoczi2008-06-051-10/+27
| | | | | | | | | | | | | | | | | | | | During development it is often handy to change the config.h options from their defaults, for example to enable debugging features. To prevent accidental commits of debugging config.h changes, mdc suggested having a config-local.h that is excluded from source control. This file acts as a temporary config.h and can override any of the defaults. This commit is an attempt to implement the config-local.h feature. The config.h file now has the following as its last line: /* @TRYSOURCE config-local.h */ The @TRYSOURCE directive causes config-local.h to be included at that point in the file. If config-local.h does not exist, no error will be printed and parsing will continue as normal. Therefore, mkconfig.pl is "trying" to "source" config-local.h.
* [Makefile] Use bin/VVVVDDDD.rom instead of bin/pci_VVVV_DDDD.romMichael Brown2008-03-061-1/+1
| | | | | | | | The generate-by-PCI-device-ID rules (bin/pci_VVVV_DDDD.rom) are generally used for building actual ROM images to be burned, and the burning utilities generally run under some DOS variant. Change the filename from pci_VVVV_DDDD.rom to VVVVDDDD.rom so that it is compatible with the DOS 8.3-character filename limit.
* Add bin/pci_VVVV_DDDD target to allow building ROM images withoutMichael Brown2007-11-191-4/+5
| | | | needing to know the gPXE internal ROM name.
* Produce no output unless -v is specified or an error occurs.Michael Brown2007-07-171-2/+2
|
* Restore the "shared symbol found only in a single object should beMichael Brown2007-07-171-2/+9
| | | | treated as being provided by that object" code.
* Added symbols that the DBG() macros will use.Michael Brown2007-07-171-0/+12
|
* Use objdump -t for symcheck; it allows us to take the symbol sectionMichael Brown2007-07-171-36/+60
| | | | into account (and so remove the false positives due to .tbl.* symbols).
* Compressed ROM images now work.Michael Brown2007-07-162-0/+326
|
* Added nrv2b binary to ignore listMichael Brown2007-07-151-0/+1
|
* Rename .lilo extension to .lkrn and updated dependenciesMarty Connor2007-07-063-51/+11Star
|
* Rename .cvsignore files to .gitignoreMichael Brown2007-06-091-0/+0
|
* Obsolete for some time now.Michael Brown2006-12-201-751/+0Star
|
* Always update the PnP checksum, even if the ident string is not being set.Michael Brown2006-08-241-4/+6
|
* Quick utility to pad floppy disk images for vmware/qemuMichael Brown2006-08-231-0/+12
|
* - modified length of password string to match visible field lengthDan Lynch2006-06-281-3/+3
| | | | - value of n passed to wgetnstr should now be equivalent to output from strlen (i.e. length excluding NUL-terminating character)
* - first check-in for mucurses_test.cDan Lynch2006-06-272-2/+71
| | | | - added mucurses_test.c build targets
* Use byte 6 for the checksum, rather than byte 5. (Byte 5 may be part ofMichael Brown2006-06-061-10/+6Star
| | | | the jmp instruction).
* Added netmask and gateway global options.Michael Brown2006-04-051-8/+218
| | | | Added iSCSI testing.
* Make pcap_inject non-static, so that its prototype doesn't conflict withMichael Brown2006-04-051-1/+1
| | | | the real pcap_inject in the case where we do have it.
* Allow specifying the local IP address via --from.Michael Brown2006-03-241-1/+14
|
* Put in a substitute pcap_inject() function, since earlier versions ofMichael Brown2006-03-241-0/+32
| | | | | | libpcap are lacking the function. For now, we always use the substitute version, since there's no easy way to determine whether or not we need it.
* Moved "hello world" protocol implementation out of prototester.c and intoMichael Brown2006-03-231-103/+1Star
| | | | the first standalong uIP-based protocol module.
* Pick up the gPXE include files when building prototester.Michael Brown2006-03-231-1/+1
|
* Moved uIP wrapper out of prototester.c and into proto/tcp.c.Michael Brown2006-03-231-135/+4Star
|
* Add Makefile for hijack and prototester utilities.Michael Brown2006-03-232-0/+18
|
* Can now also print data sent by the remote side.Michael Brown2006-03-231-13/+34
|
* Now capable of sending "Hello world!" via TCP.Michael Brown2006-03-231-49/+212
|
* Added basic http-specific option parsingMichael Brown2006-03-221-5/+84
|
* Started adding structure to allow for separate protocol tests, withMichael Brown2006-03-221-97/+257
| | | | | | | individual options. Created the embryonic beginnings of a cleanly separated driver and protocol stack API.
* Skeleton version: contains device driver (connecting to network viaMichael Brown2006-03-221-0/+338
| | | | | | | | hijack daemon) and a functional but very ugly and very primitive wrapper around uIP. This passes proof-of-concept testing; it successfully initiates a TCP connection and responds to pings.
* Terminate cleanly on SIGINT or SIGHUPMichael Brown2006-03-211-11/+41
|
* Use libpcap API to send/receive packets.Michael Brown2006-03-211-17/+114
| | | | | | | Include automatic filtering (based on source MAC address of first transmitted packet). Proven to successfully elicit a ping response from a remote host.
* Basic structure in place: can daemonise, listen on a Unix domainMichael Brown2006-03-211-0/+469
| | | | | socket, accept new connections, open a network interface using libpcap and forward (all) traffic.