<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/arc/mm/init.c, branch linux-4.6.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.6.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.6.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-05-05T11:05:46Z</updated>
<entry>
<title>ARC: support HIGHMEM even without PAE40</title>
<updated>2016-05-05T11:05:46Z</updated>
<author>
<name>Vineet Gupta</name>
</author>
<published>2016-04-18T05:19:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=26f9d5fd82ca20fe536cb493ec7cf5628f8997e5'/>
<id>urn:sha1:26f9d5fd82ca20fe536cb493ec7cf5628f8997e5</id>
<content type='text'>
Initial HIGHMEM support on ARC was introduced for PAE40 where the low
memory (0x8000_0000 based) and high memory (0x1_0000_0000) were
physically contiguous. So CONFIG_FLATMEM sufficed (despite a peipheral
hole in the middle, which wasted a bit of struct page memory, but things
worked).

However w/o PAE, highmem was not possible and we could only reach
~1.75GB of DDR. Now there is a use case to access ~4GB of DDR w/o PAE40
The idea is to have low memory at canonical 0x8000_0000 and highmem
at 0 so enire 4GB address space is available for physical addressing
This needs additional platform/interconnect mapping to convert
the non contiguous physical addresses into linear bus adresses.

From Linux point of view, non contiguous divide means FLATMEM no
longer works and DISCONTIGMEM is needed to track the pfns in the 2
regions.

This scheme would also work for PAE40, only better in that we don't
waste struct page memory for the peripheral hole.

The DT description will be something like

    memory {
        ...
        reg = &lt;0x80000000 0x200000000   /* 512MB: lowmem */
               0x00000000 0x10000000&gt;;  /* 256MB: highmem */
   }

Signed-off-by: Noam Camus &lt;noamc@ezchip.com&gt;
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: add support for reserved memory defined by device tree</title>
<updated>2016-04-27T11:36:56Z</updated>
<author>
<name>Alexey Brodkin</name>
</author>
<published>2016-04-26T16:29:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1b10cb21d888c021bedbe678f7c26aee1bf04ffa'/>
<id>urn:sha1:1b10cb21d888c021bedbe678f7c26aee1bf04ffa</id>
<content type='text'>
Enable reserved memory initialization from device tree.

Signed-off-by: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;
Cc: Grant Likely &lt;grant.likely@linaro.org&gt;
Cc: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: [plat-sim] unbork non default CONFIG_LINUX_LINK_BASE</title>
<updated>2015-12-17T05:36:43Z</updated>
<author>
<name>Vineet Gupta</name>
</author>
<published>2015-12-15T08:27:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ff1c0b6a795bce744527bc10c8268127ed818b42'/>
<id>urn:sha1:ff1c0b6a795bce744527bc10c8268127ed818b42</id>
<content type='text'>
HIGHMEM support bumped the default memory size for nsim platform to 1G.
Thus total memory ended at the very edge of start of peripherals address
space. With linux link base shifted, memory started bleeding into
peripheral space which caused early boot bad_page spew !

Fixes: 29e332261d2 ("ARC: mm: HIGHMEM: populate high memory from DT")
Reported-by: Anton Kolesov &lt;akolesov@synopsys.com&gt;
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: mm: HIGHMEM: populate high memory from DT</title>
<updated>2015-10-28T14:20:26Z</updated>
<author>
<name>Vineet Gupta</name>
</author>
<published>2015-10-28T13:36:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=29e332261d2ae0900e3befffd90cd70594cd7a84'/>
<id>urn:sha1:29e332261d2ae0900e3befffd90cd70594cd7a84</id>
<content type='text'>
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: mm: preps ahead of HIGHMEM support #2</title>
<updated>2015-10-28T14:19:00Z</updated>
<author>
<name>Vineet Gupta</name>
</author>
<published>2015-10-28T13:18:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6101be5ad439806c70b54bdd083e7db9e3affb3d'/>
<id>urn:sha1:6101be5ad439806c70b54bdd083e7db9e3affb3d</id>
<content type='text'>
Explicit'ify that all memory added so far is low memory
Nothing semantical

Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: Ensure DT mem base is same as what kernel is built with</title>
<updated>2015-10-28T10:43:42Z</updated>
<author>
<name>Vineet Gupta</name>
</author>
<published>2015-01-23T12:40:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f759ee57b205223e98fdc97e26cbef305b8048e1'/>
<id>urn:sha1:f759ee57b205223e98fdc97e26cbef305b8048e1</id>
<content type='text'>
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: mem init spring cleaning - No functional changes</title>
<updated>2015-04-13T09:46:29Z</updated>
<author>
<name>Vineet Gupta</name>
</author>
<published>2015-02-13T08:29:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f2e2013f757204d4e0a009597722c75bb2332796'/>
<id>urn:sha1:f2e2013f757204d4e0a009597722c75bb2332796</id>
<content type='text'>
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>ARC: support external initrd</title>
<updated>2014-03-26T09:01:27Z</updated>
<author>
<name>Noam Camus</name>
</author>
<published>2012-09-09T08:37:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d6579e99bc448a351279cea7469ab64a00d25ff8'/>
<id>urn:sha1:d6579e99bc448a351279cea7469ab64a00d25ff8</id>
<content type='text'>
Currently ARC only supports embedded initrd. This patch enables
external ones too.

