本文整理汇总了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;
}