<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/powerpc/include/asm/time.h, branch linux-5.16.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.16.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.16.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2021-06-10T12:12:13Z</updated>
<entry>
<title>KVM: PPC: Book3S HV P9: Reduce irq_work vs guest decrementer races</title>
<updated>2021-06-10T12:12:13Z</updated>
<author>
<name>Nicholas Piggin</name>
</author>
<published>2021-05-28T09:07:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6ffe2c6e6dcefb971e4046f02086c4adadd0b310'/>
<id>urn:sha1:6ffe2c6e6dcefb971e4046f02086c4adadd0b310</id>
<content type='text'>
irq_work's use of the DEC SPR is racy with guest&lt;-&gt;host switch and guest
entry which flips the DEC interrupt to guest, which could lose a host
work interrupt.

This patch closes one race, and attempts to comment another class of
races.

Signed-off-by: Nicholas Piggin &lt;npiggin@gmail.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Link: https://lore.kernel.org/r/20210528090752.3542186-11-npiggin@gmail.com

</content>
</entry>
<entry>
<title>powerpc/time: move timer_broadcast_interrupt prototype to asm/time.h</title>
<updated>2021-02-08T13:02:10Z</updated>
<author>
<name>Nicholas Piggin</name>
</author>
<published>2021-01-30T13:08:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0440b8a22cc48922f7c6ae894abd221cf7cc4b64'/>
<id>urn:sha1:0440b8a22cc48922f7c6ae894abd221cf7cc4b64</id>
<content type='text'>
Interrupt handler prototypes are going to be rearranged in a
future patch, so tidy this out of the way first.

Signed-off-by: Nicholas Piggin &lt;npiggin@gmail.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Link: https://lore.kernel.org/r/20210130130852.2952424-21-npiggin@gmail.com
</content>
</entry>
<entry>
<title>powerpc/time: Remove ifdef in get_vtb()</title>
<updated>2020-12-03T14:01:32Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2020-10-01T10:59:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c3cb5dbd85dbd9ae51fadf867782dc34806f04d8'/>
<id>urn:sha1:c3cb5dbd85dbd9ae51fadf867782dc34806f04d8</id>
<content type='text'>
SPRN_VTB and CPU_FTR_ARCH_207S are always defined,
no need of an ifdef.

Signed-off-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Link: https://lore.kernel.org/r/a0fc81cd85121407726bcf480fc9a0d8e7617fce.1601549933.git.christophe.leroy@csgroup.eu
</content>
</entry>
<entry>
<title>powerpc/time: Move timebase functions into new asm/vdso/timebase.h</title>
<updated>2020-12-03T14:01:10Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2020-11-26T13:10:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d26b3817d9eefae6b777739c1ea5daba5e72624e'/>
<id>urn:sha1:d26b3817d9eefae6b777739c1ea5daba5e72624e</id>
<content type='text'>
In order to easily use get_tb() from C VDSO, move timebase
functions into a new header named asm/vdso/timebase.h

Signed-off-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Link: https://lore.kernel.org/r/20201126131006.2431205-3-mpe@ellerman.id.au
</content>
</entry>
<entry>
<title>powerpc/time: Make get_tb() common to PPC32 and PPC64</title>
<updated>2020-10-08T10:17:16Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2020-10-01T12:42:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9686e431c683ee7b8aca0f3985c244aee3d9f30d'/>
<id>urn:sha1:9686e431c683ee7b8aca0f3985c244aee3d9f30d</id>
<content type='text'>
mftbu() is always defined now, so the #ifdef can be removed
and replaced by an IS_ENABLED(CONFIG_PPC64) inside the
PPC32 version of get_tb().

