14 years ago[Contribs] Add updated wake-on-LAN patch from Bill <>
Michael Brown [Wed, 19 Mar 2008 01:08:38 +0000 (01:08 +0000)]
[Contribs] Add updated wake-on-LAN patch from Bill <>

14 years ago[Settings] Allow named settings to have their type specified explicitly
Michael Brown [Tue, 18 Mar 2008 15:51:03 +0000 (15:51 +0000)]
[Settings] Allow named settings to have their type specified explicitly

Allow setting names such as "ip:hex".

14 years ago[Timers] Initialise timers on first use
Michael Brown [Tue, 18 Mar 2008 15:23:10 +0000 (15:23 +0000)]
[Timers] Initialise timers on first use

Timers are sometimes required before the call to initialise(), so we
cannot rely on initialise() to set up the timers before use.

Also fix a potential integer overflow issue in generic_currticks_udelay()

14 years ago[Timers] Miscellaneous timer system fixes
Michael Brown [Tue, 18 Mar 2008 14:48:28 +0000 (14:48 +0000)]
[Timers] Miscellaneous timer system fixes

Add missing comments to timer code.

Lock system if no suitable timer source is found.

Fix initialisation order so that timers are initialised before code that
needs to use them.

14 years ago[Settings] Allow encapsulated options to be specified as named settings
Michael Brown [Tue, 18 Mar 2008 04:13:11 +0000 (04:13 +0000)]
[Settings] Allow encapsulated options to be specified as named settings

Allow encapsulated options to be specified as e.g. "175.3".  As a
side-effect, change the separator character for the type field from "." to
":"; for example, the IP address pseudo-option is now "175.3:ipv4".

14 years ago[Settings] Add int16, int32 and hex-string configuration setting types
Michael Brown [Tue, 18 Mar 2008 03:23:36 +0000 (03:23 +0000)]
[Settings] Add int16, int32 and hex-string configuration setting types

Add parse and display routines for 16-bit and 32-bit integer configuration

Add parse and display routines for hex-string configuration settings.

Assume hex-string as a configuration setting type if no type is explicitly

14 years ago[libc] Fix a validation bug in strtoul()
Michael Brown [Tue, 18 Mar 2008 03:14:05 +0000 (03:14 +0000)]
[libc] Fix a validation bug in strtoul()

strtoul() was accepting the characters immediately above ASCII 0..9 as
valid hex digits, due to a missing comparison.

14 years ago[Settings] show_setting() functions return snprintf()-style length.
Michael Brown [Tue, 18 Mar 2008 00:48:23 +0000 (00:48 +0000)]
[Settings] show_setting() functions return snprintf()-style length.

show_setting() and related functions now return an "actual length" in the
style of snprintf().  This is to allow consumers to allocate buffers large
enough to hold the formatted setting.

14 years agoMerge branch 'pxerom-pmm'
Michael Brown [Tue, 11 Mar 2008 16:11:51 +0000 (16:11 +0000)]
Merge branch 'pxerom-pmm'

14 years ago[PXE] PMM now tested and working
Michael Brown [Tue, 11 Mar 2008 16:08:04 +0000 (16:08 +0000)]
[PXE] PMM now tested and working

Minor bugfix: 4 x 2 = 8, not 16

14 years ago[prefix] Cope with image source addresses outside base memory
Michael Brown [Tue, 11 Mar 2008 13:26:46 +0000 (13:26 +0000)]
[prefix] Cope with image source addresses outside base memory

When PMM is used, the gPXE image source will no longer be in base memory.
Decompression of .text16 and .data16 can therefore no longer be done in
real mode.

14 years ago[PXE] Improve PnP/BBS detection
Michael Brown [Tue, 11 Mar 2008 12:02:12 +0000 (12:02 +0000)]
[PXE] Improve PnP/BBS detection

Use BBS installation check to see if we need to hook INT19 even on a PnP