[vgupta: Changed from "rt_start"=start/"rd_size"=sz to unified "initrd"=start,sz]
Signed-off-by: Noam Camus &lt;noamc@ezchip.com&gt;
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>of: remove early_init_dt_setup_initrd_arch</title>
<updated>2013-10-09T16:39:01Z</updated>
<author>
<name>Rob Herring</name>
</author>
<published>2013-08-30T22:06:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=29eb45a9ab4839a1e9cef2bcf369b918c9c4fcad'/>
<id>urn:sha1:29eb45a9ab4839a1e9cef2bcf369b918c9c4fcad</id>
<content type='text'>
All arches do essentially the same thing now for
early_init_dt_setup_initrd_arch, so it can now be removed.

Signed-off-by: Rob Herring &lt;rob.herring@calxeda.com&gt;
Acked-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
Cc: Russell King &lt;linux@arm.linux.org.uk&gt;
Cc: Mark Salter &lt;msalter@redhat.com&gt;
Cc: Aurelien Jacquiot &lt;a-jacquiot@ti.com&gt;
Cc: James Hogan &lt;james.hogan@imgtec.com&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Cc: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Cc: Jonas Bonn &lt;jonas@southpole.se&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Ingo Molnar &lt;mingo@redhat.com&gt;
Cc: "H. Peter Anvin" &lt;hpa@zytor.com&gt;
Cc: x86@kernel.org
Cc: Chris Zankel &lt;chris@zankel.net&gt;
Cc: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
Acked-by: Grant Likely &lt;grant.likely@linaro.org&gt;
</content>
</entry>
<entry>
<title>of: Specify initrd location using 64-bit</title>
<updated>2013-07-24T10:10:01Z</updated>
<author>
<name>Santosh Shilimkar</name>
</author>
<published>2013-07-01T18:20:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=374d5c9964c10373ba39bbe934f4262eb87d7114'/>
<id>urn:sha1:374d5c9964c10373ba39bbe934f4262eb87d7114</id>
<content type='text'>
On some PAE architectures, the entire range of physical memory could reside
outside the 32-bit limit.  These systems need the ability to specify the
initrd location using 64-bit numbers.

This patch globally modifies the early_init_dt_setup_initrd_arch() function to
use 64-bit numbers instead of the current unsigned long.

There has been quite a bit of debate about whether to use u64 or phys_addr_t.
It was concluded to stick to u64 to be consistent with rest of the device
tree code. As summarized by Geert, "The address to load the initrd is decided
by the bootloader/user and set at that point later in time. The dtb should not
be tied to the kernel you are booting"

More details on the discussion can be found here:
https://lkml.org/lkml/2013/6/20/690
https://lkml.org/lkml/2012/9/13/544

Signed-off-by: Santosh Shilimkar &lt;santosh.shilimkar@ti.com&gt;
Acked-by: Rob Herring &lt;rob.herring@calxeda.com&gt;
Acked-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
Acked-by: Jean-Christophe PLAGNIOL-VILLARD &lt;plagnioj@jcrosoft.com&gt;
Signed-off-by: Grant Likely &lt;grant.likely@linaro.org&gt;
</content>
</entry>
</feed>
