[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 1/2] xen: arm: introduce raw_copy_to_guest_flush_dcache() function
Hi, Julien. I'll fix this in the next patch-set. Oleksandr Dmytryshyn | Product Engineering and Development GlobalLogic P x3657 M +38.067.382.2525 www.globallogic.com http://www.globallogic.com/email_disclaimer.txt On Wed, Nov 27, 2013 at 4:49 PM, Julien Grall <julien.grall@xxxxxxxxxx> wrote: > On 11/26/2013 10:54 AM, Oleksandr Dmytryshyn wrote: >> This function flushes the dcache while copying the data. >> >> Signed-off-by: Oleksandr Dmytryshyn <oleksandr.dmytryshyn@xxxxxxxxxxxxxxx> >> --- >> xen/arch/arm/guestcopy.c | 16 +++++++++++++++- >> xen/include/asm-arm/guest_access.h | 2 ++ >> 2 files changed, 17 insertions(+), 1 deletion(-) >> >> diff --git a/xen/arch/arm/guestcopy.c b/xen/arch/arm/guestcopy.c >> index d146cd6..4875b1d 100644 >> --- a/xen/arch/arm/guestcopy.c >> +++ b/xen/arch/arm/guestcopy.c >> @@ -5,7 +5,8 @@ >> #include <asm/mm.h> >> #include <asm/guest_access.h> >> >> -unsigned long raw_copy_to_guest(void *to, const void *from, unsigned len) >> +unsigned long raw_copy_to_guest_helper(void *to, const void *from, unsigned >> len, > This function should be static. > > Except that: > > Acked-by: Julien Grall<julien.grall@xxxxxxxxxx> > >> + unsigned flush_dcache) >> { >> /* XXX needs to handle faults */ >> unsigned offset = (vaddr_t)to & ~PAGE_MASK; >> @@ -24,6 +25,8 @@ unsigned long raw_copy_to_guest(void *to, const void >> *from, unsigned len) >> p = map_domain_page(g>>PAGE_SHIFT); >> p += offset; >> memcpy(p, from, size); >> + if (flush_dcache) >> + flush_xen_dcache_va_range(p, size); >> >> unmap_domain_page(p - offset); >> len -= size; >> @@ -35,6 +38,17 @@ unsigned long raw_copy_to_guest(void *to, const void >> *from, unsigned len) >> return 0; >> } >> >> +unsigned long raw_copy_to_guest(void *to, const void *from, unsigned len) >> +{ >> + return raw_copy_to_guest_helper(to, from, len, 0); >> +} >> + >> +unsigned long raw_copy_to_guest_flush_dcache(void *to, const void *from, >> + unsigned len) >> +{ >> + return raw_copy_to_guest_helper(to, from, len, 1); >> +} >> + >> unsigned long raw_clear_guest(void *to, unsigned len) >> { >> /* XXX needs to handle faults */ >> diff --git a/xen/include/asm-arm/guest_access.h >> b/xen/include/asm-arm/guest_access.h >> index 8ff088f..5876988 100644 >> --- a/xen/include/asm-arm/guest_access.h >> +++ b/xen/include/asm-arm/guest_access.h >> @@ -11,6 +11,8 @@ >> (likely(count < (~0UL/size)) && access_ok(addr,count*size)) >> >> unsigned long raw_copy_to_guest(void *to, const void *from, unsigned len); >> +unsigned long raw_copy_to_guest_flush_dcache(void *to, const void *from, >> + unsigned len); >> unsigned long raw_copy_from_guest(void *to, const void *from, unsigned len); >> unsigned long raw_clear_guest(void *to, unsigned len); >> >> > > > -- > Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |