On Fri, 2012-03-02 at 01:55 +0100, Richard Weinberger wrote:
> At least virt_addr_valid() makes use of memory_end.

virt_addr_valid looks broken... it shouldn't be comparing a virtual
address against memory_end which is phys_addr_t.

/Jonas

> 
> Signed-off-by: Richard Weinberger <[email protected]>
> ---
>  arch/openrisc/include/asm/page.h |    4 ++--
>  arch/openrisc/kernel/setup.c     |    2 +-
>  2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/openrisc/include/asm/page.h 
> b/arch/openrisc/include/asm/page.h
> index b041b34..4dfe477 100644
> --- a/arch/openrisc/include/asm/page.h
> +++ b/arch/openrisc/include/asm/page.h
> @@ -71,8 +71,8 @@ typedef struct page *pgtable_t;
>  #define __pgd(x)     ((pgd_t) { (x) })
>  #define __pgprot(x)  ((pgprot_t) { (x) })
>  
> -extern unsigned long memory_start;
> -extern unsigned long memory_end;
> +extern phys_addr_t memory_start;
> +extern phys_addr_t memory_end;
>  
>  #endif /* !__ASSEMBLY__ */
>  
> diff --git a/arch/openrisc/kernel/setup.c b/arch/openrisc/kernel/setup.c
> index bf5eba2..c993c92 100644
> --- a/arch/openrisc/kernel/setup.c
> +++ b/arch/openrisc/kernel/setup.c
> @@ -52,6 +52,7 @@
>  #include "vmlinux.h"
>  
>  char __initdata cmd_line[COMMAND_LINE_SIZE] = CONFIG_CMDLINE;
> +phys_addr_t memory_start, memory_end;
>  
>  static unsigned long __init setup_memory(void)
>  {
> @@ -59,7 +60,6 @@ static unsigned long __init setup_memory(void)
>       unsigned long ram_start_pfn;
>       unsigned long free_ram_start_pfn;
>       unsigned long ram_end_pfn;
> -     phys_addr_t memory_start, memory_end;
>       struct memblock_region *region;
>  
>       memory_end = memory_start = 0;

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Linux mailing list
[email protected]
http://lists.openrisc.net/listinfo/linux

Reply via email to