From patchwork Fri Feb 17 17:51:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Palmer Dabbelt X-Patchwork-Id: 13145098 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 189C2C05027 for ; Fri, 17 Feb 2023 17:53:58 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pT4vS-00058j-R5; Fri, 17 Feb 2023 12:53:38 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pT4vR-000582-QZ for qemu-devel@nongnu.org; Fri, 17 Feb 2023 12:53:37 -0500 Received: from mail-pj1-x1030.google.com ([2607:f8b0:4864:20::1030]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pT4vO-0000sf-7T for qemu-devel@nongnu.org; Fri, 17 Feb 2023 12:53:37 -0500 Received: by mail-pj1-x1030.google.com with SMTP id ev7-20020a17090aeac700b002341621377cso1997244pjb.2 for ; Fri, 17 Feb 2023 09:53:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20210112.gappssmtp.com; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:from:to:cc:subject:date :message-id:reply-to; bh=X9n0Y9mrA9q11LFDbHArIq2i6N1FHNLTiYRxrxwVepg=; b=wkbE5LAJRh6xW77QJGNFoEswljG6bOFc60sco8KGhoeRlicLde7exE3blIw5OE6XKZ vIXee4a3BExn1c/MfePntS3S4fRu7mqd8/QTRTWeQEF5tGVyBvuylkYWBKqYUriL9Pmd bWCNnEkHlHzB2u5U5U7ESMScZWBwuH3DhMhcGyooD5k/nhMflEzO7NteFGu9ym5CcZYo TwRh1yDtI2ytR8NhKrW4robbCG0oyTbclL1SJ4MFQsP0FYDIpeDsIjd1DQ4Gy88idWDy eRMxNFEnb6YiGA8TTNwbu6NE33R1sOSka4kypsy+Ckbe8n0iCPUJ5T8+n7zy4esI5k/o YtJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=X9n0Y9mrA9q11LFDbHArIq2i6N1FHNLTiYRxrxwVepg=; b=XDgdkyluZLsNozismOgLHX+HXYli0QbYyQFG7fvcY+GhBxL8qfjN2nb4xoBYtOvphk VH+RBxqpi5CVmiFzFFn04wHnxBbKWaxiHfJ+Z/ymYwBBrDmKlDqzrDDP8nXQF2AfRr9s dMXEgR68D+2CQGWb+A+ncPdEifNoLLOpH7feF90eb3mMw4MM0fNwHO9LhS9tudAeJADd kp/eCB2iT2vNZPTf/t/BoOvzIKJCZrZR8M1CBNgah/h9cnPy/KxUXfSkDwDK1sy3cPjn nkfQ8isSJ1renOPQJs5tkntthLhtBUkWb2FlhbdC3UTDO7xQL7b2+6j/Nf7c+hbQ+Hvt zBAA== X-Gm-Message-State: AO0yUKUl/3yIEyiNIGAcwgOkURKCWk302P4uNSpAOXC/UpDXGpFSiPAh jE2OfkGEWCd+0yH2+OmWDqqfEjPXVIIaYlm3 X-Google-Smtp-Source: AK7set/XaLbaaOBQL/X3+b1BHP//vKrOAOTUBCtlTprViVp1Xvj5KY/yfIFnRljrx40P79mnUt9q0w== X-Received: by 2002:a05:6a20:430f:b0:bf:9c3:f6ab with SMTP id h15-20020a056a20430f00b000bf09c3f6abmr1228281pzk.35.1676656412516; Fri, 17 Feb 2023 09:53:32 -0800 (PST) Received: from localhost ([135.180.226.51]) by smtp.gmail.com with ESMTPSA id g14-20020a62e30e000000b0058bc60dd98dsm3374194pfh.23.2023.02.17.09.53.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Feb 2023 09:53:31 -0800 (PST) Subject: [PULL 1/9] hw/riscv: handle 32 bit CPUs kernel_entry in riscv_load_kernel() Date: Fri, 17 Feb 2023 09:51:55 -0800 Message-Id: <20230217175203.19510-2-palmer@rivosinc.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230217175203.19510-1-palmer@rivosinc.com> References: <20230217175203.19510-1-palmer@rivosinc.com> MIME-Version: 1.0 Cc: qemu-riscv@nongnu.org, qemu-devel@nongnu.org, Daniel Henrique Barboza , ilippe=20Mathieu-Daud=C3=A9?= , Alistair Francis , Palmer Dabbelt From: Palmer Dabbelt To: Peter Maydell Received-SPF: pass client-ip=2607:f8b0:4864:20::1030; envelope-from=palmer@rivosinc.com; helo=mail-pj1-x1030.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Daniel Henrique Barboza Next patch will move all calls to riscv_load_initrd() to riscv_load_kernel(). Machines that want to load initrd will be able to do via an extra flag to riscv_load_kernel(). This change will expose a sign-extend behavior that is happening in load_elf_ram_sym() when running 32 bit guests [1]. This is currently obscured by the fact that riscv_load_initrd() is using the return of riscv_load_kernel(), defined as target_ulong, and this return type will crop the higher 32 bits that would be padded with 1s by the sign extension when running in 32 bit targets. The changes to be done will force riscv_load_initrd() to use an uint64_t instead, exposing it to the padding when dealing with 32 bit CPUs. There is a discussion about whether load_elf_ram_sym() should or should not sign extend the value returned by 'lowaddr'. What we can do is to prevent the behavior change that the next patch will end up doing. riscv_load_initrd() wasn't dealing with 64 bit kernel entries when running 32 bit CPUs, and we want to keep it that way. One way of doing it is to use target_ulong in 'kernel_entry' in riscv_load_kernel() and rely on the fact that this var will not be sign extended for 32 bit targets. Another way is to explictly clear the higher 32 bits when running 32 bit CPUs for all possibilities of kernel_entry. We opted for the later. This will allow us to be clear about the design choices made in the function, while also allowing us to add a small comment about what load_elf_ram_sym() is doing. With this change, the consolation patch can do its job without worrying about unintended behavioral changes. [1] https://lists.gnu.org/archive/html/qemu-devel/2023-01/msg02281.html Signed-off-by: Daniel Henrique Barboza Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Alistair Francis Message-Id: <20230206140022.2748401-2-dbarboza@ventanamicro.com> Signed-off-by: Alistair Francis Signed-off-by: Palmer Dabbelt --- hw/riscv/boot.c | 20 +++++++++++++++++--- hw/riscv/microchip_pfsoc.c | 3 ++- hw/riscv/opentitan.c | 3 ++- hw/riscv/sifive_e.c | 3 ++- hw/riscv/sifive_u.c | 3 ++- hw/riscv/spike.c | 3 ++- hw/riscv/virt.c | 3 ++- include/hw/riscv/boot.h | 1 + 8 files changed, 30 insertions(+), 9 deletions(-) diff --git a/hw/riscv/boot.c b/hw/riscv/boot.c index c7e0e50bd8..df6b4a1fba 100644 --- a/hw/riscv/boot.c +++ b/hw/riscv/boot.c @@ -174,6 +174,7 @@ target_ulong riscv_load_firmware(const char *firmware_filename, } target_ulong riscv_load_kernel(MachineState *machine, + RISCVHartArrayState *harts, target_ulong kernel_start_addr, symbol_fn_t sym_cb) { @@ -192,21 +193,34 @@ target_ulong riscv_load_kernel(MachineState *machine, if (load_elf_ram_sym(kernel_filename, NULL, NULL, NULL, NULL, &kernel_load_base, NULL, NULL, 0, EM_RISCV, 1, 0, NULL, true, sym_cb) > 0) { - return kernel_load_base; + kernel_entry = kernel_load_base; + goto out; } if (load_uimage_as(kernel_filename, &kernel_entry, NULL, NULL, NULL, NULL, NULL) > 0) { - return kernel_entry; + goto out; } if (load_image_targphys_as(kernel_filename, kernel_start_addr, current_machine->ram_size, NULL) > 0) { - return kernel_start_addr; + kernel_entry = kernel_start_addr; + goto out; } error_report("could not load kernel '%s'", kernel_filename); exit(1); + +out: + /* + * For 32 bit CPUs 'kernel_entry' can be sign-extended by + * load_elf_ram_sym(). + */ + if (riscv_is_32bit(harts)) { + kernel_entry = extract64(kernel_entry, 0, 32); + } + + return kernel_entry; } void riscv_load_initrd(MachineState *machine, uint64_t kernel_entry) diff --git a/hw/riscv/microchip_pfsoc.c b/hw/riscv/microchip_pfsoc.c index 2b91e49561..712625d2a4 100644 --- a/hw/riscv/microchip_pfsoc.c +++ b/hw/riscv/microchip_pfsoc.c @@ -629,7 +629,8 @@ static void microchip_icicle_kit_machine_init(MachineState *machine) kernel_start_addr = riscv_calc_kernel_start_addr(&s->soc.u_cpus, firmware_end_addr); - kernel_entry = riscv_load_kernel(machine, kernel_start_addr, NULL); + kernel_entry = riscv_load_kernel(machine, &s->soc.u_cpus, + kernel_start_addr, NULL); if (machine->initrd_filename) { riscv_load_initrd(machine, kernel_entry); diff --git a/hw/riscv/opentitan.c b/hw/riscv/opentitan.c index 353f030d80..7fe4fb5628 100644 --- a/hw/riscv/opentitan.c +++ b/hw/riscv/opentitan.c @@ -101,7 +101,8 @@ static void opentitan_board_init(MachineState *machine) } if (machine->kernel_filename) { - riscv_load_kernel(machine, memmap[IBEX_DEV_RAM].base, NULL); + riscv_load_kernel(machine, &s->soc.cpus, + memmap[IBEX_DEV_RAM].base, NULL); } } diff --git a/hw/riscv/sifive_e.c b/hw/riscv/sifive_e.c index 3e3f4b0088..1a7d381514 100644 --- a/hw/riscv/sifive_e.c +++ b/hw/riscv/sifive_e.c @@ -114,7 +114,8 @@ static void sifive_e_machine_init(MachineState *machine) memmap[SIFIVE_E_DEV_MROM].base, &address_space_memory); if (machine->kernel_filename) { - riscv_load_kernel(machine, memmap[SIFIVE_E_DEV_DTIM].base, NULL); + riscv_load_kernel(machine, &s->soc.cpus, + memmap[SIFIVE_E_DEV_DTIM].base, NULL); } } diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index d3ab7a9cda..71be442a50 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -598,7 +598,8 @@ static void sifive_u_machine_init(MachineState *machine) kernel_start_addr = riscv_calc_kernel_start_addr(&s->soc.u_cpus, firmware_end_addr); - kernel_entry = riscv_load_kernel(machine, kernel_start_addr, NULL); + kernel_entry = riscv_load_kernel(machine, &s->soc.u_cpus, + kernel_start_addr, NULL); if (machine->initrd_filename) { riscv_load_initrd(machine, kernel_entry); diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c index cc3f6dac17..1fa91167ab 100644 --- a/hw/riscv/spike.c +++ b/hw/riscv/spike.c @@ -305,7 +305,8 @@ static void spike_board_init(MachineState *machine) kernel_start_addr = riscv_calc_kernel_start_addr(&s->soc[0], firmware_end_addr); - kernel_entry = riscv_load_kernel(machine, kernel_start_addr, + kernel_entry = riscv_load_kernel(machine, &s->soc[0], + kernel_start_addr, htif_symbol_callback); if (machine->initrd_filename) { diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index b81081c70b..797c6084b6 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -1277,7 +1277,8 @@ static void virt_machine_done(Notifier *notifier, void *data) kernel_start_addr = riscv_calc_kernel_start_addr(&s->soc[0], firmware_end_addr); - kernel_entry = riscv_load_kernel(machine, kernel_start_addr, NULL); + kernel_entry = riscv_load_kernel(machine, &s->soc[0], + kernel_start_addr, NULL); if (machine->initrd_filename) { riscv_load_initrd(machine, kernel_entry); diff --git a/include/hw/riscv/boot.h b/include/hw/riscv/boot.h index 511390f60e..6295316afb 100644 --- a/include/hw/riscv/boot.h +++ b/include/hw/riscv/boot.h @@ -44,6 +44,7 @@ target_ulong riscv_load_firmware(const char *firmware_filename, hwaddr firmware_load_addr, symbol_fn_t sym_cb); target_ulong riscv_load_kernel(MachineState *machine, + RISCVHartArrayState *harts, target_ulong firmware_end_addr, symbol_fn_t sym_cb); void riscv_load_initrd(MachineState *machine, uint64_t kernel_entry); From patchwork Fri Feb 17 17:51:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Palmer Dabbelt X-Patchwork-Id: 13145106 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 92309C636D6 for ; Fri, 17 Feb 2023 17:57:00 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pT4vT-00059k-O4; Fri, 17 Feb 2023 12:53:39 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pT4vR-000583-Rx for qemu-devel@nongnu.org; Fri, 17 Feb 2023 12:53:37 -0500 Received: from mail-pj1-x1035.google.com ([2607:f8b0:4864:20::1035]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pT4vP-0000sp-MD for qemu-devel@nongnu.org; Fri, 17 Feb 2023 12:53:37 -0500 Received: by mail-pj1-x1035.google.com with SMTP id d2-20020a17090a498200b00236679bc70cso2951869pjh.4 for ; Fri, 17 Feb 2023 09:53:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20210112.gappssmtp.com; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:from:to:cc:subject:date :message-id:reply-to; bh=qM65WvJmtqBdo7YXUq2tCaQm5DhPxT8kHRMe5UdjLts=; b=AmZRywyvZwm92t7Tr97heVhWXNZJbSeE7fNiofc5UeZY9BqubaIccHMmqg1kfNgA2L cVqKkmAUtNOLIRQPeYy9KnGQDhN/BGPPjGtkvnzPPQkOx+4AmOBEWQU9gPwryOvEgFmH 76022UU9s4HGlgbHz3hJsAc94p1d8gfX11YXtpJetfm+H+yL90QfUTWxIej9nKQmRkU3 o/uB6RwOBn+1WwprOuaz8yAVuRL6AGo22Rt6Ma9Rs8u84CdemRG0VFUL5m4GsEWefyRu 6Goc3kV/bD6jEfW6iWn6XahkXqVZAMD5ILEgEwAOHlpBWx6z28C0xKrhwpGEIcUePYZn +QNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qM65WvJmtqBdo7YXUq2tCaQm5DhPxT8kHRMe5UdjLts=; b=Wx9I7+LvejgaGre+ZVNnDPfXvv7a8gC5lVa6Msv7Ayy1AHeXCX7KRcyw9Pvos9OZ8H KrLu2hv+8Q36mGO5gNfRHUxVVksv+tbzY0FHzC22Wy5M4+jC+HV5FChw8c9ABQj/J8OP p4aSv4ntssVL8jaVtjPijUb4A9WWksO2OZI7SpchvqOLwCIM+o5+7/o1FsobxICWFqL5 KT4Iwm1yv2UVli3Rc/pyo06X0SNOBYOnHhZiQqlcJFDU/vX9ZyWc0uo+huah3KbV6JdS JFOlJS+NQjMvpm3pul0p3fpT1A/l/XSdC+FJTj2KXDiNSzHdg256b7Doi4hsgtFsZHZu +SqA== X-Gm-Message-State: AO0yUKW6oQ5B58RkMgTKVPMstQ265/WvSwPFn5RySv92qScODrJobB+v vz7CJr4g+TYP4+jn2/u4yz9Wlw== X-Google-Smtp-Source: AK7set/Nxbx5dbFqe+Z8dCiOfvbhANtjLgTLu4SlYo/VRxTClpx8+/Hngxz8n0KjRbkknd11pD8IeQ== X-Received: by 2002:a17:90b:b01:b0:236:75d3:fedc with SMTP id bf1-20020a17090b0b0100b0023675d3fedcmr2635626pjb.8.1676656413791; Fri, 17 Feb 2023 09:53:33 -0800 (PST) Received: from localhost ([135.180.226.51]) by smtp.gmail.com with ESMTPSA id q6-20020a17090a304600b002341c0ff245sm1040707pjl.19.2023.02.17.09.53.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Feb 2023 09:53:33 -0800 (PST) Subject: [PULL 2/9] hw/riscv/boot.c: consolidate all kernel init in riscv_load_kernel() Date: Fri, 17 Feb 2023 09:51:56 -0800 Message-Id: <20230217175203.19510-3-palmer@rivosinc.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230217175203.19510-1-palmer@rivosinc.com> References: <20230217175203.19510-1-palmer@rivosinc.com> MIME-Version: 1.0 Cc: qemu-riscv@nongnu.org, qemu-devel@nongnu.org, Daniel Henrique Barboza , Palmer Dabbelt , Bin Meng , Alistair Francis , ilippe=20Mathieu-Daud=C3=A9?= , Palmer Dabbelt From: Palmer Dabbelt To: Peter Maydell Received-SPF: pass client-ip=2607:f8b0:4864:20::1035; envelope-from=palmer@rivosinc.com; helo=mail-pj1-x1035.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Daniel Henrique Barboza The microchip_icicle_kit, sifive_u, spike and virt boards are now doing the same steps when '-kernel' is used: - execute load_kernel() - load init_rd() - write kernel_cmdline Let's fold everything inside riscv_load_kernel() to avoid code repetition. To not change the behavior of boards that aren't calling riscv_load_init(), add an 'load_initrd' flag to riscv_load_kernel() and allow these boards to opt out from initrd loading. Cc: Palmer Dabbelt Reviewed-by: Bin Meng Reviewed-by: Alistair Francis Signed-off-by: Daniel Henrique Barboza Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20230206140022.2748401-3-dbarboza@ventanamicro.com> Signed-off-by: Alistair Francis Signed-off-by: Palmer Dabbelt --- hw/riscv/boot.c | 11 +++++++++++ hw/riscv/microchip_pfsoc.c | 11 +---------- hw/riscv/opentitan.c | 3 ++- hw/riscv/sifive_e.c | 3 ++- hw/riscv/sifive_u.c | 11 +---------- hw/riscv/spike.c | 11 +---------- hw/riscv/virt.c | 11 +---------- include/hw/riscv/boot.h | 1 + 8 files changed, 20 insertions(+), 42 deletions(-) diff --git a/hw/riscv/boot.c b/hw/riscv/boot.c index df6b4a1fba..4954bb9d4b 100644 --- a/hw/riscv/boot.c +++ b/hw/riscv/boot.c @@ -176,10 +176,12 @@ target_ulong riscv_load_firmware(const char *firmware_filename, target_ulong riscv_load_kernel(MachineState *machine, RISCVHartArrayState *harts, target_ulong kernel_start_addr, + bool load_initrd, symbol_fn_t sym_cb) { const char *kernel_filename = machine->kernel_filename; uint64_t kernel_load_base, kernel_entry; + void *fdt = machine->fdt; g_assert(kernel_filename != NULL); @@ -220,6 +222,15 @@ out: kernel_entry = extract64(kernel_entry, 0, 32); } + if (load_initrd && machine->initrd_filename) { + riscv_load_initrd(machine, kernel_entry); + } + + if (fdt && machine->kernel_cmdline && *machine->kernel_cmdline) { + qemu_fdt_setprop_string(fdt, "/chosen", "bootargs", + machine->kernel_cmdline); + } + return kernel_entry; } diff --git a/hw/riscv/microchip_pfsoc.c b/hw/riscv/microchip_pfsoc.c index 712625d2a4..e81bbd12df 100644 --- a/hw/riscv/microchip_pfsoc.c +++ b/hw/riscv/microchip_pfsoc.c @@ -630,16 +630,7 @@ static void microchip_icicle_kit_machine_init(MachineState *machine) firmware_end_addr); kernel_entry = riscv_load_kernel(machine, &s->soc.u_cpus, - kernel_start_addr, NULL); - - if (machine->initrd_filename) { - riscv_load_initrd(machine, kernel_entry); - } - - if (machine->kernel_cmdline && *machine->kernel_cmdline) { - qemu_fdt_setprop_string(machine->fdt, "/chosen", - "bootargs", machine->kernel_cmdline); - } + kernel_start_addr, true, NULL); /* Compute the fdt load address in dram */ fdt_load_addr = riscv_compute_fdt_addr(memmap[MICROCHIP_PFSOC_DRAM_LO].base, diff --git a/hw/riscv/opentitan.c b/hw/riscv/opentitan.c index 7fe4fb5628..b06944d382 100644 --- a/hw/riscv/opentitan.c +++ b/hw/riscv/opentitan.c @@ -102,7 +102,8 @@ static void opentitan_board_init(MachineState *machine) if (machine->kernel_filename) { riscv_load_kernel(machine, &s->soc.cpus, - memmap[IBEX_DEV_RAM].base, NULL); + memmap[IBEX_DEV_RAM].base, + false, NULL); } } diff --git a/hw/riscv/sifive_e.c b/hw/riscv/sifive_e.c index 1a7d381514..04939b60c3 100644 --- a/hw/riscv/sifive_e.c +++ b/hw/riscv/sifive_e.c @@ -115,7 +115,8 @@ static void sifive_e_machine_init(MachineState *machine) if (machine->kernel_filename) { riscv_load_kernel(machine, &s->soc.cpus, - memmap[SIFIVE_E_DEV_DTIM].base, NULL); + memmap[SIFIVE_E_DEV_DTIM].base, + false, NULL); } } diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index 71be442a50..ad3bb35b34 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -599,16 +599,7 @@ static void sifive_u_machine_init(MachineState *machine) firmware_end_addr); kernel_entry = riscv_load_kernel(machine, &s->soc.u_cpus, - kernel_start_addr, NULL); - - if (machine->initrd_filename) { - riscv_load_initrd(machine, kernel_entry); - } - - if (machine->kernel_cmdline && *machine->kernel_cmdline) { - qemu_fdt_setprop_string(machine->fdt, "/chosen", "bootargs", - machine->kernel_cmdline); - } + kernel_start_addr, true, NULL); } else { /* * If dynamic firmware is used, it doesn't know where is the next mode diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c index 1fa91167ab..a584d5b3a2 100644 --- a/hw/riscv/spike.c +++ b/hw/riscv/spike.c @@ -307,16 +307,7 @@ static void spike_board_init(MachineState *machine) kernel_entry = riscv_load_kernel(machine, &s->soc[0], kernel_start_addr, - htif_symbol_callback); - - if (machine->initrd_filename) { - riscv_load_initrd(machine, kernel_entry); - } - - if (machine->kernel_cmdline && *machine->kernel_cmdline) { - qemu_fdt_setprop_string(machine->fdt, "/chosen", "bootargs", - machine->kernel_cmdline); - } + true, htif_symbol_callback); } else { /* * If dynamic firmware is used, it doesn't know where is the next mode diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index 797c6084b6..86c4adc0c9 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -1278,16 +1278,7 @@ static void virt_machine_done(Notifier *notifier, void *data) firmware_end_addr); kernel_entry = riscv_load_kernel(machine, &s->soc[0], - kernel_start_addr, NULL); - - if (machine->initrd_filename) { - riscv_load_initrd(machine, kernel_entry); - } - - if (machine->kernel_cmdline && *machine->kernel_cmdline) { - qemu_fdt_setprop_string(machine->fdt, "/chosen", "bootargs", - machine->kernel_cmdline); - } + kernel_start_addr, true, NULL); } else { /* * If dynamic firmware is used, it doesn't know where is the next mode diff --git a/include/hw/riscv/boot.h b/include/hw/riscv/boot.h index 6295316afb..ea1de8b020 100644 --- a/include/hw/riscv/boot.h +++ b/include/hw/riscv/boot.h @@ -46,6 +46,7 @@ target_ulong riscv_load_firmware(const char *firmware_filename, target_ulong riscv_load_kernel(MachineState *machine, RISCVHartArrayState *harts, target_ulong firmware_end_addr, + bool load_initrd, symbol_fn_t sym_cb); void riscv_load_initrd(MachineState *machine, uint64_t kernel_entry); uint64_t riscv_compute_fdt_addr(hwaddr dram_start, uint64_t dram_size, From patchwork Fri Feb 17 17:51:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Palmer Dabbelt X-Patchwork-Id: 13145102 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id F256FC05027 for ; Fri, 17 Feb 2023 17:55:24 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pT4vV-0005Am-C8; Fri, 17 Feb 2023 12:53:41 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pT4vT-000593-75 for qemu-devel@nongnu.org; Fri, 17 Feb 2023 12:53:39 -0500 Received: from mail-pj1-x1033.google.com ([2607:f8b0:4864:20::1033]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pT4vR-0000tB-CR for qemu-devel@nongnu.org; Fri, 17 Feb 2023 12:53:38 -0500 Received: by mail-pj1-x1033.google.com with SMTP id s4-20020a17090a764400b002349a303ca5so2068361pjl.4 for ; Fri, 17 Feb 2023 09:53:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20210112.gappssmtp.com; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:from:to:cc:subject:date :message-id:reply-to; bh=j3hxgJioJYDaoMVQqM2mg2oa252Bx0zdrz7vXWPM9MA=; b=7HWdanCB8vxeAxFHcV5Cb5q3+S35sI6cnLnFnG00qxHIC+zakD8qI32WfzgbDyghpD Q6B4vhaFIWmSGTcwW09ybSgRmXoNQI3AVYG3O35uHPi1kpkUqR55RI6Sd98fFZSP3B73 mXSV3BvBuNRn8dofljP4V8wnnOUjbAvr6Yy4ZaGqAhAG+Xtnx7FMFtd7AnF6jYoTGhA0 kIO2ssmESJhlyL+S8ywMSHXuEFkEW9ELvTf2A6N5LriZXZsntqZyuVW9bM1zW2+b7J8K uKY2x7DVIVLfH4CNf1oILhutcr2lrLUpM2YMUhBPLG6qoM3ffxxipvJWcuW1WTYGLCIr 6H/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=j3hxgJioJYDaoMVQqM2mg2oa252Bx0zdrz7vXWPM9MA=; b=2S5ZGibP/Tumi1lYm1ydhwhG6lxQHVmYgMCXaab0m+fvCZj4t/KojWGI1VZAW5YhoF JpBhDc1hNGbP8IONuhBa9nY/CcU0uCZHCU5CQj0CoT1FsISgzY5gfGRJFe7w9GiAOSdJ nOHJxzNZeLVWL7zdLhEjuLqh6NP5Id1b4DPcnUAbchhsH4+XDNmfIfyJbmPyg5vByWuX s2v+o9YklpBtMz9VxKXfa58t543igEpsFi5pTOQmOwcmT3B/L3/p6kTKGkAnKRTklbK3 quYSu7N39tMThrhvJ+6Oleii21+crU8o/3FC/Wl0DF/096gNpIHaJL2DMrHhhmSBFEy/ jUHQ== X-Gm-Message-State: AO0yUKWbvxWiEyujjJ/0xfoOEZumssfNGVG1xNUeJIVjowc21AnYMgmi EB2VjA66fYWoUKQ9MhQR/krnSQ== X-Google-Smtp-Source: AK7set+g2zKwdoruljwUYqbyQiss/0bDeBRHMDD6NAToHApUIyO1itl/67FLgJD6u7hafNO+wNsIiA== X-Received: by 2002:a17:902:d4cd:b0:19a:b033:2bb0 with SMTP id o13-20020a170902d4cd00b0019ab0332bb0mr192870plg.46.1676656415232; Fri, 17 Feb 2023 09:53:35 -0800 (PST) Received: from localhost ([135.180.226.51]) by smtp.gmail.com with ESMTPSA id jc11-20020a17090325cb00b0019607547f29sm3392166plb.304.2023.02.17.09.53.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Feb 2023 09:53:34 -0800 (PST) Subject: [PULL 3/9] hw/riscv/boot.c: make riscv_load_initrd() static Date: Fri, 17 Feb 2023 09:51:57 -0800 Message-Id: <20230217175203.19510-4-palmer@rivosinc.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230217175203.19510-1-palmer@rivosinc.com> References: <20230217175203.19510-1-palmer@rivosinc.com> MIME-Version: 1.0 Cc: qemu-riscv@nongnu.org, qemu-devel@nongnu.org, Daniel Henrique Barboza , ilippe=20Mathieu-Daud=C3=A9?= , Bin Meng , Alistair Francis , Palmer Dabbelt From: Palmer Dabbelt To: Peter Maydell Received-SPF: pass client-ip=2607:f8b0:4864:20::1033; envelope-from=palmer@rivosinc.com; helo=mail-pj1-x1033.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Daniel Henrique Barboza The only remaining caller is riscv_load_kernel_and_initrd() which belongs to the same file. Signed-off-by: Daniel Henrique Barboza Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Bin Meng Reviewed-by: Alistair Francis Message-Id: <20230206140022.2748401-4-dbarboza@ventanamicro.com> Signed-off-by: Alistair Francis Signed-off-by: Palmer Dabbelt --- hw/riscv/boot.c | 80 ++++++++++++++++++++--------------------- include/hw/riscv/boot.h | 1 - 2 files changed, 40 insertions(+), 41 deletions(-) diff --git a/hw/riscv/boot.c b/hw/riscv/boot.c index 4954bb9d4b..52bf8e67de 100644 --- a/hw/riscv/boot.c +++ b/hw/riscv/boot.c @@ -173,6 +173,46 @@ target_ulong riscv_load_firmware(const char *firmware_filename, exit(1); } +static void riscv_load_initrd(MachineState *machine, uint64_t kernel_entry) +{ + const char *filename = machine->initrd_filename; + uint64_t mem_size = machine->ram_size; + void *fdt = machine->fdt; + hwaddr start, end; + ssize_t size; + + g_assert(filename != NULL); + + /* + * We want to put the initrd far enough into RAM that when the + * kernel is uncompressed it will not clobber the initrd. However + * on boards without much RAM we must ensure that we still leave + * enough room for a decent sized initrd, and on boards with large + * amounts of RAM we must avoid the initrd being so far up in RAM + * that it is outside lowmem and inaccessible to the kernel. + * So for boards with less than 256MB of RAM we put the initrd + * halfway into RAM, and for boards with 256MB of RAM or more we put + * the initrd at 128MB. + */ + start = kernel_entry + MIN(mem_size / 2, 128 * MiB); + + size = load_ramdisk(filename, start, mem_size - start); + if (size == -1) { + size = load_image_targphys(filename, start, mem_size - start); + if (size == -1) { + error_report("could not load ramdisk '%s'", filename); + exit(1); + } + } + + /* Some RISC-V machines (e.g. opentitan) don't have a fdt. */ + if (fdt) { + end = start + size; + qemu_fdt_setprop_cell(fdt, "/chosen", "linux,initrd-start", start); + qemu_fdt_setprop_cell(fdt, "/chosen", "linux,initrd-end", end); + } +} + target_ulong riscv_load_kernel(MachineState *machine, RISCVHartArrayState *harts, target_ulong kernel_start_addr, @@ -234,46 +274,6 @@ out: return kernel_entry; } -void riscv_load_initrd(MachineState *machine, uint64_t kernel_entry) -{ - const char *filename = machine->initrd_filename; - uint64_t mem_size = machine->ram_size; - void *fdt = machine->fdt; - hwaddr start, end; - ssize_t size; - - g_assert(filename != NULL); - - /* - * We want to put the initrd far enough into RAM that when the - * kernel is uncompressed it will not clobber the initrd. However - * on boards without much RAM we must ensure that we still leave - * enough room for a decent sized initrd, and on boards with large - * amounts of RAM we must avoid the initrd being so far up in RAM - * that it is outside lowmem and inaccessible to the kernel. - * So for boards with less than 256MB of RAM we put the initrd - * halfway into RAM, and for boards with 256MB of RAM or more we put - * the initrd at 128MB. - */ - start = kernel_entry + MIN(mem_size / 2, 128 * MiB); - - size = load_ramdisk(filename, start, mem_size - start); - if (size == -1) { - size = load_image_targphys(filename, start, mem_size - start); - if (size == -1) { - error_report("could not load ramdisk '%s'", filename); - exit(1); - } - } - - /* Some RISC-V machines (e.g. opentitan) don't have a fdt. */ - if (fdt) { - end = start + size; - qemu_fdt_setprop_cell(fdt, "/chosen", "linux,initrd-start", start); - qemu_fdt_setprop_cell(fdt, "/chosen", "linux,initrd-end", end); - } -} - /* * This function makes an assumption that the DRAM interval * 'dram_base' + 'dram_size' is contiguous. diff --git a/include/hw/riscv/boot.h b/include/hw/riscv/boot.h index ea1de8b020..a2e4ae9cb0 100644 --- a/include/hw/riscv/boot.h +++ b/include/hw/riscv/boot.h @@ -48,7 +48,6 @@ target_ulong riscv_load_kernel(MachineState *machine, target_ulong firmware_end_addr, bool load_initrd, symbol_fn_t sym_cb); -void riscv_load_initrd(MachineState *machine, uint64_t kernel_entry); uint64_t riscv_compute_fdt_addr(hwaddr dram_start, uint64_t dram_size, MachineState *ms); void riscv_load_fdt(hwaddr fdt_addr, void *fdt); From patchwork Fri Feb 17 17:51:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Palmer Dabbelt X-Patchwork-Id: 13145100 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 06C31C636D7 for ; Fri, 17 Feb 2023 17:54:30 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pT4vb-0005EY-8K; Fri, 17 Feb 2023 12:53:47 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pT4vZ-0005DN-JE for qemu-devel@nongnu.org; Fri, 17 Feb 2023 12:53:45 -0500 Received: from mail-pj1-x1029.google.com ([2607:f8b0:4864:20::1029]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pT4vT-0000u1-HT for qemu-devel@nongnu.org; Fri, 17 Feb 2023 12:53:45 -0500 Received: by mail-pj1-x1029.google.com with SMTP id p15-20020a17090a2d8f00b00233ceae8407so1937114pjd.3 for ; Fri, 17 Feb 2023 09:53:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20210112.gappssmtp.com; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:from:to:cc:subject:date :message-id:reply-to; bh=Iaw472NGYYXp14E+bNSKMd1a/u+hYaSxT3ji3PKZpHY=; b=OHKKHm89DZizCxYgTsb4rlqkD/XEmgx4XfXr6yLAcEUmfr1FTMGoGDS68sDjmh6dKv KxZ/5amWS2iRG4kIJ6lkErhsA5h2ylZV/drDw8shMjxDXUZrE+8uzWJYdJEDS4qIDXl3 +lNcFxw9Y+HE2S/Qv80qNHQvHwjTI28VZtoCk2uwpZ4i9ody21580n7RR1R0AiiEMY2e nDUGraXaCt/Kz6w+78hzVbzac99HusGpdQB3XuHCW/vpNsZ1Rtw09FptZnbAAD8Pyzln mw5AECkwayHFruTAepJBr27DLe4jGO5KPvau16k9q4SMiiZWAa+YLv9tmMEM4A+QM9d7 5h1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Iaw472NGYYXp14E+bNSKMd1a/u+hYaSxT3ji3PKZpHY=; b=3y2l9XKAN/xqR1zDDaiVOaIUcDwqARG7KH3cx5cqE10t/4q0EPmRQSzYktcmFYzD0t MpShWRcl7P1Q+KnxUOYv8fSVKOVdVBcTCw+YUptcGJ+vrwnYJUMoG2bvt+vSvrUBCtnR 0xohbTAjrWbO4jgXxso3r2EImrpP6asBg7wy9bcSKzuQE7UJR7NRAxap/1FJBWyYAMYV Ny1JhWnvfYngcjWIlTjx89WkfhygyBMVdn5zB4p98xfKWrPKtP1Hehuda+G5jY3FhBcY wzbZD5tFM8ffDHfwJTnPgGvLM8nqc5C9bkxFYIQQ7GxLmqoQLH31PpAO4sj7jiMpZHLY 0JYQ== X-Gm-Message-State: AO0yUKWpjFsVDoBP5B8M0tJr8WgvWQ3u8z9OOWgM+TqqX4+s/qIAoDSS +YmXax7hD/7dADJTXccLVwTxHo3CnBAiDvnP X-Google-Smtp-Source: AK7set++ouVXhuM1P1tH0UPoxfLquiVmgO3t/QHto2KMyJK05QGwdsLIk1vwrOjTAi1sOORgq94M7A== X-Received: by 2002:a17:902:c950:b0:19a:aea3:8a92 with SMTP id i16-20020a170902c95000b0019aaea38a92mr3032401pla.16.1676656417078; Fri, 17 Feb 2023 09:53:37 -0800 (PST) Received: from localhost ([135.180.226.51]) by smtp.gmail.com with ESMTPSA id f4-20020a655504000000b004fb5f4bf585sm1535174pgr.78.2023.02.17.09.53.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Feb 2023 09:53:36 -0800 (PST) Subject: [PULL 4/9] roms/opensbi: Upgrade from v1.1 to v1.2 Date: Fri, 17 Feb 2023 09:51:58 -0800 Message-Id: <20230217175203.19510-5-palmer@rivosinc.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230217175203.19510-1-palmer@rivosinc.com> References: <20230217175203.19510-1-palmer@rivosinc.com> MIME-Version: 1.0 Cc: qemu-riscv@nongnu.org, qemu-devel@nongnu.org, Bin Meng , Alistair Francis , Palmer Dabbelt From: Palmer Dabbelt To: Peter Maydell Received-SPF: pass client-ip=2607:f8b0:4864:20::1029; envelope-from=palmer@rivosinc.com; helo=mail-pj1-x1029.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Bin Meng Upgrade OpenSBI from v1.1 to v1.2 and the pre-built bios images. The v1.2 release includes the following commits: 994c8cf lib: sbi_timer: Added a conditional wait function which can timeout caa5eea lib: sbi: add check for ipi device for hsm start 0374ccf lib: sbi_hart: Shorten the code to set MPV bit 4e21cca lib: utils/serial: Update Shakti UART based on latest implementation 88b790f lib: sbi: Fix sbi_snprintf 1545afd lib: sbi: Fix counter index sanity check 83db3af lib: sbi: Add the bound check for events during config match 860a376 lib: sbi: Fix possible buffer overrun in counter validation 11c0008 lib: sbi: Fix fw_event_map initialization 8e86b23 lib: utils/fdt: Factor out common uart node code 7d28d3b lib: utils/serial: Initialize platform_uart_data to zero 7198e1d lib: serial: Clean up coding style in sifive-uart.c f272035 lib: utils/serial: Ensure baudrate is non-zero before using b9edf49 lib: sbi: Fix printf handling of long long 422f0e0 scripts: Add Kconfiglib v14.1.0 under scripts directory 662e631 Makefile: Add initial kconfig support for each platform de80e93 Makefile: Compile lib/utils sources separately for each platform 26bbff5 lib: utils/serial: Use kconfig for enabling/disabling drivers 2adc94b lib: utils/reset: Use kconfig for enabling/disabling drivers 3e76a60 lib: utils/sys: Use kconfig for enabling/disabling drivers 013dbb3 lib: utils/timer: Use kconfig for enabling/disabling drivers 76af9d4 lib: utils/ipi: Use kconfig for enabling/disabling drivers 0b1cf2f lib: utils/irqchip: Use kconfig for enabling/disabling drivers b126ce4 lib: utils/i2c: Use kconfig for enabling/disabling drivers 5616aa4 lib: utils/gpio: Use kconfig for enabling/disabling drivers 68d7b85 lib: utils/fdt: Use kconfig for enabling/disabling d514a8f platform: generic: Use kconfig for enabling/disabling overrides bc317a3 platform: generic: Use kconfig to set platform version and default name eccb9df platform: Remove redundant config.mk from all platforms 0723bab docs: Update documentation for kconfig support a6a8557 Makefile: Fix typo related to object.mk 9529e36 include: Add mstatus[h].GVA encodings 1fbe777 lib: sbi_trap: Save mstatus[h].GVA in trap->gva 1c4ce74 lib: sbi: Set gva when creating sbi_trap_info 5a0ca09 lib: sbi_trap: Set hypervisor CSRs for HS-mode a69eb6c lib: sbi_trap: Set hstatus.GVA when going to HS-mode 111afc1 lib: sbi_illegal_insn: Fix FENCE.TSO emulation infinite trap loop adf44b5 lib: sbi: Use the official extension name for AIA M-mode CSRs cbaa9b0 lib: utils: serial: Add Cadence UART driver 622cc5f include: Remove sideleg and sedeleg a90cf6b lib: sbi_pmu: Remove "event_idx" member from struct sbi_pmu_fw_event 1664d0e lib: sbi_pmu: Replace sbi_pmu_ctr_read() with sbi_pmu_ctr_fw_read() e238459 lib: sbi_pmu: Firmware counters are always 64 bits wide c9b388d lib: sbi_pmu: Simplify FW counters to reduce memory usage d10c1f4 lib: sbi_pmu: Add custom PMU device operations ee69f8e lib: sbi: Print platform PMU device at boot-time 5019fd1 include: sbi: Reduce includes in sbi_pmu.h d32b0a9 docs: pmu: fix Unmatched example typo 19664f6 docs: pmu: extend bindings example for Unmatched 37a0d83 lib: sbi_trap: Add helper to get GVA in sbi_trap_regs 46e744a lib: sbi_misaligned_ldst: Set GVA if not emulating 8ce486a lib: utils/fdt: Fix DT parsing in fdt_pmu_setup() 49372f2 lib: sbi: Fix sbi_strnlen wrong count decrement 7f09fba lib: utils/serial: add semihosting support 7105c18 docs/firmware: Update FW_JUMP documentation 3f3d401 docs: Fix some typos e54cb32 lib: sbi_pmu: move pmu irq information into pmu itself c316fa3 lib: sbi_hart: move hart_features struct to a public location 4f2acb5 lib: sbi_platform: expose hart_features to extension_init callback 2f63f24 platform: generic: add extensions_init handler and platform-override b6e520b platform: generic: allwinner: add support for c9xx pmu 98aa127 include: sbi: Fix typo in comment 11d14ae lib: sbi: Fix typo in comment 60b78fe include: sbi: Fix grammar in comment dcdaf30 lib: sbi: Add sbi_domain_root_add_memrange() API bd7ef41 platform: andes/ae350: Remove enabling cache from an350_final_init 9899b59 platform: andes/ae350: Use kconfig to set platform version and default name 88f58a3 platform: andes/ae350: Use fdt serial driver ef9f02e lib: utils/timer: Add Andes fdt timer support 8234fc1 lib: utils/reset: Add Andes fdt reset driver support 127a3f2 platform: andes/ae350: Use fdt irqchip driver 6f3258e platform: andes/ae350: Add fw_platform_init for platform initialization ce7c490 lib: utils/ipi: Add Andes fdt ipi driver support c8683c5 platform: andes/ae350: Add AE350 domain support d682a0a docs: andes-ae350.md: Update ae350 documentation for fdt driver support 0fee0bf Makefile: Add cscope support 51acd49 docs/firmware: update the document 9d54f43 Makefile: Add rules for carray sources in lib/sbi 56bed1a lib: sbi_ecall: Generate extensions list with carray 22f38ee lib: sbi_ecall: Add Kconfig option for each extension 85cf56c lib: utils/fdt: Remove redundant code 21ba418 lib: utils/fdt: Simplified code 8e9966c docs: fix some typos 7b29264 lib: utils/serial: Fix semihosting compile error using LLVM 14f5c4c lib: sbi_ecall: Split up sbi_ecall_replace 8e63716 firmware: payloads: Optimize usage of "ALIGN" 1b0d71b platform: generic/allwinner: Remove unused header files 9a740f5 platform: generic/allwinner: Remove ghostly type cast ba32021 Makefile: replace `echo` with `printf` for compatibility 49b0e35 Makefile: bugfix for handling platform paths 74e2029 lib: sbi: Simplified mmio match checking fc82e84 lib: sbi: Fix is_region_valid() f8eec91 lib: simplify fdt_parse_plmt_node() cc54184 lib: simplify fdt_parse_plicsw_node() e9bc7f1 lib: fix fdt_parse_plmt_node() 5daa0ef lib: fix fdt_parse_plicsw_node() 1f6866e lib: simplify fdt_translate_address() ad2ac29 lib: fix fdt_parse_aclint_node() cfbabb9 firmware: Minor optimization for relocate a36d455 platform: generic/andes: Enable generic platform support for AE350 6cd4b9b docs: platform: Update AE350 and generic platform documentation d3fcff7 docs: andes-ae350.md: fix watchdog nodename in dts example 4640d04 scripts/create-binary-archive.sh: remove andes/ae350 build directory e977512 lib: utils: Add fdt_fixup_node() helper function e1a0cb0 gitignore: add vim swap files ed8b8f5 platform: generic: Make use of fdt_match_node() 8b00be6 lib: fix is_region_valid() c2be214 lib: fix __fdt_parse_region() 7b08778 lib: fix irqchip_plic_update_hartid_table cb568b9 lib: sbi: Synchronize PMP settings with virtual memory system 506928a scripts: use env to invoke bash 64e8b9f lib: utils: serial: Add Renesas SCIF driver 0021b43 lib: utils: serial: Add FDT driver for Renesas SCIF 6840902 lib: utils/irqchip: Add compatible string for Andestech NCEPLIC100 8b1617d platform: generic: Add Renesas RZ/Five initial support 7a3354a docs: platform: Add documentation for Renesas RZ/Five SoC 34da663 lib: utils/irqchip: plic: Fix the off-by-one error in priority save/restore helpers 8509e46 lib: utils/irqchip: plic: Ensure no out-of-bound access in priority save/restore helpers 91c8a7d lib: utils/irqchip: plic: Fix the off-by-one error in plic_context_init() fabbc00 lib: utils/irqchip: plic: Fix the off-by-one error in context save/restore helpers 9a2eeb4 lib: utils/irqchip: plic: Ensure no out-of-bound access in context save/restore helpers a8ee82c lib: utils/ipi: mswi: add T-Head C9xx CLINT compatible ca7810a lib: utils/timer: mtimer: add a quirk for lacking mtime register b848d87 lib: utils/timer: mtimer: add T-Head C9xx CLINT compatible 391ec85 docs: pmu: fix binding example 0412460 docs: pmu: update a reference to a deprecated property name d5d12a9 docs: pmu: Update the pmu doc with removal of mcountinhbit restriction 6b5188c include: Bump-up version to 1.2 Signed-off-by: Bin Meng Reviewed-by: Alistair Francis Message-id: <20230207044003.3669059-1-bmeng@tinylab.org> Signed-off-by: Alistair Francis Signed-off-by: Palmer Dabbelt --- .../opensbi-riscv32-generic-fw_dynamic.bin | Bin 117704 -> 123072 bytes .../opensbi-riscv64-generic-fw_dynamic.bin | Bin 115344 -> 121800 bytes roms/opensbi | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/pc-bios/opensbi-riscv32-generic-fw_dynamic.bin b/pc-bios/opensbi-riscv32-generic-fw_dynamic.bin index 81bab1adc97bbe9b376f3bfe4da98cdfcf3ade7a..6a8425885c7dd0263391637b665c83d04684c68a 100644 GIT binary patch literal 123072 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 literal 117704 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%0AjLQjZPi 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⪚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 IP#&-NU*?h>$^ZZW diff --git a/pc-bios/opensbi-riscv64-generic-fw_dynamic.bin b/pc-bios/opensbi-riscv64-generic-fw_dynamic.bin index 5eb0a743260b47e07e674db3728d6ba4125847c0..80bdbf2170037541848cf96a6ff71bacea91baf7 100644 GIT binary patch literal 121800 zcmbrn3tUvy_Bg)JoH=tC1VslK6fATClFCRxG|da@FiB}#3rYLdMURNj#E=Y&8^drI z2UMUV9uT^rT|l|_b}7eulgg2fpuHt?Q2^l8`)HFgW`qVF)s+CB3CmS$)AVbykvk~g|;H%N2`!vCSMdC?} zKktaz0`KVghd9GZ#l8b{jcmw$G3RrRqCd$Pq-!#U?tACHziEPRQDFzfPvDDP)6y`G z@Ru<%)tf_Ol#97>=V*+(;+g7P8(p0}NEzTOx+WX_^&RK8%`(e#&-RTiJ@R*nqAPcp z`Ix>jD45nq*pS~m^>v`abzQsoIE{qt>n)mKS2WqxvS|5`+7;U48a*x9V|lO|a#gOb zw@m9osO4112yRuI6ez@%1+K*}7|F5fEF}tIUD5C22FE;GExVV)PW)S1*mGLjHOSO&MJcPr{G8Q1##~baHe^E{#Iow4s$_gs%-$b%zC2TTW5c zmapNTh1x4{%aalPi419iPf`11lW9wI@}Oy+`dut%dHX($PQH+PZhC(4cgYdiLak5ZN=n{Fy z6cj9c^#Ky@Oh>~0>1beFNMt0czB2`p-+4=r=Hn^1RQilthUpn{uTK13#}toHuPgXV zuU6T0S(Bn=^o?=t6MOFK-``Z;QhD{g8y~bE?mXJ_N&md&C~Ne!#W$DSUTR<7`_jOb z=2q+VYqxIRx!q;&>m3{jVJKt^PJh@C%p>|ShB7?HQ}lF3Mu#x8A%v&>Ry>gK@W$ZH zp(!&{=cLgy85hG$-i4mUC=IiCCH*+#YIvM?rDrpv472%B^c=>`Fo$=epJ3b#Pw?*a zTxPUkEA4$#A&!gt+ z=Ti&x3-nQxPOqb$)IUir)Gwr>_0iN*`lqO;^-oia^oyv)`o+{U`e%}3P-sTFlfUNJ zc?*kqd#KAwi~7)@N$axOa;gk|xdn%i%c~jbX|WmUxIY~I>f&Z`%pVueb)JrNpo{0r z&U72=`HH7Ssqj<_&aws!ME5SXLyzBFe(fde%I0)sa!|x= zfo*4tm97Z-j^^6JX^v6K3_(h!GV?4S&D&7>^OQgLdMs6v#OOFv8*M?3U))8>1RAvI|3s@tGfd!`(>+H`a+v-i-<_ZWvQO-A5veyZDQW6?lw}mB*@#6 zocC04av=1jnw6;<8!6FDA%nTT6MvTp7t}Xz5tyik@&9Ew%VCO(gA+^aSujN~0u=<$mTz@*a7(TP8Tteo3<}DrXu! zWtqf$Px_0tcr)MMtz$jm=Kaifm>%5QoG?DdA`Vr#%eln+@YTZAAWw;dVLc{cBmhRtn4RrYfVw}Ew+}eV$%6Jxwt2L>khfE$w~P_^@2A%?uo|>;kmJJmIq)GT?>@bj zf}EI@kfUJkbCeG`?Y=wWr6=olpwD;5D(Q*OKB(9GL;gftMAQ5r6U?&(J_-gEGfD?f ztl5A+L7jkSQ`!Fj?cR9pC~9+jpJR*nBXbJBjMd*>GW$x)F$0y1atiSfHA7fR`9)mn+UMHmK=k$J!_noH5v>FjGVI7}F9hXx6)9lq!ihrcpk+MFV;7Dm7Ug1cUJ@mFC#XMxH zmfDiwtoP5hnDkVYV=hqI@1QQf72i2>nI*QE(ye;!4@V-$PH90d>PBc`cwpezbAlHm z6B;j4;$c`@4=dg|4D=S&AB9zG%BsitNGcZr&Rqu~m7{TG4HH;>6d{aK`lfZ3{6U#BIdJ`ZjjlwYfS%Q)5z{o2NvZbGY zMWQb`J~DL5DqK4}gS>}acr9L`_Q%V}TiD%cuDRZI)@GGjA)C?@(7EKQqCdKQ@r|V| z%bU`X`a9?~*GeBDu95mmG{A`dAd|~g$_0@bv6BSm9TlgUc5v_48p2)uXtPpQnH`d2 zN6Px>ESbpZ7}l�fBO{lX1qldR~}Qh2_SG;hoP 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 X-Patchwork-Id: 13145103 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D34A0C636D6 for ; Fri, 17 Feb 2023 17:55:26 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pT4vX-0005Bn-4a; Fri, 17 Feb 2023 12:53:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pT4vV-0005An-HX for qemu-devel@nongnu.org; Fri, 17 Feb 2023 12:53:41 -0500 Received: from mail-pf1-x432.google.com ([2607:f8b0:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pT4vT-0000u7-Uf for qemu-devel@nongnu.org; Fri, 17 Feb 2023 12:53:41 -0500 Received: by mail-pf1-x432.google.com with SMTP id g7so998160pfv.0 for ; Fri, 17 Feb 2023 09:53:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20210112.gappssmtp.com; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:from:to:cc:subject:date :message-id:reply-to; bh=DDWoUrS3gNFU9IU+ndidQqS1Eb6eRflzx7e/dFgHmuQ=; b=qW0nxrrDmzpJPp5WtQkop6cS2PXq3xZlVYb2DUGKYMpSHI/Nbk2Ikrzj97iVxlGR0q QYuAoElqh5hLibkQ88w8CnbXGqo+RukN4uQ0uiPDUCVgItq2rBoJFv+HUC0cE+eEva7u 3TIpoAg3afcBmkvGJKaLvDtgvhrTLRV5PrS44oyfes2cLhF1g/41N0mA3mJq+PWLCigF wM9Lc//QPb2skPZMWNKEe8XyVTuyKumxI8xEU6XS+/ljjxJQrZUuWPWg8hPCR3He00Jp 34+Psrf7NipSTxXkazd49idiMP1B8STz+i7Ja6EFvANxafjUFpHG7ZBg8JKbqUw8JAPQ IEEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DDWoUrS3gNFU9IU+ndidQqS1Eb6eRflzx7e/dFgHmuQ=; b=rMmaPvddmL2l93bmS7WMtoXVJneuAGpegQEYmEOmJipue1XZ7e6L9u3CcvJzCP8egN uZ9/0UhOwNEAowVAzSPdJ4DJ9TSgh9Rp1wmpanC9NeUYOR/L7W0DZRwYSupvzOKHBxl4 rQfdjLN4HG9pQ29O1BoachxKyG2wtkSyOvyU1pX0I3Jr3+8e/0Zi8awUVVPrAcq4FpBG 1xpsueEDb6xEZJloLaeMUjiCLcg9n+tvrWPRarvvjJj2ljvb+9Y1vV875omKpVCOOFbA 7Z0kpqa6hjngIvrXhMQh9re9WsfjoYCT3bp+JINEY3v18AXIn4eRUgLJyxsQusu9zE6J tasw== X-Gm-Message-State: AO0yUKVl7ZzUXwUJpTXYUNgNAAOYNBINPD4IWqQvojPl0L6En3vhKuf2 pRpIS0ZY9XzpDiqaxAWT+oMbew== X-Google-Smtp-Source: AK7set97je10L1V6RK2sQgL7D9KoR8q+x0KVILmLpszcU5ZBtj/DsUAiDSoCg9nXhSl+pBOuXwJPHQ== X-Received: by 2002:a62:8444:0:b0:5a8:4b27:5db2 with SMTP id k65-20020a628444000000b005a84b275db2mr1597092pfd.1.1676656418530; Fri, 17 Feb 2023 09:53:38 -0800 (PST) Received: from localhost ([135.180.226.51]) by smtp.gmail.com with ESMTPSA id j21-20020aa783d5000000b005a9bbef5d22sm2425888pfn.44.2023.02.17.09.53.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Feb 2023 09:53:38 -0800 (PST) Subject: [PULL 5/9] target/riscv: Remove privileged spec version restriction for RVV Date: Fri, 17 Feb 2023 09:51:59 -0800 Message-Id: <20230217175203.19510-6-palmer@rivosinc.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230217175203.19510-1-palmer@rivosinc.com> References: <20230217175203.19510-1-palmer@rivosinc.com> MIME-Version: 1.0 Cc: qemu-riscv@nongnu.org, qemu-devel@nongnu.org, Frank Chang , Bin Meng , LIU Zhiwei , Alistair Francis , Palmer Dabbelt From: Palmer Dabbelt To: Peter Maydell Received-SPF: pass client-ip=2607:f8b0:4864:20::432; envelope-from=palmer@rivosinc.com; helo=mail-pf1-x432.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Frank Chang The RVV specification does not require that the core needs to support the privileged specification v1.12.0 to support RVV, and there is no dependency from ISA level. This commit removes the restriction from both RVV CSRs and extension CPU ISA string. Signed-off-by: Frank Chang Reviewed-by: Bin Meng Reviewed-by: LIU Zhiwei Acked-by: Alistair Francis Message-Id: <20230208063209.27279-1-frank.chang@sifive.com> Signed-off-by: Alistair Francis Signed-off-by: Palmer Dabbelt --- target/riscv/cpu.c | 2 +- target/riscv/csr.c | 21 +++++++-------------- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 0dd2f0c753..93b52b826c 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -73,7 +73,7 @@ struct isa_ext_data { */ static const struct isa_ext_data isa_edata_arr[] = { ISA_EXT_DATA_ENTRY(h, false, PRIV_VERSION_1_12_0, ext_h), - ISA_EXT_DATA_ENTRY(v, false, PRIV_VERSION_1_12_0, ext_v), + ISA_EXT_DATA_ENTRY(v, false, PRIV_VERSION_1_10_0, ext_v), ISA_EXT_DATA_ENTRY(zicsr, true, PRIV_VERSION_1_10_0, ext_icsr), ISA_EXT_DATA_ENTRY(zifencei, true, PRIV_VERSION_1_10_0, ext_ifencei), ISA_EXT_DATA_ENTRY(zihintpause, true, PRIV_VERSION_1_10_0, ext_zihintpause), diff --git a/target/riscv/csr.c b/target/riscv/csr.c index fa17d7770c..1b0a0c1693 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -3980,20 +3980,13 @@ riscv_csr_operations csr_ops[CSR_TABLE_SIZE] = { [CSR_FRM] = { "frm", fs, read_frm, write_frm }, [CSR_FCSR] = { "fcsr", fs, read_fcsr, write_fcsr }, /* Vector CSRs */ - [CSR_VSTART] = { "vstart", vs, read_vstart, write_vstart, - .min_priv_ver = PRIV_VERSION_1_12_0 }, - [CSR_VXSAT] = { "vxsat", vs, read_vxsat, write_vxsat, - .min_priv_ver = PRIV_VERSION_1_12_0 }, - [CSR_VXRM] = { "vxrm", vs, read_vxrm, write_vxrm, - .min_priv_ver = PRIV_VERSION_1_12_0 }, - [CSR_VCSR] = { "vcsr", vs, read_vcsr, write_vcsr, - .min_priv_ver = PRIV_VERSION_1_12_0 }, - [CSR_VL] = { "vl", vs, read_vl, - .min_priv_ver = PRIV_VERSION_1_12_0 }, - [CSR_VTYPE] = { "vtype", vs, read_vtype, - .min_priv_ver = PRIV_VERSION_1_12_0 }, - [CSR_VLENB] = { "vlenb", vs, read_vlenb, - .min_priv_ver = PRIV_VERSION_1_12_0 }, + [CSR_VSTART] = { "vstart", vs, read_vstart, write_vstart }, + [CSR_VXSAT] = { "vxsat", vs, read_vxsat, write_vxsat }, + [CSR_VXRM] = { "vxrm", vs, read_vxrm, write_vxrm }, + [CSR_VCSR] = { "vcsr", vs, read_vcsr, write_vcsr }, + [CSR_VL] = { "vl", vs, read_vl }, + [CSR_VTYPE] = { "vtype", vs, read_vtype }, + [CSR_VLENB] = { "vlenb", vs, read_vlenb }, /* User Timers and Counters */ [CSR_CYCLE] = { "cycle", ctr, read_hpmcounter }, [CSR_INSTRET] = { "instret", ctr, read_hpmcounter }, From patchwork Fri Feb 17 17:52:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Palmer Dabbelt X-Patchwork-Id: 13145107 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 244DAC636D7 for ; Fri, 17 Feb 2023 17:57:27 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pT4vX-0005CU-UE; Fri, 17 Feb 2023 12:53:44 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pT4vW-0005BB-I8 for qemu-devel@nongnu.org; Fri, 17 Feb 2023 12:53:42 -0500 Received: from mail-pj1-x1029.google.com ([2607:f8b0:4864:20::1029]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pT4vU-0000uj-Sg for qemu-devel@nongnu.org; Fri, 17 Feb 2023 12:53:42 -0500 Received: by mail-pj1-x1029.google.com with SMTP id q14-20020a17090a430e00b00233d7314c1cso2146409pjg.5 for ; Fri, 17 Feb 2023 09:53:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20210112.gappssmtp.com; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:from:to:cc:subject:date :message-id:reply-to; bh=lx0M+hYFCHNKkG1Lj780I7YKmL/EVcbXsrThtaMCRAY=; b=0IAKTl7IOZDcQBpyC+XtwdOvgNyH0cRsksfIHNjGoiOMiLuO7na9vmfg2Qw0T21qej Z0uA9iaCSZtdh00tY9UB3f0wgHFTO2qqF+vOg47Y0pFVdE0k6ygmyxHw9zMcXpyUgkLR Za6j+49wqolcPQQOAbc3lfZzsmYi+XgRp36arQUtD8HT1cBFq8Hn3PCT8k7b+VmeYz2K GVr6mJP0MGT1fTdgLW3l5o+BKFLZN0cdZ8XHs/ebQ+LsjVx6uwj+bdhim2l8rOCg6qE0 Nll2Oh+XZi/xlAK2ihurYmRnp976C4kOrCikDp4Nf5YJdKmC1rnU5fGTuIuI+Wsdp0bF UFNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lx0M+hYFCHNKkG1Lj780I7YKmL/EVcbXsrThtaMCRAY=; b=HIIOkP1TP1Zc7bdyR67YweP+ExC4xq2CrwxZ3B0LQ1vU5CcyrNsWnUHsoTVh4umY9p SyRL79zmz8lpjpx4tGTtZAMThqJ0+E/TaJ4DYSyyuHb9O5AFKQsbQH0Y+i0y4X+yXqwW 4VCs4d8NXCoiX+IXWNFRWwfwK/IsNy3Ikq/Syu7lq4NZlfX4q1Ntzopj9+tuwt0HyUf+ BruFAuJ+SiMylGKZxZZ7yX8Co5EaYUMkdY0D1zaMYPLhey6rMZ2++viY2CWK5fzHt8aN xXnbIwPKeFe+g2QAwq4aES/Ca+5QXFAMMgifIjfIPp04piegaw5Df1RfV8awSc/oY4Io zfPg== X-Gm-Message-State: AO0yUKUfNaOGPoQkkGzjdAAaw5k9rF5ujv6vUkMWDfsJMSlSDu3IT5Kl NLmOb/vrW3eGDaYbN2Y1noThMQ== X-Google-Smtp-Source: AK7set9sE7ST4pvAvj18OxHgEkHYxP03G9nfBG8KifcsLBXY23qXJF+kExlZF9l8MDn78pDoqHEVxg== X-Received: by 2002:a17:902:fad0:b0:199:190c:3c15 with SMTP id ld16-20020a170902fad000b00199190c3c15mr1111746plb.49.1676656419672; Fri, 17 Feb 2023 09:53:39 -0800 (PST) Received: from localhost ([135.180.226.51]) by smtp.gmail.com with ESMTPSA id y9-20020a170902ed4900b0019a256bfe96sm3404335plb.242.2023.02.17.09.53.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Feb 2023 09:53:39 -0800 (PST) Subject: [PULL 6/9] MAINTAINERS: Add some RISC-V reviewers Date: Fri, 17 Feb 2023 09:52:00 -0800 Message-Id: <20230217175203.19510-7-palmer@rivosinc.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230217175203.19510-1-palmer@rivosinc.com> References: <20230217175203.19510-1-palmer@rivosinc.com> MIME-Version: 1.0 Cc: qemu-riscv@nongnu.org, qemu-devel@nongnu.org, Alistair Francis , LIU Zhiwei , Weiwei Li , ilippe=20Mathieu-Daud=C3=A9?= , Bin Meng , Daniel Henrique Barboza , Frank Chang , Palmer Dabbelt From: Palmer Dabbelt To: Peter Maydell Received-SPF: pass client-ip=2607:f8b0:4864:20::1029; envelope-from=palmer@rivosinc.com; helo=mail-pj1-x1029.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Alistair Francis This patch adds some active RISC-V members as reviewers to the MAINTAINERS file. Signed-off-by: Alistair Francis Acked-by: LIU Zhiwei Acked-by: Weiwei Li Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Bin Meng Reviewed-by: Daniel Henrique Barboza Reviewed-by: Frank Chang Message-Id: <20230209003308.738237-1-alistair.francis@opensource.wdc.com> Signed-off-by: Palmer Dabbelt --- MAINTAINERS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 96e25f62ac..847bc7f131 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -287,6 +287,9 @@ RISC-V TCG CPUs M: Palmer Dabbelt M: Alistair Francis M: Bin Meng +R: Weiwei Li +R: Daniel Henrique Barboza +R: Liu Zhiwei L: qemu-riscv@nongnu.org S: Supported F: target/riscv/ From patchwork Fri Feb 17 17:52:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Palmer Dabbelt X-Patchwork-Id: 13145101 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6F591C05027 for ; Fri, 17 Feb 2023 17:55:07 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pT4vZ-0005D4-DX; Fri, 17 Feb 2023 12:53:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pT4vX-0005CK-JM for qemu-devel@nongnu.org; Fri, 17 Feb 2023 12:53:43 -0500 Received: from mail-pj1-x1036.google.com ([2607:f8b0:4864:20::1036]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pT4vW-0000ve-0T for qemu-devel@nongnu.org; Fri, 17 Feb 2023 12:53:43 -0500 Received: by mail-pj1-x1036.google.com with SMTP id q5-20020a17090a1b0500b00229ca6a4636so2262800pjq.0 for ; Fri, 17 Feb 2023 09:53:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20210112.gappssmtp.com; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:from:to:cc:subject:date :message-id:reply-to; bh=HiDf99ONuWgEdr4jvynmYG1DeBAM0qjC8eL111ML/t4=; b=j/x8YpvAWBo+Q43RMSIXgeDpqPlgtgCQPIvEUTcaXItRaErEEpelPgOC5FRtk9haRi g10pq5hgFoU6xvhVVNnHdONETNXcYD5OFkZf18zk2vrow+jG4NMrM0MMQo2FF37mjsKZ qW/+3QUtKXwi0s5zqsEXkzbjV++8zffqhXAdXOdkykRz0+3K0XwpTBK8HVJvQZW5E85i siNwF8sPIeXdYEB7+JuJHg+5Ss4+IAztlM5R8YxuMaEkSzflqNSihD04Evz62Lg9HbJv tVUV0/bjTeshxFtoy9F28l/jladBPDYf1/+Y0+yHoCL0IIl/Le7xqGpP+BDGU+mjWEg4 oHKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HiDf99ONuWgEdr4jvynmYG1DeBAM0qjC8eL111ML/t4=; b=s4SXR56F7v6iM/9FqY65O0pPBOW1LUjQpXFjzFkFapIfustfd5JmZRnHAIaS2D5Mxq P34xm3c/XNPIqvTHkjBUvipCX1Em0B3gbXGwZhfccmpPiQXmdR7sa8hMx+koHU574VQH Bud9DAr2yLLodbdxfaPdv/JjzgGE6h9BftAqFlxEzvFxiJWMlROpDT5hldelYsbw/uWR dBSXBQcivb7QhpcOllmXv4I+BSYNkBZlNTIeQbCWtQzVLp246dlOdh7cnSsKJJqeQkdg MPRBscZhOhIlNHBLTV6lgFLemj+sOiFrLv2l1DhoYh4Ay8QbOSHZVwM729JXr1KJtUzl 9kwA== X-Gm-Message-State: AO0yUKUX5RCGF4v7krGDhXrfMYqsxYwAL0riKkQ5x08v1yEoWqnzPcbo 7ArJ4pT3fcK7ccI8I0qDQ2UjkQ== X-Google-Smtp-Source: AK7set8cLrh9ubaxGaQ61B6QSmIvqkRxyHzof55qKct5mAnGSZSnYY91YpUYi50MnYpxrPrtV4/1pQ== X-Received: by 2002:a17:902:ce0f:b0:19a:9434:af30 with SMTP id k15-20020a170902ce0f00b0019a9434af30mr1028373plg.18.1676656420755; Fri, 17 Feb 2023 09:53:40 -0800 (PST) Received: from localhost ([135.180.226.51]) by smtp.gmail.com with ESMTPSA id jd12-20020a170903260c00b0019a6e9ae01csm3467601plb.21.2023.02.17.09.53.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Feb 2023 09:53:40 -0800 (PST) Subject: [PULL 7/9] target/riscv: Smepmp: Skip applying default rules when address matches Date: Fri, 17 Feb 2023 09:52:01 -0800 Message-Id: <20230217175203.19510-8-palmer@rivosinc.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230217175203.19510-1-palmer@rivosinc.com> References: <20230217175203.19510-1-palmer@rivosinc.com> MIME-Version: 1.0 Cc: qemu-riscv@nongnu.org, qemu-devel@nongnu.org, Himanshu Chauhan , Daniel Henrique Barboza , Alistair Francis , Palmer Dabbelt From: Palmer Dabbelt To: Peter Maydell Received-SPF: pass client-ip=2607:f8b0:4864:20::1036; envelope-from=palmer@rivosinc.com; helo=mail-pj1-x1036.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Himanshu Chauhan When MSECCFG.MML is set, after checking the address range in PMP if the asked permissions are not same as programmed in PMP, the default permissions are applied. This should only be the case when there is no matching address is found. This patch skips applying default rules when matching address range is found. It returns the index of the match PMP entry. Fixes: 824cac681c3 (target/riscv: Fix PMP propagation for tlb) Signed-off-by: Himanshu Chauhan Reviewed-by: Daniel Henrique Barboza Reviewed-by: Alistair Francis Message-Id: <20230209055206.229392-1-hchauhan@ventanamicro.com> Signed-off-by: Alistair Francis Signed-off-by: Palmer Dabbelt --- target/riscv/pmp.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/target/riscv/pmp.c b/target/riscv/pmp.c index d1126a6066..4bc4113531 100644 --- a/target/riscv/pmp.c +++ b/target/riscv/pmp.c @@ -441,9 +441,12 @@ int pmp_hart_has_privs(CPURISCVState *env, target_ulong addr, } } - if ((privs & *allowed_privs) == privs) { - ret = i; - } + /* + * If matching address range was found, the protection bits + * defined with PMP must be used. We shouldn't fallback on + * finding default privileges. + */ + ret = i; break; } } From patchwork Fri Feb 17 17:52:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Palmer Dabbelt X-Patchwork-Id: 13145099 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 487BDC05027 for ; Fri, 17 Feb 2023 17:54:26 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pT4vb-0005Ea-8h; Fri, 17 Feb 2023 12:53:47 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pT4vZ-0005D0-8A for qemu-devel@nongnu.org; Fri, 17 Feb 2023 12:53:45 -0500 Received: from mail-pj1-x1034.google.com ([2607:f8b0:4864:20::1034]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pT4vX-0000wJ-HP for qemu-devel@nongnu.org; Fri, 17 Feb 2023 12:53:44 -0500 Received: by mail-pj1-x1034.google.com with SMTP id y2so1948106pjd.5 for ; Fri, 17 Feb 2023 09:53:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20210112.gappssmtp.com; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:from:to:cc:subject:date :message-id:reply-to; bh=LNYI9dmX50T6dGo7VdQuyO6akiZafXJYK1pmz8lKKOc=; b=LZkODX28HuTrsCQ/i241FbzbJoMXs7xZ7PhankcvYCodN5KoGnzEeQtkOafy7u6aWB IMJ19q1rLlbwdIwJ2KBwNYlWc/C3R50V/I9y7a6mv9SjHWHU+eGBHvT9xmviagjmco+I CrIJ8uTzawrBbVRMHT1ussNrBzcUm7OweDYqEColbepyEkFBsLQ3BpXZm5CtCsqmyjeI 2MBllWS5xVQ3y1IBSZLj4yilcRacJUGyoxX+dGjPlIxbXgvezN81JrxAREi7YE1ct2VE zZmrRvkxDo+4CE0xhTe2XffAtm5cgVASn83W9OJk5/sKv07KX9bw90c9H/Nid3MVUzC/ 8RVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LNYI9dmX50T6dGo7VdQuyO6akiZafXJYK1pmz8lKKOc=; b=JfeKPTzCdaW7zJjzrH974TL5X26eyBjO9voz7dkHVsya3BdsU8bbD0IVM9hJrauzJw eHuhlt37WuIH/5tXefuIdCieBXLIQObO7N8UD8WvSTpJhu1VDnCEEfi+M/mR/04HqLnE eeW56rIUpppAPv/E60ZaXAboSNquaBEJKvbDumo3qAoBQIWQSnbPgnfB/f1zAaPJpwON TYPx0KciTR/CMlQu2g8U4AclOvQpOMVgKQhBc2FHYuOWv2L+evXDpFfwrBxbSssstrts CHBw7RMwpLGWCCkdzJ4DExeA4H/W31DB3m/8h2N3ZPs2p6LF1a4kNyBLc3OmOzIqHAdi bv7A== X-Gm-Message-State: AO0yUKWOb/hK6Usq3lonY0fAw/t6qiC5FshFPEiE1KHju1mljrcBc+LV dT4uQKXmSeEiIABonzx7QloIWg== X-Google-Smtp-Source: AK7set9WrULX4Ak0RER7PdY1Gf8r+4U7zvhUxrfLbbtGe9bIZowFstAhfPgHdk2+fUsLcxJOe4isFg== X-Received: by 2002:a17:902:da8d:b0:19b:c37:25e7 with SMTP id j13-20020a170902da8d00b0019b0c3725e7mr5975009plx.66.1676656422172; Fri, 17 Feb 2023 09:53:42 -0800 (PST) Received: from localhost ([135.180.226.51]) by smtp.gmail.com with ESMTPSA id jc11-20020a17090325cb00b0019607547f29sm3392267plb.304.2023.02.17.09.53.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Feb 2023 09:53:41 -0800 (PST) Subject: [PULL 8/9] target/riscv: avoid env_archcpu() in cpu_get_tb_cpu_state() Date: Fri, 17 Feb 2023 09:52:02 -0800 Message-Id: <20230217175203.19510-9-palmer@rivosinc.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230217175203.19510-1-palmer@rivosinc.com> References: <20230217175203.19510-1-palmer@rivosinc.com> MIME-Version: 1.0 Cc: qemu-riscv@nongnu.org, qemu-devel@nongnu.org, Daniel Henrique Barboza , ilippe=20Mathieu-Daud=C3=A9?= , Weiwei Li , Palmer Dabbelt From: Palmer Dabbelt To: Peter Maydell Received-SPF: pass client-ip=2607:f8b0:4864:20::1034; envelope-from=palmer@rivosinc.com; helo=mail-pj1-x1034.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Daniel Henrique Barboza We have a RISCVCPU *cpu pointer available at the start of the function. Signed-off-by: Daniel Henrique Barboza Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Weiwei Li Message-ID: <20230210123836.506286-1-dbarboza@ventanamicro.com> Signed-off-by: Palmer Dabbelt --- target/riscv/cpu_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c index ad8d82662c..3a9472a2ff 100644 --- a/target/riscv/cpu_helper.c +++ b/target/riscv/cpu_helper.c @@ -60,7 +60,7 @@ void cpu_get_tb_cpu_state(CPURISCVState *env, target_ulong *pc, * which is not supported by GVEC. So we set vl_eq_vlmax flag to true * only when maxsz >= 8 bytes. */ - uint32_t vlmax = vext_get_vlmax(env_archcpu(env), env->vtype); + uint32_t vlmax = vext_get_vlmax(cpu, env->vtype); uint32_t sew = FIELD_EX64(env->vtype, VTYPE, VSEW); uint32_t maxsz = vlmax << sew; bool vl_eq_vlmax = (env->vstart == 0) && (vlmax == env->vl) && From patchwork Fri Feb 17 17:52:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Palmer Dabbelt X-Patchwork-Id: 13145105 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 25B1CC05027 for ; Fri, 17 Feb 2023 17:56:09 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pT4vd-0005Ft-3x; Fri, 17 Feb 2023 12:53:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pT4va-0005Dm-EZ for qemu-devel@nongnu.org; Fri, 17 Feb 2023 12:53:46 -0500 Received: from mail-pj1-x1033.google.com ([2607:f8b0:4864:20::1033]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pT4vY-0000wr-PD for qemu-devel@nongnu.org; Fri, 17 Feb 2023 12:53:46 -0500 Received: by mail-pj1-x1033.google.com with SMTP id p15-20020a17090a2d8f00b00233ceae8407so1937353pjd.3 for ; Fri, 17 Feb 2023 09:53:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20210112.gappssmtp.com; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:from:to:cc:subject:date :message-id:reply-to; bh=Dvwt/N5z68Lhd9kFSQNr2cRX2YRLFZu4dbfdxwq/zxM=; b=EKVHhP5gnNTPWIX0rnOgSnveNg56CGBDQrT5aMbY/4IK+duSy7ag0Ap1Fnz2xKW9LS vCxb0g+B1qPeVCGtBAUQ7TjeUYwvUeDelPYwgIFIaQPU5Ihlgndb7GbDIgkuW1NmPcU5 61u5z6k7LIPO48nZFq08FYQoRMjXYLVjG6yeCjgwMbKk7EHDdXk0Wa779kF/NIzgN3oj zdFC3/i4nlTB9IWpNwRJL6rdWxp6Gl2SXUZ9i6a+8rldaVaC5VCCoXm7e+kz+WCRa2Av vKpjEHlf5EyOJijDyuf56sa7CC7u/kg5N25pnYajyTc4B9yR/+ehn0SLTzsqikJe51PE Lomg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Dvwt/N5z68Lhd9kFSQNr2cRX2YRLFZu4dbfdxwq/zxM=; b=BJ2pO8DhovZzXWSGlKDgxRXMSqxs0XrwwTkynzyDfOLSZDzdtBHY5L+qUxcXwuEx7L WE/xw/QhTevaaozr5WaZhB18Lfii4mfN/G9vn4Av9xghL1UlmMp/raejmoRTYJPUIzoJ 2kOHol2yoP2RQ7qTECqrDJOZKuaJZB5vu4BNlsMpWjqi1NJ1sJwmT5e7rW+VW+c65UJJ xrsosA2GtRmyhZgbKdWTb+QLKYXXiwFl/umEYxR5zGP2B7VwtxCWIU1pkKsI5Fd7vuZM UqX74IUrlHf+I0Gj03nL/0IyHiGFPUmr6SFgRqMcPrKha5ft+DaMQQLyxgWFPmm7kEQf yFng== X-Gm-Message-State: AO0yUKWobsIr68tP5KoPG7jZ9q89GrKCeALA+ycvhZSVMGSw/LDPPLQu FoZ0IRh0kCJRTjBqgxH1G8N0Kg== X-Google-Smtp-Source: AK7set8wD4CUaRVyCzf9tRrgFFGaH1hGKm1MtFCg1ZdIxHP8JYTUSPuk28Sleyly9ZwpKSIlbXLPjg== X-Received: by 2002:a05:6a20:3d88:b0:c7:6f26:c85 with SMTP id s8-20020a056a203d8800b000c76f260c85mr4091241pzi.36.1676656423538; Fri, 17 Feb 2023 09:53:43 -0800 (PST) Received: from localhost ([135.180.226.51]) by smtp.gmail.com with ESMTPSA id h38-20020a631226000000b004fab2ba60adsm2989699pgl.81.2023.02.17.09.53.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Feb 2023 09:53:43 -0800 (PST) Subject: [PULL 9/9] target/riscv: Fix vslide1up.vf and vslide1down.vf Date: Fri, 17 Feb 2023 09:52:03 -0800 Message-Id: <20230217175203.19510-10-palmer@rivosinc.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230217175203.19510-1-palmer@rivosinc.com> References: <20230217175203.19510-1-palmer@rivosinc.com> MIME-Version: 1.0 Cc: qemu-riscv@nongnu.org, qemu-devel@nongnu.org, LIU Zhiwei , Weiwei Li , Frank Chang , Palmer Dabbelt From: Palmer Dabbelt To: Peter Maydell Received-SPF: pass client-ip=2607:f8b0:4864:20::1033; envelope-from=palmer@rivosinc.com; helo=mail-pj1-x1033.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: LIU Zhiwei vslide1up_##BITWIDTH is used by the vslide1up.vx and vslide1up.vf. So its scalar input should be uint64_t to hold the 64 bits float register.And the same for vslide1down_##BITWIDTH. This bug is caught when run these instructions on qemu-riscv32. Signed-off-by: LIU Zhiwei Reviewed-by: Weiwei Li Reviewed-by: Frank Chang Message-ID: <20230213094550.29621-1-zhiwei_liu@linux.alibaba.com> Signed-off-by: Palmer Dabbelt --- target/riscv/vector_helper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c index 00de879787..3073c54871 100644 --- a/target/riscv/vector_helper.c +++ b/target/riscv/vector_helper.c @@ -5038,7 +5038,7 @@ GEN_VEXT_VSLIDEDOWN_VX(vslidedown_vx_w, uint32_t, H4) GEN_VEXT_VSLIDEDOWN_VX(vslidedown_vx_d, uint64_t, H8) #define GEN_VEXT_VSLIE1UP(BITWIDTH, H) \ -static void vslide1up_##BITWIDTH(void *vd, void *v0, target_ulong s1, \ +static void vslide1up_##BITWIDTH(void *vd, void *v0, uint64_t s1, \ void *vs2, CPURISCVState *env, uint32_t desc) \ { \ typedef uint##BITWIDTH##_t ETYPE; \ @@ -5086,7 +5086,7 @@ GEN_VEXT_VSLIDE1UP_VX(vslide1up_vx_w, 32) GEN_VEXT_VSLIDE1UP_VX(vslide1up_vx_d, 64) #define GEN_VEXT_VSLIDE1DOWN(BITWIDTH, H) \ -static void vslide1down_##BITWIDTH(void *vd, void *v0, target_ulong s1, \ +static void vslide1down_##BITWIDTH(void *vd, void *v0, uint64_t s1, \ void *vs2, CPURISCVState *env, uint32_t desc) \ { \ typedef uint##BITWIDTH##_t ETYPE; \