<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/s390/kvm, branch linux-4.16.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.16.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.16.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2018-05-30T06:17:18Z</updated>
<entry>
<title>KVM: s390: vsie: fix &lt; 8k check for the itdba</title>
<updated>2018-05-30T06:17:18Z</updated>
<author>
<name>David Hildenbrand</name>
</author>
<published>2018-05-09T14:12:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6013d5f9990c3f721c90d50af141d596f5853002'/>
<id>urn:sha1:6013d5f9990c3f721c90d50af141d596f5853002</id>
<content type='text'>
commit f4a551b72358facbbe5714248dff78404272feee upstream.

By missing an "L", we might detect some addresses to be &lt;8k,
although they are not.

e.g. for itdba = 100001fff
!(gpa &amp; ~0x1fffU) -&gt; 1
!(gpa &amp; ~0x1fffUL) -&gt; 0

So we would report a SIE validity intercept although everything is fine.

Fixes: 166ecb3 ("KVM: s390: vsie: support transactional execution")
Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Reviewed-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Reviewed-by: Janosch Frank &lt;frankja@linux.ibm.com&gt;
Reviewed-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Signed-off-by: David Hildenbrand &lt;david@redhat.com&gt;
Signed-off-by: Janosch Frank &lt;frankja@linux.ibm.com&gt;
Cc: stable@vger.kernel.org # v4.8+
Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>KVM: s390: fix memory overwrites when not using SCA entries</title>
<updated>2018-03-06T13:33:02Z</updated>
<author>
<name>David Hildenbrand</name>
</author>
<published>2018-03-06T13:27:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f07afa0462b76a5b9c4f3a43d5ac24fdb86a90c2'/>
<id>urn:sha1:f07afa0462b76a5b9c4f3a43d5ac24fdb86a90c2</id>
<content type='text'>
Even if we don't have extended SCA support, we can have more than 64 CPUs
if we don't enable any HW features that might use the SCA entries.

Now, this works just fine, but we missed a return, which is why we
would actually store the SCA entries. If we have more than 64 CPUs, this
means writing outside of the basic SCA - bad.

Let's fix this. This allows &gt; 64 CPUs when running nested (under vSIE)
without random crashes.

Fixes: a6940674c384 ("KVM: s390: allow 255 VCPUs when sca entries aren't used")
Reported-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Tested-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Signed-off-by: David Hildenbrand &lt;david@redhat.com&gt;
Message-Id: &lt;20180306132758.21034-1-david@redhat.com&gt;
Cc: stable@vger.kernel.org
Reviewed-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>KVM: s390: provide io interrupt kvm_stat</title>
<updated>2018-03-01T12:10:32Z</updated>
<author>
<name>Christian Borntraeger</name>
</author>
<published>2018-02-28T18:44:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=09a0fb67536a49af19f2bfc632100e9de91fe526'/>
<id>urn:sha1:09a0fb67536a49af19f2bfc632100e9de91fe526</id>
<content type='text'>
We already count io interrupts, but we forgot to print them.

Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Fixes: d8346b7d9b ("KVM: s390: Support for I/O interrupts.")
Reviewed-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Reviewed-by: David Hildenbrand &lt;david@redhat.com&gt;
Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>KVM: s390: provide only a single function for setting the tod (fix SCK)</title>
<updated>2018-02-20T20:51:28Z</updated>
<author>
<name>David Hildenbrand</name>
</author>
<published>2018-02-07T11:46:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0e7def5fb0dc53ddbb9f62a497d15f1e11ccdc36'/>
<id>urn:sha1:0e7def5fb0dc53ddbb9f62a497d15f1e11ccdc36</id>
<content type='text'>
Right now, SET CLOCK called in the guest does not properly take care of
the epoch index, as the call goes via the old kvm_s390_set_tod_clock()
interface. So the epoch index is neither reset to 0, if required, nor
properly set to e.g. 0xff on negative values.

Fix this by providing a single kvm_s390_set_tod_clock() function. Move
Multiple-epoch facility handling into it.

Signed-off-by: David Hildenbrand &lt;david@redhat.com&gt;
Message-Id: &lt;20180207114647.6220-3-david@redhat.com&gt;
Reviewed-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Fixes: 8fa1696ea781 ("KVM: s390: Multiple Epoch Facility support")
Cc: stable@vger.kernel.org
Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>KVM: s390: consider epoch index on TOD clock syncs</title>
<updated>2018-02-20T20:51:21Z</updated>
<author>
<name>David Hildenbrand</name>
</author>
<published>2018-02-07T11:46:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1575767ef3cf5326701d2ae3075b7732cbc855e4'/>
<id>urn:sha1:1575767ef3cf5326701d2ae3075b7732cbc855e4</id>
<content type='text'>
For now, we don't take care of over/underflows. Especially underflows
are critical:

Assume the epoch is currently 0 and we get a sync request for delta=1,
meaning the TOD is moved forward by 1 and we have to fix it up by
subtracting 1 from the epoch. Right now, this will leave the epoch
index untouched, resulting in epoch=-1, epoch_idx=0, which is wrong.

