From nobody Sat Apr 27 17:03:24 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1584280280; cv=none; d=zohomail.com; s=zohoarc; b=MR7SkR3ReFv+YseEbEWlRrpswwOxBfmIkdFpngvsMXJe8cMLrpsZr/zxkDoEBiMsOW6GkGu4APCKefRwjSYAjW3i8aKRm42YhDaYCOgH1TdvEdrGa9xbPeL+mXRpc18q+m5cL/LMBnMUbSLY2vDeTUcag0YAKI7mf+n4EWftjoA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1584280280; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=r2HeUlgZPGznn3qDRP6dKLB5LdEIIfNvBnBheGi+K3c=; b=O3j3KJSfyO9JV2aGyBhoLDEHyKDeb2Xp1MAHMGqzuvQsMdwHZlp1zricPbpkkvWPNlcdO4/bAvWracpywov5GmR4tEfqHB0ciVPBZj1qYFMj3MMIpZ4sA49wpQg+KUbz574fgVeGIBbLzRpLX7ZGBTu7G9Esj10ez1h0TeU4xCQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1584280280296815.6160973109518; Sun, 15 Mar 2020 06:51:20 -0700 (PDT) Received: from localhost ([::1]:54186 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jDTfj-0007Bc-77 for importer@patchew.org; Sun, 15 Mar 2020 09:51:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54451) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jDTda-00069o-7W for qemu-devel@nongnu.org; Sun, 15 Mar 2020 09:49:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jDTdZ-0000IO-0b for qemu-devel@nongnu.org; Sun, 15 Mar 2020 09:49:06 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:39759) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jDTdY-0000CK-QC; Sun, 15 Mar 2020 09:49:04 -0400 Received: by mail-wm1-x344.google.com with SMTP id f7so15126492wml.4; Sun, 15 Mar 2020 06:49:04 -0700 (PDT) Received: from localhost.localdomain (191.red-83-42-66.dynamicip.rima-tde.net. [83.42.66.191]) by smtp.gmail.com with ESMTPSA id c13sm29234085wro.96.2020.03.15.06.49.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Mar 2020 06:49:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=r2HeUlgZPGznn3qDRP6dKLB5LdEIIfNvBnBheGi+K3c=; b=fAV47tzkDfTrTn8i6wXvasDjUhX62cHIl2Ge6SIhny/HsP+ohpVKzgUi4jnOdSx9UT xTfUj1AAj5ApdBAEAlr5FVH00j5z25s/hYdfGpSuJMOjBroAll9dMGiltKqOpw7yC7aC eqIWxMLWSKW/hdtckGVJBaNTp92OxJPRtZo6OyyWKqvvKGEI0DB+53iWousFdVIrcYk7 FOAg31FK7d2nkcybOxFa+vYbn6g3l6ySAWzwi54iTO819sdrp/+TmTwUT/QI/0h7zfmh POxMQBbtZw6ZnlTM54aKMI4car3gRa1fYQHV99T3w2cX1VJzGRu+ARm2AriIj369tsgf Ruow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; bh=r2HeUlgZPGznn3qDRP6dKLB5LdEIIfNvBnBheGi+K3c=; b=aeIlXDr+ut9Ny9LJ3Rsp2pB4rx6JMM45DIDBFX1Fnph8gB4QNV+yKC4Xsk8ZZ42YXL HO6A7cKYi57PC7r/rQARo+HlFpA3Tlyeuyt3Kvybk/o+EuA562uxlPpvI7UCiU/py3eT 7uv0mRGRgiltnu2nhkWZ5TTcegn4Zclj84VA+ZbPnvwGcT+LUAIyaV/XRl0YZLahzopO yYnSwjzem8quxDCVwIr6bUlapzkfwkGY9Y4kPp55bw0oUs6ce9YryBFiClvX/pIKnvbx 8niWb/b794aKQ+fYxN9yvs+YnF5BE9X799tSzyu8vXbDHPdDYPE3XkC+TBqiS7w3WxJd PAFw== X-Gm-Message-State: ANhLgQ0+RioD7Igzd6wMrIWjzHbs5wx1Q8qRXQXQlbRSHQHawE4B8/YN KdWenQa4Mc/FpWogdSmm0ybpz7Dz X-Google-Smtp-Source: ADFU+vsRvWboPVFkW7c7iwn4qG220KPPK8VTnUzdU2yOZ4lvi1Q6N04hnAWaqBZBosO24n6B+UYrQg== X-Received: by 2002:a1c:9815:: with SMTP id a21mr22086396wme.11.1584280142934; Sun, 15 Mar 2020 06:49:02 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH] target/rx/cpu: Use address_space_ldl() to read reset vector address Date: Sun, 15 Mar 2020 14:48:59 +0100 Message-Id: <20200315134859.9547-1-f4bug@amsat.org> X-Mailer: git-send-email 2.21.1 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Yoshinori Sato , qemu-block@nongnu.org, Alistair Francis , Stephanos Ioannidis , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Paolo Bonzini , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) From: Philippe Mathieu-Daud=C3=A9 The RX code flash is not a Masked ROM but a EEPROM (electrically erasable programmable flash memory). When implementing the flash hardware, the rom_ptr() returns NULL and the reset vector is not set. Instead, use the address_space ld/st API to fetch the reset vector address from the code flash. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- Based-on: <20200315132810.7022-1-f4bug@amsat.org> Same issue might occurs in Cortex-M arm_cpu_reset() --- target/rx/cpu.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/target/rx/cpu.c b/target/rx/cpu.c index 9c224a273c..d3bd09e753 100644 --- a/target/rx/cpu.c +++ b/target/rx/cpu.c @@ -26,6 +26,8 @@ #include "hw/loader.h" #include "fpu/softfloat.h" =20 +#define CPU_RESET_VECTOR 0xfffffffc + static void rx_cpu_set_pc(CPUState *cs, vaddr value) { RXCPU *cpu =3D RXCPU(cs); @@ -51,17 +53,13 @@ static void rx_cpu_reset(CPUState *s) RXCPU *cpu =3D RXCPU(s); RXCPUClass *rcc =3D RXCPU_GET_CLASS(cpu); CPURXState *env =3D &cpu->env; - uint32_t *resetvec; =20 rcc->parent_reset(s); =20 memset(env, 0, offsetof(CPURXState, end_reset_fields)); =20 - resetvec =3D rom_ptr(0xfffffffc, 4); - if (resetvec) { - /* In the case of kernel, it is ignored because it is not set. */ - env->pc =3D ldl_p(resetvec); - } + env->pc =3D address_space_ldl(cpu_get_address_space(s, 0), + CPU_RESET_VECTOR, MEMTXATTRS_UNSPECIFIED, = NULL); rx_cpu_unpack_psw(env, 0, 1); env->regs[0] =3D env->isp =3D env->usp =3D 0; env->fpsw =3D 0; --=20 2.21.1