Verify that $PnP signature is paragraph-aligned; bochs/qemu BIOS provides
a dummy $PnP signature with no valid entry point, and deliberately
unaligns the signature to indicate that it is not properly valid.

Print message if INT19 is hooked.

Attempt to use PMM even if BBS check failed.

14 years ago[prefix] Add printing functions to libprefix.S
Michael Brown [Tue, 11 Mar 2008 11:32:19 +0000 (11:32 +0000)]
[prefix] Add printing functions to libprefix.S

Move the printing functions from pxeprefix.S into libprefix.S, so they
are available for debug from any prefix.

14 years agoMerge branch 'xl0-timer'
Michael Brown [Mon, 10 Mar 2008 13:02:53 +0000 (13:02 +0000)]
Merge branch 'xl0-timer'

14 years ago[PXE] Work around a buffer-size bug in WinPE
Michael Brown [Mon, 10 Mar 2008 11:46:55 +0000 (11:46 +0000)]
[PXE] Work around a buffer-size bug in WinPE

WinPE's pxeboot.n12 takes the BufferLimit returned by gPXE (indicating
the size of gPXE's internal DHCP packet buffers) and erroneously passes
it in as BufferSize (indicating the size of pxeboot.n12's DHCP packet
buffer).  If these don't match, then pxeboot.n12 ends up instructing gPXE
to overwrite parts of its data segment.

Change gPXE's internal DHCP packet buffers to be exactly
sizeof(BOOTPLAYER_t) bytes to work around this problem.

14 years ago[PXE] Add PMM support to romprefix.S (untested) pxerom-pmm
Michael Brown [Sun, 9 Mar 2008 22:13:07 +0000 (22:13 +0000)]
[PXE] Add PMM support to romprefix.S (untested)

ROM initialisation vector now attempts to allocate a 2MB block using
PMM.  If successful, it copies the ROM image to this block, then
shrinks the ROM image to allow for more option ROMs.  If unsuccessful,
it leaves the ROM as-is.

ROM BEV now attempts to return to the BIOS, resorting to INT 18 only
if the BIOS stack has been corrupted.

14 years ago[Makefile] Use bin/VVVVDDDD.rom instead of bin/pci_VVVV_DDDD.rom
Michael Brown [Thu, 6 Mar 2008 15:37:34 +0000 (15:37 +0000)]
[Makefile] Use bin/VVVVDDDD.rom instead of bin/pci_VVVV_DDDD.rom

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.

14 years ago[tg3] Added device ID for rebranded HP card.
Michael Brown [Thu, 6 Mar 2008 13:19:42 +0000 (13:19 +0000)]
[tg3] Added device ID for rebranded HP card.

14 years agoUse plain C in timer_rdtsc for division instead of inline asssembly.
Alexey Zaytsev [Thu, 6 Mar 2008 13:06:58 +0000 (16:06 +0300)]
Use plain C in timer_rdtsc for division instead of inline asssembly.

This also fixes a bug in rdtsc_currticks when the result did not fix in %eax

Signed-off-by: Alexey Zaytsev <>
14 years ago[PXEXT] Add PXENV_FILE_EXEC call to PXE extensions API.
Michael Brown [Tue, 4 Mar 2008 18:16:30 +0000 (18:16 +0000)]
[PXEXT] Add PXENV_FILE_EXEC call to PXE extensions API.

This allows pxelinux to execute arbitrary gPXE commands.  This is
remarkably unsafe (not least because some of the commands will assume
full ownership of memory and do nasty things like edit the e820 map
underneath the calling pxelinux), but it does allow access to the
"sanboot" command.

14 years ago[Command] Add "sanboot" command.
Michael Brown [Tue, 4 Mar 2008 17:59:26 +0000 (17:59 +0000)]
[Command] Add "sanboot" command.

