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

324 Commits

Author SHA1 Message Date
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