lkml.org 
[lkml]   [2008]   [Mar]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 17 of 31] xen: make use of pte_t union
    Date
    From
    pte_t always contains a "pte" field for the whole pte value, so make
    use of it.

    Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
    ---
    arch/x86/xen/mmu.c | 26 ++++++++++++--------------
    1 file changed, 12 insertions(+), 14 deletions(-)

    diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
    --- a/arch/x86/xen/mmu.c
    +++ b/arch/x86/xen/mmu.c
    @@ -216,12 +216,10 @@

    pteval_t xen_pte_val(pte_t pte)
    {
    - pteval_t ret = 0;
    + pteval_t ret = pte.pte;

    - if (pte.pte_low) {
    - ret = ((pteval_t)pte.pte_high << 32) | pte.pte_low;
    - ret = machine_to_phys(XMADDR(ret)).paddr | 1;
    - }
    + if (ret & _PAGE_PRESENT)
    + ret = machine_to_phys(XMADDR(ret)).paddr | _PAGE_PRESENT;

    return ret;
    }
    @@ -229,16 +227,16 @@
    pmdval_t xen_pmd_val(pmd_t pmd)
    {
    pmdval_t ret = pmd.pmd;
    - if (ret)
    - ret = machine_to_phys(XMADDR(ret)).paddr | 1;
    + if (ret & _PAGE_PRESENT)
    + ret = machine_to_phys(XMADDR(ret)).paddr | _PAGE_PRESENT;
    return ret;
    }

    pgdval_t xen_pgd_val(pgd_t pgd)
    {
    pgdval_t ret = pgd.pgd;
    - if (ret)
    - ret = machine_to_phys(XMADDR(ret)).paddr | 1;
    + if (ret & _PAGE_PRESENT)
    + ret = machine_to_phys(XMADDR(ret)).paddr | _PAGE_PRESENT;
    return ret;
    }

    @@ -254,7 +252,7 @@

    pmd_t xen_make_pmd(pmdval_t pmd)
    {
    - if (pmd & 1)
    + if (pmd & _PAGE_PRESENT)
    pmd = phys_to_machine(XPADDR(pmd)).maddr;

    return (pmd_t){ pmd };
    @@ -275,7 +273,7 @@

    pteval_t xen_pte_val(pte_t pte)
    {
    - pteval_t ret = pte.pte_low;
    + pteval_t ret = pte.pte;

    if (ret & _PAGE_PRESENT)
    ret = machine_to_phys(XMADDR(ret)).paddr;
    @@ -286,8 +284,8 @@
    pgdval_t xen_pgd_val(pgd_t pgd)
    {
    pteval_t ret = pgd.pgd;
    - if (ret)
    - ret = machine_to_phys(XMADDR(ret)).paddr | 1;
    + if (ret & _PAGE_PRESENT)
    + ret = machine_to_phys(XMADDR(ret)).paddr | _PAGE_PRESENT;
    return ret;
    }




    \
     
     \ /
      Last update: 2008-03-18 06:33    [W:3.176 / U:0.196 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site