All of lore.kernel.org
 help / color / mirror / Atom feed
From: Auer, Lukas <lukas.auer@aisec.fraunhofer.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] FW: [PATCH 18/30] riscv: invalidate the instruction cache before jumping to Linux
Date: Sat, 3 Nov 2018 17:19:46 +0000	[thread overview]
Message-ID: <0c178c730b1f55b1ff3b4ca4aa474a00534b0857.camel@aisec.fraunhofer.de> (raw)
In-Reply-To: <CAN5B=eJ-o=D2=Ls9A2Mj8OKiP=C+HRiW1swEH38ak_NGG+ki9Q@mail.gmail.com>

Hi Rick,

On Wed, 2018-10-31 at 12:22 +0800, Rick Chen wrote:
> Greentime Hu <green.hu@gmail.com> 於 2018年10月31日 週三 上午11:48寫道:
> > 
> > Rick Chen <rickchen36@gmail.com> 於 2018年10月29日 週一 上午10:25寫道:
> > > 
> > > Auer, Lukas <lukas.auer@aisec.fraunhofer.de> 於 2018年10月27日 週六
> > > 上午12:27寫道:
> > > > 
> > > > Hi Rick,
> > > > 
> > > > On Mon, 2018-10-22 at 09:39 +0800, Rick Chen wrote:
> > > > > > From: Lukas Auer [mailto:lukas.auer at aisec.fraunhofer.de]
> > > > > > Sent: Saturday, October 20, 2018 6:08 AM
> > > > > > To: u-boot at lists.denx.de
> > > > > > Cc: Bin Meng; Lukas Auer; Greentime Hu; Alexander Graf;
> > > > > > Rick Jian-
> > > > > > Zhi Chen(陳建志)
> > > > > > Subject: [PATCH 18/30] riscv: invalidate the instruction
> > > > > > cache
> > > > > > before jumping to Linux
> > > > > > 
> > > > > > Signed-off-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
> > > > > > ---
> > > > > > 
> > > > > >  arch/riscv/lib/bootm.c | 1 +
> > > > > >  1 file changed, 1 insertion(+)
> > > > > > 
> > > > > > diff --git a/arch/riscv/lib/bootm.c
> > > > > > b/arch/riscv/lib/bootm.c index
> > > > > > a7a9fb921b..bc1d4b2864 100644
> > > > > > --- a/arch/riscv/lib/bootm.c
> > > > > > +++ b/arch/riscv/lib/bootm.c
> > > > > > @@ -38,6 +38,7 @@ int do_bootm_linux(int flag, int argc,
> > > > > > char
> > > > > > *argv[], bootm_headers_t *images)
> > > > > >                 return 1;
> > > > > > 
> > > > > >         kernel = (void (*)(ulong, void *))images->ep;
> > > > > > +       invalidate_icache_all();
> > > > > 
> > > > > Hi Likas
> > > > > 
> > > > > I wull use cleanup_before_linux() which is in cpu.c as below
> > > > > 
> > > > 
> > > > I would prefer to keep the invalidate_icache_all() in bootm.c
> > > > since it
> > > > is important in the context of the function. I do agree that
> > > > the data
> > > > and instruction caches should be disabled in
> > > > cleanup_before_linux().
> > > > 
> > > 
> > > Hi Lukas
> > > 
> > > It is ok to keep the invalidate_icache_all() in bootm.c
> > > 
> > > Rick
> > > 
> > 
> > Hi Rick,
> > 
> > Since cleanup_before_linux() will invalidate icache, I think it
> > will
> > be better to do the whole cache operations there.
> > As we can see the document from ARM(doc/README.arm-caches) it also
> > said that
> > "
> > Cleanup Before Linux:
> > - cleanup_before_linux() should flush the D-cache, invalidate I-
> > cache, and
> >   disable MMU and caches.
> > "
> > This may reduce the redundant codes/cost.
> > What do you think?
> 
> Hi Greentime
> 
> I agree with you. We shall consider to reduce the redundant
> codes/cost.
> 
> Hi Lukas
> 
> Can you drop this patch ?
> And move it to cache_flush() ?
> 
> Thought this patch have implement it.
> [PATCH] riscv: cache: Implement i/dcache [status, enable, disable]
> 
> But I will send v2 patch to separate /riscv/lib/cache.c
> to /riscv/cpu/ax25/cache.c and /riscv/cpu/qemu/cache.c
> 
> After that you can implement it in /riscv/cpu/qemu/cache.c
> 
> Rick

