Re: [PATCH 3/5] OpenRISC: Export memory_start and memory_end

Jonas Bonn
2012-03-02T06:52:12Z

[-- Attachment #1: Type: text/plain, Size: 1702 bytes --]

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 <richard@nod.at>
> ---
> 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 #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]