社区
Linux_Kernel
帖子详情
内核代码中的: int reboot(int flag) 这个函数在哪里?
ZhangYv
2004-11-11 06:53:21
我需要知道包含在
/usr/include/sys/reboot.h文件中的
extern int reboot (int __howto) __THROW
这个函数的实现在那哪个C程序文件中?内核代码是2.4.20版本。
能否帮我找找?很急的。写过
...全文
394
11
打赏
收藏
内核代码中的: int reboot(int flag) 这个函数在哪里?
我需要知道包含在 /usr/include/sys/reboot.h文件中的 extern int reboot (int __howto) __THROW 这个函数的实现在那哪个C程序文件中?内核代码是2.4.20版本。 能否帮我找找?很急的。写过
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
aria
2004-11-18
打赏
举报
回复
就是在redhat 9下编译2.4.27的内核然后安装,重启系统后再reboot,此时可以看到终端上有打印加入的调试信息。reboot的方法是直接用reboot命令。
ZhangYv
2004-11-17
打赏
举报
回复
我在用户态调用了reboot(), 在machine_restart()-->machine_real_restart()加了调试信息,但是这两个函数根本没有执行,这是怎么回事???
ZhangYv
2004-11-17
打赏
举报
回复
不会吧?我测试了半天都不行。楼上你是怎么测试得?
aria
2004-11-17
打赏
举报
回复
手头没有2.4.20的内核,用redhat 9 + 2.4.27内核在x86上测试的结果是machine_restart()有调用,测试方法是在arch/i386/kernel/process.c中machine_restart()的开始加了一句打印和延时。是否你加的调试信息位置不对?
aria
2004-11-14
打赏
举报
回复
不是很明白,如果是在用户态调用reboot(),x86体系最终是会调用到内核中的sys_reboot()-->machine_restart()-->machine_real_restart(),只要修改相应位置应就可以了吧
ZhangYv
2004-11-12
打赏
举报
回复
我不明白,我现在需要得是reboot的源代码,并且我要修改它。这和syscall有什么关系?具体的说:
reboot的最后一步是跳到ljmp 0xffff, 0x0000的BIOS处重新开始自检,我现在要让它ljmp 0x0000, 0x7c00处,并且在跳转之前,我需要做一些预处理(比如验证权限和加载)的事情。syscall可以实现么?
zhouqingyuan
2004-11-11
打赏
举报
回复
我是来帮你顶的!!!
Wolf0403
2004-11-11
打赏
举报
回复
所以你需要的就是直接用 syscall 而不是用 reboot
ZhangYv
2004-11-11
打赏
举报
回复
不是啊,我在程序里直接调用
reboot(0x1234567); //让系统重启
但是reboot函数不能满足我当前的需要,所有我要进行修改,所以要直接找到reboot的实现然后修改代码。
Wolf0403
2004-11-11
打赏
举报
回复
syscall(sys_reboot, ...)
ZhangYv
2004-11-11
打赏
举报
回复
就是调用时候就是reboot(magic),让系统重启,我需要修改这个函数,但是没地方找在哪里,应该不在process.c中。希望高人出手帮助。
Linux
内核
编程经验实践
在《Linux
内核
编程经验实践》这篇文章
中
,作者分享了自己在Linux
内核
开发方面的经验和心得,并着重介绍了如何编译
内核
以及如何添加自定义系统调用等内容。本文将深入解析文
中
的关键知识点,帮助读者更好地理解Linux...
uboott移植实验手册及技术文档
nand_init()
函数
在两个文件
中
实现。其调用与 CFG_NAND_LEGACY 宏有 关,如果没有定义这个宏,系统调用 drivers/nand/nand.c
中
的 nand_init();否则调用自己在 本文件
中
的 nand_init()
函数
,本例使用后者。fs2410.c...
linux
中
reboot
函数
在哪,
reboot
()
函数
Unix/Linux
reboot
-重新启动或启用/禁用按Ctrl-Alt-Del键内容简介For libc4 and libc5 the library call and the system call are identical, and since kernel version 2.1.30 there are symbolic names LINUX_
REBOOT
_* for ...
linux
reboot
/复位
函数
int
reboot
(
int
f
lag
); ------------------------------------ 1 #include 2 #include 3
int
main() 4 { 5 /* 同步磁盘数据,将缓存数据回写到硬盘,以防数据丢失 */ 6 sync(); 7 return
跟踪分析Linux
内核
5.0系统调用
reboot
处理过程分析
学号 088 实验要求 编译
内核
5.0 ...选择系统调用号后两位与您的学号后两位相同的系统调用进行跟踪分析 ...qemu:运行
内核
代码
的模拟器 gdb:断点调试工具 编译
内核
5.0 1.下载
内核
5.0压缩包,配置编...
Linux_Kernel
4,465
社区成员
17,462
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章