qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v42 46/98] hw/sd/sdcard: Register Security Extension optional


From: Cédric Le Goater
Subject: Re: [PATCH v42 46/98] hw/sd/sdcard: Register Security Extension optional handlers
Date: Fri, 28 Jun 2024 09:56:53 +0200
User-agent: Mozilla Thunderbird

On 6/28/24 9:01 AM, Philippe Mathieu-Daudé wrote:
See "Advanced Security SD Extension Specification" v2.00.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


Reviewed-by: Cédric Le Goater <clg@redhat.com>

Thanks,

C.


---
  hw/sd/sd.c | 17 +++++++++++++----
  1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index 87bfd0fd56..e4941cfdab 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -253,14 +253,11 @@ static const char *sd_cmd_name(SDState *sd, uint8_t cmd)
          [28]    = "SET_WRITE_PROT",         [29]    = "CLR_WRITE_PROT",
          [30]    = "SEND_WRITE_PROT",
          [32]    = "ERASE_WR_BLK_START",     [33]    = "ERASE_WR_BLK_END",
-        [34]    = "SW_FUNC_RSVD",           [35]    = "SW_FUNC_RSVD",
-        [36]    = "SW_FUNC_RSVD",           [37]    = "SW_FUNC_RSVD",
          [38]    = "ERASE",
          [40]    = "DPS_spec",
          [42]    = "LOCK_UNLOCK",
-        [50]    = "SW_FUNC_RSVD",
          [54]    = "SDIO_RSVD",              [55]    = "APP_CMD",
-        [56]    = "GEN_CMD",                [57]    = "SW_FUNC_RSVD",
+        [56]    = "GEN_CMD",
          [60]    = "MANUF_RSVD",             [61]    = "MANUF_RSVD",
          [62]    = "MANUF_RSVD",             [63]    = "MANUF_RSVD",
      };
@@ -2269,8 +2266,14 @@ static const SDProto sd_proto_spi = {
          [0]  = {0,  sd_spi, "GO_IDLE_STATE", sd_cmd_GO_IDLE_STATE},
          [1]  = {0,  sd_spi, "SEND_OP_COND", spi_cmd_SEND_OP_COND},
          [5]  = {9,  sd_spi, "IO_SEND_OP_COND", sd_cmd_optional},
+        [34] = {10, sd_spi, "READ_SEC_CMD", sd_cmd_optional},
+        [35] = {10, sd_spi, "WRITE_SEC_CMD", sd_cmd_optional},
+        [36] = {10, sd_spi, "SEND_PSI", sd_cmd_optional},
+        [37] = {10, sd_spi, "CONTROL_ASSD_SYSTEM", sd_cmd_optional},
+        [50] = {10, sd_spi, "DIRECT_SECURE_READ", sd_cmd_optional},
          [52] = {9,  sd_spi, "IO_RW_DIRECT", sd_cmd_optional},
          [53] = {9,  sd_spi, "IO_RW_EXTENDED", sd_cmd_optional},
+        [57] = {10, sd_spi, "DIRECT_SECURE_WRITE", sd_cmd_optional},
      },
      .acmd = {
          [41] = {8,  sd_spi, "SEND_OP_COND", spi_cmd_SEND_OP_COND},
@@ -2289,6 +2292,10 @@ static const SDProto sd_proto_sd = {
          [19] = {2,  sd_adtc, "SEND_TUNING_BLOCK", sd_cmd_SEND_TUNING_BLOCK},
          [20] = {2,  sd_ac,   "SPEED_CLASS_CONTROL", sd_cmd_optional},
          [23] = {2,  sd_ac,   "SET_BLOCK_COUNT", sd_cmd_SET_BLOCK_COUNT},
+        [34] = {10, sd_adtc, "READ_SEC_CMD", sd_cmd_optional},
+        [35] = {10, sd_adtc, "WRITE_SEC_CMD", sd_cmd_optional},
+        [36] = {10, sd_adtc, "SEND_PSI", sd_cmd_optional},
+        [37] = {10, sd_ac,   "CONTROL_ASSD_SYSTEM", sd_cmd_optional},
          [43] = {1,  sd_ac,   "Q_MANAGEMENT", sd_cmd_optional},
          [44] = {1,  sd_ac,   "Q_TASK_INFO_A", sd_cmd_optional},
          [45] = {1,  sd_ac,   "Q_TASK_INFO_B", sd_cmd_optional},
@@ -2296,8 +2303,10 @@ static const SDProto sd_proto_sd = {
          [47] = {1,  sd_adtc, "Q_WR_TASK", sd_cmd_optional},
          [48] = {1,  sd_adtc, "READ_EXTR_SINGLE", sd_cmd_optional},
          [49] = {1,  sd_adtc, "WRITE_EXTR_SINGLE", sd_cmd_optional},
+        [50] = {10, sd_adtc, "DIRECT_SECURE_READ", sd_cmd_optional},
          [52] = {9,  sd_bc,   "IO_RW_DIRECT", sd_cmd_optional},
          [53] = {9,  sd_bc,   "IO_RW_EXTENDED", sd_cmd_optional},
+        [57] = {10, sd_adtc, "DIRECT_SECURE_WRITE", sd_cmd_optional},
          [58] = {11, sd_adtc, "READ_EXTR_MULTI", sd_cmd_optional},
          [59] = {11, sd_adtc, "WRITE_EXTR_MULTI", sd_cmd_optional},
      },




reply via email to

[Prev in Thread] Current Thread [Next in Thread]