All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Jisheng Zhang <jszhang3@mail.ustc.edu.cn>
To: Palmer Dabbelt <palmerdabbelt@google.com>,
	Christoph Hellwig <hch@lst.de>
Cc: Damien Le Moal <Damien.LeMoal@wdc.com>,
	sboyd@kernel.org, linux-riscv@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: drivers/clk/clk-k210.c:717:6: warning: variable 'reg' set but not used
Date: Sat, 12 Jun 2021 21:18:21 +0800	[thread overview]
Message-ID: <20210612211821.7f34fa81@xhacker> (raw)
In-Reply-To: <mhng-7814f596-6d02-4031-b90d-7db1cfed8970@palmerdabbelt-glaptop>

On Fri, 11 Jun 2021 20:55:41 -0700 (PDT)
Palmer Dabbelt <palmerdabbelt@google.com> wrote:

> On Thu, 03 Jun 2021 03:03:14 PDT (-0700), Damien Le Moal wrote:
> >> On 2021/06/03 18:35, kernel test robot wrote:
> >> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> >> head:   324c92e5e0ee0e993bdb106fac407846ed677f6b
> >> commit: c6ca7616f7d5c2ce166280107ba74db1d528fcb7 clk: Add RISC-V Canaan Kendryte K210 clock driver
> >> date:   3 months ago
> >> config: riscv-randconfig-r033-20210603 (attached as .config)
> >> compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project d8e0ae9a76a62bdc6117630d59bf9967ac9bb4ea)
> >> reproduce (this is a W=1 build):
> >>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> >>         chmod +x ~/bin/make.cross
> >>         # install riscv cross compiling tool for clang build
> >>         # apt-get install binutils-riscv64-linux-gnu
> >>         # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c6ca7616f7d5c2ce166280107ba74db1d528fcb7
> >>         git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> >>         git fetch --no-tags linus master
> >>         git checkout c6ca7616f7d5c2ce166280107ba74db1d528fcb7
> >>         # save the attached .config to linux build tree
> >>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv 
> >> 
> >> If you fix the issue, kindly add following tag as appropriate
> >> Reported-by: kernel test robot <lkp@intel.com>
> >> 
> >> All warnings (new ones prefixed by >>):
> >> 
> >>    In file included from drivers/clk/clk-k210.c:8:
> >>    In file included from include/linux/io.h:13:
> >>    In file included from arch/riscv/include/asm/io.h:149:
> >>    include/asm-generic/io.h:556:9: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> >>            return inb(addr);
> >>                   ^~~~~~~~~
> >>    arch/riscv/include/asm/io.h:55:76: note: expanded from macro 'inb'
> >>    #define inb(c)          ({ u8  __v; __io_pbr(); __v = readb_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
> >>                                                                            ~~~~~~~~~~ ^
> >>    arch/riscv/include/asm/mmio.h:87:48: note: expanded from macro 'readb_cpu'
> >>    #define readb_cpu(c)            ({ u8  __r = __raw_readb(c); __r; })
> >>                                                             ^
> >>    In file included from drivers/clk/clk-k210.c:8:
> >>    In file included from include/linux/io.h:13:
> >>    In file included from arch/riscv/include/asm/io.h:149:
> >>    include/asm-generic/io.h:564:9: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> >>            return inw(addr);
> >>                   ^~~~~~~~~
> >>    arch/riscv/include/asm/io.h:56:76: note: expanded from macro 'inw'
> >>    #define inw(c)          ({ u16 __v; __io_pbr(); __v = readw_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
> >>                                                                            ~~~~~~~~~~ ^
> >>    arch/riscv/include/asm/mmio.h:88:76: note: expanded from macro 'readw_cpu'
> >>    #define readw_cpu(c)            ({ u16 __r = le16_to_cpu((__force __le16)__raw_readw(c)); __r; })
> >>                                                                                         ^
> >>    include/uapi/linux/byteorder/little_endian.h:36:51: note: expanded from macro '__le16_to_cpu'
> >>    #define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
> >>                                                      ^
> >>    In file included from drivers/clk/clk-k210.c:8:
> >>    In file included from include/linux/io.h:13:
> >>    In file included from arch/riscv/include/asm/io.h:149:
> >>    include/asm-generic/io.h:572:9: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> >>            return inl(addr);
> >>                   ^~~~~~~~~
> >>    arch/riscv/include/asm/io.h:57:76: note: expanded from macro 'inl'
> >>    #define inl(c)          ({ u32 __v; __io_pbr(); __v = readl_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
> >>                                                                            ~~~~~~~~~~ ^
> >>    arch/riscv/include/asm/mmio.h:89:76: note: expanded from macro 'readl_cpu'
> >>    #define readl_cpu(c)            ({ u32 __r = le32_to_cpu((__force __le32)__raw_readl(c)); __r; })
> >>                                                                                         ^
> >>    include/uapi/linux/byteorder/little_endian.h:34:51: note: expanded from macro '__le32_to_cpu'
> >>    #define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
> >>                                                      ^
> >>    In file included from drivers/clk/clk-k210.c:8:
> >>    In file included from include/linux/io.h:13:
> >>    In file included from arch/riscv/include/asm/io.h:149:
> >>    include/asm-generic/io.h:580:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> >>            outb(value, addr);
> >>            ^~~~~~~~~~~~~~~~~
> >>    arch/riscv/include/asm/io.h:59:68: note: expanded from macro 'outb'
> >>    #define outb(v,c)       ({ __io_pbw(); writeb_cpu((v),(void*)(PCI_IOBASE + (c))); __io_paw(); })
> >>                                                                  ~~~~~~~~~~ ^
> >>    arch/riscv/include/asm/mmio.h:91:52: note: expanded from macro 'writeb_cpu'
> >>    #define writeb_cpu(v, c)        ((void)__raw_writeb((v), (c)))
> >>                                                              ^
> >>    In file included from drivers/clk/clk-k210.c:8:
> >>    In file included from include/linux/io.h:13:
> >>    In file included from arch/riscv/include/asm/io.h:149:
> >>    include/asm-generic/io.h:588:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> >>            outw(value, addr);
> >>            ^~~~~~~~~~~~~~~~~
> >>    arch/riscv/include/asm/io.h:60:68: note: expanded from macro 'outw'
> >>    #define outw(v,c)       ({ __io_pbw(); writew_cpu((v),(void*)(PCI_IOBASE + (c))); __io_paw(); })
> >>                                                                  ~~~~~~~~~~ ^
> >>    arch/riscv/include/asm/mmio.h:92:76: note: expanded from macro 'writew_cpu'
> >>    #define writew_cpu(v, c)        ((void)__raw_writew((__force u16)cpu_to_le16(v), (c)))
> >>                                                                                      ^
> >>    In file included from drivers/clk/clk-k210.c:8:
> >>    In file included from include/linux/io.h:13:
> >>    In file included from arch/riscv/include/asm/io.h:149:
> >>    include/asm-generic/io.h:596:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> >>            outl(value, addr);
> >>            ^~~~~~~~~~~~~~~~~
> >>    arch/riscv/include/asm/io.h:61:68: note: expanded from macro 'outl'
> >>    #define outl(v,c)       ({ __io_pbw(); writel_cpu((v),(void*)(PCI_IOBASE + (c))); __io_paw(); })
> >>                                                                  ~~~~~~~~~~ ^
> >>    arch/riscv/include/asm/mmio.h:93:76: note: expanded from macro 'writel_cpu'
> >>    #define writel_cpu(v, c)        ((void)__raw_writel((__force u32)cpu_to_le32(v), (c)))
> >>                                                                                      ^
> >>    In file included from drivers/clk/clk-k210.c:8:
> >>    In file included from include/linux/io.h:13:
> >>    In file included from arch/riscv/include/asm/io.h:149:
> >>    include/asm-generic/io.h:1005:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> >>            return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;