Ok, I will drop this patch in the next version.

Thanks,
Lukas

  reply	other threads:[~2018-11-03 17:19 UTC|newest]

Thread overview: 119+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-19 22:07 [U-Boot] [PATCH 00/30] General fixes / cleanup for RISC-V and improvements to qemu-riscv Lukas Auer
2018-10-19 22:07 ` [U-Boot] [PATCH 01/30] tools: .gitignore: add prelink-riscv Lukas Auer
2018-10-22  6:22   ` Bin Meng
     [not found]   ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A37BF6@ATCPCS16.andestech.com>
2018-10-23  1:21     ` [U-Boot] FW: " Rick Chen
2018-10-19 22:07 ` [U-Boot] [PATCH 02/30] riscv: ignore device tree binaries Lukas Auer
2018-10-22  6:16   ` Bin Meng
     [not found]     ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A37942@ATCPCS16.andestech.com>
2018-10-23  1:30       ` [U-Boot] FW: " Rick Chen
2018-10-24 14:17         ` Auer, Lukas
2018-10-19 22:07 ` [U-Boot] [PATCH 03/30] dts: riscv: update makefile to also clean the RISC-V dts directory Lukas Auer
2018-10-22  6:23   ` Bin Meng
     [not found]   ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A37C3F@ATCPCS16.andestech.com>
2018-10-23  1:28     ` [U-Boot] FW: " Rick Chen
2018-10-19 22:07 ` [U-Boot] [PATCH 04/30] riscv: rename CPU_RISCV_32/64 to match architecture names ARCH_RV32I/64I Lukas Auer
2018-10-22  6:23   ` Bin Meng
     [not found]     ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A37C6E@ATCPCS16.andestech.com>
     [not found]       ` <CAN5B=eJZp5afSyKRn0=uKz8bkm5cNBq41-JnLLkpn8kwDaf=9A@mail.gmail.com>
2018-10-23  1:46         ` Rick Chen
2018-10-24 14:19     ` Auer, Lukas
2018-10-19 22:07 ` [U-Boot] [PATCH 05/30] riscv: select CONFIG_PHYS_64BIT on RV64I systems Lukas Auer
2018-10-22  6:23   ` Bin Meng
     [not found]     ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A37C8D@ATCPCS16.andestech.com>
2018-10-23  1:50       ` Rick Chen
2018-10-19 22:07 ` [U-Boot] [PATCH 06/30] riscv: add Kconfig entries for the C and A ISA extensions Lukas Auer
2018-10-22  7:21   ` Bin Meng
2018-10-24 15:21     ` Auer, Lukas
2018-10-24 15:32       ` Bin Meng
2018-10-24 15:41         ` Auer, Lukas
2018-10-25  2:12           ` Bin Meng
2018-10-19 22:07 ` [U-Boot] [PATCH 07/30] riscv: set -march and -mabi based on the Kconfig configuration Lukas Auer
2018-10-22  7:21   ` Bin Meng
2018-10-24 15:57     ` Auer, Lukas
2018-10-25  1:56       ` Bin Meng
2018-10-19 22:07 ` [U-Boot] [PATCH 08/30] riscv: add Kconfig entries for the code model Lukas Auer
2018-10-22  7:21   ` Bin Meng
2018-10-19 22:07 ` [U-Boot] [PATCH 09/30] riscv: move target selection into separate file Lukas Auer
2018-10-22  7:22   ` Bin Meng
     [not found]     ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A37D41@ATCPCS16.andestech.com>
