Linux 仮想化ドキュメント(日本語訳)
  • KVM
    • KVM (Kernel-based Virtual Machine) API 仕様書
      • 1. 概要
      • 2. 制約
      • 3. 拡張
      • 4. API の説明
        • 4.1 KVM_GET_API_VERSION
        • 4.2 KVM_CREATE_VM
        • 4.3 KVM_GET_MSR_INDEX_LIST, KVM_GET_MSR_FEATURE_INDEX_LIST
        • 4.4 KVM_CHECK_EXTENSION
        • 4.5 KVM_GET_VCPU_MMAP_SIZE
        • 4.7 KVM_CREATE_VCPU
        • 4.8 KVM_GET_DIRTY_LOG
        • 4.10 KVM_RUN
        • 4.11 KVM_GET_REGS
        • 4.12 KVM_SET_REGS
        • 4.13 KVM_GET_SREGS
        • 4.14 KVM_SET_SREGS
        • 4.15 KVM_TRANSLATE
        • 4.16 KVM_INTERRUPT
        • 4.18 KVM_GET_MSRS
        • 4.19 KVM_SET_MSRS
        • 4.20 KVM_SET_CPUID
        • 4.21 KVM_SET_SIGNAL_MASK
        • 4.22 KVM_GET_FPU
        • 4.23 KVM_SET_FPU
        • 4.24 KVM_CREATE_IRQCHIP
        • 4.25 KVM_IRQ_LINE
        • 4.26 KVM_GET_IRQCHIP
        • 4.27 KVM_SET_IRQCHIP
        • 4.28 KVM_XEN_HVM_CONFIG
        • 4.29 KVM_GET_CLOCK
        • 4.30 KVM_SET_CLOCK
        • 4.31 KVM_GET_VCPU_EVENTS
        • 4.32 KVM_SET_VCPU_EVENTS
        • 4.33 KVM_GET_DEBUGREGS
        • 4.34 KVM_SET_DEBUGREGS
        • 4.35 KVM_SET_USER_MEMORY_REGION
        • 4.36 KVM_SET_TSS_ADDR
        • 4.37 KVM_ENABLE_CAP
        • 4.38 KVM_GET_MP_STATE
        • 4.39 KVM_SET_MP_STATE
        • 4.40 KVM_SET_IDENTITY_MAP_ADDR
        • 4.41 KVM_SET_BOOT_CPU_ID
        • 4.42 KVM_GET_XSAVE
        • 4.43 KVM_SET_XSAVE
        • 4.44 KVM_GET_XCRS
        • 4.45 KVM_SET_XCRS
        • 4.46 KVM_GET_SUPPORTED_CPUID
        • 4.47 KVM_PPC_GET_PVINFO
        • 4.52 KVM_SET_GSI_ROUTING
        • 4.55 KVM_SET_TSC_KHZ
        • 4.56 KVM_GET_TSC_KHZ
        • 4.57 KVM_GET_LAPIC
        • 4.58 KVM_SET_LAPIC
        • 4.59 KVM_IOEVENTFD
        • 4.60 KVM_DIRTY_TLB
        • 4.62 KVM_CREATE_SPAPR_TCE
        • 4.64 KVM_NMI
        • 4.65 KVM_S390_UCAS_MAP
        • 4.66 KVM_S390_UCAS_UNMAP
        • 4.67 KVM_S390_VCPU_FAULT
        • 4.68 KVM_SET_ONE_REG
        • 4.69 KVM_GET_ONE_REG
        • 4.70 KVM_KVMCLOCK_CTRL
        • 4.71 KVM_SIGNAL_MSI
        • 4.71 KVM_CREATE_PIT2
        • 4.72 KVM_GET_PIT2
        • 4.73 KVM_SET_PIT2
        • 4.74 KVM_PPC_GET_SMMU_INFO
        • 4.75 KVM_IRQFD
        • 4.76 KVM_PPC_ALLOCATE_HTAB
        • 4.77 KVM_S390_INTERRUPT
        • 4.78 KVM_PPC_GET_HTAB_FD
        • 4.79 KVM_CREATE_DEVICE
        • 4.80 KVM_SET_DEVICE_ATTR/KVM_GET_DEVICE_ATTR
        • 4.81 KVM_HAS_DEVICE_ATTR
        • 4.82 KVM_ARM_VCPU_INIT
        • 4.83 KVM_ARM_PREFERRED_TARGET
        • 4.84 KVM_GET_REG_LIST
        • 4.85 KVM_ARM_SET_DEVICE_ADDR (非推奨)
        • 4.86 KVM_PPC_RTAS_DEFINE_TOKEN
        • 4.87 KVM_SET_GUEST_DEBUG
        • 4.88 KVM_GET_EMULATED_CPUID
        • 4.89 KVM_S390_MEM_OP
        • 4.90 KVM_S390_GET_SKEYS
        • 4.91 KVM_S390_SET_SKEYS
        • 4.92 KVM_S390_IRQ
        • 4.94 KVM_S390_GET_IRQ_STATE
        • 4.95 KVM_S390_SET_IRQ_STATE
        • 4.96 KVM_SMI
        • 4.97 KVM_X86_SET_MSR_FILTER
        • 4.98 KVM_CREATE_SPAPR_TCE_64
        • 4.99 KVM_REINJECT_CONTROL
        • 4.100 KVM_PPC_CONFIGURE_V3_MMU
        • 4.101 KVM_PPC_GET_RMMU_INFO
        • 4.102 KVM_PPC_RESIZE_HPT_PREPARE
        • 4.103 KVM_PPC_RESIZE_HPT_COMMIT
        • 4.104 KVM_X86_GET_MCE_CAP_SUPPORTED
        • 4.105 KVM_X86_SETUP_MCE
        • 4.106 KVM_X86_SET_MCE
        • 4.107 KVM_S390_GET_CMMA_BITS
        • 4.108 KVM_S390_SET_CMMA_BITS
        • 4.109 KVM_PPC_GET_CPU_CHAR
        • 4.110 KVM_MEMORY_ENCRYPT_OP
        • 4.111 KVM_MEMORY_ENCRYPT_REG_REGION
        • 4.112 KVM_MEMORY_ENCRYPT_UNREG_REGION
        • 4.113 KVM_HYPERV_EVENTFD
        • 4.114 KVM_GET_NESTED_STATE
        • 4.115 KVM_SET_NESTED_STATE
        • 4.116 KVM_(UN)REGISTER_COALESCED_MMIO
        • 4.117 KVM_CLEAR_DIRTY_LOG
        • 4.118 KVM_GET_SUPPORTED_HV_CPUID
        • 4.119 KVM_ARM_VCPU_FINALIZE
        • 4.120 KVM_SET_PMU_EVENT_FILTER
        • 4.121 KVM_PPC_SVM_OFF
        • 4.122 KVM_S390_NORMAL_RESET
        • 4.123 KVM_S390_INITIAL_RESET
        • 4.124 KVM_S390_CLEAR_RESET
        • 4.125 KVM_S390_PV_COMMAND
        • 4.126 KVM_XEN_HVM_SET_ATTR
        • 4.127 KVM_XEN_HVM_GET_ATTR
        • 4.128 KVM_XEN_VCPU_SET_ATTR
        • 4.129 KVM_XEN_VCPU_GET_ATTR
        • 4.130 KVM_ARM_MTE_COPY_TAGS
        • 4.131 KVM_GET_SREGS2
        • 4.132 KVM_SET_SREGS2
        • 4.133 KVM_GET_STATS_FD
        • 4.134 KVM_GET_XSAVE2
        • 4.135 KVM_XEN_HVM_EVTCHN_SEND
        • 4.136 KVM_S390_PV_CPU_COMMAND
        • 4.137 KVM_S390_ZPCI_OP
        • 4.138 KVM_ARM_SET_COUNTER_OFFSET
        • 4.139 KVM_ARM_GET_REG_WRITABLE_MASKS
        • 4.140 KVM_SET_USER_MEMORY_REGION2
        • 4.141 KVM_SET_MEMORY_ATTRIBUTES
        • 4.142 KVM_CREATE_GUEST_MEMFD
        • 4.143 KVM_PRE_FAULT_MEMORY
        • 4.144 KVM_S390_KEYOP
        • 4.145 KVM_PPC_GET_COMPAT_CAPS
        • 4.146 KVM_SET_MEMORY_ATTRIBUTES2
      • 5. kvm_run 構造体
        • arm64 の場合
        • arm/arm64 の場合
      • 6. vCPU で有効化できるケイパビリティ
        • 6.1 KVM_CAP_PPC_OSI
        • 6.2 KVM_CAP_PPC_PAPR
        • 6.3 KVM_CAP_SW_TLB
        • 6.4 KVM_CAP_S390_CSS_SUPPORT
        • 6.5 KVM_CAP_PPC_EPR
        • 6.6 KVM_CAP_IRQ_MPIC
        • 6.7 KVM_CAP_IRQ_XICS
        • 6.8 KVM_CAP_S390_IRQCHIP
        • 6.9 KVM_CAP_MIPS_FPU
        • 6.10 KVM_CAP_MIPS_MSA
        • 6.74 KVM_CAP_SYNC_REGS
        • 6.75 KVM_CAP_PPC_IRQ_XIVE
        • 6.76 KVM_CAP_HYPERV_SYNIC
        • 6.77 KVM_CAP_HYPERV_SYNIC2
        • 6.78 KVM_CAP_HYPERV_DIRECT_TLBFLUSH
        • 6.79 KVM_CAP_HYPERV_ENFORCE_CPUID
        • 6.80 KVM_CAP_ENFORCE_PV_FEATURE_CPUID
      • 7. VM で有効化できるケイパビリティ
        • 7.1 KVM_CAP_PPC_ENABLE_HCALL
        • 7.2 KVM_CAP_S390_USER_SIGP
        • 7.3 KVM_CAP_S390_VECTOR_REGISTERS
        • 7.4 KVM_CAP_S390_USER_STSI
        • 7.5 KVM_CAP_SPLIT_IRQCHIP
        • 7.6 KVM_CAP_S390_RI
        • 7.7 KVM_CAP_X2APIC_API
        • 7.8 KVM_CAP_S390_USER_INSTR0
        • 7.9 KVM_CAP_S390_GS
        • 7.10 KVM_CAP_S390_AIS
        • 7.11 KVM_CAP_PPC_SMT
        • 7.12 KVM_CAP_PPC_FWNMI
        • 7.13 KVM_CAP_X86_DISABLE_EXITS
        • 7.14 KVM_CAP_S390_HPAGE_1M
        • 7.15 KVM_CAP_MSR_PLATFORM_INFO
        • 7.16 KVM_CAP_PPC_NESTED_HV
        • 7.17 KVM_CAP_EXCEPTION_PAYLOAD
        • 7.18 KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2
        • 7.19 KVM_CAP_PPC_SECURE_GUEST
        • 7.20 KVM_CAP_HALT_POLL
        • 7.21 KVM_CAP_X86_USER_SPACE_MSR
        • 7.22 KVM_CAP_X86_BUS_LOCK_EXIT
        • 7.23 KVM_CAP_PPC_DAWR1
        • 7.24 KVM_CAP_VM_COPY_ENC_CONTEXT_FROM
        • 7.25 KVM_CAP_SGX_ATTRIBUTE
        • 7.27 KVM_CAP_EXIT_ON_EMULATION_FAILURE
        • 7.28 KVM_CAP_ARM_MTE
        • 7.29 KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM
        • 7.31 KVM_CAP_DISABLE_QUIRKS2
        • 7.32 KVM_CAP_MAX_VCPU_ID
        • 7.33 KVM_CAP_X86_NOTIFY_VMEXIT
        • 7.35 KVM_CAP_X86_APIC_BUS_CYCLES_NS
        • 7.36 KVM_CAP_DIRTY_LOG_RING/KVM_CAP_DIRTY_LOG_RING_ACQ_REL
        • 7.37 KVM_CAP_PMU_CAPABILITY
        • 7.38 KVM_CAP_VM_DISABLE_NX_HUGE_PAGES
        • 7.39 KVM_CAP_ARM_EAGER_SPLIT_CHUNK_SIZE
        • 7.40 KVM_CAP_EXIT_HYPERCALL
        • 7.41 KVM_CAP_ARM_SYSTEM_SUSPEND
        • 7.42 KVM_CAP_ARM_WRITABLE_IMP_ID_REGS
        • 7.43 KVM_CAP_RISCV_MP_STATE_RESET
        • 7.44 KVM_CAP_ARM_CACHEABLE_PFNMAP_SUPPORTED
        • 7.45 KVM_CAP_ARM_SEA_TO_USER
        • 7.46 KVM_CAP_S390_USER_OPEREXEC
        • 7.47 KVM_CAP_S390_HPAGE_2G
      • 8. その他のケイパビリティ
        • 8.1 KVM_CAP_PPC_HWRNG
        • 8.3 KVM_CAP_PPC_MMU_RADIX
        • 8.4 KVM_CAP_PPC_MMU_HASH_V3
        • 8.5 KVM_CAP_MIPS_VZ
        • 8.7 KVM_CAP_MIPS_64BIT
        • 8.9 KVM_CAP_ARM_USER_IRQ
        • 8.10 KVM_CAP_PPC_SMT_POSSIBLE
        • 8.12 KVM_CAP_HYPERV_VP_INDEX
        • 8.13 KVM_CAP_S390_AIS_MIGRATION
        • 8.14 KVM_CAP_S390_PSW
        • 8.15 KVM_CAP_S390_GMAP
        • 8.16 KVM_CAP_S390_COW
        • 8.17 KVM_CAP_S390_BPB
        • 8.18 KVM_CAP_HYPERV_TLBFLUSH
        • 8.19 KVM_CAP_ARM_INJECT_SERROR_ESR
        • 8.20 KVM_CAP_HYPERV_SEND_IPI
        • 8.22 KVM_CAP_S390_VCPU_RESETS
        • 8.23 KVM_CAP_S390_PROTECTED
        • 8.24 KVM_CAP_STEAL_TIME
        • 8.25 KVM_CAP_S390_DIAG318
        • 8.26 KVM_CAP_X86_USER_SPACE_MSR
        • 8.27 KVM_CAP_X86_MSR_FILTER
        • 8.30 KVM_CAP_XEN_HVM
        • 8.31 KVM_CAP_SPAPR_MULTITCE
        • 8.32 KVM_CAP_PTP_KVM
        • 8.37 KVM_CAP_S390_PROTECTED_DUMP
        • 8.39 KVM_CAP_S390_CPU_TOPOLOGY
        • 8.41 KVM_CAP_VM_TYPES
        • 8.42 KVM_CAP_PPC_RPT_INVALIDATE
        • 8.43 KVM_CAP_PPC_AIL_MODE_3
        • 8.44 KVM_CAP_MEMORY_FAULT_INFO
        • 8.45 KVM_CAP_X86_GUEST_MODE
        • 8.46 KVM_CAP_S390_KEYOP
        • 8.47 KVM_CAP_S390_VSIE_ESAMODE
      • 9. 既知の KVM API の問題
        • 9.1. x86
    • デバイス
      • ARM 仮想割り込み変換サービス (ITS)
        • グループ
      • ARM 仮想汎用割り込みコントローラ v2 (VGIC)
      • ARM 仮想汎用割り込みコントローラ v3 以降 (VGICv3)
      • ARM 仮想汎用割り込みコントローラ v5 (VGICv5)
        • IRS 保存の手順:
        • IRS 復元の手順:
      • MPIC 割り込みコントローラ
      • FLIC (フローティング割り込みコントローラ)
      • 汎用 vCPU インタフェース
        • 1. グループ: KVM_ARM_VCPU_PMU_V3_CTRL
        • 2. グループ: KVM_ARM_VCPU_TIMER_CTRL
        • 3. グループ: KVM_ARM_VCPU_PVTIME_CTRL
        • 4. グループ: KVM_VCPU_TSC_CTRL
      • VFIO 仮想デバイス
      • 汎用 VM インタフェース
        • 1. グループ: KVM_S390_VM_MEM_CTRL
        • 2. グループ: KVM_S390_VM_CPU_MODEL
        • 2.2. 属性: KVM_S390_VM_CPU_PROCESSOR (r/w)
        • 3. グループ: KVM_S390_VM_TOD
        • 4. グループ: KVM_S390_VM_CRYPTO
        • 5. グループ: KVM_S390_VM_MIGRATION
        • 6. グループ: KVM_ARM_VM_SMCCC_CTRL
      • XICS 割り込みコントローラ
      • POWER9 eXternal Interrupt Virtualization Engine (XIVE Gen1)
    • ARM
      • ARM ファームウェア疑似レジスタインターフェース
        • ビットマップ機能ファームウェアレジスタ
      • カーネルと HYP の間の内部 ABI
      • ゲストに公開される KVM/arm64 固有のハイパーコール
        • ARM_SMCCC_VENDOR_HYP_KVM_FEATURES_FUNC_ID
        • ARM_SMCCC_VENDOR_HYP_KVM_PTP_FUNC_ID
        • ARM_SMCCC_KVM_FUNC_HYP_MEMINFO
        • ARM_SMCCC_KVM_FUNC_MEM_SHARE
        • ARM_SMCCC_KVM_FUNC_MEM_UNSHARE
        • ARM_SMCCC_KVM_FUNC_MMIO_GUARD
        • ARM_SMCCC_VENDOR_HYP_KVM_DISCOVER_IMPL_VER_FUNC_ID
        • ARM_SMCCC_VENDOR_HYP_KVM_DISCOVER_IMPL_CPUS_FUNC_ID
      • Protected KVM (pKVM)
        • 概要
        • 分離の仕組み
        • 保護 VM の API の振る舞い
        • 参考資料
      • arm64 向けの準仮想化時刻サポート
        • スティール時間
      • arm/arm64 の PTP_KVM サポート
        • ARM_SMCCC_VENDOR_HYP_KVM_PTP_FUNC_ID
      • arm64 における vCPU 機能の選択
        • KVM_ARM_VCPU_INIT
        • ID レジスタ
    • s390 システム用の KVM
      • KVM における s390 の DIAGNOSE 呼び出し
        • 全般的な注意
        • DIAGNOSE ファンクションコード 'X'500' - KVM ファンクション
        • DIAGNOSE ファンクションコード 'X'501 - KVM ブレークポイント
        • DIAGNOSE ファンクションコード 'X'9C - 自主的なタイムスライス譲渡
      • s390 (IBM Z) の Ultravisor と保護仮想マシン(VM)
        • 概要
        • 割り込みの注入
        • マスク通知インターセプト
        • 命令のエミュレーション
        • 命令エミュレーションのインターセプト
        • リンク
      • s390(IBM Z)保護 VM のブート/IPL
        • 概要
        • Diag308
        • 鍵
      • s390(IBM Z)保護仮想化のダンプ
        • 概要
        • ダンプの手順
    • PPC の KVM 準仮想化インターフェース
      • 存在の確認
      • KVM ハイパーコール
      • マジックページ
      • マジックページの機能
      • マジックページのフラグ
      • MSR ビット
      • パッチを当てる命令
      • PowerPC 上の KVM におけるハイパーコール ABI
    • x86 システム用の KVM
      • Secure Encrypted Virtualization (SEV)
        • 概要
        • KVM_MEMORY_ENCRYPT_OP ioctl
        • デバイス属性 API
        • ファームウェア管理
        • 参考文献
      • KVM の CPUID ビット
      • CPU 仮想化の既知の制限
        • x86
      • Linux KVM ハイパーコール
        • KVM ハイパーコールのドキュメント
      • Intel Trust Domain Extensions(TDX)
        • 概要
        • API の説明
        • KVM TDX の作成手順
        • 参照
      • x86 KVM シャドウ MMU
        • 略語
        • サポートする仮想ハードウェアと実ハードウェア
        • アドレス変換
        • メモリ
        • イベント
        • シャドウページ
        • 逆引き
        • 同期ページと未同期ページ
        • イベントへの対応
        • cr0.wp のエミュレーション
        • ラージページ
        • MMIO spte の高速無効化
        • 参考資料
      • KVM 固有の MSR
        • カスタム MSR の一覧
      • ネスト VMX
        • 概要
        • 用語
        • ネスト VMX の実行
        • ABI
        • 作者
      • KVM でネストゲストを動かす
        • 利用例
        • 「nested」を有効にする(x86)
        • ネスト関連の追加カーネルパラメータ(x86)
        • ネストゲストを起動する(x86)
        • 「nested」を有効にする(s390x)
        • ネスト KVM でのライブマイグレーション
        • ネスト構成でのバグ報告
      • X86 ベースアーキテクチャのタイムキーピング仮想化
        • 1. 概要
        • 2. タイミングデバイス
        • 3. TSC ハードウェア
        • 4. 仮想化の問題
    • LoongArch システム用の KVM
      • LoongArch 準仮想化インタフェース
        • 存在の確認
        • KVM ハイパーコール ABI
        • KVM ハイパーコールのドキュメント
    • KVM のロックの概要
      • 1. 取得順序
      • 2. 例外
      • 3. リファレンス
        • kvm_lock
        • kvm_usage_lock
        • kvm->mn_invalidate_lock
        • kvm_arch::tsc_write_lock
        • kvm->mmu_lock
        • kvm->srcu
        • kvm->slots_arch_lock
        • wakeup_vcpus_on_cpu_lock
        • vendor_module_lock
    • KVM の vCPU リクエスト
      • 概要
        • vCPU キック
        • vCPU のモード
      • vCPU リクエストの内部
        • アーキテクチャ非依存のリクエスト
        • KVM_REQUEST_MASK
        • vCPU リクエストのフラグ
      • 状態を伴う vCPU リクエスト
      • リクエストが確実に届くようにする
        • IPI の削減
        • 確認応答の待機
        • リクエストを伴わない vCPU キック
      • その他の考慮事項
        • スリープ中の vCPU
      • 参照
    • KVM の halt polling システム
      • Halt Polling 間隔
      • モジュールパラメータ
      • KVM_CAP_HALT_POLL
      • 補足
    • kvm パッチのレビューチェックリスト
      • KVM コードのテスト
  • Paravirt_ops
  • ゲストの停止ポーリング
    • モジュールパラメータ
    • 補足
  • Nitro Enclaves
    • 概要
  • ACRN ハイパーバイザ
    • ACRN ハイパーバイザの紹介
    • I/O リクエストの処理
      • 1. I/O リクエスト
      • 2. I/O クライアント
      • 3. I/O リクエストの状態遷移
      • 4. I/O リクエストの処理の流れ
    • ACRN CPUID ビット
  • SEV ゲスト API 完全ドキュメント
    • 1. 概要
    • 2. API の説明
      • 2.1 SNP_GET_REPORT
      • 2.2 SNP_GET_DERIVED_KEY
      • 2.3 SNP_GET_EXT_REPORT
      • 2.4 SNP_PLATFORM_STATUS
      • 2.5 SNP_COMMIT
      • 2.6 SNP_SET_CONFIG
      • 2.7 SNP_VLEK_LOAD
    • 3. SEV-SNP の CPUID 強制
    • 4. SEV ゲストドライバの通信用鍵
      • 参考文献
  • TDX ゲスト API ドキュメント
    • 1. 概要
    • 2. API の説明
      • 2.1 TDX_CMD_GET_REPORT0
      • 参考文献
Linux 仮想化ドキュメント(日本語訳)
  • KVM
  • LoongArch システム用の KVM
Previous Next

LoongArch システム用の KVM

  • LoongArch 準仮想化インタフェース
    • 存在の確認
    • KVM ハイパーコール ABI
    • KVM ハイパーコールのドキュメント
Previous Next

© Copyright .