Michael Brown
698b5bc887
Fix a minor logical error in posix_io.c
2007-12-07 00:52:48 +00:00
Michael Brown
be6ada2b7b
Add missing format qualifier
2007-12-06 21:38:23 +00:00
Michael Brown
1de705e30f
Reallocate memory for bitmaps only when necessary.
2007-11-29 19:10:10 +00:00
Michael Brown
3b1efba864
Add RFC2090 TFTP multicast support.
2007-11-28 10:57:26 +00:00
Michael Brown
899f5b8ab2
Added definition of a UUID and uuid_ntoa() (for debugging), and
...
implemented smbios_get_uuid().
2007-11-21 02:27:07 +00:00
Michael Brown
7e3527a658
Don't get stuck in an infinite loop on negative integers!
2007-09-21 01:14:44 +01:00
Michael Brown
db124b1255
Add fls() for non-constant values.
2007-09-21 01:14:38 +01:00
Michael Brown
746d0f8feb
Merge commit 'holger/strings'
2007-08-23 21:51:57 +01:00
Michael Brown
54bf2621ed
Add iBFT code derived from IBM document.
...
No Microsoft intellectual property was harmed in the production of
this code.
2007-08-09 17:44:20 -07:00
Michael Brown
cfcc41d407
Set current working URI to be that of the executable image when
...
executing any image, not just a script. (This will enable pxelinux to
use relative URIs, should it wish to.)
2007-08-07 06:50:12 -07:00
Michael Brown
07f84566d5
Make read_user() non-blocking, and add select() call.
2007-08-04 01:22:52 +01:00
Michael Brown
218651e125
Display name and status of each file as it is downloaded.
2007-08-03 12:49:21 +01:00
Michael Brown
49009a4c1b
uri_get(NULL) and uri_put(NULL) are explicitly allowed.
2007-08-02 20:26:49 +01:00
Michael Brown
d4947c05b2
Allow images to hold references to the originating URI.
...
Some shuffling around of the image management code; this needs tidying up.
2007-08-02 20:18:32 +01:00
Holger Lubitz
bb94c143d9
move strndup back to string.c - used by strdup
2007-08-02 01:48:20 +02:00
Holger Lubitz
6b6dbe5600
move strndup back to string.c - used by strdup
2007-08-02 01:47:31 +02:00
Holger Lubitz
d0d044443d
memscan does not alter the mem pointer - make it const
2007-08-02 00:52:04 +02:00
Holger Lubitz
c9c97b3444
stripped down version of string.c containing only the used functions
2007-08-02 00:27:37 +02:00
Holger Lubitz
c7ad6778ac
put unused functions from string.c into separate file
2007-08-02 00:27:19 +02:00
Holger Lubitz
58f5565eb0
Merge branch 'master' into strings
2007-08-02 00:13:40 +02:00
Michael Brown
726e366e8f
Add code for constructing single-file cpio archives on the fly
2007-08-01 23:10:30 +01:00
Michael Brown
291d69d7fd
Added support for draft version of the AoE Boot Firmware Table.
2007-07-31 14:05:03 +01:00
Michael Brown
bf3d8fb1aa
Allowed HTTPS to be a separately configurable feature.
2007-07-30 03:01:04 +01:00
Michael Brown
4ce8d61a5c
Import various libgcc functions from syslinux.
...
Experimentation reveals that gcc ignores -mrtd for the implicit
arithmetic functions (e.g. __udivdi3), but not for the implicit
memcpy() and memset() functions. Mark the implicit arithmetic
functions with __attribute__((cdecl)) to compensate for this.
(Note: we cannot mark with with __cdecl, because we define __cdecl to
incorporate regparm(0) as well.)
2007-07-30 02:43:43 +01:00
Holger Lubitz
f397fc443c
make bcopy use memmove
2007-07-29 17:35:38 +02:00
Michael Brown
a6467c99a0
Added a simple pass-through filter layer for data transfer interfaces.
2007-07-29 16:05:14 +01:00
Michael Brown
a6a1052096
Applied a modified version of holger's regparm patches.
2007-07-29 00:17:25 +01:00
Michael Brown
2c7ffa8c27
Added two lines of code that were completely missing!
2007-07-25 13:32:02 +01:00
Michael Brown
9aa61ad5a2
Add per-file error identifiers
2007-07-24 17:11:31 +01:00
Marty Connor
767a3cef77
Changed #warning to FIXME for nvo hack warning.
2007-07-22 20:52:32 -04:00
Michael Brown
7df3d4a177
Obsolete code removal
2007-07-17 01:19:35 +01:00
Michael Brown
7e3a8f5e10
Remove more obsolete files
2007-07-14 23:16:01 +01:00
Michael Brown
e330db3c74
Dead code removal.
...
Kill off use of etherboot.h outside drivers/net.
2007-07-14 15:42:26 +01:00
Michael Brown
4075f7596b
Unplug before sending close() message, to avoid screwing up interfaces
...
which respond to close with a reopen() (e.g. iSCSI).
2007-07-10 06:25:30 +01:00
Michael Brown
d3ad76bc74
Add debug messages to process.c
2007-07-10 06:24:30 +01:00
Michael Brown
f0c44f2f71
Remove xfer_ready() (it has been replaced by xfer_window())
2007-07-09 03:58:46 +01:00
Michael Brown
7137c20ed1
Add strcspn() and strndup()
2007-07-08 22:03:12 +01:00
Michael Brown
ed20fee0cf
Make ref_get() return the reference, for cleaner code.
2007-07-08 22:02:45 +01:00
Michael Brown
b34d4d0449
Separate the "is data ready" function of xfer_seek() into an
...
xfer_window() function, which can return a scalar rather than a
boolean.
2007-07-08 14:11:07 +01:00
Michael Brown
ca4c6f9eee
Kill off unused request() method in data-xfer interface.
2007-07-08 02:10:54 +01:00
Holger Lubitz
1ccb6f9dc6
convert to zalloc
2007-07-06 21:08:21 +02:00
Holger Lubitz
6def8592ed
convert to zalloc
2007-07-06 20:42:05 +02:00
Holger Lubitz
75ff85441b
convert to zalloc
2007-07-06 20:42:05 +02:00
Holger Lubitz
f77d9469a4
convert to zalloc
2007-07-06 20:19:55 +02:00
Holger Lubitz
aca232c973
convert to zalloc
2007-07-06 20:19:55 +02:00
Holger Lubitz
6d0332b5b3
convert to zalloc
2007-07-06 20:19:55 +02:00
Michael Brown
89349d7fad
Separated out initialisation functions from startup/shutdown functions.
2007-07-03 23:09:56 +01:00
Michael Brown
cbd4542dc0
Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe
2007-07-03 21:09:26 +01:00
Marty Connor
6be8cdbb6f
Merge branch 'master' of /pub/scm/gpxe
2007-07-03 16:02:26 -04:00
Marty Connor
9b3c4e4d79
Warnings purge: src/arch/i386, src/core/disk.c, ramdisk, autoboot
2007-07-03 16:02:15 -04:00
Michael Brown
438d1cc0b9
Should be using the generic device probe mechanism, when (if) they
...
eventually get updated.
2007-07-03 20:39:30 +01:00
Michael Brown
fae10a7ca1
We don't actually use the reset functions anywhere, and nothing really
...
provides them.
2007-07-03 20:34:51 +01:00
Michael Brown
fd86c819ba
Use a linker-table based system to automatically mark and start up
...
permanent processes, rather than requiring each one to have its own
initialisation function.
2007-07-03 20:09:14 +01:00
Marty Connor
bf871c4d03
Warnings purge of src/core
2007-07-02 15:26:40 -04:00
Michael Brown
15f8323055
Removing obsolete files.
2007-07-01 15:30:12 +01:00
Michael Brown
8f6a4e8140
Add gdbsym.c object to help with running gdb-to-qemu
2007-06-30 22:43:31 +01:00
Michael Brown
dffdc285b3
Obsoleted by downloader.c
2007-06-28 19:28:26 +01:00
Michael Brown
f13baeb330
Added missing config.[ch] lines for FTP protocol
2007-06-28 18:49:57 +01:00
Michael Brown
6209d20779
Added monojob controller in lieu of a full working shell.
2007-06-28 14:53:12 +01:00
Michael Brown
73fe1ba9dd
Kill off job::start() (it was only ever added as part of an aborted
...
attempt at triggering TCP-related protocols to start).
2007-06-28 01:09:45 +01:00
Michael Brown
07dc294de8
Update DHCP to use data-xfer interface (not yet tested).
2007-06-27 23:20:36 +01:00
Michael Brown
f77815f2b1
Kill off hotplug.h and just make net devices normal reference-counted
...
structures.
DHCP still broken and #if 0'd out.
2007-06-27 14:48:31 +01:00
Michael Brown
4f309ff0c7
Treat URIs opened via xfer_open() and friends as relative to the
...
current working URI.
2007-06-13 16:28:32 +01:00
Michael Brown
15dae1e042
Add concept of "current working URI".
2007-06-11 23:54:51 +01:00
Michael Brown
a74ecf3057
Merge branch 'master' into mcb-tcp-xfer
2007-06-11 21:36:22 +01:00
Michael Brown
058b200529
Renamed _calloc() to zalloc(), ready to be used as a standalone function.
2007-06-11 21:36:10 +01:00
Michael Brown
95adce0ce1
Add concept of transfer metadata, to be used by UDP in order to
...
implement sendto()/recvfrom() equivalents.
2007-06-11 15:04:39 +01:00
Michael Brown
b256900d4f
Scripts temporarily deregister themselves while executing. This
...
allows us to avoid execution loops without having to hack around the
image registration order.
2007-06-09 19:00:34 +01:00
Michael Brown
2c569fb240
Allow xfer_open() to take a struct uri as well as a URI string.
2007-06-09 18:20:08 +01:00
Michael Brown
7c8cc3ef6c
Use standard xfer_open() argument list for downloader instantiator
2007-06-09 17:42:46 +01:00
Michael Brown
08e286714f
Add reference counting to register/unregister procedure.
2007-06-09 17:32:27 +01:00
Michael Brown
6f0a6c09db
Merge branch 'master' into mcb-tcp-xfer
2007-06-08 16:33:24 +01:00
Michael Brown
6a5cc3533f
Added missing va_end()
2007-06-03 02:11:25 +00:00
Michael Brown
a6f0a098da
Add facility for resolving base+relative URIs (and paths).
2007-06-03 02:01:02 +00:00
Michael Brown
182e3ed61d
Added dirname()
2007-06-03 01:51:10 +00:00
Michael Brown
816c8f3b89
Added [v]asprintf()
2007-06-03 01:50:03 +00:00
Michael Brown
335b99a39d
Move [v]ssnprintf() from iscsi.c into vsprintf.c; we need them
...
elsewhere as well.
2007-05-31 13:26:50 +00:00
Michael Brown
735e07268e
Update HTTP to use data-xfer interface.
2007-05-29 15:37:09 +00:00
Michael Brown
a6a18ae9af
Add xfer_[v]printf() functions.
2007-05-28 20:09:44 +00:00
Michael Brown
656485c1f1
Make URI structures reference-counted.
2007-05-28 17:35:15 +00:00
Michael Brown
63719deea9
Introduce name resolution interface and named socket opener.
2007-05-27 01:07:00 +00:00
Michael Brown
bc694ec768
Move increment/decrement debug messages to DBG2 level
2007-05-27 01:04:52 +00:00
Michael Brown
a1210e4fca
Eliminate PF_INET; just use the AF_INET from the struct sockaddr instead.
2007-05-26 20:41:23 +00:00
Michael Brown
10d0a1f8c7
Modify data-xfer semantics: it is no longer necessary to call one of
...
request(), seek() or deliver_xxx() in order to start the data flow.
Autonomous generators must be genuinely autonomous (having their own
process), or otherwise arrange to be called. TCP does this by
starting the retry timer immediately.
Add some debugging statements.
2007-05-26 15:04:36 +00:00
Michael Brown
3601103381
Modify process semantics; rescheduling is now automatic.
...
Add reference-counting to processes.
Add timer_running() test.
2007-05-26 15:00:56 +00:00
Michael Brown
6006bed530
Free I/O buffers when we are finished with them!
2007-05-25 16:01:31 +00:00
Michael Brown
54138f28f6
Use list_for_each_entry_safe() when flushing queue.
2007-05-19 22:05:16 +00:00
Michael Brown
5e25a89e74
Add local address to socket openers.
2007-05-19 20:14:18 +00:00
Michael Brown
7c0a069f42
Add explicit "freeing" debug messages.
2007-05-18 15:42:02 +00:00
Michael Brown
7d2535779c
Must request data before anything actually happens...
2007-05-18 15:36:11 +00:00
Michael Brown
b63b14ff32
Add debugging
2007-05-18 15:26:44 +00:00
Michael Brown
68dd826b86
Add alloc_iob() and free_iob(). (Direct search-and-replace
...
equivalents for alloc_pkb() and free_pkb(), which will be retired in
due course).
2007-05-18 14:45:16 +00:00
Michael Brown
86a948ccbe
Added POSIX-style blocking I/O calls, for use by PXE TFTP API.
2007-05-18 14:19:22 +00:00
Michael Brown
59e738d756
Prefix all the open()-family routines with xfer_, to disambiguate them
...
from the normal POSIX-style open()
2007-05-18 14:16:06 +00:00
Michael Brown
b1755462ab
Do not hold self-references. This then avoids the problem of having to
...
ensure that we only drop our self-reference exactly once.
To maintain the guarantee that an object won't go out of scope
unexpectedly while one of its event handlers is being called, the
event-calling functions now automatically obtain and drop extra
references.
2007-05-15 16:53:46 +00:00
Michael Brown
5471bfbbbe
Data-transfer interface should now be functionally complete.
2007-05-15 15:23:09 +00:00
Michael Brown
53da1f1402
Initial sketch for a downloader object
2007-05-01 00:09:19 +00:00
Michael Brown
e3dcb9a1ad
Add start() event
...
Add "xfer" to all xfer functions and "job" to all job functions.
2007-05-01 00:07:57 +00:00
Michael Brown
a90a9adbd7
Clarify behaviour of plug() by using intf_put() and intf_get().
2007-05-01 00:06:21 +00:00
Michael Brown
31f1bf4426
D'oh
2007-04-30 01:24:52 +00:00
Michael Brown
0898b0b3b1
Added plug_plug()
2007-04-30 01:23:01 +00:00
Michael Brown
d40761d725
Add (and use) generic reference counter, to improve signal:noise ratio
...
in code defining reference-counted objects.
2007-04-29 23:53:39 +00:00
Michael Brown
36bfb6edbb
Skeleton job control interface
2007-04-29 02:08:39 +00:00
Michael Brown
280160139d
Add seek()
...
Dehyphenate "data-transfer".
2007-04-29 02:03:58 +00:00
Michael Brown
ff1222a8d3
Preliminary support for opening data-transfer interfaces
2007-04-28 20:56:24 +00:00
Michael Brown
1c765b3988
Added deliver-as-iobuf/deliver-as-raw concepts.
2007-04-27 00:02:23 +00:00
Michael Brown
2575ddc889
Initial sketch for the generic data-transfer interface.
2007-04-26 22:44:52 +00:00
Anselm Martin Hoffmeister
ed7dc02a95
hoffmeis: Preparations for syslog support (LOGSERVER in DHCP, linewise
...
output buffering defintions and the like)
2007-04-09 18:01:43 +00:00
Michael Brown
abccb8b63c
SSL requires inordinately large data storage
2007-02-01 07:22:13 +00:00
Michael Brown
2cf1e33df1
Split bootsector execution code out into bootsector.c.
...
Added basic El Torito ISO image boot capability
2007-01-29 04:21:38 +00:00
Michael Brown
bde8878eef
Keep HTTP progress updated, and display a progress indicator during the
...
download
2007-01-29 04:19:45 +00:00
Michael Brown
1a79437888
Added async_block_progress() and default SIGUPDATE handler.
2007-01-29 04:15:24 +00:00
Michael Brown
c42a384709
Moved most buffer debug messages to DBG2.
...
Make expand_buffer() a non-inline function, so that we can add debug
messages.
Expandable buffers now don't *always* round up to the next power of two.
This allows e.g. loading a 137MB ISO image on a machine with only 256MB
RAM...
2007-01-29 04:12:29 +00:00
Michael Brown
6417a6adf0
Avoid barfing on gcc's implicit memcpy()s
2007-01-26 04:14:25 +00:00
Michael Brown
afe4e011ac
Move tolower() etc to ctype.h as per ISO C
2007-01-26 03:25:19 +00:00
Michael Brown
13d9a660ca
Zeroing out memory before using it can be so important.
2007-01-19 14:44:59 +00:00
Michael Brown
d6909f65f0
Actually, it's probably safer *not* to leave child processes hanging
...
around which still hold pointers to variables belonging to our parent...
2007-01-19 14:20:41 +00:00
Michael Brown
b6194b8cb9
Note that the SIGCHLD handler could be re-entered.
2007-01-19 14:10:13 +00:00
Michael Brown
1411876e26
Propagate return status code from last child to fail.
2007-01-19 14:00:51 +00:00
Michael Brown
4256b3338a
Split random number generation out into core/random.c, and create the
...
correct prototypes for srandom(), rand() and srand().
2007-01-19 02:02:59 +00:00
Michael Brown
f4c1e564a1
vsprintf.h is gPXE-specific; move it to include/gpxe
2007-01-19 01:17:23 +00:00
Michael Brown
73b09ecba6
Use stdio.h instead of vsprintf.h
2007-01-19 01:13:12 +00:00
Michael Brown
4e3976711d
A working name resolution framework
2007-01-18 22:38:13 +00:00
Michael Brown
8bb9f726a0
When an async operation dies, orphan its children.
2007-01-18 22:36:57 +00:00
Michael Brown
6d4e37cf42
Move include/malloc.h to include/gpxe/malloc.h, since everything in there
...
is now gPXE-specific. (The standard malloc() et al have been in stdlib.h
for a while).
Add free memory counter.
2007-01-18 20:11:04 +00:00
Michael Brown
c8b3e969a0
Allow buffers to be pre-expanded on demand.
2007-01-18 15:13:41 +00:00
Michael Brown
08da93a311
Reorder functions to more closely reflect the flow of control
2007-01-18 13:10:26 +00:00
Michael Brown
35776f481c
Don't always zero memory in malloc(). This saves around 2us on a
...
full-length PKB allocation.
2007-01-18 12:54:18 +00:00
Michael Brown
0b11733b75
Replacement for fetch() which operates asynchronously and identifies
...
protocols by URI scheme.
2007-01-18 03:37:05 +00:00
Michael Brown
6601a7da6a
Added async_uninit() to simplify failure paths.
2007-01-18 03:29:40 +00:00
Michael Brown
5a807994d8
Add utility function to parse port from URI
2007-01-18 03:28:55 +00:00
Michael Brown
9828181e3b
Obsolete
2007-01-18 01:05:09 +00:00
Michael Brown
544fa25928
Rename e{malloc,realloc,free} to u{malloc,realloc,free}, to more obviously
...
reflect the fact that they allocate and deallocate user memory (i.e.
things reached through a userptr_t).
2007-01-16 08:36:42 +00:00
Michael Brown
4e20d73bb5
Gave asynchronous operations approximate POSIX signal semantics. This
...
will enable us to cascade async operations, which is necessary in order to
properly support DNS. (For example, an HTTP request may have to redirect
to a new location and will have to perform a new DNS lookup, so we can't
just rely on doing the name lookup at the time of parsing the initial
URL).
Anything other than HTTP is probably broken right now; I'll fix the others
up asap.
2007-01-15 08:49:10 +00:00
Michael Brown
ec75b269d3
Add missing include
2007-01-15 08:44:05 +00:00
Michael Brown
26166cf5e0
Added a URI parser that should be standards conformant. (It can certainly
...
handle something as convoluted as
ftp://joe:secret@insecure.org:8081/hidden/path/to?what=is#this
2007-01-14 23:48:31 +00:00
Michael Brown
c1fd6e8dc7
Once image type has been set, do not autoprobe further
2007-01-14 15:25:23 +00:00
Michael Brown
7dc50167bb
Allow load() and exec() methods to be NULL.
2007-01-14 14:59:36 +00:00
Michael Brown
b07161f397
Placeholder bzImage support
2007-01-14 04:27:25 +00:00
Michael Brown
98240d99f0
Do not go past the end of the argv[] array.
...
This bug found by setting read and write watchpoints at NULL in bochs.
2007-01-14 02:01:26 +00:00
Michael Brown
dca369ddc3
Call hide_etherboot() from startup(), rather than requiring the prefix to
...
do it.
2007-01-14 00:53:56 +00:00
Michael Brown
c2708df14a
Make shutdown functions callable by OS image's exec methods.
2007-01-14 00:16:41 +00:00
Michael Brown
beb941ed81
Rename "boot" to "autoboot"
2007-01-14 00:06:23 +00:00
Michael Brown
f11900a9c6
I prefer IMAGE_XXX to XXX_IMAGE.
...
Add IMAGE_PXE to use the new image format framework. "kernel pxelinux.0"
now works.
2007-01-13 17:28:51 +00:00
Michael Brown
3b77c7aa1b
Hex dumps are now integrated into the DBG() framework.
2007-01-13 16:49:38 +00:00
Michael Brown
ca3db0bf11
Added isspace() and made strtoul() accept whitespace, as per POSIX.
2007-01-12 19:11:28 +00:00
Michael Brown
83b7933f8a
Damn it; my lovely resilient scheme falls down when you have a protocol
...
that switches from line-oriented to byte-oriented partway through, such as
HTTP.
2007-01-12 18:09:14 +00:00
Michael Brown
996b091b50
Added generic line-buffering code (a la stdio)
2007-01-12 17:08:37 +00:00
Michael Brown
5c72d9c4e0
Print image physical location in registration message.
2007-01-12 16:20:51 +00:00
Michael Brown
9952df9b52
Add "dhcp" command
2007-01-12 09:53:28 +00:00
Michael Brown
e2c0055e23
Let ifmgmt.c take care of calling efree(), since it's the once which
...
took out the contract to eventually call efree() when it called fetch().
Maintain the most recently loaded image at the start of the list, so that
imgautoselect() will pick it.
2007-01-12 09:46:10 +00:00
Michael Brown
67aedf34fa
Use systematic names for XXX_IMAGE.
...
Add scripts as an image format (since it's trivial to do).
2007-01-12 09:00:48 +00:00
Michael Brown
eba3609e7f
Add debug message
2007-01-12 08:57:51 +00:00
Michael Brown
5162f30028
Ignore comment lines.
...
Avoid returning errors for comments and empty lines.
2007-01-12 08:56:48 +00:00
Michael Brown
475d6d1f7c
fetch() now knows nothing about struct image; it simply loads a file and
...
returns the allocated buffer.
2007-01-12 08:02:27 +00:00
Michael Brown
742f242863
Add free_image
2007-01-12 06:26:59 +00:00
Michael Brown
9817f93094
Add basic "fetch" and "imgstat" commands.
2007-01-12 06:05:27 +00:00
Michael Brown
b9fea9cbac
Added IMAGE_LOADED flag and find_image()
2007-01-12 06:03:02 +00:00
Michael Brown
f15482d85f
Added basename() to make automatically naming images easier.
2007-01-12 05:24:51 +00:00
Michael Brown
29dadc5ec6
Build automatically expanding buffers from struct buffer and erealloc().
2007-01-12 03:51:04 +00:00
Michael Brown
6c894c2a2e
Fix typo
2007-01-12 01:37:38 +00:00
Michael Brown
7bf94b5ad6
Allow for named images.
2007-01-11 23:45:18 +00:00
Michael Brown
f59ad50504
Provide registration mechanism for loaded images, so that we can e.g.
...
refer to them by name from the command line, or build them into a
multiboot module list.
Use setting image->type to disambiguate between "not my image" and "bad
image"; this avoids relying on specific values of the error code.
2007-01-11 23:43:29 +00:00
Michael Brown
4fc9333159
Move include/image.h to include/gpxe/image.h
2007-01-11 16:04:36 +00:00
Michael Brown
d9204ef676
Use physical address in debug messages; they make more sense to read.
2007-01-11 15:08:58 +00:00
Michael Brown
3634e705b7
Remove osloader.c and replace with a prep_segment() that uses userptr_t
...
and get_memmap() in image/segment.c
2007-01-11 14:32:26 +00:00
Michael Brown
fbfed96965
buffer.c should be using copy_{to,from}_user, rather than
...
copy_{to,from}_phys.
2007-01-11 05:42:06 +00:00
Michael Brown
c0ef730ec4
Fix bug in buffer.c, add buffer mini-unit test.
2007-01-11 04:46:41 +00:00
Michael Brown
e2dcd05b67
Update buffer-handling code to enable expandable buffers.
2007-01-11 03:50:47 +00:00
Michael Brown
bb2024c6d6
Move include/buffer.h to include/gpxe/buffer.h
2007-01-11 01:47:26 +00:00
Michael Brown
d45c5e7ce7
Add "route" command (which currently only displays the routing table; it
...
can't modify it).
2007-01-10 20:51:14 +00:00
Michael Brown
77bb7b13a7
Having forced __table() to natural structure alignment, it now seems
...
that we *can* place arrays in tables, which means we can force the
order within a table without having to resort to explicitly numbered
sections on everything.
2007-01-10 05:08:05 +00:00
Michael Brown
dad5274522
Add "name" field to struct device to allow human-readable hardware device
...
names.
Add "dev" pointer in struct net_device to tie network interfaces back to a
hardware device.
Force natural alignment of data types in __table() macros. This seems to
prevent gcc from taking the unilateral decision to occasionally increase
their alignment (which screws up the table packing).
2007-01-10 04:22:09 +00:00
Michael Brown
55e590ab3a
Move header file for usr/autoboot.c to include/usr
2007-01-10 02:03:20 +00:00
Michael Brown
d24b80acf2
Added network interface management commands
2007-01-10 01:55:07 +00:00
Michael Brown
7b9617f5df
Add device to hierarchy before calling the driver's probe() function; this
...
way everything remains consistent if the probe() ends up creating child
devices.
2007-01-08 01:29:51 +00:00
Michael Brown
0063725d28
Minimal hotplug support: provide a facility for notifying persistent
...
reference holders that their reference is about to become invalid.
2007-01-04 03:08:16 +00:00
Michael Brown
2494625702
Added auto-colourising DBGC() macro
2006-12-29 03:05:21 +00:00
Michael Brown
b6def29f2b
Keep running the main processing loop while waiting for input.
2006-12-27 22:59:40 +00:00
Michael Brown
73e3e02367
Fix prototype of random() and move to stdlib.h
2006-12-22 01:44:51 +00:00
Michael Brown
fbc7b4dfa8
Add iSCSI initiator IQN as a setting
2006-12-21 16:08:37 +00:00
Michael Brown
839d425c6e
Added missing header
2006-12-20 23:43:44 +00:00
Michael Brown
ae728f8d23
Some key sequences seem to end with a tilde
2006-12-20 22:12:25 +00:00
Michael Brown
791c7d3bf4
Added code to interpret ANSI keypress sequences into KEY_XXX constants.
2006-12-20 21:56:50 +00:00
Michael Brown
c21502acad
No longer needed
2006-12-20 07:13:46 +00:00
Michael Brown
84202d89f0
Split the (quick hack) boot logic out from main.c to autoboot.c, add a
...
"boot" command to attempt booting from within the command shell, fall back
to shell if boot fails for any reason.
2006-12-20 07:04:08 +00:00
Michael Brown
8f9336e0c1
Add "config" command to access config UI
2006-12-20 05:37:33 +00:00
Michael Brown
2b97d2ebc5
8-bit integers are 1 byte long, not 8...
2006-12-20 05:04:17 +00:00
Michael Brown
b93ff48173
Added descriptive text for settings and setting types, and display it in
...
the option config UI.
2006-12-20 04:58:26 +00:00
Michael Brown
35edecac34
Move {show,set,clear}_setting() to {show,set,clear}_named_setting().
...
Introduce new {show,set,clear}_setting() that take a struct setting *
rather than a const char *.
set_setting() handles calling clear_setting() when appropriate, so that
individual setting types don't have to check for empty strings.
2006-12-20 04:20:13 +00:00
Michael Brown
7766e34ed1
Split strerror() out from errno.c
2006-12-20 03:49:36 +00:00
Michael Brown
84a2b886e1
Split error-message table portions of errno.h out to gpxe/errortab.h
2006-12-20 03:40:48 +00:00
Michael Brown
4f506328ad
Use -ENOSPC rather than -ENOMEM, to distinguish the cases "generic out of
...
memory" and "no space left for DHCP options"
2006-12-20 03:33:37 +00:00
Michael Brown
637a891264
Fix prototype of sleep() and move it to unistd.h
2006-12-20 03:14:59 +00:00
Michael Brown
ec5789bf0c
Select required commands via config.h
2006-12-20 00:39:06 +00:00
Michael Brown
38ad706b08
Use new minimal shell
2006-12-20 00:26:01 +00:00
Michael Brown
19e1d674d3
Catch attempts to print NULL strings
2006-12-19 22:33:42 +00:00
Michael Brown
70d20c4e7a
Use common symbols to avoid dragging in getopt.o unless a getopt-using
...
command is linked in.
2006-12-19 16:27:15 +00:00
Michael Brown
1cd45decc4
Added support for interpreting ANSI escape sequences on behalf of
...
non-ANSI-capable consoles.
2006-12-18 00:01:30 +00:00
Michael Brown
007ca97f25
Added clear_setting()
2006-12-12 15:49:46 +00:00
Michael Brown
0a26cd2933
Cope with system("").
2006-12-08 17:07:12 +00:00
Michael Brown
69b9048e1a
Added "priority" and "root-path" options
2006-12-08 16:30:14 +00:00
Michael Brown
a77b32aaf6
D'oh d'oh d'oh d'oh d'oh d'oh d'oh d'oh d'oh
2006-12-08 03:07:15 +00:00
Michael Brown
f3d817d512
Added execv() and system().
2006-12-08 01:23:11 +00:00
Michael Brown
496563071d
Added strdup()
2006-12-08 00:34:47 +00:00
Michael Brown
be0cd1cddd
Added a functional version of getopt() and getopt_long(), ready for use
...
in our commands.
2006-12-07 03:54:57 +00:00
Michael Brown
2863d1a1de
inet_aton() has a non-traditional return value
2006-12-06 20:44:29 +00:00
Michael Brown
d041d74054
Tied NVO commands into the human-interactable settings code that I
...
completely forgot I'd written ages ago.
2006-12-05 02:40:03 +00:00
Michael Brown
16b81e442f
Added more debug messages
2006-12-04 23:47:44 +00:00
Michael Brown
d9f32726b4
Added quick and dirty commands for testing the new NVO code.
2006-12-04 23:40:35 +00:00
Michael Brown
ab4e1dba3f
Added nvo_save()
2006-12-04 22:04:10 +00:00
Michael Brown
cc9bcb99a0
Add the concept of a fragment list for non-volatile stored options.
2006-12-04 21:46:13 +00:00
Michael Brown
946967f09c
Abstracted out part of the concept of an SPI device to a generalised NVS
...
device.
Separated the mechanisms of non-volatile storage access and non-volatile
stored options.
2006-12-04 18:23:06 +00:00
Michael Brown
4cd56820ea
Basic non-volatile storage support
2006-11-29 02:41:08 +00:00
Michael Brown
c4677c7e73
Implemented realloc(), and changed the semantics of malloc(0) to allow
...
for realloc(0) being a valid way to free memory.
2006-11-24 16:51:18 +00:00
Michael Brown
6a18721ce8
Fixed off-by-one error
2006-11-22 04:54:17 +00:00
Michael Brown
ea97fe42dd
Note to self: do not write code late at night
2006-11-15 04:16:26 +00:00
Michael Brown
5753f2c58b
May as well add octal support to strtoul()
2006-11-15 02:57:24 +00:00
Michael Brown
bbfb2e02fd
Fixed endp bug in strtoul()
2006-11-15 02:54:28 +00:00
Michael Brown
65ff5357f1
Extend strtoul() to cope with hex as well as decimal. Doesn't cope
...
with octal yet, but we can probably live without that.
2006-11-15 02:52:06 +00:00
Michael Brown
88e38fa148
We don't actually have a stdio.h header file. Our printf() functions are
...
defined in vsprintf.h. (This may change, since vsprintf.h is a
non-standard name, but for now it's the one to use.)
There should be no need to include vsprintf.h just for DBG() statements,
since include/compiler.h forces it in for a debug build anyway.
2006-09-27 10:58:14 +00:00
Marty Connor
6ac78f6aff
added stdio.h to includes for DBG compilation
2006-09-27 05:57:06 +00:00
Marty Connor
1da4faa896
include stdio.h to suppress printf warning, general warnings fixups
2006-09-27 04:04:55 +00:00
Michael Brown
1a944a894e
Killed
2006-09-18 21:57:59 +00:00
Michael Brown
2f60aa42e7
Killed
2006-09-18 21:55:27 +00:00
Marty Connor
be0b19a690
commented out contents of core/nic.c, which should now be obsolete.
2006-09-18 15:08:08 +00:00
Michael Brown
69d2261016
Check that serial port init actually happens
2006-09-01 00:26:32 +00:00
Michael Brown
66dcd22f61
Added debug to catch initialisation failures
2006-09-01 00:19:09 +00:00
Michael Brown
c399e88aa3
Hopefully fix gcc3 build issue
2006-08-30 13:55:52 +00:00
Michael Brown
22511400c7
Added generic function for calculating ACPI table checksum
2006-08-27 22:02:08 +00:00
Michael Brown
27ba2d7527
Take out unused cleanup() function so that we can remove the link
...
dependency on dev.o.
2006-08-14 22:52:35 +00:00
Michael Brown
dbf3482ef5
Removed obsolete print_config()
2006-08-14 22:45:22 +00:00
Michael Brown
97439cb6eb
Kill off poll_interruptions(); it is lethal when we're acting as a PXE
...
stack or INT 13 emulator etc.
2006-08-14 22:29:51 +00:00
Michael Brown
3c35a0b16d
Added cmdl_show proof-of-concept
2006-08-11 18:40:27 +00:00
Michael Brown
dd9399f527
Added "hostname" and "ip" as sample settings
2006-08-11 18:29:20 +00:00
Michael Brown
fe774fe356
Added ipv4 configuration type
2006-08-11 18:22:41 +00:00
Michael Brown
7029fb8eff
Add string configuration type
2006-08-11 18:16:57 +00:00
Michael Brown
db46972349
Added basic infrastructure for manipulating settings.
2006-08-11 18:00:22 +00:00
Michael Brown
0dd0a8366e
Removed obsolete line merged in with the cmdline stuff
2006-08-09 03:22:29 +00:00
Michael Brown
56c995ff60
Aborted
2006-08-09 02:37:05 +00:00
Marty Connor
41af7457a8
Merge of Fredrik Hultin command_line
2006-08-09 02:30:35 +00:00
Michael Brown
6e3e5efaed
Accept '%i' as a synonym for '%d'.
2006-07-25 14:33:20 +00:00
Michael Brown
e74e20cb55
Remove the static IP address hack from netdevice.c, and change the
...
default test to the DHCP test.
2006-07-20 02:51:52 +00:00
Michael Brown
35b0233baa
Tidy up hex_dump() output.
2006-07-17 13:04:29 +00:00
Michael Brown
3acbff4f00
How did this ever work properly before?
2006-07-13 18:27:23 +00:00
Marty Connor
eb091f03e3
fix printf format args
2006-06-29 19:04:25 +00:00
Marty Connor
e8cc1c4333
Removed vestigal FILO code
2006-06-29 18:07:02 +00:00
Dan Lynch
446c1a3372
- deprecated in favour of a split library model
2006-06-27 11:05:13 +00:00
Michael Brown
3c8aafa209
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.
2006-06-17 22:36:27 +00:00
Michael Brown
8aeead7c1c
Remove dependency on arptable[] (which is no longer used).
2006-06-16 14:48:31 +00:00
Michael Brown
c10698b8b4
Add NULL_TRAP as a config option
2006-06-11 01:55:43 +00:00
Michael Brown
286bf68faf
Added a very quick and dirty compatibility layer, to allow
...
not-yet-updated drivers to at least function.
2006-06-05 15:45:21 +00:00
Dan Lynch
34cfbf55a4
- added most slk functions
2006-06-05 15:03:11 +00:00
Michael Brown
6ab4b99f41
Quick hack to avoid trying to use an uninitialised net device.
2006-06-01 15:53:05 +00:00
Michael Brown
d6866202f9
Until we have a functioning UDP stack and PXE API again, there's not much
...
point trying to use the old boot sequence. Replaced with a call to the
AoE demo code, so that people can at least build and try something useful.
2006-06-01 11:07:31 +00:00
Michael Brown
cf96d325d8
Missing from previous checkin.
...
This is the core portion of the async I/O interface.
2006-05-31 18:45:43 +00:00
Michael Brown
1dbafa8950
Tidied up debugging messages
2006-05-27 13:38:49 +00:00
Michael Brown
0479e9f541
relocate.o is now dragged in by the objects that require it; there is no
...
need for a CONFIG_RELOCATE.
2006-05-25 01:34:13 +00:00
Dan Lynch
bef8874842
- implemented printw (formatted string output, a la printf)
...
- implemented hline/vline (part of wborder family)
- screen cursor now relocates at same time as window cursor when
restoring after a non-wrapping function
2006-05-22 17:03:41 +00:00
Michael Brown
84a493b88d
Allow vcprintf() to be called by external code such as the curses library.
...
Also trim another eight bytes from vsprintf.o. :)
2006-05-22 15:41:01 +00:00
Dan Lynch
f778500739
- fixes to _wputch to get positioning and wrap working properly
...
- fixes to wborder (same)
- addition of a few minor functions
2006-05-22 13:10:19 +00:00
Dan Lynch
d166dc57ab
- made _wputch wrap lines as well as cols (wraps back to line 0, as we have not way to scroll...)
...
- implemented color_content, wborder, wblrtobot, wclrtoeol, wcolor_set and several small functions
- added rest of expected global variables
2006-05-19 16:18:08 +00:00
Dan Lynch
2814681d20
all window primitives implemented
2006-05-18 17:51:19 +00:00
Michael Brown
a4143e8c87
Split debug functions out into core/debug.c, so that they can be
...
automatically linked in on demand.
Corrected warnings in misc.c. strtoul() really should be
unsigned long strtoul ( const char *p, const char **endp, int base )
but such is not the ANSI standard.
2006-05-17 17:16:24 +00:00
Michael Brown
15ee09ed10
Restructured PCI subsystem to fit the new device model.
...
Generic PCI code now handles 64-bit BARs correctly when setting
"membase"; drivers should need to call pci_bar_start() only if they want
to use BARs other than the first memory or I/O BAR.
Split rarely-used PCI functions out into pciextra.c.
Core PCI code is now 662 bytes (down from 1308 bytes in Etherboot 5.4).
284 bytes of this saving comes from the pci/pciextra split.
Cosmetic changes to lots of drivers (e.g. vendor_id->vendor in order to
match the names used in Linux).
2006-05-16 15:12:06 +00:00
Michael Brown
0afa9db2de
Tear out old heap code, replace with code that simply allocates memory
...
for use by malloc().
This breaks the image-loading code (which previously used the heap to
allocate the buffer for downloading the image), but that's not a major
concern since I'm going to tear out all the image formats within the next
couple of days anyway. Byebye, NBI! :)
2006-05-16 15:00:36 +00:00
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
Michael Brown
307cf36fca
Linker symbols no longer defined in etherboot.h
...
Use %m to print error
2005-05-18 14:43:27 +00:00
Michael Brown
ab07740755
First version
2005-05-17 18:39:27 +00:00
Michael Brown
ff9104e029
Added errno, strerror and the "%m" printf metacharacter. These will allow
...
us to return proper PXE status codes, while simultaneously allowing for
more consistent error reporting (complete with verbose error messages as a
build-time option).
2005-05-17 18:26:41 +00:00
Michael Brown
40c7b127aa
Added const to fill_buffer
2005-05-17 14:34:46 +00:00
Michael Brown
022661283a
Load buffer is now handled by the autoload() function.
2005-05-17 13:44:08 +00:00
Michael Brown
510de6cb8c
Restructured to allow per-object image formats
2005-05-17 13:40:31 +00:00
Michael Brown
0571dcdb05
Added print_images() and autoload().
2005-05-17 13:38:24 +00:00
Michael Brown
9968c9513e
Moved find_segment into elf_loader.c
2005-05-17 13:37:29 +00:00
Michael Brown
3ce6504f14
Use shared symbols for heap_ptr and heap_end
2005-05-17 13:35:43 +00:00
Michael Brown
6e8f29d3cb
Image formats moved into the new config system
2005-05-17 13:33:49 +00:00
Michael Brown
5c8ea0b93a
Add realloc, since the load buffer code requires it.
2005-05-13 13:20:16 +00:00
Michael Brown
59a1662978
Added debugging
2005-05-13 11:24:02 +00:00
Michael Brown
42250e9b1a
Tidied up init_heap()
2005-05-13 11:16:14 +00:00
Michael Brown
f0d048bf91
Added ASSERT() macro
2005-05-13 10:18:21 +00:00
Michael Brown
eff4fa5a04
Merged the unaligned and aligned heap APIs and simplified the code.
2005-05-12 16:34:57 +00:00
Michael Brown
a5a14dc05d
Use the global load_buffer, and the boot_image function.
2005-05-09 18:10:04 +00:00
Michael Brown
73429d6da1
Make "struct buffer"s reusable between sessions.
2005-05-09 18:03:44 +00:00
Michael Brown
58ee2c4b2e
First versions
2005-05-09 18:01:50 +00:00
Michael Brown
0fe74493f4
Protocols now load data into a buffer; they don't execute it.
2005-05-09 14:27:29 +00:00
Michael Brown
bab2924e89
Return -1 to indicate buffer overflow. Allow buffer fill level to be read
...
easily from struct buffer.
2005-05-09 14:26:10 +00:00
Michael Brown
a89651f3bb
Added debugging
2005-05-09 13:47:04 +00:00
Michael Brown
b2869ed6b8
Added explanatory comment.
2005-05-09 13:25:43 +00:00
Michael Brown
e75b7480d0
Modified to use physical addresses, and to not assume that we can directly
...
refer to data outside of our data or stack segments.
2005-05-09 13:24:01 +00:00
Michael Brown
ef05a27f25
Start of an implementation using doubly-linked lists and virtual
...
addresses. This will have to be reworked to use physical addresses thanks
to the PXE spec.
2005-05-09 10:11:11 +00:00
Michael Brown
462234f373
Make vga_font const to avoid warning about large symbol
2005-05-03 13:17:08 +00:00
Michael Brown
a918abc036
Split TCP code out into proto/tcp.c
2005-05-02 12:07:47 +00:00
Michael Brown
cc980d1c94
Moved DOWNLOAD_PROTO_XXX options to config.h
2005-05-02 11:13:47 +00:00
Michael Brown
f9f1d2c84c
More URL parsing moved into url.c
2005-05-01 23:58:45 +00:00
Michael Brown
d5bf9e71ea
http.h obsoleted (no content)
2005-05-01 23:58:20 +00:00
Michael Brown
63482e4fe9
Made parse_url do more of the processing, to avoid duplicating parts of
...
nic.c in http.c
2005-05-01 19:10:04 +00:00
Michael Brown
2227a711fd
umountall() handled by nfs.c's reset function
2005-05-01 15:08:19 +00:00
Michael Brown
85d9eae44e
Moved protocols to proto/
2005-05-01 14:04:11 +00:00
Michael Brown
e1d6f3a8ac
Add NMB_RESOLVER
2005-05-01 10:58:49 +00:00
Michael Brown
552f33c663
Always request DNS server. DHCP handling will be generalised in future.
2005-04-30 19:39:50 +00:00