免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4644 | 回复: 12
打印 上一主题 下一主题

能否在 menuconfig 中修改 内核代码中 宏的定义? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-06 15:27 |只看该作者 |倒序浏览
想完成这样一件事情:

   如在内核中,sched.h中定义了一些宏,我想修改其中一些看看效果。
   我现在的方法就是直接在sched.h中修改这些宏,然后编译整个内核。比方说,
   将:
   #define MYTEST 10
   改为:
  #define MYTEST 90


   那么我可不可以在menuconfig增加一个选项来做这件事情呢?
   如果可以的话,请问怎么做呢?

论坛徽章:
0
2 [报告]
发表于 2011-08-06 15:42 |只看该作者
类似这样可否?
config X86_32
  10         def_bool !64BIT
  11         select CLKSRC_I8253
  12
  13 config X86_64
  14         def_bool 64BIT
  15
  16 ### Arch settings
  17 config X86
  18         def_bool y
  19         select HAVE_AOUT if X86_32
  20         select HAVE_UNSTABLE_SCHED_CLOCK
  21         select HAVE_IDE
  22         select HAVE_OPROFILE
  23         select HAVE_PCSPKR_PLATFORM
  24         select HAVE_PERF_EVENTS
  25         select HAVE_IRQ_WORK
  26         select HAVE_IOREMAP_PROT
  27         select HAVE_KPROBES

论坛徽章:
0
3 [报告]
发表于 2011-08-06 15:44 |只看该作者
或者:?
config DEFAULT_MMAP_MIN_ADDR
241         int "Low address space to protect from user allocation"
242         depends on MMU
243         default 4096
244         help
245           This is the portion of low virtual memory which should be protected
246           from userspace allocation.  Keeping a user from writing to low pages
247           can help reduce the impact of kernel NULL pointer bugs.
248
249           For most ia64, ppc64 and x86 users with lots of address space
250           a value of 65536 is reasonable and should cause no problems.
251           On arm and other archs it should not be higher than 32768.
252           Programs which use vm86 functionality or have some need to map
253           this low address space will need CAP_SYS_RAWIO or disable this
254           protection by setting the value to 0.
255
256           This value can be changed after boot using the
257           /proc/sys/vm/mmap_min_addr tunable.

论坛徽章:
22
丑牛
日期:2014-08-15 14:32:0015-16赛季CBA联赛之同曦
日期:2017-12-14 15:28:14黑曼巴
日期:2017-08-10 08:14:342017金鸡报晓
日期:2017-02-08 10:39:42黑曼巴
日期:2016-11-15 15:48:38CU十四周年纪念徽章
日期:2016-11-09 13:19:1015-16赛季CBA联赛之同曦
日期:2016-04-08 18:00:03平安夜徽章
日期:2015-12-26 00:06:30程序设计版块每日发帖之星
日期:2015-12-03 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-09 06:20:002015亚冠之吉达阿赫利
日期:2015-07-03 08:39:42
4 [报告]
发表于 2011-08-06 15:49 |只看该作者
如果你在sched.h中,已经定义再从makefile里传进去哪岂不是重复定义了。。
如果你把代码改成
#ifdef XX
   #define MYTEST 10
#else
  #define MYTEST 90
#end
可以通过make -DXX 实现你的效果

论坛徽章:
0
5 [报告]
发表于 2011-08-06 15:51 |只看该作者
如果你在sched.h中,已经定义再从makefile里传进去哪岂不是重复定义了。。
如果你把代码改成
#ifdef XX
...
amarant 发表于 2011-08-06 15:49



    make sense

论坛徽章:
22
丑牛
日期:2014-08-15 14:32:0015-16赛季CBA联赛之同曦
日期:2017-12-14 15:28:14黑曼巴
日期:2017-08-10 08:14:342017金鸡报晓
日期:2017-02-08 10:39:42黑曼巴
日期:2016-11-15 15:48:38CU十四周年纪念徽章
日期:2016-11-09 13:19:1015-16赛季CBA联赛之同曦
日期:2016-04-08 18:00:03平安夜徽章
日期:2015-12-26 00:06:30程序设计版块每日发帖之星
日期:2015-12-03 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-09 06:20:002015亚冠之吉达阿赫利
日期:2015-07-03 08:39:42
6 [报告]
发表于 2011-08-06 15:55 |只看该作者
要在menuconfig里增加改一下kconfig就行了~ 但是你还是必须要在代码里写:
#ifdef CONFIG_XX
   #define MYTEST 10
#else
  #define MYTEST 90
#end

这样就显得更复杂一点了。。

论坛徽章:
0
7 [报告]
发表于 2011-08-06 16:04 |只看该作者
要在menuconfig里增加改一下kconfig就行了~ 但是你还是必须要在代码里写:
#ifdef CONFIG_XX
   #define ...
amarant 发表于 2011-08-06 15:55



谢谢几位的热情回答! bow

我想这个回帖应该是我要的答案。
本来我直接修改 .h 文件已经满足了我的要求。
但是外方的同事称这样不好,回封邮件叫我在menuconfig里增加几个选项,然后将补丁commit上去。
这我就不懂了,因此请教各位

我先这样操作,如果下周他们还不满意,再来请教大家

论坛徽章:
0
8 [报告]
发表于 2011-08-06 16:07 |只看该作者
本帖最后由 lostiger 于 2011-08-06 16:09 编辑
类似这样可否?
config X86_32
  10         def_bool !64BIT
  11         select C ...
lengyuex 发表于 2011-08-06 15:42



请问这是从Kconfig里摘抄出来的嘛?

论坛徽章:
0
9 [报告]
发表于 2011-08-06 16:17 |只看该作者
请问这是从Kconfig里摘抄出来的嘛?
lostiger 发表于 2011-08-06 16:07



    对,Kconfig里面配置CPU和MM的

论坛徽章:
0
10 [报告]
发表于 2011-08-08 19:38 |只看该作者
对,Kconfig里面配置CPU和MM的
lengyuex 发表于 2011-08-06 16:17



    请问这是哪个目录下的 Kconfig文件?

Thanks
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP