Commit Graph

362 Commits (a1f50f27b0d4e38567a9d1fe4f196df8c1fa4b99)

Author SHA1 Message Date
Michael Brown c1253d2219 Much, much smaller. :) 2005-04-28 13:20:02 +00:00
Michael Brown 6791aeb024 First version: far too large (408 bytes!!!) 2005-04-28 12:12:11 +00:00
Michael Brown 282b6f1a1a isa.c uses the new table infrastructure. 2005-04-27 12:24:38 +00:00
Michael Brown f37e0a06d7 dev.c uses the new tables infrastructure. 2005-04-27 12:20:54 +00:00
Michael Brown c08671e5fc Missing include 2005-04-27 12:17:09 +00:00
Michael Brown b9e72856b6 Post-relocation functions use the generic table mechanism. 2005-04-27 12:10:24 +00:00
Michael Brown d2d4978f4f Use PREFIX_OBJECT to give the init_fn table variables meaningful names. 2005-04-27 12:08:52 +00:00
Michael Brown c8fc121890 Special handling for symbols of the form "xxx_end", to make table end
markers appear before the symbols that immediately follow the table.
2005-04-27 12:08:13 +00:00
Michael Brown 1ddcdb0524 Added PREFIX_OBJECT() function to be able to easily prepend any string
to the object name in order to generate e.g. per-file variables.
2005-04-27 11:59:37 +00:00
Michael Brown 3e5bf5fb06 console.c uses the generic table mechanism 2005-04-27 11:38:43 +00:00
Michael Brown 69f09ebdd8 Linker no longer provides start and end symbols for each table; these
markers are now static labels within the objects that refer to them.
2005-04-27 11:27:38 +00:00
Michael Brown 241f426a85 Use new generic tables infrastructure 2005-04-27 11:25:21 +00:00
Michael Brown b9c9cee8a3 Added a generalised table infrastructure, so that we don't have to
keep adding new tables to each architecture's linker scripts.
2005-04-27 11:22:46 +00:00
Michael Brown 81e4755106 Produce a sorted list of all local symbols in the map file. 2005-04-27 10:55:12 +00:00
Michael Brown d6930e6e40 Use symbol size as a third index, mainly so that zero-length symbols
(e.g. section start indicators) show up before the symbols they're
indicating the start of.
2005-04-27 10:54:33 +00:00
Michael Brown ac01cf4997 First version 2005-04-27 10:40:59 +00:00
Michael Brown fda36a0c1a Added back in the actual call to load(). 2005-04-26 17:12:07 +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 3a7967a38a PCI_DRIVER changed 2005-04-26 12:20:05 +00:00
Michael Brown 7e534b585f Automatically updated with
perl -pi -0777 -e 's/^static struct \w+_driver (\w+) =\s*(\w+_DRIVER \()/${2} ${1},/msg' *.c
2005-04-26 12:19:39 +00:00
Michael Brown fcee25024f BIOS floppy handling code moved to where it will really live. 2005-04-25 19:29:55 +00:00
Michael Brown 10b7b1a61f Added arch/i386/drivers/disk 2005-04-25 19:29:02 +00:00
Michael Brown f5dde85e16 Improved debug messages 2005-04-25 19:28:49 +00:00
Michael Brown 8cd0693396 s/{name,describe}/{name,describe}_device/ 2005-04-25 19:27:53 +00:00
Michael Brown 3b14360f5c Renamed describe to describe_device for consistency 2005-04-25 19:27:25 +00:00
Michael Brown 99b857559b Added "name" field to struct bus_driver 2005-04-25 19:26:33 +00:00
Michael Brown d281996ef8 Added DBG2 2005-04-25 19:25:45 +00:00
Michael Brown 5bace628ae Added "name" field to bus structure. 2005-04-25 18:54:15 +00:00
Michael Brown f972f256e6 Allow for multiple debug levels 2005-04-25 16:28:07 +00:00
Michael Brown 698f86f25a Prevent hundreds of errors from "make symcheck". The prefix exit path
mechanism has changed anyway, and so must be rewritten, but at least doing
this makes the output of "make symcheck" more legible.
2005-04-23 14:57:53 +00:00
Michael Brown d94cb57143 Fixed to properly catch multiply defined symbols. 2005-04-23 14:54:30 +00:00
Michael Brown 9dc7ebc152 Symbol errors caught by symcheck.pl 2005-04-23 14:45:37 +00:00
Michael Brown 2da3b7a38f Added "make symcheck" 2005-04-23 14:41:38 +00:00
Michael Brown 4e5f10790b First working version 2005-04-23 14:41:15 +00:00
Michael Brown e59607bcb1 Should be an <= comparison, not a < comparison.
(Detected using "make symcheck" :)
2005-04-23 14:34:00 +00:00
Michael Brown dbea213c27 Coerced into compiling. 2005-04-22 16:40:10 +00:00
Michael Brown db0e056abd Make it easier to comment out individual SRC directories when things
are broken...  :)
2005-04-22 16:36:44 +00:00
Michael Brown e8f364551a Typo 2005-04-22 16:32:29 +00:00
Michael Brown 08ff0c1d30 Ensured that all drivers call xxx_fill_nic(). 2005-04-22 16:31:52 +00:00
Michael Brown e7c177cc33 Coerced into compiling 2005-04-22 16:27:56 +00:00
Michael Brown 628444af86 Updated to new device probing API 2005-04-22 16:24:21 +00:00
Michael Brown 49fe02e501 Coerced into compiling 2005-04-22 16:09:54 +00:00
Michael Brown ee88aacdb6 Coerced into compiling. 2005-04-22 16:07:48 +00:00
Michael Brown fba7f011d2 Coerced into actually compiling. 2005-04-22 16:06:46 +00:00
Michael Brown 67c9385577 Fields in struct pci_device slightly changed. 2005-04-22 16:05:05 +00:00
Michael Brown 84f43ea9cf isapnp_read_port can be set directly, rather than via a function call. 2005-04-22 16:03:25 +00:00
Michael Brown b18e419a81 Updated debug messages 2005-04-22 16:02:12 +00:00
Michael Brown 7bd88df08d Documented where to get hold of the datasheet. 2005-04-22 16:01:51 +00:00
Michael Brown 091a579be1 Updated to new API. 2005-04-22 16:00:51 +00:00
Michael Brown db3a44b66d Debug message fixes. 2005-04-22 15:56:57 +00:00
Michael Brown 139d0fe481 Updated to new bus API, and improved using the 3c5x9 reference manual. 2005-04-22 15:55:13 +00:00
Michael Brown 441ee4f8f3 Need to leave structure zeroed 2005-04-22 15:33:35 +00:00
Michael Brown 8af80c6b10 disable() is a void 2005-04-22 12:07:22 +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 e596c42ade Updated to current API. 2005-04-22 11:57:35 +00:00
Michael Brown 329ccfdc21 Updated to new API. 2005-04-22 11:56:49 +00:00
Michael Brown 1e156f537b Consistency 2005-04-22 11:56:27 +00:00
Michael Brown 0e2dc7aa8e Updated to new device API. 2005-04-22 11:29:40 +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 4e3ebba8e6 Revert debug message prefix back to none, since we sometimes want to use
DBG() several times to build up a line.
2005-04-22 02:27:59 +00:00
Michael Brown 614c39a8a4 Automatically updated with the program
#!/usr/bin/perl -w -pi -0777

