Snap for 11916023 from d955a698092a1481716eb0a95a11284bf9cca559 to 24Q3-release

Change-Id: I8142bef7831c5784c4a5fabb3c5b82f34ab22e35
diff --git a/lib/arm_ffa/arm_ffa.c b/lib/arm_ffa/arm_ffa.c
index 681edf7..3f27126 100644
--- a/lib/arm_ffa/arm_ffa.c
+++ b/lib/arm_ffa/arm_ffa.c
@@ -817,7 +817,7 @@
     if (is_implemented) {
         supports_rx_release = true;
     } else {
-        TRACEF("FFA_RX_RELEASE is not implemented\n");
+        LTRACEF("FFA_RX_RELEASE is not implemented\n");
     }
 
     res = arm_ffa_rxtx_map_is_implemented(&is_implemented, &buf_size_log2);
diff --git a/lib/smc/arch/arm/smc.S b/lib/smc/arch/arm/smc.S
index 9156cd5..2bfb242 100644
--- a/lib/smc/arch/arm/smc.S
+++ b/lib/smc/arch/arm/smc.S
@@ -23,8 +23,8 @@
 
 #include <asm.h>
 
-FUNCTION(smc8)
-    /* Save stack location where r3-r7 smc arguments are stored */
+.macro smc8_hvc8, instr
+    /* Save stack location where r3-r7 smc/hvc arguments are stored */
     mov     r12, sp
 
     /* Save original r4-r7 values as caller expects these to be preserved */
@@ -41,7 +41,7 @@
     /* Load stack based arguments */
     ldmia   r12, {r3-r7}
 
-    smc     #0
+    \instr  #0
 
     /* Restore return address and get return value pointer */
     pop     {r12, lr}
@@ -54,3 +54,10 @@
 
     /* Return */
     bx      lr
+.endm
+
+FUNCTION(smc8)
+    smc8_hvc8 smc
+
+FUNCTION(hvc8)
+    smc8_hvc8 hvc
diff --git a/lib/smc/arch/arm64/smc.S b/lib/smc/arch/arm64/smc.S
index 36a4418..76c0cc7 100644
--- a/lib/smc/arch/arm64/smc.S
+++ b/lib/smc/arch/arm64/smc.S
@@ -24,14 +24,14 @@
 #include <asm.h>
 #include <arch/asm_macros.h>
 
-FUNCTION(smc8)
+.macro smc8_hvc8, instr
     /*
      * Save x8 (return value ptr) and lr. The SMC calling convention says el3
      * does not need to preserve x8. The normal ABI does not require either x8
      * or lr to be preserved.
      */
     push    x8, lr
-    smc     #0
+    \instr  #0
     pop     x8, lr
 
     /* Copy 8-register smc return value to struct smc_ret8 return value */
@@ -41,3 +41,10 @@
     stp     x6, x7, [x8], #16
 
     ret
+.endm
+
+FUNCTION(smc8)
+    smc8_hvc8 smc
+
+FUNCTION(hvc8)
+    smc8_hvc8 hvc
diff --git a/lib/smc/include/lib/smc/smc.h b/lib/smc/include/lib/smc/smc.h
index f63c017..9d990a2 100644
--- a/lib/smc/include/lib/smc/smc.h
+++ b/lib/smc/include/lib/smc/smc.h
@@ -44,3 +44,12 @@
                      ulong r5,
                      ulong r6,
                      ulong r7);
+
+struct smc_ret8 hvc8(ulong r0,
+                     ulong r1,
+                     ulong r2,
+                     ulong r3,
+                     ulong r4,
+                     ulong r5,
+                     ulong r6,
+                     ulong r7);
diff --git a/platform/generic-arm64/platform.c b/platform/generic-arm64/platform.c
index ae6dcf3..26cdb03 100644
--- a/platform/generic-arm64/platform.c
+++ b/platform/generic-arm64/platform.c
@@ -214,7 +214,7 @@
 #else
 #error "Unknown ARM64_BOOT_PROTOCOL"
 #endif
-    dprintf(INFO,
+    dprintf(SPEW,
             "gicc 0x%" PRIxPADDR ", gicd 0x%" PRIxPADDR ", gicr 0x%" PRIxPADDR
             "\n",
             gicc, gicd, gicr);