Hi All,
 I am trying to port the click modular router to a 3.4 kernel and run it under UML. I got the patch to compile for a 3.4 kernel under the UML architecture, however when I boot up the UM kernel the process simply hangs without every making a call to "start_kernel". To try and get some debug info I ran it under gdb, and after interrupting the hung UM linux, I got the following backtrace:
asridharan§avi-server ß/dev/click-port/click-linux-3.0/src $ gdb ./linux
GNU gdb (Gentoo 7.2 p1) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /home/asridharan/dev/click-port/click-linux-3.0/src/linux...done.
(gdb) b start_kernel
Breakpoint 1 at 0x6000152e: file init/main.c, line 466.
(gdb) r
Starting program: /home/asridharan/dev/click-port/click-linux-3.0/src/linux
Core dump limits :
    soft - 0
    hard - NONE
Checking that ptrace can change system call numbers...OK
Checking syscall emulation patch for ptrace...OK
Checking advanced syscall emulation patch for ptrace...OK
Checking for tmpfs mount on /dev/shm...OK
Checking PROT_EXEC mmap in /dev/shm/...OK
Checking for the skas3 patch in the host:
  - /proc/mm...not found: No such file or directory
  - PTRACE_FAULTINFO...not found
  - PTRACE_LDT...not found
UML running in SKAS0 mode
^C
Program received signal SIGINT, Interrupt.
0x0000000060028d60 in __delay (loops=410) at arch/x86/um/delay.c:17
17        asm volatile(
(gdb) bt
#0  0x0000000060028d60 in __delay (loops=410) at arch/x86/um/delay.c:17
#1  0x0000000060028d99 in __const_udelay (xloops=<value optimized out>)
    at arch/x86/um/delay.c:46
#2  0x000000006025a205 in panic (fmt=<value optimized out>)
    at kernel/panic.c:174
#3  0x000000006000aad2 in mark_bootmem (start=2049, end=8192,
    reserve=<value optimized out>, flags=0) at mm/bootmem.c:351
#4  0x000000006000b512 in free_bootmem (addr=<value optimized out>,
    size=<value optimized out>) at mm/bootmem.c:395
#5  0x0000000060002b5c in setup_physmem (start=<value optimized out>,
    reserve_end=<value optimized out>, len=33554432,
    highmem=<value optimized out>) at arch/um/kernel/physmem.c:108
#6  0x00000000600031f5 in linux_main (argc=1, argv=0x7fffffffe0a8)
    at arch/um/kernel/um_arch.c:345
#7  0x0000000060003a97 in main (argc=1, argv=0x7fffffffe0a8,
    envp=<value optimized out>) at arch/um/os-Linux/main.c:152
(gdb) frame 2
#2  0x000000006025a205 in panic (fmt=<value optimized out>)
    at kernel/panic.c:174
174            mdelay(PANIC_TIMER_STEP);
(gdb) list
169            touch_softlockup_watchdog();
170            if (i >= i_next) ä
171                i += panic_blink(state ^= 1);
172                i_next = i + 3600 / PANIC_BLINK_SPD;
173            ¨
174            mdelay(PANIC_TIMER_STEP);
175        ¨
176    ¨
177   
178    EXPORT_SYMBOL(panic);
(gdb) quit
A debugging session is active.

    Inferior 1 Äprocess 15622Ü will be killed.

Quit anyway? (y or n) y


I definitely have not modified any UM specific files, so the behavior is a bit confusing. I can understand if the kernel crashes after bootup, since I have modified some code in the network stack. However, this did not make much sense to me.

Would be grateful to gain some insights into the problem.

Thanks,
Aviansh