14 years ago[Timers] Move TIMER_BIOS and TIMER_RDTSC to their own config.h section. xl0-timer
Michael Brown [Sun, 2 Mar 2008 02:33:54 +0000 (02:33 +0000)]
[Timers] Move TIMER_BIOS and TIMER_RDTSC to their own config.h section.

14 years ago[Timers] Do not enable serial console by default; this change should not
Michael Brown [Sun, 2 Mar 2008 02:32:12 +0000 (02:32 +0000)]
[Timers] Do not enable serial console by default; this change should not
be propagated to master.

14 years agofix the rdtsc namimg
Alexey Zaytsev [Sun, 2 Mar 2008 02:19:29 +0000 (05:19 +0300)]
fix the rdtsc namimg

14 years agoCleanups
Alexey Zaytsev [Sun, 2 Mar 2008 01:36:50 +0000 (04:36 +0300)]

Replace a printf with a DBG in timer_rtdsc.c
Replace a printf in timer.c with assert
Return proper error codes from timer drivers

Signed-off-by: Alexey Zaytsev <>
14 years agoModify gPXE core and drivers to work with the new timer subsystem
Alexey Zaytsev [Sun, 2 Mar 2008 00:41:10 +0000 (03:41 +0300)]
Modify gPXE core and drivers to work with the new timer subsystem

Signed-off-by: Alexey Zaytsev <>
14 years agoIntroduce the new timer subsystem.
Alexey Zaytsev [Sat, 1 Dec 2007 04:07:01 +0000 (07:07 +0300)]
Introduce the new timer subsystem.

Timer subsystem initialization code in core/timer.c

Split the BIOS and RTDSC timer drivers from i386_timer.c

Split arch/i386/firmware/pcbios/bios.c into the RTSDC
timer driver and arch/i386/core/nap.c

Split the headers properly:
include/unistd.h - delay functions to be used by the
gPXE core and drivers.

include/gpxe/timer.h - the fimer subsystem interface
to be used by the timer drivers
and currticks() to be used by
the code gPXE subsystems.

include/latch.h - removed
include/timer.h - scheduled for removal. Some driver
are using currticks, which is
only for core subsystems.

Signed-off-by: Alexey Zaytsev <>
14 years ago[DHCP] Fix RFC4390 client identifier constructions.
Michael Brown [Wed, 27 Feb 2008 16:55:46 +0000 (16:55 +0000)]
[DHCP] Fix RFC4390 client identifier constructions.

RFC 4390 provides for the DHCP client identifier to contain the link-layer
hardware type and MAC address when the MAC address exceeds 16 bytes.
However, the hardware type field is only 8 bits; we were assuming 16 bits.

14 years ago[Infiniband] Add preliminary support for multi-port devices.
Michael Brown [Wed, 27 Feb 2008 13:59:56 +0000 (13:59 +0000)]
[Infiniband] Add preliminary support for multi-port devices.

Arbel and Hermon cards both have multiple ports.  Add the
infrastructure required to register each port as a separate IB
device.  Don't yet register more than one port, since registration
will currently fail unless a valid link is detected.

Use ib_*_{set,get}_{drv,owner}data wrappers to access driver- and
owner-private data on Infiniband structures.

14 years ago[Infiniband] Centralise MAD operations
Michael Brown [Tue, 26 Feb 2008 22:56:19 +0000 (22:56 +0000)]
[Infiniband] Centralise MAD operations

Pull out common code for handling management datagrams from arbel.c
and hermon.c into infiniband.c.

Add port number to struct ib_device.

Add open(), close() and mad() methods to struct ib_device_operations.

14 years ago[Hermon] Donate joint copyright on Hermon driver to Mellanox.
Michael Brown [Sat, 23 Feb 2008 11:05:46 +0000 (11:05 +0000)]
[Hermon] Donate joint copyright on Hermon driver to Mellanox.

