Michael Brown
c3e41e6fd1
Added soon-to-be-requisite missing include.
пре 18 година
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 година
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 година
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 година
Michael Brown
0e494614b5
Some versions of doxygen seem to object to "@ret None" or similar.
пре 19 година
Michael Brown
a96759f9c8
Use "#var" rather than "@c var" for doxygen.
пре 19 година
Michael Brown
f88c0d42d5
Doxygenation
пре 19 година
Michael Brown
282b6f1a1a
isa.c uses the new table infrastructure.
пре 19 година
Michael Brown
e301acc0d4
Add isapnp_max_csn to reduce scan time.
пре 19 година
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 година
Michael Brown
5bace628ae
Added "name" field to bus structure.
пре 19 година
Michael Brown
db3a44b66d
Debug message fixes.
пре 19 година
Michael Brown
441ee4f8f3
Need to leave structure zeroed
пре 19 година
Michael Brown
feb652709d
Must not go beyond end of driver's probe list.
пре 19 година
Michael Brown
1e156f537b
Consistency
пре 19 година
Michael Brown
3e8c2aa78b
Fix up fill_mca_nic.
пре 19 година
Michael Brown
97346a75f7
Added friendly enable/disable functions
пре 19 година
Michael Brown
924143661a
Updated all common buses to new API.
пре 19 година
Michael Brown
cfe3a663af
Tweaked API to minimise changes to existing drivers even further.
пре 19 година
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 година
Michael Brown
928c388c6f
bswap_16() exists; no need to use __bswap_16()
пре 19 година
Michael Brown
cf79681b80
Fix BUILD_SERIAL.
Change from using #if to #ifdef, since #if can't cope with string
constants.
пре 19 година
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 година
Michael Brown
03346742c0
Use only the header files that we need
пре 19 година
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 година
Michael Brown
86d2127204
Remove debugging call to getchar()
пре 19 година
Michael Brown
c659a54f70
Now known to work with an old Adaptec 1505 that I found lying around.
пре 19 година
Michael Brown
7bd3e883d7
Consistency
пре 19 година
Michael Brown
e29be5e342
Speed up PCI bus scanning by skipping fns 1-7 if fn 0 is not present.
пре 19 година
Michael Brown
6e5a3858bf
Read number of PCI buses returned by BIOS so that we can scan more
quickly.
пре 19 година
Michael Brown
e1a9798af4
Improved debugging output
пре 19 година
Michael Brown
ed7b9109be
Made debug messages more consistent.
пре 19 година
Michael Brown
211a607147
Improved debug messages.
Prevented find_pci_device() from being an endless loop.
пре 19 година
Michael Brown
9f02376409
Make isa_probe_addr a simple integer rather than a struct, to facilitate
specification of ISA_PROBE_ADDRS.
пре 19 година
Michael Brown
a60aadf9e9
Improve debug message legibility.
пре 19 година
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 година
Michael Brown
39cb4d8dbb
Fix debug message
пре 19 година
Michael Brown
e6e43a2f2f
We now correctly use logical devices.
пре 19 година
Michael Brown
d11ea1e44b
Added debugging messages for activation/deactivation of logical devices.
пре 19 година
Michael Brown
888277d2d1
Read current ioaddr and irqno from PnP registers.
пре 19 година
Michael Brown
ab443ba4b0
Don't verify checksum except after serial isolation
пре 19 година
Michael Brown
120192e8d1
Reduce binary size by factoring out common parameterised calls to
udelay().
пре 19 година
Michael Brown
85dd4fd8d6
Activation code now generalised as well.
пре 19 година
Michael Brown
1980018b8b
Cleaned up isolation protocol.
пре 19 година
Michael Brown
344ea224b4
Standardised debug message.
пре 19 година
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 година
Michael Brown
f78fd79c16
Moved core/isapnp.c to drivers/bus/isapnp.c
пре 19 година
Michael Brown
9eac705dd2
Added a generalised ISA device-probing mechanism.
пре 19 година
Michael Brown
9183f2412e
bus header files must include dev.h to get struct dev.
пре 19 година
Michael Brown
104880ca19
Tweak API to allow separation of bus-scanning and device-probing logic.
пре 19 година