feat(fpu): add helper routines to read, write, compare FPU registers

Add helper routines to read, write, write_rand and compare FPU state
and FPU control/status registers.

These helper routines can be called by testcases running in NS-EL2,
R-EL1, S-EL1 payload. The caller has to pass memory to read/write FPU
registers.

Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
Change-Id: I10ae5487c9f58e46434c1bd5b42fd458ec755045
diff --git a/realm/realm_payload_main.c b/realm/realm_payload_main.c
index 94ef25e..4eea234 100644
--- a/realm/realm_payload_main.c
+++ b/realm/realm_payload_main.c
@@ -18,7 +18,9 @@
 #include <realm_tests.h>
 #include <tftf_lib.h>
 
-static fpu_reg_state_t fpu_temp_rl;
+static fpu_state_t rl_fpu_state_write;
+static fpu_state_t rl_fpu_state_read;
+
 /*
  * This function reads sleep time in ms from shared buffer and spins PE
  * in a loop for that time period.
@@ -98,11 +100,13 @@
 			test_succeed = test_pmuv3_overflow_interrupt();
 			break;
 		case REALM_REQ_FPU_FILL_CMD:
-			fpu_state_fill_regs_and_template(&fpu_temp_rl);
+			fpu_state_write_rand(&rl_fpu_state_write);
 			test_succeed = true;
 			break;
 		case REALM_REQ_FPU_CMP_CMD:
-			test_succeed = fpu_state_compare_template(&fpu_temp_rl);
+			fpu_state_read(&rl_fpu_state_read);
+			test_succeed = !fpu_state_compare(&rl_fpu_state_write,
+							  &rl_fpu_state_read);
 			break;
 		case REALM_SVE_RDVL:
 			test_succeed = test_realm_sve_rdvl();