2018-10-23  2:48       ` Rick Chen
2018-10-25  2:50         ` Bin Meng
2018-10-25 11:37           ` Auer, Lukas
2018-10-25 11:39     ` Auer, Lukas
2018-10-25 13:32       ` Bin Meng
2018-10-19 22:07 ` [U-Boot] [PATCH 10/30] riscv: enable -fdata-sections Lukas Auer
2018-10-22  7:22   ` Bin Meng
     [not found]     ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A37CD1@ATCPCS16.andestech.com>
2018-10-23  2:20       ` Rick Chen
2018-10-19 22:07 ` [U-Boot] [PATCH 11/30] riscv: fix use of incorrectly sized variables Lukas Auer
2018-10-22  7:36   ` Bin Meng
     [not found]     ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A37E20@ATCPCS16.andestech.com>
2018-10-23  5:52       ` Rick Chen
2018-10-25 11:47         ` Auer, Lukas
2018-10-19 22:07 ` [U-Boot] [PATCH 12/30] riscv: make use of the barrier functions from Linux Lukas Auer
2018-10-22  7:36   ` Bin Meng
     [not found]     ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A37E79@ATCPCS16.andestech.com>
2018-10-23  6:12       ` Rick Chen
2018-10-25 12:39     ` Auer, Lukas
2018-10-19 22:07 ` [U-Boot] [PATCH 13/30] riscv: do not reimplement generic io functions Lukas Auer
2018-10-22  7:36   ` Bin Meng
     [not found]     ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A37E95@ATCPCS16.andestech.com>
2018-10-23  6:18       ` Rick Chen
2018-10-25 12:42     ` Auer, Lukas
2018-10-19 22:07 ` [U-Boot] [PATCH 14/30] riscv: complete the list of exception codes Lukas Auer
2018-10-22  7:36   ` Bin Meng
     [not found]     ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A37EAD@ATCPCS16.andestech.com>
2018-10-23  6:22       ` Rick Chen
2018-10-19 22:07 ` [U-Boot] [PATCH 15/30] riscv: treat undefined exception codes as reserved Lukas Auer
2018-10-22  7:36   ` Bin Meng
     [not found]     ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A37EC2@ATCPCS16.andestech.com>
2018-10-23  6:26       ` Rick Chen
2018-10-19 22:07 ` [U-Boot] [PATCH 16/30] riscv: hang on unhandled exceptions Lukas Auer
2018-10-22  7:46   ` Bin Meng
     [not found]     ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A37ED4@ATCPCS16.andestech.com>
2018-10-23  6:28       ` Rick Chen
2018-10-19 22:07 ` [U-Boot] [PATCH 17/30] riscv: implement the invalidate_icache_* functions Lukas Auer
2018-10-22  7:47   ` Bin Meng
     [not found]     ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A37EEE@ATCPCS16.andestech.com>
2018-10-23  6:34       ` Rick Chen
2018-10-19 22:07 ` [U-Boot] [PATCH 18/30] riscv: invalidate the instruction cache before jumping to Linux Lukas Auer
     [not found]   ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A3568B@ATCPCS16.andestech.com>
2018-10-22  1:39     ` [U-Boot] FW: " Rick Chen
2018-10-26 16:27       ` Auer, Lukas
2018-10-29  2:25         ` Rick Chen
2018-10-31  3:48           ` Greentime Hu
2018-10-31  4:22             ` Rick Chen
2018-11-03 17:19               ` Auer, Lukas [this message]
2018-10-19 22:07 ` [U-Boot] [PATCH 19/30] riscv: fix inconsistent use of spaces and tabs in start.S Lukas Auer
2018-10-22  7:47   ` Bin Meng
     [not found]     ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A37F52@ATCPCS16.andestech.com>
2018-10-23  6:58       ` Rick Chen
2018-10-19 22:07 ` [U-Boot] [PATCH 20/30] riscv: align mtvec on a 4-byte boundary Lukas Auer
2018-10-22  7:47   ` Bin Meng
     [not found]     ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A380C6@ATCPCS16.andestech.com>