14 years ago[Hermon] Add driver for Mellanox Hermon (ConnectX) cards.
Michael Brown [Sat, 23 Feb 2008 10:51:38 +0000 (10:51 +0000)]
[Hermon] Add driver for Mellanox Hermon (ConnectX) cards.

14 years ago[Infiniband] Fix typo in debug statement
Michael Brown [Sat, 23 Feb 2008 10:36:52 +0000 (10:36 +0000)]
[Infiniband] Fix typo in debug statement

14 years ago[Infiniband] Add missing list_del()s in ib_create_qp() failure path.
Michael Brown [Sat, 23 Feb 2008 04:03:31 +0000 (04:03 +0000)]
[Infiniband] Add missing list_del()s in ib_create_qp() failure path.

14 years agoAdd DBGLVL_IO to trace all memory-mapped I/O.
Michael Brown [Thu, 21 Feb 2008 12:39:00 +0000 (12:39 +0000)]
Add DBGLVL_IO to trace all memory-mapped I/O.

14 years agoRemove reference to COFF support. I can find no trace of ever having supported it.
Michael Brown [Thu, 21 Feb 2008 04:11:56 +0000 (04:11 +0000)]
Remove reference to COFF support.  I can find no trace of ever having supported it.

14 years agoMake tarball generation quieter
Marty Connor [Thu, 14 Feb 2008 22:40:45 +0000 (17:40 -0500)]
Make tarball generation quieter

Deleting bin/deps after "make veryclean" keeps deps from being
regenerated in the tarball.

14 years agoUpdated $(VERSION) for release. Change tarball generation.
Marty Connor [Thu, 14 Feb 2008 22:26:47 +0000 (17:26 -0500)]
Updated $(VERSION) for release. Change tarball generation.

Added 'install' and 'configure' targets for those who are used
to other build setups.

14 years agoRemove obsolete files (INSTALL, RELNOTES)
Marty Connor [Thu, 14 Feb 2008 21:42:38 +0000 (16:42 -0500)]
Remove obsolete files (INSTALL, RELNOTES)

Copyrights was renamed to COPYRIGHTS to match case with other top-level files

14 years agoUpdate VERSION for 0.9.3
Marty Connor [Thu, 14 Feb 2008 21:34:49 +0000 (16:34 -0500)]
Update VERSION for 0.9.3

14 years agoUpdate LOG for 0.9.3 release
Marty Connor [Thu, 14 Feb 2008 21:33:43 +0000 (16:33 -0500)]
Update LOG for 0.9.3 release

14 years agoRename Copyrights to COPYRIGHTS for consistency with other filenames
Marty Connor [Thu, 14 Feb 2008 21:21:51 +0000 (16:21 -0500)]
Rename Copyrights to COPYRIGHTS for consistency with other filenames

14 years agoAdd README file which replaces INSTALL and gives pointers to more information.
Marty Connor [Thu, 14 Feb 2008 21:17:30 +0000 (16:17 -0500)]
Add README file which replaces INSTALL and gives pointers to more information.

14 years agoAdded mtnic driver provided by Mellanox.
Michael Brown [Wed, 13 Feb 2008 15:01:18 +0000 (15:01 +0000)]
Added mtnic driver provided by Mellanox.

Stripped out trailing whitespace to keep git happy.

14 years agoGuard against corruption of top half of %esp during UNDI ISR
Michael Brown [Wed, 13 Feb 2008 14:58:20 +0000 (14:58 +0000)]
Guard against corruption of top half of %esp during UNDI ISR

14 years agoIf no shell was requested via Ctrl-B, exit immediately if boot fails.
Michael Brown [Mon, 11 Feb 2008 17:51:44 +0000 (17:51 +0000)]
If no shell was requested via Ctrl-B, exit immediately if boot fails.

14 years agoMerge branch 'master' of
Michael Brown [Mon, 11 Feb 2008 16:33:37 +0000 (16:33 +0000)]
Merge branch 'master' of

