<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/s390/kernel/ipl.c, branch linux-3.11.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.11.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.11.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2013-06-24T09:16:34Z</updated>
<entry>
<title>s390/ipl: Fix FCP WWPN and LUN format strings for read</title>
<updated>2013-06-24T09:16:34Z</updated>
<author>
<name>Michael Holzheu</name>
</author>
<published>2013-06-21T11:21:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=eda4ddf7e3a2245888e8c45c566fd514cdd5abbb'/>
<id>urn:sha1:eda4ddf7e3a2245888e8c45c566fd514cdd5abbb</id>
<content type='text'>
The following git commit changed the behavior of sscanf:

commit 53809751ac230a3611b5cdd375f3389f3207d471
Author: Jan Beulich &lt;JBeulich@suse.com&gt;
Date:   Mon Dec 17 16:01:31 2012 -0800
    sscanf: don't ignore field widths for numeric conversions

This broke the WWPN and LUN sysfs attributes for s390 reipl and dump
on panic.

Example:

$ echo 0x0123456701234567 &gt; /sys/firmware/reipl/fcp/wwpn
$ cat /sys/firmware/reipl/fcp/wwpn
0x0001234567012345

So fix this and use format strings that work also with the
new sscanf implementation:

$ echo 0x012345670123456789 &gt; /sys/firmware/reipl/fcp/wwpn
$ cat /sys/firmware/reipl/fcp/wwpn
0x0123456701234567

Cc: stable@vger.kernel.org # 3.8+
Reviewed-by: Steffen Maier &lt;maier@linux.vnet.ibm.com&gt;
Signed-off-by: Michael Holzheu &lt;holzheu@linux.vnet.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/ipl: Implement diag308 loop for zfcpdump</title>
<updated>2013-02-14T14:55:05Z</updated>
<author>
<name>Michael Holzheu</name>
</author>
<published>2013-01-21T17:35:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0894b3ae776a60c6bad994e1d8f809ceb59904da'/>
<id>urn:sha1:0894b3ae776a60c6bad994e1d8f809ceb59904da</id>
<content type='text'>
When a zfcpdump is triggered and a second dump on the same CEC is
already in progress for another LPAR, diagnose 308 returns with
an error code until the first dump is finished. Currently the
second Linux stops with a disabled wait PSW in that case.

This is improved now by by triggering diag 308 in a loop until
it works.

Signed-off-by: Michael Holzheu &lt;holzheu@linux.vnet.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/ipl: Use diagnose 8 command separation</title>
<updated>2012-07-26T08:07:26Z</updated>
<author>
<name>Michael Holzheu</name>
</author>
<published>2012-07-24T16:43:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8143adafd2d00b13f1db96ce06b6bf479e0bfe5b'/>
<id>urn:sha1:8143adafd2d00b13f1db96ce06b6bf479e0bfe5b</id>
<content type='text'>
Currently the vmcmd shutdown action is parsed by the kernel and
if multiple cp commands have been specified, they are issued
separately with the cpcmd() function.

The underlying diagnose 8 instruction already allows to specify
multiple commands that are separated by 0x15. The ASCEBC() function
used by cpcmd() translates '\n' to 0x15. The '\n' character is
currently used as vmcmd command separator and therefore the vmcmd
string can be passed directly to the cpcmd() function.

Using the diagnose 8 command separation has the advantage that also
after disruptive commands that stop Linux, for example "def store",
additional commands can be executed.

Signed-off-by: Michael Holzheu &lt;holzheu@linux.vnet.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/comments: unify copyright messages and remove file names</title>
<updated>2012-07-20T09:15:04Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2012-07-20T09:15:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a53c8fab3f87c995c30ac226a03af95361243144'/>
<id>urn:sha1:a53c8fab3f87c995c30ac226a03af95361243144</id>
<content type='text'>
Remove the file name from the comment at top of many files. In most
cases the file name was wrong anyway, so it's rather pointless.

Also unify the IBM copyright statement. We did have a lot of sightly
different statements and wanted to change them one after another
whenever a file gets touched. However that never happened. Instead
people start to take the old/"wrong" statements to use as a template
for new files.
So unify all of them in one go.

Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/ipl: Fix ipib handling for "dumpreipl" shutdown action</title>
<updated>2012-06-27T17:21:32Z</updated>
<author>
<name>Michael Holzheu</name>
</author>
<published>2012-06-27T12:43:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a7df7a9494ac8eb5fa4d902d3e90b083705dc80f'/>
<id>urn:sha1:a7df7a9494ac8eb5fa4d902d3e90b083705dc80f</id>
<content type='text'>
Fix problem that was introduced with patch "s390/smp: make absolute
lowcore / cpu restart parameter". After that patch the "dumpreipl"
shutdown action does not work any more. To fix the problem we have
to assign "reipl_block_actual" instead of "&amp;reipl_block_actual"

