- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有大量可在 PowerPC 上运行的源代码。我需要将它移植到 ARM。但是,ARM 在未对齐的内存访问上生成硬件异常。所以,我想找到所有可能发生未对齐内存访问异常的实例。我考虑了以下选项。
我的问题是,
最佳答案
这取决于您的 POWERPC 处理器。像 POWER8 这样的高端服务器处理器几乎不会产生对齐异常。也就是说,通常有一个 HID SPR 位可以使对齐异常更频繁地发生。无论哪种方式,在 Linux 下,内核都会处理它们并且用户不会看到它,除了性能损失之外。您可以设置 prctl(PR_UNALIGN_SIGBUS),这将使内核生成 SIGBUS,而不是处理它们。
在带有 perf 事件的 linux 中,您可以使用 alignment-faults 事件。例如“perf stat -e alignment-faults testcase”。此外,如果您打开 CONFIG_PPC_EMULATED_STATS,您将获得一个名为“emulated_instructions”的 debugfs 条目,其中包含未对齐访问的条目。
关于c - 在 PowerPC 中生成未对齐的内存访问异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25785392/
我需要在裸机 PowerPC 系统上编写程序。作为没有操作系统/ bootstrap 的裸机编程的新手,我决定编写一个 hello world 程序来开始。我在谷歌上搜索了一些关于这个的帖子,并发现了
我听说过很多有关 Altivec 寄存器的信息,但我什至在 POWER9 ISA 上都没有找到它。 。在该文档中,我只在第 6 章“矢量设施”和第 7 章“矢量标量浮点运算”下找到 VR 和 VSR
我无法在 PowerPC 440EP 上运行 node.js,我只收到错误“非法指令”。 硬件信息: cat /proc/cpuinfo processor : 0 cpu
如何从内存转储中反汇编一些指令?我只有原始转储,objdump 只理解对象格式。 我的处理器是 PowerPC 440(PowerPC Book E 架构)。 最佳答案 事实上,objdump 可以很
我有兴趣为我自己的学习目的开发一个 PowerPC 模拟器。我已经找到了大量有关 PowerPC 程序集编程的资源,但是经过一段时间的查找,我还没有在任何地方找到指令/操作码映射表。当然,我需要操作码
我有一个问题,我被要求声明一个结构数组,其中有一个结构,如下所示: typedef struct { int a; int b; int c; }blah; int main() { blah
我这里有一个 MPC5668G。我想从引导加载程序中的 asm 代码跳转到独立生成的主程序的主例程。因此,我使用一些编译指示和链接器将 main 方法(无论它链接到哪里)的地址放到内部闪存的末尾。那将
我正在为 C 程序编写一个汇编宏,并且对此很陌生,我陷入了一些困境。我正在尝试编写一个宏,用于将数据从通用寄存器移动到专用寄存器。 我的问题是,我发现将数据从 GPR 移动到 SPR 的语法采用恒定的
所以,我一直在为 Xbox 的简单逆向项目学习 PowerPC,但我总是在这样的事情上纠结。 lwz r11, 0(r29) # Loads 0x34 from 0x10710
交叉编译 Maliit 框架源代码时面临问题。 inputcontextdbusaddress.cpp: In member function 'virtual void Maliit::InputC
我有一个使用 Mysql 5.6 作为数据库的 Web 应用程序。该应用程序在 x64 系统中运行速度很快。但我们必须为客户端在 PowerPC 64 位机器上安装此应用程序。问题是应用程序在 x64
我有一个运行软处理器 (PowerPC) 的 Xilinx FPGA。我最近为 PowerPC 交叉编译了 Boost 库并想测试它。因此,我使用了其中一个示例程序并尝试针对我的目标对其进行交叉编译。
我对编码和构建应用程序还比较陌生,我想通过软件包为 PowerPC Linux 做出贡献。因此,我尝试将应用程序和工具移植到平台上,然后将它们打包到平台上,并尝试将它们打包到不同的发行版上,例如 ub
我们正在为 PowerPC 604 用嵌入式 C 编写实时软件. 接下来是我的两位同事之间的对话。我很难理解他们在说什么。 员工 1: In the PPC architecture, must in
我下载了MySQL-5.5.34的源码,按照说明编译。然后在/usr/local/mysql/bin 文件夹中我做了 ./mysqld_safe --user=root &mysql 服务器立即启动并
我还没有找到任何资源来准确回答我在我正在使用的软件中看到的问题,所以我会问这里的天才! 首先,我在 PowerPC 处理器上运行 VxWorks。 在尝试调试一个单独的问题时,我尝试在中断处理例程中抛
我有大量可在 PowerPC 上运行的源代码。我需要将它移植到 ARM。但是,ARM 在未对齐的内存访问上生成硬件异常。所以,我想找到所有可能发生未对齐内存访问异常的实例。我考虑了以下选项。 在 gc
我正在尝试打印 float 。尽管可变参数函数不适用于 float ,因此它们被提升为 double 。我可以通过将其转换为 double 来设法消除警告。在某些 powerpc 架构上打印结果时,如
我想在汇编代码中创建一个 ifdef 条件,类似于 C 中的预处理器。 例如: ifdef UNIT_TEST b somewhere else b somewhere else 我使用的是 e200
我有以下来自 PowerPc 内核源代码的代码片段 #define SPRN_IVOR32 0x210 /* Interrupt Vector Offset Register 32 */
我是一名优秀的程序员,十分优秀!