<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/powerpc/kernel/head_40x.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 40x</title>
<updated>2021-12-09T11:41:20Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2021-10-19T07:29:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fcf9bb6d32f8a268bc3daf3281e3beefabec4e7c'/>
<id>urn:sha1:fcf9bb6d32f8a268bc3daf3281e3beefabec4e7c</id>
<content type='text'>
This adds KUAP support to 40x. This is done by checking
the content of SPRN_PID at the time user pgtable is loaded.

40x doesn't have KUEP, but KUAP implies KUEP because when the
PID doesn't match the page's PID, the page cannot be read nor
executed.

So KUEP is now automatically selected when KUAP is selected and
disabled when KUAP is disabled.

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

</content>
</entry>
<entry>
<title>powerpc/40x: Map 32Mbytes of memory at startup</title>
<updated>2021-12-09T11:41:16Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2021-09-27T15:12:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=06e7cbc29e97b4713b4ea6def04ae8501a7d1a59'/>
<id>urn:sha1:06e7cbc29e97b4713b4ea6def04ae8501a7d1a59</id>
<content type='text'>
As reported by Carlo, 16Mbytes is not enough with modern kernels
that tend to be a bit big, so map another 16M page at boot.

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/89b5f974a7fa5011206682cd092e2c905530ff46.1632755552.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/32: Refactor saving of volatile registers in exception prologs</title>
<updated>2021-03-29T02:22:10Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2021-03-12T12:50:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a305597850c96e2f2d349533cf3b514fa4b7b9f8'/>
<id>urn:sha1:a305597850c96e2f2d349533cf3b514fa4b7b9f8</id>
<content type='text'>
Exception prologs all do the same at the end:
- Save trapno in stack
- Mark stack with exception marker
- Save r0
- Save r3 to r8

Refactor that into a COMMON_EXCEPTION_PROLOG_END macro.
At the same time use r1 instead of r11.

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/e1c45d2e895e0693c42d2a6840df1105a148efea.1615552867.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>
<entry>
<title>powerpc/32: Dismantle EXC_XFER_STD/LITE/TEMPLATE</title>
<updated>2021-03-29T02:22:09Z</updated>
<author>
<name>Christophe Leroy</name>
</author>
<published>2021-03-12T12:50:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4c0104a83fc3990a76a01a2f4e504251fa9814c4'/>
<id>urn:sha1:4c0104a83fc3990a76a01a2f4e504251fa9814c4</id>
<content type='text'>
In order to get more control in exception prolog, dismantle
all non standard exception macros, finishing with EXC_XFER_STD
and EXC_XFER_LITE and EXC_XFER_TEMPLATE.

Also remove transfer_to_handler_full and ret_from_except and
ret_from_except_full as they are not used anymore.

Last parameter of EXCEPTION() is now ignored, will be removed
in a later patch to avoid too much churn.

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/ca5795d04a220586b7037dbbbe6951dfa9e768eb.1615552867.git.christophe.leroy@csgroup.eu
</content>
</entry>
</feed>
