<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/xtensa/kernel/entry.S, branch linux-5.18.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.18.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.18.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2022-06-09T08:29:39Z</updated>
<entry>
<title>xtensa: move trace_hardirqs_off call back to entry.S</title>
<updated>2022-06-09T08:29:39Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2022-04-04T04:29:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=13e2ecf4c88ea47fa7e01a7a5d6d6bbcad9f93b1'/>
<id>urn:sha1:13e2ecf4c88ea47fa7e01a7a5d6d6bbcad9f93b1</id>
<content type='text'>
[ Upstream commit de4415d0bac91192ee9c74e849bc61429efa9b42 ]

Context tracking call must be done after hardirq tracking call,
otherwise lockdep_assert_irqs_disabled called from rcu_eqs_exit gives
a warning. To avoid context tracking logic duplication for IRQ/exception
entry paths move trace_hardirqs_off call back to common entry code.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>xtensa: clean up kernel exit assembly code</title>
<updated>2022-03-19T20:08:41Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2022-03-19T12:52:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e7e9614b6b3a4fb897d9766337858e3f5e1e1855'/>
<id>urn:sha1:e7e9614b6b3a4fb897d9766337858e3f5e1e1855</id>
<content type='text'>
Don't use numeric labels for complex branching logic. Mark each branch
with named local label and use them. Rearrange exit back to kernel mode
to avoid conditional label definition.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: rearrange NMI exit path</title>
<updated>2022-03-19T20:08:32Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2022-03-19T12:58:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e6d423aaaea13e6dc48e42472aeebc8607ae2574'/>
<id>urn:sha1:e6d423aaaea13e6dc48e42472aeebc8607ae2574</id>
<content type='text'>
NMI exit path to userspace should neither check TIF_DB_DISABLED nor call
check_tlb_sanity because NMI shouldn't touch anything related to
userspace. Drop kernel/userspace check in NMI exit path.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: rename PT_SIZE to PT_KERNEL_SIZE</title>
<updated>2022-03-07T20:02:48Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2022-03-06T05:01:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6fad9ddc7d9f6dfb8a53c192f746c26e0d72ee35'/>
<id>urn:sha1:6fad9ddc7d9f6dfb8a53c192f746c26e0d72ee35</id>
<content type='text'>
PT_SIZE is used by the xtensa port to designate kernel exception frame
size. In preparation for struct pt_regs size change rename PT_SIZE to
PT_KERNEL_SIZE for clarity and change its definition to always cover
only the kernel exception frame.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
Reviewed-by: Kees Cook &lt;keescook@chromium.org&gt;
</content>
</entry>
<entry>
<title>exit/xtensa: In arch/xtensa/entry.S:Linvalid_mask call make_task_dead</title>
<updated>2022-01-08T16:46:31Z</updated>
<author>
<name>Eric W. Biederman</name>
</author>
<published>2022-01-05T20:59:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=85be9ae7b63092895b6e7ac87a3ef383c679866c'/>
<id>urn:sha1:85be9ae7b63092895b6e7ac87a3ef383c679866c</id>
<content type='text'>
There have historically been two big uses of do_exit.  The first is
it's design use to be the guts of the exit(2) system call.  The second
use is to terminate a task after something catastrophic has happened
like a NULL pointer in kernel code.  The function make_task_dead
has been added to accomidate the second use.

The call to do_exit in Linvalidmask is clearly not a normal userspace
exit.  As failure handling there are two possible ways to go.
If userspace can trigger the issue force_exit_sig should be called.
Otherwise make_task_dead probably from the implementation of die
is appropriate.

Replace the call of do_exit in Linvalidmask with make_task_dead as
I don't know xtensa and especially xtensa assembly language well
enough to do anything else.

Link: https://lkml.kernel.org/r/YdUmN7n4W5YETUhW@zeniv-ca.linux.org.uk
Suggested-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
</content>
</entry>
<entry>
<title>xtensa: only build windowed register support code when needed</title>
<updated>2021-10-19T05:19:35Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2021-07-26T14:32:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=da0a4e5c8fbcce3d1afebf9f2a967083bb19634d'/>
<id>urn:sha1:da0a4e5c8fbcce3d1afebf9f2a967083bb19634d</id>
<content type='text'>
There's no need in window overflow/underflow/alloca exception handlers
or window spill code when neither kernel nor userspace support windowed
registers. Don't build or link it.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: use register window specific opcodes only when present</title>
<updated>2021-10-19T05:19:35Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2021-07-26T14:25:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=09af39f649dac66c2681ca53977275fe876690cc'/>
<id>urn:sha1:09af39f649dac66c2681ca53977275fe876690cc</id>
<content type='text'>
xtensa core may be configured without register windows support, don't
use register window specific opcodes in that case. Use window register
specific opcodes to initialize hardware or reset core to a known state
regardless of the chosen ABI.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: implement call0 ABI support in assembly</title>
<updated>2021-10-19T05:19:35Z</updated>
<author>
<name>Max Filippov</name>
</author>
<published>2021-05-01T22:32:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0b5372570b1f3fcb35255d28e707846e613c27f2'/>
<id>urn:sha1:0b5372570b1f3fcb35255d28e707846e613c27f2</id>
<content type='text'>
Replace hardcoded register and opcode names with ABI-agnostic macros.
Add register save/restore code where necessary. Conditionalize windowed
only or call0 only code. Add stack initialization matching _switch_to
epilogue to copy_thread.

Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
</content>
</entry>
<entry>
<title>xtensa: add support for TIF_NOTIFY_SIGNAL</title>
<updated>2020-11-12T15:45:56Z</updated>
<author>
<name>Jens Axboe</name>
</author>
<published>2020-10-09T21:56:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bec58f40d6c5372d812c93cc3947f3bc97440e57'/>
<id>urn:sha1:bec58f40d6c5372d812c93cc3947f3bc97440e57</id>
<content type='text'>
Wire up TIF_NOTIFY_SIGNAL handling for xtensa.

Thanks to Max Filippov &lt;jcmvbkbc@gmail.com&gt; for making the asm correct.

Cc: linux-xtensa@linux-xtensa.org
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</content>
</entry>
<entry>
<title>xtensa: add missing exclusive access state management</title>
<updated>2020-07-31T21:15:57Z</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=a0fc1436f1f4f84e93144480bf30e0c958d135b6'/>
<id>urn:sha1:a0fc1436f1f4f84e93144480bf30e0c958d135b6</id>
<content type='text'>
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;
</content>
</entry>
</feed>
