今天看linux得源代码有这样一段,不甚明白
是linux/arch/i386/head.S -- the 32-bit startup code.
*
里面得一段,大概是全局描述符得定义
ENTRY(gdt_table)
.quad 0x0000000000000000 /* NULL descriptor */
.quad 0x0000000000000000 /* not used */
.quad 0x00cf9a000000ffff /* 0x10 kernel 4GB code at 0x00000000 */
.quad 0x00cf92000000ffff /* 0x18 kernel 4GB data at 0x00000000 */
.quad 0x00cffa000000ffff /* 0x23 user 4GB code at 0x00000000 */
.quad 0x00cff2000000ffff /* 0x2b user 4GB data at 0x00000000 */
.quad 0x0000000000000000 /* not used */
.quad 0x0000000000000000 /* not used */
/*
* The APM segments have byte granularity and their bases
* and limits are set at run time.
*/
不知道ENTRY(gdt_table) 是什么语法啊??
|
这是汇编的语法,大致相当于分配了一段内存,或者理解为数组
int_64 gdt_table[] = {0x0000000000000000,
0x0000000000000000,
0x00cf9a000000ffff,
....
};