| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
This seems to be necessary for some types of PCI devices. We had
problems when using gPXE in KVM virtual machines with direct
PCI device access.
Signed-off-by: Bernhard Kohl <bernhard.kohl@nsn.com>
Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
Modified-by: Marty Connor <mdc@etherboot.org>
Signed-off-by: Marty Connor <mdc@etherboot.org>
|
| |
|
|
|
|
| |
Some devices can only be reset via a mechanism that also resets the
card's PCI core, thus necessitating a backup and restore of all or
part of the PCI configuration space across a reset.
|
| |
|
|
|
| |
Add FILE_LICENCE declarations to almost all files that make up the
various standard builds of gPXE.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Intel's C compiler (icc) chokes on the zero-length arrays that we
currently use as part of the mechanism for accessing linker table
entries. Abstract away the zero-length arrays, to make a port to icc
easier.
Introduce macros such as for_each_table_entry() to simplify the common
case of iterating over all entries in a linker table.
Represent table names as #defined string constants rather than
unquoted literals; this avoids visual confusion between table names
and C variable or type names, and also allows us to force a
compilation error in the event of incorrect table names.
|
| |
|
|
|
|
|
| |
adjust_pci_device() has historically enabled bus-mastering and I/O
cycles, but has never previously needed to enable memory cycles. Some
EFI systems seem not to enable memory cycles by default, so add that
to the list of PCI command register bits that we force on.
|
| |
|
|
| |
Signed-off-by: Laurent Vivier <Laurent.Vivier@bull.net>
|
| |
|
|
|
|
| |
This brings us in to line with Linux definitions, and also simplifies
adding x86_64 support since both platforms have 2-byte shorts, 4-byte
ints and 8-byte long longs.
|
| |
|
|
|
|
|
| |
With this patch ISA drivers actually get probed so they have a fair
chance of working now.
Signed-off-by: Pantelis Koukousoulas <pktoss@gmail.com>
|
| | |
|
| |
|
|
| |
Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com>
|
| |
|
|
| |
This reverts commit a4bea78974620820774a59f49646eafbdb481148.
|
| |
|
|
| |
This reverts commit 3414fd8df8c514947254fd065d407e8db115221f.
|
| |
|
|
| |
This reverts commit 636bd2cd0abfd9ae774456cd1c00e3f8bb63e7d8.
|
| |
|
|
| |
This reverts commit 7297f04481f6737b0a40161da6d8413ca0f478d2.
|
| |
|
|
| |
This reverts commit 5ce16b03a1cb036ad0ab818473fe8f9c158949ed.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
names.
Add "dev" pointer in struct net_device to tie network interfaces back to a
hardware device.
Force natural alignment of data types in __table() macros. This seems to
prevent gcc from taking the unilateral decision to occasionally increase
their alignment (which screws up the table packing).
|
| | |
|
| |
|
|
|
| |
way everything remains consistent if the probe() ends up creating child
devices.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
defined in vsprintf.h. (This may change, since vsprintf.h is a
non-standard name, but for now it's the one to use.)
There should be no need to include vsprintf.h just for DBG() statements,
since include/compiler.h forces it in for a debug build anyway.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
typical build will now include 880 bytes of PCI support code, compared to
2327 bytes in Etherboot 5.4.
(There is a slight cost of around 5 extra bytes per access to a
non-constant config space address; this should be an overall win.
Driver-specific accesses will usually be to constant addresses, for
which there is no additional cost.)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Generic PCI code now handles 64-bit BARs correctly when setting
"membase"; drivers should need to call pci_bar_start() only if they want
to use BARs other than the first memory or I/O BAR.
Split rarely-used PCI functions out into pciextra.c.
Core PCI code is now 662 bytes (down from 1308 bytes in Etherboot 5.4).
284 bytes of this saving comes from the pci/pciextra split.
Cosmetic changes to lots of drivers (e.g. vendor_id->vendor in order to
match the names used in Linux).
|
| |
|
|
|
|
|
|
|
| |
I want to get to the point where any header in include/ reflects a
standard user-level header (e.g. a POSIX header), while everything that's
specific to gPXE lives in include/gpxe/. Headers that reflect a Linux
header (e.g. if_ether.h) should also be in include/gpxe/, with the same
name as the Linux header and, preferably, the same names used for the
definitions.
|
| |\ |
|
| | | |
|
| | | |
|
| |/ |
|
| | |
|
| | |
|
| |
|
|
|
| |
thinks they are.
Other bus drivers modified for consistency.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|