Linux MIPS Architecture development
 help / color / mirror / Atom feed
From: Tian <tiansm@lemote.com>
To: Tian <tiansm@lemote.com>
Cc: Ralf Baechle <ralf@linux-mips.org>,
	Franck Bui-Huu <vagabon.xyz@gmail.com>,
	linux-mips@linux-mips.org, Fuxin Zhang <zhangfx@lemote.com>
Subject: Re: [PATCH] cheat for support of more than 256MB memory
Date: Fri, 08 Jun 2007 15:54:58 +0800	[thread overview]
Message-ID: <46690B52.8070600@lemote.com> (raw)
In-Reply-To: <46690AC3.8000805@lemote.com>

Tian wrote:
> Tian wrote:
>> Ralf Baechle wrote:
>>> On Wed, Jun 06, 2007 at 08:38:18AM +0200, Franck Bui-Huu wrote:
>>>
>>>  
>>>>> diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
>>>>> index 4975da0..62ef100 100644
>>>>> --- a/arch/mips/kernel/setup.c
>>>>> +++ b/arch/mips/kernel/setup.c
>>>>> @@ -509,6 +509,14 @@ static void __init resource_init(void)
>>>>>                res->end = end;
>>>>>
>>>>>                res->flags = IORESOURCE_MEM | IORESOURCE_BUSY;
>>>>> +#if defined(CONFIG_LEMOTE_FULONG) && defined(CONFIG_64BIT)
>>>>> +               /* to keep memory continous, we tell system 
>>>>> 0x10000000 - 0x20000000 is reserved
>>>>> +                * for memory, in fact it is io region, don't 
>>>>> occupy it
>>>>> +                *
>>>>> +                * SPARSEMEM?
>>>>>       
>>>> Definetly yes ! It has been designed for such issue and it should save
>>>> you some memory.
>>>>     
>>>
>>> A hole of 256MB size in the memory address map will cost 3.5MB with 
>>> a 64-bit
>>> kernel.  The other reason why I don't like this patch is that it drags
>>> platform specific code into the generic MIPS code.
>>>
>>>   Ralf
>>>
>>>
>>>   
>> we use 16k page,so it's cheaper than that:)
>>
>> Before I work out sparse memory solution, I think I can drop this 
>> patch and make some trivial fix of the first patch.
>>
>> Subject: [PATCH] simply ignore the memory hole
>>
>> Signed-off-by: Songmao Tian <tiansm@lemote.com>
>> ---
>> arch/mips/lemote/lm2e/setup.c |    1 -
>> 1 files changed, 0 insertions(+), 1 deletions(-)
>>
>> diff --git a/arch/mips/lemote/lm2e/setup.c 
>> b/arch/mips/lemote/lm2e/setup.c
>> index 3030518..2498bbf 100644
>> --- a/arch/mips/lemote/lm2e/setup.c
>> +++ b/arch/mips/lemote/lm2e/setup.c
>> @@ -112,7 +112,6 @@ void __init plat_mem_setup(void)
>>     add_memory_region(0x0, (memsize << 20), BOOT_MEM_RAM);
>> #ifdef CONFIG_64BIT
>>     if (highmemsize > 0) {
>> -        add_memory_region(0x10000000, 0x10000000, BOOT_MEM_RESERVED);
>>         add_memory_region(0x20000000, highmemsize << 20, BOOT_MEM_RAM);
>>     }
>> #endif
>>
>>
>>
> It seems it's no need to modify code, just config to use
> sparse memory will be ok, paging_init can handle the
> non-flat-memory situatioins, and i notify the pages drop down as 
> expected.
Well, I mean notice...forgive me, I don't speak english often:)
>
>
> Subject: [PATCH] use SPARSEMEM to deal with the memory hole of 
> peripheral IO
>
> Signed-off-by: Songmao Tian <tiansm@lemote.com>
> ---
> arch/mips/Kconfig                  |    1 +
> arch/mips/configs/fulong_defconfig |   13 +++++++------
> 2 files changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index 16f1861..376cbd6 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -957,6 +957,7 @@ config CPU_LOONGSON2
>     depends on SYS_HAS_CPU_LOONGSON2
>     select CPU_SUPPORTS_32BIT_KERNEL
>     select CPU_SUPPORTS_64BIT_KERNEL
> +    select ARCH_SPARSEMEM_ENABLE
>     select CPU_SUPPORTS_HIGHMEM
>
> config CPU_MIPS32_R1
> diff --git a/arch/mips/configs/fulong_defconfig 
> b/arch/mips/configs/fulong_defconfig
> index cd6563a..92d9772 100644
> --- a/arch/mips/configs/fulong_defconfig
> +++ b/arch/mips/configs/fulong_defconfig
> @@ -1,7 +1,7 @@
> #
> # Automatically generated make config: don't edit
> # Linux kernel version: 2.6.22-rc3
> -# Wed Jun  6 11:42:13 2007
> +# Fri Jun  8 15:09:24 2007
> #
> CONFIG_MIPS=y
>
> @@ -118,13 +118,14 @@ CONFIG_GENERIC_IRQ_PROBE=y
> CONFIG_CPU_SUPPORTS_HIGHMEM=y
> CONFIG_SYS_SUPPORTS_HIGHMEM=y
> CONFIG_ARCH_FLATMEM_ENABLE=y
> +CONFIG_ARCH_SPARSEMEM_ENABLE=y
> CONFIG_SELECT_MEMORY_MODEL=y
> -CONFIG_FLATMEM_MANUAL=y
> +# CONFIG_FLATMEM_MANUAL is not set
> # CONFIG_DISCONTIGMEM_MANUAL is not set
> -# CONFIG_SPARSEMEM_MANUAL is not set
> -CONFIG_FLATMEM=y
> -CONFIG_FLAT_NODE_MEM_MAP=y
> -# CONFIG_SPARSEMEM_STATIC is not set
> +CONFIG_SPARSEMEM_MANUAL=y
> +CONFIG_SPARSEMEM=y
> +CONFIG_HAVE_MEMORY_PRESENT=y
> +CONFIG_SPARSEMEM_STATIC=y
> CONFIG_SPLIT_PTLOCK_CPUS=4
> CONFIG_RESOURCES_64BIT=y
> CONFIG_ZONE_DMA_FLAG=0
>
>

  reply	other threads:[~2007-06-08  7:55 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-06  4:42 Lemote Loongson 2E patch update tiansm
2007-06-06  4:42 ` [PATCH] new files for lemote fulong mini-PC support tiansm
2007-06-06  4:42 ` [PATCH] arch related Makefile update for lemote fulong mini-PC tiansm
2007-06-06  4:42 ` [PATCH] Kconfig update for lemote fulong miniPC tiansm
2007-06-06  4:42 ` [PATCH] TO_PHYS_MASK for loongson2 tiansm
2007-06-06  4:42 ` [PATCH] add MACH_GROUP_LEMOTE & MACH_LEMOTE_FULONG tiansm
2007-06-06  4:42 ` [PATCH] define Hit_Invalidate_I to Index_Invalidate_I for loongson2 tiansm
2007-06-06  4:42 ` [PATCH] add Loongson processor definitions tiansm
2007-06-06  4:42 ` [PATCH] define MODULE_PROC_FAMILY for Loongson2 tiansm
2007-06-06  4:42 ` [PATCH] add serial port definition for lemote fulong tiansm
2007-06-06  4:42 ` [PATCH] make cpu_probe recognize Loongson2 tiansm
2007-06-06  4:42 ` [PATCH] add Loongson support to /proc/cpuinfo tiansm
2007-06-06  4:42 ` [PATCH] cheat for support of more than 256MB memory tiansm
2007-06-06  6:38   ` Franck Bui-Huu
2007-06-06 16:40     ` Ralf Baechle
2007-06-08  4:47       ` Tian
2007-06-08  7:52         ` Tian
2007-06-08  7:54           ` Tian [this message]
2007-06-06  4:42 ` [PATCH] define MODULE_PROC_FAMILY for Loongson2 tiansm
2007-06-06  4:42 ` [PATCH] tlb handling support for Loongson2 processor tiansm
2007-06-06  4:42 ` [PATCH] work around for more than 256MB memory support tiansm
2007-06-06 13:55 ` Lemote Loongson 2E patch update John W. Linville
2007-06-06 16:50   ` Ralf Baechle
2007-06-07  6:05     ` Fuxin Zhang

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=46690B52.8070600@lemote.com \
    --to=tiansm@lemote.com \
    --cc=linux-mips@linux-mips.org \
    --cc=ralf@linux-mips.org \
    --cc=vagabon.xyz@gmail.com \
    --cc=zhangfx@lemote.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox