• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C++ HYPERVISOR_update_descriptor函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中HYPERVISOR_update_descriptor函数的典型用法代码示例。如果您正苦于以下问题:C++ HYPERVISOR_update_descriptor函数的具体用法?C++ HYPERVISOR_update_descriptor怎么用?C++ HYPERVISOR_update_descriptor使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了HYPERVISOR_update_descriptor函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: xen_write_gdt_entry

static void xen_write_gdt_entry(struct desc_struct *dt, int entry,
				const void *desc, int type)
{
	trace_xen_cpu_write_gdt_entry(dt, entry, desc, type);

	preempt_disable();

	switch (type) {
	case DESC_LDT:
	case DESC_TSS:
		
		break;

	default: {
		xmaddr_t maddr = arbitrary_virt_to_machine(&dt[entry]);

		xen_mc_flush();
		if (HYPERVISOR_update_descriptor(maddr.maddr, *(u64 *)desc))
			BUG();
	}

	}

	preempt_enable();
}
开发者ID:DirtyDroidX,项目名称:android_kernel_htc_m8ul,代码行数:25,代码来源:enlighten.c


示例2: xen_write_ldt_entry

static void xen_write_ldt_entry(struct desc_struct *dt, int entrynum,
				const void *ptr)
{
	xmaddr_t mach_lp = arbitrary_virt_to_machine(&dt[entrynum]);
	u64 entry = *(u64 *)ptr;

	preempt_disable();

	xen_mc_flush();
	if (HYPERVISOR_update_descriptor(mach_lp.maddr, entry))
		BUG();

	preempt_enable();
}
开发者ID:argentinos,项目名称:o2droid,代码行数:14,代码来源:enlighten.c


示例3: xen_load_user_cs_desc

static void xen_load_user_cs_desc(int cpu, struct mm_struct *mm)
{
	void *gdt;
	xmaddr_t mgdt;
	u64 descriptor;
	struct desc_struct user_cs;

	gdt = &get_cpu_gdt_table(cpu)[GDT_ENTRY_DEFAULT_USER_CS];
	mgdt = virt_to_machine(gdt);

	user_cs = mm->context.user_cs;
	descriptor = (u64) user_cs.a | ((u64) user_cs.b) << 32;

	HYPERVISOR_update_descriptor(mgdt.maddr, descriptor);
}
开发者ID:PivotalBigData,项目名称:PivotalHD,代码行数:15,代码来源:enlighten.c


示例4: update_descriptor

static void
update_descriptor(union descriptor *table, union descriptor *entry)
{
#ifndef XEN
    *table = *entry;
#else
    paddr_t pa;
    pt_entry_t *ptp;

    ptp = kvtopte((vaddr_t)table);
    pa = (*ptp & PG_FRAME) | ((vaddr_t)table & ~PG_FRAME);
    if (HYPERVISOR_update_descriptor(pa, entry->raw[0], entry->raw[1]))
        panic("HYPERVISOR_update_descriptor failed\n");
#endif
}
开发者ID:lacombar,项目名称:netbsd-alc,代码行数:15,代码来源:gdt.c


示例5: xen_write_gdt_entry_boot

/*
 * Version of write_gdt_entry for use at early boot-time needed to
 * update an entry as simply as possible.
 */
static void __init xen_write_gdt_entry_boot(struct desc_struct *dt, int entry,
					    const void *desc, int type)
{
	switch (type) {
	case DESC_LDT:
	case DESC_TSS:
		/* ignore */
		break;

	default: {
		xmaddr_t maddr = virt_to_machine(&dt[entry]);

		if (HYPERVISOR_update_descriptor(maddr.maddr, *(u64 *)desc))
			dt[entry] = *(struct desc_struct *)desc;
	}

	}
}
开发者ID:PivotalBigData,项目名称:PivotalHD,代码行数:22,代码来源:enlighten.c



注:本文中的HYPERVISOR_update_descriptor函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ HYPERVISOR_update_va_mapping函数代码示例发布时间:2022-05-30
下一篇:
C++ HYPERVISOR_set_trap_table函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap