Knowledge (XXG)

Memory map

Source 📝

373: 304:
How used: The operating system shall allocate an SMAP buffer in memory (20 bytes buffer). Then set registers as specified in "Input" table. On first call, EBX should be set to 0. Next step is to call INT 0x15. If no error, the interrupt call returns with CF clear and the buffer filled with data
145:
BIOSses dated August 23, 1994 or later. The caller sets AX to 0xE801 then executes int 0x15. If some error has happened, the routine returns with CF (Carry Flag) set to 1. If no error, the routine returns with CF clear and the state of registers is described as following:
305:
representing first region of the memory map. EBX is updated by BIOS so that when the OS calls the routine again, The next region is returned in the buffer. BIOS sets EBX to zero if all done.
79:
about memory layout. It contains the information regarding the size of total memory, any reserved regions and may also provide other details specific to the architecture.
414: 105:
programs, a memory map refers to the mapping between loaded executable(or)library files and memory regions. These memory maps are used to resolve
133:
provides a set of routines that can be used by operating system or applications to get the memory layout. Some of the available routines are:
98:, which store the mapping between a certain process's virtual memory layout and how that space relates to physical memory addresses. 438: 407: 58: 76: 433: 400: 87: 126: 141:
This BIOS interrupt call is used to get the memory size for 64MB+ configurations. It is supported by
142: 319: 31: 130: 95: 54: 384: 380: 110: 73: 38: 353: 339: 106: 83: 427: 45:
is a structure of data (which usually resides in memory itself) that indicates how
49:
is laid out. The term "memory map" has different meanings in different contexts.
61:. The associative memory stores both the address and content of the memory word. 46: 163:
Extended memory between 1M and 16M, in KB. (Maximum value: 0x3C00 = 15360KB).
91: 17: 372: 340:"INT 15 - Phoenix BIOS v4.0 - GET MEMORY SIZE FOR >64M CONFIGURATIONS" 102: 69: 65: 314: 122: 194:
BIOS Function: INT 0x15, AX=0xE820 - GET SYSTEM MEMORY MAP:
68:
of some computers, a memory map may be passed on from the
223:
Continuation value or 0x0 to start at beginning of map.
388: 276:
Base address of memory map region referred to by EBX.
247:segment:offset location of the buffer for result. 354:"INT 15 - newer BIOSes - GET SYSTEM MEMORY MAP" 408: 8: 415: 401: 187:Count of configured 64K blocks above 16M. 255: 200: 148: 331: 231:Size of buffer for result (20 bytes). 7: 369: 367: 179:Configured memory 1M to 16M, in KB. 53:It is the fastest and most flexible 137:BIOS Function: INT 0x15, AX=0xE801: 387:. You can help Knowledge (XXG) by 25: 371: 171:Count of 64K blocks above 16M. 239:0x534D4150 (ASCII for 'SMAP') 1: 455: 366: 320:RAMMap by Mark Russinovich 57:organization that uses an 29: 90:, a memory map refers to 30:Not to be confused with 298:Type of address range. 253:SMAP buffer structure: 88:memory management units 439:Computer science stubs 127:IBM Personal Computer 113:) to actual symbols. 86:implementations and 265:Value description 207:Value description 155:Value description 118:PC BIOS memory map 96:hardware registers 59:associative memory 32:Memory-mapped file 396: 395: 302: 301: 287:Length in bytes. 251: 250: 191: 190: 111:function pointers 16:(Redirected from 446: 417: 410: 403: 381:computer science 375: 368: 358: 357: 350: 344: 343: 336: 256: 201: 149: 107:memory addresses 74:operating system 39:computer science 21: 454: 453: 449: 448: 447: 445: 444: 443: 434:Computer memory 424: 423: 422: 421: 364: 362: 361: 352: 351: 347: 338: 337: 333: 328: 311: 295:DWORD (4 bytes) 284:QWORD (8 bytes) 273:QWORD (8 bytes) 120: 72:to instruct an 35: 28: 23: 22: 15: 12: 11: 5: 452: 450: 442: 441: 436: 426: 425: 420: 419: 412: 405: 397: 394: 393: 376: 360: 359: 345: 330: 329: 327: 324: 323: 322: 317: 310: 307: 300: 299: 296: 293: 289: 288: 285: 282: 278: 277: 274: 271: 267: 266: 263: 260: 249: 248: 245: 241: 240: 237: 233: 232: 229: 225: 224: 221: 217: 216: 213: 209: 208: 205: 189: 188: 185: 181: 180: 177: 173: 172: 169: 165: 164: 161: 157: 156: 153: 119: 116: 115: 114: 99: 84:virtual memory 80: 62: 27:Data structure 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 451: 440: 437: 435: 432: 431: 429: 418: 413: 411: 406: 404: 399: 398: 392: 390: 386: 383:article is a 382: 377: 374: 370: 365: 355: 349: 346: 341: 335: 332: 325: 321: 318: 316: 313: 312: 308: 306: 297: 294: 291: 290: 286: 283: 280: 279: 275: 272: 269: 268: 264: 261: 258: 257: 254: 246: 243: 242: 238: 235: 234: 230: 227: 226: 222: 219: 218: 214: 211: 210: 206: 203: 202: 199: 196: 195: 186: 183: 182: 178: 175: 174: 170: 167: 166: 162: 159: 158: 154: 151: 150: 147: 144: 139: 138: 134: 132: 128: 124: 117: 112: 108: 104: 100: 97: 93: 89: 85: 81: 78: 75: 71: 67: 63: 60: 56: 52: 51: 50: 48: 44: 40: 33: 19: 18:Memory mapped 389:expanding it 378: 363: 348: 334: 303: 252: 197: 193: 192: 140: 136: 135: 121: 66:boot process 42: 36: 215:0x0000E820 131:compatibles 92:page tables 428:Categories 326:References 101:In native 43:memory map 109:(such as 309:See also 204:Register 152:Register 125:for the 103:debugger 70:firmware 198:Input: 64:In the 259:Offset 77:kernel 47:memory 379:This 244:ES:DI 55:cache 385:stub 315:BIOS 262:Size 129:and 123:BIOS 41:, a 236:EDX 228:ECX 220:EBX 212:EAX 184:EDX 176:ECX 168:EBX 160:EAX 143:AMI 94:or 82:In 37:In 430:: 292:16 416:e 409:t 402:v 391:. 356:. 342:. 281:8 270:0 34:. 20:)

Index

Memory mapped
Memory-mapped file
computer science
memory
cache
associative memory
boot process
firmware
operating system
kernel
virtual memory
memory management units
page tables
hardware registers
debugger
memory addresses
function pointers
BIOS
IBM Personal Computer
compatibles
AMI
BIOS
RAMMap by Mark Russinovich
"INT 15 - Phoenix BIOS v4.0 - GET MEMORY SIZE FOR >64M CONFIGURATIONS"
"INT 15 - newer BIOSes - GET SYSTEM MEMORY MAP"
Stub icon
computer science
stub
expanding it
v

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.