当前位置:  技术问答>linux和unix

2.6.30内核下init_tss和tss_struct的问题

    来源: 互联网  发布时间:2016-07-15

    本文导语:  看过很多书上讲init_tss里面放了当前进程的tss。可include 之后为何编译时还说init_tss undeclared? 另外,tss->esp0也报错,说struct tss_struct里没有esp0的域,后来改成tss->x86_tss.sp0后编译通过,这是什么情况? 内核版本2.6.30 ...

看过很多书上讲init_tss里面放了当前进程的tss。可include 之后为何编译时还说init_tss undeclared?

另外,tss->esp0也报错,说struct tss_struct里没有esp0的域,后来改成tss->x86_tss.sp0后编译通过,这是什么情况?

内核版本2.6.30

谢谢!

|
一个cpu对应一个tss,有几个 cpu,init_tss里面就有几个tss

|
http://lkml.indiana.edu/hypermail/linux/kernel/0712.2/0771.html

Although slighly different, the tss_struct is very similar in x86_64 and
i386. The really different part, which matchs the hardware vision of it, is
now called x86_hw_tss, and each of the architectures provides yours.
It's then used as a field in the outter tss_struct.

所以把tss里x86_64和i386两种架构硬件相关的tss部分封装成了x86_hw_tss,就是tss->x86_tss.

另外,在2.6.25的时候,内核做了一次比较大的merge,同时把esp0改名为sp0了。
参考:http://kerneltrap.org/Linux/x86_Architecture_Merges_in_2.6.25
应该在use generic register name *****这堆改动里面。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux内核中影响tcp三次握手的一些协议配置
  • Fedora Core 2自带的内核升级程序下载下来内核后,要不要再编译一遍内核?
  • TCP协议四次断连过程介绍及Linux内核协议栈中相关设置项
  • 进程内核栈和操作系统内核栈的关系
  • CentOS 6内核升级:下载编译启用新内核版本详细过程
  • Linux中内核线程不访问内核态地址空间?
  • Linux进程的内核栈和用户栈概念,相互关系及切换过程
  • 2.6内核下编译2.4内核
  • linux内核中的likely宏和unlikely宏介绍及用法
  • 谁能提供kgdb内核补丁内核模块的下载
  • CentOS 6.5 下载地址及如何升级内核(kernel)版本到 3.10.28
  • 编译新内核后怎么进入原来内核
  • Linux下c/c++开发之程序崩溃(Segment fault)时内核转储文件(core dump)生成设置方法
  • Web服务器/前端 iis7站长之家
  • docker使用的技术之Container内核原理介绍
  • 内核模块跟内核版本不匹配????????
  • 请教:如何安装新内核(rpm包)而不同原来得内核冲突?? 在线等待!!
  • linux为什么要升级内核?升级内核有何作用?
  • 内核升级后,如何在新的内核中加载显卡驱动?
  • 内核源码和结果make过的内核源码有什么区别
  • 不重新编译内核能修改内核函数吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3