无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3669|回复: 3
打印 上一主题 下一主题

[求助] 请问grub4dos可以读取CPU核心数(或者线程数)吗?

[复制链接]
跳转到指定楼层
1#
发表于 2017-12-12 11:19:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
2#
发表于 2017-12-12 12:50:13 | 只看该作者
自己写几句汇编代码搞定吧。你需要研究一些相关指令。参考一下 Intel 的说明书。

grub4dos 启动后,已经保存了 cpuid 的一些结果到内存某个固定地址处。你看看源代码就知道了。我不知道你要的结果是否已经在里面了。如果没有的话,你可以帮助改进一下。或者你自己写个 grub4dos 的应用程序,只管自己用就行。
回复

使用道具 举报

3#
发表于 2017-12-12 13:22:01 | 只看该作者
本帖最后由 pseudo 于 2017-12-12 13:23 编辑

不知道现在g4d在这方面有什么增强。

我曾经写了个外部命令CPUID,判断CPU是否有多核,用法大致是:

#以文件CPUID位于ud根目录为例
(ud)/CPUID || echo -n
checkrange 2:15 read 0x60000 && echo 多核
checkrange 2:15 read 0x60000 || echo 非多核

上述非多核含罕见的多CPU但每个CPU单核情形。不过一般多CPU情形,每个CPU会是多核的。
CPUID在0PE的0PENB.LZMA里带有。

点评

如果可能的话,你可以帮助改进一下 grub4dos。 目前 grub4dos 将 cpu 信息保存在内存地址 3M 之上的某个区域。如果你增强的话,可以保存在相同的区域(或靠近的地址处)。 改进之后的好处是,你不必把 cpuid  详情 回复 发表于 2017-12-12 19:42
回复

使用道具 举报

4#
发表于 2017-12-12 19:42:58 | 只看该作者
pseudo 发表于 2017-12-12 13:22
不知道现在g4d在这方面有什么增强。

我曾经写了个外部命令CPUID,判断CPU是否有多核,用法大致是:

如果可能的话,你可以帮助改进一下 grub4dos。

目前 grub4dos 将 cpu 信息保存在内存地址 3M 之上的某个区域。如果你增强的话,可以保存在相同的区域(或靠近的地址处)。

改进之后的好处是,你不必把 cpuid 信息保存在 0x60000 处了。此处是公共区域,别的软件也可能占用这个区域,因此容易发生 “共用区域” 的冲突。

也就是说,你提交补丁,改进之后,就更方便、更安全了。
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-2 14:42

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表