<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/powerpc/include/asm/opal-api.h, branch linux-4.13.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.13.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.13.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-07-10T11:12:27Z</updated>
<entry>
<title>powerpc/powernv: Tell OPAL about our MMU mode on POWER9</title>
<updated>2017-07-10T11:12:27Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
</author>
<published>2017-06-30T22:37:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1c0eaf0f56d6128af7f0f252855173fcee85d202'/>
<id>urn:sha1:1c0eaf0f56d6128af7f0f252855173fcee85d202</id>
<content type='text'>
That will allow OPAL to configure the CPU in an optimal way.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Michael Neuling &lt;mikey@neuling.org&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>cxl: Export library to support IBM XSL</title>
<updated>2017-07-03T13:07:03Z</updated>
<author>
<name>Christophe Lombard</name>
</author>
<published>2017-06-22T13:07:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3ced8d73006321bd2a0412fa0ff4b065a02e7514'/>
<id>urn:sha1:3ced8d73006321bd2a0412fa0ff4b065a02e7514</id>
<content type='text'>
This patch exports a in-kernel 'library' API which can be called by
other drivers to help interacting with an IBM XSL on a POWER9 system.

The XSL (Translation Service Layer) is a stripped down version of the
PSL (Power Service Layer) used in some cards such as the Mellanox CX5.
Like the PSL, it implements the CAIA architecture, but has a number
of differences, mostly in it's implementation dependent registers.

The XSL also uses a special DMA cxl mode, which uses a slightly
different init sequence for the CAPP and PHB.

Signed-off-by: Andrew Donnellan &lt;andrew.donnellan@au1.ibm.com&gt;
Signed-off-by: Christophe Lombard &lt;clombard@linux.vnet.ibm.com&gt;
Acked-by: Frederic Barrat &lt;fbarrat@linux.vnet.ibm.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/powernv/pci: Add support for PHB4 diagnostics</title>
<updated>2017-06-27T02:14:27Z</updated>
<author>
<name>Russell Currey</name>
</author>
<published>2017-06-14T04:20:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a4b48ba9047dfdf99cf2316d21baac2791b3b14c'/>
<id>urn:sha1:a4b48ba9047dfdf99cf2316d21baac2791b3b14c</id>
<content type='text'>
As with P7IOC and PHB3, add kernel-side support for decoding and printing
diagnostic data for PHB4.

Signed-off-by: Russell Currey &lt;ruscur@russell.cc&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>Merge branch 'topic/xive' (early part) into next</title>
<updated>2017-04-12T12:31:37Z</updated>
<author>
<name>Michael Ellerman</name>
</author>
<published>2017-04-12T12:25:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3c19d5ada1bec8b97119215298df7669d3ffb3db'/>
<id>urn:sha1:3c19d5ada1bec8b97119215298df7669d3ffb3db</id>
<content type='text'>
This merges the arch part of the XIVE support, leaving the final commit
with the KVM specific pieces dangling on the branch for Paul to merge
via the kvm-ppc tree.
</content>
</entry>
<entry>
<title>powerpc/powernv: Add XIVE related definitions to opal-api.h</title>
<updated>2017-04-06T09:58:46Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
</author>
<published>2017-04-05T23:01:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=eeea1a434ddedbb5aaeac1a8661445b3ae3eb539'/>
<id>urn:sha1:eeea1a434ddedbb5aaeac1a8661445b3ae3eb539</id>
<content type='text'>
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/powernv: Introduce address translation services for Nvlink2</title>
<updated>2017-04-04T03:27:26Z</updated>
<author>
<name>Alistair Popple</name>
</author>
<published>2017-04-03T09:51:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1ab66d1fbadad86b1f4a9c7857e193af0ee0022c'/>
<id>urn:sha1:1ab66d1fbadad86b1f4a9c7857e193af0ee0022c</id>
<content type='text'>
Nvlink2 supports address translation services (ATS) allowing devices
to request address translations from an mmu known as the nest MMU
which is setup to walk the CPU page tables.

