Michael Brown
ed5ff61790
Standardise DBG_PRINTF()->DBG(), and remove custom definitions for
...
DBG_PRINTF() and assert().
2007-09-26 17:38:36 +01:00
Michael Brown
881dd8e102
Switch rm_ss and rm_sp back to being words; it'll make it less
...
confusing to read the code.
2007-09-25 20:16:32 +01:00
Michael Brown
42d96bcb07
Don't use the "rep ss movsb" trick to copy the RM stack to the PM
...
stack; it breaks vmxassist.
2007-09-25 20:14:20 +01:00
Michael Brown
0ed066bc50
rm_ss, rm_sp, and pm_esp don't need to be accessed from anywhere
...
outside of librm.S.
2007-09-25 19:20:38 +01:00
Michael Brown
b8a8eea850
Minor refactoring to eliminate duplication.
2007-09-25 19:06:38 +01:00
Michael Brown
dec325fe43
Use full protected mode for access to high memory within prefix, to
...
work around limitations in real-mode virtualisation support on Intel
VT-capable chips.
2007-09-25 18:01:15 +01:00
Michael Brown
a7eee64506
Added more verbose memory-map debugging.
...
Added redundant call to get_memmap() in int13_boot() immediately
before jumping to boot sector, to assist in debugging.
2007-09-21 18:33:17 +01:00
Michael Brown
0979e674bb
Added more verbose memory-map debugging.
...
Added redundant call to get_memmap() in int13_boot() immediately
before jumping to boot sector, to assist in debugging.
2007-09-21 18:27:51 +01:00
Michael Brown
44461b1854
Merge branch 'master' into 3leaf-delivery
2007-09-21 01:27:03 +01:00
Michael Brown
1e677b2024
Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe
2007-09-21 01:26:06 +01:00
Michael Brown
5793dbe96f
Infinband requires longer link-layer addresses and headers than Ethernet.
2007-09-21 01:23:57 +01:00
Michael Brown
2ee76d0c93
Added defines for Infiniband files (which can't be committed to the
...
main tree yet, but reserving the error numbers now avoids problems later).
2007-09-21 01:19:04 +01:00
Michael Brown
1af346b531
Minor debug message improvement.
2007-09-21 01:17:46 +01:00
Michael Brown
af303db75d
Use RFC4390 whenever hardware address exceeds 16 bytes; this allows us
...
to construct DHCP packets suitable for Infiniband.
2007-09-21 01:15:58 +01:00
Michael Brown
9c264faa0c
Add const attribute to byte-swapping functions
2007-09-21 01:15:06 +01: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
f09173326c
Moved iobuf.h assertions outside the static inline functions, so that
...
the assert message's file and line number gives some clue as to the
real location of the problem.
Added similar assertions to list.h.
2007-09-21 01:13:22 +01:00
Michael Brown
0f60150c44
Reverted driver/net/mlx_ipoib to clean master state
2007-09-18 07:07:04 +01:00
Michael Brown
30717896f5
IB can't afford many RX buffers, because the MTU is so large. Reduce
...
the TCP window to compensate.
2007-09-18 07:02:41 +01:00
Michael Brown
2f23881856
Added arbel.c
2007-09-18 06:37:22 +01:00
Michael Brown
95498fa038
Remove the last remaining visible hack.
2007-09-18 06:26:31 +01:00
Michael Brown
982e4dd101
Separated out to a clean new drivers/infiniband directory.
2007-09-18 06:06:55 +01:00
Michael Brown
a5ec029d24
First version that works with SELF_INIT!
2007-09-18 05:46:49 +01:00
Michael Brown
8423b0b109
Gets most of the way through initialisation.
2007-09-18 05:39:34 +01:00
Michael Brown
def5ae9127
Added sw2hw_mpt
2007-09-18 04:45:55 +01:00
Michael Brown
da014080f9
INIT_HCA block now matches.
2007-09-18 04:20:41 +01:00
Michael Brown
57bf8d9905
Seems to get through the ICM mapping process
2007-09-18 03:58:59 +01:00
Michael Brown
4ea6223f5a
ICM allocation code in place; about to start test-and-compare runs.
2007-09-18 02:57:49 +01:00
Michael Brown
f20cd6f721
ICM allocation code *should* now be complete.
2007-09-18 02:05:25 +01:00
Michael Brown
af88f60228
Started with the ICM partitioning code.
2007-09-18 01:49:39 +01:00
Michael Brown
c818d47e25
Restructured bits of initialisation (not testable at present)
2007-09-17 22:25:46 +01:00
Michael Brown
dc3165b746
Starting the firmware directly now works.
2007-09-17 21:59:41 +01:00
Michael Brown
0f62bcaa77
Start migrating the remaining initialisation steps.
2007-09-17 21:14:09 +01:00
Michael Brown
f3fcb53faf
Don't use the mailboxless version of the HW2SW_CQ command; it seems to
...
crash the machine.
2007-09-17 19:47:19 +01:00
Michael Brown
12b4cb964b
Removed more hacks, and adjusted number of queue entries for likely usage.
2007-09-17 19:17:55 +01:00
Michael Brown
11541b1e01
Remove hacks, and fix leaving the multicast GID.
2007-09-17 19:12:06 +01:00
Michael Brown
267a4483ab
Added an almost obscene amount of debugging and assertion code while
...
tracking down a bug that turned out to be a free_iob() used where I
needed a netdev_tx_complete(). This left the freed I/O buffer on the
net device's TX list, with bad, bad consequences later.
Also fixed the bug in question.
2007-09-17 19:01:10 +01:00
Michael Brown
387a1a8556
Minor debug message improvement.
2007-09-17 18:57:32 +01:00
Michael Brown
2c56ede6f8
Moved iobuf.h assertions outside the static inline functions, so that
...
the assert message's file and line number gives some clue as to the
real location of the problem.
Added similar assertions to list.h.
2007-09-17 18:38:04 +01:00
Michael Brown
bdac591726
Some interesting packet corruption happening now.
2007-09-17 13:31:13 +01:00
Michael Brown
2ed1acb9e9
Broadcast GID is now calculated by IPoIB layer.
2007-09-17 11:50:25 +01:00
Michael Brown
32a7bbb1e3
Cleaned up some debug messages.
2007-09-17 10:56:21 +01:00
Michael Brown
ab191e45db
Unicasts seem to be working. :)
2007-09-17 10:39:30 +01:00
Michael Brown
2209090120
Dead code disabling
2007-09-17 08:41:06 +01:00
Michael Brown
b3d3814c17
Obtains a response to the get path record!
2007-09-17 08:36:56 +01:00
Michael Brown
e05a8cd4de
Use pkey table access to determine broadcast GID directly.
2007-09-17 06:35:21 +01:00
Michael Brown
f6f1f2b7bb
Prepare for adding a metadata queue to IPoIB
2007-09-17 06:12:33 +01:00
Michael Brown
440e7926fb
Dead code removal
2007-09-17 05:12:47 +01:00
Michael Brown
4e78a53cf2
IPoIB code separated out to ipoib.c.
2007-09-17 05:04:58 +01:00
Michael Brown
67836430e6
Read port GID directly using MAD IFC.
2007-09-17 02:54:15 +01:00
Michael Brown
3c6a6bdc5d
Multicast join now works.
2007-09-17 00:24:44 +01:00
Michael Brown
96d0c75c00
Now transmits packets on our own allocated IPoIB queue pair. :)
2007-09-16 22:53:57 +01:00
Michael Brown
4ddb6570f8
Almost working with own-queue allocation.
2007-09-16 22:47:45 +01:00
Michael Brown
7e85f0d296
create_qp() and destroy_qp() now written (but not tested).
2007-09-16 20:54:21 +01:00
Michael Brown
251cc84ed6
Started implementing create_qp() and destroy_qp().
2007-09-16 19:03:24 +01:00
Michael Brown
83a6cc8c9b
Don't get stuck in an infinite loop on negative integers!
2007-09-16 17:39:29 +01:00
Michael Brown
6d15a193aa
Add fls() for non-constant values.
2007-09-16 17:36:40 +01:00
Michael Brown
b21d4ca21e
Revert to dev_priv/owner_priv scheme, rather than container_of; it
...
makes it easier to put the generic allocation code into infiniband.c
2007-09-16 17:25:15 +01:00
Michael Brown
e238bb1e43
destroy_cq() now implemented (not tested).
2007-09-16 14:39:51 +01:00
Michael Brown
18edcf6634
create_cq() implemented (but not tested).
2007-09-16 14:18:17 +01:00
Michael Brown
725a574042
Match doorbell layout to expected usage.
2007-09-16 13:10:15 +01:00
Michael Brown
5a43293c38
Started to add code for CQ creation
2007-09-16 12:52:58 +01:00
Michael Brown
156b409ccc
Rearrange data structures to maximise embedding (and hence minimise
...
the number of separate allocations that need to be done).
2007-09-16 04:02:20 +01:00
Michael Brown
791f992657
Command interface now reasonably friendly.
2007-09-16 03:13:25 +01:00
Michael Brown
bf9bd93856
First (working) draft of command interface.
2007-09-16 01:44:57 +01:00
Michael Brown
baa885ee8e
Kill off more dead code.
2007-09-15 23:36:41 +01:00
Michael Brown
37fc40bc8c
post_recv() now works, and we can pass data on the IPoIB queue pair
...
using entirely our own code.
2007-09-15 23:33:25 +01:00
Michael Brown
838b972cd3
Kill off some dead code
2007-09-15 21:26:14 +01:00
Michael Brown
31b82ea1dd
Hack up IB structures at start-of-day, instead of on each use.
2007-09-15 21:23:34 +01:00
Michael Brown
8deef093d9
Direct polling of TX completion queue now works.
2007-09-15 20:58:29 +01:00
Michael Brown
687afdcdd9
Add const attribute to byte-swapping functions
2007-09-15 18:44:35 +01:00
Michael Brown
6a791649f0
Updated MLX_* accessor macros to use implicit type information.
2007-09-15 18:44:09 +01:00
Michael Brown
a3a91fedc1
Started added poll_cq() verb.
...
Started reworking MLX_EXTRACT(), MLX_POPULATE() etc. to automatically
determine type information.
2007-09-15 15:40:35 +01:00
Michael Brown
37a036bd48
Map the whole of physical memory
2007-09-15 03:22:04 +01:00
Michael Brown
970951666f
arbel_post_send() has been observed to transmit a packet!
2007-09-15 02:53:05 +01:00
Michael Brown
8b27da9de1
Gets a response out of the hardware. (An error completion, to be precise.)
2007-09-15 01:35:07 +01:00
Michael Brown
21d4ab3ce2
Prefix arbel-specific functions etc. with arbel_
2007-09-15 00:27:09 +01:00
Michael Brown
38a73b55c4
Now at least compiles
2007-09-15 00:19:38 +01:00
Michael Brown
9d08b7c692
Starting to introduce an Infiniband device abstraction
2007-09-14 20:29:44 +01:00
Michael Brown
75fbc96f75
Remove some dead code
2007-09-14 11:23:06 +01:00
Michael Brown
08e8dfd801
Now handling TX completions in our poll loop.
2007-09-14 11:10:25 +01:00
Michael Brown
e69863b5fb
Proof-of-concept to manually parse completion event
2007-09-14 10:18:09 +01:00
Michael Brown
e9df4f691e
Add EX_FLD_BE()
2007-09-14 10:17:29 +01:00
Michael Brown
da23e8d287
Start constructing a generic poll() routine.
2007-09-13 17:47:14 +01:00
Michael Brown
30a19c3f1c
Can now both send and receive packets. LL header format not yet
...
fixed; still using a quick hack-up just to be able to pass through
data.
2007-09-13 14:43:12 +01:00
Michael Brown
99411e36da
Added netdev_priv() to ease Linux driver compatibility.
2007-09-13 13:34:38 +01:00
Michael Brown
eecf71e4a0
Removed file checked in accidentally
2007-09-13 12:57:25 +01:00
Michael Brown
03c90e183f
Dump received packet, including GRH.
2007-09-13 03:15:27 +01:00
Michael Brown
7e4e5af462
Use RFC4390 whenever hardware address exceeds 16 bytes; this allows us
...
to construct DHCP packets suitable for Infiniband.
2007-09-13 01:53:04 +01:00
Michael Brown
771455653b
Bugfix: DHCP message type should be a one-byte option... (d'oh)
2007-09-13 01:16:23 +01:00
Michael Brown
9e32e8e513
Now sends IP packets correctly.
2007-09-13 01:14:56 +01:00
Michael Brown
c0d99245a9
Bugfix: DHCP message type should be a one-byte option... (d'oh)
2007-09-13 01:13:57 +01:00
Michael Brown
7b6d11e713
Started IB driver rewrite
2007-09-12 22:17:43 +01:00
Michael Brown
5f6439c828
Merge branch 'master' into 3leaf-rewrite
2007-09-11 15:42:17 +01:00
Michael Brown
98de16befd
Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe
2007-09-09 13:31:38 +01:00
Michael Brown
6f799db5bd
Use "/bin/echo -e" instead of shell builtin echo; some shells don't
...
implement the -e option.
(Thanks to Jim McQuillan for this suggestion.)
2007-09-08 23:38:17 +01:00
Michael Brown
972f293e46
Check for correct block number in tftp_rx_data().
...
(Problem observed by Clay McClure in VMware Fusion.)
2007-09-08 19:30:25 +01:00
Michael Brown
fbec308f41
Re-added the kpxe prefix. I have no idea when this disappeared.
2007-09-08 15:57:01 +01:00
Michael Brown
66207bb912
Add the possibility to create .o files from arbitrary binary blobs.
2007-09-06 15:11:09 +01:00
Michael Brown
a82e6ec2de
Added missing .kpxe prefix.
2007-09-06 15:08:41 +01:00
Michael Brown
00d93c6dd9
Minor style fix: structure fields are generally initialised in the
...
order in which they occur.
2007-09-06 13:37:47 +01:00
Marty Connor
14e1d3cc4d
TFTP default blocksize fix from Vampyre
2007-08-30 13:51:38 -04:00
Marty Connor
63f0e4e796
allpxes allroms alldsks fixes from Vampyre
2007-08-30 13:08:46 -04:00
Marty Connor
eaca053174
Add sis900 variant (patch from Vampyre)
2007-08-30 08:36:00 -04:00
Michael Brown
74a49af4ab
Force MAC address for testing purposes
2007-08-29 20:07:41 +01:00
Holger Lubitz
5d6f6fb924
Merge branch 'master' into curses
...
Conflicts:
src/include/compiler.h
src/include/readline/readline.h
created by strings branch merge. resolved.
2007-08-23 23:15:54 +02:00
Michael Brown
746d0f8feb
Merge commit 'holger/strings'
2007-08-23 21:51:57 +01:00
Michael Brown
b62a9ee0f4
Merge branch 'master' into 3leaf
2007-08-23 20:50:58 +01:00
Michael Brown
01b755704a
Auto-assign drive number only if set to 0xff; almost all applications
...
require that we use drive 0x80, so it should probably be the default.
2007-08-23 20:50:24 +01:00
Michael Brown
d078fb3cb7
Allow legacy "make bin/etherboot.%".
2007-08-22 23:10:00 +01:00
Michael Brown
8ee7eeb407
Merge branch 'master' into 3leaf
2007-08-21 01:53:11 +01:00
Holger Lubitz
f92096d180
use malloc attribute
2007-08-20 20:30:24 +02:00
Holger Lubitz
bc9f960b66
use malloc attribute
2007-08-20 20:30:17 +02:00
Holger Lubitz
6f0eca1400
use malloc attribute
2007-08-20 20:30:11 +02:00
Holger Lubitz
8bb295e3fd
use malloc attribute
2007-08-20 20:29:58 +02:00
Holger Lubitz
6f61e254dc
use malloc attribute
2007-08-20 20:29:50 +02:00
Holger Lubitz
347ab9b8c2
use malloc attribute
2007-08-20 20:29:41 +02:00
Holger Lubitz
c4285e148d
use malloc attribute
2007-08-20 20:29:30 +02:00
Holger Lubitz
05708503e5
use malloc attribute
2007-08-20 20:29:23 +02:00
Holger Lubitz
9386263433
use malloc attribute
2007-08-20 20:29:09 +02:00
Holger Lubitz
68455adf37
use malloc attribute
2007-08-20 20:28:47 +02:00
Holger Lubitz
dea89e8d62
use malloc attribute
2007-08-20 20:28:23 +02:00
Holger Lubitz
2220e1a676
define malloc attribute
2007-08-20 20:28:11 +02:00
Holger Lubitz
2e88138b06
__nonnull changes
2007-08-20 00:35:07 +02:00
Holger Lubitz
a0fbce4656
__nonnull changes
2007-08-20 00:34:59 +02:00
Holger Lubitz
d0867b101d
__nonnull changes
2007-08-20 00:34:46 +02:00
Holger Lubitz
d2dd4b9e31
__nonnull changes
2007-08-20 00:34:39 +02:00
Holger Lubitz
e1eefee16b
__nonnull changes
2007-08-20 00:34:32 +02:00
Holger Lubitz
3559beeb0f
__nonnull changes
2007-08-20 00:34:17 +02:00
Holger Lubitz
3c19e4a07e
__nonnull changes
2007-08-20 00:34:04 +02:00
Holger Lubitz
d39e79248c
__nonnull changes
2007-08-20 00:33:55 +02:00
Holger Lubitz
c5414e6d12
__nonnull changes
2007-08-20 00:33:51 +02:00
Holger Lubitz
6a3ee34c18
__nonnull changes
2007-08-20 00:32:51 +02:00
Holger Lubitz
e7114f1215
__nonnull changes
2007-08-20 00:32:36 +02:00
Holger Lubitz
3859abb7de
define __nonnull
2007-08-19 22:51:17 +02:00
Holger Lubitz
e8b8991b84
define __pure and __const
2007-08-19 22:50:48 +02:00
Michael Brown
a45a145b8c
Added error IDs for all files in drivers/net; they're likely to need them.
2007-08-19 00:29:43 +01:00
Michael Brown
db61b0a577
Added error IDs for all files in drivers/net; they're likely to need them.
2007-08-19 00:29:27 +01:00
Michael Brown
8ad8804f7a
Fix building on distros which use dash as the default shell.
2007-08-18 19:05:06 +01:00
Michael Brown
800c8b014b
Add barrier() primitive (was present in Eb5.4), used by some currently
...
out-of-tree driver code.
2007-08-18 18:05:00 +01:00
Michael Brown
a895fd0c15
Add barrier() primitive (was present in Eb5.4), used by some currently
...
out-of-tree driver code.
2007-08-18 18:04:50 +01:00
Michael Brown
b42c5905cb
Very quick and very dirty hack to get the Mellanox code building
...
inside gPXE.
2007-08-18 18:04:18 +01:00
Michael Brown
9d2c54735e
Started fixing up compilation warnings.
2007-08-17 20:34:48 +01:00
Michael Brown
d0974ec716
Separate out arch-independent parts of stdint.h
2007-08-17 19:51:35 +01:00
Michael Brown
eff8b06eff
Separate out arch-independent parts of stdint.h
2007-08-17 19:51:08 +01:00
Michael Brown
d9bba621c8
Imported latest versions from Etherboot 5.4
2007-08-17 19:35:40 +01:00
Michael Brown
2ff1b1245b
Use start_timer_nodelay() in protocols which rely on the retry timer
...
to generate the initial transmission; this cuts off around 0.3s per
instantiated connection.
2007-08-13 11:03:33 -07:00
Michael Brown
0a3c2b80ea
Add start_timer_nodelay()
2007-08-13 10:59:00 -07:00
Michael Brown
5cda460f19
Build the all-driver images by default, and print instructions for usage.
2007-08-09 20:17:35 -07: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
950057eeed
Add PXE FILE API.
2007-08-04 01:23:37 +01: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
6e46dddc2c
Print multiple commands per line in help
2007-08-03 01:03:21 +01:00
Michael Brown
688bac1656
Place multiboot command lines in base memory; Xen won't pick them up
...
otherwise. :(
2007-08-02 23:09:03 +01:00
Michael Brown
710c6c1be1
Error message cleanups.
2007-08-02 20:27:50 +01:00
Michael Brown
1ae40765a6
Set current working URI equal to script URI during script execution.
2007-08-02 20:27:19 +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
Michael Brown
9fd6a0418f
Allowed zero-cost enforced ordering of features in startup banner
...
list.
Added FEATURE() macros to most relevant (non-driver) files.
2007-08-02 14:51:03 +01:00
Michael Brown
67afe84292
Use otherwise-useless byte in DHCP feature option as a version number
2007-08-02 04:36:00 +01:00
Michael Brown
0acb016840
Add FEATURE() macro, plus code to display features at startup time,
...
and generate DHCP options to indicate features to DHCP server (and to
PXE NBPs).
2007-08-02 04:24:39 +01:00
Holger Lubitz
7e1db201b9
strdup and strndup call malloc and are not pure
2007-08-02 03:04:44 +02:00
Holger Lubitz
857c5db4dd
fix gcc 4.2.1 warning: discards qualifiers from pointer target type
2007-08-02 01:56:57 +01:00
Holger Lubitz
fdd5fbe3ae
fix gcc 4.2.1 warning: initialized field overwritten
2007-08-02 01:56:50 +01:00
Holger Lubitz
91a8ae1216
include more changes for x86_64
2007-08-02 01:55:48 +01:00
Holger Lubitz
0ebf6cdef4
remove old minorversion!=4 check (added -march a second time)
2007-08-02 01:54:42 +01:00
Holger Lubitz
06eb725cd4
remove x86_64 comments from arch specific Config
...
options are in main makefile now
2007-08-02 01:48:28 +01:00
Michael Brown
02de18eb3e
Cope with non-newline-terminated scripts.
...
Print error status using strerror().
2007-08-02 01:12:42 +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
7e8e4f8abd
declare pointers passed to string functions as nonnull
2007-08-02 01:02:06 +02:00
Holger Lubitz
e3d10ac673
define __nonnull
2007-08-02 01:01:01 +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
8e3e97fcef
set __pure attribute where possible
2007-08-02 00:51:38 +02:00
Holger Lubitz
cd619a1eec
define __pure and __const
2007-08-02 00:27:54 +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
24f32a1945
Initrd concatenation now working
2007-08-01 15:29:15 +01:00
Michael Brown
c5d9114064
Allow loading of multiple initramfs images.
2007-07-31 18:09:18 +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
dde3f99e4e
Fix endianness of "shelf" field
2007-07-31 03:48:43 +01:00
Michael Brown
79691961ba
Add identifier for the network device into the DHCP request.
2007-07-31 03:32:22 +01:00
Michael Brown
5e26df0325
Centralise construction of the DHCP request and response packets.
2007-07-31 03:02:21 +01:00
Michael Brown
d0abffc2f6
Added the AoE boot information table as used by Vampyre's AoE
...
initiator. This table needs to be replaced by something similar to
iBFT (i.e. scanned for and identified by signature, rather than being
at a fixed address), but it works for now.
2007-07-30 23:58:59 +01:00
Michael Brown
847ac4f336
tls_change_cipher() can complain about null cipher and digest
...
algorithms; we only need the pubkey check disabled (and only because
pubkey algorithms are not yet integrated into the crypto_algorithm
subsystem).
2007-07-30 03:30:27 +01:00
Michael Brown
60e3aa4d75
Change #warnings to FIXMEs, so that we can build without NO_WERROR=1
2007-07-30 03:06:08 +01:00
Michael Brown
bf3d8fb1aa
Allowed HTTPS to be a separately configurable feature.
2007-07-30 03:01:04 +01:00
Michael Brown
3b8b06ae90
Added missing #include
2007-07-30 03:00:15 +01:00
Michael Brown
74ad5014c5
Inhibit compiler warning
2007-07-30 02:58:22 +01:00
Michael Brown
6fc9ed167e
TLS now working again.
2007-07-30 02:48:38 +01:00
Michael Brown
9a9f46ff58
Upgrade AXTLS import to version 1.1.5-a
2007-07-30 02:48:00 +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
Michael Brown
f62d6486d8
GCC's optimiser seems to screw up if this is left static...
2007-07-30 02:42:32 +01:00
Michael Brown
3b9bf40682
Preparation for adding tls.c
2007-07-29 17:16:00 +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
304d1e9fa5
Don't rely on retry.c's periodically calling currticks() in order to
...
allow the UNDI NIC interrupt to happen.
2007-07-29 15:27:47 +01:00
Michael Brown
218314e712
Added HMAC code from TLS project
2007-07-29 03:09:00 +01:00
Michael Brown
43013da9bf
Quick hack to get AoE back in to the tree, on a par with the current
...
iSCSI hack.
2007-07-29 02:31: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
e3484e26eb
Merge branch 'symcheck2'
2007-07-28 22:55:31 +01:00
Michael Brown
0d568ac219
Make has_key() a static inline, rather than omitting it altogether.
2007-07-28 22:55:17 +01:00
Michael Brown
3e816c3d56
Revert "make bool m_echo static" - I suspect this to be defined by spec
...
This reverts commit 3cb133d27d
.
2007-07-28 22:52:20 +01:00
Holger Lubitz
52e5c24565
Revert "make isspace static" - prototype for isspace() is defined by C99, so can't be static
...
This reverts commit ed06bd8a89
.
2007-07-28 23:20:44 +02:00
Holger Lubitz
0ae6c53bd9
Revert "make __udivmoddi4 static" - gcc links to it implicitly
...
This reverts commit 9e7b165017
.
2007-07-28 23:20:00 +02:00
Michael Brown
ca41159f57
Ensure clock line is in the idle state before asserting chip select.
2007-07-28 16:05:41 +01:00
Holger Lubitz
63e489c14d
make struct velocity_info vptx static
2007-07-27 22:07:01 +02:00
Holger Lubitz
5c486ee75d
make struct velocity_info_tbl *info static
2007-07-27 22:05:47 +02:00
Holger Lubitz
5a0c703403
make struct nsx static
2007-07-27 22:03:04 +02:00
Holger Lubitz
4cd21524ef
make struct bnx2 bnx2 static
2007-07-27 22:02:11 +02:00
Holger Lubitz
9a4790667a
make multiboot_load static
2007-07-27 22:01:23 +02:00
Holger Lubitz
dc38303ff9
make nbi_load static
2007-07-27 22:00:51 +02:00
Holger Lubitz
e6cfa7ced9
make http_open static
2007-07-27 21:59:09 +02:00
Holger Lubitz
5ec4e2ad50
make eltorito_load static
2007-07-27 21:58:31 +02:00
Holger Lubitz
909ad9e80a
make cards_found static and add missing initialization
2007-07-27 21:50:12 +02:00
Holger Lubitz
3cb133d27d
make bool m_echo static
2007-07-27 21:47:28 +02:00
Holger Lubitz
ac1e0aa63e
remove has_key by #if 0'ing out
2007-07-27 21:46:21 +02:00
Holger Lubitz
0e0843a872
make _wgetc static
2007-07-27 21:45:04 +02:00
Holger Lubitz
59ad3dac40
Merge branch 'master' into symcheck2
2007-07-27 21:40:38 +02:00
Holger Lubitz
9e7b165017
make __udivmoddi4 static
2007-07-27 21:39:58 +02:00
Holger Lubitz
77ffd636fa
make RTL8169_READ_GMII_REG, RTL8169_WRITE_GMII_REG static
2007-07-27 21:39:31 +02:00
Holger Lubitz
9280f2649a
make struct _softlabelkeys *slks static
2007-07-27 21:38:45 +02:00
Holger Lubitz
fa11865de0
make add_ndp_entry static
2007-07-27 21:37:29 +02:00
Holger Lubitz
ed06bd8a89
make isspace static
2007-07-27 21:36:53 +02:00
Holger Lubitz
29134e35dc
make md5_steps static
2007-07-27 21:36:16 +02:00
Holger Lubitz
97aade0d1f
make imgfill_cmdline static
2007-07-27 21:35:17 +02:00
Holger Lubitz
42910594f7
disable AES_convert_key by #if 0'ing it out (suggested by mcb30)
2007-07-27 21:33:53 +02:00
Holger Lubitz
1ec846b038
make netboot() static
2007-07-27 21:31:45 +02:00
Holger Lubitz
426c2c150d
disable AES_convert_key by #if 0'ing it out (suggested by mcb30)
2007-07-27 21:31:11 +02:00
Michael Brown
47a86bca2d
Prepare for iBFT merge when possible. iscsiboot.c contains a really,
...
really ugly hack at present, but that doesn't hugely matter since I'm
aiming to change the interface to iSCSI devices anyway within the next
week.
2007-07-26 02:13:38 +01:00
Michael Brown
84c347c7de
Inhibit a spurious warning on GCC 4.0.1
2007-07-26 00:46:27 +01:00
Michael Brown
2c7ffa8c27
Added two lines of code that were completely missing!
2007-07-25 13:32:02 +01:00
Michael Brown
09118cd5bf
Don't overwrite %dl with a (potentially) modified drive number if we
...
already handled the INT13 call.
2007-07-25 02:03:29 +01:00
Michael Brown
d5e39286f7
We probably shouldn't leave interrupts disabled when starting an OS.
2007-07-25 02:02:24 +01:00
Michael Brown
9aa61ad5a2
Add per-file error identifiers
2007-07-24 17:11:31 +01:00
Michael Brown
f0acd8d7a7
Define -DOBJECT when generating Makefile rules, for consistency.
...
Inhibit -Werror when generating Makefile rules, to prevent warnings
from killing the dependency list.
2007-07-24 15:19:09 +01:00
Michael Brown
3f338b7b80
Include errno.h in the few drivers which use it, rather than in nic.h
2007-07-24 14:05:32 +01:00
Michael Brown
ed9ba18ec6
Allow -Werror to be temporarily disabled using "make NO_WERROR=1"
2007-07-24 14:01:14 +01:00
Michael Brown
75912b3b77
Remove some obsolete sections of librm.h and libkir.h.
...
Add some of the missing parts to libkir.h.
2007-07-24 12:46:07 +01:00
Michael Brown
b188311edd
We can finally enable -Werror :)
2007-07-24 12:43:11 +01:00
Michael Brown
90b5315db0
Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe
2007-07-24 12:37:09 +01:00
Marty Connor
02a7514128
Change #warning to FIXME for ns8390.c
...
This driver really needs to be rewritten.
It tries to build both ISA and PCI images,
and makes life diffifult for the build system
and rom-o-matic.net. The warning was just a reminder
that it needs to be cleaned up and re-factored
to split the PCI and ISA drivers.
2007-07-22 21:00:55 -04:00
Marty Connor
4e177aee17
Change #warning to FIXME for depca
...
This ancient ISA driver should probably be removed.
It is hard to get a card to test it with, and there
are comments to the effect that it cannot work with
relocation. I would be quite interested to get a
bug report by someone who actually has this card.
2007-07-22 20:56:26 -04:00
Marty Connor
767a3cef77
Changed #warning to FIXME for nvo hack warning.
2007-07-22 20:52:32 -04:00
Marty Connor
63c9131eeb
Add NIC to targets that are always made.
...
Even though it is only currently used for rom-o-matic.net code,
it is good to make sure it gets built, and that the parsing code
is working.
2007-07-22 20:41:53 -04:00
Michael Brown
07e11f8af9
Minor debug improvement
2007-07-19 17:01:21 +01:00
Michael Brown
2cfe0dee1f
Don't trash the %ecx value returned by relocate(). This was causing
...
us to round down the size for the relocation copy to the nearest 64kB
(+0x10 bytes); this just happened to work on most machines because the
last 64kB of the image is all-zeroes anyway (it's the .bss).
2007-07-19 16:07:31 +01:00
Michael Brown
a8111e8ab7
Remove INT 13,4b handler; it represents an incomplete feature (CD-ROM
...
emulation support) for an unknown purpose, and breaks grub.
2007-07-19 11:16:05 +01:00
Michael Brown
0d9d2ccbae
Completed definition of struct int13_cdrom_specification, and moved to
...
int13.h.
2007-07-19 11:15:01 +01:00
Michael Brown
013d381e3c
Real-mode code might set the direction flag, which would cause carnage.
2007-07-17 13:46:37 +01:00
Michael Brown
c94cdf2b7d
Move .zinfo to libprefix.S; it doesn't belong with the decompression code.
2007-07-17 12:52:54 +01:00
Michael Brown
cb237819ca
Produce no output unless -v is specified or an error occurs.
2007-07-17 01:59:48 +01:00
Michael Brown
dc52db4920
Removed dead code identified by symcheck
2007-07-17 01:43:19 +01:00
Michael Brown
94415b7669
Added missing "static" declarations
2007-07-17 01:42:10 +01:00
Michael Brown
19904804da
Restore the "shared symbol found only in a single object should be
...
treated as being provided by that object" code.
2007-07-17 01:39:06 +01:00
Michael Brown
62d92348fe
Added symbols that the DBG() macros will use.
2007-07-17 01:24:04 +01:00
Michael Brown
f44969f7df
nameserver should be static
2007-07-17 01:21:20 +01:00
Michael Brown
7df3d4a177
Obsolete code removal
2007-07-17 01:19:35 +01:00
Michael Brown
60ce8e884d
Added missing extern
2007-07-17 01:16:24 +01:00
Michael Brown
c3290aae54
Use objdump -t for symcheck; it allows us to take the symbol section
...
into account (and so remove the false positives due to .tbl.* symbols).
2007-07-17 01:15:39 +01:00
Michael Brown
38dbe14bbe
Kill off redundant references to the .zprefixes.
2007-07-16 17:26:07 +01:00
Michael Brown
84551d485e
Update all prefixes currently referring to _load_size to include a
...
compressor fixup section.
2007-07-16 17:17:26 +01:00
Michael Brown
0929142a15
Rename _rom_size to _load_size_sect, since hdprefix.S also uses it.
2007-07-16 17:03:19 +01:00
Michael Brown
048bbeeebc
Compressed ROM images now work.
2007-07-16 16:58:38 +01:00
Michael Brown
37fa9a8706
Split the objcopy stage out of final image preparation to a separate
...
bin/%.bin target.
2007-07-16 13:41:27 +01:00
Michael Brown
6d2e4e719c
Move uninitialised .data16 variables to .bss16; saves around 2000
...
bytes of useless zeroes in the final image.
2007-07-16 13:22:12 +01:00
Michael Brown
389204713f
Kill off some long-redundant CFLAGS
2007-07-16 13:15:12 +01:00
Michael Brown
833d6cc8ec
Add __bss16() macro, and allow use of .bss16 section by removing
...
link-time check for section overlaps. (In order to avoid wasting
space in the executable image, .bss16 will overlap with the following
section, which is .text).
2007-07-16 13:10:49 +01:00
Michael Brown
c482fc90fb
Revert "no need for depending on build library ("blib")"
...
This reverts commit 9dc2515d7e
.
I want "make" to actually build something.
2007-07-16 13:06:58 +01:00
Michael Brown
a8780a4fe4
Added nrv2b binary to ignore list
2007-07-15 13:31:31 +01:00
Michael Brown
ab859a5355
Use a single _payload_offset linker-defined variable to locate the
...
start of the non-prefix blocks in the loaded image, and rely on the
image ordering. This should make introducing compression much easier.
2007-07-15 02:52:02 +01:00
Michael Brown
aa729d2d10
Reverting unintended change caused by merge of indolent/natsemi branch.
2007-07-15 02:22:49 +01:00
Michael Brown
c27b06fc4d
Merge commit 'indolent/natsemi'
2007-07-15 02:21:55 +01:00
Udayan Kumar
37517f7752
removed type casting from DBG statements.
2007-07-14 21:08:07 -04:00
Udayan Kumar
fc47f2a4ce
replaces printf with dbg
2007-07-14 21:08:07 -04:00
Udayan Kumar
04962a0b31
added natsemi.h
2007-07-14 21:08:06 -04:00
Udayan Kumar
ecfa8f41e8
mdc's+nvs
2007-07-14 21:08:06 -04:00
Udayan Kumar
008bfb6e85
more debugging
2007-07-14 21:08:06 -04:00
Udayan Kumar
f58c8511a0
more debugging
2007-07-14 21:08:06 -04:00
Udayan Kumar
d6ceb8bbd7
added silicon revision number
2007-07-14 21:08:06 -04:00
Udayan Kumar
334abbde83
init_fix_up
2007-07-14 21:08:06 -04:00
Udayan Kumar
751cb2e450
added cable magic for 100Mps in natsemi
2007-07-14 21:08:06 -04:00
Udayan Kumar
11d246f3b5
duplex setting added to natsemi.c
2007-07-14 21:08:06 -04:00
Udayan Kumar
621f6fb503
more indentation and styling done
2007-07-14 21:08:06 -04:00
Udayan Kumar
bfa322bb19
:x
2007-07-14 21:08:06 -04:00
Udayan Kumar
f213f6a1a3
no changes
2007-07-14 21:08:06 -04:00
Udayan Kumar
a8c2a4fa11
added nat_irq to natsemi.c
2007-07-14 21:08:06 -04:00
Udayan Kumar
132d0fb70c
stopped memory leak in natsemi::nat_open()
2007-07-14 21:08:06 -04:00
Udayan Kumar
83dd194330
Natsemi commented and almost done
2007-07-14 21:08:05 -04:00
Udayan Kumar
4f2fab2e14
natsemi.c is workin
2007-07-14 21:08:05 -04:00
Udayan Kumar
a86b12728a
irq still not working will have to remove it
2007-07-14 21:08:05 -04:00
Udayan Kumar
2383a070d8
natsemi
2007-07-14 21:08:05 -04:00
Udayan Kumar
5e91a38269
interrupt in natsemi
2007-07-14 21:08:05 -04:00
Udayan Kumar
0d4ecfa63c
enabled interrupt in natsemi.c
2007-07-14 21:08:05 -04:00
Udayan Kumar
9ad59b60c5
added change log to natsemi.c
2007-07-14 21:08:05 -04:00
Udayan Kumar
6d4dafdc6e
added netdev_tx_complete to natsemi.c
2007-07-14 21:08:05 -04:00
Udayan Kumar
c6d0ef3478
added endianness to natsemi.
2007-07-14 21:08:05 -04:00
Udayan Kumar
0c324caecf
free_netdev -> netdev_put
2007-07-14 21:08:05 -04:00
Udayan Kumar
623d10c66f
debugging natsemi.c
2007-07-14 21:08:05 -04:00
Udayan Kumar
4a73631106
added eeprom from rtl8139 but not working
2007-07-14 21:08:05 -04:00
Udayan Kumar
9e962c3a01
natsemi now needs eeprom access
2007-07-14 21:08:05 -04:00
Udayan Kumar
99c680f743
same as before, but now compiling natsemi
2007-07-14 21:08:05 -04:00
Udayan Kumar
c8f6207e7e
added polling and transmit. eeprom access still remaining
2007-07-14 21:08:05 -04:00
Udayan Kumar
97efdbe9d7
skel of new natsemi driver (still in developments)
2007-07-14 21:08:05 -04:00
Udayan Kumar
4cea792470
testing if it works
2007-07-14 21:08:05 -04:00
Michael Brown
208ff0d42e
Revert mdc's warnings purge on natsemi.c, to allow for a clean rebase.
2007-07-14 21:08:05 -04:00
Michael Brown
0b5059c40b
Skip the length field prepended by util/nrv2b.c
2007-07-15 02:01:17 +01:00
Michael Brown
b37e267d1b
Modified calling convention: we now update %esi and %edi just like a
...
"rep movsb".
2007-07-15 01:51:32 +01:00
Michael Brown
3feac9465e
"not" doesn't affect flags, "xor $-1" does.
2007-07-15 01:25:13 +01:00
Michael Brown
7e3a8f5e10
Remove more obsolete files
2007-07-14 23:16:01 +01:00
Michael Brown
26473105cd
On advice of hpa: be more patient with the KBC and SCPA methods; retry
...
in a long loop before giving up on them. Record method which worked
and default to that method on next attempt.
2007-07-14 20:56:12 +01:00
Michael Brown
adf192f566
Shrink cpu.c and render it useful for our purposes.
2007-07-14 19:12:13 +01:00
Michael Brown
25fd42ca87
Reduced etherboot.h dependencies to avoid unnecessary rebuilds.
...
etherboot.h is only now used by drivers that have not been updated to
the new API.
2007-07-14 15:52:23 +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
95c07736cb
Be more aggressive in attempts to enable A20, now that we have the
...
optimisation of only trying to do so when necessary.
2007-07-14 14:21:18 +01:00
Michael Brown
8624fdc445
Kill off the enforced RX quota; it only seems to hurt on real hardware.
2007-07-14 00:30:11 +01:00
Michael Brown
57b5e227ff
Use fast in-situ test for gate A20 being set, to cut down on the
...
number of (potentially very slow) gateA20_set operations.
Die with a fatal error if we are unable to set gate A20; if this fails
then we are bound to experience memory corruption at a later stage,
and I'd prefer to pick it up early.
2007-07-13 13:32:49 +01:00
Michael Brown
096fa94f0c
Add support for TCP timestamps
2007-07-13 11:32:53 +01:00
Michael Brown
eb530845d4
Adjust received length to take into account any already-received data
...
in tcp_rx_data().
Clarify comments on discarding duplicate or out-of-order data.
2007-07-13 11:31:58 +01:00
Michael Brown
d5735c631c
Avoid reusing auto-allocated ports after connection close.
2007-07-13 11:25:00 +01:00
Michael Brown
2ac7694c3e
Improve error reporting for strange length combinations reported by
...
the UNDI stack.
Ignore obviously invalid length combinations (as returned by
e.g. VMWare's PXE stack).
Limit to one packet per poll to avoid memory exhaustion.
2007-07-10 20:59:21 +01:00
Michael Brown
efd322091d
Set up %ds *before* testing a value in our data segment (d'oh!).
...
Always send EOI; do not chain to BIOS's default interrupt handler.
They are just too unpredictable; at least VMware's seems to kill the
machine if you go anywhere near it.
Disable interrupts after return from PXENV_UNDI_ISR, just in case some
dumb PXE stack enables them.
2007-07-10 17:08:32 +01:00
Michael Brown
f6f9a3098d
Report RX errors via netdev_rx_err()
2007-07-10 17:01:18 +01:00
Michael Brown
fb16f90699
Dump first 64 bytes of chained ISR when debugging is enabled.
2007-07-10 16:57:55 +01:00
Michael Brown
b3e44a24b1
May be required in some disconnect scenarios
2007-07-10 06:31:11 +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
edc4648c39
Protect ISR against failure to unhook.
2007-07-10 04:34:53 +01:00
Michael Brown
4e14b020a5
Master IRQ should be EOIed first, I think.
2007-07-10 04:33:59 +01:00
Michael Brown
19871cbb96
We probably ought not to call INT13 with interrupts disabled.
2007-07-10 04:32:30 +01:00
Michael Brown
027fed72c1
Working code to call the PXE stack from within the ISR.
2007-07-10 04:21:24 +01:00
Michael Brown
976a8514cb
Hopefully solve the problem requiring the occasional "rm -rf bin/deps".
2007-07-09 23:10:55 +01:00
Michael Brown
cd7e296cbe
Always increase number of BIOS drives when registering
2007-07-09 20:42:04 +01:00
Michael Brown
b90d321dfb
Change %dl fixup rules for INT13:
...
INT 13,08 : read number of drives from 40:75
INT 13,15 : do nothing
all others : restore original value of %dl
2007-07-09 20:37:39 +01:00
Michael Brown
c7d9fdb5b9
Proof of concept; works, but has several hard-coded hacks.
2007-07-09 20:28:40 +01:00
Michael Brown
8bce52d348
Set CF by default, clear on success (rather than clearing and setting
...
on failure).
2007-07-09 19:02:41 +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
55d03ccbe3
Added missing "static"
2007-07-09 03:54:29 +01:00
Michael Brown
9dc6a1e678
Remove some obsolete stream-API files
2007-07-09 03:53:06 +01:00
Holger Lubitz
4ff85d9f15
Add -mpreferred-stack-boundary=2 to i386 CFLAGS as it's almost always a win.
2007-07-09 03:32:54 +01:00
Holger Lubitz
bfc4737751
Update Makefile for compilation on ARCH=x86_64
2007-07-09 03:31:14 +01:00
Michael Brown
487dc5be56
Fix up iscsiboot missing prototype warnings
2007-07-09 01:10:32 +01:00
Michael Brown
fd4fcb57db
Add missing static
2007-07-09 01:04:54 +01:00
Michael Brown
fabd0f5fec
Fix TX state machine and miscellaneous other bits.
2007-07-09 00:52:45 +01:00
Michael Brown
ef9fd938d0
Fix root-path parsing.
2007-07-09 00:00:34 +01:00
Michael Brown
cc80750694
Merge branch 'master' into iscsi-update
2007-07-08 22:06:33 +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
b94420a52b
Ready to start testing
2007-07-08 22:01:49 +01:00
Michael Brown
edd1b173a7
Code in place to use a hypothetical SCSI interface.
2007-07-08 19:33:26 +01:00
Michael Brown
f2fa390ae6
Everything except the SCSI interface should now be present
2007-07-08 18:51:56 +01:00
Michael Brown
9b28b25332
iSCSI updated to use data-xfer interface on the socket side (TCP).
...
SCSI interface not yet implemented.
2007-07-08 16:04:13 +01:00
Michael Brown
edded7546e
Limit xmit window to one MTU. (Path MTU discovery not yet
...
implemented; should be done at some point.)
2007-07-08 14:33:53 +01:00
Michael Brown
3e1dd0772a
Fix typo that was preventing any DHCP option applicators from being
...
applied.
2007-07-08 14:32:20 +01:00
Michael Brown
237e23c1c9
Add debug message when nameserver setting is applied/changed via DHCP.
2007-07-08 14:31:51 +01:00
Michael Brown
35afb379af
TCP limits advertised TCP window to size of application window
...
obtained via xfer_window().
2007-07-08 14:14:59 +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
Michael Brown
e5d8ede978
Re-added symtab to CLEANUP list
2007-07-07 17:49:59 +01:00
Michael Brown
e505ceb942
Revert "Cope with builds with differing debug options within a second of each"
...
This reverts commit fc5f6c9de2
.
Reverted commit breaks the much more common case of changing the debug
options in subsequent builds without any code changes.
2007-07-07 17:49:07 +01:00
Michael Brown
4c418d2100
Use net_device_operations structure and netdev_nullify() to allow for
...
safe dropping of the netdev ref by the driver while other refs still
exist.
Add netdev_irq() method. Net device open()/close() methods should no
longer enable or disable IRQs.
Remove rx_quota; it wasn't used anywhere and added too much complexity
to implementing correct interrupt-masking behaviour in pxe_undi.c.
2007-07-07 16:43:39 +01:00
Michael Brown
2823688a92
Revert "Replace natsemi driver with Indolent's updated one that uses the gPXE API"
...
This reverts commit 3487640397
.
2007-07-07 16:40:58 +01:00
Michael Brown
627feee265
Merge branch 'zalloc'
2007-07-07 04:01:52 +01:00
Michael Brown
436adb2890
Revert "convert to zalloc"
...
This reverts commit 68add6e814
.
2007-07-07 03:59:37 +01:00
Holger Lubitz
85e04b5837
Revert "convert to zalloc"
...
This reverts commit a4bea78974
.
2007-07-07 01:56:37 +02:00
Holger Lubitz
e3c72a3438
Revert "convert to zalloc"
...
This reverts commit 3414fd8df8
.
2007-07-07 01:56:27 +02:00
Holger Lubitz
ac323c5e4d
Revert "convert to zalloc"
...
This reverts commit 636bd2cd0a
.
2007-07-07 01:56:15 +02:00
Holger Lubitz
50fe2159d5
Revert "convert to zalloc"
...
This reverts commit 7297f04481
.
2007-07-07 01:55:45 +02:00
Holger Lubitz
a772dc4a2a
Revert "convert to zalloc"
...
This reverts commit 5ce16b03a1
.
2007-07-07 01:55:23 +02:00
Holger Lubitz
a4d3476e0e
convert to zalloc
2007-07-06 21:08:54 +02:00
Holger Lubitz
389c63d7c4
convert to zalloc
2007-07-06 21:08:41 +02:00
Holger Lubitz
32e4ca8ae3
convert to zalloc
2007-07-06 21:08:29 +02:00
Holger Lubitz
1ccb6f9dc6
convert to zalloc
2007-07-06 21:08:21 +02:00
Holger Lubitz
da3c785816
convert to zalloc
2007-07-06 20:52:58 +02:00
Holger Lubitz
2b9fb513f4
convert to zalloc
2007-07-06 20:52:01 +02:00
Holger Lubitz
7872b890fe
convert to zalloc
2007-07-06 20:50:32 +02:00
Holger Lubitz
7fa85d19b9
convert to zalloc
2007-07-06 20:49:26 +02:00
Holger Lubitz
dc6c1c294d
convert to zalloc
2007-07-06 20:47:15 +02:00
Holger Lubitz
68add6e814
convert to zalloc
2007-07-06 20:42:05 +02:00
Holger Lubitz
5ce16b03a1
convert to zalloc
2007-07-06 20:42:05 +02:00
Holger Lubitz
7297f04481
convert to zalloc
2007-07-06 20:42:05 +02:00
Holger Lubitz
636bd2cd0a
convert to zalloc
2007-07-06 20:42:05 +02:00
Holger Lubitz
3414fd8df8
convert to zalloc
2007-07-06 20:42:05 +02:00
Holger Lubitz
a4bea78974
convert to zalloc
2007-07-06 20:42:05 +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
Holger Lubitz
c7549bcebe
convert to zalloc
2007-07-06 20:19:06 +02:00
Holger Lubitz
bb61774ee4
convert to zalloc
2007-07-06 20:19:06 +02:00
Michael Brown
934b70d62c
Apply global DHCP options when register_dhcp_options() is called. Do
...
not apply DHCP options in dhcp_configure_netdev().
2007-07-06 17:07:50 +01:00
Michael Brown
311637503d
Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe
2007-07-06 13:31:58 +01:00
Michael Brown
bfc335faa8
Added PXENV_GET_FILE_SIZE.
...
Documented non-blocking nature of PXENV_FILE_READ.
Changed FileName field in PXENV_FILE_OPEN to be a SEGOFF16, to avoid a
fixed 256-byte length limit on URLs.
2007-07-06 13:31:40 +01:00
Michael Brown
f660e8ef58
Add strlen_user() (will be needed for PXE API extensions)
2007-07-06 13:07:10 +01:00
Marty Connor
74a1c77820
Merge branch 'master' of /pub/scm/gpxe
2007-07-06 08:04:55 -04:00
Marty Connor
28d8d828b3
Rename .lilo extension to .lkrn and updated dependencies
2007-07-06 08:04:06 -04:00
Michael Brown
763a3eab8a
Add .pdsk target (padded .dsk, suitable for qemu).
2007-07-05 23:37:17 +01:00
Michael Brown
405be071de
Pad ROM images to 512 bytes, not powers of two
2007-07-05 23:36:45 +01:00
Michael Brown
fbda4837b0
Allocate heap at first usage, rather than assuming we can fit it in
...
below _text. This should help with the gPXE-on-gPXE-via-PXE case.
2007-07-05 22:30:34 +01:00
Michael Brown
b3ca73c303
Remap EBADF to PXENV_STATUS_TFTP_FILE_NOT_FOUND; the only user is
...
posix_io.c and this PXE error makes more sense in this context.
2007-07-05 18:47:46 +01:00
Michael Brown
1567b69895
Add concept of DHCP option applicators.
2007-07-05 18:38:14 +01:00
Michael Brown
d64e1be1f8
First draft of PXE extensions API.
2007-07-05 18:03:09 +01:00
Michael Brown
ed7eae6005
Use netdev_rx_err() to report receive errors.
2007-07-05 17:23:03 +01:00
Michael Brown
539ff45fd0
Allow recording of TX and RX errors to aid in end-user debugging.
2007-07-05 17:18:27 +01:00
Michael Brown
07ea125213
Use partition type 0xeb ("EtherBoot"), to avoid any attempts to mount
...
the Etherboot partition.
2007-07-05 14:20:55 +01:00
Michael Brown
db1d99df39
Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe
2007-07-05 14:15:58 +01:00
Michael Brown
6e082c9b81
Add .usb target
2007-07-05 14:15:43 +01:00
Marty Connor
3487640397
Replace natsemi driver with Indolent's updated one that uses the gPXE API
...
This version uses the gPXE driver API rather than the legacy wrapper API.
2007-07-05 08:54:12 -04:00
Michael Brown
a0f078d7f5
Working with multi-sector reads
2007-07-05 13:30:49 +01:00
Michael Brown
66208dd65d
hdprefix that works for LBA only
2007-07-05 12:58:16 +01:00
Michael Brown
839960276d
Miscellaneous efficiency improvements, and extend read_sectors to
...
handle multiple sectors.
2007-07-05 12:36:39 +01:00
Michael Brown
bdd1a0f462
Make masking constants unsigned, to avoid a gcc3-only compiler warning.
2007-07-05 12:04:53 +01:00
Michael Brown
8156f6bd19
Switch compiler warning on tcp_open() to a #warning
2007-07-05 12:00:35 +01:00
Marty Connor
1069a74d20
Warnings purge for via-velocity.[ch]
2007-07-04 21:58:28 -04:00
Marty Connor
8d39559192
Update warnings in depca.c ns8390.c
2007-07-04 20:14:10 -04:00
Marty Connor
13016297ed
Purge warnings from tg3.c
2007-07-04 19:49:46 -04:00
Marty Connor
a75fb80107
Merge branch 'master' of /pub/scm/gpxe
2007-07-04 19:47:13 -04:00
Marty Connor
e5950283ec
Purge warnings from prism2 drivers
2007-07-04 19:47:01 -04:00
Michael Brown
3c2d50e5de
Added active partition locator, and simple MBR built using it.
2007-07-05 00:21:01 +01:00
Michael Brown
738ebaf4a5
Revert "Added master boot record capable of locating active partition"
...
This reverts commit 844d088c51
.
2007-07-05 00:20:04 +01:00
Michael Brown
7918fc97b8
Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe
2007-07-05 00:05:36 +01:00
Michael Brown
844d088c51
Added master boot record capable of locating active partition
...
(including logical partitions).
2007-07-05 00:05:26 +01:00
Michael Brown
5e3f2247e0
Kill off lots of warnings in via-velocity.c by correcting these definitions.
2007-07-04 23:36:16 +01:00
Marty Connor
77c1777b44
Merge branch 'master' of /pub/scm/gpxe
2007-07-04 18:33:22 -04:00
Marty Connor
b219814627
Remove deprecation of pci_bar_size()
2007-07-04 18:28:37 -04:00
Marty Connor
1af1668c95
Warnings purge of drivers (continued)
2007-07-04 05:52:56 -04:00
Michael Brown
ac69b85adb
UNDI loader entry point implemented; seems to work.
2007-07-04 03:23:02 +01:00
Michael Brown
0324d5ff70
!PXE and PXENV+ structures are in code segment, not data segment.
2007-07-04 03:20:18 +01:00
Michael Brown
1ecb9acb87
Fix typo
2007-07-04 02:25:07 +01:00
Michael Brown
fc5f6c9de2
Cope with builds with differing debug options within a second of each
...
other.
2007-07-04 02:24:24 +01:00
Michael Brown
dca470cb21
Add (untested) UNDI loader C-level implementation.
2007-07-03 23:41:35 +01:00
Michael Brown
7db6b4b79c
Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe
2007-07-03 23:10:16 +01:00
Michael Brown
89349d7fad
Separated out initialisation functions from startup/shutdown functions.
2007-07-03 23:09:56 +01:00
Marty Connor
79238335b0
remove obsolete file: src/arch/i386/prefix/int19exit.c
2007-07-03 16:24:06 -04:00
Michael Brown
a5f33ea283
Added missing line to set return status code.
2007-07-03 21:22:12 +01:00
Michael Brown
01b3dd4fc3
Line buffer API changed a while ago
2007-07-03 21:21:50 +01:00
Marty Connor
ec0da04e7d
Warnings purge iscsiboot.c
2007-07-03 16:20:54 -04:00
Michael Brown
1f24ba73c4
Added missing "extern"
2007-07-03 21:12:54 +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
b5311c2c88
This comment is no longer relevant.
2007-07-03 20:39:47 +01: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
5ce5e6d846
Move pxe_netdev and set_pxe_netdev to pxe_undi.c and remove
...
now-obsolete pxe.c.
2007-07-03 20:21:16 +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
4bcfe7507b
Merge branch 'master' of /pub/scm/gpxe
2007-07-03 13:20:54 -04:00
Marty Connor
c77704cb60
Warnings purge: src/{crypto,hci,net}
2007-07-03 13:20:22 -04:00
Michael Brown
0924cf678e
Implemented (untested) PXENV_START_UNDI.
2007-07-03 18:17:14 +01:00
Michael Brown
30a442aef8
Report our interface type as "gPXE" to avoid working around Etherboot
...
5.4 bugs when driving ourselves via UNDI.
2007-07-03 15:57:32 +01:00
Michael Brown
2dc8ed1eb8
Work around Etherboot 5.4 bug when multiple packets are received.
2007-07-03 15:53:29 +01:00
Michael Brown
ca4bd3e24e
Kill off now-redundant _irq() methods.
2007-07-03 15:37:56 +01:00
Michael Brown
1ce0b4bbfb
Kill off PXENV_UNDI_FORCE_INTERRUPT support; we have no reason to
...
suspect that we need it, and implementing it would require needlessly
complicating the net device API.
2007-07-03 15:36:29 +01:00
Michael Brown
e436b993a9
Avoid double free on I/O buffer when rtl_transmit() returns failure.
...
Convert printf() to DBG(); printf() is not allowed in drivers.
2007-07-03 14:44:33 +01:00
Michael Brown
0958726ebb
It's not just Etherboot that fails to generate TX completions.
2007-07-03 14:43:57 +01:00
Michael Brown
5b52630a9c
Never attempt to route the broadcast address.
2007-07-03 13:55:45 +01:00
Michael Brown
adb3dd03e5
Document TX completion bug.
2007-07-03 13:17:58 +01:00
Michael Brown
71f500ff1b
Enable/disable interrupts in driver open/close.
2007-07-03 12:50:58 +01:00
Michael Brown
5f92f0bd82
Reserve space for link-layer header in pxenv_undi_transmit() when not
...
handed a P_UNKNOWN packet.
2007-07-03 04:05:30 +01:00
Michael Brown
290280f90e
Enable/disable interrupts at open/close time.
2007-07-03 03:34:08 +01:00
Michael Brown
258afef751
Add missing call to free_iob() in pxenv_undi_isr().
...
Correct typo in pxenv_set_station_address().
2007-07-03 00:57:53 +01:00
Michael Brown
a2a0c2eace
Enable/disable interrupts on open/close.
2007-07-03 00:57:04 +01:00
Michael Brown
4968caab82
Add trivial net device statistics (TX and RX packet count), reported
...
via UNDI API and also by ifstat command; may be useful for debugging.
2007-07-03 00:15:53 +01:00
Michael Brown
071356d976
Ensure that pxe_netdev is set before starting up PXE NBP.
2007-07-03 00:02:26 +01:00
Michael Brown
cbd956535e
Place netdev_open()/netdev_close() calls in appropriate places.
2007-07-03 00:02:06 +01:00
Michael Brown
8f37a6a424
Add mechanism for providing TX completion events.
2007-07-02 23:49:00 +01:00
Marty Connor
0297a63877
Merge branch 'master' of ssh://rom.etherboot.org/pub/scm/gpxe
2007-07-02 15:36:19 -04:00
Marty Connor
f04899bf6c
Warnings purge
2007-07-02 15:33:34 -04:00
Marty Connor
b234d4a13e
Warnings purge
2007-07-02 15:29:37 -04:00
Marty Connor
ef7f6e72a1
Warnings purge
2007-07-02 15:28:55 -04:00
Marty Connor
bf871c4d03
Warnings purge of src/core
2007-07-02 15:26:40 -04:00
Michael Brown
332614a382
Add untested support for UNDI transmit and receive.
2007-07-02 20:05:58 +01:00
Michael Brown
e42eba4af4
Use a common base-memory packet buffer for DHCP construction (as used
...
by PXE and NBI) and UNDI packets (as used by undinet and UNDI).
2007-07-02 18:33:41 +01:00
Michael Brown
5f17089b14
pxe_netdev now holds a reference to the network device.
...
Use generic fields in struct device_description rather than assuming
that the struct device * is contained within a pci_device or
isapnp_device; this assumption is broken when using the undionly
driver.
Add PXENV_UNDI_SET_STATION_ADDRESS.
2007-07-02 17:43:32 +01:00
Michael Brown
e3bbfd7a75
Call shutdown() from pxenv_undi_shutdown(). Probably not totally
...
correct, but it's enough to get RIS working.
2007-07-02 03:12:35 +01:00
Michael Brown
d7e471f654
Improve debugging
2007-07-01 22:04:19 +01:00
Michael Brown
15f8323055
Removing obsolete files.
2007-07-01 15:30:12 +01:00
Michael Brown
95cb7aaacf
Support cards such as natsemi which treat the data as little-endian
...
(i.e. LSB transmitted first on the wire), even though SPI commands and
addresses always have to be big-endian.
2007-07-01 15:22:12 +01:00
Michael Brown
3bf5eb49d0
Can't use strncpy() to copy strings that aren't NUL-terminated to
...
begin with.
2007-07-01 03:22:28 +01:00
Michael Brown
31fe5b9415
Hack together far enough to support ne2k-pci.
2007-07-01 00:37:29 +01:00
Michael Brown
f33bbd4112
How has the legacy wrapper been working for the past month or so...?
2007-07-01 00:36:48 +01:00
Michael Brown
b743b63ae9
DUMP_GDBSYM should not be enabled by default.
2007-07-01 00:05:36 +01:00
Michael Brown
d5451d210c
Add ability to resolve relative symbols as well as locate absolute ones.
2007-06-30 22:59:15 +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
e1646b4080
Place the actual version string in .data16, rather than just the
...
pointer to it.
2007-06-30 21:36:54 +01:00
Michael Brown
4472e22b5e
Implement the two UNDI API calls used by RIS.
2007-06-30 15:56:00 +01:00
Michael Brown
d05d8edd42
Implement the "overwrite TFTP filename" Microsoft RIS bug workaround.
2007-06-30 15:13:18 +01:00
Michael Brown
8130443f9f
Separate out pxe_start_nbp() from pxe_image.c into pxe_call.c
...
Implement PXENV_RESTART_TFTP.
2007-06-30 14:56:35 +01:00
Michael Brown
acd598b4f9
Don't build option-overloaded packets; they just confuse people (ISC
...
DHCPD and Windows RIS in particular).
2007-06-30 01:32:53 +01:00
Michael Brown
9125070f51
I really, really screwed up the semantics of BufferSize and BufferLimit.
2007-06-29 20:16:30 +01:00
Michael Brown
40d6d3dcf4
Windows RIS now gets as far as downloading NTLDR.
2007-06-29 01:42:59 +01:00
Michael Brown
d71b116f54
Fix stack on return from PXE NBP so that we can return properly.
2007-06-28 23:37:49 +01:00
Michael Brown
045fb24557
Use internal real-mode stack from non-returnable prefixes
2007-06-28 21:56:14 +01:00
Michael Brown
00473f0952
Revert "Move stack to below 0x7c00; leaving it at the default location"
...
This reverts commit 03ca71c38d
.
2007-06-28 21:50:36 +01:00
Michael Brown
c73bff7ae5
Set current working URI based on TFTP server specified by DHCP.
2007-06-28 21:22:25 +01:00
Michael Brown
03ca71c38d
Move stack to below 0x7c00; leaving it at the default location
...
(0x7ef4) tends to really screw up anything that loads at 0x7c00...
2007-06-28 21:15:47 +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
d465ae9785
Bugfix: iobuf->data always points to the start of the allocated
...
portion, not to the bit we want to currently write to...
2007-06-28 18:38:50 +01:00
Michael Brown
5de837cc67
Mildly ugly hack to force correct linkage.
2007-06-28 18:06:25 +01:00
Michael Brown
e4c9c91d6e
Removed debugging statements that should not have been checked in.
2007-06-28 17:57:10 +01:00
Michael Brown
4b08f4cf0f
Quick hack to get image booting working again
2007-06-28 17:55:29 +01:00
Michael Brown
7d6e4aab6f
Use monojob and dhcp_configure_netdev().
2007-06-28 15:22:20 +01:00
Michael Brown
1ec7bb789d
Add dhcp_configure_netdev()
2007-06-28 15:18:26 +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
cf33b568dc
Forgot to set initial session state. Now works!
2007-06-28 01:55:01 +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
e381714c07
Partial migration of UDP to data-xfer interface. (Will not link at
...
present; DHCP is broken).
2007-06-20 01:13:35 +01:00
Michael Brown
564ac70a42
Add iob_ensure_headroom() placeholder.
2007-06-20 01:12:21 +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
2d4c72b762
Remove unused headers.
2007-06-11 23:40:34 +01:00
Michael Brown
e708137029
DNS code now records a whole struct sockaddr for the name server.
2007-06-11 23:36:50 +01:00
Michael Brown
f87bc837f4
Updated DNS to use not-yet-implemented UDP data-xfer API.
2007-06-11 23:30:44 +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
01b4bde8a0
Updated TFTP and PXE UDP API code to use not-yet-implemented data-xfer
...
UDP API.
2007-06-11 18:11:29 +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
77e575235d
Merge branch 'master' into mcb-tcp-xfer
2007-06-10 18:34:10 +01:00
Michael Brown
0316eaf85d
Add missing call to free_iob().
2007-06-10 18:33:42 +01:00
Michael Brown
adf6c8e2a6
Add our own trivial version of stdarg.h. This makes our build
...
entirely self-hosted (which avoids problems when building the same
tree on multiple systems - e.g. when you have /home NFS-mounted).
Also saves around 50 bytes in total - not sure why.
2007-06-10 00:29:53 +01:00
Michael Brown
11ec23f454
Merge branch 'master' into mcb-tcp-xfer
2007-06-09 22:58:27 +01:00
Michael Brown
0f8d7d705d
Rename .cvsignore files to .gitignore
2007-06-09 22:57:00 +01:00
Michael Brown
6835755350
Merge branch 'master' into mcb-tcp-xfer
2007-06-09 22:26:50 +01:00
Marty Connor
f97e642d17
Update email addresses in drivers
2007-06-09 15:23:17 -04: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
1ae549b892
Add our own trivial version of stdarg.h. This makes our build
...
entirely self-hosted (which avoids problems when building the same
tree on multiple systems - e.g. when you have /home NFS-mounted).
Also saves around 50 bytes in total - not sure why.
2007-06-09 18:11:07 +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
53bd022235
Merge branch 'master' into mcb-tcp-xfer
2007-06-08 16:41:54 +01:00
Michael Brown
6f0a6c09db
Merge branch 'master' into mcb-tcp-xfer
2007-06-08 16:33:24 +01:00
Marty Connor
8c25ea0970
Updated email mdc's email address
2007-06-08 11:23:26 -04:00
Michael Brown
ff84a66c35
Conflicts with native asn1.c
2007-06-08 12:37:35 +00:00
Michael Brown
b7ccdb7948
Add a couple of tests for the URI parsing and resolving code.
2007-06-03 02:15:00 +00: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
4ccd1e8198
Should call ftp_done() if constructor fails.
2007-05-29 15:37:30 +00:00
Michael Brown
735e07268e
Update HTTP to use data-xfer interface.
2007-05-29 15:37:09 +00:00
Michael Brown
0dfd5b84fd
Updated FTP to use data-xfer API.
2007-05-28 20:11:02 +00:00
Michael Brown
a6a18ae9af
Add xfer_[v]printf() functions.
2007-05-28 20:09:44 +00:00
Michael Brown
3acd51597a
Add sanity check and extra debug message
2007-05-28 20:06:41 +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
1311b4194c
Eliminate PF_INET; just use the AF_INET from the struct sockaddr instead.
2007-05-26 20:41:23 +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
070c55a838
Added EPIPE description.
2007-05-26 15:05:31 +00:00
Michael Brown
b8618d76db
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
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
1136c19fa4
Updated tcp.c to provide a standardised data transfer interface.
2007-05-25 15:58:42 +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
776357214e
Rename pkbpad.c to iobpad.c
2007-05-19 18:42:27 +00:00
Michael Brown
3e2c6b6736
pkbuff->iobuf changeover
...
Achieved via Perl using:
perl -pi -e 's/pk_buff/io_buffer/g; s/Packet buffer/I\/O buffer/ig; ' \
-e 's/pkbuff\.h/iobuf.h/g; s/pkb_/iob_/g; s/_pkb/_iob/g; ' \
-e 's/pkb/iobuf/g; s/PKB/IOB/g;'
2007-05-19 18:39:40 +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
23008b9326
Updated to use POSIX-style file I/O layer.
2007-05-18 14:33:20 +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
6b6fc1d5ea
Allow construction of PXE status code from internal error number.
2007-05-18 14:17:35 +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
817a446cc6
Add always_inline attribute to force gcc to inline single-instruction
...
functions.
2007-05-01 10:17:29 +00:00
Michael Brown
123a98db26
Added (non-functional) reference count to struct image
2007-05-01 00:11:34 +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
7ff81f6654
Document the fact that a zeroed-out refcounted object will behave in
...
the most generally useful way.
2007-05-01 00:04: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
27b3bd10c9
Added PF_INET[6] and SOCK_{STREAM,DGRAM} definitions and debug
...
functions.
2007-04-28 20:53:48 +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
Michael Brown
95206577a7
Trivial ASN.1 decoding functions.
2007-04-21 18:53:26 +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
Anselm Martin Hoffmeister
ff5aac826a
hoffmeis: Fixing situation where absence of a newdata() handler for UDP
...
connections might break things. Only-sending applications like syslog()
do not need a newdata() handler, so added a check if that handler exists.
2007-04-09 17:34:10 +00:00
Michael Brown
0d9b3e2dd2
Add 32-bit support.
...
Generate DHCP data block for images.
2007-03-22 16:18:46 +00:00
Michael Brown
ff7d0af585
Provide a buffer in base memory for code to fill with generated DHCP data.
2007-03-22 16:18:07 +00:00
Michael Brown
160e66dbb9
Typo
2007-03-20 18:55:00 +00:00
Michael Brown
5578d3b2de
Support 32-bit (linear) NBI images. We don't yet provide a bootp data
...
block, so first32.c dies immediately.
2007-03-14 00:39:12 +00:00
James Harper
80cc27cbc4
Ported bnx2 driver from Etherboot 5.4.
2007-03-13 23:03:50 +00:00
Michael Brown
37127ea90c
Added .nbi as a format.
2007-03-11 00:57:26 +00:00
Michael Brown
628f6eddcc
Make _load_size accurately reflect the number of bytes in the actual
...
image file.
2007-03-11 00:54:35 +00:00
Michael Brown
13137a4d61
t5x9 code relies on nic->ioaddr being set
2007-03-11 00:37:46 +00:00
Michael Brown
62548c9f0d
Updated 3c509 to current device model
2007-03-10 22:28:22 +00:00
Michael Brown
520d9c36af
Updated ISAPnP, EISA, MCA and ISA buses to current device model.
...
ISA 3c509 is currently non-functional, although the EISA (3c509-eisa) and
MCA (3c529) variants should build OK.
None of this code is yet tested.
2007-03-10 18:08:33 +00:00
Marty Connor
6991ea7cc5
Add gpxe-tarball target to create clean release tarballs
2007-03-02 16:28:04 +00:00
Marty Connor
969642dca6
Add warning about formats that are not working until we fix them
2007-03-02 16:25:42 +00:00
Michael Brown
c63af1ea14
Remove no-longer-used variable
2007-02-19 17:31:20 +00:00
James Harper
e1735d5fc2
Fix some bad pointer arithmatic in the tg3 driver that was causing the dynamic memory pool to be corrupted (or worse)
2007-02-10 00:28:41 +00:00
James Harper
1c971f1234
Fix padding problem - from Michael
2007-02-10 00:27:46 +00:00
Michael Brown
af3149d18e
Allow queries in GET requests
2007-02-01 21:01:47 +00:00
Michael Brown
22ed1fbaf1
Add ability to read serial number from SMBIOS
2007-02-01 20:52:12 +00:00
Michael Brown
3fd10074d8
SSL needs quite a lot of spare memory
2007-02-01 09:38:16 +00:00
Michael Brown
e01aadd5a7
Required for public key extraction
2007-02-01 09:13:27 +00:00
Michael Brown
abccb8b63c
SSL requires inordinately large data storage
2007-02-01 07:22:13 +00:00
Michael Brown
2c67167929
Don't pass through zero-length requests
2007-02-01 07:18:56 +00:00
Michael Brown
0050378f51
SHA1_DIGEST_SIZE also available as a static constant
2007-02-01 06:36:45 +00:00
Michael Brown
cc8f9e4b7f
Make context sizes available for statically-allocated structures
2007-02-01 05:48:56 +00:00
Michael Brown
d467552367
Vanilla copies from axtls
2007-02-01 04:20:12 +00:00
Michael Brown
5c3837e0ed
Quick hacks to get it working
2007-02-01 02:20:35 +00:00
Michael Brown
a01374b5cd
Add dummy setiv method
2007-02-01 02:19:16 +00:00
Michael Brown
f5776dbef1
Fix prototypes
2007-02-01 02:18:56 +00:00
Michael Brown
f06059ab97
More assertions
2007-02-01 02:18:22 +00:00
Michael Brown
c650c8c84a
Also print out stack pointer (with optional stack dump)
2007-02-01 02:17:59 +00:00
Michael Brown
a1f021db96
Placeholder
2007-02-01 02:17:33 +00:00
Michael Brown
406b20a64d
Assert that division result is correct
2007-01-31 23:58:52 +00:00
Michael Brown
c789e8640b
Added __umoddi3
2007-01-31 22:26:14 +00:00
Michael Brown
6c2f0e1bf4
Original axtls RSA code
2007-01-31 22:18:29 +00:00
Michael Brown
1ae70e12e5
Added wrapper for AXTLS AES code
2007-01-31 18:09:20 +00:00
Michael Brown
0d07657296
Added setiv method
2007-01-31 17:58:36 +00:00
Michael Brown
c1aa1d0764
Add wrapper around axtls' sha1 code
2007-01-31 12:24:01 +00:00
Michael Brown
869f9bcb23
Adding missing include
2007-01-31 12:19:50 +00:00
Michael Brown
6ce5c97981
Made most of the build much quieter
2007-01-31 11:06:36 +00:00
Michael Brown
413c554b34
We need this, I think
2007-01-31 03:50:49 +00:00
Michael Brown
2e0548e17e
Force inlining
2007-01-31 03:50:31 +00:00
Michael Brown
a3695b1ff6
Placeholder for TLS insertion
2007-01-31 03:47:42 +00:00
Michael Brown
1f5f900595
Add HTTPS port
2007-01-31 03:44:38 +00:00
Michael Brown
2d726144f7
Filter insertion now actually works
2007-01-31 03:43:59 +00:00
Michael Brown
21f3789ec8
Swap downstream/upstream order so that debug messages for filters show
...
up in the same colour as debug messages for the application stream.
2007-01-31 03:43:40 +00:00
Michael Brown
1fbd6f7d76
...but not when it's being used as a digest algorithm...
2007-01-31 03:42:47 +00:00
Michael Brown
a502fcda45
The null crypto algorithm should at least copy data...
2007-01-31 03:42:07 +00:00
Michael Brown
138967dd6b
Tidy up debug messages
2007-01-31 03:05:49 +00:00
Michael Brown
e38e516463
Add insert_filter() function
2007-01-31 03:04:56 +00:00
Michael Brown
a008f9e85b
Add null crypto algorithm
2007-01-31 03:04:31 +00:00
Michael Brown
6d32f0e6e2
Changed to use the generic stream API.
2007-01-31 02:09:13 +00:00
Michael Brown
02f18565da
First sketch of stream API
2007-01-31 00:40:35 +00:00
Michael Brown
55601b2d38
Placeholder
2007-01-30 22:55:19 +00:00
Michael Brown
0e996b81cf
Added blocksize for the benefit of HMAC code
2007-01-30 22:54:43 +00:00
Michael Brown
811db204a6
Added cipher wrapper functions
2007-01-30 22:54:20 +00:00
Michael Brown
b3e4418ea8
Missing check-in
2007-01-30 22:53:59 +00:00
Michael Brown
db2fde474e
Generalise digest_algorithm to crypto_algorithm.
2007-01-30 14:55:17 +00:00
Michael Brown
2f7eac1646
Low-overhead filter streams
2007-01-30 12:17:03 +00:00
Michael Brown
ddf3b56d47
Definition of a (hopefully) generic stream API
2007-01-30 12:16:36 +00:00
Michael Brown
395c76e94d
Use "dbg_stream" rather than "stream" as a variable name in
...
DBG_AC_IF(), to avoid namespace collisions.
2007-01-30 10:12:19 +00:00
Michael Brown
7d9267561b
Don't call PXENV_STOP_UNDI in the kpxeprefix. This slighy breaks the
...
clean separation between loading and starting, but does mean that more
PXE stacks survive the process.
2007-01-29 15:21:10 +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
89c3c67c51
Should be correct for building RSA
2007-01-28 19:50:43 +00:00
Michael Brown
b3b6b25aeb
Handle (64-bit) / (32-bit) = (64-bit), i.e. one step beyond that
...
provided by the divl instruction.
2007-01-28 19:34:17 +00:00
Michael Brown
bd873525ff
Add matrixssl directory
2007-01-26 04:36:50 +00:00
Michael Brown
6417a6adf0
Avoid barfing on gcc's implicit memcpy()s
2007-01-26 04:14:25 +00:00
Michael Brown
3bb7c19779
Allow MatrixSSL code to compile inside gPXE
2007-01-26 03:50:17 +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
bf9ec8102f
Add 64-bit rotates
2007-01-26 02:53:30 +00:00
Michael Brown
7cdc6529bb
Build external axtls code
2007-01-26 02:03:34 +00:00
Michael Brown
9542c016cd
Add aes.c and required headers from axtls tree
2007-01-26 01:59:37 +00:00
Michael Brown
7b8859ad15
Enable the axtls code to at least build within gPXE
2007-01-26 01:55:34 +00:00
Michael Brown
7993488a68
#if 0 out for now
2007-01-26 01:42:16 +00:00
Michael Brown
f59281d8f6
Yet more synonyms that people tend to use.
2007-01-26 01:30:16 +00:00
Michael Brown
da9dc834b1
Help quick testing of building Linux code inside gPXE
2007-01-24 23:38:05 +00:00
Michael Brown
9cf5c4557d
Add Linux-compatible rol32/ror32 functions. Amazingly, gcc will
...
optimise these down to the correct single "roll"/"rorl" instruction.
2007-01-24 23:31:58 +00:00
Michael Brown
6a765fdc15
Use base "0" in strtoul for consistency with "mem="
2007-01-24 22:54:08 +00:00
Michael Brown
99cb46943f
"vga=" is specified in decimal, not hex.
2007-01-22 23:56:24 +00:00
Michael Brown
ebb00e032c
Misread the definition of the type_of_loader field; it should include a
...
version.
2007-01-19 15:40:01 +00:00
Michael Brown
92a78c8e15
Added SIGKILL handler
2007-01-19 15:19:52 +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
cde6d776e3
Handle structured error codes.
2007-01-19 13:52:50 +00:00
Michael Brown
18f9f939a8
Introduce structured error codes.
2007-01-19 13:15:26 +00:00
Michael Brown
c2352dc8de
Add POSIX prototypes for time functions, to allow external code to build
...
more easily within gPXE.
Note that we don't have function bodies for these functions yet.
2007-01-19 03:09:22 +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
06475f7b69
Finally move the prototypes for printf() and friends to stdio.h
2007-01-19 00:58:49 +00:00
Michael Brown
1a0ca661c2
4.3BSD says that bcopy and bzero are defined in strings.h, not string.h
2007-01-19 00:51:13 +00:00
Michael Brown
a213876382
Typo
2007-01-19 00:48:13 +00:00
Michael Brown
b02a564297
Add missing prerequisite include
2007-01-19 00:39: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
075f8144ff
Have DHCP set the nameserver, rather than DNS read the DHCP nameserver
...
value.
2007-01-18 21:22:03 +00:00
Michael Brown
c014f607a8
Use total free memory as advertised window. This seems to be sufficient
...
to avoid drops even on slow NICs.
2007-01-18 20:39:17 +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
5ff23aa406
Include stdlib.h rather than malloc.h
2007-01-18 20:06:03 +00:00
Michael Brown
d12770e254
console.h is no longer needed for debugging
2007-01-18 19:13:25 +00:00
Michael Brown
37f1b12587
Allow truly arbitrary debug levels to be specified via DEBUG=
2007-01-18 19:00:09 +00:00