<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/xtensa/kernel/entry.S, branch linux-5.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2020-08-21T11:07:23Z</updated>
<entry>
<title>xtensa: add missing exclusive access state management</title>
<updated>2020-08-21T11:07:23Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2020-07-31T19:38:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=84affd7847d66644944989aadf7ea3fc2534b291'/>
<id>urn:sha1:84affd7847d66644944989aadf7ea3fc2534b291</id>
<content type='text'>
commit a0fc1436f1f4f84e93144480bf30e0c958d135b6 upstream.

The result of the s32ex opcode is recorded in the ATOMCTL special
register and must be retrieved with the getex opcode. Context switch
between s32ex and getex may trash the ATOMCTL register and result in
duplicate update or missing update of the atomic variable.
Add atomctl8 field to the struct thread_info and use getex to swap
ATOMCTL bit 8 as a part of context switch.
Clear exclusive access monitor on kernel entry.

Cc: stable@vger.kernel.org
Fixes: f7c34874f04a ("xtensa: add exclusive atomics support")
Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Merge tag 'xtensa-20200206' of git://github.com/jcmvbkbc/linux-xtensa</title>
<updated>2020-02-07T20:22:29Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2020-02-07T20:22:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9b7fa2880fe716a30d2359d40d12ec4bc69ec7b5'/>
<id>urn:sha1:9b7fa2880fe716a30d2359d40d12ec4bc69ec7b5</id>
<content type='text'>
Pull xtensa updates from Max Filippov:

 - reorganize exception vectors placement

 - small cleanups (drop unused functions/headers/defconfig entries,
   spelling fixes)

* tag 'xtensa-20200206' of git://github.com/jcmvbkbc/linux-xtensa:
  xtensa: ISS: improve simcall assembly
  xtensa: reorganize vectors placement
  xtensa: separate SMP and XIP support
  xtensa: move fast exception handlers close to vectors
  arch/xtensa: fix Kconfig typos for HAVE_SMP
  xtensa: clean up optional XCHAL_* definitions
  xtensa: drop unused function fast_coprocessor_double
  xtensa: drop empty platform_* functions from platforms
  xtensa: clean up platform headers
  xtensa: drop set_except_vector declaration
  xtensa: configs: Cleanup old Kconfig IO scheduler options
</content>
</entry>
<entry>
<title>xtensa: move fast exception handlers close to vectors</title>
<updated>2020-02-05T05:53:39Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2020-02-01T02:48:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=50722f0bf631cfcbcce18dac6b3fb5c2b6432628'/>
<id>urn:sha1:50722f0bf631cfcbcce18dac6b3fb5c2b6432628</id>
<content type='text'>
On XIP kernels it makes sense to have exception vectors and fast
exception handlers together (in a fast memory). In addition, with MTD
XIP support both vectors and fast exception handlers must be outside of
the FLASH.

Add section .exception.text and move fast exception handlers to it.
Put it together with vectors when vectors are outside of the .text.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>sched/rt, xtensa: Use CONFIG_PREEMPTION</title>
<updated>2019-12-08T13:37:35Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2019-10-15T19:18:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6c5260d73d2b723f072c312eb80ef83711b4e166'/>
<id>urn:sha1:6c5260d73d2b723f072c312eb80ef83711b4e166</id>
<content type='text'>
CONFIG_PREEMPTION is selected by CONFIG_PREEMPT and by CONFIG_PREEMPT_RT.
Both PREEMPT and PREEMPT_RT require the same functionality which today
depends on CONFIG_PREEMPT.

Switch the entry code over to use CONFIG_PREEMPTION. Add PREEMPT_RT
output to die().

