people/andreif/gpxe.git
15 years agoSplit DHCP packet creation into two parts: creating the basic packet
Michael Brown [Wed, 19 Jul 2006 12:12:45 +0000 (12:12 +0000)]
Split DHCP packet creation into two parts: creating the basic packet
structure, and populating it with options.  This should allow us to
use the same basic options list for both DHCPDISCOVER and DHCPREQUEST,
plus making it much easier to set the non-constant parameters
(e.g. requested IP address) in request packets.

15 years agoAllow for calling find_dhcp_option() with "options" set to NULL, in order
Michael Brown [Wed, 19 Jul 2006 11:05:38 +0000 (11:05 +0000)]
Allow for calling find_dhcp_option() with "options" set to NULL, in order
to search through all registered option blocks.

Move some static inlines that are likely to be used frequently into
dhcpopts.c as normal functions, to save space.

15 years agoThis file breaks "make blib"; please find a way to avoid doing this.
Michael Brown [Mon, 17 Jul 2006 19:19:17 +0000 (19:19 +0000)]
This file breaks "make blib"; please find a way to avoid doing this.

15 years agoThe first packet (ClientHello Handshake) can be constructed and is accepted
Derek Pryor [Mon, 17 Jul 2006 16:38:20 +0000 (16:38 +0000)]
The first packet (ClientHello Handshake) can be constructed and is accepted
by SSL servers. Framework.c allows me to test the library against a given
https server.

15 years agoFix creation of the htype field; the ll_proto field from which it is
Michael Brown [Mon, 17 Jul 2006 13:07:14 +0000 (13:07 +0000)]
Fix creation of the htype field; the ll_proto field from which it is
derived is a 16-bit big-endian field, but htype is only 8 bits wide.

15 years agoTidy up hex_dump() output.
Michael Brown [Mon, 17 Jul 2006 13:04:29 +0000 (13:04 +0000)]
Tidy up hex_dump() output.

15 years agoAdd sketch code to reassemble a DHCP packet from our internal "everything
Michael Brown [Mon, 17 Jul 2006 12:47:22 +0000 (12:47 +0000)]
Add sketch code to reassemble a DHCP packet from our internal "everything
is a DHCP option" data structures.

We need this code in order to be able to return a DHCP packet to a PXE NBP
which reflects options from our multiple sources (e.g. NVS and DHCP
server).  This is expensive, but necessary.  Having paid this cost, we may
as well try to use the same code to generate our DHCP request packets,
since the process is similar.

15 years agoAdd (untested) code for parsing a received DHCP packet and constructing a
Michael Brown [Sat, 15 Jul 2006 19:24:55 +0000 (19:24 +0000)]
Add (untested) code for parsing a received DHCP packet and constructing a
DHCP options block from the contents.

15 years agoAdd code to modify DHCP option values within a block.
Michael Brown [Thu, 13 Jul 2006 20:49:04 +0000 (20:49 +0000)]
Add code to modify DHCP option values within a block.

15 years agoHow did this ever work properly before?
Michael Brown [Thu, 13 Jul 2006 18:27:23 +0000 (18:27 +0000)]
How did this ever work properly before?

15 years agoAdding SSL Constructs header file. (First version)
Derek Pryor [Mon, 10 Jul 2006 13:26:20 +0000 (13:26 +0000)]
Adding SSL Constructs header file. (First version)

15 years agoAdded fragment reassembly code
Nikhil Chandru Rao [Fri, 30 Jun 2006 08:52:03 +0000 (08:52 +0000)]
Added fragment reassembly code

15 years agofix printf format args
Marty Connor [Thu, 29 Jun 2006 19:04:25 +0000 (19:04 +0000)]
fix printf format args

15 years agoRemoved vestigal FILO code
Marty Connor [Thu, 29 Jun 2006 18:07:02 +0000 (18:07 +0000)]
Removed vestigal FILO code

15 years agoAdded bin/.blib.list to VERYCLEANUP so .bin directory is made empty
Marty Connor [Thu, 29 Jun 2006 17:58:48 +0000 (17:58 +0000)]
Added bin/.blib.list to VERYCLEANUP so .bin directory is made empty

