All of lore.kernel.org
 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:52:35 +0800	[thread overview]
Message-ID: <46690AC3.8000805@lemote.com> (raw)
In-Reply-To: <4668DF7A.6040807@lemote.com>

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.


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:53 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 [this message]
2007-06-08  7:54           ` Tian
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=46690AC3.8000805@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 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.