ARM Ubuntu:如何在特权模式下运行代码?

时间:2012-11-17 22:44:45

标签: ubuntu arm elevated-privileges

我有一台运行Ubuntu的ARM三星Chromebook(chrUbuntu 12.04)。

在ARM'特权'状态下运行某些代码的最简单方法是什么?我不是在寻找sudo,我正在寻找Supervisor,IRQ,FIQ等的ARM处理器模式。我可以探测/修改协处理器寄存器。

很容易进入私有模式:只需进行SVC调用。问题是,将一些我自己的代码插入操作系统的最简单方法是什么,以便在某个SVC调用时调用它?

我不是一个Linux黑客。大多数情况下,我正在寻找关于最简单的一般方向的一般指针(重建内核?抓住一些驱动程序源并挂钩一个修改过的驱动程序?一些简单的命令行选项来运行一些priv?),然后我会从那里开始。 / p>


如果我的上述方法毫无意义并且有更简单的方法,我的总体目标是:

  • 编写一些低级程序集例程
  • 了解它们如何使用Cortex-A15核心的各种硬件配置

提前致谢,

2 个答案:

答案 0 :(得分:1)

在不允许用户登陆的情况下访问协处理器寄存器的最简单方法是在内核启动序列中运行一些初始化代码,如board-init或编写内核模块以执行您想要的操作。见answer。如果有兴趣,也可以question

答案 1 :(得分:1)

对于您问题的第二个版本: 对我来说听起来像你想要的工具,而不是试图实现自己的性能测量:https://perf.wiki.kernel.org/index.php/Tutorial

另一种方法是实现可加载的内核模块。如果您创建模块,作为驱动程序或通过/ proc或/ sys访问的内容,该模块将以Supervisor模式执行。