Signed-off-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Link: https://lore.kernel.org/r/47e49717d2643169ffcbe5d507f184cf49f0fe95.1601556145.git.christophe.leroy@csgroup.eu
</content>
</entry>
<entry>
<title>powerpc/time: Make get_tbl() common to PPC32 and PPC64</title>
<updated>2020-10-08T10:17:16Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2020-10-01T12:42:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1156a6285cd38e5a6987ddee3758e7954c56cb3d'/>
<id>urn:sha1:1156a6285cd38e5a6987ddee3758e7954c56cb3d</id>
<content type='text'>
On PPC64, get_tbl() is defined as an alias of get_tb() which return
the result of mftb(). That exactly the same as what the PPC32 version
does. We don't need two versions.

Remove the PPC64 definition of get_tbl() and use the PPC32 version
for both.

Signed-off-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Link: https://lore.kernel.org/r/a8eaabb87d69534e533ebac805163e08146e05bd.1601556145.git.christophe.leroy@csgroup.eu
</content>
</entry>
<entry>
<title>powerpc/time: Remove get_tbu()</title>
<updated>2020-10-08T10:17:15Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2020-10-01T12:42:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e8d5bf30eafc37e31ce68bc7ccf1db970fe3cd04'/>
<id>urn:sha1:e8d5bf30eafc37e31ce68bc7ccf1db970fe3cd04</id>
<content type='text'>
get_tbu() is redundant with mftbu() and is not used anymore.

Remove it.

Signed-off-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Link: https://lore.kernel.org/r/1746e2d11ea90c3f45877e1fcc6c79ce96cf6b98.1601556145.git.christophe.leroy@csgroup.eu
</content>
</entry>
<entry>
<title>powerpc/time: Avoid using get_tbl() and get_tbu() internally</title>
<updated>2020-10-08T10:17:15Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2020-10-01T12:42:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=942e89115b588b4b5df86930b5302a5c07b820ba'/>
<id>urn:sha1:942e89115b588b4b5df86930b5302a5c07b820ba</id>
<content type='text'>
get_tbl() is confusing as it returns the content of TBL register
on PPC32 but the concatenation of TBL and TBU on PPC64.

Use mftb() instead.

Do the same with get_tbu() for consistency allthough it's name
is less confusing.

Signed-off-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Link: https://lore.kernel.org/r/41573406a4eab98838decaa91649086fef1e6119.1601556145.git.christophe.leroy@csgroup.eu
</content>
</entry>
<entry>
<title>powerpc/time: Rename mftbl() to mftb()</title>
<updated>2020-10-08T10:17:15Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2020-10-01T12:42:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=15c102153e722cc6e0729764a7068c209a7469cd'/>
<id>urn:sha1:15c102153e722cc6e0729764a7068c209a7469cd</id>
<content type='text'>
On PPC64, we have mftb().
On PPC32, we have mftbl() and an #define mftb() mftbl().

mftb() and mftbl() are equivalent, their purpose is to read the
content of SPRN_TRBL, as returned by 'mftb' simplified instruction.

binutils seems to define 'mftbl' instruction as an equivalent
of 'mftb'.

However in both 32 bits and 64 bits documentation, only 'mftb' is
defined, and when performing a disassembly with objdump, the displayed
instruction is 'mftb'

No need to have two ways to do the same thing with different
names, rename mftbl() to have only mftb().

Signed-off-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Link: https://lore.kernel.org/r/94dc68d3d9ef9eb549796d4b938b6ba0305a049b.1601556145.git.christophe.leroy@csgroup.eu
</content>
</entry>
<entry>
<title>powerpc/time: Remove ifdef in get_dec() and set_dec()</title>
<updated>2020-10-08T10:17:14Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2020-10-01T10:59:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=63f9d9df5ed0d4f3a2c0cd08730e1cae1edd11bf'/>
<id>urn:sha1:63f9d9df5ed0d4f3a2c0cd08730e1cae1edd11bf</id>
<content type='text'>
Move SPRN_PIT definition in reg.h.

This allows to remove ifdef in get_dec() and set_dec() and
makes them more readable.

Signed-off-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Link: https://lore.kernel.org/r/3c9a6eb0fc040868ac59be66f338d08fd017668d.1601549945.git.christophe.leroy@csgroup.eu
</content>
</entry>
</feed>
