search for: pud_idx

Displaying 4 results from an estimated 4 matches for "pud_idx".

Did you mean: pgd_idx
2007 Apr 18
0
[RFC/PATCH LGUEST X86_64 04/13] Useful debugging
...cpu, addr); + } + } + + put_text_segs(segs); +} + +static u64 read_page(struct lguest_vcpu *vcpu, u64 page, u64 idx) +{ + u64 *ptr; + + if (!vcpu) { + ptr = __va(page); + return ptr[idx]; + } + + return lhread_u64(vcpu, page+idx*sizeof(u64)); +} + +static void print_pte(u64 pte, u64 pgd_idx, u64 pud_idx, u64 pmd_idx, u64 pte_idx) +{ + printk(" %3llx: %llx\n", pte_idx, pte); + printk (" (%llx)\n", + ((pgd_idx&(1<<8)?(-1ULL):0ULL)<<48) | + (pgd_idx<<PGDIR_SHIFT) | + (pud_idx<<PUD_SHIFT) | + (pmd_idx<<PMD_SHIFT) | + (p...
2007 Apr 18
0
[RFC/PATCH LGUEST X86_64 04/13] Useful debugging
...cpu, addr); + } + } + + put_text_segs(segs); +} + +static u64 read_page(struct lguest_vcpu *vcpu, u64 page, u64 idx) +{ + u64 *ptr; + + if (!vcpu) { + ptr = __va(page); + return ptr[idx]; + } + + return lhread_u64(vcpu, page+idx*sizeof(u64)); +} + +static void print_pte(u64 pte, u64 pgd_idx, u64 pud_idx, u64 pmd_idx, u64 pte_idx) +{ + printk(" %3llx: %llx\n", pte_idx, pte); + printk (" (%llx)\n", + ((pgd_idx&(1<<8)?(-1ULL):0ULL)<<48) | + (pgd_idx<<PGDIR_SHIFT) | + (pud_idx<<PUD_SHIFT) | + (pmd_idx<<PMD_SHIFT) | + (p...
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...down_read(&current->mm->mmap_sem); + if (get_user_pages(current, current->mm, virtpfn << PAGE_SHIFT, + 1, write, 1, &page, &vma) == 1) + ret = page_to_pfn(page); + up_read(&current->mm->mmap_sem); + return ret; +} + +static int is_hv_page(int pgd_idx, int pud_idx, int pmd_idx, int pte_idx) +{ + /* Never release the hv pages */ + u64 addr = (u64)pgd_idx << PGDIR_SHIFT | + (u64)pud_idx << PUD_SHIFT | + (u64)pmd_idx << PMD_SHIFT | + (u64)pte_idx << PAGE_SHIFT; + /* sign extend */ + if (pgd_idx & (1<<8)) + addr |= 0xffffULL...
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...down_read(&current->mm->mmap_sem); + if (get_user_pages(current, current->mm, virtpfn << PAGE_SHIFT, + 1, write, 1, &page, &vma) == 1) + ret = page_to_pfn(page); + up_read(&current->mm->mmap_sem); + return ret; +} + +static int is_hv_page(int pgd_idx, int pud_idx, int pmd_idx, int pte_idx) +{ + /* Never release the hv pages */ + u64 addr = (u64)pgd_idx << PGDIR_SHIFT | + (u64)pud_idx << PUD_SHIFT | + (u64)pmd_idx << PMD_SHIFT | + (u64)pte_idx << PAGE_SHIFT; + /* sign extend */ + if (pgd_idx & (1<<8)) + addr |= 0xffffULL...