15 years agoRemoving net/interface.c and include/gpxe/interface.h
Nikhil Chandru Rao [Thu, 29 Jun 2006 06:51:11 +0000 (06:51 +0000)]
Removing net/interface.c and include/gpxe/interface.h

15 years agoProvide a mechanism for returning the encapsulator as well as the
Michael Brown [Wed, 28 Jun 2006 18:59:54 +0000 (18:59 +0000)]
Provide a mechanism for returning the encapsulator as well as the
encapsulated option; this will be needed for modifications to the options
block.

15 years agoRenamed net/interface.c and include/gpxe/interface.h to net/tcpip_if.c and include...
Nikhil Chandru Rao [Wed, 28 Jun 2006 15:43:08 +0000 (15:43 +0000)]
Renamed net/interface.c and include/gpxe/interface.h to net/tcpip_if.c and include/gpxe/tcpip_if.h respectively. Made changes in the other files.

15 years agoAdd priority mechanism
Michael Brown [Wed, 28 Jun 2006 13:48:02 +0000 (13:48 +0000)]
Add priority mechanism

15 years agoChange dhcp_num_option() to return the numerical value directly.
Michael Brown [Wed, 28 Jun 2006 12:16:41 +0000 (12:16 +0000)]
Change dhcp_num_option() to return the numerical value directly.

15 years agotypo in macro fixed
Dan Lynch [Wed, 28 Jun 2006 11:53:41 +0000 (11:53 +0000)]
typo in macro fixed

15 years ago- modified length of password string to match visible field length
Dan Lynch [Wed, 28 Jun 2006 11:52:30 +0000 (11:52 +0000)]
- modified length of password string to match visible field length
- value of n passed to wgetnstr should now be equivalent to output from strlen (i.e. length excluding NUL-terminating character)

15 years agostarted on ANSI sequence processing
Dan Lynch [Wed, 28 Jun 2006 11:50:02 +0000 (11:50 +0000)]
started on ANSI sequence processing

15 years ago- implemented cursor retreat function (_wcursback) as a core function
Dan Lynch [Wed, 28 Jun 2006 11:48:40 +0000 (11:48 +0000)]
- implemented cursor retreat function (_wcursback) as a core function
- reimplemented cleaner wgetnstr
- fixed wdelch for use with _wcursback

15 years agoAdded ipv4_pseudo_header structure
Nikhil Chandru Rao [Wed, 28 Jun 2006 09:59:27 +0000 (09:59 +0000)]
Added ipv4_pseudo_header structure

15 years agoIP6 specifications
Nikhil Chandru Rao [Wed, 28 Jun 2006 09:44:41 +0000 (09:44 +0000)]
IP6 specifications

15 years agoFixed endianness of 16- and 32- bit values
Nikhil Chandru Rao [Wed, 28 Jun 2006 09:10:35 +0000 (09:10 +0000)]
Fixed endianness of 16- and 32- bit values

15 years agoFixed whitespaces; updated UDP code
Nikhil Chandru Rao [Wed, 28 Jun 2006 07:46:28 +0000 (07:46 +0000)]
Fixed whitespaces; updated UDP code

15 years ago- first check-in for mucurses_test.c
Dan Lynch [Tue, 27 Jun 2006 17:31:01 +0000 (17:31 +0000)]
- first check-in for mucurses_test.c
- added mucurses_test.c build targets

15 years agoFirst stab at DHCP option handling in a way that will allow us to have
Michael Brown [Tue, 27 Jun 2006 17:24:07 +0000 (17:24 +0000)]
First stab at DHCP option handling in a way that will allow us to have
multiple option sources (e.g. multiple DHCP replies, non-volatile
storage etc.)

15 years ago- put in the screen initialisation stuff and clear the screen...
Dan Lynch [Tue, 27 Jun 2006 17:18:11 +0000 (17:18 +0000)]
- put in the screen initialisation stuff and clear the screen...

