kvm-s390.c (05ef1c50e7c2f796460737a7a7c2d315dd166544) kvm-s390.c (9522b37f5a8c7bfabe46eecadf2e130f1103f337)
1/*
2 * hosting zSeries kernel virtual machines
3 *
4 * Copyright IBM Corp. 2008, 2009
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License (version 2 only)
8 * as published by the Free Software Foundation.

--- 2367 unchanged lines hidden (view full) ---

2376 if (write_guest_real(vcpu, 163, &archmode, 1))
2377 return -EFAULT;
2378 gpa = px;
2379 } else
2380 gpa -= __LC_FPREGS_SAVE_AREA;
2381
2382 /* manually convert vector registers if necessary */
2383 if (MACHINE_HAS_VX) {
1/*
2 * hosting zSeries kernel virtual machines
3 *
4 * Copyright IBM Corp. 2008, 2009
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License (version 2 only)
8 * as published by the Free Software Foundation.

--- 2367 unchanged lines hidden (view full) ---

2376 if (write_guest_real(vcpu, 163, &archmode, 1))
2377 return -EFAULT;
2378 gpa = px;
2379 } else
2380 gpa -= __LC_FPREGS_SAVE_AREA;
2381
2382 /* manually convert vector registers if necessary */
2383 if (MACHINE_HAS_VX) {
2384 convert_vx_to_fp(fprs, current->thread.fpu.vxrs);
2384 convert_vx_to_fp(fprs, (__vector128 *) vcpu->run->s.regs.vrs);
2385 rc = write_guest_abs(vcpu, gpa + __LC_FPREGS_SAVE_AREA,
2386 fprs, 128);
2387 } else {
2388 rc = write_guest_abs(vcpu, gpa + __LC_FPREGS_SAVE_AREA,
2389 vcpu->run->s.regs.vrs, 128);
2390 }
2391 rc |= write_guest_abs(vcpu, gpa + __LC_GPREGS_SAVE_AREA,
2392 vcpu->run->s.regs.gprs, 128);

--- 497 unchanged lines hidden ---
2385 rc = write_guest_abs(vcpu, gpa + __LC_FPREGS_SAVE_AREA,
2386 fprs, 128);
2387 } else {
2388 rc = write_guest_abs(vcpu, gpa + __LC_FPREGS_SAVE_AREA,
2389 vcpu->run->s.regs.vrs, 128);
2390 }
2391 rc |= write_guest_abs(vcpu, gpa + __LC_GPREGS_SAVE_AREA,
2392 vcpu->run->s.regs.gprs, 128);

--- 497 unchanged lines hidden ---