[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 02/12] hw/sd/sdcard: Generate random RCA value
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH v2 02/12] hw/sd/sdcard: Generate random RCA value |
Date: |
Tue, 25 Jun 2024 07:53:43 +0200 |
Rather than using the obscure 0x4567 magic value,
use a real random one.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Cédric Le Goater <clg@redhat.com>
---
hw/sd/sd.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index a48010cfc1..ec58c5e2a6 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -46,6 +46,7 @@
#include "qemu/error-report.h"
#include "qemu/timer.h"
#include "qemu/log.h"
+#include "qemu/guest-random.h"
#include "qemu/module.h"
#include "sdmmc-internal.h"
#include "trace.h"
@@ -490,11 +491,6 @@ static void sd_set_csd(SDState *sd, uint64_t size)
/* Relative Card Address register */
-static void sd_set_rca(SDState *sd)
-{
- sd->rca += 0x4567;
-}
-
static uint16_t sd_req_get_rca(SDState *s, SDRequest req)
{
if (sd_cmd_type[req.cmd] == sd_ac || sd_cmd_type[req.cmd] == sd_adtc) {
@@ -1107,7 +1103,7 @@ static sd_rsp_type_t sd_cmd_SEND_RELATIVE_ADDR(SDState
*sd, SDRequest req)
case sd_identification_state:
case sd_standby_state:
sd->state = sd_standby_state;
- sd_set_rca(sd);
+ qemu_guest_getrandom_nofail(&sd->rca, sizeof(sd->rca));
return sd_r6;
default:
--
2.41.0
- [PATCH v2 00/12] hw/sd/sdcard: Accumulation of cleanups and fixes, Philippe Mathieu-Daudé, 2024/06/25
- [PATCH v2 01/12] tests/qtest: Disable npcm7xx_sdhci tests using hardcoded RCA, Philippe Mathieu-Daudé, 2024/06/25
- [PATCH v2 02/12] hw/sd/sdcard: Generate random RCA value,
Philippe Mathieu-Daudé <=
- [PATCH v2 03/12] hw/sd/sdcard: Track last command used to help logging, Philippe Mathieu-Daudé, 2024/06/25
- [PATCH v2 04/12] hw/sd/sdcard: Trace block offset in READ/WRITE data accesses, Philippe Mathieu-Daudé, 2024/06/25
- [PATCH v2 05/12] hw/sd/sdcard: Do not store vendor data on block drive (CMD56), Philippe Mathieu-Daudé, 2024/06/25
- [PATCH v2 06/12] hw/sd/sdcard: Send WRITE_PROT bits MSB first (CMD30), Philippe Mathieu-Daudé, 2024/06/25
- [PATCH v2 07/12] hw/sd/sdcard: Send NUM_WR_BLOCKS bits MSB first (ACMD22), Philippe Mathieu-Daudé, 2024/06/25
- [PATCH v2 08/12] hw/sd/sdcard: Use READY_FOR_DATA definition instead of magic value, Philippe Mathieu-Daudé, 2024/06/25
- [PATCH v2 09/12] hw/sd/sdcard: Assign SDCardStates enum values, Philippe Mathieu-Daudé, 2024/06/25
- [PATCH v2 10/12] hw/sd/sdcard: Simplify sd_inactive_state handling, Philippe Mathieu-Daudé, 2024/06/25
- [PATCH v2 11/12] hw/sd/sdcard: Restrict SWITCH_FUNCTION to sd_transfer_state (CMD6), Philippe Mathieu-Daudé, 2024/06/25
- [PATCH v2 12/12] hw/sd/sdcard: Add direct reference to SDProto in SDState, Philippe Mathieu-Daudé, 2024/06/25