<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/xtensa/include/asm/page.h, branch linux-4.11.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.11.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.11.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-03-30T20:29:20Z</updated>
<entry>
<title>xtensa: make __pa work with uncached KSEG addresses</title>
<updated>2017-03-30T20:29:20Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2017-03-29T22:44:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2b83878dd74a7c73bedcb6600663c1c46836e8af'/>
<id>urn:sha1:2b83878dd74a7c73bedcb6600663c1c46836e8af</id>
<content type='text'>
When __pa is applied to virtual address in uncached KSEG region the
result is incorrect. Fix it by checking if the original address is in
the uncached KSEG and adjusting the result. It looks better than masking
off bits because pfn_valid would correctly work with new __pa results
and it may be made working in noMMU case, once we get definition for
uncached memory view.

This is required for the dma_common_mmap and DMA debug code to work
correctly: they both indirectly use __pa with coherent DMA addresses.
In case of DMA debug the visible effect is false reports that an address
mapped for DMA is accessed by CPU.

Cc: stable@vger.kernel.org
Tested-by: Boris Brezillon &lt;boris.brezillon@free-electrons.com&gt;
Reviewed-by: Boris Brezillon &lt;boris.brezillon@free-electrons.com&gt;
Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: minimize use of PLATFORM_DEFAULT_MEM_{ADDR,SIZE}</title>
<updated>2016-07-24T03:33:59Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2016-07-22T23:47:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3de00482b006daa110151ac6775adc52538a3d6a'/>
<id>urn:sha1:3de00482b006daa110151ac6775adc52538a3d6a</id>
<content type='text'>
Now that the kernel load address and KSEG physical base address have
their own Kconfig symbols PLATFORM_DEFAULT_MEM seems redundant. It makes
little sense to use it in MMU configurations instead of KSEG_PADDR.
In noMMU configurations there's no explicit KSEG, so it's still useful
for the early cache initialization and definition of ARCH_PFN_OFFSET,
which affects mem_map size.

- limit it to noMMU; MMU variants have XCHAL_KSEG_PADDR and
  XCHAL_KSEG_SIZE;
- don't use it to define TASK_SIZE or MAX_LOW_PFN: first doesn't make
  any difference in noMMU, second is meaningless as there's no high
  memory;
- don't add default physical memory region: memory layout should come
  from the DT, bootloader tags, or memmap= command line parameter.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: cleanup MMU setup and kernel layout macros</title>
<updated>2016-07-24T03:33:58Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2016-04-13T02:20:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a9f2fc628e3a26a829fd79aff74eb49839d1e74b'/>
<id>urn:sha1:a9f2fc628e3a26a829fd79aff74eb49839d1e74b</id>
<content type='text'>
Make kernel load address explicit, independent of the selected MMU
configuration and configurable from Kconfig. Do not restrict it to the
first 512MB of the physical address space.

Cleanup kernel memory layout macros:

- rename VECBASE_RESET_VADDR to VECBASE_VADDR, XC_VADDR to VECTOR_VADDR;
- drop VIRTUAL_MEMORY_ADDRESS and LOAD_MEMORY_ADDRESS;
- introduce PHYS_OFFSET and use it in __va and __pa definitions;
- synchronize MMU/noMMU vectors, drop unused NMI vector;
- replace hardcoded vectors offset of 0x3000 with Kconfig symbol.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: add alternative kernel memory layouts</title>
<updated>2016-07-24T03:33:58Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2016-04-11T18:14:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d39af90265feb40ec198c4ca8268724645b4b50e'/>
<id>urn:sha1:d39af90265feb40ec198c4ca8268724645b4b50e</id>
<content type='text'>
MMUv3 is able to support low memory bigger than 128MB.
Implement 256MB and 512MB KSEG layouts:

- add Kconfig selector for KSEG layout;
- add KSEG base address, size and alignment definitions to
  arch/xtensa/include/asm/kmem_layout.h;
- use new definitions in TLB initialization;
- add build time memory map consistency checks.

See Documentation/xtensa/mmu.txt for the details of new memory layouts.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: move kernel mapping addresses into kmem_layout.h</title>
<updated>2016-07-24T03:33:57Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2016-04-11T18:07:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f1883aa7d63e3be92ad18da7a1bfc6c9b15c4f9a'/>
<id>urn:sha1:f1883aa7d63e3be92ad18da7a1bfc6c9b15c4f9a</id>
<content type='text'>
Create a header dedicated to memory layout definitions. Include it from
places where these definitions are needed.
Express vmalloc area address, VIRTUAL_MEMORY_ADDRESS and KERNELOFFSET
through KSEG address.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: nommu: clean up memory map dump</title>
<updated>2014-10-21T09:28:58Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2014-10-03T23:50:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5a0b1d78bfc5ca4079ea03abb0ecc0d61d676e41'/>
<id>urn:sha1:5a0b1d78bfc5ca4079ea03abb0ecc0d61d676e41</id>
<content type='text'>
noMMU configuration doesn't use special area for vmalloc allocations,
don't print it in the memory map.
PAGE_OFFSET is fixed to 0 in noMMU, use min_low_pfn and max_low_pfn for
lowmem range display.
Make all XCHAL_KSEG_* constants unsigned long for consistency with other
addresses.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: nommu: don't build most of the cache flushing code</title>
<updated>2014-10-21T09:28:50Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2014-09-22T05:54:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b6cee17b7d5999ae5f9ea51643dc6ea6c3e4efd4'/>
<id>urn:sha1:b6cee17b7d5999ae5f9ea51643dc6ea6c3e4efd4</id>
<content type='text'>
Most cache flushing code is only relevant for MMU. Don't build it for
nommu configuration.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: support aliasing cache in k[un]map_atomic</title>
<updated>2014-08-14T07:59:21Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2014-07-14T22:51:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=32544d9c10c42bac3be8b87d2fc95b0aef008795'/>
<id>urn:sha1:32544d9c10c42bac3be8b87d2fc95b0aef008795</id>
<content type='text'>
Map high memory pages at virtual addresses with color that match color
of their physical address. Existing cache alias management mechanisms
may be used with such pages.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: implement clear_user_highpage and copy_user_highpage</title>
<updated>2014-08-14T07:59:20Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2014-07-21T14:54:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a91902db2990909ea5e6b110811b448f2e8f1571'/>
<id>urn:sha1:a91902db2990909ea5e6b110811b448f2e8f1571</id>
<content type='text'>
Existing clear_user_page and copy_user_page cannot be used with highmem
because they calculate physical page address from its virtual address
and do it incorrectly in case of high memory page mapped with
kmap_atomic. Also kmap is not needed, as most likely userspace mapping
color would be different from the kmapped color.

Provide clear_user_highpage and copy_user_highpage functions that
determine if temporary mapping is needed for the pages. Move most of the
logic of the former clear_user_page and copy_user_page to
xtensa/mm/cache.c only leaving temporary mapping setup, invalidation and
clearing/copying in the xtensa/mm/misc.S. Rename these functions to
clear_page_alias and copy_page_alias.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: clean up files to make them code-style compliant</title>
<updated>2012-12-19T05:10:25Z</updated>
<author>
<name>Chris Zankel</name>
</author>
<published>2012-11-29T00:53:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c4c4594b005d89b56964071bbbdeb07daac5bc76'/>
<id>urn:sha1:c4c4594b005d89b56964071bbbdeb07daac5bc76</id>
<content type='text'>
Remove heading and trailing spaces, trim trailing lines, and wrap lines
that are longer than 80 characters.

Signed-off-by: Chris Zankel &lt;chris@zankel.net&gt;
</content>
</entry>
</feed>
