Michael Brown
8b20e5d2b7
[pcbios] Sanity-check the INT15,e820 and INT15,e801 memory maps
...
Some systems seem to report insane memory maps (particularly at POST
time). Detect and work around some of the common failure cases.
2008-09-23 23:35:19 +01:00
Michael Brown
0fd1e54026
[memmap] Allow for 4GB+ systems in debug message
...
INT 15,e801 is capable of returning a memory range that extends to
4GB, so allow for this in the debug message that shows the data
returned by INT 15,e801.
2008-09-23 00:58:12 +01:00
Michael Brown
18aa0e79d2
[pcbios] Add extra debugging messages relating to the system memory map
2008-09-07 21:38:41 +01:00
Michael Brown
4fbbf651d7
[i386] Change semantics of __from_data16 and __from_text16
...
__from_data16 and __from_text16 now take a pointer to a
.data16/.text16 variable, and return the real-mode offset within the
appropriate segment. This matches the use case for every occurrence
of these macros, and prevents potential future bugs such as that fixed
in commit d51d80f . (The bug arose essentially because "&pointer" is
still syntactically valid.)
2008-06-30 18:52:13 -07:00
Michael Brown
a7eee64506
Added more verbose memory-map debugging.
...
Added redundant call to get_memmap() in int13_boot() immediately
before jumping to boot sector, to assist in debugging.
2007-09-21 18:33:17 +01:00
Michael Brown
6d2e4e719c
Move uninitialised .data16 variables to .bss16; saves around 2000
...
bytes of useless zeroes in the final image.
2007-07-16 13:22:12 +01:00
Michael Brown
b9f99858ab
Make the getmemsize() prototype available in memsizes.h, for code that
...
doesn't want to go to the hassle of processing a full memory map.
2007-01-14 15:32:25 +00:00
Michael Brown
c980cdd0aa
Move memmap.h out of arch/i386; it no longer contains anything
...
architecture-dependent and is needed by the ELF code.
2007-01-11 14:08:44 +00:00
Michael Brown
88e38fa148
We don't actually have a stdio.h header file. Our printf() functions are
...
defined in vsprintf.h. (This may change, since vsprintf.h is a
non-standard name, but for now it's the one to use.)
There should be no need to include vsprintf.h just for DBG() statements,
since include/compiler.h forces it in for a debug build anyway.
2006-09-27 10:58:14 +00:00
Marty Connor
6ac78f6aff
added stdio.h to includes for DBG compilation
2006-09-27 05:57:06 +00:00
Michael Brown
e4f8d6eed7
Add a "count" field to struct memory_map.
2006-05-25 00:00:30 +00:00
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.
2006-05-24 14:41:27 +00:00
Michael Brown
04d6005d77
Update to REAL_CODE()
2006-05-24 12:45:50 +00:00
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.
2006-05-24 12:19:16 +00:00
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.
2006-05-24 01:37:46 +00:00