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 년 전