Subversion Repositories HelenOS-historic

Rev

Rev 99 | Rev 501 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 99 Rev 139
Line 27... Line 27...
27
 */
27
 */
28
 
28
 
29
#ifndef __ia32_MEMMAP_H__
29
#ifndef __ia32_MEMMAP_H__
30
#define __ia32_MEMMAP_H__
30
#define __ia32_MEMMAP_H__
31
 
31
 
-
 
32
 
32
/* E820h memory range types - other values*/
33
#include <arch/boot/memmapasm.h>
33
#define MEMMAP_MEMORY_AVAILABLE 1
34
#include <arch/types.h>
-
 
35
 
34
    /* Not available for OS */
36
struct e820memmap_ {
35
#define MEMMAP_MEMORY_RESERVED  2 
-
 
36
    /* OS may use it after reading ACPI table */
-
 
37
#define MEMMAP_MEMORY_ACPI  3 
37
    __u64 base_address;
38
    /* Unusable, required to be saved and restored across an NVS sleep */
-
 
39
#define MEMMAP_MEMORY_NVS   4 
38
    __u64 size;
40
    /* Corrupted memory */
39
    __u32 type;
41
#define MEMMAP_MEMORY_UNUSABLE  5 
40
    } __attribute__ ((packed));
42
 
41
 
43
     /* size of one entry */
-
 
44
#define MEMMAP_E820_RECORD_SIZE 20 
42
extern struct e820memmap_ e820table[MEMMAP_E820_MAX_RECORDS];
-
 
43
 
45
    /* maximum entries */
44
extern __u8 e820counter;
-
 
45
 
46
#define MEMMAP_E820_MAX_RECORDS 32 
46
extern __u32 e801memorysize; // size of memory in KB
-
 
47
 
47
#endif
48
#endif