mirror of https://github.com/xemu-project/xemu.git
hw/sd/sdcard: Register Security Extension optional handlers
See "Advanced Security SD Extension Specification" v2.00. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Tested-by: Cédric Le Goater <clg@redhat.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Message-Id: <20240628070216.92609-47-philmd@linaro.org>
This commit is contained in:
parent
9b2e17756f
commit
f274e6f590
17
hw/sd/sd.c
17
hw/sd/sd.c
|
@ -250,14 +250,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",
|
||||
};
|
||||
|
@ -2271,8 +2268,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},
|
||||
|
@ -2291,6 +2294,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},
|
||||
|
@ -2298,8 +2305,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},
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue