问题标签 [powerpc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
4257 浏览

embedded - 如何禁用 PowerPC 处理器上的处理器缓存?

在我们的嵌入式系统(使用 PowerPC 处理器)中,我们想要禁用处理器缓存。我们需要采取哪些步骤?

为了澄清一点,所讨论的应用程序必须具有尽可能恒定的执行速度。执行相同代码路径的可变性是不可接受的。这就是关闭缓存的原因。

0 投票
1 回答
247 浏览

linux - PowerPC Linux 上的 D(和 Tango)

使用 Google 很难搜索 D,所以我无法找到一个好的答案:

我有一台旧的 iBook G3,我想在上面安装 Linux 并用它来编译(和测试)使用 Tango 编写的 D 程序。这可能吗?还是没有人尝试过?仍然 GDC+Tango 的 Mac 端口也部分损坏。

0 投票
6 回答
3958 浏览

macos - PPC 断点

如何在 PPC 上实现断点(具体来说,在 OS X 上)?

例如,在 x86 上,它通常使用 INT 3 指令 (0xCC) 完成——对于 ppc 是否有与此相当的指令?还是有其他方式设置/实现它们?

0 投票
8 回答
4154 浏览

c - 仅使用恒定移位来模拟可变位移?

我试图找到一种方法来执行间接左/右移位操作,而无需实际使用变量移位操作或任何分支。

我正在研究的特定 PowerPC 处理器有一个按常数立即移位的怪癖,比如

是快速的、单操作的和超标量的,而一个移位变量,比如

是一个微编码操作,需要 7-11 个周期才能执行,而管道的整个其余部分都停止了

我想做的是找出将sraw解码到哪个非微编码整数 PPC 操作,然后单独发出它们。这对自身的延迟没有帮助sraw——它将用六个操作替换一个操作——但在这六个操作之间,我可以将一些工作双分派给其他执行单元并获得净收益。

我似乎在任何地方都找不到 μops sraw 解码到的任何地方——有谁知道我如何用一系列常量移位和基本整数运算替换变量移位?(for 循环或 switch 或任何带有分支的东西都不起作用,因为分支惩罚甚至比微码惩罚更大,即使对于正确预测的分支也是如此。)

这不需要在汇编中回答;我希望学习算法而不是特定代码,因此 C 或高级语言甚至伪代码的答案将非常有帮助。

编辑:我应该添加一些澄清:

  1. 我什至一点都不担心便携性
  2. PPC 有条件移动,所以我们可以假设存在一个无分支的内在函数

    (如果你写出一个做同样事情的三元组,我会明白你的意思)

  3. 整数乘法也是微编码的,甚至比sraw. :-(
  4. 在 Xenon PPC 上,预测分支的延迟为 8 个周期,因此即使是一个也使其与微编码指令一样昂贵。跳转到指针(任何间接分支或函数指针)是有保证的错误预测,24 个周期的停顿。
0 投票
4 回答
3961 浏览

iphone - 如何在 PowerPC Mac 上为 iPhone 正确开发?

我正在 PowerPC Mac 上进行 iPhone 开发。如何让代码签名正常工作,以便我可以构建到我的 iPhone?

iPhone SDK 官方并不支持PowerPC,不过稍微折腾一下就可以安装了。见这里。我已经在 Xcode 中安装并运行良好的 SDK,并且 iPhone 模拟器运行良好。

但是,我无法在 Xcode 中构建到我的 iPhone —— 代码签名是 fubar。一些聪明的人在这里创造了变通方法。也就是说,我使用了 Tiku 发布的代码设计脚本以及一些更正。这帮助我取得了一些进展。代码现在可以编译,但在尝试部署时我仍然收到 0xE800003A 错误。

我认为我的所有密钥和配置文件都已正确设置。我的 iPhone 已注册开发,我已经创建了配置文件。开发门户中列出的 AppID 显示为 MagicNumber.com.website.*,在我的项目中,我将 Bundle ID 设置为 com.website.${PRODUCT_NAME:identifier}。在项目设置中,产品名称为HelloWord,代码签名身份为我的开发者证书。

iPhone 的控制台日志显示: Wed Feb 18 14:57:55 unknown afcd[180] : user mobile has uid 501

2 月 18 日星期三 14:57:55 未知 afcd[180]:模式为 0x41e8 2 月 18 日星期三 14:57:55 未知 mobile_installation_proxy[182]:install_embedded_profile:跳过嵌入配置文件的安装 2 月 18 日星期三 14:57:55 未知 mobile_installation_proxy [182]:verify_executable:无法验证签名:e800800e 2 月 18 日星期三 14:57:55 未知 mobile_installation_proxy[182]:preflight_application_install:无法验证 /var/tmp/install_staging.QNk2sD/HelloWorld.app/HelloWorld 2 月 18 日星期三: 57:55 未知 mobile_installation_proxy[182]:install_application:无法预检应用程序安装 2 月 18 日星期三 14:57:55 未知 mobile_installation_proxy[182]:handle_install:安装失败

任何帮助表示赞赏!

0 投票
1 回答
1851 浏览

gcc - 使用 YDL 6.1 和 Cell SDK 3.1 的 PS3 上的 math.h 未定义对“sqrt”的引用?

我有一个安装了 YDL 6.1 和 SDK 3.1 的 PS3,一切似乎都运行良好,因为我可以编译和运行示例。但是,我在编写自己的程序时遇到了一些问题。我创建了一个小测试用例,似乎可以查明失败的原因。我有以下代码:

当我然后跑

我收到以下错误

我已经检查以确保这个系统上存在 math.h 并且它确实定义了 sqrt。我也已经尝试过运行这个:

但它会导致同样的错误。我很困惑,有人有什么想法吗?

0 投票
2 回答
9871 浏览

linux - 糟糕:坏区域的内核访问,sig:11 - 'swapper' - 终止中断处理程序

在嵌入式 linux 环境中(PowerPC 上的自定义 2.4.25)我在几个小时后得到以下内核恐慌:

猫 /proc/模块:

ksyms -m:

我搜索了帮助,但我找不到有用的东西。A 还想“解码”回溯,但我不明白如何......地址与 System.map 中的地址不对应。谁能解释我如何找出错误?

谢谢,克里斯

0 投票
1 回答
1043 浏览

macos - 在 MacOSX/PPC 上,有关如何在 0x0000000000000000 处捕获 KERN_PROTECTION_FAILURE 的建议

这是一个实时 MMO 客户端,在某个随机点它会崩溃并跳转到 0,并且堆栈帧不可读。崩溃报告器(和 GDB)将报告线程 0 崩溃:

我怎样才能发现这个错误发生在哪里?

0 投票
2 回答
570 浏览

macos - 程序如何同时支持 i386 和 ppc?

我想知道如何为 /bin 的程序支持 i386 和 ppc 架构。

例如我跑

我明白了

程序如何在源代码中支持 i386 和 ppc?

换句话说,如果您删除对 ppc 架构的支持,您可以删除哪些组件,例如 /bin/amber 中的哪些组件?

0 投票
4 回答
912 浏览

c++ - 用于奇怪目标平台的 C++ 代码覆盖工具

任何人都知道可在以下条件下使用的 c++ 代码覆盖工具:

  1. 目标平台是Nintendo WII dev.kit 内的PowerPC CPU ,它运行定制的嵌入式操作系统。与 PC 交换数据的唯一方法是使用自定义专有 API(抱歉我的 NDA)。

  2. 编译器不是微软,不是 GCC,甚至不是命令行。也就是说,它是 Metrowerks IDE(当然是在 Windows 上运行)。

提前致谢!