summaryrefslogtreecommitdiffstats
path: root/recipes-kernel
diff options
context:
space:
mode:
authorJacob Kroon <jacob.kroon@mikrodidakt.se>2014-03-27 21:32:03 +0100
committerOtavio Salvador <otavio@ossystems.com.br>2014-03-28 13:32:40 -0300
commit8b4240e404ee55ce573003533b246c6cdad49f99 (patch)
treeb0abb98e7bfa011456a4eaad603314c54e962e96 /recipes-kernel
parentf85b129d2bbe8ffc97825f69c82e6347516bab67 (diff)
downloadmeta-fsl-arm-8b4240e404ee55ce573003533b246c6cdad49f99.tar.gz
linux-imx-rt: Add initial recipe
Add initial support for 3.10.17-1.0.0 beta with 3.10.17-rt12 real-time patch. Changes in v2: - Improve commit message - Add 'Upstream-Status' tags in patches - Add SUMMARY/DESCRIPTION Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'recipes-kernel')
-rw-r--r--recipes-kernel/linux/linux-imx-rt-3.10.17/0001-fix-build.patch139
-rw-r--r--recipes-kernel/linux/linux-imx-rt-3.10.17/0002-fix-build-with-rt-enabled.patch111
-rw-r--r--recipes-kernel/linux/linux-imx-rt-3.10.17/0003-no-split-ptlocks.patch84
-rw-r--r--recipes-kernel/linux/linux-imx-rt-3.10.17/mx6/defconfig332
-rw-r--r--recipes-kernel/linux/linux-imx-rt_3.10.17.bb26
5 files changed, 692 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-imx-rt-3.10.17/0001-fix-build.patch b/recipes-kernel/linux/linux-imx-rt-3.10.17/0001-fix-build.patch
new file mode 100644
index 0000000..8d9ed83
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-rt-3.10.17/0001-fix-build.patch
@@ -0,0 +1,139 @@
1Fix the build errors listed below
2
3Upstream-Status: Inappropriate [other]
4Freescale does not currently support the real-time kernel
5
6Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se>
7
8 CC drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o
9drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c: In function 'gckOS_WaitSignal':
10drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7835:5: error: passing argument 1 of 'spin_lock_irq' from incompatible pointer type [-Werror]
11 spin_lock_irq(&signal->obj.wait.lock);
12 ^
13In file included from include/linux/seqlock.h:29:0,
14 from include/linux/time.h:5,
15 from include/linux/stat.h:18,
16 from include/linux/module.h:10,
17 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27,
18 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22:
19include/linux/spinlock.h:316:20: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *'
20 static inline void spin_lock_irq(spinlock_t *lock)
21 ^
22drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7867:9: error: passing argument 1 of '__add_wait_queue_tail' from incompatible pointer type [-Werror]
23 __add_wait_queue_tail(&signal->obj.wait, &wait);
24 ^
25In file included from include/linux/mmzone.h:9:0,
26 from include/linux/gfp.h:4,
27 from include/linux/kmod.h:22,
28 from include/linux/module.h:13,
29 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27,
30 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22:
31include/linux/wait.h:120:20: note: expected 'struct wait_queue_head_t *' but argument is of type 'struct swait_head *'
32 static inline void __add_wait_queue_tail(wait_queue_head_t *head,
33 ^
34drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7879:13: error: passing argument 1 of 'spin_unlock_irq' from incompatible pointer type [-Werror]
35 spin_unlock_irq(&signal->obj.wait.lock);
36 ^
37In file included from include/linux/seqlock.h:29:0,
38 from include/linux/time.h:5,
39 from include/linux/stat.h:18,
40 from include/linux/module.h:10,
41 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27,
42 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22:
43include/linux/spinlock.h:341:20: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *'
44 static inline void spin_unlock_irq(spinlock_t *lock)
45 ^
46drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7881:13: error: passing argument 1 of 'spin_lock_irq' from incompatible pointer type [-Werror]
47 spin_lock_irq(&signal->obj.wait.lock);
48 ^
49In file included from include/linux/seqlock.h:29:0,
50 from include/linux/time.h:5,
51 from include/linux/stat.h:18,
52 from include/linux/module.h:10,
53 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27,
54 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22:
55include/linux/spinlock.h:316:20: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *'
56 static inline void spin_lock_irq(spinlock_t *lock)
57 ^
58drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7945:9: error: passing argument 1 of '__remove_wait_queue' from incompatible pointer type [-Werror]
59 __remove_wait_queue(&signal->obj.wait, &wait);
60 ^
61In file included from include/linux/mmzone.h:9:0,
62 from include/linux/gfp.h:4,
63 from include/linux/kmod.h:22,
64 from include/linux/module.h:13,
65 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27,
66 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22:
67include/linux/wait.h:133:20: note: expected 'struct wait_queue_head_t *' but argument is of type 'struct swait_head *'
68 static inline void __remove_wait_queue(wait_queue_head_t *head,
69 ^
70drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7958:5: error: passing argument 1 of 'spin_unlock_irq' from incompatible pointer type [-Werror]
71 spin_unlock_irq(&signal->obj.wait.lock);
72 ^
73In file included from include/linux/seqlock.h:29:0,
74 from include/linux/time.h:5,
75 from include/linux/stat.h:18,
76 from include/linux/module.h:10,
77 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27,
78 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22:
79include/linux/spinlock.h:341:20: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *'
80 static inline void spin_unlock_irq(spinlock_t *lock)
81 ^
82cc1: all warnings being treated as errors
83make[4]: *** [drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o] Error 1
84
85Index: git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
86===================================================================
87--- git.orig/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
88+++ git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
89@@ -7832,7 +7832,7 @@ gckOS_WaitSignal(
90
91 might_sleep();
92
93- spin_lock_irq(&signal->obj.wait.lock);
94+ raw_spin_lock_irq(&signal->obj.wait.lock);
95
96 if (signal->obj.done)
97 {
98@@ -7862,9 +7862,8 @@ gckOS_WaitSignal(
99 : Wait * HZ / 1000;
100 #endif
101
102- DECLARE_WAITQUEUE(wait, current);
103- wait.flags |= WQ_FLAG_EXCLUSIVE;
104- __add_wait_queue_tail(&signal->obj.wait, &wait);
105+ DEFINE_SWAITER(wait);
106+ swait_prepare_locked(&signal->obj.wait, &wait);
107
108 while (gcvTRUE)
109 {
110@@ -7876,9 +7875,9 @@ gckOS_WaitSignal(
111 }
112
113 __set_current_state(TASK_INTERRUPTIBLE);
114- spin_unlock_irq(&signal->obj.wait.lock);
115+ raw_spin_unlock_irq(&signal->obj.wait.lock);
116 timeout = schedule_timeout(timeout);
117- spin_lock_irq(&signal->obj.wait.lock);
118+ raw_spin_lock_irq(&signal->obj.wait.lock);
119
120 if (signal->obj.done)
121 {
122@@ -7942,7 +7941,7 @@ gckOS_WaitSignal(
123 }
124 }
125
126- __remove_wait_queue(&signal->obj.wait, &wait);
127+ swait_finish_locked(&signal->obj.wait, &wait);
128
129 #if gcdDETECT_TIMEOUT
130 if (complained)
131@@ -7955,7 +7954,7 @@ gckOS_WaitSignal(
132 #endif
133 }
134
135- spin_unlock_irq(&signal->obj.wait.lock);
136+ raw_spin_unlock_irq(&signal->obj.wait.lock);
137
138 OnError:
139 /* Return status. */
diff --git a/recipes-kernel/linux/linux-imx-rt-3.10.17/0002-fix-build-with-rt-enabled.patch b/recipes-kernel/linux/linux-imx-rt-3.10.17/0002-fix-build-with-rt-enabled.patch
new file mode 100644
index 0000000..6132b3b
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-rt-3.10.17/0002-fix-build-with-rt-enabled.patch
@@ -0,0 +1,111 @@
1Fix the build errors listed below, when PREEMPT_RT_FULL is enabled
2
3Upstream-Status: Pending
4
5Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se>
6
7 CC drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o
8In file included from include/linux/seqlock.h:29:0,
9 from include/linux/time.h:5,
10 from include/linux/stat.h:18,
11 from include/linux/module.h:10,
12 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27,
13 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22:
14drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c: In function 'gckOS_CreateMutex':
15include/linux/mutex_rt.h:74:24: error: dereferencing 'void *' pointer [-Werror]
16 rt_mutex_init(&(mutex)->lock); \
17 ^
18include/linux/spinlock.h:104:9: note: in definition of macro 'raw_spin_lock_init'
19 do { *(lock) = __RAW_SPIN_LOCK_UNLOCKED(lock); } while (0)
20 ^
21include/linux/mutex_rt.h:74:2: note: in expansion of macro 'rt_mutex_init'
22 rt_mutex_init(&(mutex)->lock); \
23 ^
24drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3046:5: note: in expansion of macro 'mutex_init'
25 mutex_init(*Mutex);
26 ^
27include/linux/mutex_rt.h:74:24: error: request for member 'lock' in something not a structure or union
28 rt_mutex_init(&(mutex)->lock); \
29 ^
30include/linux/spinlock.h:104:9: note: in definition of macro 'raw_spin_lock_init'
31 do { *(lock) = __RAW_SPIN_LOCK_UNLOCKED(lock); } while (0)
32 ^
33include/linux/mutex_rt.h:74:2: note: in expansion of macro 'rt_mutex_init'
34 rt_mutex_init(&(mutex)->lock); \
35 ^
36drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3046:5: note: in expansion of macro 'mutex_init'
37 mutex_init(*Mutex);
38 ^
39In file included from include/linux/spinlock_types.h:18:0,
40 from include/linux/spinlock.h:81,
41 from include/linux/seqlock.h:29,
42 from include/linux/time.h:5,
43 from include/linux/stat.h:18,
44 from include/linux/module.h:10,
45 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27,
46 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22:
47include/linux/mutex_rt.h:74:24: error: dereferencing 'void *' pointer [-Werror]
48 rt_mutex_init(&(mutex)->lock); \
49 ^
50include/linux/mutex_rt.h:74:2: note: in expansion of macro 'rt_mutex_init'
51 rt_mutex_init(&(mutex)->lock); \
52 ^
53drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3046:5: note: in expansion of macro 'mutex_init'
54 mutex_init(*Mutex);
55 ^
56include/linux/mutex_rt.h:74:24: error: request for member 'lock' in something not a structure or union
57 rt_mutex_init(&(mutex)->lock); \
58 ^
59include/linux/mutex_rt.h:74:2: note: in expansion of macro 'rt_mutex_init'
60 rt_mutex_init(&(mutex)->lock); \
61 ^
62drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3046:5: note: in expansion of macro 'mutex_init'
63 mutex_init(*Mutex);
64 ^
65In file included from include/linux/mutex.h:28:0,
66 from include/linux/notifier.h:13,
67 from include/linux/memory_hotplug.h:6,
68 from include/linux/mmzone.h:771,
69 from include/linux/gfp.h:4,
70 from include/linux/kmod.h:22,
71 from include/linux/module.h:13,
72 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27,
73 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22:
74drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c: In function 'gckOS_DeleteMutex':
75include/linux/mutex_rt.h:46:48: error: dereferencing 'void *' pointer [-Werror]
76 #define mutex_destroy(l) rt_mutex_destroy(&(l)->lock)
77 ^
78drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3091:5: note: in expansion of macro 'mutex_destroy'
79 mutex_destroy(Mutex);
80 ^
81include/linux/mutex_rt.h:46:48: error: request for member 'lock' in something not a structure or union
82 #define mutex_destroy(l) rt_mutex_destroy(&(l)->lock)
83 ^
84drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3091:5: note: in expansion of macro 'mutex_destroy'
85 mutex_destroy(Mutex);
86 ^
87cc1: all warnings being treated as errors
88make[4]: *** [drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o] Error 1
89
90Index: git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
91===================================================================
92--- git.orig/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
93+++ git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
94@@ -3043,7 +3043,7 @@ gckOS_CreateMutex(
95 gcmkONERROR(gckOS_Allocate(Os, gcmSIZEOF(struct mutex), Mutex));
96
97 /* Initialize the mutex. */
98- mutex_init(*Mutex);
99+ mutex_init((struct mutex*)*Mutex);
100
101 /* Return status. */
102 gcmkFOOTER_ARG("*Mutex=0x%X", *Mutex);
103@@ -3088,7 +3088,7 @@ gckOS_DeleteMutex(
104 gcmkVERIFY_ARGUMENT(Mutex != gcvNULL);
105
106 /* Destroy the mutex. */
107- mutex_destroy(Mutex);
108+ mutex_destroy((struct mutex*)Mutex);
109
110 /* Free the mutex structure. */
111 gcmkONERROR(gckOS_Free(Os, Mutex));
diff --git a/recipes-kernel/linux/linux-imx-rt-3.10.17/0003-no-split-ptlocks.patch b/recipes-kernel/linux/linux-imx-rt-3.10.17/0003-no-split-ptlocks.patch
new file mode 100644
index 0000000..b7995b6
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-rt-3.10.17/0003-no-split-ptlocks.patch
@@ -0,0 +1,84 @@
1Work around the oops below by disabling split ptlocks
2
3Upstream-Status: Inappropriate [disable feature]
4
5Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se>
6
7Unable to handle kernel NULL pointer dereference at virtual address 00000000
8pgd = ac5a8000
9[00000000] *pgd=3c8db831, *pte=00000000, *ppte=00000000
10Internal error: Oops: 17 [#1] PREEMPT SMP ARM
11Modules linked in:
12CPU: 1 PID: 277 Comm: test-qt5 Not tainted 3.10.17-rt12-monkey+gec1af9f #2
13task: ac65df80 ti: ac968000 task.ti: ac968000
14PC is at _raw_spin_lock+0x10/0x4c
15LR is at get_parent_ip+0x10/0x2c
16pc : [<80623fd4>] lr : [<8004ef18>] psr: 60010013
17sp : ac969c38 ip : 80c44404 fp : 00000000
18r10: ac65df80 r9 : ac969cd8 r8 : 00000000
19r7 : 00000054 r6 : afffe000 r5 : 00000000 r4 : 00000000
20r3 : ac65df80 r2 : 00000001 r1 : 00000000 r0 : 00000000
21Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
22Control: 10c53c7d Table: 3c5a804a DAC: 00000015
23Process test-qt5 (pid: 277, stack limit = 0xac968238)
24Stack: (0xac969c38 to 0xac96a000)
259c20: b00549a8 806235e0
269c40: 00000000 ac968000 812f9a00 80017cec ac969c74 fffffffe 00000000 00005000
279c60: 00000000 80017e6c ac968000 ac65df80 00000000 00000000 00000001 ac968001
289c80: ac65df80 b00549a8 00000000 afffe000 00000054 00000000 ac969cd8 afffe150
299ca0: b0054bf8 8044e540 ac969cd8 b00549a8 ac0b8180 00000230 ac8fd000 00000230
309cc0: 00000000 8044f6f4 ac155700 ac969cf4 ac155700 804605b8 ac155700 ac969d8c
319ce0: 00000002 ac969d24 b0054bf8 804607f4 7ef1fcd0 80450078 ac0b8180 ac155700
329d00: ac969d8c 00000002 ac8fd000 8045f1a0 ac969d24 00000000 ac8fd01c b00549a8
339d20: b0050000 00000008 ac969d98 ac0b8300 ac969d8c 00000115 ac969d98 ac969e00
349d40: ac155600 ac3985f0 7ef1fcd0 8045661c 00000115 00000000 00000001 00000000
359d60: 00007530 80454144 80c32e18 00000001 81518e18 806237dc 00000001 ac968038
369d80: 00000000 00000000 00000000 00000000 00000115 806237dc ac6f5688 ac968018
379da0: 812e1640 00000000 00000001 ac968000 ac969dc4 8004efe4 ac968008 ac39a000
389dc0: ac744400 ac968020 00007530 ac968000 ac968000 ac3985f0 7ef1fcd0 8044d374
399de0: 7ef1fd20 00000000 000000f8 00000000 7ef1fd20 00000000 000000f8 00000000
409e00: 00000028 00000002 00000000 6437d1dd 7ef1fddc 76f9c030 7ef1fd88 76fb9abc
419e20: 00000320 00005007 e02c7eca c1399eff 020fb2db 00000000 00000000 00000000
429e40: 00000001 00000040 00000400 00000004 00000010 00000400 00000002 00000100
439e60: 00000100 00000008 00000008 00000000 ffffffff 00000000 7588e180 76fb1000
449e80: 08000000 00000000 00000000 76fb11b8 000000af 760b6cd8 ffffffff 7431d4c0
459ea0: 000cb1ac 75889000 00000000 00000001 000000b0 00000000 00000000 76fa0da0
469ec0: 00000000 00000001 00000001 00000000 00000000 7588cb40 00000001 75957ecc
479ee0: 00000001 7ef1fe7c 75953e94 7ef1fedc 00000002 76fa789c 00007530 ac6813c0
489f00: 00000000 7ef1fcd0 ac6813c0 ac968000 ac3985f0 800d68fc 00000001 ac968000
499f20: ac969f34 8004efe4 ac4f71d4 6c31d000 00000000 80623fd4 00000000 80623578
509f40: ac4f71d4 800a3d40 00000001 00000000 ac969f5c 00000003 ac6813c8 00000000
519f60: 00000001 00007530 00000003 00000000 7ef1fcd0 ac6813c0 ac968000 00000000
529f80: 00000000 800d6afc ac4f7180 00000000 00002710 00007530 75957e40 00000036
539fa0: 8000e2c4 8000e140 00002710 00007530 00000003 00007530 7ef1fcd0 01bc3008
549fc0: 00002710 00007530 75957e40 00000036 01bd2e70 00000001 7ef1fd20 00000000
559fe0: 759540c4 7ef1fcbc 7593f698 760a0ccc 20010010 00000003 00000000 00000000
56[<80623fd4>] (_raw_spin_lock+0x10/0x4c) from [<806235e0>] (rt_spin_lock_slowlock+0x34/0x29c)
57[<806235e0>] (rt_spin_lock_slowlock+0x34/0x29c) from [<8044e540>] (_QueryProcessPageTable+0x8c/0xdc)
58[<8044e540>] (_QueryProcessPageTable+0x8c/0xdc) from [<8044f6f4>] (gckOS_GetPhysicalAddress+0x20/0x58)
59[<8044f6f4>] (gckOS_GetPhysicalAddress+0x20/0x58) from [<804605b8>] (gckHARDWARE_ConvertLogical+0x2c/0x90)
60[<804605b8>] (gckHARDWARE_ConvertLogical+0x2c/0x90) from [<804607f4>] (gckHARDWARE_Link+0x60/0x104)
61[<804607f4>] (gckHARDWARE_Link+0x60/0x104) from [<8045f1a0>] (gckCONTEXT_Construct+0x264/0x2bc)
62[<8045f1a0>] (gckCONTEXT_Construct+0x264/0x2bc) from [<8045661c>] (gckCOMMAND_Attach+0x44/0x88)
63[<8045661c>] (gckCOMMAND_Attach+0x44/0x88) from [<80454144>] (gckKERNEL_Dispatch+0x358/0x12c8)
64[<80454144>] (gckKERNEL_Dispatch+0x358/0x12c8) from [<8044d374>] (drv_ioctl+0x120/0x284)
65[<8044d374>] (drv_ioctl+0x120/0x284) from [<800d68fc>] (do_vfs_ioctl+0x408/0x5d0)
66[<800d68fc>] (do_vfs_ioctl+0x408/0x5d0) from [<800d6afc>] (SyS_ioctl+0x38/0x64)
67[<800d6afc>] (SyS_ioctl+0x38/0x64) from [<8000e140>] (ret_fast_syscall+0x0/0x30)
68Code: e92d4010 e1a04000 e3a00001 ebe8abd7 (e1943f9f)
69---[ end trace 0000000000000002 ]---
70note: test-qt5[277] exited with preempt_count 1
71
72Index: git/include/linux/mm_types.h
73===================================================================
74--- git.orig/include/linux/mm_types.h
75+++ git/include/linux/mm_types.h
76@@ -24,7 +24,7 @@
77
78 struct address_space;
79
80-#define USE_SPLIT_PTLOCKS (NR_CPUS >= CONFIG_SPLIT_PTLOCK_CPUS)
81+#define USE_SPLIT_PTLOCKS (0)
82
83 /*
84 * Each physical page in the system has a struct page associated with
diff --git a/recipes-kernel/linux/linux-imx-rt-3.10.17/mx6/defconfig b/recipes-kernel/linux/linux-imx-rt-3.10.17/mx6/defconfig
new file mode 100644
index 0000000..dd002e7
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-rt-3.10.17/mx6/defconfig
@@ -0,0 +1,332 @@
1CONFIG_KERNEL_LZO=y
2CONFIG_SYSVIPC=y
3CONFIG_NO_HZ=y
4CONFIG_HIGH_RES_TIMERS=y
5CONFIG_IKCONFIG=y
6CONFIG_IKCONFIG_PROC=y
7CONFIG_LOG_BUF_SHIFT=18
8CONFIG_CGROUPS=y
9CONFIG_RELAY=y
10CONFIG_BLK_DEV_INITRD=y
11CONFIG_EXPERT=y
12CONFIG_PERF_EVENTS=y
13# CONFIG_SLUB_DEBUG is not set
14# CONFIG_COMPAT_BRK is not set
15CONFIG_MODULES=y
16CONFIG_MODULE_UNLOAD=y
17CONFIG_MODVERSIONS=y
18CONFIG_MODULE_SRCVERSION_ALL=y
19# CONFIG_BLK_DEV_BSG is not set
20CONFIG_GPIO_PCA953X=y
21CONFIG_ARCH_MXC=y
22CONFIG_MXC_DEBUG_BOARD=y
23CONFIG_MACH_IMX51_DT=y
24CONFIG_MACH_EUKREA_CPUIMX51SD=y
25CONFIG_SOC_IMX53=y
26CONFIG_SOC_IMX6Q=y
27CONFIG_SOC_IMX6SL=y
28CONFIG_SOC_VF610=y
29# CONFIG_SWP_EMULATE is not set
30CONFIG_SMP=y
31CONFIG_VMSPLIT_2G=y
32CONFIG_PREEMPT_RT_FULL=y
33CONFIG_AEABI=y
34# CONFIG_OABI_COMPAT is not set
35CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
36CONFIG_CPU_FREQ=y
37CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y
38CONFIG_CPU_FREQ_GOV_POWERSAVE=y
39CONFIG_CPU_FREQ_GOV_USERSPACE=y
40CONFIG_CPU_FREQ_GOV_ONDEMAND=y
41CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
42CONFIG_ARM_IMX6_CPUFREQ=y
43CONFIG_CPU_IDLE=y
44CONFIG_VFP=y
45CONFIG_NEON=y
46CONFIG_BINFMT_MISC=m
47CONFIG_PM_RUNTIME=y
48CONFIG_PM_DEBUG=y
49CONFIG_PM_TEST_SUSPEND=y
50CONFIG_NET=y
51CONFIG_PACKET=y
52CONFIG_UNIX=y
53CONFIG_INET=y
54CONFIG_IP_PNP=y
55CONFIG_IP_PNP_DHCP=y
56# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
57# CONFIG_INET_XFRM_MODE_TUNNEL is not set
58# CONFIG_INET_XFRM_MODE_BEET is not set
59# CONFIG_INET_LRO is not set
60CONFIG_IPV6=y
61CONFIG_NETFILTER=y
62CONFIG_VLAN_8021Q=y
63CONFIG_CAN=y
64CONFIG_CAN_FLEXCAN=y
65CONFIG_CFG80211=y
66CONFIG_CFG80211_WEXT=y
67CONFIG_MAC80211=y
68CONFIG_DEVTMPFS=y
69CONFIG_DEVTMPFS_MOUNT=y
70# CONFIG_STANDALONE is not set
71CONFIG_CMA=y
72CONFIG_CMA_SIZE_MBYTES=256
73CONFIG_IMX_WEIM=y
74CONFIG_CONNECTOR=y
75CONFIG_MTD=y
76CONFIG_MTD_CMDLINE_PARTS=y
77CONFIG_MTD_BLOCK=y
78CONFIG_MTD_CFI=y
79CONFIG_MTD_JEDECPROBE=y
80CONFIG_MTD_CFI_INTELEXT=y
81CONFIG_MTD_CFI_AMDSTD=y
82CONFIG_MTD_CFI_STAA=y
83CONFIG_MTD_PHYSMAP_OF=y
84CONFIG_MTD_DATAFLASH=y
85CONFIG_MTD_M25P80=y
86CONFIG_MTD_SST25L=y
87CONFIG_MTD_NAND=y
88CONFIG_MTD_NAND_GPMI_NAND=y
89CONFIG_MTD_NAND_MXC=y
90CONFIG_MTD_UBI=y
91CONFIG_BLK_DEV_LOOP=y
92CONFIG_BLK_DEV_RAM=y
93CONFIG_BLK_DEV_RAM_SIZE=65536
94CONFIG_EEPROM_AT24=y
95CONFIG_EEPROM_AT25=y
96# CONFIG_SCSI_PROC_FS is not set
97CONFIG_BLK_DEV_SD=y
98CONFIG_SCSI_MULTI_LUN=y
99CONFIG_SCSI_CONSTANTS=y
100CONFIG_SCSI_LOGGING=y
101CONFIG_SCSI_SCAN_ASYNC=y
102# CONFIG_SCSI_LOWLEVEL is not set
103CONFIG_ATA=y
104CONFIG_SATA_AHCI_PLATFORM=y
105CONFIG_AHCI_IMX=y
106CONFIG_PATA_IMX=y
107CONFIG_NETDEVICES=y
108# CONFIG_NET_VENDOR_BROADCOM is not set
109CONFIG_CS89x0=y
110CONFIG_CS89x0_PLATFORM=y
111# CONFIG_NET_VENDOR_FARADAY is not set
112# CONFIG_NET_VENDOR_INTEL is not set
113# CONFIG_NET_VENDOR_MARVELL is not set
114# CONFIG_NET_VENDOR_MICREL is not set
115# CONFIG_NET_VENDOR_MICROCHIP is not set
116# CONFIG_NET_VENDOR_NATSEMI is not set
117# CONFIG_NET_VENDOR_SEEQ is not set
118CONFIG_SMC91X=y
119CONFIG_SMC911X=y
120CONFIG_SMSC911X=y
121# CONFIG_NET_VENDOR_STMICRO is not set
122CONFIG_ATH_CARDS=y
123CONFIG_ATH6KL=m
124CONFIG_ATH6KL_SDIO=m
125# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
126CONFIG_INPUT_EVDEV=y
127CONFIG_INPUT_EVBUG=m
128CONFIG_KEYBOARD_GPIO=y
129CONFIG_KEYBOARD_IMX=y
130CONFIG_MOUSE_PS2=m
131CONFIG_MOUSE_PS2_ELANTECH=y
132CONFIG_INPUT_TOUCHSCREEN=y
133CONFIG_TOUCHSCREEN_EGALAX=y
134CONFIG_TOUCHSCREEN_ELAN=y
135CONFIG_TOUCHSCREEN_MAX11801=y
136CONFIG_TOUCHSCREEN_MC13783=y
137CONFIG_INPUT_MISC=y
138CONFIG_INPUT_MMA8450=y
139CONFIG_INPUT_ISL29023=y
140CONFIG_SERIO_SERPORT=m
141CONFIG_VT_HW_CONSOLE_BINDING=y
142# CONFIG_LEGACY_PTYS is not set
143# CONFIG_DEVKMEM is not set
144CONFIG_SERIAL_IMX=y
145CONFIG_SERIAL_IMX_CONSOLE=y
146CONFIG_SERIAL_FSL_LPUART=y
147CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
148CONFIG_FSL_OTP=y
149# CONFIG_I2C_COMPAT is not set
150CONFIG_I2C_CHARDEV=y
151# CONFIG_I2C_HELPER_AUTO is not set
152CONFIG_I2C_ALGOPCF=m
153CONFIG_I2C_ALGOPCA=m
154CONFIG_I2C_IMX=y
155CONFIG_SPI=y
156CONFIG_SPI_IMX=y
157CONFIG_GPIO_SYSFS=y
158CONFIG_POWER_SUPPLY=y
159CONFIG_SABRESD_MAX8903=y
160CONFIG_IMX6_USB_CHARGER=y
161CONFIG_SENSORS_MAX17135=y
162CONFIG_SENSORS_MAG3110=y
163CONFIG_THERMAL=y
164CONFIG_CPU_THERMAL=y
165CONFIG_IMX_THERMAL=y
166CONFIG_DEVICE_THERMAL=y
167CONFIG_WATCHDOG=y
168CONFIG_IMX2_WDT=y
169CONFIG_MFD_DA9052_I2C=y
170CONFIG_MFD_MC13XXX_SPI=y
171CONFIG_MFD_MC13XXX_I2C=y
172CONFIG_MFD_MAX17135=y
173CONFIG_MFD_SI476X_CORE=y
174CONFIG_REGULATOR=y
175CONFIG_REGULATOR_FIXED_VOLTAGE=y
176CONFIG_REGULATOR_DA9052=y
177CONFIG_REGULATOR_ANATOP=y
178CONFIG_REGULATOR_MC13783=y
179CONFIG_REGULATOR_MC13892=y
180CONFIG_REGULATOR_MAX17135=y
181CONFIG_REGULATOR_PFUZE100=y
182CONFIG_MEDIA_SUPPORT=y
183CONFIG_MEDIA_CAMERA_SUPPORT=y
184CONFIG_MEDIA_RADIO_SUPPORT=y
185CONFIG_VIDEO_V4L2_INT_DEVICE=y
186CONFIG_MEDIA_USB_SUPPORT=y
187CONFIG_USB_VIDEO_CLASS=m
188CONFIG_V4L_PLATFORM_DRIVERS=y
189CONFIG_VIDEO_MXC_OUTPUT=y
190CONFIG_VIDEO_MXC_CAPTURE=m
191CONFIG_VIDEO_MXC_CSI_CAMERA=m
192CONFIG_MXC_CAMERA_OV5640=m
193CONFIG_MXC_CAMERA_OV5642=m
194CONFIG_MXC_CAMERA_OV5640_MIPI=m
195CONFIG_MXC_TVIN_ADV7180=m
196CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m
197CONFIG_VIDEO_MXC_IPU_OUTPUT=y
198CONFIG_VIDEO_MXC_PXP_V4L2=y
199CONFIG_SOC_CAMERA=y
200CONFIG_VIDEO_MX3=y
201CONFIG_RADIO_SI476X=y
202CONFIG_SOC_CAMERA_OV2640=y
203CONFIG_DRM=y
204CONFIG_DRM_VIVANTE=y
205CONFIG_FB=y
206CONFIG_FB_MXS=y
207CONFIG_BACKLIGHT_LCD_SUPPORT=y
208CONFIG_LCD_CLASS_DEVICE=y
209CONFIG_LCD_L4F00242T03=y
210CONFIG_LCD_PLATFORM=y
211CONFIG_BACKLIGHT_CLASS_DEVICE=y
212CONFIG_BACKLIGHT_PWM=y
213CONFIG_FB_MXC_SYNC_PANEL=y
214CONFIG_FB_MXC_LDB=y
215CONFIG_FB_MXC_MIPI_DSI=y
216CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
217CONFIG_FB_MXC_HDMI=y
218CONFIG_FB_MXC_EINK_PANEL=y
219CONFIG_FB_MXS_SII902X=y
220CONFIG_FRAMEBUFFER_CONSOLE=y
221CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
222CONFIG_FONTS=y
223CONFIG_FONT_8x8=y
224CONFIG_FONT_8x16=y
225CONFIG_LOGO=y
226CONFIG_SOUND=y
227CONFIG_SND=y
228CONFIG_SND_USB_AUDIO=m
229CONFIG_SND_SOC=y
230CONFIG_SND_IMX_SOC=y
231CONFIG_SND_SOC_EUKREA_TLV320=y
232CONFIG_SND_SOC_IMX_CS42888=y
233CONFIG_SND_SOC_IMX_WM8962=y
234CONFIG_SND_SOC_IMX_SGTL5000=y
235CONFIG_SND_SOC_IMX_SPDIF=y
236CONFIG_SND_SOC_IMX_MC13783=y
237CONFIG_SND_SOC_IMX_HDMI=y
238CONFIG_SND_SOC_IMX_SI476X=y
239CONFIG_USB=y
240CONFIG_USB_EHCI_HCD=y
241CONFIG_USB_STORAGE=y
242CONFIG_USB_CHIPIDEA=y
243CONFIG_USB_CHIPIDEA_UDC=y
244CONFIG_USB_CHIPIDEA_HOST=y
245CONFIG_USB_PHY=y
246CONFIG_USB_MXS_PHY=y
247CONFIG_USB_GADGET=y
248CONFIG_USB_ZERO=m
249CONFIG_USB_ETH=m
250CONFIG_USB_MASS_STORAGE=m
251CONFIG_USB_G_SERIAL=m
252CONFIG_MMC=y
253CONFIG_MMC_UNSAFE_RESUME=y
254CONFIG_MMC_SDHCI=y
255CONFIG_MMC_SDHCI_PLTFM=y
256CONFIG_MMC_SDHCI_ESDHC_IMX=y
257CONFIG_MXC_IPU=y
258CONFIG_MXC_GPU_VIV=y
259CONFIG_MXC_ASRC=y
260CONFIG_MXC_MIPI_CSI2=y
261CONFIG_MXC_MLB150=m
262CONFIG_NEW_LEDS=y
263CONFIG_LEDS_CLASS=y
264CONFIG_RTC_CLASS=y
265CONFIG_RTC_INTF_DEV_UIE_EMUL=y
266CONFIG_RTC_DRV_MC13XXX=y
267CONFIG_RTC_DRV_MXC=y
268CONFIG_RTC_DRV_SNVS=y
269CONFIG_DMADEVICES=y
270CONFIG_MXC_PXP_V2=y
271CONFIG_IMX_SDMA=y
272CONFIG_MXS_DMA=y
273CONFIG_STAGING=y
274CONFIG_COMMON_CLK_DEBUG=y
275# CONFIG_IOMMU_SUPPORT is not set
276CONFIG_PWM=y
277CONFIG_PWM_IMX=y
278CONFIG_EXT2_FS=y
279CONFIG_EXT2_FS_XATTR=y
280CONFIG_EXT2_FS_POSIX_ACL=y
281CONFIG_EXT2_FS_SECURITY=y
282CONFIG_EXT3_FS=y
283CONFIG_EXT3_FS_POSIX_ACL=y
284CONFIG_EXT3_FS_SECURITY=y
285CONFIG_EXT4_FS=y
286CONFIG_EXT4_FS_POSIX_ACL=y
287CONFIG_EXT4_FS_SECURITY=y
288CONFIG_QUOTA=y
289CONFIG_QUOTA_NETLINK_INTERFACE=y
290# CONFIG_PRINT_QUOTA_WARNING is not set
291CONFIG_AUTOFS4_FS=y
292CONFIG_FUSE_FS=y
293CONFIG_ISO9660_FS=m
294CONFIG_JOLIET=y
295CONFIG_ZISOFS=y
296CONFIG_UDF_FS=m
297CONFIG_MSDOS_FS=m
298CONFIG_VFAT_FS=y
299CONFIG_TMPFS=y
300CONFIG_JFFS2_FS=y
301CONFIG_UBIFS_FS=y
302CONFIG_NFS_FS=y
303CONFIG_NFS_V3_ACL=y
304CONFIG_NFS_V4=y
305CONFIG_ROOT_NFS=y
306CONFIG_NLS_DEFAULT="cp437"
307CONFIG_NLS_CODEPAGE_437=y
308CONFIG_NLS_ASCII=y
309CONFIG_NLS_ISO8859_1=y
310CONFIG_NLS_ISO8859_15=m
311CONFIG_NLS_UTF8=y
312CONFIG_MAGIC_SYSRQ=y
313# CONFIG_SCHED_DEBUG is not set
314# CONFIG_DEBUG_BUGVERBOSE is not set
315# CONFIG_FTRACE is not set
316CONFIG_SECURITYFS=y
317CONFIG_CRYPTO_USER=y
318CONFIG_CRYPTO_CCM=y
319CONFIG_CRYPTO_GCM=y
320CONFIG_CRYPTO_CBC=y
321CONFIG_CRYPTO_CTS=y
322CONFIG_CRYPTO_ECB=y
323CONFIG_CRYPTO_LRW=y
324# CONFIG_CRYPTO_ANSI_CPRNG is not set
325CONFIG_CRYPTO_DEV_FSL_CAAM=y
326CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
327CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=y
328CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
329CONFIG_CRC_CCITT=m
330CONFIG_CRC_T10DIF=y
331CONFIG_CRC7=m
332CONFIG_LIBCRC32C=m
diff --git a/recipes-kernel/linux/linux-imx-rt_3.10.17.bb b/recipes-kernel/linux/linux-imx-rt_3.10.17.bb
new file mode 100644
index 0000000..0878564
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-rt_3.10.17.bb
@@ -0,0 +1,26 @@
1# Adapted from linux-imx_3.10.17.bb
2
3require recipes-kernel/linux/linux-imx.inc
4require recipes-kernel/linux/linux-dtb.inc
5
6SUMMARY = "Linux real-time kernel based on linux-imx"
7DESCRIPTION = "Linux kernel that is based on Freescale's linux-imx, \
8with added real-time capabilities."
9
10DEPENDS += "lzop-native bc-native"
11
12SRCBRANCH = "imx_3.10.17_1.0.0_beta"
13SRCREV = "ec1af9f898d234001d8fc7d720382de34cb6580f"
14LOCALVERSION = "-rt-1.0.0_beta"
15
16COMPATIBLE_MACHINE = "(mx6)"
17
18SRC_URI += "\
19 https://www.kernel.org/pub/linux/kernel/projects/rt/3.10/older/patch-3.10.17-rt12.patch.bz2;name=rt-patch1 \
20 file://0001-fix-build.patch \
21 file://0002-fix-build-with-rt-enabled.patch \
22 file://0003-no-split-ptlocks.patch \
23"
24
25SRC_URI[rt-patch1.md5sum] = "77a28c8b20b01f280dcd860e606a6edd"
26SRC_URI[rt-patch1.sha256sum] = "ce219268f08eecccb39ff2b5be83657d53ca67cb1c6b81021494075197190351"