Fix timer test to set time before enabling timer, so it passes on FVP.

If the timer is enabled first then it may fire immediately and set
last_interrupt_id, but then when the TVAL is set the timer condition is no
longer met, and it doesn't fire again until after the test checks the
status due to the FVP not modelling time very accurately.

Bug: 117551008
Change-Id: If8e818122f42da37bafa1d060e69e358aeec2340
diff --git a/test/vmapi/gicv3/interrupts.c b/test/vmapi/gicv3/interrupts.c
index 1b8d532..3945bb0 100644
--- a/test/vmapi/gicv3/interrupts.c
+++ b/test/vmapi/gicv3/interrupts.c
@@ -103,10 +103,10 @@
 	EXPECT_EQ(GICR_ISACTIVER0, 0);
 
 	dlog("Starting timer\n");
-	/* Enable physical timer. */
-	write_msr(CNTP_CTL_EL0, 0x00000001);
-	/* Set timer for 1 tick. */
+	/* Set physical timer for 1 tick. */
 	write_msr(CNTP_TVAL_EL0, 1);
+	/* Enable it. */
+	write_msr(CNTP_CTL_EL0, 0x00000001);
 
 	dlog("waiting for interrupt\n");
 	while (last_interrupt_id == 0) {
@@ -144,10 +144,10 @@
 	EXPECT_EQ(GICR_ISACTIVER0, 0);
 
 	dlog("Starting timer\n");
-	/* Enable virtual timer. */
-	write_msr(CNTV_CTL_EL0, 0x00000001);
-	/* Set timer for 1 tick. */
+	/* Set virtual timer for 1 tick. */
 	write_msr(CNTV_TVAL_EL0, 1);
+	/* Enable it. */
+	write_msr(CNTV_CTL_EL0, 0x00000001);
 
 	dlog("Waiting for interrupt\n");
 	while (last_interrupt_id == 0) {