use strict;

( my $type ) = /find_(\w+?)_boot_device/ or die "Could not find type\n";

( my $disable ) = /\.disable\s*=\s*(\w+)/ or die "Could not locate disable\n";

s/(${disable}\s*\(\s*struct\s+nic\s+\*nic)(\s*\)\s*\{)(\s*)/${1}, struct ${type}_device \*${type} __unused${2}${3}nic_disable ( nic );${3}/s;

s/(${disable}\s*\(\s*struct\s+nic\s+\*nic)(\s*\)\s*;)/${1}, struct ${type}_device \*${type}${2}/g;

s/^\s*.disable\s*=\s*${disable}\s*,\s*?$//m;

s/(_probe\s*\(\s*)struct\s+dev\s+\*dev/${1}struct nic \*nic/g;

s/^\s*struct\s+nic\s+\*nic\s*=\s*nic_device\s*\(\s*dev\s*\)\s*;\s*?$//m;

s/^(\s*)(nic->(ioaddr|irqno)\s*=\s*${type})/${1}${type}_fill_nic ( nic, ${type} );\n${1}${2}/m;
2005-04-21 19:20:39 +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 a713813596 Updated to current API 2005-04-21 18:31:31 +00:00
Michael Brown 8153a0fa7e Made macros more like the previous driver API, to minimise required
changes.
2005-04-21 18:30:12 +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 905ca1f21d Force a standard format upon debug messages. 2005-04-21 18:16:54 +00:00
Michael Brown c0239ebb03 Typo 2005-04-21 18:15:31 +00:00
Michael Brown 928c388c6f bswap_16() exists; no need to use __bswap_16() 2005-04-21 16:38:28 +00:00
Michael Brown a95b458660 Trying to create a bus API. 2005-04-20 00:29:12 +00:00
Michael Brown e74bbaeca0 First versions 2005-04-19 14:17:42 +00:00
Michael Brown 2c7d72e11e Moved floppy.c to i386 arch, since it's i386-specific. 2005-04-18 18:56:18 +00:00
Michael Brown e3bb65c17f Added remaining bus functions. 2005-04-18 18:54:27 +00:00
Michael Brown 7af89ccf33 Code fixed to operate correctly. 2005-04-18 15:48:20 +00:00
Michael Brown 400fd74897 Extracted from firmware/pcbios/bios.c 2005-04-18 15:39:02 +00:00
Michael Brown d3ce66a301 Added arch/i386/drivers/bus 2005-04-18 15:37:17 +00:00
Michael Brown c245ab75ad Moved disk functions to drivers/bus/bios_disks.c 2005-04-18 15:35:39 +00:00
Michael Brown 641596e6ba blib definition moved to Makefile.housekeeping. 2005-04-18 14:40:57 +00:00
Michael Brown e02c699a05 Fix endianness of dhcp device id structure. 2005-04-18 14:38:51 +00:00
Michael Brown 5abc43a320 "make bin/xxx DEBUG=yyy,zzz" now works seemingly perfectly. :) 2005-04-18 14:16:13 +00:00
Michael Brown 1cdb68d116 "make xxx DEBUG=yyy,zzz" now working, but the "up to date" message is
getting suppressed.  :(
2005-04-18 13:55:57 +00:00
Michael Brown a245c93417 Be nice to emacs 2005-04-18 12:59:50 +00:00
Michael Brown 9f5aca032c Ignore buildserial-related files. 2005-04-18 12:55:45 +00:00
Michael Brown 435fa2003b Note to self: save files before checking in. 2005-04-18 12:54:27 +00:00
Michael Brown 451ea7ffc5 Added warning about not using Config for single-object options. 2005-04-18 12:53:39 +00:00
Michael Brown ffe77e0683 This is, of course, the neater and much more obvious way to do it. 2005-04-18 12:45:31 +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 3c55caf24c Moved console options to config.h
Removed CONFIG_{PCI,ISA,PCMCIA}, since buses are now always compiled and
linked in only if required by the individual driver objects.
2005-04-18 10:19:36 +00:00
Michael Brown a0c5430749 CONFIG_PCI and CONFIG_ISA no longer exist 2005-04-18 10:18:38 +00:00
Michael Brown 2c36f5e6c7 Save a few bytes by using naturally-sized ints. 2005-04-18 09:17:27 +00:00
Michael Brown bd2c3b0f27 Split out EISA driver into a separate file, since 3c509s can only take 16K
ROMs (AFAIK).
2005-04-17 17:52:33 +00:00
Michael Brown 6e4888400c Avoid deleting .cvsignore 2005-04-17 16:24:36 +00:00
Michael Brown 1acea7d21f Serial port configuration moved to config.h 2005-04-17 16:18:20 +00:00
Michael Brown de965fde64 Whoops 2005-04-17 16:16:02 +00:00
Michael Brown 64e1df4af6 Allow serial port options to be specified in a relatively friendly format. 2005-04-17 16:15:46 +00:00
Michael Brown 6ca5e85a3b Working format. 2005-04-17 16:01:13 +00:00
Michael Brown b5ee3763c6 Add MKCONFIG utility, and add "-I ." to CFLAGS so that we can work
with generated headers.
2005-04-17 15:58:39 +00:00