<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/openrisc/kernel/head.S, branch linux-4.14.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.14.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.14.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2022-06-14T14:53:45Z</updated>
<entry>
<title>openrisc: start CPU timer early in boot</title>
<updated>2022-06-14T14:53:45Z</updated>
<author>
<name>Jason A. Donenfeld</name>
</author>
<published>2022-04-23T19:11:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d96ed055061858caba3621c37b4a5fe0439ba9dd'/>
<id>urn:sha1:d96ed055061858caba3621c37b4a5fe0439ba9dd</id>
<content type='text'>
[ Upstream commit 516dd4aacd67a0f27da94f3fe63fe0f4dbab6e2b ]

In order to measure the boot process, the timer should be switched on as
early in boot as possible. As well, the commit defines the get_cycles
macro, like the previous patches in this series, so that generic code is
aware that it's implemented by the platform, as is done on other archs.

Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Jonas Bonn &lt;jonas@southpole.se&gt;
Cc: Stefan Kristiansson &lt;stefan.kristiansson@saunalahti.fi&gt;
Acked-by: Stafford Horne &lt;shorne@gmail.com&gt;
Reported-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>openrisc: Fix broken paths to arch/or32</title>
<updated>2019-12-05T14:37:38Z</updated>
<author>
<name>Geert Uytterhoeven</name>
</author>
<published>2018-12-03T12:20:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bcf9cabb99bf316ccddbe3436419b00399590a9e'/>
<id>urn:sha1:bcf9cabb99bf316ccddbe3436419b00399590a9e</id>
<content type='text'>
[ Upstream commit 57ce8ba0fd3a95bf29ed741df1c52bd591bf43ff ]

OpenRISC was mainlined as "openrisc", not "or32".
vmlinux.lds is generated from vmlinux.lds.S.

Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Signed-off-by: Stafford Horne &lt;shorne@gmail.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>openrisc: entry: Fix delay slot exception detection</title>
<updated>2018-08-24T11:09:11Z</updated>
<author>
<name>Stafford Horne</name>
</author>
<published>2018-07-01T05:17:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=83141913ca6bbf95bdc4aa4f9d852d5c27464eac'/>
<id>urn:sha1:83141913ca6bbf95bdc4aa4f9d852d5c27464eac</id>
<content type='text'>
[ Upstream commit ae15a41a641449f536578b0d9ec0e4ade130deb5 ]

