Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 309589
b: refs/heads/master
c: fa7c004
h: refs/heads/master
i:
  309587: 514878d
v: v3
  • Loading branch information
Michael Holzheu authored and Martin Schwidefsky committed May 23, 2012
1 parent b25282a commit e8d75c7
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a9fbf1a53836d4105f95df947ac00e22311dff33
refs/heads/master: fa7c0043425624ed65b94a6fabe750c7b0af8719
12 changes: 12 additions & 0 deletions trunk/arch/s390/kernel/base.S
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,9 @@ ENTRY(diag308_reset)
stctg %c0,%c15,0(%r4)
larl %r4,.Lfpctl # Floating point control register
stfpc 0(%r4)
larl %r4,.Lcontinue_psw # Save PSW flags
epsw %r2,%r3
stm %r2,%r3,0(%r4)
larl %r4,.Lrestart_psw # Setup restart PSW at absolute 0
lghi %r3,0
lg %r4,0(%r4) # Save PSW
Expand All @@ -103,11 +106,20 @@ ENTRY(diag308_reset)
lctlg %c0,%c15,0(%r4)
larl %r4,.Lfpctl # Restore floating point ctl register
lfpc 0(%r4)
larl %r4,.Lcontinue_psw # Restore PSW flags
lpswe 0(%r4)
.Lcontinue:
br %r14
.align 16
.Lrestart_psw:
.long 0x00080000,0x80000000 + .Lrestart_part2

.section .data..nosave,"aw",@progbits
.align 8
.Lcontinue_psw:
.quad 0,.Lcontinue
.previous

.section .bss
.align 8
.Lctlregs:
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/s390/kernel/ipl.c
Original file line number Diff line number Diff line change
Expand Up @@ -1750,6 +1750,7 @@ static struct kobj_attribute on_restart_attr =

static void __do_restart(void *ignore)
{
__arch_local_irq_stosm(0x04); /* enable DAT */
smp_send_stop();
#ifdef CONFIG_CRASH_DUMP
crash_kexec(NULL);
Expand Down
3 changes: 2 additions & 1 deletion trunk/arch/s390/kernel/machine_kexec.c
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@ static void __do_machine_kdump(void *image)
#ifdef CONFIG_CRASH_DUMP
int (*start_kdump)(int) = (void *)((struct kimage *) image)->start;

__load_psw_mask(PSW_MASK_BASE | PSW_DEFAULT_KEY | PSW_MASK_EA | PSW_MASK_BA);
setup_regs();
__load_psw_mask(PSW_MASK_BASE | PSW_DEFAULT_KEY | PSW_MASK_EA | PSW_MASK_BA);
start_kdump(1);
#endif
}
Expand Down Expand Up @@ -214,6 +214,7 @@ static void __machine_kexec(void *data)
{
struct kimage *image = data;

__arch_local_irq_stosm(0x04); /* enable DAT */
pfault_fini();
tracing_off();
debug_locks_off();
Expand Down

0 comments on commit e8d75c7

Please sign in to comment.