+ Christoph

This warning can only be reproduced with clang + W=1
The problem is that PCI_IOBASE isn't defined for NOMMU, so clang complains
null pointer arithmetic.


> >>                                                      ~~~~~~~~~~ ^  
> >>>> drivers/clk/clk-k210.c:717:6: warning: variable 'reg' set but not used [-Wunused-but-set-variable]  
> >>            u32 reg;
> >>                ^
> >>    8 warnings generated.

This warning can't be reproduced even with clang + W=1

> >> 
> >> 
> >> vim +/reg +717 drivers/clk/clk-k210.c
> >> 
> >>    710	
> >>    711	static int k210_clk_set_parent(struct clk_hw *hw, u8 index)
> >>    712	{
> >>    713		struct k210_clk *kclk = to_k210_clk(hw);
> >>    714		struct k210_sysclk *ksc = kclk->ksc;
> >>    715		struct k210_clk_cfg *cfg = &k210_clk_cfgs[kclk->id];
> >>    716		unsigned long flags;  
> >>  > 717		u32 reg;  
> >
> > Palmer,
> >
> > I do not think this driver is the real cause of this error. Did something change
> > recently with risc-v mmio readl()/writel() ?  
> 
> I have no idea what's going on here.  When I try to re-build that config 
> I don't get any warnings or errors.  That said...
> 
> >>    718	
> >>    719		spin_lock_irqsave(&ksc->clk_lock, flags);
> >>    720		reg = readl(ksc->regs + cfg->mux_reg);
> >>    721		if (index)
> >>    722			reg |= BIT(cfg->mux_bit);
> >>    723		else
> >>    724			reg &= ~BIT(cfg->mux_bit);
> >>    725		spin_unlock_irqrestore(&ksc->clk_lock, flags);  
> 
> Isn't reg unused here?  That's one of the warnings.
> 
> The void* casting has been there for a while and looks like a real bug, 
> but asm-generic adopted our {in,out}{bwlq} implementation so I'm just 
> going to toss ours.  I'm not quite sure why the generic ones aren't 
> doing arithmetic on void*, but I'm not getting warnings.
> 
> >>    726	
> >>    727		return 0;
> >>    728	}
> >>    729	
> >> 
> >> ---
> >> 0-DAY CI Kernel Test Service, Intel Corporation
> >> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
> >>   
> >
> >
> >-- 
> >Damien Le Moal
> >Western Digital Research
> >  
> 
> _______________________________________________
> linux-riscv mailing list
> linux-riscv@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv



