david/ipxe
david
/
ipxe
Archived
1
0
Fork 0
Commit Graph

4388 Commits

Author SHA1 Message Date
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
Michael Brown b79895c9d6 Use mkconfig.pl to generate fragments from config.h
Don't use -MP to generate phony rules for included files, otherwise
make won't use the pattern rule for config/%.h.  :(
2005-04-17 15:57:34 +00:00
Michael Brown a107996c9a If we end up with fragments that are older than config.h, set the
timestamp on config.h to match the oldest fragment, to prevent make
from always attempting to rebuild the fragments.
2005-04-17 15:56:32 +00:00
Michael Brown 31fdf3da82 All .h files in this directory are generated from the top-level config.h 2005-04-17 15:36:15 +00:00
Michael Brown 04a0de1c92 Generate phony targets, so that we don't get screwed by missing config
header files.
2005-04-17 15:31:06 +00:00
Michael Brown 7b2a0cded1 First version 2005-04-17 15:25:09 +00:00
Michael Brown 8e4c991c24 Experiment; let's see if we can get individual config header files working. 2005-04-17 14:08:40 +00:00
Michael Brown 658fecf7e5 Found a home for MAKEROM_FLAGS_3c503. 2005-04-17 13:25:43 +00:00
Michael Brown 5ee79cf207 3c509/3c529 no longer use legacy INCLUDE_xxx mechanism. 2005-04-17 13:16:13 +00:00
Michael Brown 63e0c8f947 xstart16() fixed up to use new REAL_EXEC mechanism. 2005-04-17 12:36:45 +00:00
Michael Brown 1a6ca649a2 Made copy_{to,from}_real volatile, so that they don't get optimised away.
Added REAL_FRAGMENT(), because it could conceivably be useful.
2005-04-17 12:17:06 +00:00
Michael Brown 8e27e50316 We don't refer to _bss and _ebss any more. 2005-04-17 11:47:18 +00:00
Michael Brown c9d35daffe Re-add the "." progress indicator. 2005-04-17 11:40:24 +00:00
Michael Brown 03346742c0 Use only the header files that we need 2005-04-17 10:51:05 +00:00
Michael Brown a6057b4cbc Need stddef.h to get size_t 2005-04-17 10:48:56 +00:00
Michael Brown f08516791e printf and sprintf now defined in vsprintf.h, drag in console.h to get
putchar() as well.
2005-04-17 10:45:13 +00:00
Michael Brown 664ffea697 Gave vsprintf.c its own header file, and made console.h include it. 2005-04-17 10:44:26 +00:00
Michael Brown 063140864e Automatically drag in console.h if DBG() is being defined as printf(). 2005-04-17 10:25:06 +00:00
Michael Brown ae36de3d80 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.
2005-04-16 23:47:47 +00:00
Michael Brown 9c814cb123 Use the correct case for -Ddebug_<object> 2005-04-16 23:33:52 +00:00
Michael Brown a666eb34b5 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.
2005-04-16 23:28:36 +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 b7c55c3951 Avoid signed/unsigned warnings by explicitly making PCI_{BUS,DEV,FUNC}
all return unsigned quantities.
2005-04-16 17:09:52 +00:00
Michael Brown 66e54f1274 ...this time with the correct syntax. :( 2005-04-16 14:54:11 +00:00
Michael Brown 8c2b42e08e Added activate_isapnp_device() line 2005-04-16 14:53:27 +00:00
Michael Brown 57070797e3 Optimise ISAPNP_READ_PORT_STEP 2005-04-16 14:50:41 +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 25d82dac7a CONFIG_PCI_DIRECT no longer exists 2005-04-16 09:35:42 +00:00
Michael Brown f25383f4c4 Add ISA_PROBE_ADDRS list. 2005-04-16 09:35:17 +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 f04b9cd3ea Leave some time to see what's going on. 2005-04-15 17:06:54 +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 c41e89af41 Fixed debug message 2005-04-15 16:58:08 +00:00
Michael Brown 39cb4d8dbb Fix debug message 2005-04-15 16:56:18 +00:00
Michael Brown 2c2154b169 Now compiles. 2005-04-15 16:52:28 +00:00
Michael Brown d26889cb04 Don't even try to compile until the code is tidied up. 2005-04-15 16:50:36 +00:00
Michael Brown 8c082aa468 This at least compiles now. Haven't separated out the EMBEDDED code yet. 2005-04-15 16:49:46 +00:00
Michael Brown 1bd7b97e5c Not sure why I made these cosmetic changes, but I appear to have done so. 2005-04-15 16:30:35 +00:00
Michael Brown f61fa0dc64 Added "classical" ISA example. 2005-04-15 16:28:14 +00:00
Michael Brown 897eeee4ee Added EISA, ISAPnP and MCA examples. 2005-04-15 16:18:56 +00:00
Michael Brown 38ea910098 Updated to new PCI bus interface. 2005-04-15 16:08:10 +00:00
Michael Brown a26edc2eec Updated to work with new ISAPnP bus code. 2005-04-15 15:50:27 +00:00
Michael Brown e6e43a2f2f We now correctly use logical devices. 2005-04-15 15:37:39 +00:00
Michael Brown 8e375c638d Canonicalised tag names 2005-04-15 15:20:00 +00:00
Michael Brown 05986a848f Move the concept of logical devices inside the struct isapnp_device. 2005-04-15 15:16:03 +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 c7694a5322 Cleaner separation of find_t509_device/fill_t509_device. 2005-04-14 23:20:56 +00:00
Michael Brown f78fd79c16 Moved core/isapnp.c to drivers/bus/isapnp.c 2005-04-14 22:42:57 +00:00
Michael Brown d5e1561fb8 Updated to new ISA API, but this driver probably has deeper problems. 2005-04-14 21:18:36 +00:00
Michael Brown 487574fc02 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!
2005-04-14 20:02:10 +00:00
Michael Brown 8165c14e71 Updated to general ISA bus API. 2005-04-14 19:25:36 +00:00
Michael Brown 773d66e6dc Typo 2005-04-14 19:10:17 +00:00
Michael Brown a80fe976ed Updated to common ISA bus API. 2005-04-14 19:07:53 +00:00
Michael Brown 9eac705dd2 Added a generalised ISA device-probing mechanism. 2005-04-14 18:46:43 +00:00
Michael Brown e5b537fed0 name should be const 2005-04-14 17:52:27 +00:00
Michael Brown cee678de7c Fixed up automatic modifications by hand. 2005-04-14 15:09:28 +00:00
Michael Brown 2c60617836 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
2005-04-14 15:00:05 +00:00
Michael Brown 393969a3f8 Fix up the automatic modifications. 2005-04-14 14:59:04 +00:00
Michael Brown 476dff5bb7 Made amenable to automatic update. 2005-04-14 14:49:32 +00:00
Michael Brown cbd5d4f849 This is the only driver that has a genuine reason to call
find_pci_device() directly.
2005-04-14 14:48:07 +00:00
Michael Brown 963dbefb51 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
2005-04-14 14:44:33 +00:00
Michael Brown 72fe23a76e Updated to new device API. 2005-04-14 14:31:11 +00:00
Michael Brown 2e309f9eec Fix BOOT_DRIVER to assign unique and meaningful name to structure. 2005-04-14 14:30:03 +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 e0a8ee385e Updated to current device API. 2005-04-14 13:49:58 +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 ce8dea0dff Separate out bus-scanning and device-probing logic. 2005-04-14 13:33:03 +00:00
Michael Brown 4c0d5a0b71 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.
2005-04-14 12:23:12 +00:00
Michael Brown 1f26be34b8 Allow for multiple BOOT_DRIVER()s in the same file, provided that they
have different probe functions.
2005-04-14 12:02:19 +00:00
Michael Brown 44c7cc8c12 Standardised debug mechanism in place now. 2005-04-14 11:55:57 +00:00
Michael Brown e44e5c7247 compiler.h is now always included on the command line. 2005-04-14 11:50:26 +00:00
Michael Brown bc85cf756d We need the ISA product ID mask available separately for 3c509.c. 2005-04-14 11:47:30 +00:00
Michael Brown 305daba48a 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.
2005-04-14 11:45:37 +00:00
Michael Brown dcd573afcb Automatically create DBG() macro based on debug_<object> macro. 2005-04-14 11:35:45 +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 0dc98309b2 Stripped references to variables in C code. 2005-04-13 13:48:26 +00:00
Michael Brown e294a1ddce EISA support now provided by eisa.c
MCA support now provided by mca.c
2005-04-13 13:06:56 +00:00
Michael Brown 200b39a645 Extraced from 3c509.c 2005-04-13 12:45:38 +00:00
Michael Brown a4f1a058a4 Add EISA as a bus type. 2005-04-13 12:20:59 +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 ac1c0a753d Add MCA devices 2005-04-13 03:00:50 +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 e27ebad4b2 Whoops 2005-04-13 02:05:43 +00:00
Michael Brown 7cc6366a84 Finished by hand 2005-04-13 02:02:08 +00:00
Michael Brown 951e305081 Finished by hand 2005-04-13 01:45:20 +00:00
Michael Brown f39cc6d978 Finished by hand 2005-04-13 01:31:44 +00:00
Michael Brown f16ac2d87e Fix type of dummy_irq() 2005-04-13 01:28:43 +00:00
Michael Brown 9848135950 Finished by hand 2005-04-13 01:01:33 +00:00
Michael Brown 3616de915e Hand-finished 2005-04-13 00:21:59 +00:00
Michael Brown 6e8878c1fa Avoid compiler warnings. 2005-04-13 00:19:01 +00:00
Michael Brown 266dae4034 Use NIC's connect method. 2005-04-13 00:18:35 +00:00
Michael Brown 17d69d8930 Add mbps and duplex to struct nic, since some drivers (e.g. rtl8139)
can fill them in.
2005-04-13 00:16:42 +00:00
Michael Brown 28590d718b Hand-finished 2005-04-13 00:15:45 +00:00
Michael Brown 91e46ed588 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
2005-04-13 00:02:40 +00:00
Michael Brown d9c64c9422 Manual tweaks to get all drivers to follow the "disable, poll, transmit,
irq" pattern.
2005-04-12 23:47:52 +00:00
Michael Brown 881023e9ca 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
2005-04-12 23:39:16 +00:00
Michael Brown c87ba23399 Automatically updated using
perl -pi -0777 -e 's/_disable\s*\(\s*struct dev \*dev\s*\)\s*{\s*struct nic \*nic.*?$/_disable ( struct nic *nic ) {/ms' *.c

perl -pi -0777 -e 's/_disable\s*\(\s*struct dev \*dev(\s*__unused)?\)\s*{/_disable ( struct nic *nic$1 ) {/ms' *.c
2005-04-12 23:31:37 +00:00
Michael Brown bd9ae7cc70 Automatically updated using
perl -pi -0777 -e 's/_probe\s*\(\s*struct dev \*dev,\s*struct pci_device \*(\w+?)\s*\)\s*{(\s*)struct nic \*nic.*?$/_probe ( struct dev *dev ) {\n${2}struct nic *nic = nic_device ( dev );\n${2}struct pci_device *$1 = pci_device ( dev );/ms' *.c
2005-04-12 23:24:39 +00:00
Michael Brown 35e6f3e58a Minor regexp tweaks to catch degenerate cases. 2005-04-12 23:13:54 +00:00
Michael Brown 4e3e389200 Auto-updated using
perl -pi -0777 -e 's/static struct pci_driver (\w+) __pci_driver = {.*\.name\s*=\s*(\"\S+\").*\.probe\s*=\s*(\w+).*\.ids\s*=\s*(\w+).*\.class\s*=\s*(\w+).*?};/static struct pci_driver $1 =\n\tPCI_DRIVER ( $2, $4, $5 );\n\nBOOT_DRIVER ( $2, $3 );/ms' *.c

perl -pi -e 's/(PCI_DRIVER \(.*, )0 \);/${1}PCI_NO_CLASS );/' *.c
2005-04-12 23:05:00 +00:00
Michael Brown 241fb0f3cd Use dev's print_info method to print standardised information about
the boot device.
2005-04-12 22:44:02 +00:00
Michael Brown 95da907d5f Add print_info method to dev_operations. 2005-04-12 22:43:25 +00:00
Michael Brown c2a21744f6 We now record a pointer to the struct pci_device, since it's carried
around in struct dev anyway.
2005-04-12 22:42:52 +00:00
Michael Brown e1d0cebfa8 Able to at least compile again now. 2005-04-12 19:11:42 +00:00
Michael Brown d9f34bfdfc Add dummy_connect and dummy_irq 2005-04-12 19:11:13 +00:00
Michael Brown 81320fae4b Remove debugging by default 2005-04-12 18:32:20 +00:00
Michael Brown 27a55b514c Updated to new device API. 2005-04-12 18:23:00 +00:00
Michael Brown 1218698e01 Cope with nic.h being included before (or without) dev.h 2005-04-12 18:21:38 +00:00
Michael Brown 122b025293 Include dev.h, since several drivers just include nic.h 2005-04-12 18:15:12 +00:00
Michael Brown 8fa0e38233 Fixed up PCI-scanning code to use new PCI interface. 2005-04-12 18:13:59 +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 eb8f730d63 Use pci_{vendor,device}_id instead of just pci_{vendor,device}, to avoid
conflict with pci_device function.
2005-04-12 17:56:23 +00:00
Michael Brown 5c31682674 Tie into new boot device framework. 2005-04-12 16:54:09 +00:00
Michael Brown 1434e8d68d struct nic is now part of struct dev, rather than the other way around.
Tie into new boot device framework.
2005-04-12 16:52:59 +00:00
Michael Brown 31410b1b5d Needs to be updated to new probe logic. 2005-04-12 16:51:26 +00:00
Michael Brown 236a195257 All code related to the device probe logic is ifdeffed 0 out. 2005-04-12 16:49:59 +00:00
Michael Brown bb293ca5c2 Global struct dev is now in main.c 2005-04-12 16:49:11 +00:00
Michael Brown 6f37dc410a print_drivers() is now unified. 2005-04-12 16:48:45 +00:00
Michael Brown daad093c40 Now obsolete. :) 2005-04-12 16:46:57 +00:00
Michael Brown 0effbefe6f All boot device drivers are now lumped together in boot_drivers 2005-04-12 16:46:15 +00:00
Michael Brown 6343381e25 Matches new pci.c interface. 2005-04-12 16:45:40 +00:00
Michael Brown 5603c879c4 Add INIT_PCIBIOS 2005-04-12 16:45:16 +00:00
Michael Brown 3095881c54 For pci_io.c 2005-04-12 16:44:50 +00:00
Michael Brown 3901d197f7 Replaced main loop with a trivial implementation so that we can try
out the new probing logic.
2005-04-12 16:43:18 +00:00
Michael Brown 17aad49028 16-bit PCI BIOS interface also now known to work. 2005-04-12 16:42:14 +00:00
Michael Brown 45f96a49c7 main.c contains the global struct dev. 2005-04-12 16:39:03 +00:00
Michael Brown 5e807dffe6 Obsoleted by new device probing mechanism. 2005-04-12 16:38:38 +00:00
Michael Brown 17c1ca90e7 New device probing mechanism 2005-04-12 16:38:23 +00:00
Michael Brown 707720c4e5 New PCI scan functions now work. 2005-04-12 16:36:55 +00:00
Michael Brown bbcdf38214 Improved debug messages 2005-04-12 16:27:27 +00:00
Michael Brown ff53205d0d Should work for KEEP_IT_REAL as well now. 2005-04-12 13:35:31 +00:00
Michael Brown 0ccaf5bb83 Nearly there... 2005-04-12 13:31:36 +00:00
Michael Brown 67f122c645 Removed pci_find_device_x; it was too ugly to live. 2005-04-12 12:59:21 +00:00
Michael Brown 121e7386f6 New device probing mechanism written, not tested. 2005-04-11 19:19:35 +00:00
Michael Brown 7172d4abfb Moved functions that we want to keep to drivers/bus/pci.c 2005-04-11 13:45:00 +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
Michael Brown 95f755ad7f Renamed pci.c to pci_legacy.c in preparation for new bus managment
infrastructure.
2005-04-11 13:25:41 +00:00
Michael Brown 63a0e0e2df Removed references to no-longer-existent CFLAGS options. 2005-04-11 10:17:00 +00:00
Michael Brown 5d96e5dad9 Changed guard name to avoid clash with INCLUDE_xxx namespace used by
drivers.
2005-04-11 09:58:31 +00:00
Michael Brown 378c1b500c Cleaner separation of functionality between post_reloc and
initialise_via_librm.
2005-04-11 09:24:10 +00:00
Michael Brown b9237160ad Almost all information in this file is now obsolete. Writing a new driver
should, with the new build system, just be a case of writing the .c file
and dropping it in place in drivers/net.  :)
2005-04-10 23:45:55 +00:00
Michael Brown 34a0b5f16f initialise() doesn't take regs 2005-04-10 18:39:28 +00:00
Michael Brown 87508aa0b2 arch_initialise() is now sufficiently generic that we may as well just
call it initialise() and place it in main.c.  :)
2005-04-10 18:30:34 +00:00
Michael Brown 997b51c1e6 Use librm_arch_initialise for librm, arch_initialise for others. 2005-04-10 18:22:31 +00:00
Michael Brown 560027899e Heading towards a sane set of control functions 2005-04-10 18:21:53 +00:00
Michael Brown 39cb1b4f9e All the icky stuff is now taken care of by librm_arch_initialise 2005-04-10 18:21:27 +00:00
Michael Brown d189b84536 Fix up init ordering.
Make init function table name fixed; it's a static variable anyway.
2005-04-10 18:20:38 +00:00
Michael Brown 3714946709 arch_rm_main no longer exists. 2005-04-10 18:19:59 +00:00
Michael Brown 1937b39079 Drag in relocate unless NORELOCATE is defined, since it's now called
only via the initialisation function table.
2005-04-10 18:19:05 +00:00
Michael Brown f06e8c9707 Added post-relocation function table. 2005-04-10 18:18:37 +00:00
Michael Brown 9abceef561 Removed obsolete initialisation calls. 2005-04-10 18:13:24 +00:00
Michael Brown 070f6c0b6b Fixed debug messages 2005-04-10 16:58:19 +00:00
Michael Brown 43417e6c1b setup16() now calls initialise(); we don't have to do it. 2005-04-10 16:48:04 +00:00
Michael Brown 04682f9838 Setup now calls initialise() directly, rather than expecting the
prefix to do it.
2005-04-10 16:46:46 +00:00
Michael Brown 44e62317be Add librm_base. 2005-04-10 16:44:49 +00:00
Michael Brown dfb9c44994 hooks.o is now a single object, rather than having separate hooks.o and
hooks_rm.o
2005-04-10 16:44:29 +00:00
Michael Brown 04a99841e6 Make prot_call() able to transparently return via the newly installed copy
of librm.
2005-04-10 15:51:10 +00:00
Michael Brown 44eee81d11 Don't build relocate() under KEEP_IT_REAL 2005-04-09 17:05:35 +00:00
Michael Brown 2fa14f2f1d lgdt needs data32 prefix, otherwise it loads only 24 bits. (sgdt
always saves 32 bits).
2005-04-09 16:42:50 +00:00
Michael Brown 6a4ac358f3 Add INIT_FNs to make sure that librm gets reallocated when needed. 2005-04-09 16:42:07 +00:00
Michael Brown e29e6456b0 Don't zero freed base memory; one block will contain librm. 2005-04-09 16:14:37 +00:00
Michael Brown 1f6dfd7047 Allow ourselves to be freed by basemem.c without being damaged. 2005-04-09 16:14:09 +00:00
Michael Brown 97ced37c71 Need to provide sizeof(struct free_base_memory_header) to assembly code. 2005-04-09 16:13:19 +00:00
Michael Brown 90cf689810 Note basemem API change. 2005-04-09 15:56:03 +00:00
Michael Brown ef05051f23 Add INIT_LIBRM before INIT_CONSOLE. 2005-04-09 15:26:38 +00:00
Michael Brown 48feb91a40 Rewritten in a much saner way, now that we don't have to worry about
continually reallocating the real-mode stack.
2005-04-09 15:01:38 +00:00
Michael Brown 0574136c6d Split out from etherboot.h 2005-04-09 15:01:09 +00:00
Michael Brown 8570814148 Removed basemem.c prototypes 2005-04-09 15:00:28 +00:00
Michael Brown fd95189c4d basememsize() updates the BIOS FBMS counter at 40:13. 2005-04-09 14:16:25 +00:00
Michael Brown a800e9657d PM function called by prot_call() should be allowed to modifying
registers returned to RM code.
2005-04-09 13:56:33 +00:00
Michael Brown 29f43896aa Add relocate.h
Note that we can't make real-mode calls immediately after relocate_to().
2005-04-09 13:36:55 +00:00
Michael Brown 9cc90cbb07 First version 2005-04-09 13:32:26 +00:00
Michael Brown c8c7d93757 Relocation code is arch-specific. 2005-04-09 13:28:59 +00:00
Michael Brown 64d3886c1d relocate() is called by arch_initialise(). 2005-04-09 13:23:49 +00:00
Michael Brown 8039086ec8 Added a lot of explanatory comments.
Preserves alignment requested via _max_align parameter to linker.
2005-04-09 13:12:22 +00:00
Michael Brown 19176718be callbacks.h no longer exists 2005-04-09 11:19:14 +00:00
Michael Brown 792f34d228 #ifdef 0 out the UNDI loader routine, since it refers to the obsolete
callback mechanism.
2005-04-09 11:17:29 +00:00
Michael Brown 73dbe41007 Old callbacks mechanism is obsolete. 2005-04-09 11:16:17 +00:00
Michael Brown fedd00dd46 Removed references to old callback mechanism 2005-04-09 11:15:14 +00:00
Michael Brown 9c32083d56 callbacks.h no longer exists. 2005-04-09 11:12:29 +00:00
Michael Brown a3faaf405a Callback mechanism now obsolete 2005-04-09 11:11:34 +00:00
Michael Brown a4920c16bd Moved relocate.c to arch-specific dir, since it involves arch-specific
logic (e.g. avoiding memory regions with A20=0).
2005-04-09 10:49:26 +00:00
Michael Brown 0ff80b477d Merged mcb30-realmode-redesign back to HEAD 2005-04-08 15:01:17 +00:00
Michael Brown de5d935135 Merged this file into HEAD 2005-03-24 13:54:46 +00:00
Michael Brown afff2b50f1 Obsolete; not referenced by anything. 2005-03-09 14:16:01 +00:00
Michael Brown 8bb1866f24 lzhuf is obsolete and no longer used 2005-03-09 14:14:01 +00:00
Michael Brown 168973a5d7 Obsolete; not reference by anything. 2005-03-09 14:11:45 +00:00
Michael Brown 6d4d056202 Obsolete; not referenced by anything. 2005-03-09 14:09:29 +00:00
Michael Brown 0ff846a503 unhuf.S is obsolete and no longer used 2005-03-09 14:07:23 +00:00
Michael Brown 10d9f9cec8 Obsolete and no longer used 2005-03-09 14:05:32 +00:00
Michael Brown 8bd447ad1b Add rule to generate 16-bit version of decompressor 2005-03-09 14:04:04 +00:00
Michael Brown 7700b8059c Remove CODE16 as a global define; most files define it themselves
anyway, and I want to be able to use it as a compile-time option for
the i386 decompressor.
2005-03-09 14:02:20 +00:00
Michael Brown 3d6123e69a Initial revision 2005-03-08 18:53:11 +00:00