On Thu, Sep 23, 2010 at 07:18:27PM +0530, Sachin Sant wrote: > I cannot boot recent linux-next builds on a s390x box. > > I first ran into this problem with Sept 17th linux-next build(2.6.36-rc4_next_20100917) > > The following messages are displayed on the console : > > 03: Please choose (default will boot in 20 seconds): > 03: Booting default (autotest)... > 03: HCPGIR450W CP entered; disabled wait PSW 00020001 80000000 00000000 0010DB3E > > Any idea what could be the problem or how can i debug this issue ? Caused by "Fix IRQ flag handling naming". It changed a define to a function which takes an unsigned long. That adds an implicit cast of the ssm_mask from int to unsigned long and changes bit positions. In consequence we fail to enable the virtual addressing mode and hence the kernel crashes at first access to an address that is only available in virtual addressing mode. The patch below fixes it. David, could you please merge it into your "Fix IRQ flag handling naming" patch? Thanks! Reported-by: Sachin Sant <sachinp@xxxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> --- diff --git a/arch/s390/mm/init.c b/arch/s390/mm/init.c index d3a24e4..bb40933 100644 --- a/arch/s390/mm/init.c +++ b/arch/s390/mm/init.c @@ -91,7 +91,6 @@ static unsigned long setup_zero_pages(void) */ void __init paging_init(void) { - static const int ssm_mask = 0x04000000L; unsigned long max_zone_pfns[MAX_NR_ZONES]; unsigned long pgd_type; @@ -113,7 +112,7 @@ void __init paging_init(void) __ctl_load(S390_lowcore.kernel_asce, 1, 1); __ctl_load(S390_lowcore.kernel_asce, 7, 7); __ctl_load(S390_lowcore.kernel_asce, 13, 13); - arch_local_irq_restore(ssm_mask); + arch_local_irq_restore(4UL << (BITS_PER_LONG - 8)); atomic_set(&init_mm.context.attach_count, 1); -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html