<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/powerpc/include/asm/opal.h, branch linux-4.11.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.11.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.11.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-02-14T06:18:29Z</updated>
<entry>
<title>Merge branch 'topic/ppc-kvm' into next</title>
<updated>2017-02-14T06:18:29Z</updated>
<author>
<name>Michael Ellerman</name>
</author>
<published>2017-02-14T06:18:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=da0e7e6276968fcc61ac7484d0026cd5fdd94dc3'/>
<id>urn:sha1:da0e7e6276968fcc61ac7484d0026cd5fdd94dc3</id>
<content type='text'>
Merge the topic branch we're sharing with the kvm-ppc tree.
</content>
</entry>
<entry>
<title>powerpc/powernv: Remove separate entry for OPAL real mode calls</title>
<updated>2017-02-07T05:40:18Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
</author>
<published>2017-02-07T05:03:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ab9bad0ead9ab179ace09988a3f1cfca122eb7c2'/>
<id>urn:sha1:ab9bad0ead9ab179ace09988a3f1cfca122eb7c2</id>
<content type='text'>
All entry points already read the MSR so they can easily do
the right thing.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Paul Mackerras &lt;paulus@ozlabs.org&gt;
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/powernv: Define real-mode versions of OPAL XICS accessors</title>
<updated>2016-11-22T23:32:11Z</updated>
<author>
<name>Paul Mackerras</name>
</author>
<published>2016-11-21T05:01:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ffe6d810fe95208b9f132fb7687930185129305a'/>
<id>urn:sha1:ffe6d810fe95208b9f132fb7687930185129305a</id>
<content type='text'>
This defines real-mode versions of opal_int_get_xirr(), opal_int_eoi()
and opal_int_set_mfrr(), for use by KVM real-mode code.

It also exports opal_int_set_mfrr() so that the modular part of KVM
can use it to send IPIs.

Signed-off-by: Paul Mackerras &lt;paulus@ozlabs.org&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>KVM: PPC: Book3S HV: Set server for passed-through interrupts</title>
<updated>2016-09-12T00:12:28Z</updated>
<author>
<name>Paul Mackerras</name>
</author>
<published>2016-08-19T05:35:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5d375199ea963fa2a972eae9c7d83db36ed37082'/>
<id>urn:sha1:5d375199ea963fa2a972eae9c7d83db36ed37082</id>
<content type='text'>
When a guest has a PCI pass-through device with an interrupt, it
will direct the interrupt to a particular guest VCPU.  In fact the
physical interrupt might arrive on any CPU, and then get
delivered to the target VCPU in the emulated XICS (guest interrupt
controller), and eventually delivered to the target VCPU.

Now that we have code to handle device interrupts in real mode
without exiting to the host kernel, there is an advantage to having
the device interrupt arrive on the same sub(core) as the target
VCPU is running on.  In this situation, the interrupt can be
delivered to the target VCPU without any exit to the host kernel
(using a hypervisor doorbell interrupt between threads if
necessary).

This patch aims to get passed-through device interrupts arriving
on the correct core by setting the interrupt server in the real
hardware XICS for the interrupt to the first thread in the (sub)core
where its target VCPU is running.  We do this in the real-mode H_EOI
code because the H_EOI handler already needs to look at the
emulated ICS state for the interrupt (whereas the H_XIRR handler
doesn't), and we know we are running in the target VCPU context
at that point.

We set the server CPU in hardware using an OPAL call, regardless of
what the IRQ affinity mask for the interrupt says, and without
updating the affinity mask.  This amounts to saying that when an
interrupt is passed through to a guest, as a matter of policy we
allow the guest's affinity for the interrupt to override the host's.

This is inspired by an earlier patch from Suresh Warrier, although
none of this code came from that earlier patch.

Signed-off-by: Paul Mackerras &lt;paulus@ozlabs.org&gt;
</content>
</entry>
<entry>
<title>powerpc: Put exception configuration in a common place</title>
<updated>2016-07-21T08:56:31Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
</author>
<published>2016-07-05T05:03:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d3cbff1b5a90afe6cb201aa2187c9609e21f92ad'/>
<id>urn:sha1:d3cbff1b5a90afe6cb201aa2187c9609e21f92ad</id>
<content type='text'>
The various calls to establish exception endianness and AIL are
now done from a single point using already established CPU and FW
feature bits to decide what to do.

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/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/opal: Wake up kopald polling thread before waiting for events</title>
<updated>2016-07-08T09:53:26Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
</author>
<published>2016-07-04T04:51:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a203658b5ed37c11e5016d3fbbbab9ce018c1b78'/>
<id>urn:sha1:a203658b5ed37c11e5016d3fbbbab9ce018c1b78</id>
<content type='text'>
On some environments (prototype machines, some simulators, etc...)
there is no functional interrupt source to signal completion, so
we rely on the fairly slow OPAL heartbeat.

In a number of cases, the calls complete very quickly or even
immediately. We've observed that it helps a lot to wakeup the OPAL
heartbeat thread before waiting for event in those cases, it will
call OPAL immediately to collect completions for anything that
finished fast enough.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Acked-By: Michael Neuling &lt;mikey@neuling.org&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/powernv: Add driver for operator panel on FSP machines</title>
<updated>2016-06-29T07:33:46Z</updated>
<author>
<name>Suraj Jitindar Singh</name>
</author>
<published>2016-06-29T03:38:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=43a1dd9b5fc64184e578ac1570d016d2862e00b2'/>
<id>urn:sha1:43a1dd9b5fc64184e578ac1570d016d2862e00b2</id>
<content type='text'>
Implement new character device driver to allow access from user space
to the operator panel display present on IBM Power Systems machines
with FSPs.

This will allow status information to be presented on the display which
is visible to a user.

The driver implements a character buffer which a user can read/write
by accessing the device (/dev/op_panel). This buffer is then displayed on
the operator panel display. Any attempt to write past the last character
position will have no effect and attempts to write more characters than
the size of the display will be truncated. The device may only be accessed
by a single process at a time.

Signed-off-by: Suraj Jitindar Singh &lt;sjitindarsingh@gmail.com&gt;
Reviewed-by: Andrew Donnellan &lt;andrew.donnellan@au1.ibm.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
</feed>