We have to take care of over and underflows, also for the VSIE case. So
let's factor out calculation into a separate function.

Signed-off-by: David Hildenbrand &lt;david@redhat.com&gt;
Message-Id: &lt;20180207114647.6220-5-david@redhat.com&gt;
Reviewed-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Fixes: 8fa1696ea781 ("KVM: s390: Multiple Epoch Facility support")
Cc: stable@vger.kernel.org
Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
[use u8 for idx]
</content>
</entry>
<entry>
<title>KVM: s390: consider epoch index on hotplugged CPUs</title>
<updated>2018-02-20T20:50:51Z</updated>
<author>
<name>David Hildenbrand</name>
</author>
<published>2018-02-07T11:46:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d16b52cb9cdb6f06dea8ab2f0a428e7d7f0b0a81'/>
<id>urn:sha1:d16b52cb9cdb6f06dea8ab2f0a428e7d7f0b0a81</id>
<content type='text'>
We must copy both, the epoch and the epoch_idx.

Signed-off-by: David Hildenbrand &lt;david@redhat.com&gt;
Message-Id: &lt;20180207114647.6220-4-david@redhat.com&gt;
Fixes: 8fa1696ea781 ("KVM: s390: Multiple Epoch Facility support")
Reviewed-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Reviewed-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Fixes: 8fa1696ea781 ("KVM: s390: Multiple Epoch Facility support")
Cc: stable@vger.kernel.org
Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>KVM: s390: take care of clock-comparator sign control</title>
<updated>2018-02-20T20:50:29Z</updated>
<author>
<name>David Hildenbrand</name>
</author>
<published>2018-02-07T11:46:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5fe01793dd953ab947fababe8abaf5ed5258c8df'/>
<id>urn:sha1:5fe01793dd953ab947fababe8abaf5ed5258c8df</id>
<content type='text'>
Missed when enabling the Multiple-epoch facility. If the facility is
installed and the control is set, a sign based comaprison has to be
performed.

Right now we would inject wrong interrupts and ignore interrupt
conditions. Also the sleep time is calculated in a wrong way.

Signed-off-by: David Hildenbrand &lt;david@redhat.com&gt;
Message-Id: &lt;20180207114647.6220-2-david@redhat.com&gt;
Fixes: 8fa1696ea781 ("KVM: s390: Multiple Epoch Facility support")
Cc: stable@vger.kernel.org
Reviewed-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>KVM: s390: use switch vs jump table in interrupt.c</title>
<updated>2018-02-14T13:53:43Z</updated>
<author>
<name>David Hildenbrand</name>
</author>
<published>2018-02-06T14:17:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=baabee67f4135e3de87bc874929ac50637aacb0d'/>
<id>urn:sha1:baabee67f4135e3de87bc874929ac50637aacb0d</id>
<content type='text'>
Just like for the interception handlers, let's also use a switch-case
in our interrupt delivery code.

Signed-off-by: David Hildenbrand &lt;david@redhat.com&gt;
Message-Id: &lt;20180206141743.24497-1-david@redhat.com&gt;
Reviewed-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Reviewed-by: Janosch Frank &lt;frankja@linux.vnet.ibm.com&gt;
Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>KVM: s390: use switch vs jump table in intercept.c</title>
<updated>2018-02-14T13:53:43Z</updated>
<author>
<name>Christian Borntraeger</name>
</author>
<published>2018-02-06T10:19:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cb7485da3ed1ac4ef6c71d4b2b715f8b87f118c8'/>
<id>urn:sha1:cb7485da3ed1ac4ef6c71d4b2b715f8b87f118c8</id>
<content type='text'>
Instead of having huge jump tables for function selection,
let's use normal switch/case statements for the instruction
handlers in intercept.c We can now also get rid of
intercept_handler_t.

This allows the compiler to make the right decision depending
on the situation (e.g. avoid jump-tables for thunks).

Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Reviewed-by: Janosch Frank &lt;frankja@linux.vnet.ibm.com&gt;
Reviewed-by: David Hildenbrand &lt;david@redhat.com&gt;
Reviewed-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>KVM: s390: use switch vs jump table in priv.c</title>
<updated>2018-02-14T13:53:43Z</updated>
<author>
<name>Christian Borntraeger</name>
</author>
<published>2016-04-08T15:52:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6db4263fec9e550e0cdaed732f4af77a44c10f5f'/>
<id>urn:sha1:6db4263fec9e550e0cdaed732f4af77a44c10f5f</id>
<content type='text'>
Instead of having huge jump tables for function selection,
let's use normal switch/case statements for the instruction
handlers in priv.c

This allows the compiler to make the right decision depending
on the situation (e.g. avoid jump-tables for thunks).

Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Reviewed-by: Cornelia Huck &lt;cohuck@redhat.com&gt;
Reviewed-by: Janosch Frank &lt;frankja@linux.vnet.ibm.com&gt;
Reviewed-by: David Hildenbrand &lt;david@redhat.com&gt;
Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
</content>
</entry>
</feed>
