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.
17 vuotta sitten
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.
17 vuotta sitten
Michael Brown
0becbf5fba
Add ProxyDHCP support.
17 vuotta sitten
Marty Connor
fa0bd77270
Added netdev_nullify to natsemi_remove()
17 vuotta sitten
Michael Brown
de329a36d0
Removed old e1000 driver.
17 vuotta sitten
Michael Brown
b53ee1eb16
Merge commit 'origin/mdc-working'
17 vuotta sitten
Michael Brown
fb809da2df
Remove some assumptions about DHCP obtaining only a single options block.
17 vuotta sitten
Michael Brown
8d18338ae7
Add PXE-required DHCP options to DHCPDISCOVER and DHCPREQUEST packets.
17 vuotta sitten
Michael Brown
26f3a09ccf
Add UUID to DHCP request as option 97 (if available).
17 vuotta sitten
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.
17 vuotta sitten
Michael Brown
899f5b8ab2
Added definition of a UUID and uuid_ntoa() (for debugging), and
implemented smbios_get_uuid().
17 vuotta sitten
Michael Brown
68c438954d
Update SMBIOS internal API to be easier to use, and not to require
potentially exorbitant amounts of stack space.
17 vuotta sitten
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.
17 vuotta sitten
Marty Connor
8973caa1e6
Autonegotiation fixes. NIC now autonegotiates to whatever the switch supports.
17 vuotta sitten
Marty Connor
e41550b0ba
A version of the new e1000 driver that transmits.
autonegotiation still needs work. receive is not working yet.
17 vuotta sitten
Michael Brown
89eaab79c8
Replace "Etherboot" strings with "gPXE".
17 vuotta sitten
Michael Brown
6855c357a5
Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe
17 vuotta sitten
Michael Brown
a1e243d504
Add bin/pci_VVVV_DDDD target to allow building ROM images without
needing to know the gPXE internal ROM name.
17 vuotta sitten
Marty Connor
8ce93f0876
Fix typo.
17 vuotta sitten
Marty Connor
e21391d7b5
Add e1000 directory to build, since the driver compiles cleanly.
17 vuotta sitten
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'
17 vuotta sitten
Marty Connor
048a234dce
Add errfile definition for new e1000.c
17 vuotta sitten
Marty Connor
0fea19c398
Introduce files for new e1000 driver
17 vuotta sitten
Marty Connor
2b8f77aca1
Add src/drivers/net/e1000 as home of new e1000 driver
17 vuotta sitten
Marty Connor
8564711c20
Move current e1000 driver files to e1000-old/ directory to avoid collisions
17 vuotta sitten
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.
17 vuotta sitten
Marty Connor
9a4ed0f2d5
Remove unnecessary variable.
17 vuotta sitten
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.
17 vuotta sitten
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.
17 vuotta sitten
Michael Brown
c482fef058
Add missing attribute(packed) to two structures.
17 vuotta sitten
Michael Brown
82124ea688
Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe
17 vuotta sitten
Michael Brown
1620b3512c
Merge branch '3leaf'
17 vuotta sitten
Michael Brown
be7d32396f
Added one more PCI ID
17 vuotta sitten
Michael Brown
338d45a61e
Change ROM names to lower case.
17 vuotta sitten
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.
17 vuotta sitten
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.
17 vuotta sitten
Michael Brown
8069598a99
Add a missing PCI ID that is tested as working.
17 vuotta sitten
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.
17 vuotta sitten
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.
17 vuotta sitten
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.
17 vuotta sitten
Michael Brown
14fb6ba189
Quick and very dirty hack to get r8169 driver working again, prior to
any rewrite.
17 vuotta sitten
Michael Brown
ed5ff61790
Standardise DBG_PRINTF()->DBG(), and remove custom definitions for
DBG_PRINTF() and assert().
17 vuotta sitten
Michael Brown
881dd8e102
Switch rm_ss and rm_sp back to being words; it'll make it less
confusing to read the code.
17 vuotta sitten
Michael Brown
42d96bcb07
Don't use the "rep ss movsb" trick to copy the RM stack to the PM
stack; it breaks vmxassist.
17 vuotta sitten
Michael Brown
0ed066bc50
rm_ss, rm_sp, and pm_esp don't need to be accessed from anywhere
outside of librm.S.
17 vuotta sitten
Michael Brown
b8a8eea850
Minor refactoring to eliminate duplication.
17 vuotta sitten
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.
17 vuotta sitten
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.
17 vuotta sitten
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.
17 vuotta sitten
Michael Brown
44461b1854
Merge branch 'master' into 3leaf-delivery
17 vuotta sitten