static int quicktest3(unsigned long arg) { char buf1[BUFSIZE], buf2[BUFSIZE]; int ret = 0; memset(buf2, 0, sizeof(buf2)); memset(buf1, get_cycles() & 255, sizeof(buf1)); gru_copy_gpa(uv_gpa(buf2), uv_gpa(buf1), BUFSIZE); if (memcmp(buf1, buf2, BUFSIZE)) { ; ret = -EIO; } return ret; }
static int quicktest3(unsigned long arg) { char buf1[BUFSIZE], buf2[BUFSIZE]; int ret = 0; memset(buf2, 0, sizeof(buf2)); memset(buf1, get_cycles() & 255, sizeof(buf1)); gru_copy_gpa(uv_gpa(buf2), uv_gpa(buf1), BUFSIZE); if (memcmp(buf1, buf2, BUFSIZE)) { printk(KERN_DEBUG "GRU:%d quicktest3 error\n", smp_processor_id()); ret = -EIO; } return ret; }
static enum xp_retval xp_remote_memcpy_uv(unsigned long dst_gpa, const unsigned long src_gpa, size_t len) { int ret; if (uv_gpa_in_mmr_space(src_gpa)) return xp_remote_mmr_read(dst_gpa, src_gpa, len); ret = gru_copy_gpa(dst_gpa, src_gpa, len); if (ret == 0) return xpSuccess; dev_err(xp, "gru_copy_gpa() failed, dst_gpa=0x%016lx src_gpa=0x%016lx " "len=%ld\n", dst_gpa, src_gpa, len); return xpGruCopyError; }