WARNING: multiple messages have this Message-ID (diff)
From: Jisheng Zhang <jszhang3@mail.ustc.edu.cn>
To: Palmer Dabbelt <palmerdabbelt@google.com>,
	Christoph Hellwig <hch@lst.de>
Cc: Damien Le Moal <Damien.LeMoal@wdc.com>,
	sboyd@kernel.org, linux-riscv@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: drivers/clk/clk-k210.c:717:6: warning: variable 'reg' set but not used
Date: Sat, 12 Jun 2021 21:18:21 +0800	[thread overview]
Message-ID: <20210612211821.7f34fa81@xhacker> (raw)
In-Reply-To: <mhng-7814f596-6d02-4031-b90d-7db1cfed8970@palmerdabbelt-glaptop>

On Fri, 11 Jun 2021 20:55:41 -0700 (PDT)
Palmer Dabbelt <palmerdabbelt@google.com> wrote:

> On Thu, 03 Jun 2021 03:03:14 PDT (-0700), Damien Le Moal wrote:
> >> On 2021/06/03 18:35, kernel test robot wrote:
> >> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> >> head:   324c92e5e0ee0e993bdb106fac407846ed677f6b
> >> commit: c6ca7616f7d5c2ce166280107ba74db1d528fcb7 clk: Add RISC-V Canaan Kendryte K210 clock driver
> >> date:   3 months ago
> >> config: riscv-randconfig-r033-20210603 (attached as .config)
> >> compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project d8e0ae9a76a62bdc6117630d59bf9967ac9bb4ea)
> >> reproduce (this is a W=1 build):
> >>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> >>         chmod +x ~/bin/make.cross
> >>         # install riscv cross compiling tool for clang build
> >>         # apt-get install binutils-riscv64-linux-gnu
> >>         # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c6ca7616f7d5c2ce166280107ba74db1d528fcb7
> >>         git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> >>         git fetch --no-tags linus master
> >>         git checkout c6ca7616f7d5c2ce166280107ba74db1d528fcb7
> >>         # save the attached .config to linux build tree
> >>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv 
> >> 
> >> If you fix the issue, kindly add following tag as appropriate
> >> Reported-by: kernel test robot <lkp@intel.com>
> >> 
> >> All warnings (new ones prefixed by >>):
> >> 
> >>    In file included from drivers/clk/clk-k210.c:8:
> >>    In file included from include/linux/io.h:13:
> >>    In file included from arch/riscv/include/asm/io.h:149:
> >>    include/asm-generic/io.h:556:9: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> >>            return inb(addr);
> >>                   ^~~~~~~~~
> >>    arch/riscv/include/asm/io.h:55:76: note: expanded from macro 'inb'
> >>    #define inb(c)          ({ u8  __v; __io_pbr(); __v = readb_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
> >>                                                                            ~~~~~~~~~~ ^
> >>    arch/riscv/include/asm/mmio.h:87:48: note: expanded from macro 'readb_cpu'
> >>    #define readb_cpu(c)            ({ u8  __r = __raw_readb(c); __r; })
> >>                                                             ^
> >>    In file included from drivers/clk/clk-k210.c:8:
> >>    In file included from include/linux/io.h:13:
> >>    In file included from arch/riscv/include/asm/io.h:149:
> >>    include/asm-generic/io.h:564:9: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> >>            return inw(addr);
> >>                   ^~~~~~~~~
> >>    arch/riscv/include/asm/io.h:56:76: note: expanded from macro 'inw'
> >>    #define inw(c)          ({ u16 __v; __io_pbr(); __v = readw_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
> >>                                                                            ~~~~~~~~~~ ^
> >>    arch/riscv/include/asm/mmio.h:88:76: note: expanded from macro 'readw_cpu'
> >>    #define readw_cpu(c)            ({ u16 __r = le16_to_cpu((__force __le16)__raw_readw(c)); __r; })
> >>                                                                                         ^
> >>    include/uapi/linux/byteorder/little_endian.h:36:51: note: expanded from macro '__le16_to_cpu'
> >>    #define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
> >>                                                      ^
> >>    In file included from drivers/clk/clk-k210.c:8:
> >>    In file included from include/linux/io.h:13:
> >>    In file included from arch/riscv/include/asm/io.h:149:
> >>    include/asm-generic/io.h:572:9: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> >>            return inl(addr);
> >>                   ^~~~~~~~~
> >>    arch/riscv/include/asm/io.h:57:76: note: expanded from macro 'inl'
> >>    #define inl(c)          ({ u32 __v; __io_pbr(); __v = readl_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
> >>                                                                            ~~~~~~~~~~ ^
> >>    arch/riscv/include/asm/mmio.h:89:76: note: expanded from macro 'readl_cpu'
> >>    #define readl_cpu(c)            ({ u32 __r = le32_to_cpu((__force __le32)__raw_readl(c)); __r; })
> >>                                                                                         ^
> >>    include/uapi/linux/byteorder/little_endian.h:34:51: note: expanded from macro '__le32_to_cpu'
> >>    #define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
> >>                                                      ^
> >>    In file included from drivers/clk/clk-k210.c:8:
> >>    In file included from include/linux/io.h:13:
> >>    In file included from arch/riscv/include/asm/io.h:149:
> >>    include/asm-generic/io.h:580:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> >>            outb(value, addr);
> >>            ^~~~~~~~~~~~~~~~~
> >>    arch/riscv/include/asm/io.h:59:68: note: expanded from macro 'outb'
> >>    #define outb(v,c)       ({ __io_pbw(); writeb_cpu((v),(void*)(PCI_IOBASE + (c))); __io_paw(); })
> >>                                                                  ~~~~~~~~~~ ^
> >>    arch/riscv/include/asm/mmio.h:91:52: note: expanded from macro 'writeb_cpu'
> >>    #define writeb_cpu(v, c)        ((void)__raw_writeb((v), (c)))
> >>                                                              ^
> >>    In file included from drivers/clk/clk-k210.c:8:
> >>    In file included from include/linux/io.h:13:
> >>    In file included from arch/riscv/include/asm/io.h:149:
> >>    include/asm-generic/io.h:588:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> >>            outw(value, addr);
> >>            ^~~~~~~~~~~~~~~~~
> >>    arch/riscv/include/asm/io.h:60:68: note: expanded from macro 'outw'
> >>    #define outw(v,c)       ({ __io_pbw(); writew_cpu((v),(void*)(PCI_IOBASE + (c))); __io_paw(); })
> >>                                                                  ~~~~~~~~~~ ^
> >>    arch/riscv/include/asm/mmio.h:92:76: note: expanded from macro 'writew_cpu'
> >>    #define writew_cpu(v, c)        ((void)__raw_writew((__force u16)cpu_to_le16(v), (c)))
> >>                                                                                      ^
> >>    In file included from drivers/clk/clk-k210.c:8:
> >>    In file included from include/linux/io.h:13:
> >>    In file included from arch/riscv/include/asm/io.h:149:
> >>    include/asm-generic/io.h:596:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> >>            outl(value, addr);
> >>            ^~~~~~~~~~~~~~~~~
> >>    arch/riscv/include/asm/io.h:61:68: note: expanded from macro 'outl'
> >>    #define outl(v,c)       ({ __io_pbw(); writel_cpu((v),(void*)(PCI_IOBASE + (c))); __io_paw(); })
> >>                                                                  ~~~~~~~~~~ ^
> >>    arch/riscv/include/asm/mmio.h:93:76: note: expanded from macro 'writel_cpu'
> >>    #define writel_cpu(v, c)        ((void)__raw_writel((__force u32)cpu_to_le32(v), (c)))
> >>                                                                                      ^
> >>    In file included from drivers/clk/clk-k210.c:8:
> >>    In file included from include/linux/io.h:13:
> >>    In file included from arch/riscv/include/asm/io.h:149:
> >>    include/asm-generic/io.h:1005:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
> >>            return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;