14 years agoUNDI ISR: save and restore 32-bit registers
H. Peter Anvin [Sat, 9 Feb 2008 00:19:02 +0000 (16:19 -0800)]
UNDI ISR: save and restore 32-bit registers

As written, if the if the UNDI ISR call clobbers the upper halves of
any of the GPRs (which by convention it is permitted to do, and by
paranoia should be expected to do) then nothing in the interrupt
handler will recover the state.

Additionally, save/restore %fs and %gs out of sheer paranoia - it's a
cheap enough operation, and may prevent problems due to poorly written
UNDI stacks.

14 years agoUse internal 16-bit stack for added safety.
Michael Brown [Mon, 11 Feb 2008 15:06:26 +0000 (15:06 +0000)]
Use internal 16-bit stack for added safety.

14 years agoundiisr.S: save/restore upper half of %eflags
H. Peter Anvin [Mon, 11 Feb 2008 02:13:06 +0000 (18:13 -0800)]
undiisr.S: save/restore upper half of %eflags

Since we don't know what the UNDI code does, it is safest to
save/restore %eflags even though the lower half of %eflags is
automatically saved by the interrupt itself.

14 years agoUNDI ISR: save and restore 32-bit registers
H. Peter Anvin [Sat, 9 Feb 2008 00:19:02 +0000 (16:19 -0800)]
UNDI ISR: save and restore 32-bit registers

As written, if the if the UNDI ISR call clobbers the upper halves of
any of the GPRs (which by convention it is permitted to do, and by
paranoia should be expected to do) then nothing in the interrupt
handler will recover the state.

Additionally, save/restore %fs and %gs out of sheer paranoia - it's a
cheap enough operation, and may prevent problems due to poorly written
UNDI stacks.

14 years agoFixes for EqualLogic iSCSI targets:
Michael Brown [Thu, 7 Feb 2008 22:46:26 +0000 (22:46 +0000)]
Fixes for EqualLogic iSCSI targets:

  Allow port numbers in iSCSI redirection.

  Wait for SCSI status, not just the final data-in (which may be followed
  by an explicit SCSI Response PDU if the S bit is not set).

14 years agoStart restructuring pxe_tftp.c to cope with multicast (MTFTP) receives.
Michael Brown [Sat, 2 Feb 2008 15:59:32 +0000 (15:59 +0000)]
Start restructuring pxe_tftp.c to cope with multicast (MTFTP) receives.

14 years agoMerge commit 'laptop/master'
Michael Brown [Tue, 22 Jan 2008 18:57:01 +0000 (18:57 +0000)]
Merge commit 'laptop/master'

14 years agoMerge branch 'master' of
Michael Brown [Tue, 22 Jan 2008 18:53:01 +0000 (18:53 +0000)]
Merge branch 'master' of

14 years agoAdd pxe_set_cached_filename() so that pxe_tftp.c can also update the
Michael Brown [Tue, 22 Jan 2008 18:51:12 +0000 (18:51 +0000)]
Add pxe_set_cached_filename() so that pxe_tftp.c can also update the
stored DHCP packets.

14 years agoUse XFER_INIT() macro.
Michael Brown [Tue, 22 Jan 2008 18:50:24 +0000 (18:50 +0000)]
Use XFER_INIT() macro.

14 years agoAdd XFER_INIT() macro.
Michael Brown [Tue, 22 Jan 2008 18:48:47 +0000 (18:48 +0000)]
Add XFER_INIT() macro.

14 years agoMake seek information part of the xfer metadata, rather than an entirely
Michael Brown [Tue, 8 Jan 2008 16:46:55 +0000 (16:46 +0000)]
Make seek information part of the xfer metadata, rather than an entirely
separate xfer method.

Add missing .alloc_iob entries to several xfer_interface_operations

14 years agoAdded the embedded pxelinux payload patch from hpa.
Michael Brown [Tue, 8 Jan 2008 15:51:36 +0000 (15:51 +0000)]
Added the embedded pxelinux payload patch from hpa.

