Michael Brown
c3e41e6fd1
Added soon-to-be-requisite missing include.
18 years ago
Michael Brown
6b6096d28b
Strip down i386 PCI configuration space I/O to the bare minimum. A
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.)
18 years ago
Michael Brown
15ee09ed10
Restructured PCI subsystem to fit the new device model.
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).
18 years ago
Michael Brown
824d6ffa7f
Header rearrangement.
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.
18 years ago
Michael Brown
0e494614b5
Some versions of doxygen seem to object to "@ret None" or similar.
19 years ago
Michael Brown
a96759f9c8
Use "#var" rather than "@c var" for doxygen.
19 years ago
Michael Brown
f88c0d42d5
Doxygenation
19 years ago
Michael Brown
282b6f1a1a
isa.c uses the new table infrastructure.
19 years ago
Michael Brown
e301acc0d4
Add isapnp_max_csn to reduce scan time.
19 years ago
Michael Brown
3dbdeb588f
ISA bus driver updated to report devices as present only if a driver
thinks they are.
Other bus drivers modified for consistency.
19 years ago
Michael Brown
5bace628ae
Added "name" field to bus structure.
19 years ago
Michael Brown
db3a44b66d
Debug message fixes.
19 years ago
Michael Brown
441ee4f8f3
Need to leave structure zeroed
19 years ago
Michael Brown
feb652709d
Must not go beyond end of driver's probe list.
19 years ago
Michael Brown
1e156f537b
Consistency
19 years ago
Michael Brown
3e8c2aa78b
Fix up fill_mca_nic.
19 years ago
Michael Brown
97346a75f7
Added friendly enable/disable functions
19 years ago
Michael Brown
924143661a
Updated all common buses to new API.
19 years ago
Michael Brown
cfe3a663af
Tweaked API to minimise changes to existing drivers even further.
19 years ago
Michael Brown
98ff29345e
Created a bus/device API that allows for the ROM prefix to specify an
initial device, and will also allow for e.g. a device menu to be presented
to the user.
19 years ago
Michael Brown
928c388c6f
bswap_16() exists; no need to use __bswap_16()
19 years ago
Michael Brown
cf79681b80
Fix BUILD_SERIAL.
Change from using #if to #ifdef, since #if can't cope with string
constants.
19 years ago
Michael Brown
85b00c4b72
Move RELOCATE into config.h
Move ISA probe address logic from config.c into isa.c, create header file
config/isa.h.
19 years ago
Michael Brown
03346742c0
Use only the header files that we need
19 years ago
Michael Brown
5ca20abf95
Place the call to adjust_pci_device() back in the individual drivers,
since we probably shouldn't be doing this to arbitrary devices during a
PCI bus scan...
19 years ago
Michael Brown
86d2127204
Remove debugging call to getchar()
19 years ago
Michael Brown
c659a54f70
Now known to work with an old Adaptec 1505 that I found lying around.
19 years ago
Michael Brown
7bd3e883d7
Consistency
19 years ago
Michael Brown
e29be5e342
Speed up PCI bus scanning by skipping fns 1-7 if fn 0 is not present.
19 years ago
Michael Brown
6e5a3858bf
Read number of PCI buses returned by BIOS so that we can scan more
quickly.
19 years ago
Michael Brown
e1a9798af4
Improved debugging output
19 years ago
Michael Brown
ed7b9109be
Made debug messages more consistent.
19 years ago
Michael Brown
211a607147
Improved debug messages.
Prevented find_pci_device() from being an endless loop.
19 years ago
Michael Brown
9f02376409
Make isa_probe_addr a simple integer rather than a struct, to facilitate
specification of ISA_PROBE_ADDRS.
19 years ago
Michael Brown
a60aadf9e9
Improve debug message legibility.
19 years ago
Michael Brown
8aa3b9d972
Need to do isolation when find_isapnp_device is first called,
otherwise isapnp_max_csn is zero and we never call fill_isapnp_device.
Fix debug message.
19 years ago
Michael Brown
39cb4d8dbb
Fix debug message
19 years ago
Michael Brown
e6e43a2f2f
We now correctly use logical devices.
19 years ago
Michael Brown
d11ea1e44b
Added debugging messages for activation/deactivation of logical devices.
19 years ago
Michael Brown
888277d2d1
Read current ioaddr and irqno from PnP registers.
19 years ago
Michael Brown
ab443ba4b0
Don't verify checksum except after serial isolation
19 years ago
Michael Brown
120192e8d1
Reduce binary size by factoring out common parameterised calls to
udelay().
19 years ago
Michael Brown
85dd4fd8d6
Activation code now generalised as well.
19 years ago
Michael Brown
1980018b8b
Cleaned up isolation protocol.
19 years ago
Michael Brown
344ea224b4
Standardised debug message.
19 years ago
Michael Brown
ed92171527
Standardised debug messages to make it easy to get a bus scan printout
(just build debugging versions of the relevant bus objects).
19 years ago
Michael Brown
f78fd79c16
Moved core/isapnp.c to drivers/bus/isapnp.c
19 years ago
Michael Brown
9eac705dd2
Added a generalised ISA device-probing mechanism.
19 years ago
Michael Brown
9183f2412e
bus header files must include dev.h to get struct dev.
19 years ago
Michael Brown
104880ca19
Tweak API to allow separation of bus-scanning and device-probing logic.
19 years ago