diff options
author | Toshi Kani <toshi.kani@hpe.com> | 2016-01-26 15:57:22 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2016-01-30 03:49:57 -0500 |
commit | 35d98e93fe6a7ab612f6b389ce42c1dc135d6eef (patch) | |
tree | fe2d32527ed270c65c2137b3256818cdbc4b467b /arch/tile/kernel/setup.c | |
parent | 03cb525eb25018cf5f3da01d0f1391fc8b37805a (diff) |
arch: Set IORESOURCE_SYSTEM_RAM flag for System RAM
Set IORESOURCE_SYSTEM_RAM in flags of resource ranges with
"System RAM", "Kernel code", "Kernel data", and "Kernel bss".
Note that:
- IORESOURCE_SYSRAM (i.e. modifier bit) is set in flags when
IORESOURCE_MEM is already set. IORESOURCE_SYSTEM_RAM is defined
as (IORESOURCE_MEM|IORESOURCE_SYSRAM).
- Some archs do not set 'flags' for children nodes, such as
"Kernel code". This patch does not change 'flags' in this
case.
Signed-off-by: Toshi Kani <toshi.kani@hpe.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Luis R. Rodriguez <mcgrof@suse.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Toshi Kani <toshi.kani@hp.com>
Cc: linux-arch@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-mips@linux-mips.org
Cc: linux-mm <linux-mm@kvack.org>
Cc: linux-parisc@vger.kernel.org
Cc: linux-s390@vger.kernel.org
Cc: linux-sh@vger.kernel.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: sparclinux@vger.kernel.org
Link: http://lkml.kernel.org/r/1453841853-11383-7-git-send-email-bp@alien8.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/tile/kernel/setup.c')
-rw-r--r-- | arch/tile/kernel/setup.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/tile/kernel/setup.c b/arch/tile/kernel/setup.c index bbb855de6569..a992238e9b58 100644 --- a/arch/tile/kernel/setup.c +++ b/arch/tile/kernel/setup.c | |||
@@ -1632,14 +1632,14 @@ static struct resource data_resource = { | |||
1632 | .name = "Kernel data", | 1632 | .name = "Kernel data", |
1633 | .start = 0, | 1633 | .start = 0, |
1634 | .end = 0, | 1634 | .end = 0, |
1635 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM | 1635 | .flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM |
1636 | }; | 1636 | }; |
1637 | 1637 | ||
1638 | static struct resource code_resource = { | 1638 | static struct resource code_resource = { |
1639 | .name = "Kernel code", | 1639 | .name = "Kernel code", |
1640 | .start = 0, | 1640 | .start = 0, |
1641 | .end = 0, | 1641 | .end = 0, |
1642 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM | 1642 | .flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM |
1643 | }; | 1643 | }; |
1644 | 1644 | ||
1645 | /* | 1645 | /* |
@@ -1673,10 +1673,15 @@ insert_ram_resource(u64 start_pfn, u64 end_pfn, bool reserved) | |||
1673 | kzalloc(sizeof(struct resource), GFP_ATOMIC); | 1673 | kzalloc(sizeof(struct resource), GFP_ATOMIC); |
1674 | if (!res) | 1674 | if (!res) |
1675 | return NULL; | 1675 | return NULL; |
1676 | res->name = reserved ? "Reserved" : "System RAM"; | ||
1677 | res->start = start_pfn << PAGE_SHIFT; | 1676 | res->start = start_pfn << PAGE_SHIFT; |
1678 | res->end = (end_pfn << PAGE_SHIFT) - 1; | 1677 | res->end = (end_pfn << PAGE_SHIFT) - 1; |
1679 | res->flags = IORESOURCE_BUSY | IORESOURCE_MEM; | 1678 | res->flags = IORESOURCE_BUSY | IORESOURCE_MEM; |
1679 | if (reserved) { | ||
1680 | res->name = "Reserved"; | ||
1681 | } else { | ||
1682 | res->name = "System RAM"; | ||
1683 | res->flags |= IORESOURCE_SYSRAM; | ||
1684 | } | ||
1680 | if (insert_resource(&iomem_resource, res)) { | 1685 | if (insert_resource(&iomem_resource, res)) { |
1681 | kfree(res); | 1686 | kfree(res); |
1682 | return NULL; | 1687 | return NULL; |