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 years ago
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 years ago
Michael Brown
8069598a99
Add a missing PCI ID that is tested as working.
17 years ago
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 years ago
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 years ago
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 years ago
Michael Brown
14fb6ba189
Quick and very dirty hack to get r8169 driver working again, prior to
any rewrite.
17 years ago
Michael Brown
ed5ff61790
Standardise DBG_PRINTF()->DBG(), and remove custom definitions for
DBG_PRINTF() and assert().
17 years ago
Michael Brown
881dd8e102
Switch rm_ss and rm_sp back to being words; it'll make it less
confusing to read the code.
17 years ago
Michael Brown
42d96bcb07
Don't use the "rep ss movsb" trick to copy the RM stack to the PM
stack; it breaks vmxassist.
17 years ago
Michael Brown
0ed066bc50
rm_ss, rm_sp, and pm_esp don't need to be accessed from anywhere
outside of librm.S.
17 years ago
Michael Brown
b8a8eea850
Minor refactoring to eliminate duplication.
17 years ago
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 years ago
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 years ago
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 years ago
Michael Brown
44461b1854
Merge branch 'master' into 3leaf-delivery
17 years ago
Michael Brown
1e677b2024
Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe
17 years ago
Michael Brown
5793dbe96f
Infinband requires longer link-layer addresses and headers than Ethernet.
17 years ago
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).
17 years ago
Michael Brown
1af346b531
Minor debug message improvement.
17 years ago
Michael Brown
af303db75d
Use RFC4390 whenever hardware address exceeds 16 bytes; this allows us
to construct DHCP packets suitable for Infiniband.
17 years ago
Michael Brown
9c264faa0c
Add const attribute to byte-swapping functions
17 years ago
Michael Brown
7e3527a658
Don't get stuck in an infinite loop on negative integers!
17 years ago
Michael Brown
db124b1255
Add fls() for non-constant values.
17 years ago
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.
17 years ago
Michael Brown
0f60150c44
Reverted driver/net/mlx_ipoib to clean master state
17 years ago
Michael Brown
148055dd79
Merge branch 'master' into 3leaf-rewrite
17 years ago
Michael Brown
30717896f5
IB can't afford many RX buffers, because the MTU is so large. Reduce
the TCP window to compensate.
17 years ago
Michael Brown
2f23881856
Added arbel.c
17 years ago
Michael Brown
95498fa038
Remove the last remaining visible hack.
17 years ago
Michael Brown
982e4dd101
Separated out to a clean new drivers/infiniband directory.
17 years ago
Michael Brown
a5ec029d24
First version that works with SELF_INIT!
17 years ago
Michael Brown
8423b0b109
Gets most of the way through initialisation.
17 years ago
Michael Brown
def5ae9127
Added sw2hw_mpt
17 years ago
Michael Brown
da014080f9
INIT_HCA block now matches.
17 years ago
Michael Brown
57bf8d9905
Seems to get through the ICM mapping process
17 years ago
Michael Brown
4ea6223f5a
ICM allocation code in place; about to start test-and-compare runs.
17 years ago
Michael Brown
f20cd6f721
ICM allocation code *should* now be complete.
17 years ago
Michael Brown
af88f60228
Started with the ICM partitioning code.
17 years ago
Michael Brown
c818d47e25
Restructured bits of initialisation (not testable at present)
17 years ago
Michael Brown
dc3165b746
Starting the firmware directly now works.
17 years ago
Michael Brown
0f62bcaa77
Start migrating the remaining initialisation steps.
17 years ago
Michael Brown
f3fcb53faf
Don't use the mailboxless version of the HW2SW_CQ command; it seems to
crash the machine.
17 years ago
Michael Brown
12b4cb964b
Removed more hacks, and adjusted number of queue entries for likely usage.
17 years ago
Michael Brown
11541b1e01
Remove hacks, and fix leaving the multicast GID.
17 years ago
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.
17 years ago
Michael Brown
387a1a8556
Minor debug message improvement.
17 years ago
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.
17 years ago
Michael Brown
bdac591726
Some interesting packet corruption happening now.
17 years ago
Michael Brown
2ed1acb9e9
Broadcast GID is now calculated by IPoIB layer.
17 years ago