Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Jan 2011 14:27:08 +0200
From:      "karim.allah.ahmed@gmail.com" <karim.allah.ahmed@gmail.com>
To:        freebsd-xen@freebsd.org
Subject:   Issue with non-PAE enable i386 xen guest
Message-ID:  <AANLkTinxWsj9r93AUwYqCmhfw9dGCfsCUPZRh50314Js@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
In initvalues(start_info_t) function at "[[src]]/sys/i386/xen/xen_machdep.c"

IdlePDTnew, IdlePTDnew, etc are only declared under PAE enabled guests as
following:

#ifdef PAE
        vm_paddr_t IdlePDPTma, IdlePDPTnewma;
        vm_paddr_t IdlePTDnewma[4];
        pd_entry_t *IdlePDPTnew, *IdlePTDnew;
#else
        vm_paddr_t pdir_shadow_ma;
#endif

However It's used later in the function without constraining it to certain
guests ( without #ifdef PAE ), one of those is

memcpy(((uint8_t *)IdlePTDnew) + ((unsigned int)(KERNBASE >> 18)),
            ((uint8_t *)IdlePTD) + ((KERNBASE >> 18) & PAGE_MASK),
            l1_pages*sizeof(pt_entry_t))


Is the current non-PAE xen guest implementation broke intentionally, or is
this a merge issue or something ?

( This issue arises as a compile-time error as soon as you remove the
"options PAE" in the XEN configuration file for the build )


-- 
Karim Allah Ahmed.
LinkedIn <http://eg.linkedin.com/pub/karim-allah-ahmed/13/829/550/>;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTinxWsj9r93AUwYqCmhfw9dGCfsCUPZRh50314Js>