Originally in patch e6d20c55a4 ("openrisc: entry: Fix delay slot
detection") I fixed delay slot detection, but only for QEMU.  We missed
that hardware delay slot detection using delay slot exception flag (DSX)
was still broken.  This was because QEMU set the DSX flag in both
pre-exception supervision register (ESR) and supervision register (SR)
register, but on real hardware the DSX flag is only set on the SR
register during exceptions.

Fix this by carrying the DSX flag into the SR register during exception.
We also update the DSX flag read locations to read the value from the SR
register not the pt_regs SR register which represents ESR.  The ESR
should never have the DSX flag set.

In the process I updated/removed a few comments to match the current
state.  Including removing a comment saying that the DSX detection logic
was inefficient and needed to be rewritten.

I have tested this on QEMU with a patch ensuring it matches the hardware
specification.

Link: https://lists.gnu.org/archive/html/qemu-devel/2018-07/msg00000.html
Fixes: e6d20c55a4 ("openrisc: entry: Fix delay slot detection")
Signed-off-by: Stafford Horne &lt;shorne@gmail.com&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>scripts/spelling.txt: add "aligment" pattern and fix typo instances</title>
<updated>2017-02-28T02:43:46Z</updated>
<author>
<name>Masahiro Yamada</name>
</author>
<published>2017-02-27T22:28:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=550116d21a656e8b5670073e586315e5a6d12f01'/>
<id>urn:sha1:550116d21a656e8b5670073e586315e5a6d12f01</id>
<content type='text'>
Fix typos and add the following to the scripts/spelling.txt:

  aligment||alignment

I did not touch the "N_BYTE_ALIGMENT" macro in
drivers/net/wireless/realtek/rtlwifi/wifi.h to avoid unpredictable
impact.

I fixed "_aligment_handler" in arch/openrisc/kernel/entry.S because
it is surrounded by #if 0 ... #endif.  It is surely safe and I
confirmed "_alignment_handler" is correct.

I also fixed the "controler" I found in the same hunk in
arch/openrisc/kernel/head.S.

Link: http://lkml.kernel.org/r/1481573103-11329-8-git-send-email-yamada.masahiro@socionext.com
Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>openrisc: head: Init r0 to 0 on start</title>
<updated>2017-02-24T20:08:47Z</updated>
<author>
<name>Stafford Horne</name>
</author>
<published>2017-02-05T09:55:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a4d4426635804379d618dd28e29f574a2bc11184'/>
<id>urn:sha1:a4d4426635804379d618dd28e29f574a2bc11184</id>
<content type='text'>
Originally openrisc spec 0 specified that r0 would be wired to ground.
This is no longer the case.  r0 is not guaranteed to be 0 at init, so we
need to initialize it to 0 before using it.

Also, if we are clearing r0 we cant use r0 to clear itself. Change the
the CLEAR_GPR macro to use movhi for clearing.

Reported-by: Jakob Viketoft &lt;jakob.viketoft@aacmicrotec.com&gt;
Signed-off-by: Stafford Horne &lt;shorne@gmail.com&gt;
</content>
</entry>
<entry>
<title>openrisc: head: Remove unused strings</title>
<updated>2017-02-24T20:08:46Z</updated>
<author>
<name>Stafford Horne</name>
</author>
<published>2017-02-24T20:06:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0ccffdf5e114176c14cb4aea584f77794a734865'/>
<id>urn:sha1:0ccffdf5e114176c14cb4aea584f77794a734865</id>
<content type='text'>
These string definitions are no longer used removed them.  Noticed this
while working on a CONFIG_DEBUG_INFO build issue.

Signed-off-by: Stafford Horne &lt;shorne@gmail.com&gt;
</content>
</entry>
<entry>
<title>openrisc: head: Move init strings to rodata section</title>
<updated>2017-02-24T20:05:37Z</updated>
<author>
<name>Stafford Horne</name>
</author>
<published>2017-01-13T10:22:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=da99f00ece82cb51ca5ead97008658e1dc49782b'/>
<id>urn:sha1:da99f00ece82cb51ca5ead97008658e1dc49782b</id>
<content type='text'>
The strings used during the head/init phase of openrisc bootup were
stored in the executable section of the binary.

This causes compilation to fail when using CONFIG_DEBUG_INFO with
error:
 Error: unaligned opcodes detected in executable segment

Signed-off-by: Stafford Horne &lt;shorne@gmail.com&gt;
</content>
</entry>
<entry>
<title>openrisc: head: refactor out tlb flush into it's own function</title>
<updated>2017-02-06T12:50:43Z</updated>
<author>
<name>Stefan Kristiansson</name>
</author>
<published>2014-05-17T16:18:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8c9b7db0de3d64c9a6fcd12622636d4aa6a8c30c'/>
<id>urn:sha1:8c9b7db0de3d64c9a6fcd12622636d4aa6a8c30c</id>
<content type='text'>
This brings it inline with the other setup oprations done like the cache
enables _ic_enable and _dc_enable.  Also, this is going to make it
easier to initialize additional cpu's when smp is introduced.

Signed-off-by: Stefan Kristiansson &lt;stefan.kristiansson@saunalahti.fi&gt;
[shorne@gmail.com: Added commit body]
Signed-off-by: Stafford Horne &lt;shorne@gmail.com&gt;
</content>
</entry>
<entry>
<title>openrisc: head: use THREAD_SIZE instead of magic constant</title>
<updated>2017-02-06T12:50:42Z</updated>
<author>
<name>Stefan Kristiansson</name>
</author>
<published>2014-01-08T11:15:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c2dc72437a5504bf8f4343ed83ae745afa388522'/>
<id>urn:sha1:c2dc72437a5504bf8f4343ed83ae745afa388522</id>
<content type='text'>
The stack size was hard coded to 0x2000, use the standard THREAD_SIZE
definition loaded from thread_info.h.

Signed-off-by: Stefan Kristiansson &lt;stefan.kristiansson@saunalahti.fi&gt;
[shorne@gmail.com: Added body to the commit message]
Signed-off-by: Stafford Horne &lt;shorne@gmail.com&gt;
</content>
</entry>
<entry>
<title>openrisc: tlb miss handler optimizations</title>
<updated>2017-02-06T12:50:42Z</updated>
<author>
<name>Stefan Kristiansson</name>
</author>
<published>2013-08-01T07:46:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=742fb582b4540a7b59427dc67be1fe4a5eac7078'/>
<id>urn:sha1:742fb582b4540a7b59427dc67be1fe4a5eac7078</id>
<content type='text'>
By slightly reorganizing the code, the number of registers
used in the tlb miss handlers can be reduced by two,
thus removing the need to save them to memory.

Also, some dead and commented out code is removed.

No functional change.

Signed-off-by: Stefan Kristiansson &lt;stefan.kristiansson@saunalahti.fi&gt;
Signed-off-by: Jonas Bonn &lt;jonas@southpole.se&gt;
Signed-off-by: Stafford Horne &lt;shorne@gmail.com&gt;
</content>
</entry>
</feed>