14 years agoWhen the DHCP file/sname fields are empty, don't allow them to override
Michael Brown [Mon, 7 Jan 2008 13:50:32 +0000 (13:50 +0000)]
When the DHCP file/sname fields are empty, don't allow them to override
their equivalent DHCP-option-specified values.

14 years agoUse .SECONDARY instead of .PRECIOUS for bin/%.tmp targets.
Michael Brown [Mon, 7 Jan 2008 13:15:12 +0000 (13:15 +0000)]
Use .SECONDARY instead of .PRECIOUS for bin/%.tmp targets.

14 years agoFix off-by-one error (discovered by Shao Miller).
Michael Brown [Mon, 7 Jan 2008 13:12:43 +0000 (13:12 +0000)]
Fix off-by-one error (discovered by Shao Miller).

14 years agoUnconditionally set utility program variables in Makefile to allow CROSS_COMPILE...
Marty Connor [Wed, 2 Jan 2008 17:50:30 +0000 (12:50 -0500)]
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.

14 years agoRetain some intermediate object files, suggested by Geert Stappers and Alexey Zaytsev.
Marty Connor [Fri, 28 Dec 2007 19:33:11 +0000 (14:33 -0500)]
Retain some intermediate object files, suggested by Geert Stappers and Alexey Zaytsev.

src/bin/%.tmp files can be useful for debugging, so let's keep them.

14 years agoAdd preliminary support for MTFTP.
Michael Brown [Wed, 26 Dec 2007 18:51:20 +0000 (18:51 +0000)]
Add preliminary support for MTFTP.

14 years ago3c90x driver fix (legacy) from Geert Staapers
Marty Connor [Thu, 20 Dec 2007 16:53:00 +0000 (11:53 -0500)]
3c90x driver fix (legacy) from Geert Staapers

From: Geert Stappers <>
Subject: [Etherboot-developers] 3c90x polling again [patch]
Date: Thu, 29 Nov 2007 09:22:36 +0100
User-Agent: Mutt/1.5.16 (2007-06-11)


gPXE didn't work on 3COM 905C Tornado cards for me.
It did transmit the DHCP request, but it didn't see the DHCP offer.

Adding debug print statements allready solved the problem.
Attached is a patch that has a cleaner delay then print statements.
The core of it is
-    for(i=0;i<40000;i++);
+    mdelay(1);

There was no research if the change is about a longer delay
or about code NOT being optimized away. It works for me   :-)

Geert Stappers

14 years agoFix e1000 receive tail pointer (RDT) handling
Marty Connor [Mon, 17 Dec 2007 18:07:29 +0000 (13:07 -0500)]
Fix e1000 receive tail pointer (RDT) handling

e1000 should now work in VMware.

14 years agoKill off the now-obsolete *_fill_nic() functions.
Michael Brown [Sat, 15 Dec 2007 19:40:55 +0000 (19:40 +0000)]
Kill off the now-obsolete *_fill_nic() functions.

14 years agoMerge branch 'master' of
Michael Brown [Sat, 15 Dec 2007 19:37:44 +0000 (19:37 +0000)]
Merge branch 'master' of

14 years agoAutodetect whether or not we need to be using -fno-stack-protector.
Michael Brown [Sat, 15 Dec 2007 19:37:21 +0000 (19:37 +0000)]
Autodetect whether or not we need to be using -fno-stack-protector.

14 years agoOverwrite the device descriptor's IRQ number with whatever the legacy
Michael Brown [Sat, 15 Dec 2007 19:32:32 +0000 (19:32 +0000)]
Overwrite the device descriptor's IRQ number with whatever the legacy
driver's probe() routine fills in in nic->irqno.  This is so that
non-interrupt-capable legacy drivers which set nic->irqno=0 will end
up reporting IRQ#0 via PXENV_UNDI_GET_INFORMATION; this in turn means
that the calling PXE NBP will (should) hook the timer interrupt, and
everything will sort of work.

