Wiki内検索
最近更新したページ
管理人's Profile
オープン系の仮想化に興味をもつ2流技術者です。Linux 2.6.20に採用されたカーネルベースの仮想マシンドライバkvmについての情報をまとめるWikiを立ち上げました。
最新コメント
XenNews by check it out
Ubuntuでkvm! by check it out
PV Driver仕様概要 by stunning seo guys
PV Driver仕様概要 by awesome things!
FrontPage by awesome things!
ファイル雛形 by stunning seo guys
タグ
フリーエリア

linux-2.6.20/drivers/kvm/vmx.c(調査用メモ)

以下は調査中メモ。------------------------------------------------

□ヘッダ(システムフォルダ配下以外)
#include "kvm.h"
#include "vmx.h"
#include "kvm_vmx.h"

#include "segment_descriptor.h"

□変数・マクロ・構造体
static DEFINE_PER_CPU(struct vmcs *, vmxarea);
static DEFINE_PER_CPU(struct vmcs *, current_vmcs);

#ifdef CONFIG_X86_64
#define HOST_IS_64 1
#else
#define HOST_IS_64 0
#endif

static struct vmcs_descriptor {
int size; int order; u32 revision_id;
} vmcs_descriptor;

#define VMX_SEGMENT_FIELD(seg) \
[VCPU_SREG_##seg] = { \ .selector = GUEST_##seg##_SELECTOR, \ .base = GUEST_##seg##_BASE, \ .limit = GUEST_##seg##_LIMIT, \ .ar_bytes = GUEST_##seg##_AR_BYTES, \ }

static struct kvm_vmx_segment_field {
unsigned selector; unsigned base; unsigned limit; unsigned ar_bytes;
} kvm_vmx_segment_fields[] = {
VMX_SEGMENT_FIELD(CS), VMX_SEGMENT_FIELD(DS), VMX_SEGMENT_FIELD(ES), VMX_SEGMENT_FIELD(FS), VMX_SEGMENT_FIELD(GS), VMX_SEGMENT_FIELD(SS), VMX_SEGMENT_FIELD(TR), VMX_SEGMENT_FIELD(LDTR),
};

static const u32 vmx_msr_index[] = {
#ifdef CONFIG_X86_64
MSR_SYSCALL_MASK, MSR_LSTAR, MSR_CSTAR, MSR_KERNEL_GS_BASE,
#endif
MSR_EFER, MSR_K6_STAR,
};
#define NR_VMX_MSR (sizeof(vmx_msr_index) / sizeof(*vmx_msr_index))

□ifdef
CONFIG_X86_64

□関数
vmx_init
vmx_exit
2007年03月03日(土) 23:14:25 Modified by deku_nobo




スマートフォン版で見る