Re: [PATCH v3 1/5] memblock test: fix implicit declaration of function 'virt_to_phys'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Aug 05, 2024 at 03:37:20PM +0000, Wei Yang wrote:
> On Mon, Aug 05, 2024 at 01:03:14PM +0300, Mike Rapoport wrote:
> >On Fri, Aug 02, 2024 at 01:09:19AM +0000, Wei Yang wrote:
> >> Commit 94ff46de4a73 ("memblock: Move late alloc warning down to phys
> >> alloc") introduce the usage of virt_to_phys(), which is not defined in
> >> memblock tests.
> >> 
> >> Define it in mm.h to fix the build error.
> >> 
> >> Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxx>
> >> 
> >> ---
> >> v3: use static inline as phys_to_virt
> >> v2: move definition to mm.h
> >> ---
> >>  tools/include/linux/mm.h | 6 ++++++
> >>  1 file changed, 6 insertions(+)
> >> 
> >> diff --git a/tools/include/linux/mm.h b/tools/include/linux/mm.h
> >> index cad4f2927983..c9e915914add 100644
> >> --- a/tools/include/linux/mm.h
> >> +++ b/tools/include/linux/mm.h
> >> @@ -25,6 +25,12 @@ static inline void *phys_to_virt(unsigned long address)
> >>  	return __va(address);
> >>  }
> >>  
> >> +#define virt_to_phys virt_to_phys
> >> +static inline phys_addr_t virt_to_phys(volatile void *address)
> >
> >Why volatilte?
> >
> 
> There are two definitions of virt_to_phys:
> 
>   include/asm-generic/io.h
>   arch/x86/include/asm/io.h
> 
> both has volatile.
> 
> I just copy from it. But I don't 100% understand it.

Let's keep it inline with the kernel definitions
 
> >> +{
> >> +	return (unsigned long)address;
> >
> >This should be phys_addr_t, look at its definition in tools/include/linux/types.h
> >
> 
> You are right. Will fix it.
> 
> >> +}
> >> +
> >>  void reserve_bootmem_region(phys_addr_t start, phys_addr_t end, int nid);
> >>  
> >>  static inline void totalram_pages_inc(void)
> >> -- 
> >> 2.34.1
> >> 
> >
> >-- 
> >Sincerely yours,
> >Mike.
> 
> -- 
> Wei Yang
> Help you, Help me

-- 
Sincerely yours,
Mike.




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux