当前位置: 首页>>代码示例>>C++>>正文


C++ Page::addr方法代码示例

本文整理汇总了C++中Page::addr方法的典型用法代码示例。如果您正苦于以下问题:C++ Page::addr方法的具体用法?C++ Page::addr怎么用?C++ Page::addr使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Page的用法示例。


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

示例1: task_setup_vm

/** task için sanal bellek oluşturur */
static int task_setup_vm(Task *t, PageDirInfo *parent_pgdir) {
	ASSERT_int_disable();

	int err;
	uint32_t va;
	Page *p;

	memset(&t->pgdir, 0, sizeof(t->pgdir));

	/* page directory yapisi icin bellek al */
	if ((err = tmp_page_alloc_map(&p, &va, PTE_P | PTE_W)) < 0)
		return err;
	t->pgdir.pgdir_pa = p->addr();
	t->pgdir.pgdir = (PageDirectory*)va2kaddr(va);
	memset(t->pgdir.pgdir, 0, 0x1000);
	t->pgdir.count_kernel++;

	/* page table listesi icin bellek al */
	if ((err = tmp_page_alloc_map(&p, &va, PTE_P | PTE_W)) < 0)
		return err;
	t->pgdir.pgtables = (PageTable**)va2kaddr(va);
	memset(t->pgdir.pgtables, 0, 0x1000);
	t->pgdir.count_kernel++;

	/* Kernel adres uzayini dogrudan task adres uzayina bagla */
	err = t->pgdir.link_pgtables(parent_pgdir, MMAP_KERNEL_BASE, MMAP_KERNEL_STACK_BASE);
	ASSERT(err == 0);

	return 0;
}
开发者ID:tanerguven,项目名称:MakarnaX,代码行数:31,代码来源:task.cpp


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