|
|
- #ifndef __KERN_MM_MEMLAYOUT_H__
- #define __KERN_MM_MEMLAYOUT_H__
-
- /* This file contains the definitions for memory management in our OS. */
-
- /* global segment number */
- #define SEG_KTEXT 1
- #define SEG_KDATA 2
- #define SEG_UTEXT 3
- #define SEG_UDATA 4
- #define SEG_TSS 5
-
- /* global descriptor numbers */
- #define GD_KTEXT ((SEG_KTEXT) << 3) // kernel text
- #define GD_KDATA ((SEG_KDATA) << 3) // kernel data
- #define GD_UTEXT ((SEG_UTEXT) << 3) // user text
- #define GD_UDATA ((SEG_UDATA) << 3) // user data
- #define GD_TSS ((SEG_TSS) << 3) // task segment selector
-
- #define DPL_KERNEL (0)
- #define DPL_USER (3)
-
- #define KERNEL_CS ((GD_KTEXT) | DPL_KERNEL)
- #define KERNEL_DS ((GD_KDATA) | DPL_KERNEL)
- #define USER_CS ((GD_UTEXT) | DPL_USER)
- #define USER_DS ((GD_UDATA) | DPL_USER)
-
- #endif /* !__KERN_MM_MEMLAYOUT_H__ */
-
|