Michael Brown
2138db36ca
Add "addr32" required explicitly by older gas.
18 anos atrás
Michael Brown
476d02051f
Windows Server 2003 sulks if we feed it an empty region in base memory
as a result of our memory map editing, so strip out any empty regions.
18 anos atrás
Michael Brown
d82f71efd0
Also hide base memory region from E820 map.
18 anos atrás
Michael Brown
f939ff7cb5
Fix printf format warning error
18 anos atrás
Michael Brown
3bd3c13c7b
Why should pushal/popal put the registers on the stack in a logical
order?
18 anos atrás
Michael Brown
dd75965057
Typo.
18 anos atrás
Michael Brown
e4f8d6eed7
Add a "count" field to struct memory_map.
18 anos atrás
Michael Brown
986f6ffff1
Define a struct memory_map with a fixed number of entries, rather than
requiring each caller to decide how many entries it wants to permit.
18 anos atrás
Michael Brown
8110f9b082
Updated to REAL_CODE()
18 anos atrás
Michael Brown
e8550035af
Updated to REAL_CODE()
18 anos atrás
Michael Brown
c4d688c005
Updated to REAL_CODE().
18 anos atrás
Michael Brown
04d6005d77
Update to REAL_CODE()
18 anos atrás
Michael Brown
53935e9dc6
Set carry flag before calling INT 15,e801 and INT 15,e820.
Ignore carry flag for INT 15,88; the Ralf Brown interrupt list says
that CF is unreliable for this call.
18 anos atrás
Michael Brown
77a65075a6
Replaced memsizes.c with smaller memmap.c, taking advantage of __data16,
and creating a memory map that's easier to work with than the E820 map.
18 anos atrás
Michael Brown
5e80847827
Code to install the new E820 mangler (which doesn't require copying
down to base memory, since it is now in the base-memory-resident
.text16 section).
18 anos atrás
Michael Brown
5ec2b2c251
Cope with regions bigger than 4GB.
We now split e820 regions around ourselves, rather than just
truncating the e820 region. This avoids the worst-case scenario of
losing all memory over 4GB.
It's more important to get the memory map right now that we're
expecting to still be loaded when the OS starts in several situations
(e.g. Linux with UNDI driver, any OS with iSCSI/AoE boot, etc.).
18 anos atrás
Michael Brown
d822b3d4cd
Define BIOS data segment in bios.h
18 anos atrás
Michael Brown
352bf1bda2
Move init.h to gpxe/init.h.
18 anos atrás
Michael Brown
832e86246b
gcc is rather over-aggressive about optimising out static data structures
even when __atribute__ (( unused )) is correctly set...
18 anos atrás
Michael Brown
7b423c0988
Fixes for gcc >= 3.2 from Georg Baum
19 anos atrás
Michael Brown
c245ab75ad
Moved disk functions to drivers/bus/bios_disks.c
19 anos atrás
Michael Brown
2c36f5e6c7
Save a few bytes by using naturally-sized ints.
19 anos atrás
Michael Brown
44c7cc8c12
Standardised debug mechanism in place now.
19 anos atrás
Michael Brown
e44e5c7247
compiler.h is now always included on the command line.
19 anos atrás
Michael Brown
070f6c0b6b
Fixed debug messages
19 anos atrás
Michael Brown
e29e6456b0
Don't zero freed base memory; one block will contain librm.
19 anos atrás
Michael Brown
48feb91a40
Rewritten in a much saner way, now that we don't have to worry about
continually reallocating the real-mode stack.
19 anos atrás
Michael Brown
fd95189c4d
basememsize() updates the BIOS FBMS counter at 40:13.
19 anos atrás
Michael Brown
0ff80b477d
Merged mcb30-realmode-redesign back to HEAD
19 anos atrás
Michael Brown
3d6123e69a
Initial revision
19 anos atrás