[kmac/rtl,DV] Alignment on swapping alerts order

This PR follows PR #10517 which swaps the order of fatal and recoverable
alerts. With that PR, now alert[0] is recoverable alert and alert[1] is
fatal alert.
With this change, we would like to update the alert_test register as
well, so now:
alert_test field[0] corresponds to recov_operation_err
alert_test field[1] corresponds to fatal_fault_err

Signed-off-by: Cindy Chen <chencindy@opentitan.org>
diff --git a/hw/ip/kmac/data/kmac.hjson b/hw/ip/kmac/data/kmac.hjson
index d439c33..406caee 100644
--- a/hw/ip/kmac/data/kmac.hjson
+++ b/hw/ip/kmac/data/kmac.hjson
@@ -23,6 +23,11 @@
     }
   ]
   alert_list: [
+    { name: "recov_operation_err"
+      desc: '''
+        Alert for KMAC operation error. It occurs when the shadow registers have update errors.
+        '''
+    }
     { name: "fatal_fault_err",
       desc: '''
       This fatal alert is triggered when a fatal error is detected inside the KMAC unit.
@@ -35,11 +40,6 @@
       The KMAC unit cannot recover from such an error and needs to be reset.
       '''
     }
-    { name: "recov_operation_err"
-      desc: '''
-        Alert for KMAC operation error. It occurs when the shadow registers have update errors.
-        '''
-    }
   ],
   param_list: [
     { name:    "EnMasking"
diff --git a/hw/ip/kmac/dv/env/kmac_env_pkg.sv b/hw/ip/kmac/dv/env/kmac_env_pkg.sv
index 09f9756..01b18b0 100644
--- a/hw/ip/kmac/dv/env/kmac_env_pkg.sv
+++ b/hw/ip/kmac/dv/env/kmac_env_pkg.sv
@@ -65,7 +65,7 @@
 
   // alerts
   parameter uint NUM_ALERTS = 2;
-  parameter string LIST_OF_ALERTS[] = {"fatal_fault_err", "recov_operation_err"};
+  parameter string LIST_OF_ALERTS[] = {"recov_operation_err", "fatal_fault_err"};
 
   parameter uint NUM_EDN = 1;
 
diff --git a/hw/ip/kmac/rtl/kmac_reg_pkg.sv b/hw/ip/kmac/rtl/kmac_reg_pkg.sv
index 02488cd..0edbcf7 100644
--- a/hw/ip/kmac/rtl/kmac_reg_pkg.sv
+++ b/hw/ip/kmac/rtl/kmac_reg_pkg.sv
@@ -62,11 +62,11 @@
     struct packed {
       logic        q;
       logic        qe;
-    } fatal_fault_err;
+    } recov_operation_err;
     struct packed {
       logic        q;
       logic        qe;
-    } recov_operation_err;
+    } fatal_fault_err;
   } kmac_reg2hw_alert_test_reg_t;
 
   typedef struct packed {
@@ -340,8 +340,8 @@
   parameter logic [0:0] KMAC_INTR_TEST_FIFO_EMPTY_RESVAL = 1'h 0;
   parameter logic [0:0] KMAC_INTR_TEST_KMAC_ERR_RESVAL = 1'h 0;
   parameter logic [1:0] KMAC_ALERT_TEST_RESVAL = 2'h 0;
-  parameter logic [0:0] KMAC_ALERT_TEST_FATAL_FAULT_ERR_RESVAL = 1'h 0;
   parameter logic [0:0] KMAC_ALERT_TEST_RECOV_OPERATION_ERR_RESVAL = 1'h 0;
+  parameter logic [0:0] KMAC_ALERT_TEST_FATAL_FAULT_ERR_RESVAL = 1'h 0;
   parameter logic [0:0] KMAC_CFG_REGWEN_RESVAL = 1'h 1;
   parameter logic [0:0] KMAC_CFG_REGWEN_EN_RESVAL = 1'h 1;
   parameter logic [9:0] KMAC_CMD_RESVAL = 10'h 0;
diff --git a/hw/ip/kmac/rtl/kmac_reg_top.sv b/hw/ip/kmac/rtl/kmac_reg_top.sv
index 85a3697..b61266d 100644
--- a/hw/ip/kmac/rtl/kmac_reg_top.sv
+++ b/hw/ip/kmac/rtl/kmac_reg_top.sv
@@ -187,8 +187,8 @@
   logic intr_test_fifo_empty_wd;
   logic intr_test_kmac_err_wd;
   logic alert_test_we;
-  logic alert_test_fatal_fault_err_wd;
   logic alert_test_recov_operation_err_wd;
+  logic alert_test_fatal_fault_err_wd;
   logic cfg_regwen_re;
   logic cfg_regwen_qs;
   logic cfg_shadowed_re;
@@ -542,21 +542,7 @@
 
 
   // R[alert_test]: V(True)
-  //   F[fatal_fault_err]: 0:0
-  prim_subreg_ext #(
-    .DW    (1)
-  ) u_alert_test_fatal_fault_err (
-    .re     (1'b0),
-    .we     (alert_test_we),
-    .wd     (alert_test_fatal_fault_err_wd),
-    .d      ('0),
-    .qre    (),
-    .qe     (reg2hw.alert_test.fatal_fault_err.qe),
-    .q      (reg2hw.alert_test.fatal_fault_err.q),
-    .qs     ()
-  );
-
-  //   F[recov_operation_err]: 1:1
+  //   F[recov_operation_err]: 0:0
   prim_subreg_ext #(
     .DW    (1)
   ) u_alert_test_recov_operation_err (
@@ -570,6 +556,20 @@
     .qs     ()
   );
 
+  //   F[fatal_fault_err]: 1:1
+  prim_subreg_ext #(
+    .DW    (1)
+  ) u_alert_test_fatal_fault_err (
+    .re     (1'b0),
+    .we     (alert_test_we),
+    .wd     (alert_test_fatal_fault_err_wd),
+    .d      ('0),
+    .qre    (),
+    .qe     (reg2hw.alert_test.fatal_fault_err.qe),
+    .q      (reg2hw.alert_test.fatal_fault_err.q),
+    .qs     ()
+  );
+
 
   // R[cfg_regwen]: V(True)
   prim_subreg_ext #(
@@ -2252,9 +2252,9 @@
   assign intr_test_kmac_err_wd = reg_wdata[2];
   assign alert_test_we = addr_hit[3] & reg_we & !reg_error;
 
-  assign alert_test_fatal_fault_err_wd = reg_wdata[0];
+  assign alert_test_recov_operation_err_wd = reg_wdata[0];
 
-  assign alert_test_recov_operation_err_wd = reg_wdata[1];
+  assign alert_test_fatal_fault_err_wd = reg_wdata[1];
   assign cfg_regwen_re = addr_hit[4] & reg_re & !reg_error;
   assign cfg_shadowed_re = addr_hit[5] & reg_re & !reg_error;
   assign cfg_shadowed_we = addr_hit[5] & reg_we & !reg_error;
diff --git a/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson b/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
index 42caf2d..535a27d 100644
--- a/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
+++ b/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
@@ -13702,7 +13702,7 @@
       lpg_idx: 18
     }
     {
-      name: kmac_fatal_fault_err
+      name: kmac_recov_operation_err
       width: 1
       type: alert
       async: "1"
@@ -13711,7 +13711,7 @@
       lpg_idx: 18
     }
     {
-      name: kmac_recov_operation_err
+      name: kmac_fatal_fault_err
       width: 1
       type: alert
       async: "1"
diff --git a/hw/top_earlgrey/dv/env/autogen/chip_env_pkg__params.sv b/hw/top_earlgrey/dv/env/autogen/chip_env_pkg__params.sv
index 118a96e..6e0e527 100644
--- a/hw/top_earlgrey/dv/env/autogen/chip_env_pkg__params.sv
+++ b/hw/top_earlgrey/dv/env/autogen/chip_env_pkg__params.sv
@@ -44,8 +44,8 @@
   "aes_recov_ctrl_update_err",
   "aes_fatal_fault",
   "hmac_fatal_fault",
-  "kmac_fatal_fault_err",
   "kmac_recov_operation_err",
+  "kmac_fatal_fault_err",
   "otbn_fatal",
   "otbn_recov",
   "keymgr_fatal_fault_err",
diff --git a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
index f6238f8..a66f004 100644
--- a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
+++ b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
@@ -2197,8 +2197,8 @@
       .intr_kmac_done_o  (intr_kmac_kmac_done),
       .intr_fifo_empty_o (intr_kmac_fifo_empty),
       .intr_kmac_err_o   (intr_kmac_kmac_err),
-      // [39]: fatal_fault_err
-      // [40]: recov_operation_err
+      // [39]: recov_operation_err
+      // [40]: fatal_fault_err
       .alert_tx_o  ( alert_tx[40:39] ),
       .alert_rx_i  ( alert_rx[40:39] ),
 
diff --git a/hw/top_earlgrey/sw/autogen/top_earlgrey.c b/hw/top_earlgrey/sw/autogen/top_earlgrey.c
index 7486f01..cce536a 100644
--- a/hw/top_earlgrey/sw/autogen/top_earlgrey.c
+++ b/hw/top_earlgrey/sw/autogen/top_earlgrey.c
@@ -247,8 +247,8 @@
   [kTopEarlgreyAlertIdAesRecovCtrlUpdateErr] = kTopEarlgreyAlertPeripheralAes,
   [kTopEarlgreyAlertIdAesFatalFault] = kTopEarlgreyAlertPeripheralAes,
   [kTopEarlgreyAlertIdHmacFatalFault] = kTopEarlgreyAlertPeripheralHmac,
-  [kTopEarlgreyAlertIdKmacFatalFaultErr] = kTopEarlgreyAlertPeripheralKmac,
   [kTopEarlgreyAlertIdKmacRecovOperationErr] = kTopEarlgreyAlertPeripheralKmac,
+  [kTopEarlgreyAlertIdKmacFatalFaultErr] = kTopEarlgreyAlertPeripheralKmac,
   [kTopEarlgreyAlertIdOtbnFatal] = kTopEarlgreyAlertPeripheralOtbn,
   [kTopEarlgreyAlertIdOtbnRecov] = kTopEarlgreyAlertPeripheralOtbn,
   [kTopEarlgreyAlertIdKeymgrFatalFaultErr] = kTopEarlgreyAlertPeripheralKeymgr,
diff --git a/hw/top_earlgrey/sw/autogen/top_earlgrey.h b/hw/top_earlgrey/sw/autogen/top_earlgrey.h
index 502bb46..5d8c452 100644
--- a/hw/top_earlgrey/sw/autogen/top_earlgrey.h
+++ b/hw/top_earlgrey/sw/autogen/top_earlgrey.h
@@ -1319,8 +1319,8 @@
   kTopEarlgreyAlertIdAesRecovCtrlUpdateErr = 36, /**< aes_recov_ctrl_update_err */
   kTopEarlgreyAlertIdAesFatalFault = 37, /**< aes_fatal_fault */
   kTopEarlgreyAlertIdHmacFatalFault = 38, /**< hmac_fatal_fault */
-  kTopEarlgreyAlertIdKmacFatalFaultErr = 39, /**< kmac_fatal_fault_err */
-  kTopEarlgreyAlertIdKmacRecovOperationErr = 40, /**< kmac_recov_operation_err */
+  kTopEarlgreyAlertIdKmacRecovOperationErr = 39, /**< kmac_recov_operation_err */
+  kTopEarlgreyAlertIdKmacFatalFaultErr = 40, /**< kmac_fatal_fault_err */
   kTopEarlgreyAlertIdOtbnFatal = 41, /**< otbn_fatal */
   kTopEarlgreyAlertIdOtbnRecov = 42, /**< otbn_recov */
   kTopEarlgreyAlertIdKeymgrFatalFaultErr = 43, /**< keymgr_fatal_fault_err */
diff --git a/sw/device/lib/dif/autogen/dif_kmac_autogen.c b/sw/device/lib/dif/autogen/dif_kmac_autogen.c
index c1fd9c3..9b0c0d4 100644
--- a/sw/device/lib/dif/autogen/dif_kmac_autogen.c
+++ b/sw/device/lib/dif/autogen/dif_kmac_autogen.c
@@ -29,12 +29,12 @@
 
   bitfield_bit32_index_t alert_idx;
   switch (alert) {
-    case kDifKmacAlertFatalFaultErr:
-      alert_idx = KMAC_ALERT_TEST_FATAL_FAULT_ERR_BIT;
-      break;
     case kDifKmacAlertRecovOperationErr:
       alert_idx = KMAC_ALERT_TEST_RECOV_OPERATION_ERR_BIT;
       break;
+    case kDifKmacAlertFatalFaultErr:
+      alert_idx = KMAC_ALERT_TEST_FATAL_FAULT_ERR_BIT;
+      break;
     default:
       return kDifBadArg;
   }
diff --git a/sw/device/lib/dif/autogen/dif_kmac_autogen.h b/sw/device/lib/dif/autogen/dif_kmac_autogen.h
index fb996a7..bcf4a5e 100644
--- a/sw/device/lib/dif/autogen/dif_kmac_autogen.h
+++ b/sw/device/lib/dif/autogen/dif_kmac_autogen.h
@@ -53,6 +53,11 @@
  */
 typedef enum dif_kmac_alert {
   /**
+   * Alert for KMAC operation error. It occurs when the shadow registers have
+   * update errors.
+   */
+  kDifKmacAlertRecovOperationErr = 0,
+  /**
    * This fatal alert is triggered when a fatal error is detected inside the
    * KMAC unit. Examples for such faults include: i) TL-UL bus integrity fault.
    * ii) Storage errors in the shadow registers. iii) Errors in the message,
@@ -60,12 +65,7 @@
    * An error in the redundant lfsr. The KMAC unit cannot recover from such an
    * error and needs to be reset.
    */
-  kDifKmacAlertFatalFaultErr = 0,
-  /**
-   * Alert for KMAC operation error. It occurs when the shadow registers have
-   * update errors.
-   */
-  kDifKmacAlertRecovOperationErr = 1,
+  kDifKmacAlertFatalFaultErr = 1,
 } dif_kmac_alert_t;
 
 /**
diff --git a/sw/device/lib/dif/autogen/dif_kmac_autogen_unittest.cc b/sw/device/lib/dif/autogen/dif_kmac_autogen_unittest.cc
index 6c1fef0..e5c705c 100644
--- a/sw/device/lib/dif/autogen/dif_kmac_autogen_unittest.cc
+++ b/sw/device/lib/dif/autogen/dif_kmac_autogen_unittest.cc
@@ -38,7 +38,7 @@
 class AlertForceTest : public KmacTest {};
 
 TEST_F(AlertForceTest, NullArgs) {
-  EXPECT_EQ(dif_kmac_alert_force(nullptr, kDifKmacAlertFatalFaultErr),
+  EXPECT_EQ(dif_kmac_alert_force(nullptr, kDifKmacAlertRecovOperationErr),
             kDifBadArg);
 }
 
@@ -50,14 +50,14 @@
 TEST_F(AlertForceTest, Success) {
   // Force first alert.
   EXPECT_WRITE32(KMAC_ALERT_TEST_REG_OFFSET,
-                 {{KMAC_ALERT_TEST_FATAL_FAULT_ERR_BIT, true}});
-  EXPECT_EQ(dif_kmac_alert_force(&kmac_, kDifKmacAlertFatalFaultErr), kDifOk);
-
-  // Force last alert.
-  EXPECT_WRITE32(KMAC_ALERT_TEST_REG_OFFSET,
                  {{KMAC_ALERT_TEST_RECOV_OPERATION_ERR_BIT, true}});
   EXPECT_EQ(dif_kmac_alert_force(&kmac_, kDifKmacAlertRecovOperationErr),
             kDifOk);
+
+  // Force last alert.
+  EXPECT_WRITE32(KMAC_ALERT_TEST_REG_OFFSET,
+                 {{KMAC_ALERT_TEST_FATAL_FAULT_ERR_BIT, true}});
+  EXPECT_EQ(dif_kmac_alert_force(&kmac_, kDifKmacAlertFatalFaultErr), kDifOk);
 }
 
 class IrqGetStateTest : public KmacTest {};