<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/powerpc/kernel/head_44x.S, branch linux-6.0.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.0.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.0.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2022-02-07T10:03:10Z</updated>
<entry>
<title>powerpc/32: Remove _ENTRY() macro</title>
<updated>2022-02-07T10:03:10Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2021-11-30T12:04:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=27e21e8f128a56d3462f0fe2fd3a59c02cc002b1'/>
<id>urn:sha1:27e21e8f128a56d3462f0fe2fd3a59c02cc002b1</id>
<content type='text'>
_ENTRY() is now redundant with _GLOBAL(). 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/62a35f8dde2bb74c8d0d7a5430cce07a5a3a6fb6.1638273868.git.christophe.leroy@csgroup.eu

</content>
</entry>
<entry>
<title>powerpc/kuap: Wire-up KUAP on 44x</title>
<updated>2021-12-09T11:41:20Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2021-10-19T07:29:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f6fad4fb55936f0d613cea08341d187d691d6440'/>
<id>urn:sha1:f6fad4fb55936f0d613cea08341d187d691d6440</id>
<content type='text'>
This adds KUAP support to 44x. This is done by checking
the content of SPRN_PID at the time it is read and written
into SPRN_MMUCR.

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/7d6c3f1978a26feada74b084f651e8cf1e3b3a47.1634627931.git.christophe.leroy@csgroup.eu

</content>
</entry>
<entry>
<title>powerpc/44x: Activate KUEP at all time</title>
<updated>2021-12-09T11:41:17Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2021-10-19T07:29:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ee2631603fdbab6f76e86ea87f7a03ebc3a1ef85'/>
<id>urn:sha1:ee2631603fdbab6f76e86ea87f7a03ebc3a1ef85</id>
<content type='text'>
On 44x, KUEP is implemented by clearing SX bit during TLB miss
for user pages. The impact is minimal and not worth neither
boot time nor build time selection.

Activate it at all time.

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/2414d662558e7fb27d1ed41c8e47c591d576acac.1634627931.git.christophe.leroy@csgroup.eu

</content>
</entry>
<entry>
<title>powerpc/booke: Avoid link stack corruption in several places</title>
<updated>2021-08-25T03:35:47Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2021-08-24T07:56:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f5007dbf4da729baa850b33a64dc3cc53757bdf8'/>
<id>urn:sha1:f5007dbf4da729baa850b33a64dc3cc53757bdf8</id>
<content type='text'>
Use bcl 20,31,+4 instead of bl in order to preserve link stack.

See commit c974809a26a1 ("powerpc/vdso: Avoid link stack corruption
in __get_datapage()") for details.

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/e9fbc285eceb720e6c0e032ef47fe8b05f669b48.1629791751.git.christophe.leroy@csgroup.eu

</content>
</entry>
<entry>
<title>powerpc: Define swapper_pg_dir[] in C</title>
<updated>2021-06-16T14:09:10Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2021-06-07T10:56:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e72421a085a8dc81c71b0daeb89612279c2c621c'/>
<id>urn:sha1:e72421a085a8dc81c71b0daeb89612279c2c621c</id>
<content type='text'>
Don't duplicate swapper_pg_dir[] in each platform's head.S

Define it in mm/pgtable.c

Define MAX_PTRS_PER_PGD because on book3s/64 PTRS_PER_PGD is
not a constant.

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/5e3f1b8a4695c33ccc80aa3870e016bef32b85e1.1623063174.git.christophe.leroy@csgroup.eu

</content>
</entry>
<entry>
<title>powerpc: Define empty_zero_page[] in C</title>
<updated>2021-06-16T14:09:10Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2021-06-07T10:56:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=45b30fafe528601f1a4449c9d68d8ebe7bbc39ad'/>
<id>urn:sha1:45b30fafe528601f1a4449c9d68d8ebe7bbc39ad</id>
<content type='text'>
At the time being, empty_zero_page[] is defined in each
platform head.S.

Define it in mm/mem.c instead, and put it in BSS section instead
of the DATA section. Commit 5227cfa71f9e ("arm64: mm: place
empty_zero_page in bss") explains why it is interesting to have
it in BSS.

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/5838caffa269e0957c5a50cc85477876220298b0.1623063174.git.christophe.leroy@csgroup.eu

</content>
</entry>
<entry>
<title>powerpc/nohash: Convert set_context() to C</title>
<updated>2021-06-16T14:09:09Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2021-06-03T09:29:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a56ab7c7290f5922363d1ee11bbafc4da2b9bf51'/>
<id>urn:sha1:a56ab7c7290f5922363d1ee11bbafc4da2b9bf51</id>
<content type='text'>
ppc8xx already has set_context() in C.

Other ones have it in assembly. The only thing it does is to
write the context id into SPRN_PID.

Do it in C.

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/a5d0759064f3831c6b88af49ef5d3b05ba1c4dad.1622712515.git.christophe.leroy@csgroup.eu

</content>
</entry>
<entry>
<title>powerpc/nohash: Refactor update of BDI2000 pointers in switch_mmu_context()</title>
<updated>2021-06-16T14:09:09Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2021-06-03T09:29:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=25910260ff69fa0c37e26541aac4e8f978e1f17f'/>
<id>urn:sha1:25910260ff69fa0c37e26541aac4e8f978e1f17f</id>
<content type='text'>
Instead of duplicating the update of BDI2000 pointers in
set_context(), do it directly from switch_mmu_context().

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/4c54997edd3548fa54717915e7c6ebaf60f208c0.1622712515.git.christophe.leroy@csgroup.eu

</content>
</entry>
<entry>
<title>powerpc/44x: Implement Kernel Userspace Exec Protection (KUEP)</title>
<updated>2021-06-16T14:09:07Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2021-06-02T06:42:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=10248dcba1205042a3a0ea65eb441030702d97cd'/>
<id>urn:sha1:10248dcba1205042a3a0ea65eb441030702d97cd</id>
<content type='text'>
Powerpc 44x has two bits for exec protection in TLBs: one
for user (UX) and one for superviser (SX).

Clear SX on user pages in TLB miss handlers to provide KUEP.

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/169310e08152aa1d96c979770291d165ec6896ae.1622616032.git.christophe.leroy@csgroup.eu

</content>
</entry>
<entry>
<title>powerpc/32: Remove the xfer parameter in EXCEPTION() macro</title>
<updated>2021-03-29T02:22:09Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2021-03-12T12:50:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=acc142b6230eb2d9cec9b9e3baac1bc074df8ba3'/>
<id>urn:sha1:acc142b6230eb2d9cec9b9e3baac1bc074df8ba3</id>
<content type='text'>
The xfer parameter 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/17c7d68bd18f7d2f1ab24a1a20d9ed33bbcda741.1615552867.git.christophe.leroy@csgroup.eu
</content>
</entry>
</feed>
