From patchwork Thu Nov 22 04:45:01 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anup Patel X-Patchwork-Id: 1001535 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=brainfault.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=brainfault-org.20150623.gappssmtp.com header.i=@brainfault-org.20150623.gappssmtp.com header.b="pYVgKFJM"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 430n352J0bz9s5c for ; Thu, 22 Nov 2018 15:46:40 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id AB53EC21EE5; Thu, 22 Nov 2018 04:45:42 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 640E2C21EBD; Thu, 22 Nov 2018 04:45:32 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 45DEAC21EDC; Thu, 22 Nov 2018 04:45:29 +0000 (UTC) Received: from mail-pl1-f196.google.com (mail-pl1-f196.google.com [209.85.214.196]) by lists.denx.de (Postfix) with ESMTPS id 6D017C21EFC for ; Thu, 22 Nov 2018 04:45:25 +0000 (UTC) Received: by mail-pl1-f196.google.com with SMTP id 101so2299784pld.6 for ; Wed, 21 Nov 2018 20:45:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brainfault-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=BlYqY81qinbcVzqhu+98cKnUTNlhPTCPVNcsraI/tcU=; b=pYVgKFJMHM+st5zbOy2HcJSwdCBIHijBTNXbOwzLbCfZ/vNZEtt5ELK5FzIcMTm9wx okVE3tblccxfGafn4M1RQFmvNWOYkrWXfz3QukMxGZj2kvUIq7reifiBxeDeOJTY2sma OmIBjclgKH5a8ml0ViZUmoiNr1DtNh7BbYXmSFZH7ibGmDXMWQduq+VZ3QoEMoRb4KAT /wnchK48KFLrZNR/kte/mFcxVB2/4yCK33y/dVUefN+MHPMJvBX/jiy/72wUovo86VMh 6nfso9G0wZAAdsjyX1IHwlpN9N1lDgn90Egjj0zMVjzFaKi0hPvb5qVHLz1/qZWHa9it 9Xzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=BlYqY81qinbcVzqhu+98cKnUTNlhPTCPVNcsraI/tcU=; b=JGuiiMws3P6tgAy0fy+keAuwBof4EE5Hp4NFGPwibFBMDuC7/GSdb8e3NKFmSMIdk0 Giuffe5vH40tFfEdKXeO2r/G7OxRnRdVUHoLFPhC8R17t2PT54AvnUUzIFqUmiFQnJf/ fiiWT9tkdh6TZ9j3sR+hu2l8gYMLhM89C3GjuNphCsEPkL+7Ao+1p/F64XLKmknH/Vo8 vu9Gc3ls5FDC/LwK00aFnitOxezLJLEgKwYmHPQgsbmbNP+XEoLPlmV3RE02/ivN5l60 +UKp7UVEKcTXF3i/7UIgS56O6U10pWg+tWN7+nE47kroq+mgNnSsuvHa5uozTqGoecLx S02w== X-Gm-Message-State: AA+aEWZxffOsEOqTmoUM5wrZau1AdKc0Ayc4FCiRcqNYUwmLpOZb2Erj E6YlgMLb5puAKOQ2pU+7EhtXhA== X-Google-Smtp-Source: AFSGD/U9Gt6PBpqQIalnXXulZMYfGn1VqPp7qDvn2VMSt0VkMleIyxY5O6MmulflPsnvew91TUfrIQ== X-Received: by 2002:a63:5765:: with SMTP id h37mr8649488pgm.423.1542861923754; Wed, 21 Nov 2018 20:45:23 -0800 (PST) Received: from anup-ubuntu64.qualcomm.com ([49.207.51.56]) by smtp.googlemail.com with ESMTPSA id o23-v6sm30869636pfa.112.2018.11.21.20.45.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 21 Nov 2018 20:45:23 -0800 (PST) From: Anup Patel To: Rick Chen Date: Thu, 22 Nov 2018 10:15:01 +0530 Message-Id: <20181122044503.18334-2-anup@brainfault.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181122044503.18334-1-anup@brainfault.org> References: <20181122044503.18334-1-anup@brainfault.org> Cc: U-Boot Mailing List , Palmer Dabbelt , Alexander Graf , Christoph Hellwig , Atish Patra Subject: [U-Boot] [PATCH v4 1/3] riscv: Add kconfig option to run U-Boot in S-mode X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" This patch adds kconfig option RISCV_SMODE to run U-Boot in S-mode. When this opition is enabled we use s CSRs instead of m CSRs. It is important to note that there is no equivalent S-mode CSR for misa and mhartid CSRs so we expect M-mode runtime firmware (BBL or equivalent) to emulate misa and mhartid CSR read. In-future, we will have more patches to avoid accessing misa and mhartid CSRs from S-mode. Signed-off-by: Anup Patel Reviewed-by: Bin Meng Tested-by: Bin Meng Reviewed-by: Lukas Auer --- arch/riscv/Kconfig | 5 +++++ arch/riscv/cpu/start.S | 33 ++++++++++++++++++++++++++++ arch/riscv/include/asm/encoding.h | 2 ++ arch/riscv/lib/interrupts.c | 36 +++++++++++++++++++++++-------- 4 files changed, 67 insertions(+), 9 deletions(-) diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index 3e0af55e71..732a357a99 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -55,6 +55,11 @@ config RISCV_ISA_C config RISCV_ISA_A def_bool y +config RISCV_SMODE + bool "Run in S-Mode" + help + Enable this option to build U-Boot for RISC-V S-Mode + config 32BIT bool diff --git a/arch/riscv/cpu/start.S b/arch/riscv/cpu/start.S index 5af189b338..e4276e8e19 100644 --- a/arch/riscv/cpu/start.S +++ b/arch/riscv/cpu/start.S @@ -39,10 +39,18 @@ _start: mv s1, a1 la t0, trap_entry +#ifdef CONFIG_RISCV_SMODE + csrw stvec, t0 +#else csrw mtvec, t0 +#endif /* mask all interrupts */ +#ifdef CONFIG_RISCV_SMODE + csrw sie, zero +#else csrw mie, zero +#endif /* Enable cache */ jal icache_enable @@ -164,7 +172,11 @@ fix_rela_dyn: */ la t0, trap_entry add t0, t0, t6 +#ifdef CONFIG_RISCV_SMODE + csrw stvec, t0 +#else csrw mtvec, t0 +#endif clear_bss: la t0, __bss_start /* t0 <- rel __bss_start in FLASH */ @@ -236,17 +248,34 @@ trap_entry: SREG x29, 29*REGBYTES(sp) SREG x30, 30*REGBYTES(sp) SREG x31, 31*REGBYTES(sp) +#ifdef CONFIG_RISCV_SMODE + csrr a0, scause + csrr a1, sepc +#else csrr a0, mcause csrr a1, mepc +#endif mv a2, sp jal handle_trap +#ifdef CONFIG_RISCV_SMODE + csrw sepc, a0 +#else csrw mepc, a0 +#endif +#ifdef CONFIG_RISCV_SMODE +/* + * Remain in S-mode after sret + */ + li t0, SSTATUS_SPP + csrs sstatus, t0 +#else /* * Remain in M-mode after mret */ li t0, MSTATUS_MPP csrs mstatus, t0 +#endif LREG x1, 1*REGBYTES(sp) LREG x2, 2*REGBYTES(sp) LREG x3, 3*REGBYTES(sp) @@ -279,4 +308,8 @@ trap_entry: LREG x30, 30*REGBYTES(sp) LREG x31, 31*REGBYTES(sp) addi sp, sp, 32*REGBYTES +#ifdef CONFIG_RISCV_SMODE + sret +#else mret +#endif diff --git a/arch/riscv/include/asm/encoding.h b/arch/riscv/include/asm/encoding.h index 9ea50ce640..153f5af2ff 100644 --- a/arch/riscv/include/asm/encoding.h +++ b/arch/riscv/include/asm/encoding.h @@ -143,6 +143,8 @@ # define MCAUSE_CAUSE MCAUSE32_CAUSE #endif +#define SCAUSE_INT MCAUSE_INT + #define RISCV_PGSHIFT 12 #define RISCV_PGSIZE BIT(RISCV_PGSHIFT) diff --git a/arch/riscv/lib/interrupts.c b/arch/riscv/lib/interrupts.c index 903a1c4cd5..8793f233d0 100644 --- a/arch/riscv/lib/interrupts.c +++ b/arch/riscv/lib/interrupts.c @@ -34,17 +34,35 @@ int disable_interrupts(void) return 0; } -ulong handle_trap(ulong mcause, ulong epc, struct pt_regs *regs) +ulong handle_trap(ulong cause, ulong epc, struct pt_regs *regs) { - ulong is_int; + ulong is_irq, irq; - is_int = (mcause & MCAUSE_INT); - if ((is_int) && ((mcause & MCAUSE_CAUSE) == IRQ_M_EXT)) - external_interrupt(0); /* handle_m_ext_interrupt */ - else if ((is_int) && ((mcause & MCAUSE_CAUSE) == IRQ_M_TIMER)) - timer_interrupt(0); /* handle_m_timer_interrupt */ - else - _exit_trap(mcause, epc, regs); +#ifdef CONFIG_RISCV_SMODE + is_irq = (cause & SCAUSE_INT); + irq = (cause & ~SCAUSE_INT); +#else + is_irq = (cause & MCAUSE_INT); + irq = (cause & ~MCAUSE_INT); +#endif + + if (is_irq) { + switch (irq) { + case IRQ_M_EXT: + case IRQ_S_EXT: + external_interrupt(0); /* handle external interrupt */ + break; + case IRQ_M_TIMER: + case IRQ_S_TIMER: + timer_interrupt(0); /* handle timer interrupt */ + break; + default: + _exit_trap(cause, epc, regs); + break; + }; + } else { + _exit_trap(cause, epc, regs); + } return epc; } From patchwork Thu Nov 22 04:45:02 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anup Patel X-Patchwork-Id: 1001536 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=brainfault.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=brainfault-org.20150623.gappssmtp.com header.i=@brainfault-org.20150623.gappssmtp.com header.b="t/8XAVxJ"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 430n3s1Chfz9s5c for ; Thu, 22 Nov 2018 15:47:21 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id E421FC21EFB; Thu, 22 Nov 2018 04:46:02 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 557A6C21EB1; Thu, 22 Nov 2018 04:46:00 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id B2624C21F02; Thu, 22 Nov 2018 04:45:33 +0000 (UTC) Received: from mail-pl1-f194.google.com (mail-pl1-f194.google.com [209.85.214.194]) by lists.denx.de (Postfix) with ESMTPS id E669AC21F02 for ; Thu, 22 Nov 2018 04:45:29 +0000 (UTC) Received: by mail-pl1-f194.google.com with SMTP id u6so8587454plm.8 for ; Wed, 21 Nov 2018 20:45:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brainfault-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=cKbxcUi8EFtXRX6ZKTRteFrEA1MNrvc3hL5H4tJKH1Y=; b=t/8XAVxJeWactf9CXVMGaxPAp4lme67U9xgX0EhxTafF13UBV1CCuQ+s0d9LniK+4M Lx2tdGiF59Wmsmjolk0/S/WgINv0ROWrEndrLioTtjDLbcjgYIz3ZQpaAPxQt/mK8vc2 mJjx6wqu9EPLSUPtkQ7km9q5E1tSHmcoESjCu8oJYItIht4ucQTRsPzCNT2TTQzpBsyw +HT6L3GZCQTHxrl5gbL9zVx8rBh1fLLqWqhvdnUNSbclLggT/9QuhuQQRSWwqkyPrBjT Vg5JPgzD7CwD81t1H0ihfmbbcn9zSrX5IqkwSZUFH745bl0wke4nzqD3SJsiV0lo2z6Z pxgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=cKbxcUi8EFtXRX6ZKTRteFrEA1MNrvc3hL5H4tJKH1Y=; b=uZLOuMlYhWDlEw5D2029Oda8BSSAjpeBKzT5dNDWJV/CkvccuXX+XmLc8i+pxtrwgO 3Be4Nugf2w5K2yxmWqRzhiXH6Y36NB3tJRr8par87s0ym487sThnS6i2Eyj1Q9NuPmUJ Cb9TEseeP/3PJHHs3tKlqy5vwztaZ6EKCOd8Eodys/7iN5p/PHNghuVeWVm2f4/1TtSD vT2fPgAxaXAOQAHP+XhEshE9sK3rGqUb4yn/8z30X0B4cKdMSElo+TLoUf64Ebcp8f7I P+ynLmNIcMopTdguZOOJTBLTy5ZsArMCEA/PydIIEj/tzIJPhRbspAg0uMSYgIPgu1Gg a/3A== X-Gm-Message-State: AA+aEWbpFlEuz6iyGnN6cxj8K6uXpSE7nn2TbCQdFXIC+32t9sX4/viU 1v6nozO3BylACpZ/RBtNL7KP5A== X-Google-Smtp-Source: AFSGD/W17SQsOnA3J8a3CXkwlbTn3g9fSiXWtcljX0dIzJA8ZL45F2zQ1kQ+mpSlCGXTiS0YRUO5Qg== X-Received: by 2002:a17:902:bb0a:: with SMTP id l10-v6mr9902053pls.230.1542861928342; Wed, 21 Nov 2018 20:45:28 -0800 (PST) Received: from anup-ubuntu64.qualcomm.com ([49.207.51.56]) by smtp.googlemail.com with ESMTPSA id o23-v6sm30869636pfa.112.2018.11.21.20.45.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 21 Nov 2018 20:45:27 -0800 (PST) From: Anup Patel To: Rick Chen Date: Thu, 22 Nov 2018 10:15:02 +0530 Message-Id: <20181122044503.18334-3-anup@brainfault.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181122044503.18334-1-anup@brainfault.org> References: <20181122044503.18334-1-anup@brainfault.org> Cc: U-Boot Mailing List , Palmer Dabbelt , Alexander Graf , Christoph Hellwig , Atish Patra Subject: [U-Boot] [PATCH v4 2/3] riscv: qemu: Use different SYS_TEXT_BASE for S-mode X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" When u-boot runs in S-mode, the M-mode runtime firmware (BBL or equivalent) uses memory range in 0x80000000 to 0x80200000. Due to this, we cannot use 0x80000000 as SYS_TEXT_BASE when running in S-mode. Instead for S-mode, we use 0x80200000 as SYS_TEXT_BASE. Even Linux RISC-V kernel ignores/reserves memory range 0x80000000 to 0x80200000 because it runs in S-mode. Signed-off-by: Anup Patel Reviewed-by: Bin Meng Tested-by: Bin Meng Reviewed-by: Lukas Auer --- board/emulation/qemu-riscv/Kconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/board/emulation/qemu-riscv/Kconfig b/board/emulation/qemu-riscv/Kconfig index 33ca253432..56bb5337d4 100644 --- a/board/emulation/qemu-riscv/Kconfig +++ b/board/emulation/qemu-riscv/Kconfig @@ -13,7 +13,8 @@ config SYS_CONFIG_NAME default "qemu-riscv" config SYS_TEXT_BASE - default 0x80000000 + default 0x80000000 if !RISCV_SMODE + default 0x80200000 if RISCV_SMODE config BOARD_SPECIFIC_OPTIONS # dummy def_bool y From patchwork Thu Nov 22 04:45:03 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anup Patel X-Patchwork-Id: 1001537 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=brainfault.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=brainfault-org.20150623.gappssmtp.com header.i=@brainfault-org.20150623.gappssmtp.com header.b="INnszvox"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 430n4L0SjNz9s5c for ; Thu, 22 Nov 2018 15:47:45 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id BA600C21EDC; Thu, 22 Nov 2018 04:46:26 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 784F7C21EBE; Thu, 22 Nov 2018 04:46:23 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id F3B02C21EA7; Thu, 22 Nov 2018 04:45:40 +0000 (UTC) Received: from mail-pl1-f196.google.com (mail-pl1-f196.google.com [209.85.214.196]) by lists.denx.de (Postfix) with ESMTPS id D0104C21EFB for ; Thu, 22 Nov 2018 04:45:34 +0000 (UTC) Received: by mail-pl1-f196.google.com with SMTP id x21-v6so8583315pln.9 for ; Wed, 21 Nov 2018 20:45:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brainfault-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=kE5TOK27CoYULOVJYCIFjTFsjogrFvdIAWPXy8fp0sA=; b=INnszvoxY1WaszIuEfFgfS8fRrADwLGcmZTrvHRR562yNPsKS10AuDuPssU36mm/TN d8DOlfW8ElsbPXIoF6VU2RUC/uOGwlYZ68Vw9oxf/y/SkI2VrmxKHBw0YB2DlBWRXvU7 bTPh7TT1q4Rl1d9O05AM4gPgrPrxmyrH07amQMyrvK4yuTFYJOpkzd2R9XsvT7Sf+XCQ O0NtJ4jJ4SHHsQpUT2D5xdYhO+kSyvqz2a0tHzPonbTAcd/+3br3sFwJCjC5A2piuB8k pRoHkk9lg+zmvNT12BpJX0pqjcxXPoFLCZZ4uLDbOS8bsW8nZeMNfr3jauf2+q4ARtNu x6FA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=kE5TOK27CoYULOVJYCIFjTFsjogrFvdIAWPXy8fp0sA=; b=RD7pd3JTmUD1baQ1Gvaqb1NQobxeIH2/6QvpkT55w9+PrAeY128E4gGD0kPpowGSH8 s857S+Vu1Dv17LAXQ0pmo5JqnktlJ94I+ICCbSF+HxK/jj0tUxgDEFytRJdAAXaJ97tA WCukOhd6fTXnbw97AAL9+vwY6loH4uWuYl5rQ3QD69VG75w3GjT4dWOG5cMa/GA9WaUq DJEATTvWikaAGYUDpb+zkw500Hqh63lcDQVL4++o3tp8WKRuWvdDC+wUfW+ItfVfRF5M erHWZdmKG4Joez5b7ItslChFZZQKIdSUz+7s18jUDRDwWft2CcX6XLNjMasynVO6+wa1 bbSA== X-Gm-Message-State: AA+aEWZpl330x+zw+jf8votlzu8wuX9g+Y5qGXbgH9nEpiE6RdzdsW18 5oeOcTMoT+YBgl+xqHgZM/jywA== X-Google-Smtp-Source: AFSGD/Ww4ai9LHUjT36Dkj+cqFlWuFpMyeIgGdkr8Z3FvwAFv2rxRyHp6VifXPAPk0UCo95m0P9zjA== X-Received: by 2002:a17:902:4025:: with SMTP id b34mr9802298pld.181.1542861933282; Wed, 21 Nov 2018 20:45:33 -0800 (PST) Received: from anup-ubuntu64.qualcomm.com ([49.207.51.56]) by smtp.googlemail.com with ESMTPSA id o23-v6sm30869636pfa.112.2018.11.21.20.45.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 21 Nov 2018 20:45:32 -0800 (PST) From: Anup Patel To: Rick Chen Date: Thu, 22 Nov 2018 10:15:03 +0530 Message-Id: <20181122044503.18334-4-anup@brainfault.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181122044503.18334-1-anup@brainfault.org> References: <20181122044503.18334-1-anup@brainfault.org> Cc: U-Boot Mailing List , Palmer Dabbelt , Alexander Graf , Christoph Hellwig , Atish Patra Subject: [U-Boot] [PATCH v4 3/3] riscv: Add S-mode defconfigs for QEMU virt machine X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" This patch adds S-mode defconfigs for QEMU virt machine so that we can run u-boot in S-mode on QEMU using M-mode runtime firmware (BBL or equivalent). Signed-off-by: Anup Patel Reviewed-by: Bin Meng Tested-by: Bin Meng Reviewed-by: Lukas Auer --- board/emulation/qemu-riscv/MAINTAINERS | 2 ++ configs/qemu-riscv32_smode_defconfig | 10 ++++++++++ configs/qemu-riscv64_smode_defconfig | 11 +++++++++++ 3 files changed, 23 insertions(+) create mode 100644 configs/qemu-riscv32_smode_defconfig create mode 100644 configs/qemu-riscv64_smode_defconfig diff --git a/board/emulation/qemu-riscv/MAINTAINERS b/board/emulation/qemu-riscv/MAINTAINERS index 3c6eb4f844..c701c83d77 100644 --- a/board/emulation/qemu-riscv/MAINTAINERS +++ b/board/emulation/qemu-riscv/MAINTAINERS @@ -4,4 +4,6 @@ S: Maintained F: board/emulation/qemu-riscv/ F: include/configs/qemu-riscv.h F: configs/qemu-riscv32_defconfig +F: configs/qemu-riscv32_smode_defconfig F: configs/qemu-riscv64_defconfig +F: configs/qemu-riscv64_smode_defconfig diff --git a/configs/qemu-riscv32_smode_defconfig b/configs/qemu-riscv32_smode_defconfig new file mode 100644 index 0000000000..0a84ec1874 --- /dev/null +++ b/configs/qemu-riscv32_smode_defconfig @@ -0,0 +1,10 @@ +CONFIG_RISCV=y +CONFIG_TARGET_QEMU_VIRT=y +CONFIG_RISCV_SMODE=y +CONFIG_DISTRO_DEFAULTS=y +CONFIG_NR_DRAM_BANKS=1 +CONFIG_FIT=y +CONFIG_DISPLAY_CPUINFO=y +CONFIG_DISPLAY_BOARDINFO=y +# CONFIG_CMD_MII is not set +CONFIG_OF_PRIOR_STAGE=y diff --git a/configs/qemu-riscv64_smode_defconfig b/configs/qemu-riscv64_smode_defconfig new file mode 100644 index 0000000000..b012443370 --- /dev/null +++ b/configs/qemu-riscv64_smode_defconfig @@ -0,0 +1,11 @@ +CONFIG_RISCV=y +CONFIG_TARGET_QEMU_VIRT=y +CONFIG_ARCH_RV64I=y +CONFIG_RISCV_SMODE=y +CONFIG_DISTRO_DEFAULTS=y +CONFIG_NR_DRAM_BANKS=1 +CONFIG_FIT=y +CONFIG_DISPLAY_CPUINFO=y +CONFIG_DISPLAY_BOARDINFO=y +# CONFIG_CMD_MII is not set +CONFIG_OF_PRIOR_STAGE=y