s390/cio: add ipldev keyword to cio_ignore
Provide an 'ipldev' keyword to cio_ignore to (un)ignore the CCW or FCP based boot device. Reviewed-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
12d8471315
commit
0e6c83d187
|
@ -8,9 +8,9 @@ Command line parameters
|
|||
|
||||
Enable logging of debug information in case of ccw device timeouts.
|
||||
|
||||
* cio_ignore = {all} |
|
||||
{<device> | <range of devices>} |
|
||||
{!<device> | !<range of devices>}
|
||||
* cio_ignore = device[,device[,..]]
|
||||
|
||||
device := {all | [!]ipldev | [!]<devno> | [!]<devno>-<devno>}
|
||||
|
||||
The given devices will be ignored by the common I/O-layer; no detection
|
||||
and device sensing will be done on any of those devices. The subchannel to
|
||||
|
@ -24,9 +24,10 @@ Command line parameters
|
|||
device numbers (0xabcd or abcd, for 2.4 backward compatibility). If you
|
||||
give a device number 0xabcd, it will be interpreted as 0.0.abcd.
|
||||
|
||||
You can use the 'all' keyword to ignore all devices.
|
||||
The '!' operator will cause the I/O-layer to _not_ ignore a device.
|
||||
The command line is parsed from left to right.
|
||||
You can use the 'all' keyword to ignore all devices. The 'ipldev' keyword can
|
||||
be used to refer to the CCW based boot device (this is probably useful only
|
||||
when combined with the '!' operator). The '!' operator will cause the I/O-layer
|
||||
to _not_ ignore a device. The command line is parsed from left to right.
|
||||
|
||||
For example,
|
||||
cio_ignore=0.0.0023-0.0.0042,0.0.4711
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* S/390 common I/O routines -- blacklisting of specific devices
|
||||
*
|
||||
* Copyright IBM Corp. 1999, 2002
|
||||
* Copyright IBM Corp. 1999, 2013
|
||||
* Author(s): Ingo Adlung (adlung@de.ibm.com)
|
||||
* Cornelia Huck (cornelia.huck@de.ibm.com)
|
||||
* Arnd Bergmann (arndb@de.ibm.com)
|
||||
|
@ -17,8 +17,9 @@
|
|||
#include <linux/ctype.h>
|
||||
#include <linux/device.h>
|
||||
|
||||
#include <asm/cio.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/cio.h>
|
||||
#include <asm/ipl.h>
|
||||
|
||||
#include "blacklist.h"
|
||||
#include "cio.h"
|
||||
|
@ -172,6 +173,22 @@ static int blacklist_parse_parameters(char *str, range_action action,
|
|||
to_cssid = __MAX_CSSID;
|
||||
to_ssid = __MAX_SSID;
|
||||
to = __MAX_SUBCHANNEL;
|
||||
} else if (strcmp(parm, "ipldev") == 0) {
|
||||
if (ipl_info.type == IPL_TYPE_CCW) {
|
||||
from_cssid = 0;
|
||||
from_ssid = ipl_info.data.ccw.dev_id.ssid;
|
||||
from = ipl_info.data.ccw.dev_id.devno;
|
||||
} else if (ipl_info.type == IPL_TYPE_FCP ||
|
||||
ipl_info.type == IPL_TYPE_FCP_DUMP) {
|
||||
from_cssid = 0;
|
||||
from_ssid = ipl_info.data.fcp.dev_id.ssid;
|
||||
from = ipl_info.data.fcp.dev_id.devno;
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
to_cssid = from_cssid;
|
||||
to_ssid = from_ssid;
|
||||
to = from;
|
||||
} else {
|
||||
rc = parse_busid(strsep(&parm, "-"), &from_cssid,
|
||||
&from_ssid, &from, msgtrigger);
|
||||
|
|
Loading…
Reference in a new issue