Signed-off-by: Michael Holzheu &lt;holzheu@linux.vnet.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/smp: make absolute lowcore / cpu restart parameter accesses more robust</title>
<updated>2012-06-14T07:09:02Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2012-06-05T07:59:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fbe765680d1fe9d08187ea4dad5041a7955a2c3a'/>
<id>urn:sha1:fbe765680d1fe9d08187ea4dad5041a7955a2c3a</id>
<content type='text'>
Setting the cpu restart parameters is done in three different fashions:
- directly setting the four parameters individually
- copying the four parameters with memcpy (using 4 * sizeof(long))
- copying the four parameters using a private structure

In addition code in entry*.S relies on a certain order of the restart
members of struct _lowcore.

Make all of this more robust to future changes by adding a
mem_absolute_assign(dest, val) define, which assigns val to dest
using absolute addressing mode. Also the load multiple instructions
in entry*.S have been split into separate load instruction so the
order of the struct _lowcore members doesn't matter anymore.

In addition move the prototypes of memcpy_real/absolute from uaccess.h
to processor.h. These memcpy* variants are not related to uaccess at all.
string.h doesn't seem to match as well, so lets use processor.h.

Also replace the eight byte array in struct _lowcore which represents a
misaliged u64 with a u64. The compiler will always create code that
handles the misaligned u64 correctly.

Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/kernel: Introduce memcpy_absolute() function</title>
<updated>2012-05-30T07:04:49Z</updated>
<author>
<name>Michael Holzheu</name>
</author>
<published>2012-05-24T12:35:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=73bf463efaba6a1efe69349c6d7275d03468adf4'/>
<id>urn:sha1:73bf463efaba6a1efe69349c6d7275d03468adf4</id>
<content type='text'>
This patch introduces the new function memcpy_absolute() that allows to
copy memory using absolute addressing. This means that the prefix swap
does not apply when this function is used.

With this patch also all s390 kernel code that accesses absolute zero
now uses the new memcpy_absolute() function. The old and less generic
copy_to_absolute_zero() function is removed.

Signed-off-by: Michael Holzheu &lt;holzheu@linux.vnet.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/kdump: Use real mode for PSW restart and kexec</title>
<updated>2012-05-23T15:06:51Z</updated>
<author>
<name>Michael Holzheu</name>
</author>
<published>2012-05-21T09:30:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fa7c0043425624ed65b94a6fabe750c7b0af8719'/>
<id>urn:sha1:fa7c0043425624ed65b94a6fabe750c7b0af8719</id>
<content type='text'>
Currently the PSW restart handler and kexec are executed in real
mode with DAT=off. For kexec/kdump the function setup_regs() is
called that uses the per-cpu variable "crash_notes". Because
there are situations when the per-cpu implementation uses vmalloc
memory, calling setup_regs() in real mode can cause a program
check interrupt.

To fix that problem this patch changes the following:

* Ensure that diag308_reset() does not change PSW bits to real mode
* Enable DAT in __do_restart() after we switched to an online CPU
* Enable DAT in __machine_kexec() after we switched to the IPL CPU
* Call setup_regs() before we switch to real mode and call purgatory

Reviewed-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Signed-off-by: Michael Holzheu &lt;holzheu@linux.vnet.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] kernel: Add OS info memory interface</title>
<updated>2012-03-11T15:59:29Z</updated>
<author>
<name>Michael Holzheu</name>
</author>
<published>2012-03-11T15:59:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4857d4bbe9821c8d732cb84455e18e12b3d79add'/>
<id>urn:sha1:4857d4bbe9821c8d732cb84455e18e12b3d79add</id>
<content type='text'>
In order to allow kdump based stand-alone dump, some information
has to be passed from the old kernel to the new dump kernel. This
is done via a the struct "os_info" that contains the following fields:
 * crashkernel base and size
 * reipl block
 * vmcoreinfo
 * init function
A pointer to os_info is stored at a well known storage location
and the whole structure as well as all fields are secured with
checksums.

Signed-off-by: Michael Holzheu &lt;holzheu@linux.vnet.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] kernel: Add z/VM LGR detection</title>
<updated>2012-03-11T15:59:29Z</updated>
<author>
<name>Michael Holzheu</name>
</author>
<published>2012-03-11T15:59:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3ab121ab18669226742891416fe7ecc86dadb047'/>
<id>urn:sha1:3ab121ab18669226742891416fe7ecc86dadb047</id>
<content type='text'>
Currently the following mechanisms are available to move active
Linux on System z instances between machines:
* z/VM 6.2 SSI (Single System Image)
* Suspend/resume
For moving Linux instances in this patch the term LGR (Linux Guest
Relocation) is used. Because such an operation is critical, it
should be detectable from Linux. With this patch for both, a live
system and a kernel dump, the information about LGRs is accessible.
To identify a guest, stsi and stfle data is used. A new function
lgr_info_log() compares the current data (lgr_info_cur) with the
last recorded one (lgr_info_last). In case the two data sets differ,
lgr_info_cur is logged to the "lgr" s390dbf.

The following trigger points call lgr_info_log():
* panic
* die
* kdump
* LGR timer
* PSW restart
* QDIO recovery
* resume

This patch also changes the s390dbf hex_ascii view. Now only printable ASCII
characters are shown.

Reviewed-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Michael Holzheu &lt;holzheu@linux.vnet.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
</feed>