14 years agoCorrect e1000 interrupt routine to enable on 1 disable on 0. duh.
Marty Connor [Thu, 13 Dec 2007 16:20:45 +0000 (11:20 -0500)]
Correct e1000 interrupt routine to enable on 1 disable on 0. duh.

The e1000_irq() routine should (per mcb30) do enable on non-zero,
disable on zero.  This is not consistent in all drivers, so I'll
wait to update it when doing a global sweep.

14 years agoRemove *_fill_nic() calls, and directly set nic->ioaddr and nic->irqno .
Marty Connor [Thu, 13 Dec 2007 16:08:40 +0000 (11:08 -0500)]
Remove *_fill_nic() calls, and directly set nic->ioaddr and nic->irqno .

This needs to be done manually because if the irq() routine is
implemented then we want something like "nic->irqno = pci->irqno;",
else we do "nic->irqno = 0;" nic->ioaddr may also need to be set

Also added local variables to end of many files, for emacs indentation
to match kernel style (tab does 8 space indent).

14 years agoRemove the obsolete pre-aBFT AoE boot table.
Michael Brown [Wed, 12 Dec 2007 14:32:02 +0000 (14:32 +0000)]
Remove the obsolete pre-aBFT AoE boot table.

14 years agoYet another attempt to autodetect an appropriate "echo -e".
Michael Brown [Fri, 7 Dec 2007 20:25:02 +0000 (14:25 -0600)]
Yet another attempt to autodetect an appropriate "echo -e".

14 years agoIgnore .echocheck internal housekeeping file.
Michael Brown [Sat, 8 Dec 2007 00:51:24 +0000 (00:51 +0000)]
Ignore .echocheck internal housekeeping file.

14 years agoAnother (hopefully more robust) attempt to find a usable substitute
Michael Brown [Sat, 8 Dec 2007 00:50:57 +0000 (00:50 +0000)]
Another (hopefully more robust) attempt to find a usable substitute
for "echo -e" on the host system.

14 years agoRemove the (unused) option to override _prefix_link_addr,
Michael Brown [Fri, 7 Dec 2007 07:34:11 +0000 (01:34 -0600)]
Remove the (unused) option to override _prefix_link_addr,
_textdata_link_addr, _load_addr and _max_align in the linker scripts.
A bug in some versions of ld causes segfaults if the DEFINED() macro
is used in a linker script *and* the -Map option to ld is present.

We don't currently need to override any of these values; if we need to
do so in future then the solution will probably be to always specify
the values on the ld command line, and have the linker script not
define them at all.

14 years agoAvoid Makefile syntax that requires make >= 3.81.
Michael Brown [Fri, 7 Dec 2007 04:14:06 +0000 (04:14 +0000)]
Avoid Makefile syntax that requires make >= 3.81.

14 years agoTry to fix echo-detection to work on all systems that provide any
Michael Brown [Fri, 7 Dec 2007 03:35:32 +0000 (03:35 +0000)]
Try to fix echo-detection to work on all systems that provide any
suitable "echo -e" substitute.

14 years agoFix compiler warnings that appear only on OpenBSD.
Michael Brown [Thu, 6 Dec 2007 20:16:46 +0000 (14:16 -0600)]
Fix compiler warnings that appear only on OpenBSD.

14 years agoKill off some warnings-problematic debug statements in ndp.c; the code
Michael Brown [Fri, 7 Dec 2007 01:51:08 +0000 (01:51 +0000)]
Kill off some warnings-problematic debug statements in ndp.c; the code
is non-functional anyway.

14 years agoDon't complain when callers provide too-short buffers for
Michael Brown [Fri, 7 Dec 2007 01:06:37 +0000 (01:06 +0000)]
Don't complain when callers provide too-short buffers for