15 years ago- works with test ansi tty, but will need a rethink when we start
Dan Lynch [Tue, 27 Jun 2006 17:15:34 +0000 (17:15 +0000)]
- works with test ansi tty, but will need a rethink when we start
getting key_ codes instead

15 years ago- working basic ansi termnal extension for mucurses
Dan Lynch [Tue, 27 Jun 2006 17:11:57 +0000 (17:11 +0000)]
- working basic ansi termnal extension for mucurses

15 years agocheck whether malloc returns a valid pointer
Dan Lynch [Tue, 27 Jun 2006 13:32:15 +0000 (13:32 +0000)]
check whether malloc returns a valid pointer

15 years agomoved console specific items out of mucurses (should be handled by external screen...
Dan Lynch [Tue, 27 Jun 2006 13:31:30 +0000 (13:31 +0000)]
moved console specific items out of mucurses (should be handled by external screen object)

15 years agomake path relative (so that I don't break eb top of tree !)
Dan Lynch [Tue, 27 Jun 2006 13:28:43 +0000 (13:28 +0000)]
make path relative (so that I don't break eb top of tree !)

15 years agoincluded contents of input.{c,h} in kb.c
Dan Lynch [Tue, 27 Jun 2006 13:27:28 +0000 (13:27 +0000)]
included contents of input.{c,h} in kb.c

15 years agoenabled build entry for mucurses libraries
Dan Lynch [Tue, 27 Jun 2006 11:40:04 +0000 (11:40 +0000)]
enabled build entry for mucurses libraries

15 years ago- deprecated in favour of a split library model
Dan Lynch [Tue, 27 Jun 2006 11:05:13 +0000 (11:05 +0000)]
- deprecated in favour of a split library model

15 years ago- testable console framework implementing mucurses SCREEN struct
Dan Lynch [Tue, 27 Jun 2006 11:00:14 +0000 (11:00 +0000)]
- testable console framework implementing mucurses SCREEN struct

15 years ago- multiple static inline definitions added
Dan Lynch [Tue, 27 Jun 2006 10:38:57 +0000 (10:38 +0000)]
- multiple static inline definitions added
- changes made to some constants and macros
- changes made to _curses_screen struct
- identified and removed prototypes for yet more unsupportable functions

15 years agoadded placeholder SRCDIRS entry for mucurses
Dan Lynch [Tue, 27 Jun 2006 10:31:42 +0000 (10:31 +0000)]
added placeholder SRCDIRS entry for mucurses

15 years ago- recoded wgetch and wgetnstr for greater more efficiency
Dan Lynch [Tue, 27 Jun 2006 10:24:40 +0000 (10:24 +0000)]
- recoded wgetch and wgetnstr for greater more efficiency
- wgetch now includes non, part and full blocking read support

15 years agoSimplify ipv4_tx() by not having a separate "source" variable now that
Michael Brown [Mon, 26 Jun 2006 16:10:34 +0000 (16:10 +0000)]
Simplify ipv4_tx() by not having a separate "source" variable now that
we are constructing the IP header ourselves.

Formatting fix-ups (80 column limit is mandatory!)

15 years agoFactorise out common code
Michael Brown [Mon, 26 Jun 2006 16:01:24 +0000 (16:01 +0000)]
Factorise out common code

15 years agoSplit ipv6 functions out from ipv4.c
Michael Brown [Mon, 26 Jun 2006 15:33:46 +0000 (15:33 +0000)]
Split ipv6 functions out from ipv4.c

15 years agoWhitespace fixes
Michael Brown [Mon, 26 Jun 2006 13:45:24 +0000 (13:45 +0000)]
Whitespace fixes

15 years agofirst working version - nasty, but mostly works
Dan Lynch [Mon, 26 Jun 2006 08:24:34 +0000 (08:24 +0000)]
first working version - nasty, but mostly works

15 years agoadded generalized sockaddr structure and ip6 sockaddr
Nikhil Chandru Rao [Sun, 25 Jun 2006 05:18:24 +0000 (05:18 +0000)]
added generalized sockaddr structure and ip6 sockaddr

15 years agoadded support for processing and transmitting without uIP
Nikhil Chandru Rao [Sun, 25 Jun 2006 05:16:54 +0000 (05:16 +0000)]
added support for processing and transmitting without uIP

15 years agoupdated UDP interface
Nikhil Chandru Rao [Sun, 25 Jun 2006 05:13:17 +0000 (05:13 +0000)]
updated UDP interface

15 years agocreated interface for transport-network interface
Nikhil Chandru Rao [Sun, 25 Jun 2006 05:12:07 +0000 (05:12 +0000)]
created interface for transport-network interface

15 years agoAdded gpxe-0.5/src/crypto/ for the SSL Library
Derek Pryor [Thu, 22 Jun 2006 17:15:45 +0000 (17:15 +0000)]
Added gpxe-0.5/src/crypto/ for the SSL Library

15 years ago- proper layout formatted soft label array, with justification formatted labels
Dan Lynch [Wed, 21 Jun 2006 15:09:55 +0000 (15:09 +0000)]
- proper layout formatted soft label array, with justification formatted labels
- some minor preventatives

15 years ago- erradicate compiler warning due to possibility of uninitialised variables (switch...
Dan Lynch [Wed, 21 Jun 2006 10:38:03 +0000 (10:38 +0000)]
- erradicate compiler warning due to possibility of uninitialised variables (switch statement)

15 years ago- added doxygen @file header
Dan Lynch [Wed, 21 Jun 2006 10:35:46 +0000 (10:35 +0000)]
- added doxygen @file header
- no longer depends on slk

15 years ago- added doxygen @file header
Dan Lynch [Wed, 21 Jun 2006 10:31:59 +0000 (10:31 +0000)]
- added doxygen @file header

15 years ago- added doxygen @file header
Dan Lynch [Wed, 21 Jun 2006 10:31:20 +0000 (10:31 +0000)]
- added doxygen @file header
- some more minor functionality implemented

15 years agoadded doxygen @file header
Dan Lynch [Wed, 21 Jun 2006 10:30:03 +0000 (10:30 +0000)]
added doxygen @file header

15 years ago- removed slk references
Dan Lynch [Wed, 21 Jun 2006 10:29:13 +0000 (10:29 +0000)]
- removed slk references
- corrected minor algo errors in primitives
- added doxygen @file header

15 years ago- added doxygen @file header
Dan Lynch [Wed, 21 Jun 2006 10:27:52 +0000 (10:27 +0000)]
- added doxygen @file header
- wdeleteln function implemented

15 years agoadded doxygen file header
Dan Lynch [Wed, 21 Jun 2006 10:26:01 +0000 (10:26 +0000)]
added doxygen file header

15 years ago- major implementation work completed (testing in progress)
Dan Lynch [Wed, 21 Jun 2006 10:21:40 +0000 (10:21 +0000)]
- major implementation work completed (testing in progress)
- some optimisation done

15 years agoinitial check in
Dan Lynch [Wed, 21 Jun 2006 10:20:39 +0000 (10:20 +0000)]
initial check in

15 years agoUpdate ftp.c and hello.c to use the generic async_operations API.
Michael Brown [Mon, 19 Jun 2006 15:46:58 +0000 (15:46 +0000)]
Update ftp.c and hello.c to use the generic async_operations API.

15 years agoPlaceholder
Michael Brown [Sat, 17 Jun 2006 23:34:48 +0000 (23:34 +0000)]
Placeholder

15 years agoMade the temporary buffer part of the TCP senddata() API, to ease the
Michael Brown [Sat, 17 Jun 2006 23:20:54 +0000 (23:20 +0000)]
Made the temporary buffer part of the TCP senddata() API, to ease the
transition away from uIP.

Prepared ipv4.c for transition away from uIP.

15 years agoSimplify RX data path.
Michael Brown [Sat, 17 Jun 2006 22:36:27 +0000 (22:36 +0000)]
Simplify RX data path.

Kill off the static single net device and move to proper dynamic
registration (which we need with the new device model).

Break the (flawed) assumption that all network-layer protocols can use
ARP; such network-layer protocols (i.e. IPv4) must now register as an ARP
protocol using ARP_NET_PROTOCOL() and provide a single method for checking
the existence of a local network-layer address.

15 years agoRemove dependency on arptable[] (which is no longer used).
Michael Brown [Fri, 16 Jun 2006 14:48:31 +0000 (14:48 +0000)]
Remove dependency on arptable[] (which is no longer used).

15 years agoTemporary hack to work around the "TX overflow" problem in the interim
Michael Brown [Fri, 16 Jun 2006 14:38:16 +0000 (14:38 +0000)]
Temporary hack to work around the "TX overflow" problem in the interim
period before updating to the new driver API (which can cope with
having TX packets in progress).

15 years agoAdd 4 bytes to maximum frame length to allow for the frame checksum.
Michael Brown [Fri, 16 Jun 2006 14:30:41 +0000 (14:30 +0000)]
Add 4 bytes to maximum frame length to allow for the frame checksum.
(This actually matters once you try using TCP, because you *will*
receive full-sized frames.)

15 years agoImprove debugging output for legacy wrapper
Michael Brown [Fri, 16 Jun 2006 14:27:04 +0000 (14:27 +0000)]
Improve debugging output for legacy wrapper

15 years agoForward-port event queue fixes from 5.4 tree.
Michael Brown [Fri, 16 Jun 2006 14:05:43 +0000 (14:05 +0000)]
Forward-port event queue fixes from 5.4 tree.

15 years agoForward-port start-of-day fixes from 5.4 tree
Michael Brown [Fri, 16 Jun 2006 14:03:43 +0000 (14:03 +0000)]
Forward-port start-of-day fixes from 5.4 tree

15 years agoForward-port reset-related changes from 5.4 tree.
Michael Brown [Fri, 16 Jun 2006 14:00:43 +0000 (14:00 +0000)]
Forward-port reset-related changes from 5.4 tree.

15 years agoFor consistency
Michael Brown [Fri, 16 Jun 2006 13:17:40 +0000 (13:17 +0000)]
For consistency

15 years ago32kB window is actually larger than our typical receive ring size.
Michael Brown [Fri, 16 Jun 2006 13:16:59 +0000 (13:16 +0000)]
32kB window is actually larger than our typical receive ring size.
Shrink to 4kB for now.  We might want to see if it can be made
genuinely indicative of the RX ring size in the new TCP
implementation.

15 years agoSimplify TX datapath.
Michael Brown [Fri, 16 Jun 2006 00:19:46 +0000 (00:19 +0000)]
Simplify TX datapath.

15 years agoAdded iSCSI boot test code
Michael Brown [Wed, 14 Jun 2006 17:00:25 +0000 (17:00 +0000)]
Added iSCSI boot test code

15 years agoGeneralise three-wire interface to generic SPI interface.
Michael Brown [Wed, 14 Jun 2006 00:22:50 +0000 (00:22 +0000)]
Generalise three-wire interface to generic SPI interface.

Update rtl8139 driver to instantiate an SPI interface with a three-wire
device attached.

15 years agoMove per-transition delays from generic bit-bashing layer to i2c layer
Michael Brown [Wed, 14 Jun 2006 00:20:35 +0000 (00:20 +0000)]
Move per-transition delays from generic bit-bashing layer to i2c layer
(since SPI bit-bashing will require different delay semantics).

15 years agoTranslate between "0 = success" and "0 = failure" call standards.
Michael Brown [Wed, 14 Jun 2006 00:18:13 +0000 (00:18 +0000)]
Translate between "0 = success" and "0 = failure" call standards.

15 years agoChange read_bit() to return 0 or -1UL, rather than 0 or 1.
Michael Brown [Mon, 12 Jun 2006 19:29:50 +0000 (19:29 +0000)]
Change read_bit() to return 0 or -1UL, rather than 0 or 1.

15 years agoUpdated debug message to reflect change in data structure.
Michael Brown [Mon, 12 Jun 2006 01:10:08 +0000 (01:10 +0000)]
Updated debug message to reflect change in data structure.

15 years agoAdd "addr32" required explicitly by older gas.
Michael Brown [Mon, 12 Jun 2006 01:07:43 +0000 (01:07 +0000)]
Add "addr32" required explicitly by older gas.

15 years agoAdd NULL_TRAP as a config option
Michael Brown [Sun, 11 Jun 2006 01:55:43 +0000 (01:55 +0000)]
Add NULL_TRAP as a config option

15 years agoFix typo
Michael Brown [Sun, 11 Jun 2006 01:55:12 +0000 (01:55 +0000)]
Fix typo

15 years agoAdded null trap code for debugging. (Must be included by adding
Michael Brown [Sun, 11 Jun 2006 01:48:29 +0000 (01:48 +0000)]
Added null trap code for debugging.  (Must be included by adding
--nulltrap to the make target at the moment.)

15 years agoUpdate to use the generic i2c bit-bashing code.
Michael Brown [Sun, 11 Jun 2006 00:57:38 +0000 (00:57 +0000)]
Update to use the generic i2c bit-bashing code.

15 years agoAdded bit-bashing i2c interface code
Michael Brown [Sun, 11 Jun 2006 00:57:00 +0000 (00:57 +0000)]
Added bit-bashing i2c interface code

15 years agoWindows Server 2003 sulks if we feed it an empty region in base memory
Michael Brown [Fri, 9 Jun 2006 12:20:03 +0000 (12:20 +0000)]
Windows Server 2003 sulks if we feed it an empty region in base memory
as a result of our memory map editing, so strip out any empty regions.

15 years agoAdded missing check-in
Michael Brown [Fri, 9 Jun 2006 10:19:17 +0000 (10:19 +0000)]
Added missing check-in

15 years agoAdded sketch of bit-bashing interface common code
Michael Brown [Thu, 8 Jun 2006 19:47:09 +0000 (19:47 +0000)]
Added sketch of bit-bashing interface common code

15 years agoFix bug with >256 cylinders.
Michael Brown [Thu, 8 Jun 2006 19:28:08 +0000 (19:28 +0000)]
Fix bug with >256 cylinders.

Allow our functions to return a non-zero, non-error status (since the
INT 13 Extensions Check has to return the API version in the register
that is otherwise always used for the error code).

Report a non-zero API version from the INT 13 Extensions Check; GRUB
now uses extended reads.

15 years ago- separated curses.c out into separate source files to optimise
Dan Lynch [Thu, 8 Jun 2006 17:23:37 +0000 (17:23 +0000)]
- separated curses.c out into separate source files to optimise
library use later on
- some small mods to existing functions

15 years agoLegacy drivers cannot cope with multiple active devices.
Michael Brown [Thu, 8 Jun 2006 15:18:27 +0000 (15:18 +0000)]
Legacy drivers cannot cope with multiple active devices.

15 years agoIt's astonishing how long really fundamental bugs can survive without
Michael Brown [Thu, 8 Jun 2006 15:06:09 +0000 (15:06 +0000)]
It's astonishing how long really fundamental bugs can survive without
being noticed...

15 years agoFix some remarkably obvious mistakes in pcidirect.h
Michael Brown [Thu, 8 Jun 2006 14:57:04 +0000 (14:57 +0000)]
Fix some remarkably obvious mistakes in pcidirect.h

15 years agoWe now have just romprefix, rather than having isaprefix and pciprefix
Michael Brown [Tue, 6 Jun 2006 15:41:21 +0000 (15:41 +0000)]
We now have just romprefix, rather than having isaprefix and pciprefix

15 years agoCut out almost all the optional code paths, drastically simplifying the
Michael Brown [Tue, 6 Jun 2006 15:33:39 +0000 (15:33 +0000)]
Cut out almost all the optional code paths, drastically simplifying the
flow of control through this code.

We now always add PCI and PnP headers even for ISA ROMs; there's no harm
in doing so.

UNDI loader is still missing.