Spring Cloud大型企业分布式微服务云构建的B2B2C電子商务平台源码请加企鹅求求:一零三八七七四六二六
Spring Cloud大型企业分布式微服务云构建的B2B2C電子商务平台源码请加企鹅求求:一零三八七七四六二六
现在把esp、GDT等内容放进内核中我們现在可以用C语言了,只要能用C我们就避免用汇编。
下面看切换堆栈和GDT的关键代码:
最后这4个语句完成了切换堆栈和更换GDT的任务StackTop定义茬.bss段中,堆栈大小为2KB
函数首先把位于Loader中的原GDT全部复制给新的GDT,然后把gdt_ptr中的内容换成新的GDT的基地址和界限SGDT——保存全局描述符,gdt_ptr[2]的值本身就是个地址所以前面带上(void*)表示是个指针。memcpy之所以用void*是因为需要一个字节一个字节复制。