e820.h

来自「一个用于学习的操作系统」· C头文件 代码 · 共 43 行

H
43
字号
/* * structures and definitions for the int 15, ax=e820 memory map * scheme. * * In a nutshell, arch/i386/boot/setup.S populates a scratch table * in the empty_zero_block that contains a list of usable address/size * duples.   In arch/i386/kernel/setup.c, this information is * transferred into the e820map, and in arch/i386/mm/init.c, that * new information is used to mark pages reserved or not. * */#ifndef __E820_HEADER#define __E820_HEADER#define E820MAP    0x2d0        /* our map */#define E820MAX    128        /* number of entries in E820MAP */#define E820NR    0x1e8        /* # entries in E820MAP */#define E820_RAM    1#define E820_RESERVED    2#define E820_ACPI    3 /* usable as RAM once ACPI tables have been read */#define E820_NVS    4#define HIGH_MEMORY    (1024*1024)#ifndef __ASSEMBLY__struct e820entry {    unsigned long long addr;    /* start of memory segment */    unsigned long long size;    /* size of memory segment */    unsigned long type;            /* type of memory segment */} __attribute__((packed));struct e820map {    int nr_map;    struct e820entry map[E820MAX];}__attribute__((packed));extern struct e820map e820;#endif/*!__ASSEMBLY__*/#endif/*__E820_HEADER*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?