14 years agoFix a minor logical error in posix_io.c
Michael Brown [Fri, 7 Dec 2007 00:52:48 +0000 (00:52 +0000)]
Fix a minor logical error in posix_io.c

14 years agoVarious warnings fixups for OpenBSD with gcc-3.3.5.
Michael Brown [Fri, 7 Dec 2007 00:11:43 +0000 (00:11 +0000)]
Various warnings fixups for OpenBSD with gcc-3.3.5.

14 years agoFix prototype mismatch.
Michael Brown [Thu, 6 Dec 2007 23:35:37 +0000 (23:35 +0000)]
Fix prototype mismatch.

14 years agoAdd missing format qualifier
Michael Brown [Thu, 6 Dec 2007 21:38:23 +0000 (21:38 +0000)]
Add missing format qualifier

14 years agoAdd copyright, clean up comments a bit, remove unnecessary code.
Marty Connor [Mon, 3 Dec 2007 06:17:14 +0000 (01:17 -0500)]
Add copyright, clean up comments a bit, remove unnecessary code.

Cleanups for e1000.c.

14 years agoReallocate memory for bitmaps only when necessary.
Michael Brown [Thu, 29 Nov 2007 19:10:10 +0000 (19:10 +0000)]
Reallocate memory for bitmaps only when necessary.

14 years agoudp_open_promisc() calls udp_open_common() with peer==NULL.
Michael Brown [Wed, 28 Nov 2007 11:56:14 +0000 (11:56 +0000)]
udp_open_promisc() calls udp_open_common() with peer==NULL.

14 years agoAdd RFC2090 TFTP multicast support.
Michael Brown [Wed, 28 Nov 2007 10:57:26 +0000 (10:57 +0000)]
Add RFC2090 TFTP multicast support.

14 years agoQuick hack to be able to accept transfers from servers that don't
Michael Brown [Sun, 25 Nov 2007 16:06:29 +0000 (16:06 +0000)]
Quick hack to be able to accept transfers from servers that don't
supply options.

14 years agoMerge branch 'mdc-working' of ssh://
Marty Connor [Sat, 24 Nov 2007 02:54:26 +0000 (21:54 -0500)]
Merge branch 'mdc-working' of ssh://

14 years agoProvide individually cached constructed copies of DHCP packets via
Michael Brown [Thu, 22 Nov 2007 04:43:11 +0000 (04:43 +0000)]
Provide individually cached constructed copies of DHCP packets via
PXENV_GET_CACHED_INFO.  If we dont do this, Altiris' NBP screws up; it
relies on being able to grab pointers to each of the three packets and
then read them at will later.

14 years agoDo not fill in the BufferLimit field in struct
Michael Brown [Thu, 22 Nov 2007 00:31:21 +0000 (00:31 +0000)]
Do not fill in the BufferLimit field in struct
s_PXENV_GET_CACHED_INFO, because this field doesn't exist in earlier
versions of the PXE spec, and some callers don't allocate space for it.

14 years agoAllow DHCP server to instruct gPXE to ignore ProxyDHCP (which will
Michael Brown [Wed, 21 Nov 2007 22:10:04 +0000 (22:10 +0000)]
Allow DHCP server to instruct gPXE to ignore ProxyDHCP (which will
also avoid waiting for ProxyDHCP offers).

Also reduce the ProxyDHCP timeout, because it's already irritating me.

14 years agoAdd ProxyDHCP support.
Michael Brown [Wed, 21 Nov 2007 21:51:43 +0000 (21:51 +0000)]
Add ProxyDHCP support.

14 years agoAdded netdev_nullify to natsemi_remove()
Marty Connor [Wed, 21 Nov 2007 15:33:51 +0000 (10:33 -0500)]
Added netdev_nullify to natsemi_remove()

14 years agoRemoved old e1000 driver.
Michael Brown [Wed, 21 Nov 2007 15:37:58 +0000 (15:37 +0000)]
Removed old e1000 driver.