diff --git a/expect-lava/crash_rng_trap_unhandled_exception_at_el3.exp b/expect-lava/crash_rng_trap_unhandled_exception_at_el3.exp
new file mode 100644
index 0000000..5bff8ce
--- /dev/null
+++ b/expect-lava/crash_rng_trap_unhandled_exception_at_el3.exp
@@ -0,0 +1,87 @@
+#
+# Copyright (c) 2022, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+expect_string+=('i;Unhandled Exception in EL3.')
+expect_string+=('i;x30')
+expect_string+=('i;x0')
+expect_string+=('i;x1')
+expect_string+=('i;x2')
+expect_string+=('i;x3')
+expect_string+=('i;x4')
+expect_string+=('i;x5')
+expect_string+=('i;x6')
+expect_string+=('i;x7')
+expect_string+=('i;x8')
+expect_string+=('i;x9')
+expect_string+=('i;x10')
+expect_string+=('i;x11')
+expect_string+=('i;x12')
+expect_string+=('i;x13')
+expect_string+=('i;x14')
+expect_string+=('i;x15')
+expect_string+=('i;x16')
+expect_string+=('i;x17')
+expect_string+=('i;x18')
+expect_string+=('i;x19')
+expect_string+=('i;x20')
+expect_string+=('i;x21')
+expect_string+=('i;x22')
+expect_string+=('i;x23')
+expect_string+=('i;x24')
+expect_string+=('i;x25')
+expect_string+=('i;x26')
+expect_string+=('i;x27')
+expect_string+=('i;x28')
+expect_string+=('i;x29')
+expect_string+=('i;scr_el3')
+expect_string+=('i;sctlr_el3')
+expect_string+=('i;cptr_el3')
+expect_string+=('i;tcr_el3')
+expect_string+=('i;daif')
+expect_string+=('i;mair_el3')
+expect_string+=('i;spsr_el3')
+expect_string+=('i;elr_el3')
+expect_string+=('i;ttbr0_el3')
+expect_string+=('i;esr_el3')
+expect_string+=('i;far_el3')
+expect_string+=('i;spsr_el1')
+expect_string+=('i;elr_el1')
+expect_string+=('i;spsr_abt')
+expect_string+=('i;spsr_und')
+expect_string+=('i;spsr_irq')
+expect_string+=('i;spsr_fiq')
+expect_string+=('i;sctlr_el1')
+expect_string+=('i;actlr_el1')
+expect_string+=('i;cpacr_el1')
+expect_string+=('i;csselr_el1')
+expect_string+=('i;sp_el1')
+expect_string+=('i;esr_el1')
+expect_string+=('i;ttbr0_el1')
+expect_string+=('i;ttbr1_el1')
+expect_string+=('i;mair_el1')
+expect_string+=('i;amair_el1')
+expect_string+=('i;tcr_el1')
+expect_string+=('i;tpidr_el1')
+expect_string+=('i;tpidr_el0')
+expect_string+=('i;tpidrro_el0')
+expect_string+=('i;par_el1')
+expect_string+=('i;mpidr_el1')
+expect_string+=('i;afsr0_el1')
+expect_string+=('i;afsr1_el1')
+expect_string+=('i;contextidr_el1')
+expect_string+=('i;vbar_el1')
+expect_string+=('i;cntp_ctl_el0')
+expect_string+=('i;cntp_cval_el0')
+expect_string+=('i;cntv_ctl_el0')
+expect_string+=('i;cntv_cval_el0')
+expect_string+=('i;cntkctl_el1')
+expect_string+=('i;sp_el0')
+expect_string+=('i;isr_el1')
+expect_string+=('i;dacr32_el2')
+expect_string+=('i;ifsr32_el2')
+expect_string+=('i;icc_hppir0_el1')
+expect_string+=('i;icc_hppir1_el1')
+expect_string+=('i;icc_ctlr_el3')
diff --git a/fvp_utils.sh b/fvp_utils.sh
index c3e601f..e2bc450 100644
--- a/fvp_utils.sh
+++ b/fvp_utils.sh
@@ -507,6 +507,69 @@
     # iterate over them.
     readarray -t boot_arguments < "${lava_model_params}"
 
