Pantelis Koukousoulas
180d99fc22
[isa] Fix a small typo in isa.c.
...
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>
2008-11-08 12:54:18 +00:00
Michael Brown
ee2df1d6d6
[ioapi] Remove old io.h file and switch all users over to <gpxe/io.h>
2008-10-12 01:06:27 +01:00
Alexey Zaytsev
a1572e0ab0
Modify gPXE core and drivers to work with the new timer subsystem
...
Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com>
2008-03-02 03:41:10 +03:00
Holger Lubitz
85e04b5837
Revert "convert to zalloc"
...
This reverts commit a4bea78974
.
2007-07-07 01:56:37 +02:00
Holger Lubitz
e3c72a3438
Revert "convert to zalloc"
...
This reverts commit 3414fd8df8
.
2007-07-07 01:56:27 +02:00
Holger Lubitz
ac323c5e4d
Revert "convert to zalloc"
...
This reverts commit 636bd2cd0a
.
2007-07-07 01:56:15 +02:00
Holger Lubitz
50fe2159d5
Revert "convert to zalloc"
...
This reverts commit 7297f04481
.
2007-07-07 01:55:45 +02:00
Holger Lubitz
a772dc4a2a
Revert "convert to zalloc"
...
This reverts commit 5ce16b03a1
.
2007-07-07 01:55:23 +02:00
Holger Lubitz
5ce16b03a1
convert to zalloc
2007-07-06 20:42:05 +02:00
Holger Lubitz
7297f04481
convert to zalloc
2007-07-06 20:42:05 +02:00
Holger Lubitz
636bd2cd0a
convert to zalloc
2007-07-06 20:42:05 +02:00
Holger Lubitz
3414fd8df8
convert to zalloc
2007-07-06 20:42:05 +02:00
Holger Lubitz
a4bea78974
convert to zalloc
2007-07-06 20:42:05 +02:00
Michael Brown
b5311c2c88
This comment is no longer relevant.
2007-07-03 20:39:47 +01:00
Michael Brown
0924cf678e
Implemented (untested) PXENV_START_UNDI.
2007-07-03 18:17:14 +01:00
Michael Brown
5f17089b14
pxe_netdev now holds a reference to the network device.
...
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.
2007-07-02 17:43:32 +01:00
Michael Brown
520d9c36af
Updated ISAPnP, EISA, MCA and ISA buses to current device model.
...
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.
2007-03-10 18:08:33 +00:00
Michael Brown
73b09ecba6
Use stdio.h instead of vsprintf.h
2007-01-19 01:13:12 +00:00
Michael Brown
fdc97499bf
Add device description fields to struct device.
2007-01-10 15:27:48 +00:00
Michael Brown
dad5274522
Add "name" field to struct device to allow human-readable hardware device
...
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).
2007-01-10 04:22:09 +00:00
Michael Brown
5af4918356
Added support for wildcard device/vendor ID matches
2007-01-08 03:23:38 +00:00
Michael Brown
7b9617f5df
Add device to hierarchy before calling the driver's probe() function; this
...
way everything remains consistent if the probe() ends up creating child
devices.
2007-01-08 01:29:51 +00:00
Michael Brown
9f953322a1
Remove warning (at least on platforms with uint32_t == unsigned long).
2006-12-20 00:34:53 +00:00
Michael Brown
a646e38f03
Use stdlib.h for malloc() instead of malloc.h.
2006-12-19 23:42:46 +00:00
Michael Brown
88e38fa148
We don't actually have a stdio.h header file. Our printf() functions are
...
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.
2006-09-27 10:58:14 +00:00
Marty Connor
6ac78f6aff
added stdio.h to includes for DBG compilation
2006-09-27 05:57:06 +00:00
Michael Brown
c3e41e6fd1
Added soon-to-be-requisite missing include.
2006-06-05 15:41:22 +00:00
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.)
2006-05-17 01:12:11 +00:00
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).
2006-05-16 15:12:06 +00:00
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.
2006-04-24 15:42:49 +00:00
Michael Brown
bb7394b041
Merge from Etherboot 5.4
2006-03-16 17:59:51 +00:00
Michael Brown
0e494614b5
Some versions of doxygen seem to object to "@ret None" or similar.
2005-05-24 00:11:25 +00:00
Michael Brown
a96759f9c8
Use "#var" rather than "@c var" for doxygen.
2005-05-20 10:27:02 +00:00
Michael Brown
f88c0d42d5
Doxygenation
2005-05-19 15:35:47 +00:00
Michael Brown
282b6f1a1a
isa.c uses the new table infrastructure.
2005-04-27 12:24:38 +00:00
Michael Brown
e301acc0d4
Add isapnp_max_csn to reduce scan time.
2005-04-26 14:07:30 +00:00
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.
2005-04-26 12:30:14 +00:00
Michael Brown
5bace628ae
Added "name" field to bus structure.
2005-04-25 18:54:15 +00:00
Michael Brown
db3a44b66d
Debug message fixes.
2005-04-22 15:56:57 +00:00
Michael Brown
441ee4f8f3
Need to leave structure zeroed
2005-04-22 15:33:35 +00:00
Michael Brown
feb652709d
Must not go beyond end of driver's probe list.
2005-04-22 12:02:34 +00:00
Michael Brown
1e156f537b
Consistency
2005-04-22 11:56:27 +00:00
Michael Brown
3e8c2aa78b
Fix up fill_mca_nic.
2005-04-22 02:47:39 +00:00
Michael Brown
97346a75f7
Added friendly enable/disable functions
2005-04-22 02:43:24 +00:00
Michael Brown
924143661a
Updated all common buses to new API.
2005-04-22 02:28:16 +00:00
Michael Brown
cfe3a663af
Tweaked API to minimise changes to existing drivers even further.
2005-04-21 19:04:53 +00:00
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.
2005-04-21 18:18:29 +00:00
Michael Brown
928c388c6f
bswap_16() exists; no need to use __bswap_16()
2005-04-21 16:38:28 +00:00
Michael Brown
cf79681b80
Fix BUILD_SERIAL.
...
Change from using #if to #ifdef, since #if can't cope with string
constants.
2005-04-18 12:43:18 +00:00
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.
2005-04-18 11:00:42 +00:00
Michael Brown
03346742c0
Use only the header files that we need
2005-04-17 10:51:05 +00:00
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...
2005-04-16 17:30:37 +00:00
Michael Brown
86d2127204
Remove debugging call to getchar()
2005-04-16 14:42:48 +00:00
Michael Brown
c659a54f70
Now known to work with an old Adaptec 1505 that I found lying around.
2005-04-16 14:41:04 +00:00
Michael Brown
7bd3e883d7
Consistency
2005-04-16 11:43:16 +00:00
Michael Brown
e29be5e342
Speed up PCI bus scanning by skipping fns 1-7 if fn 0 is not present.
2005-04-16 11:42:56 +00:00
Michael Brown
6e5a3858bf
Read number of PCI buses returned by BIOS so that we can scan more
...
quickly.
2005-04-16 11:16:31 +00:00
Michael Brown
e1a9798af4
Improved debugging output
2005-04-16 10:19:13 +00:00
Michael Brown
ed7b9109be
Made debug messages more consistent.
2005-04-16 10:04:56 +00:00
Michael Brown
211a607147
Improved debug messages.
...
Prevented find_pci_device() from being an endless loop.
2005-04-16 09:57:19 +00:00
Michael Brown
9f02376409
Make isa_probe_addr a simple integer rather than a struct, to facilitate
...
specification of ISA_PROBE_ADDRS.
2005-04-16 09:30:48 +00:00
Michael Brown
a60aadf9e9
Improve debug message legibility.
2005-04-15 17:09:47 +00:00
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.
2005-04-15 17:03:39 +00:00
Michael Brown
39cb4d8dbb
Fix debug message
2005-04-15 16:56:18 +00:00
Michael Brown
e6e43a2f2f
We now correctly use logical devices.
2005-04-15 15:37:39 +00:00
Michael Brown
d11ea1e44b
Added debugging messages for activation/deactivation of logical devices.
2005-04-15 14:31:08 +00:00
Michael Brown
888277d2d1
Read current ioaddr and irqno from PnP registers.
2005-04-15 14:27:49 +00:00
Michael Brown
ab443ba4b0
Don't verify checksum except after serial isolation
2005-04-15 13:54:44 +00:00
Michael Brown
120192e8d1
Reduce binary size by factoring out common parameterised calls to
...
udelay().
2005-04-15 13:18:54 +00:00
Michael Brown
85dd4fd8d6
Activation code now generalised as well.
2005-04-15 13:07:25 +00:00
Michael Brown
1980018b8b
Cleaned up isolation protocol.
2005-04-15 12:25:17 +00:00
Michael Brown
344ea224b4
Standardised debug message.
2005-04-14 23:43:34 +00:00
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).
2005-04-14 23:32:36 +00:00
Michael Brown
f78fd79c16
Moved core/isapnp.c to drivers/bus/isapnp.c
2005-04-14 22:42:57 +00:00
Michael Brown
9eac705dd2
Added a generalised ISA device-probing mechanism.
2005-04-14 18:46:43 +00:00
Michael Brown
9183f2412e
bus header files must include dev.h to get struct dev.
2005-04-14 14:26:28 +00:00
Michael Brown
104880ca19
Tweak API to allow separation of bus-scanning and device-probing logic.
2005-04-14 13:44:07 +00:00
Michael Brown
44c7cc8c12
Standardised debug mechanism in place now.
2005-04-14 11:55:57 +00:00
Michael Brown
75d864432c
Use the magic of common symbols to allow struct dev to effectively grow at
...
link time to accommodate whatever bus objects are included.
2005-04-14 10:10:54 +00:00
Michael Brown
200b39a645
Extraced from 3c509.c
2005-04-13 12:45:38 +00:00
Michael Brown
4ae83f28f2
Don't use htons, for compatibility with PCI :(
2005-04-13 12:15:14 +00:00
Michael Brown
4ecbc63296
Use __bswap_16, since we're not dealing with quantities to go onto the network.
2005-04-13 12:11:21 +00:00
Michael Brown
5b8e549c83
htons was used in ISAPnP code just due to ISAPnP storing bytes in
...
reverse order.
2005-04-13 12:06:33 +00:00
Michael Brown
9711f50e20
Created separate isa_ids.h file and a utility function to print out ISA
...
IDs in a human-readable format.
2005-04-13 12:01:44 +00:00
Michael Brown
677cda3263
Minor fixups
2005-04-13 03:00:30 +00:00
Michael Brown
1aee4e8001
Extracted from 3c509.c
2005-04-13 02:59:13 +00:00
Michael Brown
81320fae4b
Remove debugging by default
2005-04-12 18:32:20 +00:00
Michael Brown
3293c68488
Make adjust_pci_device global, since many drivers call it.
2005-04-12 18:10:57 +00:00
Michael Brown
762fa9a478
Fix up find_pci_device so that it can be used for scanning for devices
...
*other* than the main boot device.
2005-04-12 18:04:03 +00:00
Michael Brown
707720c4e5
New PCI scan functions now work.
2005-04-12 16:36:55 +00:00
Michael Brown
121e7386f6
New device probing mechanism written, not tested.
2005-04-11 19:19:35 +00:00
Michael Brown
2ebc56f334
Moved in functions from old core/pci.c that we want to keep.
2005-04-11 13:43:53 +00:00