kernel_optimize_test/include/asm-s390
Heiko Carstens 15e9b586e0 [S390] Reset infrastructure for re-IPL.
In case of re-IPL and diag308 doesn't work we have to reset all devices
manually and wait synchronously that each reset finished.
This patch adds the necessary infrastucture and the first exploiter of it.

Subsystems that need to add a function that needs to be called at re-IPL
may register/unregister this function via

struct reset_call {
	struct reset_call *next;
	void (*fn)(void);
};

void register_reset_call(struct reset_call *reset);
void unregister_reset_call(struct reset_call *reset);

When the registered function get called the context is:

- all cpus beside the current one are stopped
- all machine checks and interrupts are disabled
- prefixing is disabled
- a default machine check handler is available for use

The registered functions may not take any locks are sleep.

For the common I/O layer part of this patch:

Introduce a reset_call css_reset that does the following:
- clear all subchannels
- perform a rchp on all channel paths and wait for the resulting
  machine checks
This replaces the calls to clear_all_subchannels() and
cio_reset_channel_paths() for kexec and ccw reipl. reipl_ccw_dev() now
uses reipl_find_schid() to determine the subchannel id for a given
device id.
Also remove cio_reset_channel_paths() and friends since they are not
needed anymore.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2006-12-04 15:40:26 +01:00
..
a.out.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
appldata.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
atomic.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
auxvec.h [PATCH] auxiliary vector cleanups 2005-09-07 16:57:21 -07:00
bitops.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
bug.h [S390] __builtin_trap() and gcc version. 2006-07-12 16:39:42 +02:00
bugs.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
byteorder.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
cache.h [PATCH] s390: add read_mostly optimization 2006-04-28 08:33:48 -07:00
cacheflush.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ccwdev.h [S390] Fix sparse warnings. 2006-07-12 16:41:55 +02:00
ccwgroup.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
checksum.h [NET]: S390 checksum annotations and cleanups. 2006-12-02 21:23:21 -08:00
cio.h [S390] Reset infrastructure for re-IPL. 2006-12-04 15:40:26 +01:00
cmb.h [S390] rework of channel measurement facility. 2006-06-29 15:08:41 +02:00
compat.h [PATCH] s390: add ptr_to_compat() 2006-03-27 08:44:48 -08:00
cpcmd.h [PATCH] s390: add vmcp interface 2005-06-25 16:24:37 -07:00
cputime.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
current.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dasd.h [S390] add PAV support to the dasd driver. 2006-06-29 15:08:18 +02:00
debug.h [PATCH] Fix 'make headers_check' on s390 2006-09-16 12:54:31 -07:00
delay.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
device.h Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
div64.h [S390] __div64_32 for 31 bit. 2006-09-28 16:55:39 +02:00
dma-mapping.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dma.h [S390] empty function defines. 2006-09-20 15:58:51 +02:00
ebcdic.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
elf.h [PATCH] Fix 'make headers_check' on s390 2006-09-16 12:54:31 -07:00
emergency-restart.h [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
errno.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
extmem.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fcntl.h [PATCH] Clean up struct flock64 definitions 2005-09-07 16:57:38 -07:00
futex.h [S390] Make user-copy operations run-time configurable. 2006-09-20 15:59:42 +02:00
hardirq.h [S390] irq change build fixes. 2006-10-06 16:38:35 +02:00
idals.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
io.h [S390] Remove open-coded mem_map usage. 2006-10-04 20:02:23 +02:00
ioctl.h [PATCH] Generic ioctl.h 2006-01-10 08:01:34 -08:00
ioctls.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipcbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq_regs.h [S390] irq change build fixes. 2006-10-06 16:38:35 +02:00
irq.h [PATCH] Make touch_nmi_watchdog imply touch_softlockup_watchdog on all archs 2006-09-29 09:18:05 -07:00
irqflags.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
Kbuild [S390] Unexport <asm/z90crypt.h>, export <asm/zcrypt.h> in its place. 2006-09-24 22:07:25 +01:00
kdebug.h [S390] add kprobes support. 2006-09-20 15:58:39 +02:00
kexec.h [PATCH] Kdump: powerpc and s390 build failure fix 2006-01-10 08:01:27 -08:00
kmap_types.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kprobes.h [S390] add kprobes support. 2006-09-20 15:58:39 +02:00
linkage.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
local.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
lowcore.h [S390] Reset infrastructure for re-IPL. 2006-12-04 15:40:26 +01:00
mathemu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mman.h [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
mmu_context.h [PATCH] s390: "extern inline" -> "static inline" 2005-11-09 07:55:52 -08:00
mmu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
module.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
monwriter.h [S390] Linux API for writing z/VM APPLDATA Monitor records. 2006-09-20 15:59:34 +02:00
msgbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mutex.h [PATCH] mutex subsystem, add default include/asm-*/mutex.h files 2006-01-09 15:59:19 -08:00
namei.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
page.h [S390] Remove open-coded mem_map usage. 2006-10-04 20:02:23 +02:00
param.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
percpu.h [PATCH] Fix typo in "syntax error if percpu macros are incorrectly used" patch 2006-10-06 08:53:41 -07:00
pgalloc.h [S390] Remove open-coded mem_map usage. 2006-10-04 20:02:23 +02:00
pgtable.h [S390] Fix pte type checking. 2006-10-18 18:30:51 +02:00
poll.h [PATCH] POLLRDHUP/EPOLLRDHUP handling for half-closed devices notifications 2006-03-25 08:22:56 -08:00
posix_types.h [S390] __FD_foo definitions. 2006-06-14 14:10:51 +01:00
processor.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
ptrace.h [PATCH] Add regs_return_value() helper 2006-10-02 07:57:16 -07:00
qdio.h fix file specification in comments 2006-10-03 23:01:26 +02:00
qeth.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
reset.h [S390] Reset infrastructure for re-IPL. 2006-12-04 15:40:26 +01:00
resource.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rwsem.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
s390_ext.h [S390] irq change build fixes. 2006-10-06 16:38:35 +02:00
s390_rdev.h [PATCH] s390: email-address change 2006-01-14 18:27:10 -08:00
scatterlist.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sections.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
segment.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
semaphore.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
sembuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
setup.h [PATCH] Directed yield: direct yield of spinlocks for s390. 2006-10-01 00:39:22 -07:00
sfp-machine.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
shmbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
shmparam.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sigcontext.h [PATCH] s390: sigcontext.h vs __user 2006-01-14 18:27:08 -08:00
siginfo.h [PATCH] consolidate SIGEV_PAD_SIZE 2005-05-01 08:59:08 -07:00
signal.h [PATCH] irq-flags: S390: Use the new IRQF_ constants 2006-07-02 13:58:48 -07:00
sigp.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
smp.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
socket.h [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
sockios.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
spinlock_types.h [PATCH] Directed yield: direct yield of spinlocks for s390. 2006-10-01 00:39:22 -07:00
spinlock.h [S390] incorrect placement of include. 2006-10-04 20:02:12 +02:00
stat.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
statfs.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
string.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
suspend.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
system.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
tape390.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
termbits.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
termios.h [S390] termio <-> termios conversion error handling. 2006-12-04 15:40:02 +01:00
thread_info.h [S390] preempt_count initialization. 2006-06-29 15:02:47 +02:00
timer.h [S390] irq change improvements. 2006-10-11 15:31:26 +02:00
timex.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
tlb.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tlbflush.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
todclk.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
topology.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
types.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
uaccess.h [S390] Add __must_check to uaccess functions. 2006-12-04 15:39:55 +01:00
ucontext.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unaligned.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unistd.h [S390] Wire up epoll_pwait syscall. 2006-10-18 18:30:45 +02:00
user.h [PATCH] s390: uml ptrace fixes 2005-06-04 17:13:00 -07:00
vtoc.h Use __uXX types for S390 DASD volume label definitions which are user-visible 2006-05-04 01:18:33 +01:00
xor.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
zcrypt.h [S390] update interface notes in zcrypt.h 2006-12-04 15:40:00 +01:00