Michael Brown
689218618f
Fix typo
2006-05-16 14:42:43 +00:00
Michael Brown
ceba6ecb75
Added generic device model.
2006-05-16 14:10:21 +00:00
Dan Lynch
a2799051b0
fixed build error (danjlynch, repeat: this is *not* perl, this is *not* perl...)
2006-05-15 09:34:27 +00:00
Dan Lynch
dccc6aed3a
lightweight xcurses implementation for etherboot (Michael made me do it...)
2006-05-15 09:29:48 +00:00
Michael Brown
eb6b8e8d70
Handle the '"%c", 0' case correctly.
2006-05-14 11:55:30 +00:00
Michael Brown
efd6281a35
Correctly handle zero-length buffers.
2006-05-14 11:18:42 +00:00
Michael Brown
25f5d114a0
Updated documentation.
...
Shaved around 100 bytes off vsprintf.o. It's now 50 bytes smaller than
the old implementation and provides much more conformant semantics,
including the ability to return the number of characters that would have
been printed to the string had the buffer been big enough. (iSCSI needs
this functionality).
2006-05-14 03:31:20 +00:00
Michael Brown
2421723a15
Rewrote printf and friends to better support standard C semantics.
2006-05-14 02:51:55 +00:00
Michael Brown
f99e7a375e
At least cope with "%llx" by reading the correct-sized va_arg from the
...
stack, even if we don't yet print it out.
At some point, vsprintf() needs to be fixed up so that it can correctly
cope with limited-sized buffers (i.e. vsnprintf), long longs, and
standard format specifiers (e.g. "%04x"). We should also remove the
special types (MAC addresses and IP addresses). This would then enable
us to use gcc's ability to type-check printf format strings.
2006-05-13 11:50:52 +00:00
Michael Brown
f8f75cef5b
BSS is now zeroed by libprefix (along with the otherwise non-zeroable
...
portions such as the stack) during the installation process.
init_fns() are called from main(). We need to think about initial
control flow some more.
2006-05-02 21:10:45 +00:00
Michael Brown
a42092d2a0
Add a temporary snprintf, so that safely-written code can at least
...
compile, even if it won't yet be safe.
2006-04-30 12:01:31 +00:00
Michael Brown
8df7e74990
Fix up prototype of strtoul() to match POSIX.
2006-04-30 11:45:38 +00:00
Michael Brown
352bf1bda2
Move init.h to gpxe/init.h.
2006-04-30 01:08:52 +00:00
Michael Brown
23c494d14e
Added basic code for implementing co-operative multitasking.
...
Yes, you really can do it in 65 bytes.
2006-04-29 16:42:09 +00:00
Michael Brown
51feeab445
Add an explicit failure debug message
2006-04-28 14:07:41 +00:00
Michael Brown
cfae86f6c8
Glenn managed to shrink .text by 5 more bytes.
2006-04-25 21:48:16 +00:00
Michael Brown
face774c4c
Fixed erroneous comparison
2006-04-25 11:54:58 +00:00
Michael Brown
95f8a42930
Removed incorrect comment; malloc() is inefficient only when the
...
alignment and size are both powers of two, and there's no way to
specify an alignment through the malloc() interface anyway.
2006-04-25 10:41:49 +00:00
Michael Brown
4e92f29c9e
Now passes trivial tests. free_memblock() needs neatening up.
2006-04-25 04:01:58 +00:00
Michael Brown
b601a7d355
Updated memory allocator to improve support for unaligned or partially
...
aligned blocks.
Moved header to include/malloc.h, since we now also provide the
POSIX-like malloc()/free() pair.
Not yet tested.
2006-04-25 03:30:46 +00:00
Michael Brown
832e86246b
gcc is rather over-aggressive about optimising out static data structures
...
even when __atribute__ (( unused )) is correctly set...
2006-04-24 18:31:37 +00:00
Michael Brown
824d6ffa7f
Header rearrangement.
...
I want to get to the point where any header in include/ reflects a
standard user-level header (e.g. a POSIX header), while everything that's
specific to gPXE lives in include/gpxe/. Headers that reflect a Linux
header (e.g. if_ether.h) should also be in include/gpxe/, with the same
name as the Linux header and, preferably, the same names used for the
definitions.
2006-04-24 15:42:49 +00:00
Michael Brown
b6b6a0b5fe
First draft of a dynamic memory allocator
2006-04-24 15:21:18 +00:00
Michael Brown
d24042f0bb
Update now that if_ether.h has moved.
2006-04-19 01:56:10 +00:00
Michael Brown
49f933fbc3
Moved if_ether.h and if_arp.h to include/gpxe, for consistency with Linux
...
kernel.
Removed obsolete struct arprequest from if_arp.h and put it in nic.c so
that nic.c will still compile. ARP will very shortly be handled by
net/arp.c instead.
2006-04-19 01:52:41 +00:00
Michael Brown
af23ff8a24
Assertions are now handled via the POSIX-like <assert.h>.
2006-03-23 19:33:57 +00:00
Michael Brown
bb7394b041
Merge from Etherboot 5.4
2006-03-16 17:59:51 +00:00
Michael Brown
708bbc43bc
Merge from Etherboot 5.4
2006-03-16 17:40:55 +00:00
Michael Brown
df9cbc23cc
Added documentation and ASSERT() statements.
2005-06-06 12:01:19 +00:00
Michael Brown
33dbdda28e
Allow data blocks to be less than sizeof ( struct buffer_free_block ) in
...
size. (The restriction on the size of free blocks remains.)
2005-06-06 11:42:14 +00:00
Michael Brown
cbed5ed9ad
Always include code for sending multicast packets.
2005-06-02 10:14:26 +00:00
Michael Brown
be7897523d
IGMP protocol now uses the generic background protocol mechanism.
2005-06-01 22:22:14 +00:00
Michael Brown
85a380530d
Add generic mechanism for background protocols (e.g. ARP, IGMP)
2005-06-01 22:18:38 +00:00
Geert Stappers
5265975334
patch of Helge Wagner
2005-05-31 11:32:45 +00:00
Michael Brown
0e494614b5
Some versions of doxygen seem to object to "@ret None" or similar.
2005-05-24 00:11:25 +00:00
Michael Brown
809933d9f7
Split PXE code into preboot, udp, tftp, undi and loader units.
...
PXE code now compiles without errors (though it won't actually work).
2005-05-23 23:32:56 +00:00
Michael Brown
8fcb6448bd
Moved pxe_errors.c to pxe/interface/
2005-05-23 22:47:21 +00:00
Michael Brown
6bcd74b65c
Moved pxe_export.c to pxe.c, since the old pxe.c no longer exists.
2005-05-20 15:32:41 +00:00
Michael Brown
a96759f9c8
Use "#var" rather than "@c var" for doxygen.
2005-05-20 10:27:02 +00:00
Michael Brown
bf32da87f0
Doxygenation
2005-05-20 10:24:11 +00:00
Michael Brown
8bc4551f5e
API docs to .h
2005-05-19 18:41:54 +00:00
Michael Brown
2ddbac101e
Move API docs to buffer.h, implementation to buffer.c.
2005-05-19 18:32:04 +00:00
Michael Brown
4e87543c74
Synced across updates from Etherboot 5.4 tree
2005-05-19 16:47:19 +00:00
Michael Brown
d0c9183903
Doxygenation
2005-05-19 14:51:37 +00:00
Michael Brown
eff1cd867b
errno.h now required in order to compile.
2005-05-19 14:49:56 +00:00
Michael Brown
e911a74724
More documentation
2005-05-19 11:54:41 +00:00
Michael Brown
a2915ad06d
Added preliminary doxygen documentation
2005-05-19 00:17:48 +00:00
Michael Brown
0e921cdd9e
More doxygen docs
2005-05-18 15:28:33 +00:00
Michael Brown
d04b607eb9
Add doxygen documentation
2005-05-18 14:44:38 +00:00
Michael Brown
127362581f
Document %m
2005-05-18 14:44:05 +00:00