linux内核学习
paulinehuihui
这个作者很懒,什么都没留下…
展开
-
gcc调用规范备忘
1.输入参数: 从右往左入栈,不足32位的数据类型按32位入栈2.返回值:--浮点数存入FPU寄存器栈的栈顶--32位或不足32位的返回值存入eax-- 64位返回值存入edx:eax-- 超过64位的返回值由调用者在堆栈中预留空间,并且把预留空间的地址压入堆栈 堆栈顺序如下(从上往下表示地址从高到低) 输入参数2 ...2009-06-21 22:38:40 · 120 阅读 · 0 评论 -
linux内核中__PAGE_OFFSET的问题
[size=large]arch/i386/boot/setup.S中自定的临时GDT表数据段和代码段的基地址都是从0开始的,因此看到内核中i386/kernel/head.S中有些地址需要减去__PAGE_OFFSET(3G),有些不理解,google一下才发现内核链接时的虚拟地址是在arch/i386/kernel/vmlinux.lds.S中指定的,从_PAGE_OFFSET+0x10000...2009-07-01 17:14:29 · 1738 阅读 · 1 评论 -
使用ld script实现boot sector备忘
用于对齐的最后一个2字节 0xaa55所在的段必须加上“a”属性目前还不知道原因。SECTIONS{ . = 0; .text .... .data { *(.data) } . = 510; .bsflag { ... } 这段必须有属性 "a" }...2009-07-17 03:51:11 · 112 阅读 · 0 评论