people/xl0/gpxe.git
17 years agoprintf and sprintf now defined in vsprintf.h, drag in console.h to get
Michael Brown [Sun, 17 Apr 2005 10:45:13 +0000 (10:45 +0000)]
printf and sprintf now defined in vsprintf.h, drag in console.h to get
putchar() as well.

17 years agoGave vsprintf.c its own header file, and made console.h include it.
Michael Brown [Sun, 17 Apr 2005 10:44:26 +0000 (10:44 +0000)]
Gave vsprintf.c its own header file, and made console.h include it.

17 years agoAutomatically drag in console.h if DBG() is being defined as printf().
Michael Brown [Sun, 17 Apr 2005 10:25:06 +0000 (10:25 +0000)]
Automatically drag in console.h if DBG() is being defined as printf().

17 years agoNeed to prevent intermediate targets from being deleted, otherwise the
Michael Brown [Sat, 16 Apr 2005 23:47:47 +0000 (23:47 +0000)]
Need to prevent intermediate targets from being deleted, otherwise the
trick with "touch -B 2" doesn't work because the file that we're
carefully timestamping just gets deleted anyway.

17 years agoUse the correct case for -Ddebug_<object>
Michael Brown [Sat, 16 Apr 2005 23:33:52 +0000 (23:33 +0000)]
Use the correct case for -Ddebug_<object>

17 years agoImproved building of debugging objects. You can now specify a "DEBUG="
Michael Brown [Sat, 16 Apr 2005 23:28:36 +0000 (23:28 +0000)]
Improved building of debugging objects.  You can now specify a "DEBUG="
list for any build, e.g.
  make bin/pnic.dsk DEBUG=pci,pnic
This will drag in debugging-enabled versions of pci.c and pnic.c.

17 years agoPlace the call to adjust_pci_device() back in the individual drivers,
Michael Brown [Sat, 16 Apr 2005 17:30:37 +0000 (17:30 +0000)]
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...

17 years agoAvoid signed/unsigned warnings by explicitly making PCI_{BUS,DEV,FUNC}
Michael Brown [Sat, 16 Apr 2005 17:09:52 +0000 (17:09 +0000)]
Avoid signed/unsigned warnings by explicitly making PCI_{BUS,DEV,FUNC}
all return unsigned quantities.