2018-10-23  9:17       ` Rick Chen
2018-10-23  9:25         ` Bin Meng
2018-10-19 22:07 ` [U-Boot] [PATCH 21/30] riscv: remove CONFIG_INIT_CRITICAL Lukas Auer
2018-10-22  9:19   ` Bin Meng
2018-10-25  2:57     ` Bin Meng
2018-10-25 15:48       ` Auer, Lukas
2018-10-19 22:07 ` [U-Boot] [PATCH 22/30] riscv: remove unused labels in start.S Lukas Auer
2018-10-22  9:19   ` Bin Meng
     [not found]     ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A38CF1@ATCPCS16.andestech.com>
2018-10-24  2:38       ` Rick Chen
2018-10-24  3:34         ` Bin Meng
2018-10-24  5:20           ` Rick Chen
2018-10-24  5:47             ` Rick Chen
2018-10-24 14:13               ` Auer, Lukas
2018-10-25  1:16                 ` Rick Chen
2018-10-25 15:56                   ` Auer, Lukas
2018-10-29 16:43                     ` Auer, Lukas
2018-10-30  1:49                       ` Rick Chen
2018-10-30 12:51                         ` Auer, Lukas
2018-10-19 22:07 ` [U-Boot] [PATCH 23/30] riscv: do not blindly modify the mstatus CSR Lukas Auer
2018-10-22  9:19   ` Bin Meng
     [not found]     ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A38DCB@ATCPCS16.andestech.com>
2018-10-24  5:51       ` Rick Chen
2018-10-19 22:07 ` [U-Boot] [PATCH 24/30] riscv: save hart ID and device tree passed by prior boot stage Lukas Auer
2018-10-22  9:19   ` Bin Meng
     [not found]     ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A38DE5@ATCPCS16.andestech.com>
2018-10-24  5:56       ` Rick Chen
2018-10-19 22:07 ` [U-Boot] [PATCH 25/30] riscv: qemu: use " Lukas Auer
2018-10-22  9:19   ` Bin Meng
     [not found]     ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A38E02@ATCPCS16.andestech.com>
2018-10-24  6:05       ` Rick Chen
2018-10-19 22:07 ` [U-Boot] [PATCH 26/30] bdinfo: riscv: print fdt_blob address Lukas Auer
2018-10-22  9:35   ` Bin Meng
     [not found]     ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A38E43@ATCPCS16.andestech.com>
2018-10-24  6:54       ` Rick Chen
2018-10-26 13:36         ` Auer, Lukas
2018-10-19 22:07 ` [U-Boot] [PATCH 27/30] riscv: qemu: support booting Linux Lukas Auer
2018-10-22  9:35   ` Bin Meng
2018-10-19 22:07 ` [U-Boot] [PATCH 28/30] riscv: align bootm implementation with that of other architectures Lukas Auer
2018-10-22  9:35   ` Bin Meng
2018-10-19 22:07 ` [U-Boot] [PATCH 29/30] dm: core: add missing prototype for ofnode_read_u64 Lukas Auer
2018-10-22  9:35   ` Bin Meng
2018-10-25 16:09     ` Auer, Lukas
2018-10-19 22:07 ` [U-Boot] [PATCH 30/30] riscv: qemu: detect and boot the kernel passed by QEMU Lukas Auer
2018-10-22  9:35   ` Bin Meng
2018-10-22  9:37 ` [U-Boot] [PATCH 00/30] General fixes / cleanup for RISC-V and improvements to qemu-riscv Bin Meng
2018-10-26 13:20   ` Bin Meng
2018-10-26 13:40     ` Auer, Lukas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0c178c730b1f55b1ff3b4ca4aa474a00534b0857.camel@aisec.fraunhofer.de \
    --to=lukas.auer@aisec.fraunhofer.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.