[keymgr,lint] Waive some Verilator warnings about array accesses

"Fixing" this in the RTL would be hard. The problem is that you'd need
to make some 2-bit signals to represent the enum entries.
Unfortunately, AscentLint (the lint tool that we use for signoff)
doesn't accept code that extracts bits from enum values without an
explicit concatenation. So you end up having to write something like
this for each enum entry:

  localparam bit [2:0] OpAdvanceBits = {OpAdvance};
  localparam bit [1:0] ShortOpAdvance = OpAdvanceBits[1:0];

which is getting a bit ridiculous. Just waive the warning.

Signed-off-by: Rupert Swarbrick <rswarbrick@lowrisc.org>
diff --git a/hw/ip/keymgr/lint/keymgr.vlt b/hw/ip/keymgr/lint/keymgr.vlt
index 1ef2cfc..c4d8b5c 100644
--- a/hw/ip/keymgr/lint/keymgr.vlt
+++ b/hw/ip/keymgr/lint/keymgr.vlt
@@ -3,3 +3,14 @@
 // SPDX-License-Identifier: Apache-2.0
 //
 // waiver file for keymgr
+
+`verilator_config
+
+// Waive some width mismatch warnings in keymgr.sv and keymgr_kmac_if.sv that
+// come from addressing inputs_invalid_d by elements of the keymgr_ops_e enum.
+// The enum contains 4 actual operations plus an "OpDisable" entry, meaning
+// that its elements are represented by $clog2(5) = 3 bits. The error_o array
+// just has an entry for each of the 4 real operations, so Verilator expects to
+// address it with a 2-bit index.
+lint_off -rule WIDTH -file "*/rtl/keymgr.sv" -match "Bit extraction of var[3:0]*not 3 bits."
+lint_off -rule WIDTH -file "*/rtl/keymgr_kmac_if.sv" -match "Bit extraction of var[3:0]*not 3 bits."