Michael Brown
2c7a9e803c
Remove the (unused) option to override _prefix_link_addr,
...
_textdata_link_addr, _load_addr and _max_align in the linker scripts.
A bug in some versions of ld causes segfaults if the DEFINED() macro
is used in a linker script *and* the -Map option to ld is present.
We don't currently need to override any of these values; if we need to
do so in future then the solution will probably be to always specify
the values on the ld command line, and have the linker script not
define them at all.
2007-12-07 01:34:11 -06:00
Michael Brown
cf895a8c7c
Avoid Makefile syntax that requires make >= 3.81.
2007-12-07 04:14:06 +00:00
Michael Brown
3b58fc0baf
Try to fix echo-detection to work on all systems that provide any
...
suitable "echo -e" substitute.
2007-12-07 03:35:32 +00:00
Michael Brown
1949641d10
Fix compiler warnings that appear only on OpenBSD.
2007-12-06 14:16:46 -06:00
Michael Brown
798f7f6b8e
Kill off some warnings-problematic debug statements in ndp.c; the code
...
is non-functional anyway.
2007-12-07 01:51:08 +00:00
Michael Brown
6b0e147e0d
Don't complain when callers provide too-short buffers for
...
PXENV_GET_CACHED_INFO. NTLDR does this.
2007-12-07 01:06:37 +00:00
Michael Brown
698b5bc887
Fix a minor logical error in posix_io.c
2007-12-07 00:52:48 +00:00
Michael Brown
df868476e7
Various warnings fixups for OpenBSD with gcc-3.3.5.
2007-12-07 00:11:43 +00:00
Michael Brown
64787bad29
Fix prototype mismatch.
2007-12-06 23:35:37 +00:00
Michael Brown
be6ada2b7b
Add missing format qualifier
2007-12-06 21:38:23 +00:00
Marty Connor
82a3e80645
Add copyright, clean up comments a bit, remove unnecessary code.
...
Cleanups for e1000.c.
2007-12-03 01:17:41 -05:00
Michael Brown
1de705e30f
Reallocate memory for bitmaps only when necessary.
2007-11-29 19:10:10 +00:00
Michael Brown
423e9d72f3
udp_open_promisc() calls udp_open_common() with peer==NULL.
2007-11-28 11:56:14 +00:00
Michael Brown
3b1efba864
Add RFC2090 TFTP multicast support.
2007-11-28 10:57:26 +00:00
Michael Brown
f770744ee0
Quick hack to be able to accept transfers from servers that don't
...
supply options.
2007-11-25 16:06:29 +00:00
Michael Brown
838ecba131
Provide individually cached constructed copies of DHCP packets via
...
PXENV_GET_CACHED_INFO. If we dont do this, Altiris' NBP screws up; it
relies on being able to grab pointers to each of the three packets and
then read them at will later.
2007-11-22 04:43:11 +00:00
Michael Brown
3a2473f123
Do not fill in the BufferLimit field in struct
...
s_PXENV_GET_CACHED_INFO, because this field doesn't exist in earlier
versions of the PXE spec, and some callers don't allocate space for it.
2007-11-22 00:31:21 +00:00
Michael Brown
b3abf25e3c
Allow DHCP server to instruct gPXE to ignore ProxyDHCP (which will
...
also avoid waiting for ProxyDHCP offers).
Also reduce the ProxyDHCP timeout, because it's already irritating me.
2007-11-21 22:10:04 +00:00
Michael Brown
0becbf5fba
Add ProxyDHCP support.
2007-11-21 21:51:43 +00:00
Marty Connor
fa0bd77270
Added netdev_nullify to natsemi_remove()
2007-11-21 15:45:08 +00:00
Michael Brown
de329a36d0
Removed old e1000 driver.
2007-11-21 15:37:58 +00:00
Michael Brown
b53ee1eb16
Merge commit 'origin/mdc-working'
2007-11-21 15:35:08 +00:00
Michael Brown
fb809da2df
Remove some assumptions about DHCP obtaining only a single options block.
2007-11-21 04:48:18 +00:00
Michael Brown
8d18338ae7
Add PXE-required DHCP options to DHCPDISCOVER and DHCPREQUEST packets.
2007-11-21 03:57:30 +00:00
Michael Brown
26f3a09ccf
Add UUID to DHCP request as option 97 (if available).
2007-11-21 03:29:53 +00:00
Marty Connor
2d60a3963f
Fixed receive instability by not enabling interrupts. duh.
...
I have successfully booted DOS via iSCSI and PXELINUX via TFTP with this
version of the e1000 driver.
2007-11-20 21:33:42 -05: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
68c438954d
Update SMBIOS internal API to be easier to use, and not to require
...
potentially exorbitant amounts of stack space.
2007-11-21 01:58:27 +00:00
Marty Connor
645a752bc2
This version now transmits and receives.
...
There may still be an issue with memory handling, since it seems to
die ungracefully when ARP packets come in after loading a kernel.
Something to debug.
2007-11-20 16:23:12 -05:00
Marty Connor
8973caa1e6
Autonegotiation fixes. NIC now autonegotiates to whatever the switch supports.
2007-11-20 12:06:22 -05:00
Marty Connor
e41550b0ba
A version of the new e1000 driver that transmits.
...
autonegotiation still needs work. receive is not working yet.
2007-11-20 10:23:32 -05:00
Michael Brown
89eaab79c8
Replace "Etherboot" strings with "gPXE".
2007-11-20 02:00:54 +00:00
Michael Brown
6855c357a5
Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe
2007-11-19 20:14:49 +00:00
Michael Brown
a1e243d504
Add bin/pci_VVVV_DDDD target to allow building ROM images without
...
needing to know the gPXE internal ROM name.
2007-11-19 20:14:20 +00:00
Marty Connor
8ce93f0876
Fix typo.
2007-11-18 11:12:54 -05:00
Marty Connor
e21391d7b5
Add e1000 directory to build, since the driver compiles cleanly.
2007-11-18 10:57:20 -05:00
Marty Connor
8b0d86914b
Rename e1000_main.c to e1000.c to so we can type 'make bin/e1000.dsk' instead of 'make bin/e1000_main.dsk'
2007-11-18 10:54:42 -05:00
Marty Connor
048a234dce
Add errfile definition for new e1000.c
2007-11-18 10:45:20 -05:00
Marty Connor
0fea19c398
Introduce files for new e1000 driver
2007-11-18 10:31:00 -05:00
Marty Connor
2b8f77aca1
Add src/drivers/net/e1000 as home of new e1000 driver
2007-11-18 10:28:25 -05:00
Marty Connor
8564711c20
Move current e1000 driver files to e1000-old/ directory to avoid collisions
2007-11-18 09:58:28 -05:00
Marty Connor
8bd670301c
Add ERRFILE information for e1000_main and e1000_hw, part of the new e1000 driver
...
It is likely we will rename e1000_main to e1000 when the new e1000 driver is debugged.
2007-11-18 09:51:21 -05:00
Marty Connor
9a4ed0f2d5
Remove unnecessary variable.
2007-11-18 03:11:02 -05:00
Michael Brown
c194b0c4bf
Work around a bug in the OpenSolaris iSCSI target.
...
We didn't specify values for MaxRecvDataSegmentLength and
MaxBurstLength (to save space, since we were happy with the
RFC-defined default values of 8kB and 256kB respectively). However,
the OpenSolaris target (incorrectly) assumes default values of zero
for these parameters.
The upshot was that the OpenSolaris target would get stuck in an
endless loop trying to send us the first 512-byte sector, zero bytes
at a time, and would eventually run out of memory and core-dump.
Fixed by explicitly specifying the default values for these two
parameters.
2007-11-05 13:29:05 +00:00
Michael Brown
755cb8379d
Allow space for the kernel's real-mode .bss. Previously we weren't
...
allowing any space for this, which makes it surprising that bzImage
loading ever worked.
2007-11-04 04:27:38 +00:00
Michael Brown
c482fef058
Add missing attribute(packed) to two structures.
2007-10-29 21:22:00 +00:00
Michael Brown
82124ea688
Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe
2007-10-29 17:22:27 +00:00
Michael Brown
1620b3512c
Merge branch '3leaf'
2007-10-29 17:21:58 +00:00
Michael Brown
be7d32396f
Added one more PCI ID
2007-10-22 16:24:09 +01:00
Michael Brown
338d45a61e
Change ROM names to lower case.
2007-10-11 00:43:21 +01:00
Michael Brown
35ee7e4479
Ensure that empty e820 regions are skipped even at the end of the
...
memory map. (We achieve this by setting CF on the last entry if it is
zero-length; this avoids the need to look ahead to see at each entry
if the *next* entry would be both the last entry and zero-length).
This fixes the "0kB base memory" error message upon starting Windows
2003 on a SunFire X2100.
2007-10-10 20:13:34 +01:00
Michael Brown
e445c2c07c
Ensure that empty e820 regions are skipped even at the end of the
...
memory map. (We achieve this by setting CF on the last entry if it is
zero-length; this avoids the need to look ahead to see at each entry
if the *next* entry would be both the last entry and zero-length).
This fixes the "0kB base memory" error message upon starting Windows
2003 on a SunFire X2100.
2007-10-10 20:12:25 +01:00
Michael Brown
8069598a99
Add a missing PCI ID that is tested as working.
2007-10-10 02:07:18 +01:00
Michael Brown
9ac0377fbb
Force a netdevice poll in net_tx() before attempting to transmit
...
packet, to work around the problem whereby small TX rings get backed
up because we haven't yet poll()ed for TX completions.
2007-10-04 14:57:33 +01:00
Michael Brown
2303c45d65
Force a netdevice poll in net_tx() before attempting to transmit
...
packet, to work around the problem whereby small TX rings get backed
up because we haven't yet poll()ed for TX completions.
2007-10-04 14:46:56 +01:00
Michael Brown
56550e400e
Redefine bzimage_exec_context::mem_limit to be the highest permissible
...
byte, rather than the number of permissible bytes (i.e. subtract one
from the value under the previous definition to get the value under
the new definition).
This avoids integer overflow on 64-bit kernels, where
bzhdr.initrd_addr_max may be 0xffffffffffffffff; under the old
behaviour we set mem_limit equal to initrd_addr_max+1, which meant it
ended up as zero. Kernel loads would fail with ENOBUFS.
2007-09-28 01:23:06 +01:00
Michael Brown
14fb6ba189
Quick and very dirty hack to get r8169 driver working again, prior to
...
any rewrite.
2007-09-26 17:58:51 +01:00
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