[bigeasy: +traps.c]

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Sebastian Andrzej Siewior &lt;bigeasy@linutronix.de&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Acked-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
Cc: Chris Zankel &lt;chris@zankel.net&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: linux-xtensa@linux-xtensa.org
Link: https://lore.kernel.org/r/20191015191821.11479-21-bigeasy@linutronix.de
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>xtensa: clean up system_call/xtensa_rt_sigreturn interaction</title>
<updated>2019-11-30T03:37:12Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2019-11-29T09:25:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9d9043f6a81713248d82d88983c06b1eaedda287'/>
<id>urn:sha1:9d9043f6a81713248d82d88983c06b1eaedda287</id>
<content type='text'>
system_call assembly code always pushes pointer to struct pt_regs as the
last additional parameter for all system calls. The only user of this
feature is xtensa_rt_sigreturn.
Avoid this special case. Define xtensa_rt_sigreturn as accepting no
argiments. Use current_pt_regs to get pointer to struct pt_regs in
xtensa_rt_sigreturn. Don't pass additional parameter from system_call
code.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: fix system_call interaction with ptrace</title>
<updated>2019-11-29T23:47:54Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2019-11-29T22:54:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=02ce94c229251555ac726ecfebe3458ef5905fa9'/>
<id>urn:sha1:02ce94c229251555ac726ecfebe3458ef5905fa9</id>
<content type='text'>
Don't overwrite return value if system call was cancelled at entry by
ptrace. Return status code from do_syscall_trace_enter so that
pt_regs::syscall doesn't need to be changed to skip syscall.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: rearrange syscall tracing</title>
<updated>2019-11-29T22:39:12Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2019-11-25T19:51:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ba9c1d65991a8be2e160447dd06eb803cbb9ba61'/>
<id>urn:sha1:ba9c1d65991a8be2e160447dd06eb803cbb9ba61</id>
<content type='text'>
system_call saves and restores syscall number across system call to make
clone and execv entry and exit tracing match. This complicates things
when syscall code may be changed by ptrace.
Preserve syscall code in copy_thread and start_thread directly instead of
doing tricks in system_call.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: entry: Remove unneeded need_resched() loop</title>
<updated>2019-11-26T19:33:39Z</updated>
<author>
<name>Valentin Schneider</name>
</author>
<published>2019-09-23T14:36:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8b5d7e5242de1db7c08335a512ad260fb3cd0b39'/>
<id>urn:sha1:8b5d7e5242de1db7c08335a512ad260fb3cd0b39</id>
<content type='text'>
Since the enabling and disabling of IRQs within preempt_schedule_irq()
is contained in a need_resched() loop, we don't need the outer arch
code loop.

Acked-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
Signed-off-by: Valentin Schneider &lt;valentin.schneider@arm.com&gt;
Message-Id: &lt;20190923143620.29334-10-valentin.schneider@arm.com&gt;
Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: add support for call0 ABI in userspace</title>
<updated>2019-09-01T20:11:57Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2015-01-12T06:44:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=09f8a6db20e6ed8eab1b2b23d09d2458f6e15062'/>
<id>urn:sha1:09f8a6db20e6ed8eab1b2b23d09d2458f6e15062</id>
<content type='text'>
Provide a Kconfig choice to select whether only the default ABI, only
call0 ABI or both are supported. The default for XEA2 is windowed, but
it may change for XEA3. Call0 only runs userspace with PS.WOE disabled.
Supporting both windowed and call0 ABIs is tricky, as there's no
indication in the ELF binaries which ABI they use. So it is done by
probing: each process is started with PS.WOE disabled, but the handler
of an illegal instruction exception taken with PS.WOE retries faulting
instruction after enabling PS.WOE. It must happen before any signal is
delivered to the process, otherwise it may be delivered incorrectly.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: clean up PS_WOE_BIT usage</title>
<updated>2019-09-01T20:11:57Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2019-08-30T18:16:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9e1e41c44782741c727688a19e5624d039b0de7e'/>
<id>urn:sha1:9e1e41c44782741c727688a19e5624d039b0de7e</id>
<content type='text'>
PS_WOE_BIT is mainly used to generate PS.WOE mask in the code. Introduce
PS_WOE_MASK macro and use it instead.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
</feed>