To access this functionality certain firmware calls are required to
setup and manage hardware context tables in the nvlink processing unit
(NPU). The NPU also manages forwarding of TLB invalidates (known as
address translation shootdowns/ATSDs) to attached devices.

This patch exports several methods to allow device drivers to register
a process id (PASID/PID) in the hardware tables and to receive
notification of when a device should stop issuing address translation
requests (ATRs). It also adds a fault handler to allow device drivers
to demand fault pages in.

Signed-off-by: Alistair Popple &lt;alistair@popple.id.au&gt;
[mpe: Fix up comment formatting, use flush_tlb_mm()]
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/powernv: Initialise nest mmu</title>
<updated>2017-01-30T09:24:33Z</updated>
<author>
<name>Alistair Popple</name>
</author>
<published>2016-12-14T02:36:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1d0761d2557d1540727723e4f05395d53321d555'/>
<id>urn:sha1:1d0761d2557d1540727723e4f05395d53321d555</id>
<content type='text'>
POWER9 contains an off core mmu called the nest mmu (NMMU). This is
used by other hardware units on the chip to translate virtual
addresses into real addresses. The unit attempting an address
translation provides the majority of the context required for the
translation request except for the base address of the partition table
(ie. the PTCR) which needs to be programmed into the NMMU.

This patch adds a call to OPAL to set the PTCR for the nest mmu in
opal_init().

Signed-off-by: Alistair Popple &lt;alistair@popple.id.au&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/opal: Add real mode call wrappers</title>
<updated>2016-07-17T06:42:46Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
</author>
<published>2016-07-08T06:37:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=69c592ed40d32b4b680fd46c1b059cfe8abeb755'/>
<id>urn:sha1:69c592ed40d32b4b680fd46c1b059cfe8abeb755</id>
<content type='text'>
Replace the old generic opal_call_realmode() with proper per-call
wrappers similar to the normal ones and convert callers.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/powernv: Add XICS emulation APIs</title>
<updated>2016-07-15T10:18:43Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
</author>
<published>2016-07-08T06:37:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9fedd3f8804af87be608310aac707a64f831b344'/>
<id>urn:sha1:9fedd3f8804af87be608310aac707a64f831b344</id>
<content type='text'>
OPAL provides an emulated XICS interrupt controller to
use as a fallback on newer processors that don't have a
XICS. It's meant as a way to provide backward compatibility
with future processors. Add the corresponding interfaces.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Acked-by: Stewart Smith &lt;stewart@linux.vnet.ibm.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/powernv: Add platform support for stop instruction</title>
<updated>2016-07-15T10:18:41Z</updated>
<author>
<name>Shreyas B. Prabhu</name>
</author>
<published>2016-07-08T06:20:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bcef83a00dc44ee25ff4d6e078cf6432ddf74dec'/>
<id>urn:sha1:bcef83a00dc44ee25ff4d6e078cf6432ddf74dec</id>
<content type='text'>
POWER ISA v3 defines a new idle processor core mechanism. In summary,
 a) new instruction named stop is added. This instruction replaces
	instructions like nap, sleep, rvwinkle.
 b) new per thread SPR named Processor Stop Status and Control Register
	(PSSCR) is added which controls the behavior of stop instruction.

PSSCR layout:
----------------------------------------------------------
| PLS | /// | SD | ESL | EC | PSLL | /// | TR | MTL | RL |
----------------------------------------------------------
0      4     41   42    43   44     48    54   56    60

PSSCR key fields:
	Bits 0:3  - Power-Saving Level Status. This field indicates the lowest
	power-saving state the thread entered since stop instruction was last
	executed.

	Bit 42 - Enable State Loss
	0 - No state is lost irrespective of other fields
	1 - Allows state loss

	Bits 44:47 - Power-Saving Level Limit
	This limits the power-saving level that can be entered into.

	Bits 60:63 - Requested Level
	Used to specify which power-saving level must be entered on executing
	stop instruction

This patch adds support for stop instruction and PSSCR handling.

Reviewed-by: Gautham R. Shenoy &lt;ego@linux.vnet.ibm.com&gt;
Signed-off-by: Shreyas B. Prabhu &lt;shreyas@linux.vnet.ibm.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
</feed>