+    # Source runtime environment variables now so that they are accessible from
+    # the LAVA job template.
+    local run_root="${archive}/run"
+    local run_env="${run_root}/env"
+
+    if [ -f "${run_env}" ]; then
+        source "${run_env}"
+    fi
+
+    # The following defaults are based on those used by `run_package.sh`!
+
+    local num_uarts="${num_uarts:-4}"
+
+    # The payload UART for most FVPs is the primary UART, and the primary UART
+    # for most FVPs is UART0, but there are some tests and platforms where that
+    # isn't the case.
+    local primary_uart="${primary_uart:-0}"
+    local payload_uart="${payload_uart:-${primary_uart}}"
+
+    # TODO: Introduce a mechanism for mapping terminal names to UART indices.
+    #
+    # In the on-premises CI, the scripts figure out the FVP terminal names by
+    # first booting up the FVP, running an AWK script over it (the "ports
+    # script") which populates a Bash array with the real terminal names for
+    # each UART index, and then killing the FVP.
+    #
+    # In LAVA, we're supposed to know the terminal names beforehand to populate
+    # the console string and feedback regular expressions, which means we need
+    # to effectively run this process in reverse.
+    #
+    # To avoid having to introduce a whole new scheme for mapping the UARTs to
+    # their FVP terminal names, we're instead going to run the ports script over
+    # a list of all of the terminal names we have ever known, then use that to
+    # update the template file with the proper terminal names.
+    declare -a ports
+
+    if [ "${ports_script}" = "" ]; then
+        for ((i=0; i<${num_uarts}; i++)); do
+            ports[$i]="terminal_${i}"
+        done
+    else
+        local ports_input=$(mktempfile)
+        local ports_output=$(mktempfile)
+
+        cat > "${ports_input}" <<-EOF
+			terminal_0
+			terminal_1
+			terminal_2
+			terminal_3
+			terminal_s0
+			terminal_s1
+			terminal_uart_aon
+			terminal_uart_ap
+			terminal_uart0
+			terminal_uart1_ap
+		EOF
+
+        awk -v "num_uarts=${num_uarts}" -f "${ports_script:?}" \
+            "${ports_input}" > "${ports_output}"
+
+        source "${ports_output}"
+    fi
+
     # Generate the LAVA job definition, minus the test expectations
     expand_template "${yaml_template_file}" > "${yaml_file}"
 
@@ -522,21 +585,15 @@
 }
 
 gen_fvp_yaml_expect() {
-
-    run_root="$archive/run"
-
     # Loop through all uarts expect files
     for expect_file in $(find $run_root -name expect); do
+        local uart_number=$(basename "$(dirname ${expect_file})")
 
-        # TODO: currently, only handle UART 0
-        case $expect_file in
-            *uart0* )
-                uart_number=uart0
-                ;;
-            *)
-                continue
-                ;;
-        esac
+        # Only handle the primary UART through LAVA. The remaining UARTs are
+        # validated after LAVA returns by the post-expect script.
+        if [ "${uart_number:?}" != "uart${primary_uart}" ]; then
+            continue
+        fi
 
         # Array containing "interactive" or "monitor" expect strings and populated during run config execution.
         # Interactive expect scripts are converted into LAVA Interactive Test Actions (see
diff --git a/script/lava-templates/fvp-linux.yaml b/script/lava-templates/fvp-linux.yaml
index a0acc6e..2203d1b 100644
--- a/script/lava-templates/fvp-linux.yaml
+++ b/script/lava-templates/fvp-linux.yaml
@@ -62,11 +62,19 @@
       local: true
     image: ${model_dir}/${model_bin}
     version_string: ${version_string}
-    console_string: 'terminal_0: Listening for serial connection on port (?P<PORT>\d+)'
+    console_string: '${ports[${payload_uart:?}]:?}: Listening for serial connection on port (?P<PORT>\d+)'
     feedbacks:
-      - '(?P<NAME>terminal_1): Listening for serial connection on port (?P<PORT>\d+)'
-      - '(?P<NAME>terminal_2): Listening for serial connection on port (?P<PORT>\d+)'
-      - '(?P<NAME>terminal_3): Listening for serial connection on port (?P<PORT>\d+)'
+
+$(for port in "${ports[@]}"; do
+	if [ "${port}" = "${ports[${payload_uart}]}" ]; then
+		continue
+	fi
+
+	cat <<-YAML
+      - '(?P<NAME>${port}): Listening for serial connection on port (?P<PORT>\d+)'
+	YAML
+done)
+
     timeout:
       minutes: 30
     arguments:
diff --git a/script/lava-templates/fvp-tftf.yaml b/script/lava-templates/fvp-tftf.yaml
index bde3f60..8f41e9e 100644
--- a/script/lava-templates/fvp-tftf.yaml
+++ b/script/lava-templates/fvp-tftf.yaml
@@ -75,11 +75,19 @@
       local: true
     image: ${model_dir}/${model_bin}
     version_string: ${version_string}
-    console_string: 'terminal_0: Listening for serial connection on port (?P<PORT>\d+)'
+    console_string: '${ports[${payload_uart:?}]:?}: Listening for serial connection on port (?P<PORT>\d+)'
     feedbacks:
-      - '(?P<NAME>terminal_1): Listening for serial connection on port (?P<PORT>\d+)'
-      - '(?P<NAME>terminal_2): Listening for serial connection on port (?P<PORT>\d+)'
-      - '(?P<NAME>terminal_3): Listening for serial connection on port (?P<PORT>\d+)'
+
+$(for port in "${ports[@]}"; do
+	if [ "${port}" = "${ports[${payload_uart}]}" ]; then
+		continue
+	fi
+
+	cat <<-YAML
+      - '(?P<NAME>${port}): Listening for serial connection on port (?P<PORT>\d+)'
+	YAML
+done)
+
     arguments:
 
 $(for boot_argument in "${boot_arguments[@]:?}"; do
