Logo

Linux 核心

6.16.0-rc4

快速搜尋

目錄

  • 開發流程
  • 提交補丁
  • 行為準則
  • 維護者手冊
  • 所有開發流程文件
  • 核心 API
  • 驅動 API
  • 子系統
    • 核心子系統
    • 人機介面
    • 網路介面
    • 儲存介面
    • 其他子系統
      • 記賬
      • CPUFreq - Linux(TM) 核心中的 CPU 頻率和電壓調節程式碼
      • EDAC 子系統
      • FPGA
      • I2C/SMBus 子系統
      • 工業 I/O
      • PCMCIA
      • 序列外設介面 (SPI)
      • 1-Wire 子系統
      • 看門狗支援
      • 虛擬化支援
      • 硬體監控
      • 計算加速器
      • 安全文件
      • 加密 API
      • BPF 文件
      • USB 支援
      • PCI 匯流排子系統
      • 各類雜項裝置文件
      • PECI 子系統
      • WMI 子系統
      • TEE 子系統
  • 鎖定
  • 許可規則
  • 編寫文件
  • 開發工具
  • 測試指南
  • 開發指南
  • 追蹤
  • 故障注入
  • 熱補丁
  • Rust
  • 管理
  • 構建系統
  • 報告問題
  • 使用者空間工具
  • 使用者空間 API
  • 韌體
  • 韌體和裝置樹
  • CPU 架構
  • 未分類文件
  • 翻譯

本頁

  • 顯示源

目錄

  • 1 BPF ABI 推薦約定和指南 v1.0

    • 1.1 暫存器和呼叫約定

1 BPF ABI 推薦約定和指南 v1.0¶

這是資訊文件的 1.0 版本,其中包含生成可移植 BPF 程式二進位制檔案的推薦約定和指南。

1.1 暫存器和呼叫約定¶

BPF 擁有 10 個通用暫存器和一個只讀的幀指標暫存器,所有這些暫存器都是 64 位寬的。

BPF 呼叫約定定義如下:

  • R0:函式呼叫的返回值,以及 BPF 程式的退出值

  • R1 - R5:函式呼叫的引數

  • R6 - R9:被呼叫者儲存的暫存器,函式呼叫將保留這些暫存器

  • R10:用於訪問棧的只讀幀指標

R0 - R5 是臨時暫存器,BPF 程式在跨呼叫時如有必要需要溢位/填充它們。

BPF 程式在執行 EXIT 之前需要將返回值儲存到暫存器 R0 中。

©核心開發社群。| 由 Sphinx 5.3.0 & Alabaster 0.7.16 提供支援 | 頁面源