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
fcdab6299c
Missed a reference to heap.h.
2006-05-16 15:01:26 +00:00
Michael Brown
568cad0ddc
(Redoing check-in lost by SourceForge's failure.)
2006-05-13 11:30:03 +00:00
Michael Brown
9fcded3d23
Towards a(nother) new real-mode infrastructure, in which we take
...
advantage of the fact that we have to have a permanently-resident block
in base memory.
2006-05-02 15:41:21 +00:00
Michael Brown
8f62b39c03
Move stack out to separate object, so that having a stack doesn't drag in
...
setup.S.
2006-05-02 14:57:48 +00:00
Michael Brown
352bf1bda2
Move init.h to gpxe/init.h.
2006-04-30 01:08:52 +00:00
Michael Brown
832e86246b
gcc is rather over-aggressive about optimising out static data structures
...
even when __atribute__ (( unused )) is correctly set...
2006-04-24 18:31:37 +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
7e0a7a2e08
Merge from Etherboot 5.4
2006-03-16 18:30:54 +00:00
Michael Brown
9b18017296
Merge from Etherboot 5.4
2006-03-16 18:15:48 +00:00
Michael Brown
079b5d5527
Moved pxe_loader.c to pxe_image.c to avoid name clash
2005-05-23 23:05:45 +00:00
Michael Brown
d3dec7c331
Update to cope with changes in registers.h
2005-05-20 11:23:51 +00:00
Michael Brown
4e87543c74
Synced across updates from Etherboot 5.4 tree
2005-05-19 16:47:19 +00:00
Michael Brown
205a7ad5e0
Moved NBI support to nbi.c, modified to work with new load mechanism
2005-05-17 13:42:20 +00:00
Michael Brown
9a413cfea1
Moved os_regs into start32.S
2005-05-17 13:37:01 +00:00
Michael Brown
a76b9c3f19
Added debug messages
2005-05-17 13:36:12 +00:00
Michael Brown
301b2d40f0
Use the heap functions to allocate a load buffer.
2005-05-13 13:30:51 +00:00
Michael Brown
9fc97f8513
First version
2005-05-09 18:02:22 +00:00
Michael Brown
b9e72856b6
Post-relocation functions use the generic table mechanism.
2005-04-27 12:10:24 +00:00
Michael Brown
63e0c8f947
xstart16() fixed up to use new REAL_EXEC mechanism.
2005-04-17 12:36:45 +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
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
44c7cc8c12
Standardised debug mechanism in place now.
2005-04-14 11:55:57 +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
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
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
39cb1b4f9e
All the icky stuff is now taken care of by librm_arch_initialise
2005-04-10 18:21:27 +00:00
Michael Brown
f06e8c9707
Added post-relocation function table.
2005-04-10 18:18:37 +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
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
44eee81d11
Don't build relocate() under KEEP_IT_REAL
2005-04-09 17:05:35 +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
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
73dbe41007
Old callbacks mechanism is obsolete.
2005-04-09 11:16:17 +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
3d6123e69a
Initial revision
2005-03-08 18:53:11 +00:00