+ Christoph

This warning can only be reproduced with clang + W=1
The problem is that PCI_IOBASE isn't defined for NOMMU, so clang complains
null pointer arithmetic.


> >>                                                      ~~~~~~~~~~ ^  
> >>>> drivers/clk/clk-k210.c:717:6: warning: variable 'reg' set but not used [-Wunused-but-set-variable]  
> >>            u32 reg;
> >>                ^
> >>    8 warnings generated.

This warning can't be reproduced even with clang + W=1

> >> 
> >> 
> >> vim +/reg +717 drivers/clk/clk-k210.c
> >> 
> >>    710	
> >>    711	static int k210_clk_set_parent(struct clk_hw *hw, u8 index)
> >>    712	{
> >>    713		struct k210_clk *kclk = to_k210_clk(hw);
> >>    714		struct k210_sysclk *ksc = kclk->ksc;
> >>    715		struct k210_clk_cfg *cfg = &k210_clk_cfgs[kclk->id];
> >>    716		unsigned long flags;  
> >>  > 717		u32 reg;  
> >
> > Palmer,
> >
> > I do not think this driver is the real cause of this error. Did something change
> > recently with risc-v mmio readl()/writel() ?  
> 
> I have no idea what's going on here.  When I try to re-build that config 
> I don't get any warnings or errors.  That said...
> 
> >>    718	
> >>    719		spin_lock_irqsave(&ksc->clk_lock, flags);
> >>    720		reg = readl(ksc->regs + cfg->mux_reg);
> >>    721		if (index)
> >>    722			reg |= BIT(cfg->mux_bit);
> >>    723		else
> >>    724			reg &= ~BIT(cfg->mux_bit);
> >>    725		spin_unlock_irqrestore(&ksc->clk_lock, flags);  
> 
> Isn't reg unused here?  That's one of the warnings.
> 
> The void* casting has been there for a while and looks like a real bug, 
> but asm-generic adopted our {in,out}{bwlq} implementation so I'm just 
> going to toss ours.  I'm not quite sure why the generic ones aren't 
> doing arithmetic on void*, but I'm not getting warnings.
> 
> >>    726	
> >>    727		return 0;
> >>    728	}
> >>    729	
> >> 
> >> ---
> >> 0-DAY CI Kernel Test Service, Intel Corporation
> >> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
> >>   
> >
> >
> >-- 
> >Damien Le Moal
> >Western Digital Research
> >  
> 
> _______________________________________________
> linux-riscv mailing list
> linux-riscv@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv



_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

  reply	other threads:[~2021-06-12 13:24 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-03  9:34 drivers/clk/clk-k210.c:717:6: warning: variable 'reg' set but not used kernel test robot
2021-06-03  9:34 ` kernel test robot
2021-06-03 10:03 ` Damien Le Moal
2021-06-03 10:03   ` Damien Le Moal
2021-06-12  3:55   ` Palmer Dabbelt
2021-06-12  3:55     ` Palmer Dabbelt
2021-06-12 13:18     ` Jisheng Zhang [this message]
2021-06-12 13:18       ` Jisheng Zhang
2021-06-14  2:08     ` Damien Le Moal
2021-06-14  2:08       ` Damien Le Moal

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=20210612211821.7f34fa81@xhacker \
    --to=jszhang3@mail.ustc.edu.cn \
    --cc=Damien.LeMoal@wdc.com \
    --cc=hch@lst.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=palmerdabbelt@google.com \
    --cc=sboyd@kernel.org \
    /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.