标签: fuchsia

在 Google Fuchsia 中可以使用哪些编程语言进行开发?

可以使用哪些编程语言来开发Google Fuchsia应用程序?

fuchsia

6
推荐指数
2
解决办法
569
查看次数

内核中 MMU 上下文中的 PMM 竞技场是什么(锆石/紫红色)

我想了解 Zircon 的(Fuchsia OS 内核)如何在 ARM64 中分配页面,所以我找到了 mmu.cpp https://fuchsia.googlesource.com/fuchsia/+/4277d3203daa0fc5e4dd1625cf96891dd9882f44/zircon/zircon/ .cc#328

但它只是:

  if (likely(!test_page_alloc_func_)) {
    status = pmm_alloc_page(0, &page, paddrp);
  }
Run Code Online (Sandbox Code Playgroud)

从哪里来pmm_alloc_pagehttps : //fuchsia.googlesource.com/fuchsia/+/4277d3203daa0fc5e4dd1625cf96891dd9882f44/zircon/kernel/vm/pmm.cc#61

此处定义的 pmm 节点:https : //fuchsia.googlesource.com/fuchsia/+/4277d3203daa0fc5e4dd1625cf96891dd9882f44/zircon/kernel/vm/pmm_node.h说:

// per numa node collection of pmm arenas and worker threads
class PmmNode {
Run Code Online (Sandbox Code Playgroud)

我在谷歌和 Fuchsia 文档中都找不到 PMM 区域是什么。有人可以向我澄清这些概念吗?

我想了解在 Zircon 内核上的 ARM64 中如何处理 MMU

kernel mmu fuchsia

6
推荐指数
1
解决办法
72
查看次数

ARM 中 TPIDR_EL0/TPIDR_EL1 等线程 ID 寄存器的用途是什么?

根据ARM 文档,线程 ID 寄存器类似于TPIDR_EL0TPIDR_EL1

提供存储软件线程和进程 ID 的位置,以用于操作系统管理目的。这些寄存器对处理器行为没有影响。

为什么有人想要将线程 ID 存储在特殊寄存器中?ARM 处理器是否要求线程在内存中拥有特殊的结构,就像 MMU 一样?线程对于 ARM 来说是特殊的东西吗?ARM 期望在某个地方找到它吗?或者我可以在不使用这个寄存器的情况下(有效地)实现线程吗?

我这么问是因为我在 Fuchsia OS 的 Zircon 内核上找到了这段代码:

static inline void arch_set_current_thread(Thread* t) {
  __arm_wsr64("tpidr_el1", (uint64_t)&t->arch_.thread_pointer_location);
  __isb(ARM_MB_SY);
}
Run Code Online (Sandbox Code Playgroud)

在启动时,它创建一个线程并将其指针存储在tpidr_el1

cpu kernel arm armv8 fuchsia

6
推荐指数
1
解决办法
5180
查看次数

Windows 10 无法识别 Base64

我想下载 Fuchsia 的源代码。

我输入了在fuchsia.dev-s "https://fuchsia.googlesource.com/fuchsia/+/HEAD/scripts/bootstrap?format=TEXT" | base64 --decode | bash上找到的curl 。

我有''base64'' is not recognized as an internal or external command, operable program or batch file.

我下载了base64工具但没有成功。

我应该怎么做才能使这个命令起作用?

base64 fuchsia

6
推荐指数
1
解决办法
2万
查看次数

获取 Fuchsia 时 gnutls_handshake() 失败(TLS 连接未正确终止)?

我试图获取 Google Fuchsia 源代码,但我不断遇到以下错误:

ERROR: 'git fetch -p origin' failed:
stdout:
stderr:
fatal: unable to access 'https://fuchsia.googlesource.com/third_party/github.com/google/cppdap/':
gnutls_handshake() failed: The TLS connection was non-properly terminated.
command fail error: exit status 128

Run Code Online (Sandbox Code Playgroud)

因此,下载永远不会完全完成,并且我有一个不完整的 Fuchsia 存储库克隆。

我知道我的 Git 安装没问题,因为我可以通过 https 访问 GitHub 存储库(我经常这样做)。

我使用的是 WSL2(Ubuntu 20.04 LTS)。

我该如何修复这个错误?

git gnutls fuchsia

6
推荐指数
2
解决办法
2万
查看次数

seL4和紫红色的内核之间在概念上有什么区别?

最初我以为Fuchsia是第一个广泛使用基于功能的安全性的内核,但是看起来在seL4中它们也是主要的安全性原语。

microkernel fuchsia sel4

3
推荐指数
1
解决办法
323
查看次数

在目录的父目录中找不到平台源代码树

使用 $ nano ~/.bash_profile 更新了我的 shell 脚本,添加了以下行 export PATH=~/directory/.jiri_root/bin:$PATH source ~/directory/scripts/fx-env.sh

我遇到的问题是,每当我尝试运行 fx 命令时,我都会收到一条错误消息“无法在目录的父目录中找到平台源代码树”。我必须使用 $ fx set Product.board 但显示错误。

fuchsia ubuntu-20.04

3
推荐指数
1
解决办法
653
查看次数

是否有L4(微内核)的应用?

我用Google搜索了很多关于L4微内核的信息,发现L4上的资源非常少.

  1. 我可以参考哪些好的链接?
  2. 是否有L4的应用(即使用它的地方)?

microkernel fuchsia sel4

1
推荐指数
1
解决办法
2092
查看次数

标签 统计

fuchsia ×8

kernel ×2

microkernel ×2

sel4 ×2

arm ×1

armv8 ×1

base64 ×1

cpu ×1

git ×1

gnutls ×1

mmu ×1

ubuntu-20.04 ×1