Permalink
Switch branches/tags
Nothing to show
Commits on Dec 7, 2015
  1. Applied sugestions from Bertil

    christianjann committed Dec 7, 2015
    Applied sugestions from Bertil:
    
    http://www.jann.cc/2015/05/18/peempt_rt_for_the_nvidia_jetson_tk1.html#comment-2366486265
    
    It looks a bit better but still:
    
    [   15.165600] BUG: scheduling while atomic: swapper/1/0/0x00000002
    [   15.165636] Preemption disabled at:
    [   15.165641] Preemption disabled at:[<  (null)>]   (null)
    [   15.165852] bad: scheduling from the idle thread!
    
    [   19.198935] NOHZ: local_softirq_pending 02
    [   19.199920] NOHZ: local_softirq_pending 02
    
    And it hangs.
Commits on May 17, 2015
  1. error: invalid 'asm': operand number out of range

    christianjann committed May 17, 2015
    arch/arm/kernel/process.c: In function '__show_regs':
    arch/arm/kernel/process.c:432:4: error: invalid 'asm': operand number
    out of range
        asm("mrc p15, 0, %0, c2, c0\n\t"
        ^
    make[1]: *** [arch/arm/kernel/process.o] Error 1
    make: *** [arch/arm/kernel] Error 2
Commits on Apr 25, 2015
  1. Fix: Unable to handle kernel NULL pointer dereference at virtual addr…

    christianjann committed Apr 25, 2015
    …ess 00000000
    
    Unable to handle kernel NULL pointer dereference at virtual address
    00000000
    [<c0072c80>] (wake_up_process+0x10/0x4c) from [<c005ff20>]
    (kthread_create_on_node+0x84/0xec)
    [<c005ff20>] (kthread_create_on_node+0x84/0xec) from [<c00bb67c>]
    (__setup_irq+0x29c/0x4cc)
    [<c00bb67c>] (__setup_irq+0x29c/0x4cc) from [<c00bb8f4>]
    (setup_irq+0x48/0x90)
    [<c00bb8f4>] (setup_irq+0x48/0x90) from [<c06d9f38>]
    (tegra3_register_wake_timer+0x28/0x64)
    [<c06d9f38>] (tegra3_register_wake_timer+0x28/0x64) from [<c0cea0fc>]
    (tegra_init_timer+0x23c/0x36c)
    [<c0cea0fc>] (tegra_init_timer+0x23c/0x36c) from [<c0ce9a88>]
    (clocksource_of_init+0x34/0x58)
    [<c0ce9a88>] (clocksource_of_init+0x34/0x58) from [<c0cba2b4>]
    (time_init+0x2c/0x38)
    [<c0cba2b4>] (time_init+0x2c/0x38) from [<c0cb79ac>]
    (start_kernel+0x234/0x370)
    Kernel panic - not syncing: Attempted to kill the idle task!
    
    The problem is time_init() gets executed far before rest_init() where
    kthreadd_task
    gets initialized and wake_up_process(kthreadd_task) fails in
    kthread_create_on_node().
    
    > http://permalink.gmane.org/gmane.linux.rt.user/13477
    
    We have to mark timer interrupt with IRQF_TIMER and that should be
    enough.
    
    > http://lists.infradead.org/pipermail/linux-arm-
    kernel/2013-December/222270.html
    
    The IRQF_DISABLED flag is a NOOP since 2.6.35 and it will be removed one
    day.
  2. error: unknown type name 'atomic_long_t'

    christianjann committed Apr 25, 2015
    CC      drivers/video/tegra/nvmap/nvmap_pp.o
    In file included from drivers/video/tegra/nvmap/nvmap_pp.c:28:0:
    include/linux/shrinker.h:37:2: error: unknown type name 'atomic_long_t'
    make[4]: *** [drivers/video/tegra/nvmap/nvmap_pp.o] Error 1
    make[3]: *** [drivers/video/tegra/nvmap] Error 2
    make[2]: *** [drivers/video/tegra] Error 2
    make[1]: *** [drivers/video] Error 2
    make: *** [drivers] Error 2
  3. error: macro "mutex_unlock" passed 2 arguments, but takes just 1

    christianjann committed Apr 25, 2015
    CC      drivers/video/tegra/host/nvhost_syncpt.o
    drivers/video/tegra/host/nvhost_syncpt.c: In function
    'nvhost_mutex_unlock':
    drivers/video/tegra/host/nvhost_syncpt.c:569:34: error: macro
    "mutex_unlock" passed 2 arguments, but takes just 1
    drivers/video/tegra/host/nvhost_syncpt.c:569:13: error: value computed
    is not used [-Werror=unused-value]
    cc1: all warnings being treated as errors
    make[4]: *** [drivers/video/tegra/host/nvhost_syncpt.o] Error 1
    make[3]: *** [drivers/video/tegra/host] Error 2
    make[2]: *** [drivers/video/tegra] Error 2
    make[1]: *** [drivers/video] Error 2
    make: *** [drivers] Error 2
  4. error: 'struct mutex' has no member named 'owner'

    christianjann committed Apr 25, 2015
    In file included from drivers/usb/host/xhci.c:4776:0:
    drivers/usb/host/xhci-tegra.c: In function 'must_have_sync_lock':
    drivers/usb/host/xhci-tegra.c:454:2: error: 'struct mutex' has no member
    named 'owner'
    drivers/usb/host/xhci-tegra.c: In function 'hsic_power_show':
    drivers/usb/host/xhci-tegra.c:4203:36: warning: comparison of distinct
    pointer types lacks a cast [enabled by default]
    drivers/usb/host/xhci-tegra.c: In function 'hsic_power_store':
    drivers/usb/host/xhci-tegra.c:4231:36: warning: comparison of distinct
    pointer types lacks a cast [enabled by default]
    drivers/usb/host/xhci-tegra.c: In function 'hsic_power_create_file':
    drivers/usb/host/xhci-tegra.c:4266:4: warning: passing argument 1 of
    'snprintf' discards 'const' qualifier from pointer target type [enabled
    by default]
    In file included from include/asm-generic/bug.h:13:0,
                     from
    /mnt/data/data/Projects/Tegra/kernel/arch/arm/include/asm/bug.h:59,
                     from include/linux/bug.h:4,
                     from include/linux/thread_info.h:13,
                     from include/asm-generic/preempt.h:4,
                     from arch/arm/include/generated/asm/preempt.h:1,
                     from include/linux/preempt.h:18,
                     from include/linux/spinlock.h:50,
                     from include/linux/kobject.h:23,
                     from include/linux/pci.h:28,
                     from drivers/usb/host/xhci.c:23:
    include/linux/kernel.h:361:5: note: expected 'char *' but argument is of
    type 'const char *'
    In file included from drivers/usb/host/xhci.c:4776:0:
    drivers/usb/host/xhci-tegra.c:4267:34: warning: assignment from
    incompatible pointer type [enabled by default]
    drivers/usb/host/xhci-tegra.c:4268:35: warning: assignment from
    incompatible pointer type [enabled by default]
    drivers/usb/host/xhci-tegra.c: In function 'tegra_xhci_probe':
    drivers/usb/host/xhci-tegra.c:4346:28: warning: comparison between
    pointer and integer [enabled by default]
    drivers/usb/host/xhci-tegra.c:4291:6: warning: unused variable 'irq'
    [-Wunused-variable]
    drivers/usb/host/xhci.c: In function 'tegra_xhci_resume':
    drivers/usb/host/xhci-tegra.c:3752:18: warning: ignoring return value of
    'regulator_enable', declared with attribute warn_unused_result
    [-Wunused-result]
    drivers/usb/host/xhci-tegra.c:3753:18: warning: ignoring return value of
    'regulator_enable', declared with attribute warn_unused_result
    [-Wunused-result]
    make[3]: *** [drivers/usb/host/xhci.o] Error 1
    make[2]: *** [drivers/usb/host] Error 2
    make[1]: *** [drivers/usb] Error 2
    make: *** [drivers] Error 2
  5. error: 'struct mutex' has no member named 'count'

    christianjann committed Apr 25, 2015
    CC      drivers/input/misc/mpu/inv_gyro.o
    drivers/input/misc/mpu/inv_gyro.c: In function 'nvi_aux_dbg':
    drivers/input/misc/mpu/inv_gyro.c:1369:2: error: 'struct mutex' has no
    member named 'count'
    make[4]: *** [drivers/input/misc/mpu/inv_gyro.o] Error 1
    make[3]: *** [drivers/input/misc/mpu] Error 2
    make[2]: *** [drivers/input/misc] Error 2
    make[1]: *** [drivers/input] Error 2
    make: *** [drivers] Error 2
  6. error: 'struct timerfd_ctx' has no member named 'tmr'

    christianjann committed Apr 25, 2015
    CC      fs/timerfd.o
    fs/timerfd.c: In function 'do_timerfd_settime':
    fs/timerfd.c:384:30: error: 'struct timerfd_ctx' has no member named
    'tmr'
    make[1]: *** [fs/timerfd.o] Error 1
    make: *** [fs] Error 2
  7. Applied the RT patch

    christianjann committed Apr 25, 2015
  8. Added RT patch files

    christianjann committed Apr 25, 2015