17 years ago...this time with the correct syntax. :(
Michael Brown [Sat, 16 Apr 2005 14:54:11 +0000 (14:54 +0000)]
...this time with the correct syntax.  :(

17 years agoAdded activate_isapnp_device() line
Michael Brown [Sat, 16 Apr 2005 14:53:27 +0000 (14:53 +0000)]
Added activate_isapnp_device() line

17 years agoOptimise ISAPNP_READ_PORT_STEP
Michael Brown [Sat, 16 Apr 2005 14:50:41 +0000 (14:50 +0000)]
Optimise ISAPNP_READ_PORT_STEP

17 years agoRemove debugging call to getchar()
Michael Brown [Sat, 16 Apr 2005 14:42:48 +0000 (14:42 +0000)]
Remove debugging call to getchar()

17 years agoNow known to work with an old Adaptec 1505 that I found lying around.
Michael Brown [Sat, 16 Apr 2005 14:41:04 +0000 (14:41 +0000)]
Now known to work with an old Adaptec 1505 that I found lying around.

17 years agoConsistency
Michael Brown [Sat, 16 Apr 2005 11:43:16 +0000 (11:43 +0000)]
Consistency

17 years agoSpeed up PCI bus scanning by skipping fns 1-7 if fn 0 is not present.
Michael Brown [Sat, 16 Apr 2005 11:42:56 +0000 (11:42 +0000)]
Speed up PCI bus scanning by skipping fns 1-7 if fn 0 is not present.

17 years agoRead number of PCI buses returned by BIOS so that we can scan more
Michael Brown [Sat, 16 Apr 2005 11:16:31 +0000 (11:16 +0000)]
Read number of PCI buses returned by BIOS so that we can scan more
quickly.

17 years agoImproved debugging output
Michael Brown [Sat, 16 Apr 2005 10:19:13 +0000 (10:19 +0000)]
Improved debugging output

17 years agoMade debug messages more consistent.
Michael Brown [Sat, 16 Apr 2005 10:04:56 +0000 (10:04 +0000)]
Made debug messages more consistent.

17 years agoImproved debug messages.
Michael Brown [Sat, 16 Apr 2005 09:57:19 +0000 (09:57 +0000)]
Improved debug messages.

Prevented find_pci_device() from being an endless loop.

17 years agoCONFIG_PCI_DIRECT no longer exists
Michael Brown [Sat, 16 Apr 2005 09:35:42 +0000 (09:35 +0000)]
CONFIG_PCI_DIRECT no longer exists

17 years agoAdd ISA_PROBE_ADDRS list.
Michael Brown [Sat, 16 Apr 2005 09:35:17 +0000 (09:35 +0000)]
Add ISA_PROBE_ADDRS list.

17 years agoMake isa_probe_addr a simple integer rather than a struct, to facilitate
Michael Brown [Sat, 16 Apr 2005 09:30:48 +0000 (09:30 +0000)]
Make isa_probe_addr a simple integer rather than a struct, to facilitate
specification of ISA_PROBE_ADDRS.

17 years agoImprove debug message legibility.
Michael Brown [Fri, 15 Apr 2005 17:09:47 +0000 (17:09 +0000)]
Improve debug message legibility.

17 years agoLeave some time to see what's going on.
Michael Brown [Fri, 15 Apr 2005 17:06:54 +0000 (17:06 +0000)]
Leave some time to see what's going on.

17 years agoNeed to do isolation when find_isapnp_device is first called,
Michael Brown [Fri, 15 Apr 2005 17:03:39 +0000 (17:03 +0000)]
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.

17 years agoFixed debug message
Michael Brown [Fri, 15 Apr 2005 16:58:08 +0000 (16:58 +0000)]
Fixed debug message

17 years agoFix debug message
Michael Brown [Fri, 15 Apr 2005 16:56:18 +0000 (16:56 +0000)]
Fix debug message

17 years agoNow compiles.
Michael Brown [Fri, 15 Apr 2005 16:52:28 +0000 (16:52 +0000)]
Now compiles.

17 years agoDon't even try to compile until the code is tidied up.
Michael Brown [Fri, 15 Apr 2005 16:50:36 +0000 (16:50 +0000)]
Don't even try to compile until the code is tidied up.

17 years agoThis at least compiles now. Haven't separated out the EMBEDDED code yet.
Michael Brown [Fri, 15 Apr 2005 16:49:46 +0000 (16:49 +0000)]
This at least compiles now.  Haven't separated out the EMBEDDED code yet.

17 years agoNot sure why I made these cosmetic changes, but I appear to have done so.
Michael Brown [Fri, 15 Apr 2005 16:30:35 +0000 (16:30 +0000)]
Not sure why I made these cosmetic changes, but I appear to have done so.

17 years agoAdded "classical" ISA example.
Michael Brown [Fri, 15 Apr 2005 16:28:14 +0000 (16:28 +0000)]
Added "classical" ISA example.

17 years agoAdded EISA, ISAPnP and MCA examples.
Michael Brown [Fri, 15 Apr 2005 16:18:56 +0000 (16:18 +0000)]
Added EISA, ISAPnP and MCA examples.

17 years agoUpdated to new PCI bus interface.
Michael Brown [Fri, 15 Apr 2005 16:08:10 +0000 (16:08 +0000)]
Updated to new PCI bus interface.

17 years agoUpdated to work with new ISAPnP bus code.
Michael Brown [Fri, 15 Apr 2005 15:50:27 +0000 (15:50 +0000)]
Updated to work with new ISAPnP bus code.

17 years agoWe now correctly use logical devices.
Michael Brown [Fri, 15 Apr 2005 15:37:39 +0000 (15:37 +0000)]
We now correctly use logical devices.

17 years agoCanonicalised tag names
Michael Brown [Fri, 15 Apr 2005 15:20:00 +0000 (15:20 +0000)]
Canonicalised tag names

17 years agoMove the concept of logical devices inside the struct isapnp_device.
Michael Brown [Fri, 15 Apr 2005 15:16:03 +0000 (15:16 +0000)]
Move the concept of logical devices inside the struct isapnp_device.

17 years agoAdded debugging messages for activation/deactivation of logical devices.
Michael Brown [Fri, 15 Apr 2005 14:31:08 +0000 (14:31 +0000)]
Added debugging messages for activation/deactivation of logical devices.

17 years agoRead current ioaddr and irqno from PnP registers.
Michael Brown [Fri, 15 Apr 2005 14:27:49 +0000 (14:27 +0000)]
Read current ioaddr and irqno from PnP registers.

17 years agoDon't verify checksum except after serial isolation
Michael Brown [Fri, 15 Apr 2005 13:54:44 +0000 (13:54 +0000)]
Don't verify checksum except after serial isolation

17 years agoReduce binary size by factoring out common parameterised calls to
Michael Brown [Fri, 15 Apr 2005 13:18:54 +0000 (13:18 +0000)]
Reduce binary size by factoring out common parameterised calls to
udelay().

17 years agoActivation code now generalised as well.
Michael Brown [Fri, 15 Apr 2005 13:07:25 +0000 (13:07 +0000)]
Activation code now generalised as well.

17 years agoCleaned up isolation protocol.
Michael Brown [Fri, 15 Apr 2005 12:25:17 +0000 (12:25 +0000)]
Cleaned up isolation protocol.

17 years agoStandardised debug message.
Michael Brown [Thu, 14 Apr 2005 23:43:34 +0000 (23:43 +0000)]
Standardised debug message.

17 years agoStandardised debug messages to make it easy to get a bus scan printout
Michael Brown [Thu, 14 Apr 2005 23:32:36 +0000 (23:32 +0000)]
Standardised debug messages to make it easy to get a bus scan printout
(just build debugging versions of the relevant bus objects).

17 years agoCleaner separation of find_t509_device/fill_t509_device.
Michael Brown [Thu, 14 Apr 2005 23:20:56 +0000 (23:20 +0000)]
Cleaner separation of find_t509_device/fill_t509_device.

17 years agoMoved core/isapnp.c to drivers/bus/isapnp.c
Michael Brown [Thu, 14 Apr 2005 22:42:57 +0000 (22:42 +0000)]
Moved core/isapnp.c to drivers/bus/isapnp.c

17 years agoUpdated to new ISA API, but this driver probably has deeper problems.
Michael Brown [Thu, 14 Apr 2005 21:18:36 +0000 (21:18 +0000)]
Updated to new ISA API, but this driver probably has deeper problems.

17 years agoThis code is unbelievably ugly, has never been fixed up to work with
Michael Brown [Thu, 14 Apr 2005 20:02:10 +0000 (20:02 +0000)]
This code is unbelievably ugly, has never been fixed up to work with
relocation and (hence) presumably has not been used since Etherboot 5.0.
Say bye-bye!

17 years agoUpdated to general ISA bus API.
Michael Brown [Thu, 14 Apr 2005 19:25:36 +0000 (19:25 +0000)]
Updated to general ISA bus API.

17 years agoTypo
Michael Brown [Thu, 14 Apr 2005 19:10:17 +0000 (19:10 +0000)]
Typo

17 years agoUpdated to common ISA bus API.
Michael Brown [Thu, 14 Apr 2005 19:07:53 +0000 (19:07 +0000)]
Updated to common ISA bus API.

17 years agoAdded a generalised ISA device-probing mechanism.
Michael Brown [Thu, 14 Apr 2005 18:46:43 +0000 (18:46 +0000)]
Added a generalised ISA device-probing mechanism.

17 years agoname should be const
Michael Brown [Thu, 14 Apr 2005 17:52:27 +0000 (17:52 +0000)]
name should be const

17 years agoFixed up automatic modifications by hand.
Michael Brown [Thu, 14 Apr 2005 15:09:28 +0000 (15:09 +0000)]
Fixed up automatic modifications by hand.

17 years agoAutomatically modified by
Michael Brown [Thu, 14 Apr 2005 15:00:05 +0000 (15:00 +0000)]
Automatically modified by

perl -pi -0777 -e 's/\s*?if\s*\(\s*!\s*find_pci_device.*?,\s*\&(\w+)\s*\)\s*\)\s*return\s*0;(.*BOOT_DRIVER\s*\(.*?,)(.*?\))/$2 find_pci_boot_device, $1,$3/sm' *.c

17 years agoFix up the automatic modifications.
Michael Brown [Thu, 14 Apr 2005 14:59:04 +0000 (14:59 +0000)]
Fix up the automatic modifications.

17 years agoMade amenable to automatic update.
Michael Brown [Thu, 14 Apr 2005 14:49:32 +0000 (14:49 +0000)]
Made amenable to automatic update.

17 years agoThis is the only driver that has a genuine reason to call
Michael Brown [Thu, 14 Apr 2005 14:48:07 +0000 (14:48 +0000)]
This is the only driver that has a genuine reason to call
find_pci_device() directly.

17 years agoAutomatically updated using
Michael Brown [Thu, 14 Apr 2005 14:44:33 +0000 (14:44 +0000)]
Automatically updated using

perl -pi -0777 -e 's/(_probe\s*\(\s*struct\s+dev.*?)(\s*\)\s*{.*?$)\s*struct pci_device.*?=\s*pci_device \( dev \);$/${1}, struct pci_device *pci${2}/ms' *.c

sis900 excluded from update

17 years agoUpdated to new device API.
Michael Brown [Thu, 14 Apr 2005 14:31:11 +0000 (14:31 +0000)]
Updated to new device API.

17 years agoFix BOOT_DRIVER to assign unique and meaningful name to structure.
Michael Brown [Thu, 14 Apr 2005 14:30:03 +0000 (14:30 +0000)]
Fix BOOT_DRIVER to assign unique and meaningful name to structure.

17 years agobus header files must include dev.h to get struct dev.
Michael Brown [Thu, 14 Apr 2005 14:26:28 +0000 (14:26 +0000)]
bus header files must include dev.h to get struct dev.

17 years agoUpdated to current device API.
Michael Brown [Thu, 14 Apr 2005 13:49:58 +0000 (13:49 +0000)]
Updated to current device API.

17 years agoTweak API to allow separation of bus-scanning and device-probing logic.
Michael Brown [Thu, 14 Apr 2005 13:44:07 +0000 (13:44 +0000)]
Tweak API to allow separation of bus-scanning and device-probing logic.

17 years agoSeparate out bus-scanning and device-probing logic.
Michael Brown [Thu, 14 Apr 2005 13:33:03 +0000 (13:33 +0000)]
Separate out bus-scanning and device-probing logic.

17 years agoSplit 3c509.c into 3c509.9 and 3c529.c, with shared code in 3c5x9.c.
Michael Brown [Thu, 14 Apr 2005 12:23:12 +0000 (12:23 +0000)]
Split 3c509.c into 3c509.9 and 3c529.c, with shared code in 3c5x9.c.
Probe mechanisms now use standard EISA and MCA bus methods, with 3c509.c
defining a custom ISA bus to handle the 3c509 contention resolution logic.

17 years agoAllow for multiple BOOT_DRIVER()s in the same file, provided that they
Michael Brown [Thu, 14 Apr 2005 12:02:19 +0000 (12:02 +0000)]
Allow for multiple BOOT_DRIVER()s in the same file, provided that they
have different probe functions.

17 years agoStandardised debug mechanism in place now.
Michael Brown [Thu, 14 Apr 2005 11:55:57 +0000 (11:55 +0000)]
Standardised debug mechanism in place now.

17 years agocompiler.h is now always included on the command line.
Michael Brown [Thu, 14 Apr 2005 11:50:26 +0000 (11:50 +0000)]
compiler.h is now always included on the command line.

17 years agoWe need the ISA product ID mask available separately for 3c509.c.
Michael Brown [Thu, 14 Apr 2005 11:47:30 +0000 (11:47 +0000)]
We need the ISA product ID mask available separately for 3c509.c.

17 years agoAlways include compiler.h.
Michael Brown [Thu, 14 Apr 2005 11:45:37 +0000 (11:45 +0000)]
Always include compiler.h.

Add bin/%.rebuild rule to quickly force a rebuild of any file.

Add bin/%.o.dbg rule to build a debugging-enabled version of the object.

17 years agoAutomatically create DBG() macro based on debug_<object> macro.
Michael Brown [Thu, 14 Apr 2005 11:35:45 +0000 (11:35 +0000)]
Automatically create DBG() macro based on debug_<object> macro.

17 years agoUse the magic of common symbols to allow struct dev to effectively grow at
Michael Brown [Thu, 14 Apr 2005 10:10:54 +0000 (10:10 +0000)]
Use the magic of common symbols to allow struct dev to effectively grow at
link time to accommodate whatever bus objects are included.

17 years agoStripped references to variables in C code.
Michael Brown [Wed, 13 Apr 2005 13:48:26 +0000 (13:48 +0000)]
Stripped references to variables in C code.

17 years agoEISA support now provided by eisa.c
Michael Brown [Wed, 13 Apr 2005 13:06:56 +0000 (13:06 +0000)]
EISA support now provided by eisa.c
MCA support now provided by mca.c

17 years agoExtraced from 3c509.c
Michael Brown [Wed, 13 Apr 2005 12:45:38 +0000 (12:45 +0000)]
Extraced from 3c509.c

17 years agoAdd EISA as a bus type.
Michael Brown [Wed, 13 Apr 2005 12:20:59 +0000 (12:20 +0000)]
Add EISA as a bus type.

17 years agoDon't use htons, for compatibility with PCI :(
Michael Brown [Wed, 13 Apr 2005 12:15:14 +0000 (12:15 +0000)]
Don't use htons, for compatibility with PCI :(

17 years agoUse __bswap_16, since we're not dealing with quantities to go onto the network.
Michael Brown [Wed, 13 Apr 2005 12:11:21 +0000 (12:11 +0000)]
Use __bswap_16, since we're not dealing with quantities to go onto the network.

17 years agohtons was used in ISAPnP code just due to ISAPnP storing bytes in
Michael Brown [Wed, 13 Apr 2005 12:06:33 +0000 (12:06 +0000)]
htons was used in ISAPnP code just due to ISAPnP storing bytes in
reverse order.

17 years agoCreated separate isa_ids.h file and a utility function to print out ISA
Michael Brown [Wed, 13 Apr 2005 12:01:44 +0000 (12:01 +0000)]
Created separate isa_ids.h file and a utility function to print out ISA
IDs in a human-readable format.

17 years agoAdd MCA devices
Michael Brown [Wed, 13 Apr 2005 03:00:50 +0000 (03:00 +0000)]
Add MCA devices

17 years agoMinor fixups
Michael Brown [Wed, 13 Apr 2005 03:00:30 +0000 (03:00 +0000)]
Minor fixups

17 years agoExtracted from 3c509.c
Michael Brown [Wed, 13 Apr 2005 02:59:13 +0000 (02:59 +0000)]
Extracted from 3c509.c

17 years agoWhoops
Michael Brown [Wed, 13 Apr 2005 02:05:43 +0000 (02:05 +0000)]
Whoops

17 years agoFinished by hand
Michael Brown [Wed, 13 Apr 2005 02:02:08 +0000 (02:02 +0000)]
Finished by hand

17 years agoFinished by hand
Michael Brown [Wed, 13 Apr 2005 01:45:20 +0000 (01:45 +0000)]
Finished by hand

17 years agoFinished by hand
Michael Brown [Wed, 13 Apr 2005 01:31:44 +0000 (01:31 +0000)]
Finished by hand

17 years agoFix type of dummy_irq()
Michael Brown [Wed, 13 Apr 2005 01:28:43 +0000 (01:28 +0000)]
Fix type of dummy_irq()

17 years agoFinished by hand
Michael Brown [Wed, 13 Apr 2005 01:01:33 +0000 (01:01 +0000)]
Finished by hand

17 years agoHand-finished
Michael Brown [Wed, 13 Apr 2005 00:21:59 +0000 (00:21 +0000)]
Hand-finished

17 years agoAvoid compiler warnings.
Michael Brown [Wed, 13 Apr 2005 00:19:01 +0000 (00:19 +0000)]
Avoid compiler warnings.

17 years agoUse NIC's connect method.
Michael Brown [Wed, 13 Apr 2005 00:18:35 +0000 (00:18 +0000)]
Use NIC's connect method.

17 years agoAdd mbps and duplex to struct nic, since some drivers (e.g. rtl8139)
Michael Brown [Wed, 13 Apr 2005 00:16:42 +0000 (00:16 +0000)]
Add mbps and duplex to struct nic, since some drivers (e.g. rtl8139)
can fill them in.

17 years agoHand-finished
Michael Brown [Wed, 13 Apr 2005 00:15:45 +0000 (00:15 +0000)]
Hand-finished

17 years agoAutomatically updated using
Michael Brown [Wed, 13 Apr 2005 00:02:40 +0000 (00:02 +0000)]
Automatically updated using

perl -pi -0777 -e 's/^(\s*)dev->disable(\s*)=\s*(\w+)_disable;\s*nic->poll\s*=\s*(\w+);\s*nic->transmit\s*=\s*(\w+);\s*nic->irq\s*=\s*(\w+);/static struct nic_operations ${3}_operations;\nstatic struct nic_operations ${3}_operations = {\n\t.connect\t= dummy_connect,\n\t.poll\t\t= $4,\n\t.transmit\t= $5,\n\t.irq\t\t= $6,\n\t.disable\t= ${3}_disable,\n};${1}nic->nic_op\t= &${3}_operations;/msg' *.c

17 years agoManual tweaks to get all drivers to follow the "disable, poll, transmit,
Michael Brown [Tue, 12 Apr 2005 23:47:52 +0000 (23:47 +0000)]
Manual tweaks to get all drivers to follow the "disable, poll, transmit,
irq" pattern.

17 years agoAutomatically updated using
Michael Brown [Tue, 12 Apr 2005 23:39:16 +0000 (23:39 +0000)]
Automatically updated using

perl -pi -e 's/(_probe\s*\(\s*struct )dev \*.*?(\s*\);)/${1}dev *dev$2/' *.c

perl -pi -e 's/(_disable\s*\(\s*struct )dev \*.*?(\s*\);)/${1}nic *nic$2/' *.c