Compare commits
548 Commits
Author | SHA1 | Date |
---|---|---|
Josh Boyer | 498deb1154 | |
Josh Boyer | 891cc1841b | |
Dave Jones | 76082fd1da | |
Josh Boyer | be05448047 | |
Josh Boyer | 6523ee4682 | |
Peter Robinson | e0f4b6180b | |
Josh Boyer | 745e1e6d9f | |
Josh Boyer | 5b7355e655 | |
Josh Boyer | c26d168712 | |
Josh Boyer | e39d89beef | |
Josh Boyer | 26edf9ecd2 | |
Josh Boyer | c8c0339604 | |
Josh Boyer | d1740087bc | |
Josh Boyer | e02d934488 | |
Josh Boyer | 9006cf8aee | |
Josh Boyer | c8304131bf | |
Josh Boyer | 1c0545258e | |
Josh Boyer | 1622b3d8e5 | |
Josh Boyer | 940cf17eb0 | |
Josh Boyer | 6fd38013c8 | |
Josh Boyer | ae3a062e88 | |
Josh Boyer | ccaa0a90c5 | |
Josh Boyer | 38c2c4d211 | |
Justin M. Forbes | 753f28c2d8 | |
Dave Jones | f58c94c259 | |
Josh Boyer | 86985d0596 | |
Josh Boyer | 06a13386b0 | |
Josh Boyer | f7695cdcaf | |
Josh Boyer | 8ff0b55e6a | |
Josh Boyer | 20ff6b3171 | |
Josh Boyer | 7a126072eb | |
Josh Boyer | b54718c5ec | |
Josh Boyer | c60f5d3991 | |
Josh Boyer | f174ce0724 | |
Josh Boyer | 2a7218df92 | |
Josh Boyer | 333bcd60b9 | |
Josh Boyer | e6a9984329 | |
Josh Boyer | 6ca684a54d | |
Josh Boyer | 4e6476bdd5 | |
Josh Boyer | 3eefce94f5 | |
Josh Boyer | fc7d3f59a4 | |
Josh Boyer | 2f84d57e54 | |
Josh Boyer | 1c462fd782 | |
Justin M. Forbes | 642c45daf1 | |
Josh Boyer | 0b1d6743c8 | |
Josh Boyer | 231a6c6746 | |
Peter Robinson | 1656aee902 | |
Peter Robinson | 4829c8180f | |
Justin M. Forbes | 6328a50193 | |
Josh Boyer | 36c229586e | |
Josh Boyer | f1f97f7fa3 | |
Justin M. Forbes | 977738adfe | |
Justin M. Forbes | e6852b690d | |
Josh Boyer | 89560ac259 | |
Justin M. Forbes | 4751fcd387 | |
Justin M. Forbes | 16dc88406e | |
Peter Robinson | af3159cc36 | |
Josh Boyer | 638bba75cc | |
Josh Boyer | b92e84a3a8 | |
Josh Boyer | b0d734f6c4 | |
Josh Boyer | 158d104c07 | |
Josh Boyer | f36a215782 | |
Josh Boyer | 0ebd597832 | |
Josh Boyer | e576093454 | |
Josh Boyer | 583f2ea58f | |
Josh Boyer | 62ad7b1fc0 | |
Josh Boyer | 4a7e4a4d41 | |
Josh Boyer | 2d3286ee13 | |
Josh Boyer | f4dacfee76 | |
Josh Boyer | e9cd14fc4d | |
Josh Boyer | 401880b16e | |
Josh Boyer | d5e330f6f8 | |
Josh Boyer | 586dc72172 | |
Dave Jones | 76877b8187 | |
Josh Boyer | 7f35254607 | |
Josh Boyer | aa9dea0e34 | |
Josh Boyer | 0a3f614f1a | |
Josh Boyer | cceeebddab | |
Dave Jones | 069f7ae276 | |
Dave Jones | af745223da | |
Josh Boyer | 97b1b12b20 | |
Dave Jones | 257bb08298 | |
Josh Boyer | 01bed76462 | |
Josh Boyer | 719ad5a41f | |
Josh Boyer | 498db5becd | |
Josh Boyer | f70e5919dc | |
Peter Robinson | aa42a31acf | |
Josh Boyer | e6e57faa6b | |
Justin M. Forbes | 0390113468 | |
Dave Jones | 7a13662cd4 | |
Josh Boyer | 9a2eae9267 | |
Josh Boyer | 0303fb0eac | |
Josh Boyer | f9c0a737cc | |
Josh Boyer | 83d2836284 | |
Justin M. Forbes | aa34b4a3d3 | |
Josh Boyer | 2f06bf0c2b | |
Josh Boyer | 462525f905 | |
Justin M. Forbes | 0ff6c9ba73 | |
Josh Boyer | 29aec5dbb4 | |
Peter Robinson | 8edaa7fef3 | |
Peter Robinson | eefd4a7b9c | |
Peter Robinson | 4b23d6ae18 | |
Josh Boyer | 89389a2e90 | |
Josh Boyer | eed7f51b23 | |
Josh Boyer | 8d496427eb | |
Josh Boyer | 403abecdfc | |
Justin M. Forbes | 01783818dd | |
Peter Robinson | df1cf3af93 | |
Peter Robinson | fad676f9ff | |
Josh Boyer | f6d83f1bcb | |
Josh Boyer | 314bf85c5a | |
Josh Boyer | 5d9a19407d | |
Mauro Carvalho Chehab | d07c9bf44a | |
Josh Boyer | 6f8ae00dca | |
Josh Boyer | 9fa4523eb7 | |
Josh Boyer | 6af31c189d | |
Josh Boyer | c690b0ad2b | |
Josh Boyer | 63a70f0755 | |
Josh Boyer | b9b2422ce0 | |
Mauro Carvalho Chehab | fc114e5562 | |
Josh Boyer | ba5da0cf14 | |
Josh Boyer | 9a0a8c2024 | |
Josh Boyer | 053e021c3a | |
Josh Boyer | 365b244c7c | |
Josh Boyer | 49732d2a24 | |
Josh Boyer | 49decd0917 | |
Josh Boyer | f08161620a | |
Justin M. Forbes | ca09502aec | |
Josh Boyer | 90b1fad492 | |
Peter Robinson | aef219c581 | |
Josh Boyer | 645ccd73dc | |
Josh Boyer | 39198815d8 | |
Josh Boyer | 86ce060b46 | |
Justin M. Forbes | 8d3a89bb31 | |
Justin M. Forbes | b710426697 | |
Josh Boyer | 81649bdb3e | |
Peter Robinson | bbf7716489 | |
Josh Boyer | d33d175ed0 | |
Josh Boyer | 6ac537a028 | |
Josh Boyer | 5a61b3c3be | |
Justin M. Forbes | 48601caa5c | |
Josh Boyer | 31122695c7 | |
Justin M. Forbes | ec583c93be | |
Josh Boyer | 413c7e79f6 | |
Peter Robinson | 6067ea9ca1 | |
Justin M. Forbes | 3c34bf7a1f | |
Justin M. Forbes | dc7f562424 | |
Josh Boyer | 1f1cbe4b73 | |
Josh Boyer | 66df908ad4 | |
Josh Boyer | 48b6f5c693 | |
Josh Boyer | 375c9e59f5 | |
Josh Boyer | 2038832ba0 | |
Josh Boyer | 7a177e376a | |
Josh Boyer | 930df99ee1 | |
Justin M. Forbes | 639f23b1b1 | |
Adam Jackson | ac36543927 | |
Adam Jackson | ec07e9dbae | |
Josh Boyer | 381fac519a | |
Justin M. Forbes | 6a4938fe99 | |
Adam Jackson | c8a1c7c713 | |
Adam Jackson | b5410eb507 | |
Justin M. Forbes | eae3ac4d02 | |
Justin M. Forbes | ec0018e745 | |
Josh Boyer | a8887f38a3 | |
Josh Boyer | 228b22afc5 | |
Josh Boyer | d4c9a720d9 | |
Justin M. Forbes | 2fa62b2c11 | |
Peter Robinson | 3900a1c2e7 | |
Josh Boyer | 87ef682fd1 | |
Josh Boyer | 2ee5453858 | |
Justin M. Forbes | d06e03b3b8 | |
Josh Boyer | 2ab3c91680 | |
Justin M. Forbes | ccfa9cad08 | |
Josh Boyer | 70941191f8 | |
Peter Robinson | 803c4f1115 | |
Peter Robinson | 90005a2208 | |
Justin M. Forbes | 7bd354bebe | |
Josh Boyer | 9f4fa4a8be | |
Justin M. Forbes | 000cc3f5b2 | |
Dave Jones | c7ce3f8cd6 | |
Justin M. Forbes | 21070266ff | |
Josh Boyer | 6792bee3a5 | |
Josh Boyer | 82e9f20090 | |
Peter Robinson | ea1041cae6 | |
Josh Boyer | bf8beb2520 | |
Josh Boyer | 8e4071a187 | |
Justin M. Forbes | 32a943ee1f | |
Josh Boyer | a577c7dc62 | |
Josh Boyer | 89a713e2a7 | |
Josh Boyer | 639aa658b1 | |
Josh Boyer | fff6e55c0a | |
Josh Boyer | bf1ab34254 | |
Josh Boyer | 46e984b0cc | |
Josh Boyer | 6cc4725ea9 | |
Justin M. Forbes | 9c2b622aa0 | |
Josh Boyer | 47d4848005 | |
Josh Boyer | 9f37335d3f | |
Justin M. Forbes | a6b73f8197 | |
Josh Boyer | 3f737433a5 | |
Justin M. Forbes | ba1530aaae | |
Josh Boyer | 2103f93a59 | |
Justin M. Forbes | f2c359e484 | |
Josh Boyer | 140e24d99e | |
Josh Boyer | 418011b505 | |
Josh Boyer | 1380ea091c | |
Josh Boyer | 4209423e87 | |
Josh Boyer | ceeebe3bad | |
Peter Robinson | 89f20dbfa7 | |
Peter Robinson | 861a924b1a | |
Josh Boyer | e0f0154760 | |
Josh Boyer | 68b56ce54e | |
Josh Boyer | 9ef55ad171 | |
Justin M. Forbes | 3cd5674396 | |
Josh Boyer | 51aef44bf2 | |
Josh Boyer | 999740f300 | |
Justin M. Forbes | ebefd3cc65 | |
Justin M. Forbes | 42b0632bc6 | |
Justin M. Forbes | 019f1d555e | |
Justin M. Forbes | d6512de431 | |
Dave Jones | 5cffc5a007 | |
Josh Boyer | e3cffe0bf8 | |
Mauro Carvalho Chehab | c15eb72f4b | |
Josh Boyer | 8e8972af61 | |
Josh Boyer | c84ab99ae9 | |
Justin M. Forbes | 6d20a43c2f | |
Justin M. Forbes | 76d02ca8df | |
Justin M. Forbes | cd394142aa | |
Josh Boyer | 9516ccc8d5 | |
Josh Boyer | 24d200243d | |
Peter Robinson | b71c8a4360 | |
Peter Robinson | ebea7f281f | |
Josh Boyer | c8c2a319d5 | |
Josh Boyer | dd77d2b803 | |
Josh Boyer | 8431cbd968 | |
Josh Boyer | 951aef5850 | |
Josh Boyer | 994eaf2759 | |
Peter Robinson | 1fc4e2217f | |
Peter Robinson | aeb97b1a00 | |
Josh Boyer | 9580bc3940 | |
Josh Boyer | 3204d8646a | |
Josh Boyer | 2cf66fac5e | |
Josh Boyer | df409ec92f | |
Josh Boyer | 05a71e9f31 | |
Josh Boyer | 77e4883e85 | |
Mauro Carvalho Chehab | a3db4ce6af | |
Mauro Carvalho Chehab | e524144689 | |
Mauro Carvalho Chehab | f41e24298c | |
Mauro Carvalho Chehab | a25b44e653 | |
Mauro Carvalho Chehab | 1d13150d5e | |
Josh Boyer | e2d59620f5 | |
Josh Boyer | e5b3dadf5f | |
Josh Boyer | c05f8b9272 | |
Mauro Carvalho Chehab | 35552829b4 | |
Mauro Carvalho Chehab | 1a44375e15 | |
Mauro Carvalho Chehab | 088b3292dd | |
Mauro Carvalho Chehab | 6a9077fe35 | |
Peter Robinson | 6f283881b2 | |
Peter Robinson | 9a09a5c53c | |
Josh Boyer | 43e4600ffe | |
Josh Boyer | b2ff1b70cc | |
Josh Boyer | 5e430a4dd6 | |
Josh Boyer | ef6c2f38d1 | |
Dave Jones | 1876a31055 | |
Josh Boyer | 6cec19f42c | |
Justin M. Forbes | e1089320be | |
Josh Boyer | 5e2cf58050 | |
Justin M. Forbes | 107cc7895c | |
Justin M. Forbes | 20a9e7ec59 | |
Justin M. Forbes | 021ce7bee3 | |
Dave Jones | 743d347abb | |
Justin M. Forbes | 877f9f439e | |
Dave Jones | 04489966aa | |
Dave Jones | 90780aef64 | |
Dave Jones | 0348219582 | |
Dave Jones | db67df2ee4 | |
Dave Jones | 17c4c18ae9 | |
Dave Jones | a7252002cb | |
Dave Jones | 700f9d642a | |
Dave Jones | 32403ff239 | |
Dave Jones | 222b075b3f | |
Josh Boyer | fbb6665b06 | |
Dave Jones | 880031fe2d | |
Josh Boyer | 66cb0c0021 | |
Josh Boyer | ac50af7370 | |
Josh Boyer | 487c4d7167 | |
Josh Boyer | 53ecebd579 | |
Josh Boyer | 63bb17548c | |
Josh Boyer | 40e2ad513d | |
Josh Boyer | a394a589c5 | |
Josh Boyer | e89b5d878b | |
Josh Boyer | e557f0dad8 | |
Josh Boyer | 1ea9812cdb | |
Josh Boyer | b51c09f7b5 | |
Josh Boyer | e3521339a4 | |
Josh Boyer | fda19b317c | |
Josh Boyer | 656d21accd | |
Josh Boyer | 755df4e987 | |
Justin M. Forbes | 9143a6376f | |
Josh Boyer | e86c904030 | |
Justin M. Forbes | a5a7f0c684 | |
Peter Robinson | 2f09889abb | |
Josh Boyer | 1e9cc93abf | |
Josh Boyer | 55271253c5 | |
Josh Boyer | 2d2df068ff | |
Peter Robinson | 48d388d483 | |
Peter Robinson | 5f9a54d3c0 | |
Josh Boyer | 4ecd7184ff | |
Peter Robinson | cb6e1a99f5 | |
Josh Boyer | 470b70635f | |
Josh Boyer | 082fbe3473 | |
John W. Linville | ed9681dca3 | |
Dennis Gilmore | e35f3f6061 | |
Justin M. Forbes | 694fdf18e6 | |
Josh Boyer | 5290429908 | |
Dave Jones | d295287e24 | |
Josh Boyer | 48a9b7ba7a | |
Josh Boyer | 1c5ab3b392 | |
John W. Linville | ec675c56ba | |
Justin M. Forbes | 6c6f1b8594 | |
Josh Boyer | 28170d1407 | |
Josh Boyer | da59896775 | |
Josh Boyer | 3d47c715a4 | |
Josh Boyer | a2fe54c8b0 | |
Justin M. Forbes | 50263f8131 | |
Dave Jones | 6f3b87d430 | |
Justin M. Forbes | 9d2bce0cc6 | |
Justin M. Forbes | 46932ff9af | |
Justin M. Forbes | 81b6a5b514 | |
Justin M. Forbes | 82f5c0ee45 | |
Justin M. Forbes | c459464235 | |
Josh Boyer | 7b1733efd5 | |
Josh Boyer | 1b96ab66be | |
Justin M. Forbes | 5a91192c1e | |
Dennis Gilmore | 72cee3c2fc | |
Josh Boyer | a8283add14 | |
Josh Boyer | 95e7d92685 | |
Josh Boyer | 2ccad4cf5e | |
Josh Boyer | ab7183ff44 | |
Josh Boyer | 12eb25beb1 | |
Josh Boyer | 2cd576ed87 | |
Dennis Gilmore | b920e9b748 | |
Dennis Gilmore | 26dfa93c6b | |
Dennis Gilmore | dac218827a | |
Dennis Gilmore | 0ee1a3499d | |
Dennis Gilmore | 0c2c60f6fb | |
Peter Robinson | 85ce09f074 | |
Peter Robinson | 745a2cc5d4 | |
Josh Boyer | a8e293d2a3 | |
Dave Jones | 88fa1f0332 | |
Peter Robinson | d885d6c86a | |
Justin M. Forbes | 2660d94801 | |
Justin M. Forbes | 39acffae26 | |
Josh Boyer | 506e7ae6a2 | |
Josh Boyer | 62a54c7401 | |
Mauro Carvalho Chehab | 1e953ffdf6 | |
Mauro Carvalho Chehab | b2151191d3 | |
Josh Boyer | 455182ef81 | |
Adam Jackson | 2ee75d45c7 | |
Justin M. Forbes | af47703545 | |
Josh Boyer | ec51726eca | |
Josh Boyer | 07d66f28b6 | |
Josh Boyer | fe11531247 | |
Dennis Gilmore | a4ec16e544 | |
Justin M. Forbes | a8d5b8b142 | |
Josh Boyer | 0e8b5cac91 | |
Dennis Gilmore | 34b6abb66f | |
Josh Boyer | 6f5fb13061 | |
Justin M. Forbes | be402e5a53 | |
Justin M. Forbes | 29833ee66f | |
Josh Boyer | 8511ce0313 | |
Mauro Carvalho Chehab | 5963c7872d | |
Josh Boyer | 99667a9f69 | |
Dave Jones | c733befc8b | |
Dave Jones | ded40ae5b3 | |
Justin M. Forbes | c11628e2fd | |
Justin M. Forbes | f5a9f4b3b3 | |
Justin M. Forbes | 35223b7f9c | |
Josh Boyer | ba63b0eddb | |
Dennis Gilmore | 33847bf37e | |
Dennis Gilmore | d8200c0196 | |
Dennis Gilmore | 6de3dde529 | |
Peter Robinson | 76a51fad57 | |
Justin M. Forbes | b17fbf6281 | |
Josh Boyer | db355f7ded | |
Justin M. Forbes | db21f469dd | |
Justin M. Forbes | aeab634894 | |
Josh Boyer | c1dc37b693 | |
Dave Jones | cab5127bd1 | |
Justin M. Forbes | a8f58bb89c | |
Justin M. Forbes | 918c474fc0 | |
Josh Boyer | 37e7953c58 | |
Josh Boyer | 5b0120f33f | |
Josh Boyer | 3b96934ff4 | |
Josh Boyer | 6e2468ba3e | |
Peter Hutterer | f3ba8d1a96 | |
Josh Boyer | 7bb156c930 | |
Josh Boyer | d80df3443e | |
Josh Boyer | 2ddaf28593 | |
Justin M. Forbes | 1268e178c4 | |
Justin M. Forbes | 3490e9bb74 | |
Justin M. Forbes | 150a1754ad | |
Josh Boyer | d49243fb20 | |
Josh Boyer | 052403b3c9 | |
Josh Boyer | 861ec4fcf6 | |
Josh Boyer | 905b88a9e8 | |
Josh Boyer | f7429699b4 | |
Josh Boyer | 3357ee4929 | |
Josh Boyer | 640877bc22 | |
Josh Boyer | 6ae0c8402e | |
Josh Boyer | 03aee81210 | |
Josh Boyer | aca0c0113c | |
Josh Boyer | d9aad82f33 | |
Dennis Gilmore | d3a46ed584 | |
Peter Robinson | 116089caa5 | |
Peter Robinson | 341240f413 | |
Peter Robinson | 34c59d0ce1 | |
Dennis Gilmore | 65cabe786d | |
Josh Boyer | c6f2d01d81 | |
Josh Boyer | 4b3699110c | |
Mauro Carvalho Chehab | 21154b3b1c | |
Josh Boyer | 546745e9c3 | |
Josh Boyer | 1d8fbc4937 | |
Josh Boyer | 6bae32eefe | |
Dave Jones | 8e40392487 | |
Josh Boyer | 541804a28d | |
Josh Boyer | 7c5e45e7c3 | |
Josh Boyer | 359bad2b92 | |
Josh Boyer | 008280377a | |
Josh Boyer | 37604c39bc | |
Josh Boyer | e7391bed1e | |
Josh Boyer | 035ffabe06 | |
Dave Jones | 5be33f56fa | |
Dave Jones | e9cafbfe1a | |
Josh Boyer | 9abfa16136 | |
Josh Boyer | c898e790c9 | |
Josh Boyer | e238325e94 | |
Josh Boyer | b2e5b31ef2 | |
Josh Boyer | 2722c59313 | |
Josh Boyer | 0aca2ef1c5 | |
Josh Boyer | 5bdfff4ee1 | |
Josh Boyer | e5e09d24a2 | |
Josh Boyer | 46ad899861 | |
Matthew Garrett | f1d2f5da9e | |
Dave Jones | 52f64574fa | |
Dave Jones | 6797a3efae | |
Josh Boyer | 98931fa9d1 | |
Dave Jones | 3b5b9ca4f6 | |
Josh Boyer | 5bbe9ea49d | |
Josh Boyer | 475d827aeb | |
Dave Jones | 3cc64333de | |
Dave Jones | 64c1946b90 | |
Adam Jackson | efa8ce0877 | |
Dave Jones | 0901f900da | |
Dave Jones | b4ed1de226 | |
Justin M. Forbes | 63bfa6a42c | |
Josh Boyer | 841f4ae865 | |
Justin M. Forbes | 7e5dab31d9 | |
Josh Boyer | 631462571d | |
Dave Jones | 114779eefd | |
Dave Jones | bf89f3a369 | |
Dave Jones | 26fca6fb1f | |
Dave Jones | dc7e77c88c | |
John W. Linville | ec5a8cd72e | |
Dennis Gilmore | c298448388 | |
Josh Boyer | 4f07bf38b5 | |
Dave Jones | cade301a3b | |
Dave Jones | f8424d652a | |
Dave Jones | 953a44d426 | |
Dave Jones | bb24598347 | |
Dave Jones | 987250ae87 | |
Dave Jones | 43c809527e | |
Dave Jones | b183b702f7 | |
Dave Jones | 0c76388efa | |
Dave Jones | 49d8394023 | |
Dave Jones | 322dbeb8ef | |
John W. Linville | 16d5b4083a | |
Mark Wielaard | b81b450037 | |
Justin M. Forbes | 5a64af3faf | |
Adam Jackson | 543bc43145 | |
Dave Jones | 191eabc46e | |
Dave Jones | 957f70d8ce | |
Dave Jones | 34f57fef38 | |
Josh Boyer | 8604c9164a | |
Dave Jones | 03f3fa649f | |
Justin M. Forbes | c15034c210 | |
Dave Jones | c675e2db6b | |
Josh Boyer | 3e2c562382 | |
Josh Boyer | 918552e3f3 | |
Josh Boyer | 3daa224e41 | |
Josh Boyer | d55b8fbc56 | |
Josh Boyer | d4f9238c88 | |
Josh Boyer | 9b45c234f0 | |
Josh Boyer | db1939dd8f | |
Josh Boyer | 6b45478950 | |
Peter Robinson | da2d4fb231 | |
Josh Boyer | 7d7342cd50 | |
Josh Boyer | 950a401dc3 | |
Josh Boyer | 55bd825353 | |
Josh Boyer | 6bdf8498f4 | |
Josh Boyer | add2ca9e12 | |
Peter Robinson | 76ebbb6c6c | |
Josh Boyer | dae3cd5ca5 | |
Josh Boyer | 0a89a58e03 | |
Josh Boyer | 0255fc68c9 | |
Josh Boyer | 0e3dcef2db | |
Josh Boyer | 44e57012c8 | |
Peter Robinson | e1d46a5d22 | |
Dave Jones | b2f4cd93ec | |
Peter Robinson | d15a70859a | |
Josh Boyer | c08cca5888 | |
Dave Jones | 0297ab965a | |
Josh Boyer | 8bd30695f0 | |
Josh Boyer | abff21a8fa | |
Josh Boyer | cd68c0b144 | |
Peter Robinson | d92680c835 | |
Dave Jones | ad44e064a0 | |
Dave Jones | 9ce789da04 | |
Josh Boyer | 9163dd7666 | |
Josh Boyer | 157fe84354 | |
Peter Robinson | 3a72e754ec | |
Peter Robinson | 3f54814095 | |
Josh Boyer | 39fd9cfd02 | |
Josh Boyer | 7952cde44b | |
Adam Jackson | f935a16509 | |
John W. Linville | f516fcd1f0 | |
Josh Boyer | 08db8c5d12 | |
Josh Boyer | b150cfcb0f | |
Josh Boyer | 65b7231f44 | |
Josh Boyer | 9bf39b3281 | |
Josh Boyer | 770ad8ca88 | |
Peter Robinson | 4cee10509f | |
Josh Boyer | 2d7f1ba183 | |
Josh Boyer | 96e2cd2647 | |
Josh Boyer | 88671e11c1 | |
Josh Boyer | beef0e952d | |
Josh Boyer | 87001d5c4f | |
Josh Boyer | 85df0e0b4f | |
Josh Boyer | fa3e4fce5a | |
Dave Jones | 75f90a6e2f | |
Josh Boyer | b0d8317b77 | |
Josh Boyer | 9befbf0be8 | |
Josh Boyer | a9de21e9b4 | |
Josh Boyer | 36def90773 | |
Josh Boyer | 7dc73bb9a6 | |
Josh Boyer | 5fbbd7cdcd | |
Josh Boyer | 92a0ba45a8 | |
Josh Boyer | d916a9f0bf | |
Chris Wright | d12d87cbf7 |
|
@ -1,2 +1,6 @@
|
|||
clog
|
||||
*.xz
|
||||
*.bz2
|
||||
*.rpm
|
||||
*.orig
|
||||
kernel-[23].*/
|
||||
|
|
|
@ -0,0 +1,83 @@
|
|||
From b05ceba560e094d27ff716f6df1e2d5ef670d4d3 Mon Sep 17 00:00:00 2001
|
||||
From: Kent Yoder <key@linux.vnet.ibm.com>
|
||||
Date: Wed, 27 Feb 2013 15:50:27 -0600
|
||||
Subject: [PATCH] drivers/crypto/nx: fix init race, alignmasks and GCM bug
|
||||
|
||||
Fixes a race on driver init with registering algorithms where the
|
||||
driver status flag wasn't being set before self testing started.
|
||||
|
||||
Added the cra_alignmask field for CBC and ECB modes.
|
||||
|
||||
Fixed a bug in GCM where AES block size was being used instead of
|
||||
authsize.
|
||||
|
||||
Signed-off-by: Kent Yoder <key@linux.vnet.ibm.com>
|
||||
---
|
||||
drivers/crypto/nx/nx-aes-cbc.c | 1 +
|
||||
drivers/crypto/nx/nx-aes-ecb.c | 1 +
|
||||
drivers/crypto/nx/nx-aes-gcm.c | 2 +-
|
||||
drivers/crypto/nx/nx.c | 4 ++--
|
||||
4 files changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/crypto/nx/nx-aes-cbc.c b/drivers/crypto/nx/nx-aes-cbc.c
|
||||
index a76d4c4..35d483f 100644
|
||||
--- a/drivers/crypto/nx/nx-aes-cbc.c
|
||||
+++ b/drivers/crypto/nx/nx-aes-cbc.c
|
||||
@@ -126,6 +126,7 @@ struct crypto_alg nx_cbc_aes_alg = {
|
||||
.cra_blocksize = AES_BLOCK_SIZE,
|
||||
.cra_ctxsize = sizeof(struct nx_crypto_ctx),
|
||||
.cra_type = &crypto_blkcipher_type,
|
||||
+ .cra_alignmask = 0xf,
|
||||
.cra_module = THIS_MODULE,
|
||||
.cra_init = nx_crypto_ctx_aes_cbc_init,
|
||||
.cra_exit = nx_crypto_ctx_exit,
|
||||
diff --git a/drivers/crypto/nx/nx-aes-ecb.c b/drivers/crypto/nx/nx-aes-ecb.c
|
||||
index ba5f161..7bbc9a8 100644
|
||||
--- a/drivers/crypto/nx/nx-aes-ecb.c
|
||||
+++ b/drivers/crypto/nx/nx-aes-ecb.c
|
||||
@@ -123,6 +123,7 @@ struct crypto_alg nx_ecb_aes_alg = {
|
||||
.cra_priority = 300,
|
||||
.cra_flags = CRYPTO_ALG_TYPE_BLKCIPHER,
|
||||
.cra_blocksize = AES_BLOCK_SIZE,
|
||||
+ .cra_alignmask = 0xf,
|
||||
.cra_ctxsize = sizeof(struct nx_crypto_ctx),
|
||||
.cra_type = &crypto_blkcipher_type,
|
||||
.cra_module = THIS_MODULE,
|
||||
diff --git a/drivers/crypto/nx/nx-aes-gcm.c b/drivers/crypto/nx/nx-aes-gcm.c
|
||||
index c8109ed..6cca6c3 100644
|
||||
--- a/drivers/crypto/nx/nx-aes-gcm.c
|
||||
+++ b/drivers/crypto/nx/nx-aes-gcm.c
|
||||
@@ -219,7 +219,7 @@ static int gcm_aes_nx_crypt(struct aead_request *req, int enc)
|
||||
if (enc)
|
||||
NX_CPB_FDM(csbcpb) |= NX_FDM_ENDE_ENCRYPT;
|
||||
else
|
||||
- nbytes -= AES_BLOCK_SIZE;
|
||||
+ nbytes -= crypto_aead_authsize(crypto_aead_reqtfm(req));
|
||||
|
||||
csbcpb->cpb.aes_gcm.bit_length_data = nbytes * 8;
|
||||
|
||||
diff --git a/drivers/crypto/nx/nx.c b/drivers/crypto/nx/nx.c
|
||||
index c767f23..7621d05 100644
|
||||
--- a/drivers/crypto/nx/nx.c
|
||||
+++ b/drivers/crypto/nx/nx.c
|
||||
@@ -454,6 +454,8 @@ static int nx_register_algs(void)
|
||||
if (rc)
|
||||
goto out;
|
||||
|
||||
+ nx_driver.of.status = NX_OKAY;
|
||||
+
|
||||
rc = crypto_register_alg(&nx_ecb_aes_alg);
|
||||
if (rc)
|
||||
goto out;
|
||||
@@ -498,8 +500,6 @@ static int nx_register_algs(void)
|
||||
if (rc)
|
||||
goto out_unreg_s512;
|
||||
|
||||
- nx_driver.of.status = NX_OKAY;
|
||||
-
|
||||
goto out;
|
||||
|
||||
out_unreg_s512:
|
||||
--
|
||||
1.7.11.7
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
From d0a934b764c67b4bf626f5b7cf725a6e3066afd2 Mon Sep 17 00:00:00 2001
|
||||
From: David Herrmann <dh.herrmann@gmail.com>
|
||||
Date: Mon, 13 May 2013 15:01:30 +0000
|
||||
Subject: HID: input: return ENODATA if reading battery attrs fails
|
||||
|
||||
power_supply core has the bad habit of calling our battery callbacks
|
||||
from within power_supply_register(). Furthermore, if the callbacks
|
||||
fail with an unhandled error code, it will skip any uevent that it
|
||||
might currently process.
|
||||
So if HID-core registers battery devices, an "add" uevent is generated
|
||||
and the battery callbacks are called. These will gracefully fail due
|
||||
to timeouts as they might still hold locks on event processing. One
|
||||
could argue that this should be fixed in power_supply core, but the
|
||||
least we can do is to signal ENODATA so power_supply core will just
|
||||
skip the property and continue with the uevent.
|
||||
|
||||
This fixes a bug where "add" and "remove" uevents are skipped for
|
||||
battery devices. upower is unable to track these devices and currently
|
||||
needs to ignore them.
|
||||
|
||||
This patch also overwrites any other error code. I cannot see any reason
|
||||
why we should forward protocol- or I/O-errors to the power_supply core.
|
||||
We handle these errors in hid_ll_driver later, anyway, so just skip
|
||||
them. power_supply core cannot do anything useful with them, anyway,
|
||||
and we avoid skipping important uevents and confusing user-space.
|
||||
|
||||
Thanks a lot to Daniel Nicoletti for pushing and investigating
|
||||
on this.
|
||||
|
||||
Cc: Jiri Kosina <jkosina@suse.cz>
|
||||
Cc: Anton Vorontsov <cbou@mail.ru>
|
||||
Cc: David Woodhouse <dwmw2@infradead.org>
|
||||
Reported-by: Daniel Nicoletti <dantti12@gmail.com>
|
||||
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
|
||||
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
|
||||
---
|
||||
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
|
||||
index 945b815..c526a3c 100644
|
||||
--- a/drivers/hid/hid-input.c
|
||||
+++ b/drivers/hid/hid-input.c
|
||||
@@ -354,10 +354,10 @@ static int hidinput_get_battery_property(struct power_supply *psy,
|
||||
dev->battery_report_type);
|
||||
|
||||
if (ret != 2) {
|
||||
- if (ret >= 0)
|
||||
- ret = -EINVAL;
|
||||
+ ret = -ENODATA;
|
||||
break;
|
||||
}
|
||||
+ ret = 0;
|
||||
|
||||
if (dev->battery_min < dev->battery_max &&
|
||||
buf[1] >= dev->battery_min &&
|
||||
--
|
||||
cgit v0.9.2
|
|
@ -0,0 +1,98 @@
|
|||
From 3685c18e17f12438d0a83331c1b6a5b00fade7a1 Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Date: Tue, 02 Jul 2013 16:10:09 +0000
|
||||
Subject: HID: kye: Add report fixup for Genius Gila Gaming mouse
|
||||
|
||||
Genius Gila Gaming Mouse presents an obviously wrong report descriptor.
|
||||
the Consumer control (report ID 3) is the following:
|
||||
0x05, 0x0c, // Usage Page (Consumer Devices) 105
|
||||
0x09, 0x01, // Usage (Consumer Control) 107
|
||||
0xa1, 0x01, // Collection (Application) 109
|
||||
0x85, 0x03, // Report ID (3) 111
|
||||
0x19, 0x00, // Usage Minimum (0) 113
|
||||
0x2a, 0xff, 0x7f, // Usage Maximum (32767) 115
|
||||
0x15, 0x00, // Logical Minimum (0) 118
|
||||
0x26, 0xff, 0x7f, // Logical Maximum (32767) 120
|
||||
0x75, 0x10, // Report Size (16) 123
|
||||
0x95, 0x03, // Report Count (3) 125
|
||||
0x81, 0x00, // Input (Data,Arr,Abs) 127
|
||||
0x75, 0x08, // Report Size (8) 129
|
||||
0x95, 0x01, // Report Count (1) 131
|
||||
0x81, 0x01, // Input (Cnst,Arr,Abs) 133
|
||||
0xc0, // End Collection 135
|
||||
|
||||
So the first input whithin this report has a count of 3 but a usage range
|
||||
of 32768. So this value is obviously wrong as it should not be greater than
|
||||
the report count.
|
||||
|
||||
Fixes:
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=959721
|
||||
|
||||
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
||||
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
|
||||
---
|
||||
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
|
||||
index 8f616bd..27aa7c7 100644
|
||||
--- a/drivers/hid/hid-core.c
|
||||
+++ b/drivers/hid/hid-core.c
|
||||
@@ -1589,6 +1589,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
|
||||
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ION, USB_DEVICE_ID_ICADE) },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_KENSINGTON, USB_DEVICE_ID_KS_SLIMBLADE) },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_KEYTOUCH, USB_DEVICE_ID_KEYTOUCH_IEC) },
|
||||
+ { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_GENIUS_GILA_GAMING_MOUSE) },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_ERGO_525V) },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_I405X) },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_MOUSEPEN_I608X) },
|
||||
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
|
||||
index 3da75dd..b2b692e 100644
|
||||
--- a/drivers/hid/hid-ids.h
|
||||
+++ b/drivers/hid/hid-ids.h
|
||||
@@ -474,6 +474,7 @@
|
||||
|
||||
#define USB_VENDOR_ID_KYE 0x0458
|
||||
#define USB_DEVICE_ID_KYE_ERGO_525V 0x0087
|
||||
+#define USB_DEVICE_ID_GENIUS_GILA_GAMING_MOUSE 0x0138
|
||||
#define USB_DEVICE_ID_KYE_GPEN_560 0x5003
|
||||
#define USB_DEVICE_ID_KYE_EASYPEN_I405X 0x5010
|
||||
#define USB_DEVICE_ID_KYE_MOUSEPEN_I608X 0x5011
|
||||
diff --git a/drivers/hid/hid-kye.c b/drivers/hid/hid-kye.c
|
||||
index 6af90db..1e2ee2aa 100644
|
||||
--- a/drivers/hid/hid-kye.c
|
||||
+++ b/drivers/hid/hid-kye.c
|
||||
@@ -314,6 +314,25 @@ static __u8 *kye_report_fixup(struct hid_device *hdev, __u8 *rdesc,
|
||||
*rsize = sizeof(easypen_m610x_rdesc_fixed);
|
||||
}
|
||||
break;
|
||||
+ case USB_DEVICE_ID_GENIUS_GILA_GAMING_MOUSE:
|
||||
+ /*
|
||||
+ * the fixup that need to be done:
|
||||
+ * - change Usage Maximum in the Comsumer Control
|
||||
+ * (report ID 3) to a reasonable value
|
||||
+ */
|
||||
+ if (*rsize >= 135 &&
|
||||
+ /* Usage Page (Consumer Devices) */
|
||||
+ rdesc[104] == 0x05 && rdesc[105] == 0x0c &&
|
||||
+ /* Usage (Consumer Control) */
|
||||
+ rdesc[106] == 0x09 && rdesc[107] == 0x01 &&
|
||||
+ /* Usage Maximum > 12287 */
|
||||
+ rdesc[114] == 0x2a && rdesc[116] > 0x2f) {
|
||||
+ hid_info(hdev,
|
||||
+ "fixing up Genius Gila Gaming Mouse "
|
||||
+ "report descriptor\n");
|
||||
+ rdesc[116] = 0x2f;
|
||||
+ }
|
||||
+ break;
|
||||
}
|
||||
return rdesc;
|
||||
}
|
||||
@@ -407,6 +426,8 @@ static const struct hid_device_id kye_devices[] = {
|
||||
USB_DEVICE_ID_KYE_MOUSEPEN_I608X) },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE,
|
||||
USB_DEVICE_ID_KYE_EASYPEN_M610X) },
|
||||
+ { HID_USB_DEVICE(USB_VENDOR_ID_KYE,
|
||||
+ USB_DEVICE_ID_GENIUS_GILA_GAMING_MOUSE) },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(hid, kye_devices);
|
||||
--
|
||||
cgit v0.9.2
|
|
@ -0,0 +1,45 @@
|
|||
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
|
||||
index 094b5d9..64a4b03 100644
|
||||
--- a/arch/x86/kvm/x86.c
|
||||
+++ b/arch/x86/kvm/x86.c
|
||||
@@ -1194,20 +1194,37 @@ void kvm_write_tsc(struct kvm_vcpu *vcpu, struct msr_data *msr)
|
||||
elapsed = ns - kvm->arch.last_tsc_nsec;
|
||||
|
||||
if (vcpu->arch.virtual_tsc_khz) {
|
||||
+ int faulted = 0;
|
||||
+
|
||||
/* n.b - signed multiplication and division required */
|
||||
usdiff = data - kvm->arch.last_tsc_write;
|
||||
#ifdef CONFIG_X86_64
|
||||
usdiff = (usdiff * 1000) / vcpu->arch.virtual_tsc_khz;
|
||||
#else
|
||||
/* do_div() only does unsigned */
|
||||
- asm("idivl %2; xor %%edx, %%edx"
|
||||
- : "=A"(usdiff)
|
||||
- : "A"(usdiff * 1000), "rm"(vcpu->arch.virtual_tsc_khz));
|
||||
+ asm("1: idivl %[divisor]\n"
|
||||
+ "2: xor %%edx, %%edx\n"
|
||||
+ " movl $0, %[faulted]\n"
|
||||
+ "3:\n"
|
||||
+ ".section .fixup,\"ax\"\n"
|
||||
+ "4: movl $1, %[faulted]\n"
|
||||
+ " jmp 3b\n"
|
||||
+ ".previous\n"
|
||||
+
|
||||
+ _ASM_EXTABLE(1b, 4b)
|
||||
+
|
||||
+ : "=A"(usdiff), [faulted] "=r" (faulted)
|
||||
+ : "A"(usdiff * 1000), [divisor] "rm"(vcpu->arch.virtual_tsc_khz));
|
||||
+
|
||||
#endif
|
||||
do_div(elapsed, 1000);
|
||||
usdiff -= elapsed;
|
||||
if (usdiff < 0)
|
||||
usdiff = -usdiff;
|
||||
+
|
||||
+ /* idivl overflow => difference is larger than USEC_PER_SEC */
|
||||
+ if (faulted)
|
||||
+ usdiff = USEC_PER_SEC;
|
||||
} else
|
||||
usdiff = USEC_PER_SEC; /* disable TSC match window below */
|
||||
|
|
@ -0,0 +1,131 @@
|
|||
# Makefile for source rpm: kernel
|
||||
SPECFILE := kernel.spec
|
||||
|
||||
# use noarch for make prep instead of the current CPU
|
||||
# noarch creates and checks all config files not just the current one,
|
||||
# in addition "i386" isn't a valid kernel target
|
||||
PREPARCH = noarch
|
||||
|
||||
# we only check the .sign signatures
|
||||
UPSTREAM_CHECKS = sign
|
||||
|
||||
.PHONY: help
|
||||
help:
|
||||
%:
|
||||
@echo "Try fedpkg $@ or something like that"
|
||||
@exit 1
|
||||
|
||||
include Makefile.config
|
||||
|
||||
prep:
|
||||
fedpkg -v prep --arch=$(PREPARCH)
|
||||
|
||||
noarch:
|
||||
fedpkg -v local --arch=noarch
|
||||
|
||||
# 'make local' also needs to build the noarch firmware package
|
||||
local: noarch
|
||||
fedpkg -v local
|
||||
|
||||
extremedebug:
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_PAGEALLOC is not set/CONFIG_DEBUG_PAGEALLOC=y/' config-nodebug
|
||||
|
||||
debug:
|
||||
@perl -pi -e 's/# CONFIG_SLUB_DEBUG_ON is not set/CONFIG_SLUB_DEBUG_ON=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_LOCK_STAT is not set/CONFIG_LOCK_STAT=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_STACK_USAGE is not set/CONFIG_DEBUG_STACK_USAGE=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_SLAB is not set/CONFIG_DEBUG_SLAB=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_MUTEXES is not set/CONFIG_DEBUG_MUTEXES=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_RT_MUTEXES is not set/CONFIG_DEBUG_RT_MUTEXES=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_LOCK_ALLOC is not set/CONFIG_DEBUG_LOCK_ALLOC=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_PROVE_LOCKING is not set/CONFIG_PROVE_LOCKING=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_PROVE_RCU is not set/CONFIG_PROVE_RCU=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_SPINLOCK is not set/CONFIG_DEBUG_SPINLOCK=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_VM is not set/CONFIG_DEBUG_VM=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_FAULT_INJECTION is not set/CONFIG_FAULT_INJECTION=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_FAILSLAB is not set/CONFIG_FAILSLAB=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_FAIL_PAGE_ALLOC is not set/CONFIG_FAIL_PAGE_ALLOC=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_FAIL_IO_TIMEOUT is not set/CONFIG_FAIL_IO_TIMEOUT=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_FAIL_MAKE_REQUEST is not set/CONFIG_FAIL_MAKE_REQUEST=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_FAIL_MMC_REQUEST is not set/CONFIG_FAIL_MMC_REQUEST=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_FAULT_INJECTION_DEBUG_FS is not set/CONFIG_FAULT_INJECTION_DEBUG_FS=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set/CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_SG is not set/CONFIG_DEBUG_SG=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_WRITECOUNT is not set/CONFIG_DEBUG_WRITECOUNT=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_OBJECTS is not set/CONFIG_DEBUG_OBJECTS=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_OBJECTS_FREE is not set/CONFIG_DEBUG_OBJECTS_FREE=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_OBJECTS_TIMERS is not set/CONFIG_DEBUG_OBJECTS_TIMERS=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_OBJECTS_WORK is not set/CONFIG_DEBUG_OBJECTS_WORK=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set/CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_OBJECTS_RCU_HEAD is not set/CONFIG_DEBUG_OBJECTS_RCU_HEAD=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_X86_PTDUMP is not set/CONFIG_X86_PTDUMP=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_CAN_DEBUG_DEVICES is not set/CONFIG_CAN_DEBUG_DEVICES=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_MODULE_FORCE_UNLOAD is not set/CONFIG_MODULE_FORCE_UNLOAD=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_SYSCTL_SYSCALL_CHECK is not set/CONFIG_SYSCTL_SYSCALL_CHECK=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_NOTIFIERS is not set/CONFIG_DEBUG_NOTIFIERS=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DMA_API_DEBUG is not set/CONFIG_DMA_API_DEBUG=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_PM_TEST_SUSPEND is not set/CONFIG_PM_TEST_SUSPEND=y/' config-generic
|
||||
@perl -pi -e 's/# CONFIG_PM_ADVANCED_DEBUG is not set/CONFIG_PM_ADVANCED_DEBUG=y/' config-generic
|
||||
@perl -pi -e 's/# CONFIG_B43_DEBUG is not set/CONFIG_B43_DEBUG=y/' config-generic
|
||||
@perl -pi -e 's/# CONFIG_B43LEGACY_DEBUG is not set/CONFIG_B43LEGACY_DEBUG=y/' config-generic
|
||||
@perl -pi -e 's/# CONFIG_MMIOTRACE is not set/CONFIG_MMIOTRACE=y/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_STRIP_ASM_SYMS=y/# CONFIG_STRIP_ASM_SYMS is not set/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_CREDENTIALS is not set/CONFIG_DEBUG_CREDENTIALS=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set/CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_ACPI_DEBUG is not set/CONFIG_ACPI_DEBUG=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_EXT4_DEBUG is not set/CONFIG_EXT4_DEBUG=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_PERF_USE_VMALLOC is not set/CONFIG_DEBUG_PERF_USE_VMALLOC=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_JBD2_DEBUG is not set/CONFIG_JBD2_DEBUG=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_BLK_CGROUP is not set/CONFIG_DEBUG_BLK_CGROUP=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DRBD_FAULT_INJECTION is not set/CONFIG_DRBD_FAULT_INJECTION=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_ATH_DEBUG is not set/CONFIG_ATH_DEBUG=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_CARL9170_DEBUGFS is not set/CONFIG_CARL9170_DEBUGFS=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_IWLWIFI_DEVICE_TRACING is not set/CONFIG_IWLWIFI_DEVICE_TRACING=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DMADEVICES_DEBUG is not set/CONFIG_DMADEVICES_DEBUG=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DMADEVICES_VDEBUG is not set/CONFIG_DMADEVICES_VDEBUG=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_CEPH_LIB_PRETTYDEBUG is not set/CONFIG_CEPH_LIB_PRETTYDEBUG=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_QUOTA_DEBUG is not set/CONFIG_QUOTA_DEBUG=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_KGDB_KDB is not set/CONFIG_KGDB_KDB=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_KDB_KEYBOARD is not set/CONFIG_KDB_KEYBOARD=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set/CONFIG_CPU_NOTIFIER_ERROR_INJECT=m/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_PER_CPU_MAPS is not set/CONFIG_DEBUG_PER_CPU_MAPS=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_TEST_LIST_SORT is not set/CONFIG_TEST_LIST_SORT=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_ATOMIC_SLEEP is not set/CONFIG_DEBUG_ATOMIC_SLEEP=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DETECT_HUNG_TASK is not set/CONFIG_DETECT_HUNG_TASK=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set/CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_DEBUG_KMEMLEAK is not set/CONFIG_DEBUG_KMEMLEAK=y/' config-nodebug
|
||||
|
||||
@# just in case we're going from extremedebug -> debug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_PAGEALLOC=y/# CONFIG_DEBUG_PAGEALLOC is not set/' config-nodebug
|
||||
|
||||
@perl -pi -e 's/# CONFIG_MAXSMP is not set/CONFIG_MAXSMP=y/' config-x86-generic
|
||||
|
||||
@# Try out UAS in rawhide builds.
|
||||
@perl -pi -e 's/# CONFIG_USB_UAS is not set/CONFIG_USB_UAS=m/' config-generic
|
||||
|
||||
@perl -pi -e 's/^%define debugbuildsenabled 1/%define debugbuildsenabled 0/' kernel.spec
|
||||
@perl -pi -e 's/^%define rawhide_skip_docs 0/%define rawhide_skip_docs 1/' kernel.spec
|
||||
@rpmdev-bumpspec -c "Reenable debugging options." kernel.spec
|
||||
|
||||
nodebuginfo:
|
||||
@perl -pi -e 's/^%define with_debuginfo %\{\?_without_debuginfo: 0\} %\{\?\!_without_debuginfo: 1\}/%define with_debuginfo %\{\?_without_debuginfo: 0\} %\{\?\!_without_debuginfo: 0\}/' kernel.spec
|
||||
nodebug: release
|
||||
@perl -pi -e 's/^%define debugbuildsenabled 1/%define debugbuildsenabled 0/' kernel.spec
|
||||
release: config-release
|
||||
@perl -pi -e 's/^%define debugbuildsenabled 0/%define debugbuildsenabled 1/' kernel.spec
|
||||
@perl -pi -e 's/^%define rawhide_skip_docs 1/%define rawhide_skip_docs 0/' kernel.spec
|
||||
@rpmdev-bumpspec -c "Disable debugging options." kernel.spec
|
||||
|
||||
include Makefile.release
|
||||
|
||||
unused-kernel-patches:
|
||||
@for f in *.patch; do if [ -e $$f ]; then (egrep -q "^Patch[[:digit:]]+:[[:space:]]+$$f" $(SPECFILE) || echo "Unused: $$f") && egrep -q "^ApplyPatch[[:space:]]+$$f|^ApplyOptionalPatch[[:space:]]+$$f" $(SPECFILE) || echo "Unapplied: $$f"; fi; done
|
||||
|
||||
ifeq ($(MAKECMDGOALS),me a sandwich)
|
||||
.PHONY: me a sandwich
|
||||
me a:
|
||||
@:
|
||||
|
||||
sandwich:
|
||||
@[ `id -u` -ne 0 ] && echo "What? Make it yourself." || echo Okay.
|
||||
endif
|
|
@ -0,0 +1,127 @@
|
|||
# Make rules for configuration files.
|
||||
#
|
||||
# $Id$
|
||||
|
||||
CFG = kernel-$(VERSION)
|
||||
|
||||
CONFIGFILES = \
|
||||
$(CFG)-i686.config $(CFG)-i686-debug.config \
|
||||
$(CFG)-i686-PAE.config $(CFG)-i686-PAEdebug.config \
|
||||
$(CFG)-x86_64.config $(CFG)-x86_64-debug.config \
|
||||
$(CFG)-s390x.config \
|
||||
$(CFG)-armv5tel-kirkwood.config \
|
||||
$(CFG)-armv7l.config $(CFG)-armv7hl.config \
|
||||
$(CFG)-armv7l-tegra.config $(CFG)-armv7hl-tegra.config \
|
||||
$(CFG)-ppc.config $(CFG)-ppc-smp.config \
|
||||
$(CFG)-ppc64.config $(CFG)-ppc64-debug.config
|
||||
|
||||
PLATFORMS = x86 x86_64 powerpc powerpc32 powerpc64 s390x arm
|
||||
TEMPFILES = $(addprefix temp-, $(addsuffix -generic, $(PLATFORMS)))
|
||||
|
||||
configs: $(CONFIGFILES)
|
||||
@rm -f kernel-*-config
|
||||
@rm -f $(TEMPFILES)
|
||||
@rm -f temp-generic temp-*-generic temp-*-generic-tmp
|
||||
|
||||
# Augment the clean target to clean up our own cruft
|
||||
clean ::
|
||||
@rm -fv $(CONFIGFILES) $(TEMPFILES) temp-generic kernel-$(VERSION)*config
|
||||
|
||||
temp-generic: config-generic
|
||||
cat config-generic config-nodebug > temp-generic
|
||||
|
||||
temp-debug-generic: config-generic
|
||||
cat config-generic config-debug > temp-debug-generic
|
||||
|
||||
temp-armv7-generic: config-armv7-generic temp-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-armv7: config-armv7 temp-armv7-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-armv7-tegra: config-armv7-tegra temp-armv7-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-arm-generic: config-arm-generic temp-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-armv5tel-kirkwood: config-arm-kirkwood temp-arm-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-x86-32: config-x86-32-generic config-x86-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-x86-32-generic: temp-x86-32 temp-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-x86-debug-generic: temp-x86-32 temp-debug-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-x86-64: config-x86_64-generic config-x86-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-x86_64-generic: temp-x86-64 temp-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-x86_64-debug-generic: temp-x86-64 temp-debug-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-powerpc-generic: config-powerpc-generic temp-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-powerpc-debug-generic: config-powerpc-generic temp-debug-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-powerpc32-generic: config-powerpc32-generic temp-powerpc-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
temp-s390-generic: config-s390x temp-generic
|
||||
perl merge.pl $^ > $@
|
||||
|
||||
kernel-$(VERSION)-i686-PAE.config: config-i686-PAE temp-x86-32-generic
|
||||
perl merge.pl $^ i386 > $@
|
||||
|
||||
kernel-$(VERSION)-i686-PAEdebug.config: config-i686-PAE temp-x86-debug-generic
|
||||
perl merge.pl $^ i386 > $@
|
||||
|
||||
kernel-$(VERSION)-i686.config: /dev/null temp-x86-32-generic
|
||||
perl merge.pl $^ i386 > $@
|
||||
|
||||
kernel-$(VERSION)-i686-debug.config: /dev/null temp-x86-debug-generic
|
||||
perl merge.pl $^ i386 > $@
|
||||
|
||||
kernel-$(VERSION)-x86_64.config: /dev/null temp-x86_64-generic
|
||||
perl merge.pl $^ x86_64 > $@
|
||||
|
||||
kernel-$(VERSION)-x86_64-debug.config: /dev/null temp-x86_64-debug-generic
|
||||
perl merge.pl $^ x86_64 > $@
|
||||
|
||||
kernel-$(VERSION)-ppc64.config: config-powerpc64 temp-powerpc-generic
|
||||
perl merge.pl $^ powerpc > $@
|
||||
|
||||
kernel-$(VERSION)-ppc64-debug.config: config-powerpc64 temp-powerpc-debug-generic
|
||||
perl merge.pl $^ powerpc > $@
|
||||
|
||||
kernel-$(VERSION)-s390x.config: config-s390x temp-s390-generic
|
||||
perl merge.pl $^ s390 > $@
|
||||
|
||||
kernel-$(VERSION)-armv5tel-kirkwood.config: /dev/null temp-armv5tel-kirkwood
|
||||
perl merge.pl $^ arm > $@
|
||||
|
||||
kernel-$(VERSION)-armv7l.config: /dev/null temp-armv7
|
||||
perl merge.pl $^ arm > $@
|
||||
|
||||
kernel-$(VERSION)-armv7l-tegra.config: /dev/null temp-armv7-tegra
|
||||
perl merge.pl $^ arm > $@
|
||||
|
||||
kernel-$(VERSION)-armv7hl.config: /dev/null temp-armv7
|
||||
perl merge.pl $^ arm > $@
|
||||
|
||||
kernel-$(VERSION)-armv7hl-tegra.config: /dev/null temp-armv7-tegra
|
||||
perl merge.pl $^ arm > $@
|
||||
|
||||
kernel-$(VERSION)-ppc.config: /dev/null temp-powerpc32-generic
|
||||
perl merge.pl $^ powerpc > $@
|
||||
|
||||
kernel-$(VERSION)-ppc-smp.config: config-powerpc32-smp temp-powerpc32-generic
|
||||
perl merge.pl $^ powerpc > $@
|
|
@ -0,0 +1,81 @@
|
|||
# Make rules for configuration files.
|
||||
#
|
||||
# $Id$
|
||||
|
||||
# This file contains only entries that change the config files.
|
||||
# Anything that changes kernel.spec itself should go in the main Makefile.
|
||||
|
||||
config-release:
|
||||
@perl -pi -e 's/CONFIG_SLUB_DEBUG_ON=y/# CONFIG_SLUB_DEBUG_ON is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_LOCK_STAT=y/# CONFIG_LOCK_STAT is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_STACK_USAGE=y/# CONFIG_DEBUG_STACK_USAGE is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_SLAB=y/# CONFIG_DEBUG_SLAB is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_MUTEXES=y/# CONFIG_DEBUG_MUTEXES is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_RT_MUTEXES=y/# CONFIG_DEBUG_RT_MUTEXES is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_LOCK_ALLOC=y/# CONFIG_DEBUG_LOCK_ALLOC is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_PROVE_LOCKING=y/# CONFIG_PROVE_LOCKING is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_PROVE_RCU=y/# CONFIG_PROVE_RCU is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_SPINLOCK=y/# CONFIG_DEBUG_SPINLOCK is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_VM=y/# CONFIG_DEBUG_VM is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_FAULT_INJECTION=y/# CONFIG_FAULT_INJECTION is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_FAILSLAB=y/# CONFIG_FAILSLAB is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_FAIL_PAGE_ALLOC=y/# CONFIG_FAIL_PAGE_ALLOC is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_FAIL_IO_TIMEOUT=y/# CONFIG_FAIL_IO_TIMEOUT is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_FAIL_MAKE_REQUEST=y/# CONFIG_FAIL_MAKE_REQUEST is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_FAIL_MMC_REQUEST=y/# CONFIG_FAIL_MMC_REQUEST is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_FAULT_INJECTION_DEBUG_FS=y/# CONFIG_FAULT_INJECTION_DEBUG_FS is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y/# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_SG=y/# CONFIG_DEBUG_SG is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_WRITECOUNT=y/# CONFIG_DEBUG_WRITECOUNT is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_OBJECTS=y/# CONFIG_DEBUG_OBJECTS is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_OBJECTS_FREE=y/# CONFIG_DEBUG_OBJECTS_FREE is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_OBJECTS_TIMERS=y/# CONFIG_DEBUG_OBJECTS_TIMERS is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_OBJECTS_WORK=y/# CONFIG_DEBUG_OBJECTS_WORK is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y/# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_OBJECTS_RCU_HEAD=y/# CONFIG_DEBUG_OBJECTS_RCU_HEAD is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_X86_PTDUMP=y/# CONFIG_X86_PTDUMP is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_CAN_DEBUG_DEVICES=y/# CONFIG_CAN_DEBUG_DEVICES is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_MODULE_FORCE_UNLOAD=y/# CONFIG_MODULE_FORCE_UNLOAD is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_SYSCTL_SYSCALL_CHECK=y/# CONFIG_SYSCTL_SYSCALL_CHECK is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_NOTIFIERS=y/# CONFIG_DEBUG_NOTIFIERS is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DMA_API_DEBUG=y/# CONFIG_DMA_API_DEBUG is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_PM_TEST_SUSPEND=y/# CONFIG_PM_TEST_SUSPEND is not set/' config-generic
|
||||
@perl -pi -e 's/CONFIG_PM_ADVANCED_DEBUG=y/# CONFIG_PM_ADVANCED_DEBUG is not set/' config-generic
|
||||
@perl -pi -e 's/CONFIG_B43_DEBUG=y/# CONFIG_B43_DEBUG is not set/' config-generic
|
||||
@perl -pi -e 's/CONFIG_B43LEGACY_DEBUG=y/# CONFIG_B43LEGACY_DEBUG is not set/' config-generic
|
||||
@perl -pi -e 's/CONFIG_MMIOTRACE=y/# CONFIG_MMIOTRACE is not set/' config-nodebug
|
||||
@perl -pi -e 's/# CONFIG_STRIP_ASM_SYMS is not set/CONFIG_STRIP_ASM_SYMS=y/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_CREDENTIALS=y/# CONFIG_DEBUG_CREDENTIALS is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y/# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_ACPI_DEBUG=y/# CONFIG_ACPI_DEBUG is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_EXT4_DEBUG=y/# CONFIG_EXT4_DEBUG is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_PERF_USE_VMALLOC=y/# CONFIG_DEBUG_PERF_USE_VMALLOC is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_JBD2_DEBUG=y/# CONFIG_JBD2_DEBUG is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_BLK_CGROUP=y/# CONFIG_DEBUG_BLK_CGROUP is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DRBD_FAULT_INJECTION=y/# CONFIG_DRBD_FAULT_INJECTION is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_ATH_DEBUG=y/# CONFIG_ATH_DEBUG is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_CARL9170_DEBUGFS=y/# CONFIG_CARL9170_DEBUGFS is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_IWLWIFI_DEVICE_TRACING=y/# CONFIG_IWLWIFI_DEVICE_TRACING is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DMADEVICES_DEBUG=y/# CONFIG_DMADEVICES_DEBUG is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DMADEVICES_VDEBUG=y/# CONFIG_DMADEVICES_VDEBUG is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_CEPH_LIB_PRETTYDEBUG=y/# CONFIG_CEPH_LIB_PRETTYDEBUG is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_QUOTA_DEBUG=y/# CONFIG_QUOTA_DEBUG is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_CPU_NOTIFIER_ERROR_INJECT=m/# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set/' config-nodebug
|
||||
#@perl -pi -e 's/CONFIG_KGDB_KDB=y/# CONFIG_KGDB_KDB is not set/' config-nodebug
|
||||
#@perl -pi -e 's/CONFIG_KDB_KEYBOARD=y/# CONFIG_KDB_KEYBOARD is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_PER_CPU_MAPS=y/# CONFIG_DEBUG_PER_CPU_MAPS is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_TEST_LIST_SORT=y/# CONFIG_TEST_LIST_SORT is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_ATOMIC_SLEEP=y/# CONFIG_DEBUG_ATOMIC_SLEEP is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DETECT_HUNG_TASK=y/# CONFIG_DETECT_HUNG_TASK is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y/# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set/' config-nodebug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_KMEMLEAK=y/# CONFIG_DEBUG_KMEMLEAK is not set/' config-nodebug
|
||||
|
||||
# Undo anything that make extremedebug might have set
|
||||
@perl -pi -e 's/CONFIG_DEBUG_PAGEALLOC=y/# CONFIG_DEBUG_PAGEALLOC is not set/' config-debug
|
||||
@perl -pi -e 's/CONFIG_DEBUG_PAGEALLOC=y/# CONFIG_DEBUG_PAGEALLOC is not set/' config-nodebug
|
||||
|
||||
# Change defaults back to sane things.
|
||||
@perl -pi -e 's/CONFIG_MAXSMP=y/# CONFIG_MAXSMP is not set/' config-x86-generic
|
||||
|
||||
# Disable UAS for release until it's ready. (#717633, #744099)
|
||||
@perl -pi -e 's/CONFIG_USB_UAS=m/# CONFIG_USB_UAS is not set/' config-generic
|
|
@ -1,45 +0,0 @@
|
|||
RHEL_MAJOR = 8
|
||||
RHEL_MINOR = 99
|
||||
|
||||
#
|
||||
# RHEL_RELEASE
|
||||
# -------------
|
||||
#
|
||||
# Represents build number in 'release' part of RPM's name-version-release.
|
||||
# name is <package_name>, e.g. kernel
|
||||
# version is upstream kernel version this kernel is based on, e.g. 4.18.0
|
||||
# release is <RHEL_RELEASE>.<dist_tag>[<buildid>], e.g. 100.el8
|
||||
#
|
||||
# Use this spot to avoid future merge conflicts.
|
||||
# Do not trim this comment.
|
||||
RHEL_RELEASE = 122
|
||||
|
||||
#
|
||||
# Early y+1 numbering
|
||||
# --------------------
|
||||
#
|
||||
# In early y+1 process, RHEL_RELEASE consists of 2 numbers: x.y
|
||||
# First is RHEL_RELEASE inherited/merged from y as-is, second number
|
||||
# is incremented with each build starting from 1. After merge from y,
|
||||
# it resets back to 1. This way y+1 nvr reflects status of last merge.
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# rhel8.0 rhel-8.1
|
||||
# kernel-4.18.0-58.el8 --> kernel-4.18.0-58.1.el8
|
||||
# kernel-4.18.0-58.2.el8
|
||||
# kernel-4.18.0-59.el8 kernel-4.18.0-59.1.el8
|
||||
# kernel-4.18.0-60.el8
|
||||
# kernel-4.18.0-61.el8 --> kernel-4.18.0-61.1.el8
|
||||
#
|
||||
#
|
||||
# Use this spot to avoid future merge conflicts.
|
||||
# Do not trim this comment.
|
||||
EARLY_YSTREAM ?= no
|
||||
EARLY_YBUILD:=
|
||||
EARLY_YRELEASE:=
|
||||
ifneq ("$(ZSTREAM)", "yes")
|
||||
ifeq ("$(EARLY_YSTREAM)","yes")
|
||||
RHEL_RELEASE:=$(RHEL_RELEASE).$(EARLY_YRELEASE)
|
||||
endif
|
||||
endif
|
|
@ -0,0 +1,153 @@
|
|||
From: Trond Myklebust <Trond.Myklebust@netapp.com>
|
||||
|
||||
Currently, we will correctly optimise away a truncate that doesn't
|
||||
change the file size. However, in the case of open(O_TRUNC), we
|
||||
also want to optimise away the time changes.
|
||||
|
||||
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
||||
---
|
||||
fs/nfs/dir.c | 25 +++++++++++++++++++------
|
||||
fs/nfs/inode.c | 4 ++--
|
||||
fs/nfs/nfs4proc.c | 10 +++++++---
|
||||
3 files changed, 28 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
|
||||
index fd9a872..bb132a8 100644
|
||||
--- a/fs/nfs/dir.c
|
||||
+++ b/fs/nfs/dir.c
|
||||
@@ -1429,6 +1429,7 @@ static struct dentry *nfs_atomic_lookup(struct inode *dir, struct dentry *dentry
|
||||
}
|
||||
|
||||
open_flags = nd->intent.open.flags;
|
||||
+ attr.ia_valid = 0;
|
||||
|
||||
ctx = create_nfs_open_context(dentry, open_flags);
|
||||
res = ERR_CAST(ctx);
|
||||
@@ -1437,11 +1438,14 @@ static struct dentry *nfs_atomic_lookup(struct inode *dir, struct dentry *dentry
|
||||
|
||||
if (nd->flags & LOOKUP_CREATE) {
|
||||
attr.ia_mode = nd->intent.open.create_mode;
|
||||
- attr.ia_valid = ATTR_MODE;
|
||||
+ attr.ia_valid |= ATTR_MODE;
|
||||
attr.ia_mode &= ~current_umask();
|
||||
- } else {
|
||||
+ } else
|
||||
open_flags &= ~(O_EXCL | O_CREAT);
|
||||
- attr.ia_valid = 0;
|
||||
+
|
||||
+ if (open_flags & O_TRUNC) {
|
||||
+ attr.ia_valid |= ATTR_SIZE;
|
||||
+ attr.ia_size = 0;
|
||||
}
|
||||
|
||||
/* Open the file on the server */
|
||||
@@ -1495,6 +1499,7 @@ static int nfs_open_revalidate(struct dentry *dentry, struct nameidata *nd)
|
||||
struct inode *inode;
|
||||
struct inode *dir;
|
||||
struct nfs_open_context *ctx;
|
||||
+ struct iattr attr;
|
||||
int openflags, ret = 0;
|
||||
|
||||
if (nd->flags & LOOKUP_RCU)
|
||||
@@ -1523,19 +1528,27 @@ static int nfs_open_revalidate(struct dentry *dentry, struct nameidata *nd)
|
||||
/* We cannot do exclusive creation on a positive dentry */
|
||||
if ((openflags & (O_CREAT|O_EXCL)) == (O_CREAT|O_EXCL))
|
||||
goto no_open_dput;
|
||||
- /* We can't create new files, or truncate existing ones here */
|
||||
- openflags &= ~(O_CREAT|O_EXCL|O_TRUNC);
|
||||
+ /* We can't create new files here */
|
||||
+ openflags &= ~(O_CREAT|O_EXCL);
|
||||
|
||||
ctx = create_nfs_open_context(dentry, openflags);
|
||||
ret = PTR_ERR(ctx);
|
||||
if (IS_ERR(ctx))
|
||||
goto out;
|
||||
+
|
||||
+ attr.ia_valid = 0;
|
||||
+ if (openflags & O_TRUNC) {
|
||||
+ attr.ia_valid |= ATTR_SIZE;
|
||||
+ attr.ia_size = 0;
|
||||
+ nfs_wb_all(inode);
|
||||
+ }
|
||||
+
|
||||
/*
|
||||
* Note: we're not holding inode->i_mutex and so may be racing with
|
||||
* operations that change the directory. We therefore save the
|
||||
* change attribute *before* we do the RPC call.
|
||||
*/
|
||||
- inode = NFS_PROTO(dir)->open_context(dir, ctx, openflags, NULL);
|
||||
+ inode = NFS_PROTO(dir)->open_context(dir, ctx, openflags, &attr);
|
||||
if (IS_ERR(inode)) {
|
||||
ret = PTR_ERR(inode);
|
||||
switch (ret) {
|
||||
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
|
||||
index f649fba..57d0abb 100644
|
||||
--- a/fs/nfs/inode.c
|
||||
+++ b/fs/nfs/inode.c
|
||||
@@ -401,7 +401,7 @@ out_no_inode:
|
||||
goto out;
|
||||
}
|
||||
|
||||
-#define NFS_VALID_ATTRS (ATTR_MODE|ATTR_UID|ATTR_GID|ATTR_SIZE|ATTR_ATIME|ATTR_ATIME_SET|ATTR_MTIME|ATTR_MTIME_SET|ATTR_FILE)
|
||||
+#define NFS_VALID_ATTRS (ATTR_MODE|ATTR_UID|ATTR_GID|ATTR_SIZE|ATTR_ATIME|ATTR_ATIME_SET|ATTR_MTIME|ATTR_MTIME_SET|ATTR_FILE|ATTR_OPEN)
|
||||
|
||||
int
|
||||
nfs_setattr(struct dentry *dentry, struct iattr *attr)
|
||||
@@ -423,7 +423,7 @@ nfs_setattr(struct dentry *dentry, struct iattr *attr)
|
||||
|
||||
/* Optimization: if the end result is no change, don't RPC */
|
||||
attr->ia_valid &= NFS_VALID_ATTRS;
|
||||
- if ((attr->ia_valid & ~ATTR_FILE) == 0)
|
||||
+ if ((attr->ia_valid & ~(ATTR_FILE|ATTR_OPEN)) == 0)
|
||||
return 0;
|
||||
|
||||
/* Write all dirty data */
|
||||
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
|
||||
index 1515e45..c4c6b48 100644
|
||||
--- a/fs/nfs/nfs4proc.c
|
||||
+++ b/fs/nfs/nfs4proc.c
|
||||
@@ -833,7 +833,7 @@ static struct nfs4_opendata *nfs4_opendata_alloc(struct dentry *dentry,
|
||||
p->o_arg.bitmask = server->attr_bitmask;
|
||||
p->o_arg.dir_bitmask = server->cache_consistency_bitmask;
|
||||
p->o_arg.claim = NFS4_OPEN_CLAIM_NULL;
|
||||
- if (flags & O_CREAT) {
|
||||
+ if (attrs != NULL && attrs->ia_valid != 0) {
|
||||
u32 *s;
|
||||
|
||||
p->o_arg.u.attrs = &p->attrs;
|
||||
@@ -890,7 +890,7 @@ static int can_open_cached(struct nfs4_state *state, fmode_t mode, int open_mode
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
- if (open_mode & O_EXCL)
|
||||
+ if (open_mode & (O_EXCL|O_TRUNC))
|
||||
goto out;
|
||||
switch (mode & (FMODE_READ|FMODE_WRITE)) {
|
||||
case FMODE_READ:
|
||||
@@ -1038,7 +1038,7 @@ static struct nfs4_state *nfs4_try_open_cached(struct nfs4_opendata *opendata)
|
||||
struct nfs4_state *state = opendata->state;
|
||||
struct nfs_inode *nfsi = NFS_I(state->inode);
|
||||
struct nfs_delegation *delegation;
|
||||
- int open_mode = opendata->o_arg.open_flags & O_EXCL;
|
||||
+ int open_mode = opendata->o_arg.open_flags & (O_EXCL|O_TRUNC);
|
||||
fmode_t fmode = opendata->o_arg.fmode;
|
||||
nfs4_stateid stateid;
|
||||
int ret = -EAGAIN;
|
||||
@@ -2439,6 +2439,10 @@ nfs4_proc_setattr(struct dentry *dentry, struct nfs_fattr *fattr,
|
||||
}
|
||||
}
|
||||
|
||||
+ /* Deal with open(O_TRUNC) */
|
||||
+ if (sattr->ia_valid & ATTR_OPEN)
|
||||
+ sattr->ia_valid &= ~(ATTR_MTIME|ATTR_CTIME|ATTR_OPEN);
|
||||
+
|
||||
status = nfs4_do_setattr(inode, cred, fattr, sattr, state);
|
||||
if (status == 0)
|
||||
nfs_setattr_update_inode(inode, sattr);
|
||||
--
|
||||
1.7.7.6
|
||||
|
||||
_______________________________________________
|
||||
kernel mailing list
|
||||
kernel@lists.fedoraproject.org
|
||||
https://admin.fedoraproject.org/mailman/listinfo/kernel
|
|
@ -0,0 +1,109 @@
|
|||
diff -up linux-3.2.noarch/fs/nfs/idmap.c.orig linux-3.2.noarch/fs/nfs/idmap.c
|
||||
--- linux-3.2.noarch/fs/nfs/idmap.c.orig 2012-03-14 13:08:37.462928792 -0400
|
||||
+++ linux-3.2.noarch/fs/nfs/idmap.c 2012-03-14 13:10:17.076030982 -0400
|
||||
@@ -365,7 +365,7 @@ struct idmap_hashent {
|
||||
|
||||
struct idmap_hashtable {
|
||||
__u8 h_type;
|
||||
- struct idmap_hashent h_entries[IDMAP_HASH_SZ];
|
||||
+ struct idmap_hashent *h_entries;
|
||||
};
|
||||
|
||||
struct idmap {
|
||||
@@ -420,20 +420,39 @@ nfs_idmap_new(struct nfs_client *clp)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static void
|
||||
+idmap_alloc_hashtable(struct idmap_hashtable *h)
|
||||
+{
|
||||
+ if (h->h_entries != NULL)
|
||||
+ return;
|
||||
+ h->h_entries = kcalloc(IDMAP_HASH_SZ,
|
||||
+ sizeof(*h->h_entries),
|
||||
+ GFP_KERNEL);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+idmap_free_hashtable(struct idmap_hashtable *h)
|
||||
+{
|
||||
+ int i;
|
||||
+
|
||||
+ if (h->h_entries == NULL)
|
||||
+ return;
|
||||
+ for (i = 0; i < IDMAP_HASH_SZ; i++)
|
||||
+ kfree(h->h_entries[i].ih_name);
|
||||
+ kfree(h->h_entries);
|
||||
+}
|
||||
+
|
||||
void
|
||||
nfs_idmap_delete(struct nfs_client *clp)
|
||||
{
|
||||
struct idmap *idmap = clp->cl_idmap;
|
||||
- int i;
|
||||
|
||||
if (!idmap)
|
||||
return;
|
||||
rpc_unlink(idmap->idmap_dentry);
|
||||
clp->cl_idmap = NULL;
|
||||
- for (i = 0; i < ARRAY_SIZE(idmap->idmap_user_hash.h_entries); i++)
|
||||
- kfree(idmap->idmap_user_hash.h_entries[i].ih_name);
|
||||
- for (i = 0; i < ARRAY_SIZE(idmap->idmap_group_hash.h_entries); i++)
|
||||
- kfree(idmap->idmap_group_hash.h_entries[i].ih_name);
|
||||
+ idmap_free_hashtable(&idmap->idmap_user_hash);
|
||||
+ idmap_free_hashtable(&idmap->idmap_group_hash);
|
||||
kfree(idmap);
|
||||
}
|
||||
|
||||
@@ -443,6 +462,8 @@ nfs_idmap_delete(struct nfs_client *clp)
|
||||
static inline struct idmap_hashent *
|
||||
idmap_name_hash(struct idmap_hashtable* h, const char *name, size_t len)
|
||||
{
|
||||
+ if (h->h_entries == NULL)
|
||||
+ return NULL;
|
||||
return &h->h_entries[fnvhash32(name, len) % IDMAP_HASH_SZ];
|
||||
}
|
||||
|
||||
@@ -451,6 +472,8 @@ idmap_lookup_name(struct idmap_hashtable
|
||||
{
|
||||
struct idmap_hashent *he = idmap_name_hash(h, name, len);
|
||||
|
||||
+ if (he == NULL)
|
||||
+ return NULL;
|
||||
if (he->ih_namelen != len || memcmp(he->ih_name, name, len) != 0)
|
||||
return NULL;
|
||||
if (time_after(jiffies, he->ih_expires))
|
||||
@@ -461,6 +484,8 @@ idmap_lookup_name(struct idmap_hashtable
|
||||
static inline struct idmap_hashent *
|
||||
idmap_id_hash(struct idmap_hashtable* h, __u32 id)
|
||||
{
|
||||
+ if (h->h_entries == NULL)
|
||||
+ return NULL;
|
||||
return &h->h_entries[fnvhash32(&id, sizeof(id)) % IDMAP_HASH_SZ];
|
||||
}
|
||||
|
||||
@@ -468,6 +493,9 @@ static struct idmap_hashent *
|
||||
idmap_lookup_id(struct idmap_hashtable *h, __u32 id)
|
||||
{
|
||||
struct idmap_hashent *he = idmap_id_hash(h, id);
|
||||
+
|
||||
+ if (he == NULL)
|
||||
+ return NULL;
|
||||
if (he->ih_id != id || he->ih_namelen == 0)
|
||||
return NULL;
|
||||
if (time_after(jiffies, he->ih_expires))
|
||||
@@ -483,12 +511,14 @@ idmap_lookup_id(struct idmap_hashtable *
|
||||
static inline struct idmap_hashent *
|
||||
idmap_alloc_name(struct idmap_hashtable *h, char *name, size_t len)
|
||||
{
|
||||
+ idmap_alloc_hashtable(h);
|
||||
return idmap_name_hash(h, name, len);
|
||||
}
|
||||
|
||||
static inline struct idmap_hashent *
|
||||
idmap_alloc_id(struct idmap_hashtable *h, __u32 id)
|
||||
{
|
||||
+ idmap_alloc_hashtable(h);
|
||||
return idmap_id_hash(h, id);
|
||||
}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
From 14977489ffdb80d4caf5a184ba41b23b02fbacd9 Mon Sep 17 00:00:00 2001
|
||||
From: Trond Myklebust <Trond.Myklebust@netapp.com>
|
||||
Date: Tue, 27 Mar 2012 18:31:25 -0400
|
||||
Subject: [PATCH] NFSv4: Minor cleanups for nfs4_handle_exception and
|
||||
nfs4_async_handle_error
|
||||
|
||||
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
||||
---
|
||||
fs/nfs/nfs4proc.c | 10 +++++-----
|
||||
1 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
|
||||
index 1933e67..f82bde0 100644
|
||||
--- a/fs/nfs/nfs4proc.c
|
||||
+++ b/fs/nfs/nfs4proc.c
|
||||
@@ -270,7 +270,7 @@ static int nfs4_handle_exception(struct nfs_server *server, int errorcode, struc
|
||||
case 0:
|
||||
return 0;
|
||||
case -NFS4ERR_OPENMODE:
|
||||
- if (nfs_have_delegation(inode, FMODE_READ)) {
|
||||
+ if (inode && nfs_have_delegation(inode, FMODE_READ)) {
|
||||
nfs_inode_return_delegation(inode);
|
||||
exception->retry = 1;
|
||||
return 0;
|
||||
@@ -282,10 +282,9 @@ static int nfs4_handle_exception(struct nfs_server *server, int errorcode, struc
|
||||
case -NFS4ERR_DELEG_REVOKED:
|
||||
case -NFS4ERR_ADMIN_REVOKED:
|
||||
case -NFS4ERR_BAD_STATEID:
|
||||
- if (state != NULL)
|
||||
- nfs_remove_bad_delegation(state->inode);
|
||||
if (state == NULL)
|
||||
break;
|
||||
+ nfs_remove_bad_delegation(state->inode);
|
||||
nfs4_schedule_stateid_recovery(server, state);
|
||||
goto wait_on_recovery;
|
||||
case -NFS4ERR_EXPIRED:
|
||||
@@ -3825,8 +3824,9 @@ nfs4_async_handle_error(struct rpc_task *task, const struct nfs_server *server,
|
||||
case -NFS4ERR_DELEG_REVOKED:
|
||||
case -NFS4ERR_ADMIN_REVOKED:
|
||||
case -NFS4ERR_BAD_STATEID:
|
||||
- if (state != NULL)
|
||||
- nfs_remove_bad_delegation(state->inode);
|
||||
+ if (state == NULL)
|
||||
+ break;
|
||||
+ nfs_remove_bad_delegation(state->inode);
|
||||
case -NFS4ERR_OPENMODE:
|
||||
if (state == NULL)
|
||||
break;
|
||||
--
|
||||
1.7.7.6
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
From 34d91cfbc163c6e2a136a27c96918fc35de06341 Mon Sep 17 00:00:00 2001
|
||||
From: William Dauchy <wdauchy@gmail.com>
|
||||
Date: Wed, 14 Mar 2012 12:32:04 +0100
|
||||
Subject: [PATCH] NFSv4: Rate limit the state manager for lock reclaim warning
|
||||
messages
|
||||
|
||||
Adding rate limit on `Lock reclaim failed` messages since it could fill
|
||||
up system logs
|
||||
Signed-off-by: William Dauchy <wdauchy@gmail.com>
|
||||
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
||||
|
||||
Conflicts:
|
||||
|
||||
fs/nfs/nfs4state.c
|
||||
---
|
||||
fs/nfs/nfs4state.c | 5 +++--
|
||||
1 files changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c
|
||||
index bacb271..3676b5c 100644
|
||||
--- a/fs/nfs/nfs4state.c
|
||||
+++ b/fs/nfs/nfs4state.c
|
||||
@@ -1247,8 +1247,9 @@ restart:
|
||||
spin_lock(&state->state_lock);
|
||||
list_for_each_entry(lock, &state->lock_states, ls_locks) {
|
||||
if (!(lock->ls_flags & NFS_LOCK_INITIALIZED))
|
||||
- printk("%s: Lock reclaim failed!\n",
|
||||
- __func__);
|
||||
+ pr_warn_ratelimited("NFS: "
|
||||
+ "%s: Lock reclaim "
|
||||
+ "failed!\n", __func__);
|
||||
}
|
||||
spin_unlock(&state->state_lock);
|
||||
nfs4_put_open_state(state);
|
||||
--
|
||||
1.7.7.6
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
diff -up linux-3.2.noarch/fs/nfs/idmap.c.orig linux-3.2.noarch/fs/nfs/idmap.c
|
||||
--- linux-3.2.noarch/fs/nfs/idmap.c.orig 2012-02-07 07:12:52.585471833 -0500
|
||||
+++ linux-3.2.noarch/fs/nfs/idmap.c 2012-03-14 13:08:37.462928792 -0400
|
||||
@@ -360,7 +360,7 @@ struct idmap_hashent {
|
||||
unsigned long ih_expires;
|
||||
__u32 ih_id;
|
||||
size_t ih_namelen;
|
||||
- char ih_name[IDMAP_NAMESZ];
|
||||
+ const char *ih_name;
|
||||
};
|
||||
|
||||
struct idmap_hashtable {
|
||||
@@ -424,11 +424,16 @@ void
|
||||
nfs_idmap_delete(struct nfs_client *clp)
|
||||
{
|
||||
struct idmap *idmap = clp->cl_idmap;
|
||||
+ int i;
|
||||
|
||||
if (!idmap)
|
||||
return;
|
||||
rpc_unlink(idmap->idmap_dentry);
|
||||
clp->cl_idmap = NULL;
|
||||
+ for (i = 0; i < ARRAY_SIZE(idmap->idmap_user_hash.h_entries); i++)
|
||||
+ kfree(idmap->idmap_user_hash.h_entries[i].ih_name);
|
||||
+ for (i = 0; i < ARRAY_SIZE(idmap->idmap_group_hash.h_entries); i++)
|
||||
+ kfree(idmap->idmap_group_hash.h_entries[i].ih_name);
|
||||
kfree(idmap);
|
||||
}
|
||||
|
||||
@@ -491,9 +496,14 @@ static void
|
||||
idmap_update_entry(struct idmap_hashent *he, const char *name,
|
||||
size_t namelen, __u32 id)
|
||||
{
|
||||
+ char *str = kmalloc(namelen + 1, GFP_KERNEL);
|
||||
+ if (str == NULL)
|
||||
+ return;
|
||||
+ kfree(he->ih_name);
|
||||
he->ih_id = id;
|
||||
- memcpy(he->ih_name, name, namelen);
|
||||
- he->ih_name[namelen] = '\0';
|
||||
+ memcpy(str, name, namelen);
|
||||
+ str[namelen] = '\0';
|
||||
+ he->ih_name = str;
|
||||
he->ih_namelen = namelen;
|
||||
he->ih_expires = jiffies + nfs_idmap_cache_timeout;
|
||||
}
|
|
@ -0,0 +1,69 @@
|
|||
From: Trond Myklebust <Trond.Myklebust@netapp.com>
|
||||
|
||||
If the file wasn't opened for writing, then truncate and ftruncate
|
||||
need to report the appropriate errors.
|
||||
|
||||
Reported-by: Miklos Szeredi <miklos@szeredi.hu>
|
||||
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
|
||||
Cc: stable@vger.kernel.org
|
||||
---
|
||||
fs/nfs/dir.c | 4 ++--
|
||||
fs/nfs/nfs4proc.c | 15 ++++++++++++---
|
||||
2 files changed, 14 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
|
||||
index bb132a8..51a2686 100644
|
||||
--- a/fs/nfs/dir.c
|
||||
+++ b/fs/nfs/dir.c
|
||||
@@ -1429,7 +1429,7 @@ static struct dentry *nfs_atomic_lookup(struct inode *dir, struct dentry *dentry
|
||||
}
|
||||
|
||||
open_flags = nd->intent.open.flags;
|
||||
- attr.ia_valid = 0;
|
||||
+ attr.ia_valid = ATTR_OPEN;
|
||||
|
||||
ctx = create_nfs_open_context(dentry, open_flags);
|
||||
res = ERR_CAST(ctx);
|
||||
@@ -1536,7 +1536,7 @@ static int nfs_open_revalidate(struct dentry *dentry, struct nameidata *nd)
|
||||
if (IS_ERR(ctx))
|
||||
goto out;
|
||||
|
||||
- attr.ia_valid = 0;
|
||||
+ attr.ia_valid = ATTR_OPEN;
|
||||
if (openflags & O_TRUNC) {
|
||||
attr.ia_valid |= ATTR_SIZE;
|
||||
attr.ia_size = 0;
|
||||
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
|
||||
index c4c6b48..e2a2893 100644
|
||||
--- a/fs/nfs/nfs4proc.c
|
||||
+++ b/fs/nfs/nfs4proc.c
|
||||
@@ -1921,10 +1921,19 @@ static int nfs4_do_setattr(struct inode *inode, struct rpc_cred *cred,
|
||||
};
|
||||
int err;
|
||||
do {
|
||||
- err = nfs4_handle_exception(server,
|
||||
- _nfs4_do_setattr(inode, cred, fattr, sattr, state),
|
||||
- &exception);
|
||||
+ err = _nfs4_do_setattr(inode, cred, fattr, sattr, state);
|
||||
+ switch (err) {
|
||||
+ case -NFS4ERR_OPENMODE:
|
||||
+ if (state && !(state->state & FMODE_WRITE)) {
|
||||
+ err = -EBADF;
|
||||
+ if (sattr->ia_valid & ATTR_OPEN)
|
||||
+ err = -EACCES;
|
||||
+ goto out;
|
||||
+ }
|
||||
+ }
|
||||
+ err = nfs4_handle_exception(server, err, &exception);
|
||||
} while (exception.retry);
|
||||
+out:
|
||||
return err;
|
||||
}
|
||||
|
||||
--
|
||||
1.7.7.6
|
||||
|
||||
_______________________________________________
|
||||
kernel mailing list
|
||||
kernel@lists.fedoraproject.org
|
||||
https://admin.fedoraproject.org/mailman/listinfo/kernel
|
|
@ -0,0 +1,109 @@
|
|||
**** Queued for 3.2 ***********************************************************************************
|
||||
|
||||
* acpi-ensure-thermal-limits-match-cpu-freq.patch
|
||||
* revert-efi-rtclock.patch
|
||||
* block-stray-block-put-after-teardown.patch
|
||||
* efi-dont-map-boot-services-on-32bit.patch
|
||||
|
||||
**** Queued for 3.3 ***********************************************************************************
|
||||
drm-edid-try-harder-to-fix-up-broken-headers.patch
|
||||
ext4-Support-check-none-nocheck-mount-options.patch
|
||||
|
||||
**** Other stuff that should go upstream (in decreasing likelyhood) ************************************
|
||||
|
||||
* linux-2.6-acpi-video-dos.patch
|
||||
* linux-2.6-defaults-acpi-video.patch
|
||||
* linux-2.6-defaults-aspm.patch
|
||||
* disable-i8042-check-on-apple-mac.patch
|
||||
* linux-2.6.30-no-pcspkr-modalias.patch
|
||||
* die-floppy-die.patch
|
||||
Fedora policy decisions
|
||||
Turn into CONFIG_ options and upstream ?
|
||||
|
||||
* linux-2.6-input-kill-stupid-messages.patch
|
||||
* linux-2.6-silence-acpi-blacklist.patch
|
||||
* linux-2.6-silence-fbcon-logo.patch
|
||||
* linux-2.6-silence-noise.patch
|
||||
Fedora local 'hush' patches. (TODO: push more upstream)
|
||||
|
||||
* linux-2.6-makefile-after_link.patch
|
||||
Rolandware that is used by the debuginfo generation.
|
||||
Possibly upstreamable ?
|
||||
|
||||
* linux-2.6-serial-460800.patch
|
||||
Probably not upstreamable.
|
||||
http://marc.theaimsgroup.com/?l=linux-kernel&m=112687270832687&w=2
|
||||
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=126403
|
||||
http://lkml.org/lkml/2006/8/2/208
|
||||
|
||||
* linux-2.6-acpi-debug-infinite-loop.patch
|
||||
Responsible: mjg59
|
||||
|
||||
* fix_xen_guest_on_old_EC2.patch
|
||||
Ugly for upstream. It's a hack to make old HV's work optimally.
|
||||
Eventually we can drop it, but probably not until fixed HV's
|
||||
are commonplace. (When?)
|
||||
Responsible: Justin.
|
||||
|
||||
* add-appleir-usb-driver.patch
|
||||
Added September 2009, but had been around even before that.
|
||||
" NACKed upstream with "i'll implement this in the ir framework" or something
|
||||
and never got around to it."
|
||||
Responsible: j-rod
|
||||
|
||||
* dmar-disable-when-ricoh-multifunction.patch
|
||||
Added October 2010
|
||||
|
||||
* linux-2.6-intel-iommu-igfx.patch
|
||||
Invert igfx_off/igfx_on option. Around since forever. Upstreamable ?
|
||||
Mustard ? Config option ?
|
||||
|
||||
* arm-omap-dt-compat.patch
|
||||
* arm-smsc-support-reading-mac-address-from-device-tree.patch
|
||||
reponsible: Dennis
|
||||
|
||||
***********************************************************************************
|
||||
|
||||
'MUSTARD' patches. Fedora local patches that are very unlikely to go upstream.
|
||||
|
||||
* linux-2.6-32bit-mmap-exec-randomization.patch
|
||||
One half of the remaining exec-shield diff.
|
||||
- davej bugged Ingo again on Jun 17 2011 about upstreaming, no response.
|
||||
- mailed Linus asking for opinions in August 2011. He still hates it.
|
||||
"Ugh. Certainly not in this form. That patch is just disgusting." ..
|
||||
"I think that with NX and now SMEP, if you really care about security,
|
||||
you'd better be using a CPU that supports 64-bit operations anyway."
|
||||
As well as the increased randomisation, there's a key part of this patch
|
||||
that means that DSOs get loaded in the ASCII-Armor area on 32bit.
|
||||
(Addresses have topmost byte == 0)
|
||||
See also https://bugzilla.redhat.com/show_bug.cgi?id=734239
|
||||
|
||||
* linux-2.6-i386-nx-emulation.patch
|
||||
The ugly segment hack part of exec-shield that Linus hates.
|
||||
Unlikely to ever go upstream.
|
||||
|
||||
* linux-2.6-crash-driver.patch
|
||||
Unlikely to go upstream.
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=492803
|
||||
|
||||
* linux-2.6-e1000-ich9-montevina.patch
|
||||
Intel hates it. Davej has an SDV that needs it.
|
||||
Low maintenence, and worth hanging onto until it gets replaced
|
||||
with something that fails in a different way.
|
||||
|
||||
* utrace.patch
|
||||
Hopefully it'll die when uprobes gets upstream.
|
||||
|
||||
|
||||
***********************************************************************************
|
||||
|
||||
Spec file/config todos/cleanups
|
||||
|
||||
* modules-extra: Do a few more things to make it a bit more robust.
|
||||
- Allow for comments in the mod-extra.list file.
|
||||
- Don't fail the build if a module is listed but not built (maybe).
|
||||
- See if it can be tied into Kconfig instead of module names.
|
||||
|
||||
* investigate gzip modules. Everything should support this now?
|
||||
Looks like about 70M savings per kernel installed.
|
||||
|
|
@ -1,228 +0,0 @@
|
|||
https://gitlab.com/cki-project/kernel-ark/-/commit/8773e8c6039ff74d1426cc80de30de759cd0c2a2
|
||||
8773e8c6039ff74d1426cc80de30de759cd0c2a2 irq: export irq_check_status_bit
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/e187313e5f0086538fefe0925ef84480f99616d8
|
||||
e187313e5f0086538fefe0925ef84480f99616d8 gcc-plugins: fix gcc 11 indigestion with plugins...
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/0c84b348e33ab9d7df5c3c5acc7fbc07fd96fafc
|
||||
0c84b348e33ab9d7df5c3c5acc7fbc07fd96fafc Fix up bad merge with efi: generalize efi_get_secureboot
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/364788093bdf437c33753d327136c363be8f756c
|
||||
364788093bdf437c33753d327136c363be8f756c Fix up a merge issue with rxe.c
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/a4d554ce883e24df77cce42bc2deec527028c213
|
||||
a4d554ce883e24df77cce42bc2deec527028c213 Filter out LTO build options from the perl ccopts
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/17b0f7f1d49df30661b517d668715ff5ee1bab09
|
||||
17b0f7f1d49df30661b517d668715ff5ee1bab09 Fixes "acpi: prefer booting with ACPI over DTS" to be RHEL only
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/e7c009cd91ababdbb5f726ef592c7800f0682d3a
|
||||
e7c009cd91ababdbb5f726ef592c7800f0682d3a arch/x86: Remove vendor specific CPU ID checks
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/7120b2a26fc4c7954fd0395973dc6739c110e091
|
||||
7120b2a26fc4c7954fd0395973dc6739c110e091 redhat: Replace hardware.redhat.com link in Unsupported message
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/7a28e2fde653a161913abb8eee943cdacb5ff2ae
|
||||
7a28e2fde653a161913abb8eee943cdacb5ff2ae x86: Fix compile issues with rh_check_supported()
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/45f64c1a24e73af7987cffec3ea941e29364f87f
|
||||
45f64c1a24e73af7987cffec3ea941e29364f87f e1000e: bump up timeout to wait when ME un-configure ULP mode
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/6c14763b1ce98698949ff45135c15e333aa6416d
|
||||
6c14763b1ce98698949ff45135c15e333aa6416d drm/sun4i: sun6i_mipi_dsi: fix horizontal timing calculation
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/67a19b16012b12cffba0b515c6503e5f8cdbb798
|
||||
67a19b16012b12cffba0b515c6503e5f8cdbb798 drm: panel: add Xingbangda XBD599 panel
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/d220dbf98cef820367b5a2a2eeaacebee958bdd4
|
||||
d220dbf98cef820367b5a2a2eeaacebee958bdd4 dt-bindings: panel: add binding for Xingbangda XBD599 panel
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/80660062260dec4bdca9540922577542c16145e8
|
||||
80660062260dec4bdca9540922577542c16145e8 ARM: fix __get_user_check() in case uaccess_* calls are not inlined
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/24d8743613b2a6a585fc68cfe95078d9a3d5b389
|
||||
24d8743613b2a6a585fc68cfe95078d9a3d5b389 mm/kmemleak: skip late_init if not skip disable
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/b697ff5e26974fee8fcd31a1e221e9dd41515efc
|
||||
b697ff5e26974fee8fcd31a1e221e9dd41515efc KEYS: Make use of platform keyring for module signature verify
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/081d2185e22479b449586c4e9843602ca0d49806
|
||||
081d2185e22479b449586c4e9843602ca0d49806 Drop that for now
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/5ef51389cf6673a0e9e004909c7be1dc785050b2
|
||||
5ef51389cf6673a0e9e004909c7be1dc785050b2 Input: rmi4 - remove the need for artificial IRQ in case of HID
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/c1788012ebf8de46e9dc80d18051ed0c77c811b6
|
||||
c1788012ebf8de46e9dc80d18051ed0c77c811b6 ARM: tegra: usb no reset
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/577365feaa909db4c0949eabfcda7e4a972b8e54
|
||||
577365feaa909db4c0949eabfcda7e4a972b8e54 arm: make CONFIG_HIGHPTE optional without CONFIG_EXPERT
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/331be9c5a436057ee852075c102d9d90a9046a30
|
||||
331be9c5a436057ee852075c102d9d90a9046a30 redhat: rh_kabi: deduplication friendly structs
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/34d79fbfb327f732ebf3ece4db21a14f81fedf03
|
||||
34d79fbfb327f732ebf3ece4db21a14f81fedf03 redhat: rh_kabi add a comment with warning about RH_KABI_EXCLUDE usage
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/93a4b5f12d5a1c2d62cf1d7c440b31d9847eab07
|
||||
93a4b5f12d5a1c2d62cf1d7c440b31d9847eab07 redhat: rh_kabi: introduce RH_KABI_EXTEND_WITH_SIZE
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/8e5c06356457f5351289e9f687b991189d163dae
|
||||
8e5c06356457f5351289e9f687b991189d163dae redhat: rh_kabi: Indirect EXTEND macros so nesting of other macros will resolve.
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/212cbccda77cc81fcb60123907eabdac8ad5adb7
|
||||
212cbccda77cc81fcb60123907eabdac8ad5adb7 redhat: rh_kabi: Fix RH_KABI_SET_SIZE to use dereference operator
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/6f7744b412e1fb86a67d8761e64df69cf891b4ad
|
||||
6f7744b412e1fb86a67d8761e64df69cf891b4ad redhat: rh_kabi: Add macros to size and extend structs
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/049623d33998be30d79692c69b34acb502c496e3
|
||||
049623d33998be30d79692c69b34acb502c496e3 Removing Obsolete hba pci-ids from rhel8
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/43ef1d631ecfe84084db3572c9ed1bedbdceb0f8
|
||||
43ef1d631ecfe84084db3572c9ed1bedbdceb0f8 mptsas: pci-id table changes
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/e5726695109dd1a73da92487b75de6a51d54c015
|
||||
e5726695109dd1a73da92487b75de6a51d54c015 mptsas: Taint kernel if mptsas is loaded
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/ee4dcd6f04ca76ad35ab0f38c436ab2f7de53f16
|
||||
ee4dcd6f04ca76ad35ab0f38c436ab2f7de53f16 mptspi: pci-id table changes
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/bd305f716d8b64be1926bc7aebe02468ac6bf599
|
||||
bd305f716d8b64be1926bc7aebe02468ac6bf599 qla2xxx: Remove PCI IDs of deprecated adapter
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/803ff9a2c660c094e14d246ef05019bf6008d503
|
||||
803ff9a2c660c094e14d246ef05019bf6008d503 be2iscsi: remove unsupported device IDs
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/2cb24399321f555f18b0804d3fe02cf53949fba1
|
||||
2cb24399321f555f18b0804d3fe02cf53949fba1 mptspi: Taint kernel if mptspi is loaded
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/ad1740551ff4af49f1ef10a130783d9369e955a0
|
||||
ad1740551ff4af49f1ef10a130783d9369e955a0 hpsa: remove old cciss-based smartarray pci ids
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/4197ba3e766656eea9175c11ed05903620d98a28
|
||||
4197ba3e766656eea9175c11ed05903620d98a28 qla4xxx: Remove deprecated PCI IDs from RHEL 8
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/7e285aec22ab1213639afda877902db363473cb0
|
||||
7e285aec22ab1213639afda877902db363473cb0 aacraid: Remove depreciated device and vendor PCI id's
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/846109a16be92155e69731c36dde48761d375153
|
||||
846109a16be92155e69731c36dde48761d375153 megaraid_sas: remove deprecated pci-ids
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/6fd2019d01cee7ff36dc047d3ecdb504b968f222
|
||||
6fd2019d01cee7ff36dc047d3ecdb504b968f222 mpt*: remove certain deprecated pci-ids
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/dddcd5c1129b275ff160324036a662739db51fc3
|
||||
dddcd5c1129b275ff160324036a662739db51fc3 kernel: add SUPPORT_REMOVED kernel taint
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/08d77161dba915d1ed0d9fede658085440ab4474
|
||||
08d77161dba915d1ed0d9fede658085440ab4474 Rename RH_DISABLE_DEPRECATED to RHEL_DIFFERENCES
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/e2dc2ca6a25a445bf22ceb6a8e38e02706605341
|
||||
e2dc2ca6a25a445bf22ceb6a8e38e02706605341 Add option of 13 for FORCE_MAX_ZONEORDER
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/2384646bf71d8c282cf49bb20321fdf802c61cce
|
||||
2384646bf71d8c282cf49bb20321fdf802c61cce s390: Lock down the kernel when the IPL secure flag is set
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/5850c93175b9d2e1081873f4bbe08dead202cb08
|
||||
5850c93175b9d2e1081873f4bbe08dead202cb08 efi: Lock down the kernel if booted in secure boot mode
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/53250b991f841be025fa4d264850dadc0fae2861
|
||||
53250b991f841be025fa4d264850dadc0fae2861 efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/72223fd1241cc5c70b96a491db14d54c83beadd8
|
||||
72223fd1241cc5c70b96a491db14d54c83beadd8 security: lockdown: expose a hook to lock the kernel down
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/7ba28f03674fa9346610c3fea7fc93bc58f06d2a
|
||||
7ba28f03674fa9346610c3fea7fc93bc58f06d2a Make get_cert_list() use efi_status_to_str() to print error messages.
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/2ae9082db0b54d831a9b3782c049d9917e37d89f
|
||||
2ae9082db0b54d831a9b3782c049d9917e37d89f Add efi_status_to_str() and rework efi_status_to_err().
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/cee1461ada1b7e4b92cd154e7ec241119afcd644
|
||||
cee1461ada1b7e4b92cd154e7ec241119afcd644 Add support for deprecating processors
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/2420149f8f5fa9dd1e2dc793765b498022922a81
|
||||
2420149f8f5fa9dd1e2dc793765b498022922a81 arm: aarch64: Drop the EXPERT setting from ARM64_FORCE_52BIT
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/1d69b30b98b60aff639351f5788d20a3b17f6e27
|
||||
1d69b30b98b60aff639351f5788d20a3b17f6e27 iommu/arm-smmu: workaround DMA mode issues
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/6b2e73e508e7a117b1db91596097c00e5570f64a
|
||||
6b2e73e508e7a117b1db91596097c00e5570f64a rh_kabi: introduce RH_KABI_EXCLUDE
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/ecb9206bce179eb600c52642a6753012a69ce4a2
|
||||
ecb9206bce179eb600c52642a6753012a69ce4a2 ipmi: do not configure ipmi for HPE m400
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/473be59fe72afa9969cf8d10609ef3f14f594631
|
||||
473be59fe72afa9969cf8d10609ef3f14f594631 IB/rxe: Mark Soft-RoCE Transport driver as tech-preview
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/b94117795261f9c074a7addca2252238871b5081
|
||||
b94117795261f9c074a7addca2252238871b5081 scsi: smartpqi: add inspur advantech ids
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/cae871558c333880c1687cab6f2a71accf40d105
|
||||
cae871558c333880c1687cab6f2a71accf40d105 ice: mark driver as tech-preview
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/7d9cb007404211ea6638bde4a28dd0fbe8d95de0
|
||||
7d9cb007404211ea6638bde4a28dd0fbe8d95de0 kABI: Add generic kABI macros to use for kABI workarounds
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/bd353e9aae8877dd490e6c92b67849e0dcfbab25
|
||||
bd353e9aae8877dd490e6c92b67849e0dcfbab25 add pci_hw_vendor_status()
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/41a259999969bbdfe9f556ce71f2c3c07d7454f4
|
||||
41a259999969bbdfe9f556ce71f2c3c07d7454f4 ahci: thunderx2: Fix for errata that affects stop engine
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/2a107343529ce648c11bff62e9f72bbeec738f3f
|
||||
2a107343529ce648c11bff62e9f72bbeec738f3f Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/03e48a48f400a51a182a1254cf22ff0c08706d76
|
||||
03e48a48f400a51a182a1254cf22ff0c08706d76 bpf: Add tech preview taint for syscall
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/607f0e89af7ef5682f79f2eea0a99638a1bc0c4f
|
||||
607f0e89af7ef5682f79f2eea0a99638a1bc0c4f bpf: set unprivileged_bpf_disabled to 1 by default, add a boot parameter
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/31da227877eb734ddb484bc519aae85ce200802e
|
||||
31da227877eb734ddb484bc519aae85ce200802e add Red Hat-specific taint flags
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/7a2e2c83be0230667756cccb5bc3687419dfbb8b
|
||||
7a2e2c83be0230667756cccb5bc3687419dfbb8b kdump: fix a grammar issue in a kernel message
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/d345d54d33e7d496c9d845e4723550dd37cb3f88
|
||||
d345d54d33e7d496c9d845e4723550dd37cb3f88 tags.sh: Ignore redhat/rpm
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/5c67dc1eb0783a5c4ca4eb5c545ff6fe05facff0
|
||||
5c67dc1eb0783a5c4ca4eb5c545ff6fe05facff0 put RHEL info into generated headers
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/ce12884c009ec3bed11100c9d19f6d97628cf8ae
|
||||
ce12884c009ec3bed11100c9d19f6d97628cf8ae kdump: add support for crashkernel=auto
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/18fb1389afccdc5535977a10669b49a37829b55a
|
||||
18fb1389afccdc5535977a10669b49a37829b55a kdump: round up the total memory size to 128M for crashkernel reservation
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/5fb9821441cc0b77101ad9c0dfaa747957a4cce4
|
||||
5fb9821441cc0b77101ad9c0dfaa747957a4cce4 acpi: prefer booting with ACPI over DTS
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/0cf21a40db6fca5d89cf3d65808117c8c14e524e
|
||||
0cf21a40db6fca5d89cf3d65808117c8c14e524e aarch64: acpi scan: Fix regression related to X-Gene UARTs
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/de13e14cc2388478d9a2c68c5d90affd92098f11
|
||||
de13e14cc2388478d9a2c68c5d90affd92098f11 ACPI / irq: Workaround firmware issue on X-Gene based m400
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/71c098f4afa38a15a95495c14f71fb087ab27308
|
||||
71c098f4afa38a15a95495c14f71fb087ab27308 modules: add rhelversion MODULE_INFO tag
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/3247f9c838f4aa91aa5d08c152b385d61554d4b5
|
||||
3247f9c838f4aa91aa5d08c152b385d61554d4b5 ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/e80982feaa68226ff60d2f83dace2016c35270d3
|
||||
e80982feaa68226ff60d2f83dace2016c35270d3 Add Red Hat tainting
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/2987f9a606df106f5bdfa4113eb55356a21085a6
|
||||
2987f9a606df106f5bdfa4113eb55356a21085a6 Introduce CONFIG_RH_DISABLE_DEPRECATED
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/a99885a5e77af594dfdce586cc83e5911d8401ce
|
||||
a99885a5e77af594dfdce586cc83e5911d8401ce Pull the RHEL version defines out of the Makefile
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/cd3a5d30570279538623ea8a1255db0ee4b728f7
|
||||
cd3a5d30570279538623ea8a1255db0ee4b728f7 [initial commit] Add Red Hat variables in the top level makefile
|
||||
|
25
README.rst
25
README.rst
|
@ -1,25 +0,0 @@
|
|||
===================
|
||||
The Kernel dist-git
|
||||
===================
|
||||
|
||||
The kernel is maintained in a `source tree`_ rather than directly in dist-git.
|
||||
The specfile is maintained as a `template`_ in the source tree along with a set
|
||||
of build scripts to generate configurations, (S)RPMs, and to populate the
|
||||
dist-git repository.
|
||||
|
||||
The `documentation`_ for the source tree covers how to contribute and maintain
|
||||
the tree.
|
||||
|
||||
If you're looking for the downstream patch set it's available in the source
|
||||
tree with "git log master..ark-patches" or
|
||||
`online`_.
|
||||
|
||||
Each release in dist-git is tagged in the source repository so you can easily
|
||||
check out the source tree for a build. The tags are in the format
|
||||
name-version-release, but note release doesn't contain the dist tag since the
|
||||
source can be built in different build roots (Fedora, CentOS, etc.)
|
||||
|
||||
.. _source tree: https://gitlab.com/cki-project/kernel-ark.git
|
||||
.. _template: https://gitlab.com/cki-project/kernel-ark/-/blob/os-build/redhat/kernel.spec.template
|
||||
.. _documentation: https://gitlab.com/cki-project/kernel-ark/-/wikis/home
|
||||
.. _online: https://gitlab.com/cki-project/kernel-ark/-/commits/ark-patches
|
|
@ -0,0 +1,82 @@
|
|||
|
||||
Kernel package tips & tricks.
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The kernel is one of the more complicated packages in the distro, and
|
||||
for the newcomer, some of the voodoo in the spec file can be somewhat scary.
|
||||
This file attempts to document some of the magic.
|
||||
|
||||
|
||||
Speeding up make prep
|
||||
---------------------
|
||||
The kernel is nearly 500MB of source code, and as such, 'make prep'
|
||||
takes a while. The spec file employs some trickery so that repeated
|
||||
invocations of make prep don't take as long. Ordinarily the %prep
|
||||
phase of a package will delete the tree it is about to untar/patch.
|
||||
The kernel %prep keeps around an unpatched version of the tree,
|
||||
and makes a symlink tree clone of that clean tree and than applies
|
||||
the patches listed in the spec to the symlink tree.
|
||||
This makes a huge difference if you're doing multiple make preps a day.
|
||||
As an added bonus, doing a diff between the clean tree and the symlink
|
||||
tree is slightly faster than it would be doing two proper copies of the tree.
|
||||
|
||||
|
||||
build logs.
|
||||
-----------
|
||||
There's a convenience helper script in scripts/grab-logs.sh
|
||||
that will grab the build logs from koji for the kernel version reported
|
||||
by make verrel
|
||||
|
||||
|
||||
config heirarchy.
|
||||
-----------------
|
||||
Instead of having to maintain a config file for every arch variant we build on,
|
||||
the kernel spec uses a nested system of configs. At the top level, is
|
||||
config-generic. Add options here that should be present in every possible
|
||||
config on all architectures.
|
||||
|
||||
Beneath this are per-arch overrides. For example config-x86-generic add
|
||||
additional x86 specific options, and also _override_ any options that were
|
||||
set in config-generic.
|
||||
|
||||
The heirarchy looks like this..
|
||||
|
||||
config-generic
|
||||
|
|
||||
config-x86-generic
|
||||
| |
|
||||
config-x86-32-generic config-x86-64-generic
|
||||
|
||||
An option set in a lower level will override the same option set in one
|
||||
of the higher levels.
|
||||
|
||||
|
||||
There exist two additional overrides, config-debug, and config-nodebug,
|
||||
which override -generic, and the per-arch overrides. It is documented
|
||||
further below.
|
||||
|
||||
|
||||
debug options.
|
||||
--------------
|
||||
This is a little complicated, as the purpose & meaning of this changes
|
||||
depending on where we are in the release cycle.
|
||||
If we are building for a current stable release, 'make release' has
|
||||
typically been run already, which sets up the following..
|
||||
- Two builds occur, a 'kernel' and a 'kernel-debug' flavor.
|
||||
- kernel-debug will get various heavyweight debugging options like
|
||||
lockdep etc turned on.
|
||||
|
||||
If we are building for rawhide, 'make debug' has been run, which changes
|
||||
the status quo to:
|
||||
- We only build one kernel 'kernel'
|
||||
- The debug options from 'config-debug' are always turned on.
|
||||
This is done to increase coverage testing, as not many people actually
|
||||
run kernel-debug.
|
||||
|
||||
To add new debug options, add an option to _both_ config-debug and config-nodebug,
|
||||
and also new stanzas to the Makefile 'debug' and 'release' targets.
|
||||
|
||||
Sometimes debug options get added to config-generic, or per-arch overrides
|
||||
instead of config-[no]debug. In this instance, the options should have no
|
||||
discernable performance impact, otherwise they belong in the debug files.
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
Config TODOs:
|
||||
* review & disable a bunch of the I2C, RTC, DVB, SOUND options.
|
||||
* Re-enable CONFIG_RELOCATABLE for 32bit builds with 3.4
|
||||
|
||||
|
||||
Spec file TODOs:
|
||||
|
||||
* modules-extra: Do a few more things to make it a bit more robust.
|
||||
- Allow for comments in the mod-extra.list file.
|
||||
- Don't fail the build if a module is listed but not built (maybe).
|
||||
- See if it can be tied into Kconfig instead of module names.
|
||||
|
||||
* investigate gzip modules. Everything should support this now?
|
||||
Looks like about 70M savings per kernel installed.
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
@@ -, +, @@
|
||||
VMX: x86: handle host TSC calibration failure
|
||||
|
||||
If the host TSC calibration fails, tsc_khz is zero (see tsc_init.c).
|
||||
Handle such case properly in KVM (instead of dividing by zero).
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=859282
|
||||
|
||||
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
|
||||
Signed-off-by: Gleb Natapov <gleb@redhat.com>
|
||||
--- a/arch/x86/kvm/x86.c
|
||||
+++ a/arch/x86/kvm/x86.c
|
||||
@@ -1079,6 +1079,10 @@ static void kvm_set_tsc_khz(struct kvm_vcpu *vcpu, u32 this_tsc_khz)
|
||||
u32 thresh_lo, thresh_hi;
|
||||
int use_scaling = 0;
|
||||
|
||||
+ /* tsc_khz can be zero if TSC calibration fails */
|
||||
+ if (this_tsc_khz == 0)
|
||||
+ return;
|
||||
+
|
||||
/* Compute a scale to convert nanoseconds in TSC cycles */
|
||||
kvm_get_time_scale(this_tsc_khz, NSEC_PER_SEC / 1000,
|
||||
&vcpu->arch.virtual_tsc_shift,
|
||||
@@ -1156,20 +1160,23 @@ void kvm_write_tsc(struct kvm_vcpu *vcpu, struct msr_data *msr)
|
||||
ns = get_kernel_ns();
|
||||
elapsed = ns - kvm->arch.last_tsc_nsec;
|
||||
|
||||
- /* n.b - signed multiplication and division required */
|
||||
- usdiff = data - kvm->arch.last_tsc_write;
|
||||
+ if (vcpu->arch.virtual_tsc_khz) {
|
||||
+ /* n.b - signed multiplication and division required */
|
||||
+ usdiff = data - kvm->arch.last_tsc_write;
|
||||
#ifdef CONFIG_X86_64
|
||||
- usdiff = (usdiff * 1000) / vcpu->arch.virtual_tsc_khz;
|
||||
+ usdiff = (usdiff * 1000) / vcpu->arch.virtual_tsc_khz;
|
||||
#else
|
||||
- /* do_div() only does unsigned */
|
||||
- asm("idivl %2; xor %%edx, %%edx"
|
||||
- : "=A"(usdiff)
|
||||
- : "A"(usdiff * 1000), "rm"(vcpu->arch.virtual_tsc_khz));
|
||||
+ /* do_div() only does unsigned */
|
||||
+ asm("idivl %2; xor %%edx, %%edx"
|
||||
+ : "=A"(usdiff)
|
||||
+ : "A"(usdiff * 1000), "rm"(vcpu->arch.virtual_tsc_khz));
|
||||
#endif
|
||||
- do_div(elapsed, 1000);
|
||||
- usdiff -= elapsed;
|
||||
- if (usdiff < 0)
|
||||
- usdiff = -usdiff;
|
||||
+ do_div(elapsed, 1000);
|
||||
+ usdiff -= elapsed;
|
||||
+ if (usdiff < 0)
|
||||
+ usdiff = -usdiff;
|
||||
+ } else
|
||||
+ usdiff = USEC_PER_SEC; /* disable TSC match window below */
|
||||
|
||||
/*
|
||||
* Special case: TSC write with a small delta (1 second) of virtual
|
|
@ -0,0 +1,25 @@
|
|||
--- linux-2.6.34.noarch/include/acpi/acconfig.h~ 2010-07-01 14:49:03.000000000 -0400
|
||||
+++ linux-2.6.34.noarch/include/acpi/acconfig.h 2010-07-01 14:49:17.000000000 -0400
|
||||
@@ -117,7 +117,7 @@
|
||||
|
||||
/* Maximum number of While() loop iterations before forced abort */
|
||||
|
||||
-#define ACPI_MAX_LOOP_ITERATIONS 0xFFFF
|
||||
+#define ACPI_MAX_LOOP_ITERATIONS 0xFFFFFF
|
||||
|
||||
/* Maximum sleep allowed via Sleep() operator */
|
||||
|
||||
--- a/drivers/acpi/acpica/dscontrol.c
|
||||
+++ b/drivers/acpi/acpica/dscontrol.c
|
||||
@@ -212,6 +212,11 @@ acpi_ds_exec_end_control_op(struct acpi_walk_state * walk_state,
|
||||
* loop does not implement a timeout.
|
||||
*/
|
||||
control_state->control.loop_count++;
|
||||
+ if ((control_state->control.loop_count > 1) &&
|
||||
+ (control_state->control.loop_count % 0xffff == 0))
|
||||
+ printk("ACPI: While loop taking a really long time. loop_count=0x%x\n",
|
||||
+ control_state->control.loop_count);
|
||||
+
|
||||
if (control_state->control.loop_count >
|
||||
ACPI_MAX_LOOP_ITERATIONS) {
|
||||
status = AE_AML_INFINITE_LOOP;
|
|
@ -0,0 +1,38 @@
|
|||
diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c
|
||||
index 3ed80b2..17fc718 100644
|
||||
--- a/drivers/acpi/sleep.c
|
||||
+++ b/drivers/acpi/sleep.c
|
||||
@@ -390,6 +390,14 @@ static struct dmi_system_id __initdata acpisleep_dmi_table[] = {
|
||||
},
|
||||
{
|
||||
.callback = init_nvs_nosave,
|
||||
+ .ident = "Sony Vaio VGN-FW21E",
|
||||
+ .matches = {
|
||||
+ DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
|
||||
+ DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FW21E"),
|
||||
+ },
|
||||
+ },
|
||||
+ {
|
||||
+ .callback = init_nvs_nosave,
|
||||
.ident = "Sony Vaio VGN-SR11M",
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
|
||||
diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c
|
||||
index 0e46fae..6d9a3ab 100644
|
||||
--- a/drivers/acpi/sleep.c
|
||||
+++ b/drivers/acpi/sleep.c
|
||||
@@ -398,6 +398,14 @@ static struct dmi_system_id __initdata acpisleep_dmi_table[] = {
|
||||
},
|
||||
{
|
||||
.callback = init_nvs_nosave,
|
||||
+ .ident = "Sony Vaio VPCEB17FX",
|
||||
+ .matches = {
|
||||
+ DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
|
||||
+ DMI_MATCH(DMI_PRODUCT_NAME, "VPCEB17FX"),
|
||||
+ },
|
||||
+ },
|
||||
+ {
|
||||
+ .callback = init_nvs_nosave,
|
||||
.ident = "Sony Vaio VGN-SR11M",
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
|
|
@ -0,0 +1,17 @@
|
|||
Disable firmware video brightness change on AC/Battery switch by default
|
||||
|
||||
-- mjg59
|
||||
|
||||
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
|
||||
index bac2901..93b1a9e 100644
|
||||
--- a/drivers/acpi/video.c
|
||||
+++ b/drivers/acpi/video.c
|
||||
@@ -1818,7 +1818,7 @@ static int acpi_video_bus_put_devices(struct acpi_video_bus *video)
|
||||
|
||||
static int acpi_video_bus_start_devices(struct acpi_video_bus *video)
|
||||
{
|
||||
- return acpi_video_bus_DOS(video, 0, 0);
|
||||
+ return acpi_video_bus_DOS(video, 0, 1);
|
||||
}
|
||||
|
||||
static int acpi_video_bus_stop_devices(struct acpi_video_bus *video)
|
|
@ -0,0 +1,37 @@
|
|||
From a5cc68f3d63306d0d288f31edfc2ae6ef8ecd887 Mon Sep 17 00:00:00 2001
|
||||
From: Mathias Krause <minipli@googlemail.com>
|
||||
Date: Wed, 26 Jun 2013 21:52:30 +0000
|
||||
Subject: af_key: fix info leaks in notify messages
|
||||
|
||||
key_notify_sa_flush() and key_notify_policy_flush() miss to initialize
|
||||
the sadb_msg_reserved member of the broadcasted message and thereby
|
||||
leak 2 bytes of heap memory to listeners. Fix that.
|
||||
|
||||
Signed-off-by: Mathias Krause <minipli@googlemail.com>
|
||||
Cc: Steffen Klassert <steffen.klassert@secunet.com>
|
||||
Cc: "David S. Miller" <davem@davemloft.net>
|
||||
Cc: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
diff --git a/net/key/af_key.c b/net/key/af_key.c
|
||||
index c5fbd75..9da8620 100644
|
||||
--- a/net/key/af_key.c
|
||||
+++ b/net/key/af_key.c
|
||||
@@ -1710,6 +1710,7 @@ static int key_notify_sa_flush(const struct km_event *c)
|
||||
hdr->sadb_msg_version = PF_KEY_V2;
|
||||
hdr->sadb_msg_errno = (uint8_t) 0;
|
||||
hdr->sadb_msg_len = (sizeof(struct sadb_msg) / sizeof(uint64_t));
|
||||
+ hdr->sadb_msg_reserved = 0;
|
||||
|
||||
pfkey_broadcast(skb, GFP_ATOMIC, BROADCAST_ALL, NULL, c->net);
|
||||
|
||||
@@ -2699,6 +2700,7 @@ static int key_notify_policy_flush(const struct km_event *c)
|
||||
hdr->sadb_msg_errno = (uint8_t) 0;
|
||||
hdr->sadb_msg_satype = SADB_SATYPE_UNSPEC;
|
||||
hdr->sadb_msg_len = (sizeof(struct sadb_msg) / sizeof(uint64_t));
|
||||
+ hdr->sadb_msg_reserved = 0;
|
||||
pfkey_broadcast(skb_out, GFP_ATOMIC, BROADCAST_ALL, NULL, c->net);
|
||||
return 0;
|
||||
|
||||
--
|
||||
cgit v0.9.2
|
|
@ -0,0 +1,384 @@
|
|||
commit 9964e2a108292685fbbf0980493c5e9776eac762
|
||||
Author: Seth Forshee <seth.forshee@canonical.com>
|
||||
Date: Fri Mar 16 14:41:21 2012 -0500
|
||||
|
||||
apple_bl: Add register/unregister functions
|
||||
|
||||
Add functions to allow other modules to enable or disable apple_bl. This
|
||||
will be used by the gmux driver to disable apple_bl when the gmux is
|
||||
present, as it is a better and more reliable option for brightness
|
||||
control.
|
||||
|
||||
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
|
||||
Signed-off-by: Matthew Garrett <mjg@redhat.com>
|
||||
|
||||
diff --git a/drivers/video/backlight/apple_bl.c b/drivers/video/backlight/apple_bl.c
|
||||
index be98d15..a523b25 100644
|
||||
--- a/drivers/video/backlight/apple_bl.c
|
||||
+++ b/drivers/video/backlight/apple_bl.c
|
||||
@@ -24,6 +24,7 @@
|
||||
#include <linux/io.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/acpi.h>
|
||||
+#include <linux/atomic.h>
|
||||
|
||||
static struct backlight_device *apple_backlight_device;
|
||||
|
||||
@@ -221,14 +222,32 @@ static struct acpi_driver apple_bl_driver = {
|
||||
},
|
||||
};
|
||||
|
||||
+static atomic_t apple_bl_registered = ATOMIC_INIT(0);
|
||||
+
|
||||
+int apple_bl_register(void)
|
||||
+{
|
||||
+ if (atomic_xchg(&apple_bl_registered, 1) == 0)
|
||||
+ return acpi_bus_register_driver(&apple_bl_driver);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+EXPORT_SYMBOL_GPL(apple_bl_register);
|
||||
+
|
||||
+void apple_bl_unregister(void)
|
||||
+{
|
||||
+ if (atomic_xchg(&apple_bl_registered, 0) == 1)
|
||||
+ acpi_bus_unregister_driver(&apple_bl_driver);
|
||||
+}
|
||||
+EXPORT_SYMBOL_GPL(apple_bl_unregister);
|
||||
+
|
||||
static int __init apple_bl_init(void)
|
||||
{
|
||||
- return acpi_bus_register_driver(&apple_bl_driver);
|
||||
+ return apple_bl_register();
|
||||
}
|
||||
|
||||
static void __exit apple_bl_exit(void)
|
||||
{
|
||||
- acpi_bus_unregister_driver(&apple_bl_driver);
|
||||
+ apple_bl_unregister();
|
||||
}
|
||||
|
||||
module_init(apple_bl_init);
|
||||
diff --git a/include/linux/apple_bl.h b/include/linux/apple_bl.h
|
||||
new file mode 100644
|
||||
index 0000000..47bedc0
|
||||
--- /dev/null
|
||||
+++ b/include/linux/apple_bl.h
|
||||
@@ -0,0 +1,26 @@
|
||||
+/*
|
||||
+ * apple_bl exported symbols
|
||||
+ */
|
||||
+
|
||||
+#ifndef _LINUX_APPLE_BL_H
|
||||
+#define _LINUX_APPLE_BL_H
|
||||
+
|
||||
+#ifdef CONFIG_BACKLIGHT_APPLE
|
||||
+
|
||||
+extern int apple_bl_register(void);
|
||||
+extern void apple_bl_unregister(void);
|
||||
+
|
||||
+#else /* !CONFIG_BACKLIGHT_APPLE */
|
||||
+
|
||||
+static inline int apple_bl_register(void)
|
||||
+{
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static inline void apple_bl_unregister(void)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+#endif /* !CONFIG_BACKLIGHT_APPLE */
|
||||
+
|
||||
+#endif /* _LINUX_APPLE_BL_H */
|
||||
commit 89c093937dc8b07db4652251c83ec3710e5f15a2
|
||||
Author: Seth Forshee <seth.forshee@canonical.com>
|
||||
Date: Fri Mar 16 14:41:22 2012 -0500
|
||||
|
||||
platform/x86: Add driver for Apple gmux device
|
||||
|
||||
Apple laptops with hybrid graphics have a device named gmux that
|
||||
controls the muxing of the LVDS panel between the GPUs as well as screen
|
||||
brightness. This driver adds support for the gmux device. Only backlight
|
||||
control is supported initially.
|
||||
|
||||
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
|
||||
Signed-off-by: Matthew Garrett <mjg@redhat.com>
|
||||
Tested-by: Grant Likely <grant.likely@secretlab.ca>
|
||||
|
||||
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
|
||||
index ce10f03..c5b4bfe 100644
|
||||
--- a/drivers/platform/x86/Kconfig
|
||||
+++ b/drivers/platform/x86/Kconfig
|
||||
@@ -752,4 +752,14 @@ config SAMSUNG_Q10
|
||||
This driver provides support for backlight control on Samsung Q10
|
||||
and related laptops, including Dell Latitude X200.
|
||||
|
||||
+config APPLE_GMUX
|
||||
+ tristate "Apple Gmux Driver"
|
||||
+ depends on PNP
|
||||
+ select BACKLIGHT_CLASS_DEVICE
|
||||
+ ---help---
|
||||
+ This driver provides support for the gmux device found on many
|
||||
+ Apple laptops, which controls the display mux for the hybrid
|
||||
+ graphics as well as the backlight. Currently only backlight
|
||||
+ control is supported by the driver.
|
||||
+
|
||||
endif # X86_PLATFORM_DEVICES
|
||||
diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
|
||||
index dcfee6b..bf7e4f9 100644
|
||||
--- a/drivers/platform/x86/Makefile
|
||||
+++ b/drivers/platform/x86/Makefile
|
||||
@@ -49,3 +49,4 @@ obj-$(CONFIG_MXM_WMI) += mxm-wmi.o
|
||||
obj-$(CONFIG_INTEL_MID_POWER_BUTTON) += intel_mid_powerbtn.o
|
||||
obj-$(CONFIG_INTEL_OAKTRAIL) += intel_oaktrail.o
|
||||
obj-$(CONFIG_SAMSUNG_Q10) += samsung-q10.o
|
||||
+obj-$(CONFIG_APPLE_GMUX) += apple-gmux.o
|
||||
diff --git a/drivers/platform/x86/apple-gmux.c b/drivers/platform/x86/apple-gmux.c
|
||||
new file mode 100644
|
||||
index 0000000..c81e31f
|
||||
--- /dev/null
|
||||
+++ b/drivers/platform/x86/apple-gmux.c
|
||||
@@ -0,0 +1,242 @@
|
||||
+/*
|
||||
+ * Gmux driver for Apple laptops
|
||||
+ *
|
||||
+ * Copyright (C) Canonical Ltd. <seth.forshee@canonical.com>
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License version 2 as
|
||||
+ * published by the Free Software Foundation.
|
||||
+ */
|
||||
+
|
||||
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||
+
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/backlight.h>
|
||||
+#include <linux/acpi.h>
|
||||
+#include <linux/pnp.h>
|
||||
+#include <linux/apple_bl.h>
|
||||
+#include <acpi/video.h>
|
||||
+
|
||||
+struct apple_gmux_data {
|
||||
+ unsigned long iostart;
|
||||
+ unsigned long iolen;
|
||||
+
|
||||
+ struct backlight_device *bdev;
|
||||
+};
|
||||
+
|
||||
+/*
|
||||
+ * gmux port offsets. Many of these are not yet used, but may be in the
|
||||
+ * future, and it's useful to have them documented here anyhow.
|
||||
+ */
|
||||
+#define GMUX_PORT_VERSION_MAJOR 0x04
|
||||
+#define GMUX_PORT_VERSION_MINOR 0x05
|
||||
+#define GMUX_PORT_VERSION_RELEASE 0x06
|
||||
+#define GMUX_PORT_SWITCH_DISPLAY 0x10
|
||||
+#define GMUX_PORT_SWITCH_GET_DISPLAY 0x11
|
||||
+#define GMUX_PORT_INTERRUPT_ENABLE 0x14
|
||||
+#define GMUX_PORT_INTERRUPT_STATUS 0x16
|
||||
+#define GMUX_PORT_SWITCH_DDC 0x28
|
||||
+#define GMUX_PORT_SWITCH_EXTERNAL 0x40
|
||||
+#define GMUX_PORT_SWITCH_GET_EXTERNAL 0x41
|
||||
+#define GMUX_PORT_DISCRETE_POWER 0x50
|
||||
+#define GMUX_PORT_MAX_BRIGHTNESS 0x70
|
||||
+#define GMUX_PORT_BRIGHTNESS 0x74
|
||||
+
|
||||
+#define GMUX_MIN_IO_LEN (GMUX_PORT_BRIGHTNESS + 4)
|
||||
+
|
||||
+#define GMUX_INTERRUPT_ENABLE 0xff
|
||||
+#define GMUX_INTERRUPT_DISABLE 0x00
|
||||
+
|
||||
+#define GMUX_INTERRUPT_STATUS_ACTIVE 0
|
||||
+#define GMUX_INTERRUPT_STATUS_DISPLAY (1 << 0)
|
||||
+#define GMUX_INTERRUPT_STATUS_POWER (1 << 2)
|
||||
+#define GMUX_INTERRUPT_STATUS_HOTPLUG (1 << 3)
|
||||
+
|
||||
+#define GMUX_BRIGHTNESS_MASK 0x00ffffff
|
||||
+#define GMUX_MAX_BRIGHTNESS GMUX_BRIGHTNESS_MASK
|
||||
+
|
||||
+static inline u8 gmux_read8(struct apple_gmux_data *gmux_data, int port)
|
||||
+{
|
||||
+ return inb(gmux_data->iostart + port);
|
||||
+}
|
||||
+
|
||||
+static inline void gmux_write8(struct apple_gmux_data *gmux_data, int port,
|
||||
+ u8 val)
|
||||
+{
|
||||
+ outb(val, gmux_data->iostart + port);
|
||||
+}
|
||||
+
|
||||
+static inline u32 gmux_read32(struct apple_gmux_data *gmux_data, int port)
|
||||
+{
|
||||
+ return inl(gmux_data->iostart + port);
|
||||
+}
|
||||
+
|
||||
+static int gmux_get_brightness(struct backlight_device *bd)
|
||||
+{
|
||||
+ struct apple_gmux_data *gmux_data = bl_get_data(bd);
|
||||
+ return gmux_read32(gmux_data, GMUX_PORT_BRIGHTNESS) &
|
||||
+ GMUX_BRIGHTNESS_MASK;
|
||||
+}
|
||||
+
|
||||
+static int gmux_update_status(struct backlight_device *bd)
|
||||
+{
|
||||
+ struct apple_gmux_data *gmux_data = bl_get_data(bd);
|
||||
+ u32 brightness = bd->props.brightness;
|
||||
+
|
||||
+ /*
|
||||
+ * Older gmux versions require writing out lower bytes first then
|
||||
+ * setting the upper byte to 0 to flush the values. Newer versions
|
||||
+ * accept a single u32 write, but the old method also works, so we
|
||||
+ * just use the old method for all gmux versions.
|
||||
+ */
|
||||
+ gmux_write8(gmux_data, GMUX_PORT_BRIGHTNESS, brightness);
|
||||
+ gmux_write8(gmux_data, GMUX_PORT_BRIGHTNESS + 1, brightness >> 8);
|
||||
+ gmux_write8(gmux_data, GMUX_PORT_BRIGHTNESS + 2, brightness >> 16);
|
||||
+ gmux_write8(gmux_data, GMUX_PORT_BRIGHTNESS + 3, 0);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static const struct backlight_ops gmux_bl_ops = {
|
||||
+ .get_brightness = gmux_get_brightness,
|
||||
+ .update_status = gmux_update_status,
|
||||
+};
|
||||
+
|
||||
+static int __devinit gmux_probe(struct pnp_dev *pnp,
|
||||
+ const struct pnp_device_id *id)
|
||||
+{
|
||||
+ struct apple_gmux_data *gmux_data;
|
||||
+ struct resource *res;
|
||||
+ struct backlight_properties props;
|
||||
+ struct backlight_device *bdev;
|
||||
+ u8 ver_major, ver_minor, ver_release;
|
||||
+ int ret = -ENXIO;
|
||||
+
|
||||
+ gmux_data = kzalloc(sizeof(*gmux_data), GFP_KERNEL);
|
||||
+ if (!gmux_data)
|
||||
+ return -ENOMEM;
|
||||
+ pnp_set_drvdata(pnp, gmux_data);
|
||||
+
|
||||
+ res = pnp_get_resource(pnp, IORESOURCE_IO, 0);
|
||||
+ if (!res) {
|
||||
+ pr_err("Failed to find gmux I/O resource\n");
|
||||
+ goto err_free;
|
||||
+ }
|
||||
+
|
||||
+ gmux_data->iostart = res->start;
|
||||
+ gmux_data->iolen = res->end - res->start;
|
||||
+
|
||||
+ if (gmux_data->iolen < GMUX_MIN_IO_LEN) {
|
||||
+ pr_err("gmux I/O region too small (%lu < %u)\n",
|
||||
+ gmux_data->iolen, GMUX_MIN_IO_LEN);
|
||||
+ goto err_free;
|
||||
+ }
|
||||
+
|
||||
+ if (!request_region(gmux_data->iostart, gmux_data->iolen,
|
||||
+ "Apple gmux")) {
|
||||
+ pr_err("gmux I/O already in use\n");
|
||||
+ goto err_free;
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * On some machines the gmux is in ACPI even thought the machine
|
||||
+ * doesn't really have a gmux. Check for invalid version information
|
||||
+ * to detect this.
|
||||
+ */
|
||||
+ ver_major = gmux_read8(gmux_data, GMUX_PORT_VERSION_MAJOR);
|
||||
+ ver_minor = gmux_read8(gmux_data, GMUX_PORT_VERSION_MINOR);
|
||||
+ ver_release = gmux_read8(gmux_data, GMUX_PORT_VERSION_RELEASE);
|
||||
+ if (ver_major == 0xff && ver_minor == 0xff && ver_release == 0xff) {
|
||||
+ pr_info("gmux device not present\n");
|
||||
+ ret = -ENODEV;
|
||||
+ goto err_release;
|
||||
+ }
|
||||
+
|
||||
+ pr_info("Found gmux version %d.%d.%d\n", ver_major, ver_minor,
|
||||
+ ver_release);
|
||||
+
|
||||
+ memset(&props, 0, sizeof(props));
|
||||
+ props.type = BACKLIGHT_PLATFORM;
|
||||
+ props.max_brightness = gmux_read32(gmux_data, GMUX_PORT_MAX_BRIGHTNESS);
|
||||
+
|
||||
+ /*
|
||||
+ * Currently it's assumed that the maximum brightness is less than
|
||||
+ * 2^24 for compatibility with old gmux versions. Cap the max
|
||||
+ * brightness at this value, but print a warning if the hardware
|
||||
+ * reports something higher so that it can be fixed.
|
||||
+ */
|
||||
+ if (WARN_ON(props.max_brightness > GMUX_MAX_BRIGHTNESS))
|
||||
+ props.max_brightness = GMUX_MAX_BRIGHTNESS;
|
||||
+
|
||||
+ bdev = backlight_device_register("gmux_backlight", &pnp->dev,
|
||||
+ gmux_data, &gmux_bl_ops, &props);
|
||||
+ if (IS_ERR(bdev)) {
|
||||
+ ret = PTR_ERR(bdev);
|
||||
+ goto err_release;
|
||||
+ }
|
||||
+
|
||||
+ gmux_data->bdev = bdev;
|
||||
+ bdev->props.brightness = gmux_get_brightness(bdev);
|
||||
+ backlight_update_status(bdev);
|
||||
+
|
||||
+ /*
|
||||
+ * The backlight situation on Macs is complicated. If the gmux is
|
||||
+ * present it's the best choice, because it always works for
|
||||
+ * backlight control and supports more levels than other options.
|
||||
+ * Disable the other backlight choices.
|
||||
+ */
|
||||
+ acpi_video_unregister();
|
||||
+ apple_bl_unregister();
|
||||
+
|
||||
+ return 0;
|
||||
+
|
||||
+err_release:
|
||||
+ release_region(gmux_data->iostart, gmux_data->iolen);
|
||||
+err_free:
|
||||
+ kfree(gmux_data);
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+static void __devexit gmux_remove(struct pnp_dev *pnp)
|
||||
+{
|
||||
+ struct apple_gmux_data *gmux_data = pnp_get_drvdata(pnp);
|
||||
+
|
||||
+ backlight_device_unregister(gmux_data->bdev);
|
||||
+ release_region(gmux_data->iostart, gmux_data->iolen);
|
||||
+ kfree(gmux_data);
|
||||
+
|
||||
+ acpi_video_register();
|
||||
+ apple_bl_register();
|
||||
+}
|
||||
+
|
||||
+static const struct pnp_device_id gmux_device_ids[] = {
|
||||
+ {"APP000B", 0},
|
||||
+ {"", 0}
|
||||
+};
|
||||
+
|
||||
+static struct pnp_driver gmux_pnp_driver = {
|
||||
+ .name = "apple-gmux",
|
||||
+ .probe = gmux_probe,
|
||||
+ .remove = __devexit_p(gmux_remove),
|
||||
+ .id_table = gmux_device_ids,
|
||||
+};
|
||||
+
|
||||
+static int __init apple_gmux_init(void)
|
||||
+{
|
||||
+ return pnp_register_driver(&gmux_pnp_driver);
|
||||
+}
|
||||
+
|
||||
+static void __exit apple_gmux_exit(void)
|
||||
+{
|
||||
+ pnp_unregister_driver(&gmux_pnp_driver);
|
||||
+}
|
||||
+
|
||||
+module_init(apple_gmux_init);
|
||||
+module_exit(apple_gmux_exit);
|
||||
+
|
||||
+MODULE_AUTHOR("Seth Forshee <seth.forshee@canonical.com>");
|
||||
+MODULE_DESCRIPTION("Apple Gmux Driver");
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_DEVICE_TABLE(pnp, gmux_device_ids);
|
|
@ -0,0 +1,10 @@
|
|||
--- linux-3.7.0-0.rc2.git1.2.fc19.x86_64/arch/arm/kernel/armksyms.c.orig 2012-10-01 00:47:46.000000000 +0100
|
||||
+++ linux-3.7.0-0.rc2.git1.2.fc19.x86_64/arch/arm/kernel/armksyms.c 2012-10-24 09:06:46.570452677 +0100
|
||||
@@ -50,6 +50,7 @@
|
||||
|
||||
/* platform dependent support */
|
||||
EXPORT_SYMBOL(arm_delay_ops);
|
||||
+EXPORT_SYMBOL(read_current_timer);
|
||||
|
||||
/* networking */
|
||||
EXPORT_SYMBOL(csum_partial);
|
|
@ -0,0 +1,190 @@
|
|||
From 54a419668b0f27b7982807fb2376d237e0a0ce05 Mon Sep 17 00:00:00 2001
|
||||
From: Alan Stern <stern@rowland.harvard.edu>
|
||||
Date: Tue, 12 Mar 2013 10:44:39 +0000
|
||||
Subject: USB: EHCI: split ehci-omap out to a separate driver
|
||||
|
||||
This patch (as1645) converts ehci-omap over to the new "ehci-hcd is a
|
||||
library" approach, so that it can coexist peacefully with other EHCI
|
||||
platform drivers and can make use of the private area allocated at
|
||||
the end of struct ehci_hcd.
|
||||
|
||||
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
---
|
||||
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
|
||||
index c59a112..62f4e9a 100644
|
||||
--- a/drivers/usb/host/Kconfig
|
||||
+++ b/drivers/usb/host/Kconfig
|
||||
@@ -155,7 +155,7 @@ config USB_EHCI_MXC
|
||||
Variation of ARC USB block used in some Freescale chips.
|
||||
|
||||
config USB_EHCI_HCD_OMAP
|
||||
- bool "EHCI support for OMAP3 and later chips"
|
||||
+ tristate "EHCI support for OMAP3 and later chips"
|
||||
depends on USB_EHCI_HCD && ARCH_OMAP
|
||||
default y
|
||||
---help---
|
||||
diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile
|
||||
index 001fbff..56de410 100644
|
||||
--- a/drivers/usb/host/Makefile
|
||||
+++ b/drivers/usb/host/Makefile
|
||||
@@ -27,6 +27,7 @@ obj-$(CONFIG_USB_EHCI_HCD) += ehci-hcd.o
|
||||
obj-$(CONFIG_USB_EHCI_PCI) += ehci-pci.o
|
||||
obj-$(CONFIG_USB_EHCI_HCD_PLATFORM) += ehci-platform.o
|
||||
obj-$(CONFIG_USB_EHCI_MXC) += ehci-mxc.o
|
||||
+obj-$(CONFIG_USB_EHCI_HCD_OMAP) += ehci-omap.o
|
||||
|
||||
obj-$(CONFIG_USB_OXU210HP_HCD) += oxu210hp-hcd.o
|
||||
obj-$(CONFIG_USB_ISP116X_HCD) += isp116x-hcd.o
|
||||
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
|
||||
index b416a3f..303b022 100644
|
||||
--- a/drivers/usb/host/ehci-hcd.c
|
||||
+++ b/drivers/usb/host/ehci-hcd.c
|
||||
@@ -1252,11 +1252,6 @@ MODULE_LICENSE ("GPL");
|
||||
#define PLATFORM_DRIVER ehci_hcd_sh_driver
|
||||
#endif
|
||||
|
||||
-#ifdef CONFIG_USB_EHCI_HCD_OMAP
|
||||
-#include "ehci-omap.c"
|
||||
-#define PLATFORM_DRIVER ehci_hcd_omap_driver
|
||||
-#endif
|
||||
-
|
||||
#ifdef CONFIG_PPC_PS3
|
||||
#include "ehci-ps3.c"
|
||||
#define PS3_SYSTEM_BUS_DRIVER ps3_ehci_driver
|
||||
@@ -1346,6 +1341,7 @@ MODULE_LICENSE ("GPL");
|
||||
!IS_ENABLED(CONFIG_USB_EHCI_HCD_PLATFORM) && \
|
||||
!IS_ENABLED(CONFIG_USB_CHIPIDEA_HOST) && \
|
||||
!IS_ENABLED(CONFIG_USB_EHCI_MXC) && \
|
||||
+ !IS_ENABLED(CONFIG_USB_EHCI_HCD_OMAP) && \
|
||||
!defined(PLATFORM_DRIVER) && \
|
||||
!defined(PS3_SYSTEM_BUS_DRIVER) && \
|
||||
!defined(OF_PLATFORM_DRIVER) && \
|
||||
diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
|
||||
index 0555ee4..fa66757 100644
|
||||
--- a/drivers/usb/host/ehci-omap.c
|
||||
+++ b/drivers/usb/host/ehci-omap.c
|
||||
@@ -36,6 +36,9 @@
|
||||
* - convert to use hwmod and runtime PM
|
||||
*/
|
||||
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/io.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/usb/ulpi.h>
|
||||
@@ -43,6 +46,10 @@
|
||||
#include <linux/pm_runtime.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/clk.h>
|
||||
+#include <linux/usb.h>
|
||||
+#include <linux/usb/hcd.h>
|
||||
+
|
||||
+#include "ehci.h"
|
||||
|
||||
#include <linux/platform_data/usb-omap.h>
|
||||
|
||||
@@ -57,9 +64,11 @@
|
||||
#define EHCI_INSNREG05_ULPI_EXTREGADD_SHIFT 8
|
||||
#define EHCI_INSNREG05_ULPI_WRDATA_SHIFT 0
|
||||
|
||||
-/*-------------------------------------------------------------------------*/
|
||||
+#define DRIVER_DESC "OMAP-EHCI Host Controller driver"
|
||||
|
||||
-static const struct hc_driver ehci_omap_hc_driver;
|
||||
+static const char hcd_name[] = "ehci-omap";
|
||||
+
|
||||
+/*-------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
static inline void ehci_write(void __iomem *base, u32 reg, u32 val)
|
||||
@@ -166,6 +175,12 @@ static void disable_put_regulator(
|
||||
/* configure so an HC device and id are always provided */
|
||||
/* always called with process context; sleeping is OK */
|
||||
|
||||
+static struct hc_driver __read_mostly ehci_omap_hc_driver;
|
||||
+
|
||||
+static const struct ehci_driver_overrides ehci_omap_overrides __initdata = {
|
||||
+ .reset = omap_ehci_init,
|
||||
+};
|
||||
+
|
||||
/**
|
||||
* ehci_hcd_omap_probe - initialize TI-based HCDs
|
||||
*
|
||||
@@ -315,56 +330,33 @@ static struct platform_driver ehci_hcd_omap_driver = {
|
||||
/*.suspend = ehci_hcd_omap_suspend, */
|
||||
/*.resume = ehci_hcd_omap_resume, */
|
||||
.driver = {
|
||||
- .name = "ehci-omap",
|
||||
+ .name = hcd_name,
|
||||
}
|
||||
};
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
-static const struct hc_driver ehci_omap_hc_driver = {
|
||||
- .description = hcd_name,
|
||||
- .product_desc = "OMAP-EHCI Host Controller",
|
||||
- .hcd_priv_size = sizeof(struct ehci_hcd),
|
||||
-
|
||||
- /*
|
||||
- * generic hardware linkage
|
||||
- */
|
||||
- .irq = ehci_irq,
|
||||
- .flags = HCD_MEMORY | HCD_USB2,
|
||||
-
|
||||
- /*
|
||||
- * basic lifecycle operations
|
||||
- */
|
||||
- .reset = omap_ehci_init,
|
||||
- .start = ehci_run,
|
||||
- .stop = ehci_stop,
|
||||
- .shutdown = ehci_shutdown,
|
||||
-
|
||||
- /*
|
||||
- * managing i/o requests and associated device resources
|
||||
- */
|
||||
- .urb_enqueue = ehci_urb_enqueue,
|
||||
- .urb_dequeue = ehci_urb_dequeue,
|
||||
- .endpoint_disable = ehci_endpoint_disable,
|
||||
- .endpoint_reset = ehci_endpoint_reset,
|
||||
+static int __init ehci_omap_init(void)
|
||||
+{
|
||||
+ if (usb_disabled())
|
||||
+ return -ENODEV;
|
||||
|
||||
- /*
|
||||
- * scheduling support
|
||||
- */
|
||||
- .get_frame_number = ehci_get_frame,
|
||||
+ pr_info("%s: " DRIVER_DESC "\n", hcd_name);
|
||||
|
||||
- /*
|
||||
- * root hub support
|
||||
- */
|
||||
- .hub_status_data = ehci_hub_status_data,
|
||||
- .hub_control = ehci_hub_control,
|
||||
- .bus_suspend = ehci_bus_suspend,
|
||||
- .bus_resume = ehci_bus_resume,
|
||||
+ ehci_init_driver(&ehci_omap_hc_driver, &ehci_omap_overrides);
|
||||
+ return platform_driver_register(&ehci_hcd_omap_driver);
|
||||
+}
|
||||
+module_init(ehci_omap_init);
|
||||
|
||||
- .clear_tt_buffer_complete = ehci_clear_tt_buffer_complete,
|
||||
-};
|
||||
+static void __exit ehci_omap_cleanup(void)
|
||||
+{
|
||||
+ platform_driver_unregister(&ehci_hcd_omap_driver);
|
||||
+}
|
||||
+module_exit(ehci_omap_cleanup);
|
||||
|
||||
MODULE_ALIAS("platform:ehci-omap");
|
||||
MODULE_AUTHOR("Texas Instruments, Inc.");
|
||||
MODULE_AUTHOR("Felipe Balbi <felipe.balbi@nokia.com>");
|
||||
|
||||
+MODULE_DESCRIPTION(DRIVER_DESC);
|
||||
+MODULE_LICENSE("GPL");
|
||||
--
|
||||
cgit v0.9.1
|
|
@ -0,0 +1,28 @@
|
|||
diff --git a/drivers/clk/tegra/clk-periph.c b/drivers/clk/tegra/clk-periph.c
|
||||
index 788486e..2f4d0e3 100644
|
||||
--- a/drivers/clk/tegra/clk-periph.c
|
||||
+++ b/drivers/clk/tegra/clk-periph.c
|
||||
@@ -18,6 +18,7 @@
|
||||
#include <linux/clk-provider.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/err.h>
|
||||
+#include <linux/export.h>
|
||||
|
||||
#include "clk.h"
|
||||
|
||||
@@ -128,6 +129,7 @@ void tegra_periph_reset_deassert(struct clk *c)
|
||||
|
||||
tegra_periph_reset(gate, 0);
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(tegra_periph_reset_deassert);
|
||||
|
||||
void tegra_periph_reset_assert(struct clk *c)
|
||||
{
|
||||
@@ -147,6 +149,7 @@ void tegra_periph_reset_assert(struct clk *c)
|
||||
|
||||
tegra_periph_reset(gate, 1);
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(tegra_periph_reset_assert);
|
||||
|
||||
const struct clk_ops tegra_clk_periph_ops = {
|
||||
.get_parent = clk_periph_get_parent,
|
|
@ -0,0 +1,16 @@
|
|||
--- linux-3.3.4-3.fc17.x86_64_orig/drivers/usb/core/hub.c 2012-05-02 20:08:18.421685932 -0400
|
||||
+++ linux-3.3.4-3.fc17.x86_64/drivers/usb/core/hub.c 2012-05-02 20:30:36.565865425 -0400
|
||||
@@ -3484,6 +3484,13 @@ static void hub_events(void)
|
||||
(u16) hub->change_bits[0],
|
||||
(u16) hub->event_bits[0]);
|
||||
|
||||
+ /* Don't disconnect USB-SATA on TrimSlice */
|
||||
+ if (strcmp(dev_name(hdev->bus->controller), "tegra-ehci.0") == 0) {
|
||||
+ if ((hdev->state == 7) && (hub->change_bits[0] == 0) &&
|
||||
+ (hub->event_bits[0] == 0x2))
|
||||
+ hub->event_bits[0] = 0;
|
||||
+ }
|
||||
+
|
||||
/* Lock the device, then check to see if we were
|
||||
* disconnected while waiting for the lock to succeed. */
|
||||
usb_lock_device(hdev);
|
|
@ -0,0 +1,72 @@
|
|||
Memory allocated by vmalloc (including stack) can not be used for DMA,
|
||||
i.e. data pointer on usb_control_msg() should not point to stack memory.
|
||||
|
||||
Resolves:
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=977558
|
||||
|
||||
Reported-and-tested-by: Andy Lawrence <dr.diesel@gmail.com>
|
||||
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
|
||||
---
|
||||
drivers/bluetooth/ath3k.c | 38 +++++++++++++++++++++++++++++---------
|
||||
1 file changed, 29 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/drivers/bluetooth/ath3k.c b/drivers/bluetooth/ath3k.c
|
||||
index 11f467c..81b636c 100644
|
||||
--- a/drivers/bluetooth/ath3k.c
|
||||
+++ b/drivers/bluetooth/ath3k.c
|
||||
@@ -193,24 +193,44 @@ error:
|
||||
|
||||
static int ath3k_get_state(struct usb_device *udev, unsigned char *state)
|
||||
{
|
||||
- int pipe = 0;
|
||||
+ int ret, pipe = 0;
|
||||
+ char *buf;
|
||||
+
|
||||
+ buf = kmalloc(1, GFP_KERNEL);
|
||||
+ if (!buf)
|
||||
+ return -ENOMEM;
|
||||
|
||||
pipe = usb_rcvctrlpipe(udev, 0);
|
||||
- return usb_control_msg(udev, pipe, ATH3K_GETSTATE,
|
||||
- USB_TYPE_VENDOR | USB_DIR_IN, 0, 0,
|
||||
- state, 0x01, USB_CTRL_SET_TIMEOUT);
|
||||
+ ret = usb_control_msg(udev, pipe, ATH3K_GETSTATE,
|
||||
+ USB_TYPE_VENDOR | USB_DIR_IN, 0, 0,
|
||||
+ buf, 1, USB_CTRL_SET_TIMEOUT);
|
||||
+
|
||||
+ *state = *buf;
|
||||
+ kfree(buf);
|
||||
+
|
||||
+ return ret;
|
||||
}
|
||||
|
||||
static int ath3k_get_version(struct usb_device *udev,
|
||||
struct ath3k_version *version)
|
||||
{
|
||||
- int pipe = 0;
|
||||
+ int ret, pipe = 0;
|
||||
+ char *buf;
|
||||
+ const int size = sizeof(struct ath3k_version);
|
||||
+
|
||||
+ buf = kmalloc(size, GFP_KERNEL);
|
||||
+ if (!buf)
|
||||
+ return -ENOMEM;
|
||||
|
||||
pipe = usb_rcvctrlpipe(udev, 0);
|
||||
- return usb_control_msg(udev, pipe, ATH3K_GETVERSION,
|
||||
- USB_TYPE_VENDOR | USB_DIR_IN, 0, 0, version,
|
||||
- sizeof(struct ath3k_version),
|
||||
- USB_CTRL_SET_TIMEOUT);
|
||||
+ ret = usb_control_msg(udev, pipe, ATH3K_GETVERSION,
|
||||
+ USB_TYPE_VENDOR | USB_DIR_IN, 0, 0,
|
||||
+ buf, size, USB_CTRL_SET_TIMEOUT);
|
||||
+
|
||||
+ memcpy(version, buf, size);
|
||||
+ kfree(buf);
|
||||
+
|
||||
+ return ret;
|
||||
}
|
||||
|
||||
static int ath3k_load_fwfile(struct usb_device *udev,
|
||||
--
|
||||
1.7.11.7
|
|
@ -0,0 +1,28 @@
|
|||
--- a/drivers/net/wireless/ath/ath9k/mac.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/mac.c
|
||||
@@ -689,7 +689,7 @@ bool ath9k_hw_stopdmarecv(struct ath_hw
|
||||
{
|
||||
#define AH_RX_STOP_DMA_TIMEOUT 10000 /* usec */
|
||||
struct ath_common *common = ath9k_hw_common(ah);
|
||||
- u32 mac_status, last_mac_status = 0;
|
||||
+ u32 mac_status = 0, last_mac_status = 0;
|
||||
int i;
|
||||
|
||||
/* Enable access to the DMA observation bus */
|
||||
@@ -719,6 +719,16 @@ bool ath9k_hw_stopdmarecv(struct ath_hw
|
||||
}
|
||||
|
||||
if (i == 0) {
|
||||
+ if (!AR_SREV_9300_20_OR_LATER(ah) &&
|
||||
+ (mac_status & 0x700) == 0) {
|
||||
+ /*
|
||||
+ * DMA is idle but the MAC is still stuck
|
||||
+ * processing events
|
||||
+ */
|
||||
+ *reset = true;
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
ath_err(common,
|
||||
"DMA failed to stop in %d ms AR_CR=0x%08x AR_DIAG_SW=0x%08x DMADBG_7=0x%08x\n",
|
||||
AH_RX_STOP_DMA_TIMEOUT / 1000,
|
|
@ -0,0 +1,159 @@
|
|||
From 9f00b2e7cf241fa389733d41b615efdaa2cb0f5b Mon Sep 17 00:00:00 2001
|
||||
From: Cong Wang <amwang@redhat.com>
|
||||
Date: Tue, 21 May 2013 21:52:55 +0000
|
||||
Subject: bridge: only expire the mdb entry when query is received
|
||||
|
||||
Currently we arm the expire timer when the mdb entry is added,
|
||||
however, this causes problem when there is no querier sent
|
||||
out after that.
|
||||
|
||||
So we should only arm the timer when a corresponding query is
|
||||
received, as suggested by Herbert.
|
||||
|
||||
And he also mentioned "if there is no querier then group
|
||||
subscriptions shouldn't expire. There has to be at least one querier
|
||||
in the network for this thing to work. Otherwise it just degenerates
|
||||
into a non-snooping switch, which is OK."
|
||||
|
||||
Cc: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
Cc: Stephen Hemminger <stephen@networkplumber.org>
|
||||
Cc: "David S. Miller" <davem@davemloft.net>
|
||||
Cc: Adam Baker <linux@baker-net.org.uk>
|
||||
Signed-off-by: Cong Wang <amwang@redhat.com>
|
||||
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
(limited to 'net/bridge')
|
||||
|
||||
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
|
||||
index 2475147..40bda80 100644
|
||||
--- a/net/bridge/br_multicast.c
|
||||
+++ b/net/bridge/br_multicast.c
|
||||
@@ -617,8 +617,6 @@ rehash:
|
||||
|
||||
mp->br = br;
|
||||
mp->addr = *group;
|
||||
- setup_timer(&mp->timer, br_multicast_group_expired,
|
||||
- (unsigned long)mp);
|
||||
|
||||
hlist_add_head_rcu(&mp->hlist[mdb->ver], &mdb->mhash[hash]);
|
||||
mdb->size++;
|
||||
@@ -656,7 +654,6 @@ static int br_multicast_add_group(struct net_bridge *br,
|
||||
struct net_bridge_mdb_entry *mp;
|
||||
struct net_bridge_port_group *p;
|
||||
struct net_bridge_port_group __rcu **pp;
|
||||
- unsigned long now = jiffies;
|
||||
int err;
|
||||
|
||||
spin_lock(&br->multicast_lock);
|
||||
@@ -671,7 +668,6 @@ static int br_multicast_add_group(struct net_bridge *br,
|
||||
|
||||
if (!port) {
|
||||
mp->mglist = true;
|
||||
- mod_timer(&mp->timer, now + br->multicast_membership_interval);
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -679,7 +675,7 @@ static int br_multicast_add_group(struct net_bridge *br,
|
||||
(p = mlock_dereference(*pp, br)) != NULL;
|
||||
pp = &p->next) {
|
||||
if (p->port == port)
|
||||
- goto found;
|
||||
+ goto out;
|
||||
if ((unsigned long)p->port < (unsigned long)port)
|
||||
break;
|
||||
}
|
||||
@@ -690,8 +686,6 @@ static int br_multicast_add_group(struct net_bridge *br,
|
||||
rcu_assign_pointer(*pp, p);
|
||||
br_mdb_notify(br->dev, port, group, RTM_NEWMDB);
|
||||
|
||||
-found:
|
||||
- mod_timer(&p->timer, now + br->multicast_membership_interval);
|
||||
out:
|
||||
err = 0;
|
||||
|
||||
@@ -1131,6 +1125,10 @@ static int br_ip4_multicast_query(struct net_bridge *br,
|
||||
if (!mp)
|
||||
goto out;
|
||||
|
||||
+ setup_timer(&mp->timer, br_multicast_group_expired, (unsigned long)mp);
|
||||
+ mod_timer(&mp->timer, now + br->multicast_membership_interval);
|
||||
+ mp->timer_armed = true;
|
||||
+
|
||||
max_delay *= br->multicast_last_member_count;
|
||||
|
||||
if (mp->mglist &&
|
||||
@@ -1205,6 +1203,10 @@ static int br_ip6_multicast_query(struct net_bridge *br,
|
||||
if (!mp)
|
||||
goto out;
|
||||
|
||||
+ setup_timer(&mp->timer, br_multicast_group_expired, (unsigned long)mp);
|
||||
+ mod_timer(&mp->timer, now + br->multicast_membership_interval);
|
||||
+ mp->timer_armed = true;
|
||||
+
|
||||
max_delay *= br->multicast_last_member_count;
|
||||
if (mp->mglist &&
|
||||
(timer_pending(&mp->timer) ?
|
||||
@@ -1263,7 +1265,7 @@ static void br_multicast_leave_group(struct net_bridge *br,
|
||||
call_rcu_bh(&p->rcu, br_multicast_free_pg);
|
||||
br_mdb_notify(br->dev, port, group, RTM_DELMDB);
|
||||
|
||||
- if (!mp->ports && !mp->mglist &&
|
||||
+ if (!mp->ports && !mp->mglist && mp->timer_armed &&
|
||||
netif_running(br->dev))
|
||||
mod_timer(&mp->timer, jiffies);
|
||||
}
|
||||
@@ -1275,30 +1277,12 @@ static void br_multicast_leave_group(struct net_bridge *br,
|
||||
br->multicast_last_member_interval;
|
||||
|
||||
if (!port) {
|
||||
- if (mp->mglist &&
|
||||
+ if (mp->mglist && mp->timer_armed &&
|
||||
(timer_pending(&mp->timer) ?
|
||||
time_after(mp->timer.expires, time) :
|
||||
try_to_del_timer_sync(&mp->timer) >= 0)) {
|
||||
mod_timer(&mp->timer, time);
|
||||
}
|
||||
-
|
||||
- goto out;
|
||||
- }
|
||||
-
|
||||
- for (p = mlock_dereference(mp->ports, br);
|
||||
- p != NULL;
|
||||
- p = mlock_dereference(p->next, br)) {
|
||||
- if (p->port != port)
|
||||
- continue;
|
||||
-
|
||||
- if (!hlist_unhashed(&p->mglist) &&
|
||||
- (timer_pending(&p->timer) ?
|
||||
- time_after(p->timer.expires, time) :
|
||||
- try_to_del_timer_sync(&p->timer) >= 0)) {
|
||||
- mod_timer(&p->timer, time);
|
||||
- }
|
||||
-
|
||||
- break;
|
||||
}
|
||||
|
||||
out:
|
||||
@@ -1674,6 +1658,7 @@ void br_multicast_stop(struct net_bridge *br)
|
||||
hlist_for_each_entry_safe(mp, n, &mdb->mhash[i],
|
||||
hlist[ver]) {
|
||||
del_timer(&mp->timer);
|
||||
+ mp->timer_armed = false;
|
||||
call_rcu_bh(&mp->rcu, br_multicast_free_group);
|
||||
}
|
||||
}
|
||||
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
|
||||
index e260710..1b0ac95 100644
|
||||
--- a/net/bridge/br_private.h
|
||||
+++ b/net/bridge/br_private.h
|
||||
@@ -112,6 +112,7 @@ struct net_bridge_mdb_entry
|
||||
struct timer_list timer;
|
||||
struct br_ip addr;
|
||||
bool mglist;
|
||||
+ bool timer_armed;
|
||||
};
|
||||
|
||||
struct net_bridge_mdb_htable
|
||||
--
|
||||
cgit v0.9.2
|
|
@ -0,0 +1,57 @@
|
|||
From 6b7df111ece130fa979a0c4f58e53674c1e47d3e Mon Sep 17 00:00:00 2001
|
||||
From: Cong Wang <amwang@redhat.com>
|
||||
Date: Tue, 21 May 2013 21:52:56 +0000
|
||||
Subject: bridge: send query as soon as leave is received
|
||||
|
||||
Continue sending queries when leave is received if the user marks
|
||||
it as a querier.
|
||||
|
||||
Cc: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
Cc: Stephen Hemminger <stephen@networkplumber.org>
|
||||
Cc: "David S. Miller" <davem@davemloft.net>
|
||||
Cc: Adam Baker <linux@baker-net.org.uk>
|
||||
Signed-off-by: Cong Wang <amwang@redhat.com>
|
||||
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
(limited to 'net/bridge')
|
||||
|
||||
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
|
||||
index 40bda80..37a4676 100644
|
||||
--- a/net/bridge/br_multicast.c
|
||||
+++ b/net/bridge/br_multicast.c
|
||||
@@ -1250,6 +1250,32 @@ static void br_multicast_leave_group(struct net_bridge *br,
|
||||
if (!mp)
|
||||
goto out;
|
||||
|
||||
+ if (br->multicast_querier &&
|
||||
+ !timer_pending(&br->multicast_querier_timer)) {
|
||||
+ __br_multicast_send_query(br, port, &mp->addr);
|
||||
+
|
||||
+ time = jiffies + br->multicast_last_member_count *
|
||||
+ br->multicast_last_member_interval;
|
||||
+ mod_timer(port ? &port->multicast_query_timer :
|
||||
+ &br->multicast_query_timer, time);
|
||||
+
|
||||
+ for (p = mlock_dereference(mp->ports, br);
|
||||
+ p != NULL;
|
||||
+ p = mlock_dereference(p->next, br)) {
|
||||
+ if (p->port != port)
|
||||
+ continue;
|
||||
+
|
||||
+ if (!hlist_unhashed(&p->mglist) &&
|
||||
+ (timer_pending(&p->timer) ?
|
||||
+ time_after(p->timer.expires, time) :
|
||||
+ try_to_del_timer_sync(&p->timer) >= 0)) {
|
||||
+ mod_timer(&p->timer, time);
|
||||
+ }
|
||||
+
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
if (port && (port->flags & BR_MULTICAST_FAST_LEAVE)) {
|
||||
struct net_bridge_port_group __rcu **pp;
|
||||
|
||||
--
|
||||
cgit v0.9.2
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
|
||||
index d6448e3..aadb596 100644
|
||||
--- a/net/bridge/br_multicast.c
|
||||
+++ b/net/bridge/br_multicast.c
|
||||
@@ -269,7 +269,7 @@ static void br_multicast_del_pg(struct net_bridge *br,
|
||||
del_timer(&p->timer);
|
||||
call_rcu_bh(&p->rcu, br_multicast_free_pg);
|
||||
|
||||
- if (!mp->ports && !mp->mglist &&
|
||||
+ if (!mp->ports && !mp->mglist && mp->timer_armed &&
|
||||
netif_running(br->dev))
|
||||
mod_timer(&mp->timer, jiffies);
|
||||
|
149
check-kabi
149
check-kabi
|
@ -1,149 +0,0 @@
|
|||
#!/usr/bin/python3
|
||||
#
|
||||
# check-kabi - Red Hat kABI reference checking tool
|
||||
#
|
||||
# We use this script to check against reference Module.kabi files.
|
||||
#
|
||||
# Author: Jon Masters <jcm@redhat.com>
|
||||
# Copyright (C) 2007-2009 Red Hat, Inc.
|
||||
#
|
||||
# This software may be freely redistributed under the terms of the GNU
|
||||
# General Public License (GPL).
|
||||
|
||||
# Changelog:
|
||||
#
|
||||
# 2018/06/01 - Update for python3 by Petr Oros.
|
||||
# 2009/08/15 - Updated for use in RHEL6.
|
||||
# 2007/06/13 - Initial rewrite in python by Jon Masters.
|
||||
|
||||
__author__ = "Jon Masters <jcm@redhat.com>"
|
||||
__version__ = "2.0"
|
||||
__date__ = "2009/08/15"
|
||||
__copyright__ = "Copyright (C) 2007-2009 Red Hat, Inc"
|
||||
__license__ = "GPL"
|
||||
|
||||
import getopt
|
||||
import string
|
||||
import sys
|
||||
|
||||
true = 1
|
||||
false = 0
|
||||
|
||||
|
||||
def load_symvers(symvers, filename):
|
||||
"""Load a Module.symvers file."""
|
||||
|
||||
symvers_file = open(filename, "r")
|
||||
|
||||
while true:
|
||||
in_line = symvers_file.readline()
|
||||
if in_line == "":
|
||||
break
|
||||
if in_line == "\n":
|
||||
continue
|
||||
checksum, symbol, directory, type = in_line.split()
|
||||
|
||||
symvers[symbol] = in_line[0:-1]
|
||||
|
||||
|
||||
def load_kabi(kabi, filename):
|
||||
"""Load a Module.kabi file."""
|
||||
|
||||
kabi_file = open(filename, "r")
|
||||
|
||||
while true:
|
||||
in_line = kabi_file.readline()
|
||||
if in_line == "":
|
||||
break
|
||||
if in_line == "\n":
|
||||
continue
|
||||
checksum, symbol, directory, type = in_line.split()
|
||||
|
||||
kabi[symbol] = in_line[0:-1]
|
||||
|
||||
|
||||
def check_kabi(symvers, kabi):
|
||||
"""Check Module.kabi and Module.symvers files."""
|
||||
|
||||
fail = 0
|
||||
warn = 0
|
||||
changed_symbols = []
|
||||
moved_symbols = []
|
||||
|
||||
for symbol in kabi:
|
||||
abi_hash, abi_sym, abi_dir, abi_type = kabi[symbol].split()
|
||||
if symbol in symvers:
|
||||
sym_hash, sym_sym, sym_dir, sym_type = symvers[symbol].split()
|
||||
if abi_hash != sym_hash:
|
||||
fail = 1
|
||||
changed_symbols.append(symbol)
|
||||
|
||||
if abi_dir != sym_dir:
|
||||
warn = 1
|
||||
moved_symbols.append(symbol)
|
||||
else:
|
||||
fail = 1
|
||||
changed_symbols.append(symbol)
|
||||
|
||||
if fail:
|
||||
print("*** ERROR - ABI BREAKAGE WAS DETECTED ***")
|
||||
print("")
|
||||
print("The following symbols have been changed (this will cause an ABI breakage):")
|
||||
print("")
|
||||
for symbol in changed_symbols:
|
||||
print(symbol)
|
||||
print("")
|
||||
|
||||
if warn:
|
||||
print("*** WARNING - ABI SYMBOLS MOVED ***")
|
||||
print("")
|
||||
print("The following symbols moved (typically caused by moving a symbol from being")
|
||||
print("provided by the kernel vmlinux out to a loadable module):")
|
||||
print("")
|
||||
for symbol in moved_symbols:
|
||||
print(symbol)
|
||||
print("")
|
||||
|
||||
"""Halt the build, if we got errors and/or warnings. In either case,
|
||||
double-checkig is required to avoid introducing / concealing
|
||||
KABI inconsistencies."""
|
||||
if fail or warn:
|
||||
sys.exit(1)
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
def usage():
|
||||
print("""
|
||||
check-kabi: check Module.kabi and Module.symvers files.
|
||||
|
||||
check-kabi [ -k Module.kabi ] [ -s Module.symvers ]
|
||||
|
||||
""")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
symvers_file = ""
|
||||
kabi_file = ""
|
||||
|
||||
opts, args = getopt.getopt(sys.argv[1:], 'hk:s:')
|
||||
|
||||
for o, v in opts:
|
||||
if o == "-s":
|
||||
symvers_file = v
|
||||
if o == "-h":
|
||||
usage()
|
||||
sys.exit(0)
|
||||
if o == "-k":
|
||||
kabi_file = v
|
||||
|
||||
if (symvers_file == "") or (kabi_file == ""):
|
||||
usage()
|
||||
sys.exit(1)
|
||||
|
||||
symvers = {}
|
||||
kabi = {}
|
||||
|
||||
load_symvers(symvers, symvers_file)
|
||||
load_kabi(kabi, kabi_file)
|
||||
check_kabi(symvers, kabi)
|
|
@ -0,0 +1,6 @@
|
|||
#
|
||||
# Small compile fixes (For more involved fixes, please use a separate patch).
|
||||
#
|
||||
# Please add the errors from gcc before the diffs to save others having
|
||||
# to do a compile to figure out what your diff is fixing. Thanks.
|
||||
#
|
|
@ -0,0 +1,507 @@
|
|||
# Generic ARM config. This is common config options that should be
|
||||
# enabled on all ARM kernels and hence should be added here
|
||||
#
|
||||
# FIXME - we need to add debug/nodebug generic build options
|
||||
# CONFIG_DEBUG_PER_CPU_MAPS is not set
|
||||
|
||||
# Generic ARM processor options
|
||||
CONFIG_ARM=y
|
||||
|
||||
CONFIG_ARM_THUMB=y
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_VFP=y
|
||||
CONFIG_ARM_UNWIND=y
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
# CONFIG_OABI_COMPAT is not set
|
||||
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NR_CPUS=4
|
||||
CONFIG_SMP_ON_UP=y
|
||||
|
||||
CONFIG_ARM_ARCH_TIMER=y
|
||||
|
||||
CONFIG_CMDLINE=""
|
||||
|
||||
# CONFIG_ARM_LPAE is not set
|
||||
# CONFIG_FPE_NWFPE is not set
|
||||
CONFIG_FPE_FASTFPE=y
|
||||
CONFIG_HIGHPTE=y
|
||||
CONFIG_HW_PERF_EVENTS=y
|
||||
CONFIG_UACCESS_WITH_MEMCPY=y
|
||||
# CONFIG_GENERIC_CPUFREQ_CPU0 is not set
|
||||
|
||||
# Generic ARM Errata
|
||||
CONFIG_ARM_ERRATA_720789=y
|
||||
CONFIG_ARM_ERRATA_751472=y
|
||||
CONFIG_ARM_ERRATA_742230=y
|
||||
CONFIG_ARM_ERRATA_742231=y
|
||||
CONFIG_ARM_ERRATA_754327=y
|
||||
CONFIG_ARM_ERRATA_764369=y
|
||||
CONFIG_ARM_ERRATA_775420=y
|
||||
CONFIG_PL310_ERRATA_753970=y
|
||||
|
||||
# Generic ARM config options
|
||||
CONFIG_ZBOOT_ROM_TEXT=0
|
||||
CONFIG_ZBOOT_ROM_BSS=0
|
||||
CONFIG_LOCAL_TIMERS=y
|
||||
|
||||
CONFIG_ATAGS=y
|
||||
CONFIG_ATAGS_PROC=y
|
||||
|
||||
CONFIG_PL330_DMA=y
|
||||
CONFIG_AMBA_PL08X=y
|
||||
CONFIG_PL330_DMA=y
|
||||
# CONFIG_XIP_KERNEL is not set
|
||||
# CONFIG_PID_IN_CONTEXTIDR is not set
|
||||
|
||||
# Generic options we want for ARM that aren't defualt
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
|
||||
CONFIG_HIGHMEM=y
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
|
||||
CONFIG_SCHED_MC=y
|
||||
CONFIG_SCHED_SMT=y
|
||||
|
||||
CONFIG_RCU_FANOUT=32
|
||||
|
||||
CONFIG_CPU_IDLE=y
|
||||
# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
|
||||
# CONFIG_CPU_IDLE_GOV_LADDER is not set
|
||||
CONFIG_CPU_IDLE_GOV_MENU=y
|
||||
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
|
||||
CONFIG_PM=y
|
||||
CONFIG_PM_STD_PARTITION=""
|
||||
CONFIG_SUSPEND=y
|
||||
CONFIG_ARM_CPU_SUSPEND=y
|
||||
CONFIG_ARM_CPU_TOPOLOGY=y
|
||||
|
||||
CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
|
||||
CONFIG_LSM_MMAP_MIN_ADDR=32768
|
||||
|
||||
# CONFIG_XEN is not set
|
||||
|
||||
CONFIG_PINCTRL=y
|
||||
CONFIG_PINCONF=y
|
||||
|
||||
CONFIG_COMMON_CLK=y
|
||||
|
||||
CONFIG_THERMAL=y
|
||||
|
||||
CONFIG_ETHERNET=y
|
||||
|
||||
CONFIG_PERF_EVENTS=y
|
||||
CONFIG_PERF_COUNTERS=y
|
||||
|
||||
CONFIG_CC_STACKPROTECTOR=y
|
||||
|
||||
CONFIG_SECCOMP=y
|
||||
CONFIG_STRICT_DEVMEM=y
|
||||
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
|
||||
# Generic HW for all ARM platforms
|
||||
CONFIG_LEDS_GPIO=m
|
||||
|
||||
CONFIG_LBDAF=y
|
||||
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_RFKILL_GPIO=m
|
||||
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
|
||||
CONFIG_GPIO_GENERIC_PLATFORM=m
|
||||
CONFIG_PINCTRL_SINGLE=m
|
||||
CONFIG_POWER_RESET_GPIO=y
|
||||
|
||||
CONFIG_USB_ULPI=y
|
||||
|
||||
CONFIG_SND_ARM=y
|
||||
CONFIG_SND_ARMAACI=m
|
||||
CONFIG_SND_SOC=m
|
||||
CONFIG_SND_DESIGNWARE_I2S=m
|
||||
CONFIG_SND_SIMPLE_CARD=m
|
||||
# CONFIG_SND_SOC_CACHE_LZO is not set
|
||||
CONFIG_SND_SOC_ALL_CODECS=m
|
||||
CONFIG_SND_SPI=y
|
||||
|
||||
CONFIG_AX88796=m
|
||||
CONFIG_AX88796_93CX6=y
|
||||
CONFIG_SMC91X=m
|
||||
CONFIG_DM9000=m
|
||||
CONFIG_DM9000_DEBUGLEVEL=4
|
||||
# CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL is not set
|
||||
CONFIG_SMC911X=m
|
||||
CONFIG_SMSC911X=m
|
||||
|
||||
CONFIG_SERIO_AMBAKMI=m
|
||||
CONFIG_I2C_NOMADIK=m
|
||||
CONFIG_ARM_SP805_WATCHDOG=m
|
||||
CONFIG_FB_ARMCLCD=m
|
||||
CONFIG_FB_SSD1307=m
|
||||
CONFIG_MPCORE_WATCHDOG=m
|
||||
CONFIG_BACKLIGHT_PWM=m
|
||||
|
||||
CONFIG_MMC_ARMMMCI=m
|
||||
CONFIG_MMC_SDHCI_PLTFM=m
|
||||
CONFIG_MMC_SDHCI_OF=m
|
||||
CONFIG_MMC_SPI=m
|
||||
CONFIG_MMC_DW=m
|
||||
CONFIG_MMC_DW_PLTFM=m
|
||||
CONFIG_MMC_DW_PCI=m
|
||||
# CONFIG_MMC_DW_EXYNOS is not set
|
||||
# CONFIG_MMC_DW_IDMAC is not set
|
||||
CONFIG_MMC_SDHCI_PXAV3=m
|
||||
CONFIG_MMC_SDHCI_PXAV2=m
|
||||
|
||||
# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
|
||||
|
||||
CONFIG_SPI=y
|
||||
# Generic GPIO options
|
||||
CONFIG_GENERIC_GPIO=y
|
||||
|
||||
CONFIG_MTD=m
|
||||
CONFIG_MTD_TESTS=m
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_OF_PARTS=y
|
||||
CONFIG_MTD_PHYSMAP_OF=y
|
||||
# CONFIG_MTD_AFS_PARTS is not set
|
||||
CONFIG_MTD_CHAR=m
|
||||
CONFIG_MTD_BLKDEVS=m
|
||||
CONFIG_MTD_BLOCK=m
|
||||
# CONFIG_MTD_TESTS is not set
|
||||
# CONFIG_MTD_BLOCK_RO is not set
|
||||
# CONFIG_MTD_AR7_PARTS is not set
|
||||
CONFIG_MTD_CFI=m
|
||||
CONFIG_MTD_CFI_AMDSTD=m
|
||||
CONFIG_MTD_CFI_ADV_OPTIONS=y
|
||||
CONFIG_MTD_CFI_NOSWAP=y
|
||||
CONFIG_MTD_CFI_GEOMETRY=y
|
||||
CONFIG_MTD_CFI_I1=y
|
||||
CONFIG_MTD_CFI_I2=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
CONFIG_MTD_CFI_STAA=y
|
||||
CONFIG_MTD_CFI_UTIL=y
|
||||
CONFIG_MTD_DOC2000=m
|
||||
CONFIG_MTD_DOC2001=m
|
||||
CONFIG_MTD_DOC2001PLUS=m
|
||||
# CONFIG_MTD_DOCPROBE_ADVANCED is not set
|
||||
CONFIG_MTD_ALAUDA=m
|
||||
# CONFIG_MTD_ONENAND is not set
|
||||
CONFIG_MTD_JEDECPROBE=m
|
||||
CONFIG_MTD_GEN_PROBE=y
|
||||
CONFIG_MTD_IMPA7=m
|
||||
CONFIG_MTD_MAP_BANK_WIDTH_1=y
|
||||
CONFIG_MTD_MAP_BANK_WIDTH_2=y
|
||||
# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
|
||||
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
|
||||
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
|
||||
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
|
||||
# CONFIG_MTD_CFI_I4 is not set
|
||||
# CONFIG_MTD_CFI_I8 is not set
|
||||
CONFIG_MTD_PHYSMAP=m
|
||||
# CONFIG_MTD_PHYSMAP_COMPAT is not set
|
||||
CONFIG_MTD_M25P80=m
|
||||
CONFIG_M25PXX_USE_FAST_READ=y
|
||||
CONFIG_MTD_NAND=m
|
||||
CONFIG_MTD_NAND_ECC=m
|
||||
CONFIG_MTD_NAND_IDS=m
|
||||
# CONFIG_MTD_NAND_CAFE is not set
|
||||
# CONFIG_MTD_NAND_ECC_SMC is not set
|
||||
# CONFIG_MTD_NAND_DENALI is not set
|
||||
# CONFIG_MTD_NAND_DOCG4 is not set
|
||||
CONFIG_MTD_NAND_GPIO=m
|
||||
# CONFIG_MTD_INTEL_VR_NOR is not set
|
||||
# CONFIG_MTD_NAND_NANDSIM is not set
|
||||
CONFIG_MTD_NAND_ORION=m
|
||||
# CONFIG_MTD_NAND_RICOH is not set
|
||||
# CONFIG_MTD_NAND_PLATFORM is not set
|
||||
# CONFIG_MTD_OTP is not set
|
||||
# CONFIG_MTD_PMC551 is not set
|
||||
# CONFIG_MTD_PLATRAM is not set
|
||||
# CONFIG_MTD_PHRAM is not set
|
||||
# CONFIG_MTD_SLRAM is not set
|
||||
CONFIG_MTD_DATAFLASH=m
|
||||
CONFIG_MTD_DATAFLASH_WRITE_VERIFY=y
|
||||
CONFIG_MTD_DATAFLASH_OTP=y
|
||||
CONFIG_MTD_SST25L=m
|
||||
CONFIG_MTD_UBI=m
|
||||
CONFIG_MTD_UBI_WL_THRESHOLD=4096
|
||||
CONFIG_MTD_UBI_BEB_RESERVE=1
|
||||
# CONFIG_MTD_UBI_GLUEBI is not set
|
||||
# CONFIG_MTD_UBI_DEBUG is not set
|
||||
CONFIG_MG_DISK=m
|
||||
CONFIG_MG_DISK_RES=0
|
||||
|
||||
# CONFIG_SM_FTL is not set
|
||||
|
||||
CONFIG_JFFS2_FS=m
|
||||
CONFIG_JFFS2_FS_DEBUG=0
|
||||
CONFIG_JFFS2_FS_WRITEBUFFER=y
|
||||
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
|
||||
# CONFIG_JFFS2_SUMMARY is not set
|
||||
# CONFIG_JFFS2_FS_XATTR is not set
|
||||
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
|
||||
CONFIG_JFFS2_ZLIB=y
|
||||
# CONFIG_JFFS2_LZO is not set
|
||||
CONFIG_JFFS2_RTIME=y
|
||||
# CONFIG_JFFS2_RUBIN is not set
|
||||
|
||||
CONFIG_UBIFS_FS=m
|
||||
CONFIG_UBIFS_FS_XATTR=y
|
||||
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
|
||||
CONFIG_UBIFS_FS_LZO=y
|
||||
CONFIG_UBIFS_FS_ZLIB=y
|
||||
# CONFIG_UBIFS_FS_DEBUG is not set
|
||||
|
||||
# HW crypto and rng
|
||||
CONFIG_CRYPTO_SHA1_ARM=m
|
||||
CONFIG_CRYPTO_AES_ARM=m
|
||||
CONFIG_HW_RANDOM_ATMEL=m
|
||||
CONFIG_HW_RANDOM_EXYNOS=m
|
||||
|
||||
# Device tree
|
||||
CONFIG_DTC=y
|
||||
CONFIG_OF=y
|
||||
CONFIG_USE_OF=y
|
||||
CONFIG_OF_DEVICE=y
|
||||
CONFIG_OF_IRQ=y
|
||||
CONFIG_OF_GPIO=y
|
||||
CONFIG_ARM_ATAG_DTB_COMPAT=y
|
||||
CONFIG_ARM_APPENDED_DTB=y
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
# CONFIG_OF_SELFTEST is not set
|
||||
|
||||
CONFIG_SERIAL_OF_PLATFORM=y
|
||||
CONFIG_OF_GPIO=y
|
||||
CONFIG_OF_PCI=y
|
||||
CONFIG_OF_PCI_IRQ=y
|
||||
CONFIG_I2C_MUX_PINCTRL=m
|
||||
CONFIG_OF_MDIO=m
|
||||
CONFIG_MDIO_BUS_MUX_GPIO=m
|
||||
CONFIG_MDIO_BUS_MUX_MMIOREG=m
|
||||
|
||||
CONFIG_BPF_JIT=y
|
||||
|
||||
CONFIG_RCU_FANOUT_LEAF=16
|
||||
CONFIG_EDAC=y
|
||||
CONFIG_EDAC_MM_EDAC=m
|
||||
CONFIG_EDAC_LEGACY_SYSFS=y
|
||||
|
||||
CONFIG_RTC_DRV_88PM80X=m
|
||||
CONFIG_RTC_DRV_DS1305=m
|
||||
CONFIG_RTC_DRV_DS1390=m
|
||||
CONFIG_RTC_DRV_DS3234=m
|
||||
CONFIG_RTC_DRV_M41T93=m
|
||||
CONFIG_RTC_DRV_M41T94=m
|
||||
CONFIG_RTC_DRV_MAX6902=m
|
||||
CONFIG_RTC_DRV_MC13XXX=m
|
||||
CONFIG_RTC_DRV_PCF2123=m
|
||||
CONFIG_RTC_DRV_PL030=m
|
||||
CONFIG_RTC_DRV_PL031=m
|
||||
CONFIG_RTC_DRV_R9701=m
|
||||
CONFIG_RTC_DRV_RS5C348=m
|
||||
CONFIG_RTC_DRV_SNVS=m
|
||||
|
||||
CONFIG_RFKILL_REGULATOR=m
|
||||
CONFIG_INPUT_88PM80X_ONKEY=y
|
||||
CONFIG_INPUT_GP2A=m
|
||||
CONFIG_INPUT_GPIO_TILT_POLLED=m
|
||||
CONFIG_INPUT_PWM_BEEPER=m
|
||||
CONFIG_INPUT_ARIZONA_HAPTICS=m
|
||||
CONFIG_INPUT_MC13783_PWRBUTTON=m
|
||||
|
||||
CONFIG_SERIAL_AMBA_PL010=m
|
||||
CONFIG_SERIAL_AMBA_PL011=m
|
||||
CONFIG_SERIAL_MAX3100=m
|
||||
CONFIG_SERIAL_MAX310X=y
|
||||
CONFIG_SERIAL_IFX6X60=m
|
||||
|
||||
CONFIG_GPIO_74X164=m
|
||||
CONFIG_GPIO_ADNP=m
|
||||
CONFIG_GPIO_ARIZONA=m
|
||||
CONFIG_GPIO_MAX7301=m
|
||||
CONFIG_GPIO_MC33880=m
|
||||
CONFIG_GPIO_MCP23S08=m
|
||||
CONFIG_GPIO_PL061=y
|
||||
|
||||
CONFIG_SPI_ALTERA=m
|
||||
CONFIG_SPI_BITBANG=m
|
||||
CONFIG_SPI_BUTTERFLY=m
|
||||
CONFIG_SPI_DW_MMIO=m
|
||||
CONFIG_SPI_GPIO=m
|
||||
CONFIG_SPI_LM70_LLP=m
|
||||
CONFIG_SPI_OC_TINY=m
|
||||
CONFIG_SPI_PL022=m
|
||||
CONFIG_SPI_SC18IS602=m
|
||||
CONFIG_SPI_XCOMM=m
|
||||
CONFIG_SPI_XILINX=m
|
||||
CONFIG_SPI_DESIGNWARE=m
|
||||
CONFIG_SPI_SPIDEV=m
|
||||
CONFIG_SPI_TLE62X0=m
|
||||
CONFIG_BMP085_SPI=m
|
||||
CONFIG_BMP085_SPI=m
|
||||
CONFIG_EEPROM_AT25=m
|
||||
CONFIG_EEPROM_93XX46=m
|
||||
CONFIG_KS8851=m
|
||||
CONFIG_MICREL_KS8995MA=m
|
||||
CONFIG_LIBERTAS_SPI=m
|
||||
CONFIG_P54_SPI=m
|
||||
CONFIG_P54_SPI_DEFAULT_EEPROM=y
|
||||
|
||||
CONFIG_MFD_CORE=m
|
||||
CONFIG_MFD_88PM800=m
|
||||
CONFIG_MFD_88PM805=m
|
||||
CONFIG_MFD_ARIZONA_SPI=m
|
||||
CONFIG_MFD_MC13XXX_SPI=m
|
||||
CONFIG_MFD_SYSCON=y
|
||||
# CONFIG_MFD_WM5102 is not set
|
||||
# CONFIG_MFD_WM5110 is not set
|
||||
# CONFIG_MFD_TPS65912_SPI is not set
|
||||
# CONFIG_MFD_DA9052_SPI is not set
|
||||
# CONFIG_MFD_WM831X_SPI is not set
|
||||
# CONFIG_MFD_TPS80031 is not set
|
||||
# CONFIG_MFD_AS3711 is not set
|
||||
# CONFIG_MFD_SMSC is not set
|
||||
# CONFIG_MFD_DA9055 is not set
|
||||
# CONFIG_MFD_MAX8907 is not set
|
||||
|
||||
CONFIG_REGULATOR_VIRTUAL_CONSUMER=m
|
||||
CONFIG_REGULATOR_USERSPACE_CONSUMER=m
|
||||
# CONFIG_REGULATOR_DUMMY is not set
|
||||
CONFIG_REGULATOR_GPIO=m
|
||||
CONFIG_REGULATOR_AD5398=m
|
||||
CONFIG_REGULATOR_ANATOP=m
|
||||
CONFIG_REGULATOR_ARIZONA=m
|
||||
CONFIG_REGULATOR_FAN53555=m
|
||||
CONFIG_REGULATOR_ISL6271A=m
|
||||
CONFIG_REGULATOR_LP3972=m
|
||||
CONFIG_REGULATOR_MAX1586=m
|
||||
CONFIG_REGULATOR_MAX8649=m
|
||||
CONFIG_REGULATOR_MAX8660=m
|
||||
CONFIG_REGULATOR_MAX8952=m
|
||||
CONFIG_REGULATOR_MAX8973=m
|
||||
CONFIG_REGULATOR_MC13783=m
|
||||
CONFIG_REGULATOR_MC13892=m
|
||||
CONFIG_REGULATOR_LP3971=m
|
||||
CONFIG_REGULATOR_TPS51632=m
|
||||
CONFIG_REGULATOR_TPS62360=m
|
||||
CONFIG_REGULATOR_TPS65023=m
|
||||
CONFIG_REGULATOR_TPS6524X=m
|
||||
CONFIG_REGULATOR_TPS6507X=m
|
||||
CONFIG_CHARGER_MANAGER=y
|
||||
CONFIG_EXTCON_GPIO=m
|
||||
|
||||
CONFIG_SENSORS_AD7314=m
|
||||
CONFIG_SENSORS_ADCXX=m
|
||||
CONFIG_SENSORS_LM70=m
|
||||
CONFIG_SENSORS_MAX1111=m
|
||||
CONFIG_SENSORS_MC13783_ADC=m
|
||||
CONFIG_SENSORS_ADS7871=m
|
||||
CONFIG_SENSORS_LIS3_SPI=m
|
||||
|
||||
CONFIG_IEEE802154_AT86RF230=m
|
||||
CONFIG_IEEE802154_MRF24J40=m
|
||||
|
||||
# CONFIG_ARM_VIRT_EXT is not set
|
||||
# CONFIG_PINCTRL_EXYNOS4 is not set
|
||||
# CONFIG_PINCTRL_EXYNOS5440 is not set
|
||||
|
||||
# CONFIG_AUTO_ZRELADDR is not set
|
||||
# CONFIG_ASYMMETRIC_KEY_TYPE is not set
|
||||
|
||||
# CONFIG_VFIO is not set
|
||||
|
||||
# CONFIG_XIP_KERNEL is not set
|
||||
# CONFIG_CPU_ICACHE_DISABLE is not set
|
||||
# CONFIG_CPU_DCACHE_DISABLE is not set
|
||||
# CONFIG_APM_EMULATION is not set
|
||||
# CONFIG_DEPRECATED_PARAM_STRUCT is not set
|
||||
|
||||
# CONFIG_SERIAL_8250_EM is not set
|
||||
# CONFIG_GPIO_EM is not set
|
||||
# CONFIG_HVC_DCC is not set
|
||||
# CONFIG_LEDS_RENESAS_TPU is not set
|
||||
CONFIG_LEDS_DAC124S085=m
|
||||
CONFIG_LEDS_MC13783=m
|
||||
|
||||
# CONFIG_VIRTIO_CONSOLE is not set
|
||||
|
||||
# Possibly part of Snowball
|
||||
# CONFIG_MFD_T7L66XB is not set
|
||||
# CONFIG_MFD_TC6387XB is not set
|
||||
|
||||
# CONFIG_IRQ_DOMAIN_DEBUG is not set
|
||||
# CONFIG_COMMON_CLK_DEBUG is not set
|
||||
# CONFIG_DEBUG_USER is not set
|
||||
# CONFIG_DEBUG_LL is not set
|
||||
# CONFIG_ARM_KPROBES_TEST is not set
|
||||
# CONFIG_SGI_IOC4 is not set
|
||||
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
|
||||
|
||||
# CONFIG_DEBUG_PINCTRL is not set
|
||||
|
||||
# HW Disabled because it causes issues on ARM platforms
|
||||
|
||||
# disable TPM on arm at least on the trimslices it causes havoc
|
||||
# CONFIG_TCG_TPM is not set
|
||||
|
||||
# CONFIG_IMA is not set
|
||||
|
||||
# ERROR: "__bswapsi2" [drivers/staging/crystalhd/crystalhd.ko] undefined!
|
||||
# CONFIG_CRYSTALHD is not set
|
||||
|
||||
# these modules all fail with missing __bad_udelay
|
||||
# http://www.spinics.net/lists/arm/msg15615.html provides some background
|
||||
# CONFIG_SUNGEM is not set
|
||||
# CONFIG_FB_SAVAGE is not set
|
||||
# CONFIG_FB_RADEON is not set
|
||||
# CONFIG_DRM_RADEON is not set
|
||||
# CONFIG_ATM_HE is not set
|
||||
# CONFIG_SCSI_ACARD is not set
|
||||
# CONFIG_SFC is not set
|
||||
|
||||
# these all currently fail due to missing symbols __bad_udelay or
|
||||
# error: implicit declaration of function ‘iowrite32be’
|
||||
# CONFIG_SND_ALI5451 is not set
|
||||
# CONFIG_DRM_NOUVEAU is not set
|
||||
# CONFIG_MLX4_EN is not set
|
||||
|
||||
CONFIG_TOUCHSCREEN_ADS7846=m
|
||||
CONFIG_TOUCHSCREEN_AD7877=m
|
||||
CONFIG_TOUCHSCREEN_TSC2005=m
|
||||
CONFIG_TOUCHSCREEN_MC13783=m
|
||||
|
||||
# drivers/input/touchscreen/eeti_ts.c:65:2: error: implicit declaration of function 'irq_to_gpio' [-Werror=implicit-function-declaration]
|
||||
# CONFIG_TOUCHSCREEN_EETI is not set
|
||||
# CONFIG_TOUCHSCREEN_EGALAX is not set
|
||||
# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
|
||||
|
||||
# CONFIG_PANEL_LGPHILIPS_LB035Q02 is not set
|
||||
# CONFIG_PANEL_ACX565AKM is not set
|
||||
# CONFIG_PANEL_N8X0 is not set
|
||||
|
||||
# CONFIG_LCD_L4F00242T03 is not set
|
||||
# CONFIG_LCD_LMS283GF05 is not set
|
||||
# CONFIG_LCD_LTV350QV is not set
|
||||
# CONFIG_LCD_ILI9320 is not set
|
||||
# CONFIG_LCD_TDO24M is not set
|
||||
# CONFIG_LCD_VGG2432A4 is not set
|
||||
# CONFIG_LCD_S6E63M0 is not set
|
||||
# CONFIG_LCD_LD9040 is not set
|
||||
# CONFIG_LCD_AMS369FG06 is not set
|
||||
|
||||
# CONFIG_FB_MX3 is not set
|
||||
# CONFIG_MX3_IPU is not set
|
||||
# CONFIG_MX3_IPU_IRQS is not set
|
||||
|
||||
# CONFIG_NET_VENDOR_CIRRUS is not set
|
||||
# CONFIG_NET_VENDOR_MICROCHIP is not set
|
||||
# CONFIG_CS89x0 is not set
|
||||
# CONFIG_DVB_USB_PCTV452E is not set
|
||||
# CONFIG_PINCTRL_EXYNOS is not set
|
||||
|
||||
# CONFIG_EZX_PCAP is not set
|
||||
|
||||
# CONFIG_EXTCON_ARIZONA is not set
|
|
@ -0,0 +1,86 @@
|
|||
CONFIG_ARCH_KIRKWOOD=y
|
||||
CONFIG_ARCH_KIRKWOOD_DT=y
|
||||
# CONFIG_SMP is not set
|
||||
# CONFIG_VFP is not set
|
||||
|
||||
CONFIG_MACH_D2NET_V2=y
|
||||
CONFIG_MACH_DB88F6281_BP=y
|
||||
CONFIG_MACH_DOCKSTAR=y
|
||||
CONFIG_MACH_DOCKSTAR_DT=y
|
||||
CONFIG_MACH_DREAMPLUG_DT=y
|
||||
CONFIG_MACH_ESATA_SHEEVAPLUG=y
|
||||
CONFIG_MACH_DLINK_KIRKWOOD_DT=y
|
||||
CONFIG_MACH_GOFLEXNET_DT=y
|
||||
CONFIG_MACH_GURUPLUG=y
|
||||
CONFIG_MACH_GURUPLUG_DT=y
|
||||
CONFIG_MACH_ICONNECT_DT=y
|
||||
CONFIG_MACH_IB62X0_DT=y
|
||||
CONFIG_MACH_INETSPACE_V2=y
|
||||
CONFIG_MACH_INETSPACE_V2_DT=y
|
||||
CONFIG_MACH_IOMEGA_IX2_200_DT=y
|
||||
CONFIG_MACH_KM_KIRKWOOD_DT=y
|
||||
CONFIG_MACH_LSXL_DT=y
|
||||
CONFIG_MACH_MPLCEC4_DT=y
|
||||
CONFIG_MACH_MV88F6281GTW_GE=y
|
||||
CONFIG_MACH_NETSPACE_LITE_V2_DT=y
|
||||
CONFIG_MACH_NETSPACE_MAX_V2=y
|
||||
CONFIG_MACH_NETSPACE_MAX_V2_DT=y
|
||||
CONFIG_MACH_NETSPACE_MINI_V2_DT=y
|
||||
CONFIG_MACH_NETSPACE_V2=y
|
||||
CONFIG_MACH_NETSPACE_V2_DT=y
|
||||
CONFIG_MACH_NET2BIG_V2=y
|
||||
CONFIG_MACH_NET5BIG_V2=y
|
||||
CONFIG_MACH_NSA310_DT=y
|
||||
CONFIG_MACH_OPENBLOCKS_A6_DT=y
|
||||
CONFIG_MACH_OPENRD_BASE=y
|
||||
CONFIG_MACH_OPENRD_CLIENT=y
|
||||
CONFIG_MACH_OPENRD_ULTIMATE=y
|
||||
CONFIG_MACH_RD88F6192_NAS=y
|
||||
CONFIG_MACH_RD88F6281=y
|
||||
CONFIG_MACH_SHEEVAPLUG=y
|
||||
CONFIG_MACH_TOPKICK_DT=y
|
||||
CONFIG_MACH_TS219=y
|
||||
CONFIG_MACH_TS219_DT=y
|
||||
CONFIG_MACH_TS41X=y
|
||||
CONFIG_MACH_T5325=y
|
||||
|
||||
CONFIG_CACHE_FEROCEON_L2=y
|
||||
CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH=y
|
||||
CONFIG_MTD_NAND_ORION=m
|
||||
CONFIG_MV643XX_ETH=m
|
||||
CONFIG_I2C_MV64XXX=m
|
||||
CONFIG_GPIO_GENERIC_PLATFORM=y
|
||||
CONFIG_GPIO_MCP23S08=m
|
||||
CONFIG_ORION_WATCHDOG=m
|
||||
CONFIG_SND_KIRKWOOD_SOC=m
|
||||
CONFIG_SND_KIRKWOOD_SOC_OPENRD=m
|
||||
CONFIG_SND_KIRKWOOD_SOC_T5325=m
|
||||
CONFIG_MMC_MVSDIO=m
|
||||
CONFIG_LEDS_NS2=m
|
||||
CONFIG_LEDS_NETXBIG=m
|
||||
CONFIG_RTC_DRV_MV=y
|
||||
CONFIG_MV_XOR=y
|
||||
CONFIG_CRYPTO_DEV_MV_CESA=m
|
||||
# CONFIG_PINCTRL_EXYNOS is not set
|
||||
CONFIG_PINCTRL_MVEBU=y
|
||||
CONFIG_PINCTRL_KIRKWOOD=y
|
||||
|
||||
# CONFIG_CPU_IDLE_KIRKWOOD is not set
|
||||
CONFIG_POWER_RESET_QNAP=y
|
||||
CONFIG_POWER_RESET_RESTART=y
|
||||
CONFIG_KIRKWOOD_THERMAL=m
|
||||
CONFIG_REGULATOR_LP8755=m
|
||||
# CONFIG_DRM_TILCDC is not set
|
||||
CONFIG_OF_DISPLAY_TIMING=y
|
||||
CONFIG_OF_VIDEOMODE=y
|
||||
CONFIG_SND_ATMEL_SOC=m
|
||||
|
||||
# CONFIG_CPU_FEROCEON_OLD_ID is not set
|
||||
# CONFIG_INPUT_GP2A is not set
|
||||
# CONFIG_INPUT_GPIO_TILT_POLLED is not set
|
||||
# CONFIG_HIGHPTE is not set
|
||||
# CONFIG_VIRTUALIZATION is not set
|
||||
# CONFIG_EDAC is not set
|
||||
# CONFIG_SPI is not set
|
||||
|
||||
CONFIG_FB_XGI=m
|
|
@ -0,0 +1,126 @@
|
|||
CONFIG_ARCH_TEGRA=y
|
||||
|
||||
CONFIG_ARCH_TEGRA_2x_SOC=y
|
||||
# CONFIG_ARCH_TEGRA_3x_SOC is not set
|
||||
# CONFIG_ARM_LPAE is not set
|
||||
|
||||
CONFIG_VFP=y
|
||||
CONFIG_VFPv3=y
|
||||
|
||||
# CONFIG_MACH_HARMONY is not set
|
||||
CONFIG_MACH_KAEN=y
|
||||
CONFIG_MACH_PAZ00=y
|
||||
CONFIG_MACH_SEABOARD=y
|
||||
CONFIG_MACH_TEGRA_DT=y
|
||||
CONFIG_MACH_TRIMSLICE=y
|
||||
CONFIG_MACH_WARIO=y
|
||||
CONFIG_MACH_VENTANA=y
|
||||
|
||||
CONFIG_TEGRA_DEBUG_UARTD=y
|
||||
CONFIG_ARM_CPU_TOPOLOGY=y
|
||||
|
||||
CONFIG_TEGRA_PCI=y
|
||||
CONFIG_TEGRA_IOMMU_GART=y
|
||||
CONFIG_TEGRA_IOMMU_SMMU=y
|
||||
|
||||
CONFIG_I2C_TEGRA=m
|
||||
|
||||
# This block is temporary until we work out why the MMC modules don't work as modules
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_BLOCK=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
CONFIG_MMC_SDHCI_OF=y
|
||||
CONFIG_MMC_SPI=y
|
||||
|
||||
CONFIG_MMC_SDHCI_TEGRA=y
|
||||
|
||||
# CONFIG_RCU_BOOST is not set
|
||||
CONFIG_TEGRA_SYSTEM_DMA=y
|
||||
CONFIG_TEGRA_EMC_SCALING_ENABLE=y
|
||||
CONFIG_TEGRA_AHB=y
|
||||
CONFIG_TEGRA20_APB_DMA=y
|
||||
CONFIG_SPI_TEGRA20_SFLASH=m
|
||||
CONFIG_SPI_TEGRA20_SLINK=m
|
||||
CONFIG_ARM_THUMBEE=y
|
||||
CONFIG_SWP_EMULATE=y
|
||||
# CONFIG_CPU_BPREDICT_DISABLE is not set
|
||||
CONFIG_CACHE_L2X0=y
|
||||
CONFIG_ARM_ERRATA_430973=y
|
||||
# CONFIG_ARM_ERRATA_458693 is not set
|
||||
# CONFIG_ARM_ERRATA_460075 is not set
|
||||
CONFIG_ARM_ERRATA_742230=y
|
||||
# CONFIG_ARM_ERRATA_742231 is not set
|
||||
CONFIG_PL310_ERRATA_588369=y
|
||||
CONFIG_PL310_ERRATA_769419=y
|
||||
CONFIG_ARM_ERRATA_720789=y
|
||||
# CONFIG_PL310_ERRATA_727915 is not set
|
||||
# CONFIG_ARM_ERRATA_743622 is not set
|
||||
# CONFIG_ARM_ERRATA_751472 is not set
|
||||
# CONFIG_ARM_ERRATA_753970 is not set
|
||||
# CONFIG_ARM_ERRATA_754322 is not set
|
||||
# CONFIG_ARM_ERRATA_754327 is not set
|
||||
# CONFIG_ARM_ERRATA_764369 is not set
|
||||
# CONFIG_THUMB2_KERNEL is not set
|
||||
# CONFIG_NEON is not set
|
||||
CONFIG_GPIO_GENERIC_PLATFORM=y
|
||||
# CONFIG_GPIO_MCP23S08 is not set
|
||||
# CONFIG_KEYBOARD_TEGRA is not set
|
||||
CONFIG_PINCTRL_TEGRA=y
|
||||
CONFIG_PINCTRL_TEGRA20=y
|
||||
CONFIG_USB_EHCI_TEGRA=y
|
||||
CONFIG_RTC_DRV_TEGRA=y
|
||||
|
||||
CONFIG_SND_SOC_TEGRA=m
|
||||
CONFIG_SND_SOC_TEGRA_ALC5632=m
|
||||
CONFIG_SND_SOC_TEGRA_WM8753=m
|
||||
CONFIG_SND_SOC_TEGRA_WM8903=m
|
||||
CONFIG_SND_SOC_TEGRA_TRIMSLICE=m
|
||||
CONFIG_SND_SOC_TEGRA30_AHUB=m
|
||||
CONFIG_SND_SOC_TEGRA30_I2S=m
|
||||
|
||||
# AC100 (PAZ00)
|
||||
# CONFIG_MFD_NVEC is not set
|
||||
CONFIG_MFD_TPS80031=y
|
||||
CONFIG_KEYBOARD_NVEC=y
|
||||
CONFIG_SERIO_NVEC_PS2=y
|
||||
CONFIG_NVEC_POWER=y
|
||||
CONFIG_POWER_SUPPLY=y
|
||||
CONFIG_NVEC_LEDS=y
|
||||
CONFIG_NVEC_PAZ00=y
|
||||
|
||||
# CONFIG_MFD_TPS6586X is not set
|
||||
# CONFIG_RTC_DRV_TPS6586X is not set
|
||||
|
||||
CONFIG_PWM_TEGRA=m
|
||||
|
||||
CONFIG_CMA=y
|
||||
# CONFIG_CMA_DEBUG is not set
|
||||
CONFIG_CMA_SIZE_MBYTES=16
|
||||
CONFIG_CMA_SIZE_SEL_MBYTES=y
|
||||
# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
|
||||
# CONFIG_CMA_SIZE_SEL_MIN is not set
|
||||
# CONFIG_CMA_SIZE_SEL_MAX is not set
|
||||
CONFIG_CMA_ALIGNMENT=8
|
||||
CONFIG_CMA_AREAS=7
|
||||
|
||||
CONFIG_DRM_TEGRA=m
|
||||
|
||||
CONFIG_CPU_PM=y
|
||||
CONFIG_ARM_CPU_SUSPEND=y
|
||||
|
||||
CONFIG_CRYPTO_DEV_TEGRA_AES=m
|
||||
|
||||
CONFIG_PL310_ERRATA_753970=y
|
||||
CONFIG_LEDS_RENESAS_TPU=y
|
||||
|
||||
CONFIG_OF=y
|
||||
CONFIG_SERIAL_OF_PLATFORM=y
|
||||
CONFIG_OF_GPIO=y
|
||||
CONFIG_OF_PCI=y
|
||||
CONFIG_OF_PCI_IRQ=y
|
||||
|
||||
# CONFIG_DRM_TEGRA_DEBUG is not set
|
||||
# CONFIG_TI_DAC7512 is not set
|
||||
# CONFIG_SPI_TOPCLIFF_PCH is not set
|
||||
# CONFIG_SPI_DW_PCI is not set
|
|
@ -0,0 +1,501 @@
|
|||
# ARM unified arch kernel
|
||||
CONFIG_CPU_V7=y
|
||||
# CONFIG_ARCH_MULTI_V4 is not set
|
||||
# CONFIG_ARCH_MULTI_V4T is not set
|
||||
# CONFIG_ARCH_MULTI_V6 is not set
|
||||
CONFIG_ARCH_MULTI_V6_V7=y
|
||||
CONFIG_ARCH_MULTI_V7=y
|
||||
# This is V6 so we'll eventually support it in v5 unified kernels
|
||||
# CONFIG_ARCH_BCM is not set
|
||||
CONFIG_ARCH_HIGHBANK=y
|
||||
CONFIG_ARCH_MVEBU=y
|
||||
# CONFIG_ARCH_MXC is not set
|
||||
CONFIG_ARCH_OMAP2PLUS=y
|
||||
CONFIG_ARCH_PICOXCELL=y
|
||||
CONFIG_ARCH_SOCFPGA=y
|
||||
CONFIG_ARCH_SUNXI=y
|
||||
CONFIG_ARCH_VEXPRESS_CA9X4=y
|
||||
CONFIG_ARCH_VEXPRESS_DT=y
|
||||
CONFIG_ARCH_VIRT=y
|
||||
# CONFIG_ARCH_WM8850 is not set
|
||||
CONFIG_ARCH_ZYNQ=y
|
||||
|
||||
# These are supported in the LPAE kernel
|
||||
# CONFIG_ARM_LPAE is not set
|
||||
# CONFIG_XEN is not set
|
||||
# CONFIG_VIRTIO_CONSOLE is not set
|
||||
# CONFIG_ARM_VIRT_EXT is not set
|
||||
|
||||
# highbank
|
||||
# 2013/04/19 - stability issues
|
||||
# CONFIG_CPU_IDLE_CALXEDA is not set
|
||||
CONFIG_EDAC_HIGHBANK_MC=m
|
||||
CONFIG_EDAC_HIGHBANK_L2=m
|
||||
CONFIG_SATA_HIGHBANK=m
|
||||
CONFIG_ARM_HIGHBANK_CPUFREQ=m
|
||||
|
||||
# versatile
|
||||
CONFIG_VEXPRESS_CONFIG=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_ARMCLCD=m
|
||||
CONFIG_FB_CFB_COPYAREA=m
|
||||
CONFIG_FB_CFB_FILLRECT=m
|
||||
CONFIG_FB_CFB_IMAGEBLIT=m
|
||||
CONFIG_TOUCHSCREEN_ADS7846=m
|
||||
|
||||
CONFIG_OC_ETM=y
|
||||
CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA=y
|
||||
|
||||
# mvebu
|
||||
CONFIG_MACH_ARMADA_370_XP=y
|
||||
CONFIG_MACH_ARMADA_370=y
|
||||
CONFIG_MACH_ARMADA_XP=y
|
||||
|
||||
CONFIG_CACHE_TAUROS2=y
|
||||
CONFIG_MV_XOR=y
|
||||
CONFIG_CRYPTO_DEV_MV_CESA=m
|
||||
CONFIG_MV643XX_ETH=m
|
||||
CONFIG_I2C_MV64XXX=m
|
||||
CONFIG_PINCTRL_MVEBU=y
|
||||
CONFIG_PINCTRL_ARMADA_370=y
|
||||
CONFIG_PINCTRL_ARMADA_XP=y
|
||||
CONFIG_PINCTRL_DOVE=y
|
||||
CONFIG_EDAC_MV64X60=m
|
||||
CONFIG_RTC_DRV_S35390A=m
|
||||
CONFIG_RTC_DRV_88PM80X=m
|
||||
CONFIG_RTC_DRV_MV=m
|
||||
CONFIG_MVNETA=m
|
||||
CONFIG_GPIO_MVEBU=y
|
||||
CONFIG_MVEBU_CLK_CORE=y
|
||||
CONFIG_MVEBU_CLK_GATING=y
|
||||
CONFIG_MMC_MVSDIO=m
|
||||
CONFIG_SPI_ORION=m
|
||||
CONFIG_USB_MV_UDC=m
|
||||
|
||||
# omap
|
||||
CONFIG_ARCH_OMAP2PLUS_TYPICAL=y
|
||||
# CONFIG_ARCH_OMAP2 is not set
|
||||
CONFIG_ARCH_OMAP3=y
|
||||
CONFIG_ARCH_OMAP4=y
|
||||
# CONFIG_SOC_OMAP5 is not set
|
||||
# CONFIG_SOC_OMAP2420 is not set
|
||||
# CONFIG_SOC_OMAP2430 is not set
|
||||
CONFIG_SOC_OMAP3430=y
|
||||
CONFIG_SOC_TI81XX=y
|
||||
CONFIG_SOC_AM33XX=y
|
||||
CONFIG_MACH_OMAP_GENERIC=y
|
||||
CONFIG_MACH_OMAP3_BEAGLE=y
|
||||
CONFIG_MACH_DEVKIT8000=y
|
||||
CONFIG_MACH_OMAP_LDP=y
|
||||
CONFIG_MACH_OMAP3530_LV_SOM=y
|
||||
CONFIG_MACH_OMAP3_TORPEDO=y
|
||||
CONFIG_MACH_OVERO=y
|
||||
CONFIG_MACH_OMAP3EVM=y
|
||||
CONFIG_MACH_OMAP3517EVM=y
|
||||
CONFIG_MACH_CRANEBOARD=y
|
||||
CONFIG_MACH_OMAP3_PANDORA=y
|
||||
CONFIG_MACH_TOUCHBOOK=y
|
||||
CONFIG_MACH_OMAP_3430SDP=y
|
||||
# CONFIG_MACH_NOKIA_N8X0 is not set
|
||||
# CONFIG_MACH_NOKIA_RM680 is not set
|
||||
# CONFIG_MACH_NOKIA_RX51 is not set
|
||||
CONFIG_MACH_OMAP_ZOOM2=y
|
||||
CONFIG_MACH_OMAP_ZOOM3=y
|
||||
CONFIG_MACH_CM_T35=y
|
||||
CONFIG_MACH_CM_T3517=y
|
||||
CONFIG_MACH_IGEP0030=y
|
||||
CONFIG_MACH_SBC3530=y
|
||||
CONFIG_MACH_OMAP_3630SDP=y
|
||||
CONFIG_MACH_TI8168EVM=y
|
||||
CONFIG_MACH_TI8148EVM=y
|
||||
CONFIG_MACH_OMAP_4430SDP=y
|
||||
CONFIG_MACH_OMAP4_PANDA=y
|
||||
|
||||
CONFIG_OMAP_RESET_CLOCKS=y
|
||||
CONFIG_OMAP_MUX=y
|
||||
CONFIG_OMAP_MUX_WARNINGS=y
|
||||
CONFIG_OMAP_32K_TIMER=y
|
||||
CONFIG_OMAP_32K_TIMER_HZ=128
|
||||
# CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set
|
||||
|
||||
CONFIG_OMAP_MCBSP=y
|
||||
CONFIG_OMAP_MBOX_FWK=m
|
||||
CONFIG_OMAP_MBOX_KFIFO_SIZE=256
|
||||
CONFIG_OMAP_DM_TIMER=y
|
||||
CONFIG_OMAP_PM_NOOP=y
|
||||
CONFIG_OMAP_IOMMU=y
|
||||
CONFIG_OMAP_IOVMM=m
|
||||
CONFIG_OMAP3_EMU=y
|
||||
# CONFIG_OMAP3_SDRC_AC_TIMING is not set
|
||||
CONFIG_ARM_OMAP2PLUS_CPUFREQ=y
|
||||
|
||||
CONFIG_TI_ST=m
|
||||
CONFIG_TI_DAC7512=m
|
||||
CONFIG_TI_DAVINCI_EMAC=m
|
||||
CONFIG_TI_DAVINCI_MDIO=m
|
||||
CONFIG_TI_DAVINCI_CPDMA=m
|
||||
CONFIG_TI_CPSW=m
|
||||
CONFIG_TI_CPTS=y
|
||||
CONFIG_TI_EMIF=m
|
||||
CONFIG_MFD_TPS65217=m
|
||||
CONFIG_REGULATOR_TPS65217=m
|
||||
CONFIG_BACKLIGHT_TPS65217=m
|
||||
|
||||
CONFIG_SERIAL_OMAP=y
|
||||
CONFIG_SERIAL_OMAP_CONSOLE=y
|
||||
|
||||
CONFIG_GPIO_TWL4030=m
|
||||
CONFIG_GPIO_TWL6040=m
|
||||
CONFIG_I2C_OMAP=m
|
||||
CONFIG_CHARGER_TWL4030=m
|
||||
CONFIG_OMAP_WATCHDOG=m
|
||||
CONFIG_TWL4030_CORE=y
|
||||
CONFIG_TWL4030_MADC=m
|
||||
CONFIG_TWL4030_POWER=y
|
||||
CONFIG_TWL4030_CODEC=y
|
||||
CONFIG_TWL4030_WATCHDOG=m
|
||||
CONFIG_TWL4030_USB=m
|
||||
CONFIG_TWL6030_USB=m
|
||||
CONFIG_TWL6030_PWM=m
|
||||
CONFIG_TWL6040_CORE=y
|
||||
CONFIG_CLK_TWL6040=m
|
||||
CONFIG_OMAP_INTERCONNECT=m
|
||||
# CONFIG_MFD_TPS80031 is not set
|
||||
CONFIG_MFD_TI_AM335X_TSCADC=m
|
||||
CONFIG_MFD_OMAP_USB_HOST=y
|
||||
CONFIG_MTD_ONENAND_OMAP2=m
|
||||
CONFIG_HDQ_MASTER_OMAP=m
|
||||
CONFIG_REGULATOR_TWL4030=y
|
||||
CONFIG_BACKLIGHT_PANDORA=m
|
||||
CONFIG_OMAP_OCP2SCP=m
|
||||
CONFIG_USB_EHCI_HCD_OMAP=y
|
||||
CONFIG_USB_OHCI_HCD_PLATFORM=y
|
||||
CONFIG_USB_OHCI_HCD_OMAP3=y
|
||||
CONFIG_USB_MUSB_AM35X=m
|
||||
CONFIG_USB_MUSB_OMAP2PLUS=m
|
||||
CONFIG_USB_MUSB_HDRC=m
|
||||
CONFIG_USB_GADGET_MUSB_HDRC=m
|
||||
# CONFIG_MUSB_PIO_ONLY is not set
|
||||
# CONFIG_USB_MUSB_DEBUG is not set
|
||||
CONFIG_OMAP_CONTROL_USB=m
|
||||
CONFIG_NOP_USB_XCEIV=m
|
||||
CONFIG_MMC_OMAP=y
|
||||
CONFIG_MMC_OMAP_HS=y
|
||||
CONFIG_RTC_DRV_MAX8907=m
|
||||
# CONFIG_RTC_DRV_TWL92330 is not set
|
||||
CONFIG_RTC_DRV_TWL4030=m
|
||||
CONFIG_RTC_DRV_OMAP=m
|
||||
# Note needs to be compiled in until we build MMC modular
|
||||
CONFIG_DMA_OMAP=y
|
||||
CONFIG_OMAP_IOVMM=m
|
||||
CONFIG_HWSPINLOCK_OMAP=m
|
||||
CONFIG_SENSORS_TWL4030_MADC=m
|
||||
|
||||
CONFIG_WL_TI=y
|
||||
CONFIG_WLCORE_SDIO=m
|
||||
CONFIG_WLCORE_SPI=m
|
||||
CONFIG_WL1251_SPI=m
|
||||
CONFIG_WL12XX_SPI=m
|
||||
CONFIG_WL12XX_SDIO_TEST=m
|
||||
CONFIG_WL18XX=m
|
||||
CONFIG_WILINK_PLATFORM_DATA=y
|
||||
CONFIG_MFD_WL1273_CORE=m
|
||||
CONFIG_NFC_WILINK=m
|
||||
|
||||
CONFIG_MTD_NAND_OMAP2=y
|
||||
CONFIG_MTD_NAND_OMAP_PREFETCH=y
|
||||
CONFIG_MTD_NAND_OMAP_PREFETCH_DMA=y
|
||||
CONFIG_SPI_DAVINCI=m
|
||||
CONFIG_SPI_OMAP24XX=y
|
||||
CONFIG_MFD_TI_SSP=m
|
||||
CONFIG_SPI_TI_SSP=m
|
||||
|
||||
CONFIG_INPUT_TWL4030_PWRBUTTON=m
|
||||
CONFIG_INPUT_TWL4030_VIBRA=m
|
||||
CONFIG_INPUT_TWL6040_VIBRA=m
|
||||
CONFIG_KEYBOARD_OMAP4=m
|
||||
CONFIG_KEYBOARD_TWL4030=m
|
||||
CONFIG_TOUCHSCREEN_TI_TSCADC=m
|
||||
|
||||
# OMAP thermal temp. Can likely be built as module but doesn't autoload so build in to ensure performance on PandaES
|
||||
CONFIG_OMAP_BANDGAP=y
|
||||
CONFIG_OMAP4_THERMAL=y
|
||||
CONFIG_OMAP5_THERMAL=y
|
||||
|
||||
# OMAP3 thermal/power
|
||||
CONFIG_POWER_AVS=y
|
||||
CONFIG_POWER_AVS_OMAP=y
|
||||
CONFIG_POWER_AVS_OMAP_CLASS3=y
|
||||
|
||||
CONFIG_ARM_OMAP2PLUS_CPUFREQ=y
|
||||
|
||||
CONFIG_PWM_TIECAP=m
|
||||
CONFIG_PWM_TIEHRPWM=m
|
||||
CONFIG_PWM_TWL=m
|
||||
CONFIG_PWM_TWL_LED=m
|
||||
|
||||
CONFIG_CRYPTO_DEV_OMAP_SHAM=m
|
||||
CONFIG_CRYPTO_DEV_OMAP_AES=m
|
||||
CONFIG_HW_RANDOM_OMAP=m
|
||||
|
||||
# CONFIG_DRM_TILCDC is not set
|
||||
CONFIG_DRM_OMAP=m
|
||||
CONFIG_DRM_OMAP_NUM_CRTCS=2
|
||||
CONFIG_OMAP2_VRAM=y
|
||||
CONFIG_OMAP2_VRAM_SIZE=0
|
||||
CONFIG_OMAP2_VRFB=y
|
||||
# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
|
||||
# CONFIG_FB_OMAP_LCD_VGA is not set
|
||||
# CONFIG_FB_OMAP2 is not set
|
||||
# CONFIG_FB_DA8XX is not set
|
||||
|
||||
CONFIG_OMAP2_DSS=m
|
||||
CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
|
||||
# CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set
|
||||
CONFIG_OMAP2_DSS_DPI=y
|
||||
CONFIG_OMAP2_DSS_RFBI=y
|
||||
CONFIG_OMAP2_DSS_VENC=y
|
||||
CONFIG_OMAP4_DSS_HDMI=y
|
||||
CONFIG_OMAP2_DSS_SDI=y
|
||||
CONFIG_OMAP2_DSS_DSI=y
|
||||
# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
|
||||
CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
|
||||
CONFIG_OMAP2_DSS_SLEEP_BEFORE_RESET=y
|
||||
CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET=y
|
||||
|
||||
CONFIG_PANEL_GENERIC_DPI=m
|
||||
CONFIG_PANEL_TFP410=m
|
||||
CONFIG_PANEL_SHARP_LS037V7DW01=m
|
||||
CONFIG_PANEL_PICODLP=m
|
||||
CONFIG_PANEL_TAAL=m
|
||||
CONFIG_PANEL_NEC_NL8048HL11_01B=m
|
||||
CONFIG_PANEL_TPO_TD043MTEA1=m
|
||||
CONFIG_PANEL_LGPHILIPS_LB035Q02=m
|
||||
CONFIG_PANEL_ACX565AKM=m
|
||||
# CONFIG_PANEL_N8X0 is not set
|
||||
|
||||
# Enable V4L2 drivers for OMAP2+
|
||||
CONFIG_MEDIA_CONTROLLER=y
|
||||
CONFIG_VIDEO_V4L2_SUBDEV_API=y
|
||||
CONFIG_V4L_PLATFORM_DRIVERS=y
|
||||
# CONFIG_VIDEO_OMAP2_VOUT is not set
|
||||
# CONFIG_VIDEO_OMAP3 is not set
|
||||
# CONFIG_VIDEO_VPFE_CAPTURE is not set
|
||||
# The ones below are for TI Davinci
|
||||
# CONFIG_VIDEO_VPSS_SYSTEM is not set
|
||||
# CONFIG_VIDEO_DM6446_CCDC is not set
|
||||
# CONFIG_VIDEO_DM644X_VPBE is not set
|
||||
# CONFIG_VIDEO_DM355_CCDC is not set
|
||||
# CONFIG_VIDEO_ISIF is not set
|
||||
# Also enable vivi driver - useful for testing a full kernelspace V4L2 driver
|
||||
CONFIG_V4L_TEST_DRIVERS=y
|
||||
CONFIG_VIDEO_VIVI=m
|
||||
|
||||
CONFIG_SND_OMAP_SOC_OMAP_ABE_TWL6040=m
|
||||
CONFIG_SND_OMAP_SOC_OMAP_HDMI=m
|
||||
CONFIG_SND_OMAP_SOC_OMAP_TWL4030=m
|
||||
CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m
|
||||
|
||||
CONFIG_SND_OMAP_SOC=m
|
||||
CONFIG_SND_SOC_I2C_AND_SPI=m
|
||||
CONFIG_SND_OMAP_SOC_AM3517EVM=m
|
||||
CONFIG_SND_OMAP_SOC_DMIC=m
|
||||
CONFIG_SND_OMAP_SOC_IGEP0020=m
|
||||
CONFIG_SND_OMAP_SOC_MCBSP=m
|
||||
CONFIG_SND_OMAP_SOC_MCPDM=m
|
||||
CONFIG_SND_OMAP_SOC_OMAP_HDMI=m
|
||||
CONFIG_SND_OMAP_SOC_OMAP_ABE_TWL6040=m
|
||||
CONFIG_SND_OMAP_SOC_OMAP_TWL4030=m
|
||||
CONFIG_SND_OMAP_SOC_OMAP3EVM=m
|
||||
CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE=m
|
||||
CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m
|
||||
CONFIG_SND_OMAP_SOC_OVERO=m
|
||||
# CONFIG_SND_OMAP_SOC_RX51 is not set
|
||||
CONFIG_SND_OMAP_SOC_SDP4430=m
|
||||
CONFIG_SND_SOC_TLV320AIC23=m
|
||||
CONFIG_SND_SOC_TLV320AIC3X=m
|
||||
CONFIG_SND_SOC_TWL4030=m
|
||||
CONFIG_SND_SOC_TWL6040=m
|
||||
CONFIG_RADIO_WL128X=m
|
||||
|
||||
# CONFIG_OMAP_REMOTEPROC is not set
|
||||
|
||||
# CONFIG_TIDSPBRIDGE is not set
|
||||
# CONFIG_TIDSPBRIDGE_MEMPOOL_SIZE=0x600000
|
||||
# CONFIG_TIDSPBRIDGE_DEBUG is not set
|
||||
# CONFIG_TIDSPBRIDGE_RECOVERY=y
|
||||
# CONFIG_TIDSPBRIDGE_CACHE_LINE_CHECK is not set
|
||||
# CONFIG_TIDSPBRIDGE_WDT3=y
|
||||
# CONFIG_TIDSPBRIDGE_WDT_TIMEOUT=5
|
||||
# CONFIG_TIDSPBRIDGE_NTFY_PWRERR is not set
|
||||
# CONFIG_TIDSPBRIDGE_BACKTRACE is not set
|
||||
|
||||
# CONFIG_OMAP2_DSS_DEBUGFS is not set
|
||||
# CONFIG_OMAP_IOMMU_DEBUG is not set
|
||||
# CONFIG_OMAP_MUX_DEBUG is not set
|
||||
# CONFIG_VIDEO_OMAP3_DEBUG is not set
|
||||
|
||||
# Allwinner a1x
|
||||
CONFIG_PINCTRL_SUNXI=y
|
||||
# CONFIG_SUNXI_RFKILL=y
|
||||
# CONFIG_SUNXI_NAND=y
|
||||
# CONFIG_SUNXI_DBGREG=m
|
||||
# CONFIG_WEMAC_SUN4I=y
|
||||
# CONFIG_KEYBOARD_SUN4IKEYPAD=m
|
||||
# CONFIG_KEYBOARD_SUN4I_KEYBOARD=m
|
||||
# CONFIG_IR_SUN4I=m
|
||||
# CONFIG_TOUCHSCREEN_SUN4I_TS=m
|
||||
# CONFIG_SUN4I_G2D=y
|
||||
# CONFIG_I2C_SUN4I=y
|
||||
# CONFIG_DRM_MALI=m
|
||||
# CONFIG_MALI=m
|
||||
# CONFIG_FB_SUNXI=m
|
||||
# CONFIG_FB_SUNXI_UMP=y
|
||||
# CONFIG_FB_SUNXI_LCD=m
|
||||
# CONFIG_FB_SUNXI_HDMI=m
|
||||
# CONFIG_SOUND_SUN4I=y
|
||||
# CONFIG_SND_SUN4I_SOC_CODEC=y
|
||||
# CONFIG_SND_SUN4I_SOC_HDMIAUDIO=y
|
||||
# CONFIG_SND_SUN4I_SOC_SPDIF=m
|
||||
# CONFIG_SND_SUN4I_SOC_I2S_INTERFACE=m
|
||||
# CONFIG_SND_SOC_I2C_AND_SPI=y
|
||||
# CONFIG_USB_SW_SUN4I_HCD=y
|
||||
# CONFIG_USB_SW_SUN4I_HCD0=y
|
||||
# CONFIG_USB_SW_SUN4I_HCI=y
|
||||
# CONFIG_USB_SW_SUN4I_EHCI0=y
|
||||
# CONFIG_USB_SW_SUN4I_EHCI1=y
|
||||
# CONFIG_USB_SW_SUN4I_OHCI0=y
|
||||
# CONFIG_USB_SW_SUN4I_OHCI1=y
|
||||
# CONFIG_USB_SW_SUN4I_USB=y
|
||||
# CONFIG_USB_SW_SUN4I_USB_MANAGER=y
|
||||
# CONFIG_MMC_SUNXI_POWER_CONTROL=y
|
||||
# CONFIG_MMC_SUNXI=y
|
||||
# CONFIG_RTC_DRV_SUN4I=y
|
||||
|
||||
# imx
|
||||
# CONFIG_BACKLIGHT_PWM is not set
|
||||
# CONFIG_DRM_IMX is not set
|
||||
# CONFIG_DRM_IMX_FB_HELPER=m
|
||||
# CONFIG_DRM_IMX_PARALLEL_DISPLAY=m
|
||||
# CONFIG_DRM_IMX_IPUV3_CORE=m
|
||||
# CONFIG_DRM_IMX_IPUV3=m
|
||||
# CONFIG_VIDEO_CODA is not set
|
||||
|
||||
CONFIG_INPUT_PWM_BEEPER=m
|
||||
CONFIG_INPUT_88PM80X_ONKEY=m
|
||||
|
||||
# exynos
|
||||
# CONFIG_DRM_EXYNOS is not set
|
||||
# CONFIG_PINCTRL_EXYNOS5440 is not set
|
||||
# CONFIG_PINCTRL_EXYNOS is not set
|
||||
|
||||
# picoxcell
|
||||
CONFIG_CRYPTO_DEV_PICOXCELL=m
|
||||
CONFIG_HW_RANDOM_PICOXCELL=m
|
||||
|
||||
# ST Ericsson
|
||||
# CONFIG_I2C_NOMADIK is not set
|
||||
# CONFIG_SENSORS_LIS3_I2C is not set
|
||||
|
||||
# ZYNQ
|
||||
CONFIG_LATTICE_ECP3_CONFIG=m
|
||||
|
||||
# MMC/SD
|
||||
CONFIG_MMC_TMIO=m
|
||||
CONFIG_MMC_SDHCI_PXAV3=m
|
||||
CONFIG_MMC_SDHCI_PXAV2=m
|
||||
|
||||
# Multi function devices
|
||||
CONFIG_MFD_CORE=m
|
||||
CONFIG_MFD_SYSCON=y
|
||||
CONFIG_MFD_88PM800=m
|
||||
CONFIG_MFD_88PM805=m
|
||||
CONFIG_MFD_T7L66XB=y
|
||||
CONFIG_MFD_TC6387XB=y
|
||||
|
||||
# Regulator drivers
|
||||
CONFIG_REGULATOR_FAN53555=m
|
||||
# CONFIG_CHARGER_MANAGER is not set
|
||||
# CONFIG_REGULATOR_DUMMY is not set
|
||||
# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
|
||||
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
|
||||
CONFIG_RFKILL_REGULATOR=m
|
||||
CONFIG_REGULATOR_GPIO=m
|
||||
CONFIG_REGULATOR_AD5398=m
|
||||
CONFIG_REGULATOR_ISL6271A=m
|
||||
CONFIG_REGULATOR_MAX1586=m
|
||||
CONFIG_REGULATOR_MAX8649=m
|
||||
CONFIG_REGULATOR_MAX8660=m
|
||||
CONFIG_REGULATOR_MAX8952=m
|
||||
CONFIG_REGULATOR_MAX8973=m
|
||||
CONFIG_REGULATOR_LP3971=m
|
||||
CONFIG_REGULATOR_LP3972=m
|
||||
CONFIG_REGULATOR_TPS51632=m
|
||||
CONFIG_REGULATOR_TPS62360=m
|
||||
CONFIG_REGULATOR_TPS65023=m
|
||||
CONFIG_REGULATOR_TPS6524X=m
|
||||
CONFIG_REGULATOR_TPS6507X=m
|
||||
CONFIG_REGULATOR_TPS65912=m
|
||||
CONFIG_REGULATOR_MAX8907=m
|
||||
CONFIG_REGULATOR_LP872X=y
|
||||
CONFIG_REGULATOR_LP8755=m
|
||||
|
||||
# Needs work/investigation
|
||||
|
||||
# CONFIG_ARM_CHARLCD is not set
|
||||
# CONFIG_MTD_AFS_PARTS is not set
|
||||
# CONFIG_IP_PNP_RARP is not set
|
||||
# CONFIG_ASYMMETRIC_KEY_TYPE is not set
|
||||
# CONFIG_PID_IN_CONTEXTIDR is not set
|
||||
# CONFIG_DEPRECATED_PARAM_STRUCT is not set
|
||||
|
||||
# CONFIG_ARM_KPROBES_TEST is not set
|
||||
|
||||
# Defined config options we don't use yet
|
||||
# CONFIG_PINCTRL_IMX35 is not set
|
||||
# CONFIG_DRM_IMX_FB_HELPER is not set
|
||||
# CONFIG_DRM_IMX_PARALLEL_DISPLAY is not set
|
||||
# CONFIG_DRM_IMX_IPUV3_CORE is not set
|
||||
# CONFIG_DRM_IMX_IPUV3 is not set
|
||||
# CONFIG_REGULATOR_ANATOP is not set
|
||||
|
||||
# CONFIG_BATTERY_RX51 is not set
|
||||
# CONFIG_IR_RX51 is not set
|
||||
# CONFIG_GENERIC_CPUFREQ_CPU0 is not set
|
||||
# CONFIG_MFD_SMSC is not set
|
||||
# CONFIG_MFD_SEC_CORE is not set
|
||||
# CONFIG_MFD_DA9055 is not set
|
||||
# CONFIG_MFD_LP8788 is not set
|
||||
# CONFIG_MFD_MAX8907 is not set
|
||||
# CONFIG_MFD_TPS65912_I2C is not set
|
||||
# CONFIG_MFD_DA9052_I2C is not set
|
||||
# CONFIG_MFD_MAX77686 is not set
|
||||
# CONFIG_MFD_MAX77693 is not set
|
||||
# CONFIG_MFD_MAX8997 is not set
|
||||
# CONFIG_MFD_TPS65090 is not set
|
||||
# CONFIG_MFD_AAT2870_CORE is not set
|
||||
# CONFIG_MFD_RC5T583 is not set
|
||||
# CONFIG_MFD_PALMAS is not set
|
||||
# CONFIG_MFD_DA9055 is not set
|
||||
# CONFIG_MFD_SMSC is not set
|
||||
# CONFIG_MFD_TPS65910 is not set
|
||||
# CONFIG_MFD_AS3711 is not set
|
||||
# CONFIG_PMIC_DA903X is not set
|
||||
# CONFIG_PMIC_ADP5520 is not set
|
||||
# CONFIG_REGULATOR_LP3972 is not set
|
||||
# CONFIG_REGULATOR_LP872X is not set
|
||||
# CONFIG_SGI_IOC4 is not set
|
||||
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
|
||||
|
||||
# CONFIG_DVB_USB_PCTV452E is not set
|
||||
# We need to fix these as they should be either generic includes or kconfig fixes
|
||||
# drivers/input/touchscreen/eeti_ts.c:65:2: error: implicit declaration of function 'irq_to_gpio' [-Werror=implicit-function-declaration]
|
||||
# CONFIG_TOUCHSCREEN_EETI is not set
|
||||
# CONFIG_TOUCHSCREEN_EGALAX is not set
|
||||
# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
|
||||
|
||||
# CONFIG_VIRTUALIZATION is not set
|
||||
# CONFIG_CHARGER_MANAGER is not set
|
||||
# CONFIG_POWER_RESET_QNAP is not set
|
||||
# CONFIG_POWER_RESET_RESTART is not set
|
||||
# CONFIG_OMAP2_DSS_DEBUG is not set
|
|
@ -0,0 +1,469 @@
|
|||
# arm configs for sharing between armv7 and armv7-lpae
|
||||
# Generic ARM config options
|
||||
CONFIG_ARM=y
|
||||
|
||||
CONFIG_CMDLINE=""
|
||||
CONFIG_HAVE_ARM_ARCH_TIMER=y
|
||||
CONFIG_HAVE_ARM_TWD=y
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_VFP=y
|
||||
CONFIG_VFPv3=y
|
||||
CONFIG_NEON=y
|
||||
CONFIG_ARM_UNWIND=y
|
||||
CONFIG_ARM_THUMB=y
|
||||
CONFIG_ARM_THUMBEE=y
|
||||
CONFIG_ARM_GIC=y
|
||||
CONFIG_ARM_ASM_UNIFIED=y
|
||||
CONFIG_ARM_CPU_TOPOLOGY=y
|
||||
CONFIG_ARM_DMA_MEM_BUFFERABLE=y
|
||||
CONFIG_SWP_EMULATE=y
|
||||
CONFIG_CACHE_L2X0=y
|
||||
CONFIG_CACHE_PL310=y
|
||||
CONFIG_HIGHPTE=y
|
||||
CONFIG_AUTO_ZRELADDR=y
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
CONFIG_ATAGS=y
|
||||
CONFIG_ATAGS_PROC=y
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
|
||||
CONFIG_XZ_DEC_ARMTHUMB=y
|
||||
CONFIG_ARM_ARCH_TIMER=y
|
||||
CONFIG_ARCH_HAS_TICK_BROADCAST=y
|
||||
CONFIG_ALWAYS_USE_PERSISTENT_CLOCK=y
|
||||
|
||||
# CONFIG_OABI_COMPAT is not set
|
||||
# CONFIG_FPE_NWFPE is not set
|
||||
# CONFIG_FPE_FASTFPE is not set
|
||||
# CONFIG_APM_EMULATION is not set
|
||||
# CONFIG_CPU_ICACHE_DISABLE is not set
|
||||
# CONFIG_CPU_DCACHE_DISABLE is not set
|
||||
# CONFIG_CPU_BPREDICT_DISABLE is not set
|
||||
# CONFIG_DMA_CACHE_RWFO is not set
|
||||
# CONFIG_THUMB2_KERNEL is not set
|
||||
# CONFIG_HVC_DCC is not set
|
||||
# CONFIG_XIP_KERNEL is not set
|
||||
# CONFIG_ARM_VIRT_EXT is not set
|
||||
|
||||
# errata
|
||||
# v5/v6
|
||||
# CONFIG_ARM_ERRATA_326103 is not set
|
||||
# CONFIG_ARM_ERRATA_411920 is not set
|
||||
# Cortex-A8
|
||||
CONFIG_ARM_ERRATA_430973=y
|
||||
CONFIG_ARM_ERRATA_458693=y
|
||||
CONFIG_ARM_ERRATA_460075=y
|
||||
# Cortex-A9
|
||||
CONFIG_ARM_ERRATA_643719=y
|
||||
CONFIG_ARM_ERRATA_720789=y
|
||||
CONFIG_ARM_ERRATA_742230=y
|
||||
CONFIG_ARM_ERRATA_742231=y
|
||||
CONFIG_ARM_ERRATA_743622=y
|
||||
CONFIG_ARM_ERRATA_751472=y
|
||||
CONFIG_ARM_ERRATA_754322=y
|
||||
CONFIG_ARM_ERRATA_754327=y
|
||||
CONFIG_ARM_ERRATA_764369=y
|
||||
CONFIG_ARM_ERRATA_775420=y
|
||||
# Disabled due to causing highbank to crash
|
||||
# CONFIG_PL310_ERRATA_588369 is not set
|
||||
# CONFIG_PL310_ERRATA_727915 is not set
|
||||
CONFIG_PL310_ERRATA_753970=y
|
||||
CONFIG_PL310_ERRATA_769419=y
|
||||
# Cortex-A15
|
||||
CONFIG_ARM_ERRATA_798181=y
|
||||
|
||||
# generic that deviates from or should be merged into config-generic
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NR_CPUS=8
|
||||
CONFIG_SMP_ON_UP=y
|
||||
CONFIG_HIGHMEM=y
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
|
||||
CONFIG_SCHED_MC=y
|
||||
CONFIG_SCHED_SMT=y
|
||||
|
||||
CONFIG_RCU_FANOUT=32
|
||||
CONFIG_RCU_FANOUT_LEAF=16
|
||||
|
||||
# 2013/04/19 - disable due to stability issues in 3.9 for the moment
|
||||
# CONFIG_CPU_IDLE is not set
|
||||
## CONFIG_CPU_IDLE_GOV_LADDER is not set
|
||||
# CONFIG_CPU_IDLE_GOV_MENU is not set
|
||||
# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
|
||||
|
||||
CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
|
||||
CONFIG_LSM_MMAP_MIN_ADDR=32768
|
||||
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
|
||||
CONFIG_SECCOMP=y
|
||||
CONFIG_STRICT_DEVMEM=y
|
||||
|
||||
CONFIG_XZ_DEC_ARM=y
|
||||
CONFIG_OC_ETM=y
|
||||
|
||||
CONFIG_PM=y
|
||||
CONFIG_PM_STD_PARTITION=""
|
||||
CONFIG_SUSPEND=y
|
||||
CONFIG_ARM_CPU_SUSPEND=y
|
||||
|
||||
CONFIG_LOCAL_TIMERS=y
|
||||
CONFIG_HW_PERF_EVENTS=y
|
||||
CONFIG_UACCESS_WITH_MEMCPY=y
|
||||
CONFIG_CC_STACKPROTECTOR=y
|
||||
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
|
||||
# Root as NFS, different from mainline
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
|
||||
CONFIG_LBDAF=y
|
||||
|
||||
CONFIG_COMMON_CLK=y
|
||||
|
||||
# Device tree
|
||||
CONFIG_DTC=y
|
||||
CONFIG_OF=y
|
||||
CONFIG_USE_OF=y
|
||||
CONFIG_OF_DEVICE=y
|
||||
CONFIG_OF_IRQ=y
|
||||
CONFIG_DMA_OF=y
|
||||
CONFIG_ARM_ATAG_DTB_COMPAT=y
|
||||
CONFIG_ARM_APPENDED_DTB=y
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
# CONFIG_OF_SELFTEST is not set
|
||||
CONFIG_SERIAL_OF_PLATFORM=y
|
||||
CONFIG_OF_PCI=y
|
||||
CONFIG_OF_PCI_IRQ=y
|
||||
CONFIG_OF_GPIO=y
|
||||
CONFIG_I2C_MUX_PINCTRL=m
|
||||
CONFIG_OF_MDIO=m
|
||||
|
||||
CONFIG_OF_DISPLAY_TIMING=y
|
||||
CONFIG_OF_VIDEOMODE=y
|
||||
|
||||
# General vexpress ARM drivers
|
||||
CONFIG_ARM_AMBA=y
|
||||
CONFIG_ARM_TIMER_SP804=y
|
||||
|
||||
CONFIG_SERIO_AMBAKMI=m
|
||||
CONFIG_SERIAL_AMBA_PL010=y
|
||||
CONFIG_SERIAL_AMBA_PL010_CONSOLE=y
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_DW=y
|
||||
|
||||
CONFIG_RTC_DRV_PL030=y
|
||||
CONFIG_RTC_DRV_PL031=y
|
||||
|
||||
# disable because it's currently broken on highbank :-/
|
||||
# CONFIG_PL330_DMA is not set
|
||||
CONFIG_AMBA_PL08X=y
|
||||
CONFIG_ARM_SP805_WATCHDOG=m
|
||||
CONFIG_I2C_VERSATILE=m
|
||||
CONFIG_GPIO_PL061=y
|
||||
CONFIG_SENSORS_VEXPRESS=m
|
||||
CONFIG_FB_ARMCLCD=m
|
||||
CONFIG_REGULATOR_VEXPRESS=m
|
||||
|
||||
# usb
|
||||
CONFIG_USB_OTG=y
|
||||
# CONFIG_USB_OTG_WHITELIST is not set
|
||||
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
|
||||
CONFIG_USB_ULPI=y
|
||||
CONFIG_AX88796=m
|
||||
CONFIG_AX88796_93CX6=y
|
||||
CONFIG_SMC91X=m
|
||||
CONFIG_SMC911X=m
|
||||
CONFIG_SMSC911X=m
|
||||
CONFIG_USB_ISP1760_HCD=m
|
||||
|
||||
# Multifunction Devices
|
||||
CONFIG_MFD_SYSCON=y
|
||||
CONFIG_MFD_TPS65912_SPI=y
|
||||
# CONFIG_MFD_DA9052_SPI is not set
|
||||
# CONFIG_MFD_ARIZONA_SPI is not set
|
||||
# CONFIG_MFD_WM831X_SPI is not set
|
||||
# CONFIG_MFD_MC13XXX_SPI is not set
|
||||
|
||||
# Pin stuff
|
||||
CONFIG_PINMUX=y
|
||||
CONFIG_PINCONF=y
|
||||
CONFIG_PINCTRL=y
|
||||
CONFIG_PINCTRL_SINGLE=m
|
||||
# CONFIG_PINCTRL_SAMSUNG is not set
|
||||
# CONFIG_PINCTRL_EXYNOS4 is not set
|
||||
|
||||
# GPIO
|
||||
CONFIG_GPIO_GENERIC_PLATFORM=m
|
||||
CONFIG_EXTCON_GPIO=m
|
||||
CONFIG_GENERIC_GPIO=y
|
||||
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
|
||||
# CONFIG_GPIO_EM is not set
|
||||
CONFIG_GPIO_ADNP=m
|
||||
CONFIG_GPIO_MCP23S08=m
|
||||
CONFIG_POWER_RESET_GPIO=y
|
||||
CONFIG_RFKILL_GPIO=m
|
||||
CONFIG_SERIAL_8250_EM=m
|
||||
CONFIG_INPUT_GPIO_TILT_POLLED=m
|
||||
CONFIG_MDIO_BUS_MUX_GPIO=m
|
||||
CONFIG_MDIO_BUS_MUX_MMIOREG=m
|
||||
CONFIG_LEDS_GPIO=m
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_GPIO_MAX7301=m
|
||||
CONFIG_GPIO_MC33880=m
|
||||
CONFIG_GPIO_74X164=m
|
||||
CONFIG_GPIO_TPS65912=m
|
||||
CONFIG_W1_MASTER_GPIO=m
|
||||
CONFIG_CHARGER_GPIO=m
|
||||
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_GPIO=m
|
||||
CONFIG_SPI_BITBANG=m
|
||||
CONFIG_SPI_PL022=m
|
||||
CONFIG_SPI_SPIDEV=m
|
||||
CONFIG_SPI_ALTERA=m
|
||||
CONFIG_SPI_BUTTERFLY=m
|
||||
CONFIG_SPI_LM70_LLP=m
|
||||
CONFIG_SPI_OC_TINY=m
|
||||
CONFIG_SPI_S3C64XX=m
|
||||
CONFIG_SPI_SC18IS602=m
|
||||
CONFIG_SPI_XCOMM=m
|
||||
CONFIG_SPI_XILINX=m
|
||||
CONFIG_SPI_DESIGNWARE=m
|
||||
CONFIG_SPI_TLE62X0=m
|
||||
|
||||
# HW crypto and rng
|
||||
CONFIG_CRYPTO_SHA1_ARM=m
|
||||
CONFIG_CRYPTO_AES_ARM=m
|
||||
|
||||
# EDAC
|
||||
CONFIG_EDAC=y
|
||||
CONFIG_EDAC_MM_EDAC=m
|
||||
CONFIG_EDAC_LEGACY_SYSFS=y
|
||||
|
||||
# Watchdog
|
||||
CONFIG_MPCORE_WATCHDOG=m
|
||||
|
||||
# Thermal / powersaving
|
||||
CONFIG_THERMAL=y
|
||||
CONFIG_POWER_RESET_RESTART=y
|
||||
CONFIG_ARM_PSCI=y
|
||||
|
||||
# MTD
|
||||
CONFIG_MTD_OF_PARTS=y
|
||||
# CONFIG_MG_DISK is not set
|
||||
CONFIG_MTD_DATAFLASH=m
|
||||
CONFIG_MTD_DATAFLASH_WRITE_VERIFY=y
|
||||
CONFIG_MTD_DATAFLASH_OTP=y
|
||||
CONFIG_MTD_M25P80=m
|
||||
CONFIG_MTD_SST25L=m
|
||||
CONFIG_EEPROM_AT25=m
|
||||
CONFIG_EEPROM_93XX46=m
|
||||
|
||||
# MMC/SD
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_ARMMMCI=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=m
|
||||
CONFIG_MMC_SPI=m
|
||||
CONFIG_MMC_DW=m
|
||||
CONFIG_MMC_DW_PLTFM=m
|
||||
CONFIG_MMC_DW_PCI=m
|
||||
CONFIG_SPI_DW_MMIO=m
|
||||
# CONFIG_MMC_DW_EXYNOS is not set
|
||||
# CONFIG_MMC_DW_IDMAC is not set
|
||||
|
||||
# Sound
|
||||
CONFIG_SND_ARM=y
|
||||
CONFIG_SND_ARMAACI=m
|
||||
CONFIG_SND_SOC=m
|
||||
CONFIG_SND_SPI=y
|
||||
CONFIG_SND_DESIGNWARE_I2S=m
|
||||
CONFIG_SND_SIMPLE_CARD=m
|
||||
CONFIG_SND_SOC_CACHE_LZO=y
|
||||
CONFIG_SND_SOC_ALL_CODECS=m
|
||||
# CONFIG_SND_ATMEL_SOC is not set
|
||||
|
||||
# Displays
|
||||
CONFIG_FB_SSD1307=m
|
||||
|
||||
# PWM
|
||||
CONFIG_PWM=y
|
||||
CONFIG_BACKLIGHT_PWM=m
|
||||
|
||||
# RTC
|
||||
CONFIG_RTC_DRV_M41T93=m
|
||||
CONFIG_RTC_DRV_M41T94=m
|
||||
CONFIG_RTC_DRV_DS1305=m
|
||||
CONFIG_RTC_DRV_DS1390=m
|
||||
CONFIG_RTC_DRV_MAX6902=m
|
||||
CONFIG_RTC_DRV_R9701=m
|
||||
CONFIG_RTC_DRV_RS5C348=m
|
||||
CONFIG_RTC_DRV_DS3234=m
|
||||
CONFIG_RTC_DRV_PCF2123=m
|
||||
CONFIG_RTC_DRV_RX4581=m
|
||||
|
||||
# Regulators
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_RFKILL_REGULATOR=m
|
||||
CONFIG_CHARGER_MANAGER=y
|
||||
# CONFIG_REGULATOR_DUMMY is not set
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=m
|
||||
CONFIG_REGULATOR_VIRTUAL_CONSUMER=m
|
||||
CONFIG_REGULATOR_USERSPACE_CONSUMER=m
|
||||
CONFIG_REGULATOR_GPIO=m
|
||||
CONFIG_REGULATOR_AD5398=m
|
||||
CONFIG_REGULATOR_FAN53555=m
|
||||
CONFIG_REGULATOR_ANATOP=m
|
||||
CONFIG_REGULATOR_ISL6271A=m
|
||||
CONFIG_REGULATOR_MAX1586=m
|
||||
CONFIG_REGULATOR_MAX8649=m
|
||||
CONFIG_REGULATOR_MAX8660=m
|
||||
CONFIG_REGULATOR_MAX8952=m
|
||||
CONFIG_REGULATOR_MAX8973=m
|
||||
CONFIG_REGULATOR_LP3971=m
|
||||
CONFIG_REGULATOR_LP3972=m
|
||||
CONFIG_REGULATOR_LP8755=m
|
||||
CONFIG_REGULATOR_TPS51632=m
|
||||
CONFIG_REGULATOR_TPS62360=m
|
||||
CONFIG_REGULATOR_TPS65023=m
|
||||
CONFIG_REGULATOR_TPS6507X=m
|
||||
CONFIG_REGULATOR_TPS6524X=m
|
||||
CONFIG_REGULATOR_TPS65912=m
|
||||
|
||||
CONFIG_SENSORS_AD7314=m
|
||||
CONFIG_SENSORS_ADCXX=m
|
||||
CONFIG_SENSORS_LM70=m
|
||||
CONFIG_SENSORS_MAX1111=m
|
||||
CONFIG_SENSORS_ADS7871=m
|
||||
CONFIG_SENSORS_LIS3_SPI=m
|
||||
CONFIG_SENSORS_GPIO_FAN=m
|
||||
|
||||
CONFIG_LCD_L4F00242T03=m
|
||||
CONFIG_LCD_LMS283GF05=m
|
||||
CONFIG_LCD_LTV350QV=m
|
||||
CONFIG_LCD_ILI9320=m
|
||||
CONFIG_LCD_TDO24M=m
|
||||
CONFIG_LCD_VGG2432A4=m
|
||||
CONFIG_LCD_S6E63M0=m
|
||||
CONFIG_LCD_LD9040=m
|
||||
CONFIG_LCD_AMS369FG06=m
|
||||
CONFIG_LCD_LMS501KF03=m
|
||||
CONFIG_LCD_HX8357=m
|
||||
|
||||
CONFIG_INPUT_PWM_BEEPER=m
|
||||
CONFIG_INPUT_GP2A=m
|
||||
CONFIG_INPUT_ARIZONA_HAPTICS=m
|
||||
CONFIG_INPUT_MC13783_PWRBUTTON=m
|
||||
|
||||
|
||||
CONFIG_TOUCHSCREEN_ADS7846=m
|
||||
CONFIG_TOUCHSCREEN_AD7877=m
|
||||
CONFIG_TOUCHSCREEN_MC13783=m
|
||||
CONFIG_TOUCHSCREEN_TSC2005=m
|
||||
|
||||
CONFIG_LEDS_DAC124S085=m
|
||||
CONFIG_LEDS_PWM=m
|
||||
CONFIG_BMP085_SPI=m
|
||||
|
||||
# Ethernet
|
||||
CONFIG_KS8851=m
|
||||
CONFIG_ENC28J60=m
|
||||
CONFIG_LIBERTAS_SPI=m
|
||||
CONFIG_P54_SPI=m
|
||||
CONFIG_P54_SPI_DEFAULT_EEPROM=n
|
||||
CONFIG_MICREL_KS8995MA=m
|
||||
CONFIG_IEEE802154_AT86RF230=m
|
||||
CONFIG_IEEE802154_MRF24J40=m
|
||||
|
||||
CONFIG_ARM_KPROBES_TEST=m
|
||||
|
||||
# jffs2
|
||||
CONFIG_JFFS2_FS=m
|
||||
CONFIG_JFFS2_FS_DEBUG=0
|
||||
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
|
||||
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
|
||||
CONFIG_JFFS2_FS_POSIX_ACL=y
|
||||
CONFIG_JFFS2_FS_SECURITY=y
|
||||
CONFIG_JFFS2_FS_WRITEBUFFER=y
|
||||
CONFIG_JFFS2_FS_XATTR=y
|
||||
CONFIG_JFFS2_LZO=y
|
||||
CONFIG_JFFS2_RTIME=y
|
||||
CONFIG_JFFS2_RUBIN=y
|
||||
CONFIG_JFFS2_SUMMARY=y
|
||||
CONFIG_JFFS2_ZLIB=y
|
||||
|
||||
CONFIG_UBIFS_FS=m
|
||||
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
|
||||
CONFIG_UBIFS_FS_LZO=y
|
||||
CONFIG_UBIFS_FS_ZLIB=y
|
||||
# CONFIG_UBIFS_FS_DEBUG is not set
|
||||
|
||||
# Should be in generic
|
||||
CONFIG_ETHERNET=y
|
||||
CONFIG_BPF_JIT=y
|
||||
# CONFIG_NET_VENDOR_BROADCOM is not set
|
||||
# CONFIG_NET_VENDOR_CIRRUS is not set
|
||||
# CONFIG_NET_VENDOR_MICROCHIP is not set
|
||||
|
||||
# CONFIG_PATA_PLATFORM is not set
|
||||
CONFIG_PERF_EVENTS=y
|
||||
|
||||
# CONFIG_RTC_DRV_SNVS is not set
|
||||
# CONFIG_DRM_EXYNOS is not set
|
||||
# CONFIG_DRM_TILCDC is not set
|
||||
# CONFIG_DRM_IMX is not set
|
||||
# CONFIG_MMC_SDHCI_PXAV3 is not set
|
||||
# CONFIG_MMC_SDHCI_PXAV2 is not set
|
||||
# CONFIG_CS89x0 is not set
|
||||
# CONFIG_DM9000 is not set
|
||||
# CONFIG_HW_RANDOM_ATMEL is not set
|
||||
# CONFIG_HW_RANDOM_EXYNOS is not set
|
||||
# CONFIG_I2C_NOMADIK is not set
|
||||
# CONFIG_LEDS_RENESAS_TPU is not set
|
||||
# CONFIG_MFD_T7L66XB is not set
|
||||
# CONFIG_MFD_TC6387XB is not set
|
||||
# CONFIG_TI_DAC7512 is not set
|
||||
# CONFIG_EZX_PCAP is not set
|
||||
|
||||
# Needs work/investigation
|
||||
# CONFIG_ARM_CHARLCD is not set
|
||||
# CONFIG_MTD_AFS_PARTS is not set
|
||||
# CONFIG_IP_PNP_RARP is not set
|
||||
# CONFIG_ASYMMETRIC_KEY_TYPE is not set
|
||||
# CONFIG_PID_IN_CONTEXTIDR is not set
|
||||
# CONFIG_DEPRECATED_PARAM_STRUCT is not set
|
||||
# CONFIG_LATTICE_ECP3_CONFIG is not set
|
||||
# CONFIG_M25PXX_USE_FAST_READ is not set
|
||||
# CONFIG_SERIAL_MAX3100 is not set
|
||||
# CONFIG_SERIAL_MAX310X is not set
|
||||
# CONFIG_SERIAL_IFX6X60 is not set
|
||||
|
||||
# these modules all fail with missing __bad_udelay
|
||||
# http://www.spinics.net/lists/arm/msg15615.html provides some background
|
||||
# CONFIG_SUNGEM is not set
|
||||
# CONFIG_FB_SAVAGE is not set
|
||||
# CONFIG_FB_RADEON is not set
|
||||
# CONFIG_DRM_RADEON is not set
|
||||
# CONFIG_ATM_HE is not set
|
||||
# CONFIG_SCSI_ACARD is not set
|
||||
# CONFIG_SFC is not set
|
||||
|
||||
# these all currently fail due to missing symbols __bad_udelay or
|
||||
# error: implicit declaration of function ‘iowrite32be’
|
||||
# CONFIG_SND_ALI5451 is not set
|
||||
# CONFIG_DRM_NOUVEAU is not set
|
||||
# CONFIG_MLX4_EN is not set
|
||||
|
||||
# Debug options. We need to deal with them at some point like x86
|
||||
# CONFIG_COMMON_CLK_DEBUG is not set
|
||||
# CONFIG_DEBUG_USER is not set
|
||||
# CONFIG_DEBUG_LL is not set
|
||||
# CONFIG_IRQ_DOMAIN_DEBUG is not set
|
||||
# CONFIG_DEBUG_PINCTRL is not set
|
|
@ -0,0 +1,108 @@
|
|||
CONFIG_ARCH_TEGRA=y
|
||||
|
||||
CONFIG_ARCH_TEGRA_2x_SOC=y
|
||||
# CONFIG_ARCH_TEGRA_3x_SOC is not set
|
||||
# CONFIG_ARCH_TEGRA_114_SOC is not set
|
||||
|
||||
# CONFIG_NEON is not set
|
||||
# These are supported in the LPAE kernel
|
||||
# CONFIG_ARM_LPAE is not set
|
||||
# CONFIG_XEN is not set
|
||||
# CONFIG_VIRTIO_CONSOLE is not set
|
||||
# CONFIG_ARM_VIRT_EXT is not set
|
||||
# CONFIG_VIRTUALIZATION is not set
|
||||
|
||||
# CONFIG_MACH_HARMONY is not set
|
||||
CONFIG_MACH_KAEN=y
|
||||
CONFIG_MACH_PAZ00=y
|
||||
CONFIG_MACH_SEABOARD=y
|
||||
CONFIG_MACH_TEGRA_DT=y
|
||||
CONFIG_MACH_TRIMSLICE=y
|
||||
CONFIG_MACH_WARIO=y
|
||||
CONFIG_MACH_VENTANA=y
|
||||
|
||||
CONFIG_TEGRA_PCI=y
|
||||
CONFIG_TEGRA_IOMMU_GART=y
|
||||
CONFIG_TEGRA_IOMMU_SMMU=y
|
||||
|
||||
CONFIG_I2C_TEGRA=m
|
||||
|
||||
# This block is temporary until we work out why the MMC modules don't work as modules
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_BLOCK=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
CONFIG_MMC_SDHCI_OF=y
|
||||
CONFIG_MMC_SDHCI_TEGRA=y
|
||||
|
||||
CONFIG_TEGRA_SYSTEM_DMA=y
|
||||
CONFIG_TEGRA_EMC_SCALING_ENABLE=y
|
||||
CONFIG_TEGRA_AHB=y
|
||||
CONFIG_TEGRA20_APB_DMA=y
|
||||
CONFIG_SPI_TEGRA20_SFLASH=m
|
||||
CONFIG_SPI_TEGRA20_SLINK=m
|
||||
|
||||
CONFIG_KEYBOARD_TEGRA=m
|
||||
CONFIG_PINCTRL_TEGRA=y
|
||||
CONFIG_PINCTRL_TEGRA20=y
|
||||
CONFIG_PINCTRL_TEGRA30=y
|
||||
CONFIG_USB_EHCI_TEGRA=y
|
||||
CONFIG_RTC_DRV_TEGRA=y
|
||||
|
||||
CONFIG_SND_SOC_TEGRA=m
|
||||
CONFIG_SND_SOC_TEGRA_ALC5632=m
|
||||
CONFIG_SND_SOC_TEGRA_WM8753=m
|
||||
CONFIG_SND_SOC_TEGRA_WM8903=m
|
||||
CONFIG_SND_SOC_TEGRA_WM9712=m
|
||||
CONFIG_SND_SOC_TEGRA_TRIMSLICE=m
|
||||
CONFIG_SND_SOC_TEGRA30_AHUB=m
|
||||
CONFIG_SND_SOC_TEGRA30_I2S=m
|
||||
CONFIG_SND_SOC_TEGRA20_AC97=m
|
||||
|
||||
# AC100 (PAZ00)
|
||||
CONFIG_MFD_NVEC=y
|
||||
CONFIG_MFD_TPS80031=y
|
||||
CONFIG_KEYBOARD_NVEC=y
|
||||
CONFIG_SERIO_NVEC_PS2=y
|
||||
CONFIG_NVEC_POWER=y
|
||||
CONFIG_POWER_SUPPLY=y
|
||||
CONFIG_NVEC_LEDS=y
|
||||
CONFIG_NVEC_PAZ00=y
|
||||
|
||||
# CONFIG_MFD_TPS6586X is not set
|
||||
# CONFIG_RTC_DRV_TPS6586X is not set
|
||||
|
||||
CONFIG_PWM_TEGRA=m
|
||||
|
||||
CONFIG_CMA=y
|
||||
# CONFIG_CMA_DEBUG is not set
|
||||
CONFIG_CMA_SIZE_MBYTES=16
|
||||
CONFIG_CMA_SIZE_SEL_MBYTES=y
|
||||
# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
|
||||
# CONFIG_CMA_SIZE_SEL_MIN is not set
|
||||
# CONFIG_CMA_SIZE_SEL_MAX is not set
|
||||
CONFIG_CMA_ALIGNMENT=8
|
||||
CONFIG_CMA_AREAS=7
|
||||
|
||||
CONFIG_DRM_TEGRA=m
|
||||
|
||||
CONFIG_CRYPTO_DEV_TEGRA_AES=m
|
||||
|
||||
CONFIG_LEDS_RENESAS_TPU=y
|
||||
|
||||
CONFIG_OF=y
|
||||
CONFIG_SERIAL_OF_PLATFORM=y
|
||||
CONFIG_SERIAL_TEGRA=y
|
||||
CONFIG_OF_GPIO=y
|
||||
CONFIG_OF_PCI=y
|
||||
CONFIG_OF_PCI_IRQ=y
|
||||
|
||||
# CONFIG_DRM_TEGRA_DEBUG is not set
|
||||
# CONFIG_TI_DAC7512 is not set
|
||||
# CONFIG_SPI_TOPCLIFF_PCH is not set
|
||||
# CONFIG_SPI_DW_PCI is not set
|
||||
# CONFIG_SPI_PXA2XX is not set
|
||||
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
|
||||
# CONFIG_SGI_IOC4 is not set
|
||||
# CONFIG_PINCTRL_EXYNOS is not set
|
||||
# CONFIG_PINCTRL_EXYNOS5440 is not set
|
|
@ -0,0 +1,119 @@
|
|||
CONFIG_SND_VERBOSE_PRINTK=y
|
||||
CONFIG_SND_DEBUG=y
|
||||
CONFIG_SND_PCM_XRUN_DEBUG=y
|
||||
|
||||
CONFIG_DEBUG_ATOMIC_SLEEP=y
|
||||
|
||||
CONFIG_DEBUG_MUTEXES=y
|
||||
CONFIG_DEBUG_RT_MUTEXES=y
|
||||
CONFIG_DEBUG_LOCK_ALLOC=y
|
||||
CONFIG_PROVE_LOCKING=y
|
||||
CONFIG_DEBUG_SPINLOCK=y
|
||||
CONFIG_PROVE_RCU=y
|
||||
# CONFIG_PROVE_RCU_REPEATEDLY is not set
|
||||
CONFIG_DEBUG_PER_CPU_MAPS=y
|
||||
CONFIG_CPUMASK_OFFSTACK=y
|
||||
|
||||
CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
|
||||
|
||||
CONFIG_FAULT_INJECTION=y
|
||||
CONFIG_FAILSLAB=y
|
||||
CONFIG_FAIL_PAGE_ALLOC=y
|
||||
CONFIG_FAIL_MAKE_REQUEST=y
|
||||
CONFIG_FAULT_INJECTION_DEBUG_FS=y
|
||||
CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
|
||||
CONFIG_FAIL_IO_TIMEOUT=y
|
||||
CONFIG_FAIL_MMC_REQUEST=y
|
||||
|
||||
CONFIG_SLUB_DEBUG_ON=y
|
||||
|
||||
CONFIG_LOCK_STAT=y
|
||||
|
||||
CONFIG_DEBUG_STACK_USAGE=y
|
||||
|
||||
CONFIG_ACPI_DEBUG=y
|
||||
# CONFIG_ACPI_DEBUG_FUNC_TRACE is not set
|
||||
|
||||
CONFIG_DEBUG_SG=y
|
||||
|
||||
# CONFIG_DEBUG_PAGEALLOC is not set
|
||||
|
||||
CONFIG_DEBUG_WRITECOUNT=y
|
||||
CONFIG_DEBUG_OBJECTS=y
|
||||
# CONFIG_DEBUG_OBJECTS_SELFTEST is not set
|
||||
CONFIG_DEBUG_OBJECTS_FREE=y
|
||||
CONFIG_DEBUG_OBJECTS_TIMERS=y
|
||||
CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
|
||||
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
|
||||
|
||||
CONFIG_X86_PTDUMP=y
|
||||
|
||||
CONFIG_CAN_DEBUG_DEVICES=y
|
||||
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
|
||||
CONFIG_SYSCTL_SYSCALL_CHECK=y
|
||||
|
||||
CONFIG_DEBUG_NOTIFIERS=y
|
||||
|
||||
CONFIG_DMA_API_DEBUG=y
|
||||
|
||||
CONFIG_MMIOTRACE=y
|
||||
|
||||
CONFIG_DEBUG_CREDENTIALS=y
|
||||
|
||||
CONFIG_EXT4_DEBUG=y
|
||||
|
||||
CONFIG_DEBUG_PERF_USE_VMALLOC=y
|
||||
|
||||
# off in both production debug and nodebug builds,
|
||||
# on in rawhide nodebug builds
|
||||
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
|
||||
|
||||
CONFIG_JBD2_DEBUG=y
|
||||
|
||||
CONFIG_NFSD_FAULT_INJECTION=y
|
||||
|
||||
CONFIG_DEBUG_BLK_CGROUP=y
|
||||
|
||||
CONFIG_DRBD_FAULT_INJECTION=y
|
||||
|
||||
CONFIG_ATH_DEBUG=y
|
||||
CONFIG_CARL9170_DEBUGFS=y
|
||||
CONFIG_IWLWIFI_DEVICE_TRACING=y
|
||||
|
||||
CONFIG_DEBUG_OBJECTS_WORK=y
|
||||
|
||||
CONFIG_DMADEVICES_DEBUG=y
|
||||
CONFIG_DMADEVICES_VDEBUG=y
|
||||
|
||||
CONFIG_PM_ADVANCED_DEBUG=y
|
||||
|
||||
CONFIG_CEPH_LIB_PRETTYDEBUG=y
|
||||
CONFIG_QUOTA_DEBUG=y
|
||||
|
||||
CONFIG_PCI_DEFAULT_USE_CRS=y
|
||||
|
||||
CONFIG_KGDB_KDB=y
|
||||
CONFIG_KDB_KEYBOARD=y
|
||||
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
|
||||
|
||||
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
|
||||
CONFIG_TEST_LIST_SORT=y
|
||||
|
||||
CONFIG_DETECT_HUNG_TASK=y
|
||||
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
|
||||
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
|
||||
|
||||
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
|
||||
|
||||
CONFIG_DEBUG_KMEMLEAK=y
|
||||
CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=1024
|
||||
# CONFIG_DEBUG_KMEMLEAK_TEST is not set
|
||||
CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
|
||||
|
||||
CONFIG_MAC80211_MESSAGE_TRACING=y
|
||||
|
||||
CONFIG_EDAC_DEBUG=y
|
||||
CONFIG_LATENCYTOP=y
|
||||
CONFIG_SCHEDSTATS=y
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,9 @@
|
|||
# CONFIG_HIGHMEM4G is not set
|
||||
CONFIG_HIGHMEM64G=y
|
||||
# CONFIG_OLPC_OPENFIRMWARE is not set
|
||||
|
||||
CONFIG_XEN_DEV_EVTCHN=m
|
||||
CONFIG_XEN_SYS_HYPERVISOR=y
|
||||
|
||||
# I2O only works on non-PAE 32-bit x86
|
||||
# CONFIG_I2O is not set
|
|
@ -0,0 +1,121 @@
|
|||
CONFIG_SND_VERBOSE_PRINTK=y
|
||||
CONFIG_SND_DEBUG=y
|
||||
CONFIG_SND_PCM_XRUN_DEBUG=y
|
||||
|
||||
# CONFIG_DEBUG_ATOMIC_SLEEP is not set
|
||||
|
||||
# CONFIG_DEBUG_MUTEXES is not set
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_DEBUG_LOCK_ALLOC is not set
|
||||
# CONFIG_PROVE_LOCKING is not set
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
# CONFIG_PROVE_RCU is not set
|
||||
# CONFIG_PROVE_RCU_REPEATEDLY is not set
|
||||
# CONFIG_DEBUG_PER_CPU_MAPS is not set
|
||||
CONFIG_CPUMASK_OFFSTACK=y
|
||||
|
||||
# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
|
||||
|
||||
# CONFIG_FAULT_INJECTION is not set
|
||||
# CONFIG_FAILSLAB is not set
|
||||
# CONFIG_FAIL_PAGE_ALLOC is not set
|
||||
# CONFIG_FAIL_MAKE_REQUEST is not set
|
||||
# CONFIG_FAULT_INJECTION_DEBUG_FS is not set
|
||||
# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set
|
||||
# CONFIG_FAIL_IO_TIMEOUT is not set
|
||||
# CONFIG_FAIL_MMC_REQUEST is not set
|
||||
|
||||
# CONFIG_SLUB_DEBUG_ON is not set
|
||||
|
||||
# CONFIG_LOCK_STAT is not set
|
||||
|
||||
# CONFIG_DEBUG_STACK_USAGE is not set
|
||||
|
||||
# CONFIG_ACPI_DEBUG is not set
|
||||
# CONFIG_ACPI_DEBUG_FUNC_TRACE is not set
|
||||
|
||||
# CONFIG_DEBUG_SG is not set
|
||||
|
||||
# CONFIG_DEBUG_PAGEALLOC is not set
|
||||
|
||||
# CONFIG_DEBUG_WRITECOUNT is not set
|
||||
# CONFIG_DEBUG_OBJECTS is not set
|
||||
# CONFIG_DEBUG_OBJECTS_SELFTEST is not set
|
||||
# CONFIG_DEBUG_OBJECTS_FREE is not set
|
||||
# CONFIG_DEBUG_OBJECTS_TIMERS is not set
|
||||
# CONFIG_DEBUG_OBJECTS_RCU_HEAD is not set
|
||||
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
|
||||
|
||||
# CONFIG_X86_PTDUMP is not set
|
||||
|
||||
# CONFIG_CAN_DEBUG_DEVICES is not set
|
||||
|
||||
# CONFIG_MODULE_FORCE_UNLOAD is not set
|
||||
|
||||
# CONFIG_SYSCTL_SYSCALL_CHECK is not set
|
||||
|
||||
# CONFIG_DEBUG_NOTIFIERS is not set
|
||||
|
||||
# CONFIG_DMA_API_DEBUG is not set
|
||||
|
||||
# CONFIG_MMIOTRACE is not set
|
||||
|
||||
# CONFIG_DEBUG_CREDENTIALS is not set
|
||||
|
||||
# off in both production debug and nodebug builds,
|
||||
# on in rawhide nodebug builds
|
||||
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
|
||||
|
||||
# CONFIG_EXT4_DEBUG is not set
|
||||
|
||||
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
|
||||
|
||||
# CONFIG_JBD2_DEBUG is not set
|
||||
|
||||
# CONFIG_NFSD_FAULT_INJECTION is not set
|
||||
|
||||
# CONFIG_DEBUG_BLK_CGROUP is not set
|
||||
|
||||
# CONFIG_DRBD_FAULT_INJECTION is not set
|
||||
|
||||
# CONFIG_ATH_DEBUG is not set
|
||||
# CONFIG_CARL9170_DEBUGFS is not set
|
||||
# CONFIG_IWLWIFI_DEVICE_TRACING is not set
|
||||
|
||||
# CONFIG_DEBUG_OBJECTS_WORK is not set
|
||||
|
||||
# CONFIG_DMADEVICES_DEBUG is not set
|
||||
# CONFIG_DMADEVICES_VDEBUG is not set
|
||||
|
||||
CONFIG_PM_ADVANCED_DEBUG=y
|
||||
|
||||
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
|
||||
# CONFIG_QUOTA_DEBUG is not set
|
||||
|
||||
CONFIG_PCI_DEFAULT_USE_CRS=y
|
||||
|
||||
CONFIG_KGDB_KDB=y
|
||||
CONFIG_KDB_KEYBOARD=y
|
||||
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
|
||||
|
||||
# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set
|
||||
# CONFIG_TEST_LIST_SORT is not set
|
||||
|
||||
# CONFIG_DETECT_HUNG_TASK is not set
|
||||
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
|
||||
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
|
||||
|
||||
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
|
||||
|
||||
# CONFIG_DEBUG_KMEMLEAK is not set
|
||||
CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=1024
|
||||
# CONFIG_DEBUG_KMEMLEAK_TEST is not set
|
||||
CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
|
||||
|
||||
# CONFIG_MAC80211_MESSAGE_TRACING is not set
|
||||
|
||||
# CONFIG_EDAC_DEBUG is not set
|
||||
|
||||
# CONFIG_SPI_DEBUG is not set
|
||||
# CONFIG_LATENCYTOP is not set
|
||||
# CONFIG_SCHEDSTATS is not set
|
|
@ -0,0 +1,393 @@
|
|||
# Most PowerPC kernels we build are SMP
|
||||
CONFIG_SMP=y
|
||||
CONFIG_IRQ_ALL_CPUS=y
|
||||
CONFIG_PPC=y
|
||||
CONFIG_WATCHDOG_RTAS=m
|
||||
CONFIG_DEBUGGER=y
|
||||
CONFIG_GENERIC_NVRAM=y
|
||||
CONFIG_ALTIVEC=y
|
||||
|
||||
CONFIG_TAU=y
|
||||
# CONFIG_TAU_INT is not set
|
||||
CONFIG_TAU_AVERAGE=y
|
||||
|
||||
CONFIG_SECCOMP=y
|
||||
|
||||
CONFIG_PM=y
|
||||
|
||||
CONFIG_PM_STD_PARTITION=""
|
||||
|
||||
CONFIG_SUSPEND=y
|
||||
CONFIG_HIBERNATION=y
|
||||
# CONFIG_RTC is not set
|
||||
# CONFIG_GEN_RTC is not set
|
||||
# CONFIG_GEN_RTC_X is not set
|
||||
CONFIG_RTC_DRV_GENERIC=y
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
# CONFIG_CMDLINE_BOOL is not set
|
||||
|
||||
CONFIG_ADB=y
|
||||
CONFIG_ADB_PMU=y
|
||||
CONFIG_WINDFARM=y
|
||||
CONFIG_WINDFARM_PM112=y
|
||||
CONFIG_I2C_POWERMAC=y
|
||||
CONFIG_APPLE_AIRPORT=m
|
||||
CONFIG_SERIAL_PMACZILOG=m
|
||||
# CONFIG_SERIAL_PMACZILOG_TTYS is not set
|
||||
CONFIG_AGP_UNINORTH=y
|
||||
CONFIG_FB_OF=y
|
||||
# CONFIG_FB_CONTROL is not set
|
||||
CONFIG_FB_IBM_GXT4500=y
|
||||
CONFIG_FB_MATROX=y
|
||||
# CONFIG_FB_VGA16 is not set
|
||||
CONFIG_FB_ATY128_BACKLIGHT=y
|
||||
CONFIG_FB_ATY_BACKLIGHT=y
|
||||
CONFIG_FB_RIVA_BACKLIGHT=y
|
||||
# CONFIG_FB_MB862XX is not set
|
||||
# CONFIG_FB_MB862XX_PCI_GDC is not set
|
||||
# CONFIG_FB_MB862XX_LIME is not set
|
||||
# CONFIG_FB_MB862XX_I2C is not set
|
||||
|
||||
|
||||
CONFIG_SND_POWERMAC=m
|
||||
CONFIG_SND_POWERMAC_AUTO_DRC=y
|
||||
CONFIG_SND_AOA=m
|
||||
CONFIG_SND_AOA_SOUNDBUS=m
|
||||
CONFIG_SND_AOA_FABRIC_LAYOUT=m
|
||||
CONFIG_SND_AOA_ONYX=m
|
||||
CONFIG_SND_AOA_TAS=m
|
||||
CONFIG_SND_AOA_TOONIE=m
|
||||
CONFIG_SND_AOA_SOUNDBUS_I2S=m
|
||||
|
||||
CONFIG_XMON=y
|
||||
# CONFIG_XMON_DEFAULT is not set
|
||||
CONFIG_XMON_DISASSEMBLY=y
|
||||
|
||||
CONFIG_BOOTX_TEXT=y
|
||||
CONFIG_MAC_EMUMOUSEBTN=y
|
||||
CONFIG_CAPI_EICON=y
|
||||
|
||||
CONFIG_NVRAM=y
|
||||
|
||||
# CONFIG_PCMCIA_M8XX is not set
|
||||
# CONFIG_SCSI_AHA1542 is not set
|
||||
# CONFIG_SCSI_IN2000 is not set
|
||||
# CONFIG_SCSI_IPS is not set
|
||||
# CONFIG_NI52 is not set
|
||||
# CONFIG_NI65 is not set
|
||||
# CONFIG_LANCE is not set
|
||||
# CONFIG_3C515 is not set
|
||||
# CONFIG_ELPLUS is not set
|
||||
|
||||
CONFIG_MEMORY_HOTPLUG=y
|
||||
|
||||
# Stuff which wants bus_to_virt() or virt_to_bus()
|
||||
# CONFIG_BLK_CPQ_DA is not set
|
||||
# CONFIG_VIDEO_STRADIS is not set
|
||||
# CONFIG_VIDEO_ZORAN is not set
|
||||
# CONFIG_ATM_HORIZON is not set
|
||||
# CONFIG_ATM_FIRESTREAM is not set
|
||||
# CONFIG_ATM_AMBASSADOR is not set
|
||||
# CONFIG_SCSI_DC390T is not set
|
||||
# CONFIG_SCSI_BUSLOGIC is not set
|
||||
|
||||
|
||||
# CONFIG_PPC_EARLY_DEBUG is not set
|
||||
|
||||
# CONFIG_PMAC_BACKLIGHT_LEGACY is not set
|
||||
CONFIG_LEDS_TRIGGER_TIMER=m
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
|
||||
CONFIG_LEDS_TRIGGER_GPIO=m
|
||||
|
||||
# FIXME: Should depend on IA64/x86
|
||||
# CONFIG_SGI_IOC4 is not set
|
||||
|
||||
CONFIG_PPC_EFIKA=y
|
||||
CONFIG_PPC_MEDIA5200=y
|
||||
|
||||
# CONFIG_PPC_LITE5200 is not set
|
||||
CONFIG_PPC_BESTCOMM=y
|
||||
CONFIG_PMAC_RACKMETER=m
|
||||
CONFIG_USB_OHCI_HCD_PPC_SOC=y
|
||||
CONFIG_USB_OHCI_HCD_PCI=y
|
||||
CONFIG_USB_OHCI_HCD_PPC_OF=y
|
||||
CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
|
||||
CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
|
||||
|
||||
CONFIG_SERIAL_UARTLITE=m
|
||||
CONFIG_SERIAL_UARTLITE_CONSOLE=y
|
||||
|
||||
CONFIG_SENSORS_AMS=m
|
||||
CONFIG_SENSORS_AMS_PMU=y
|
||||
CONFIG_SENSORS_AMS_I2C=y
|
||||
|
||||
CONFIG_IDE=y
|
||||
CONFIG_BLK_DEV_IDE=y
|
||||
|
||||
#
|
||||
# Please see Documentation/ide.txt for help/info on IDE drives
|
||||
#
|
||||
# CONFIG_BLK_DEV_IDE_SATA is not set
|
||||
# CONFIG_BLK_DEV_IDECS is not set
|
||||
CONFIG_BLK_DEV_IDECD=m
|
||||
# CONFIG_BLK_DEV_IDETAPE is not set
|
||||
CONFIG_IDE_TASK_IOCTL=y
|
||||
#
|
||||
# IDE chipset support/bugfixes
|
||||
#
|
||||
# CONFIG_IDE_GENERIC is not set
|
||||
# CONFIG_BLK_DEV_IDEPNP is not set
|
||||
# CONFIG_BLK_DEV_IDEPCI is not set
|
||||
# CONFIG_BLK_DEV_AEC62XX is not set
|
||||
# CONFIG_BLK_DEV_ALI15X3 is not set
|
||||
# CONFIG_BLK_DEV_CMD64X is not set
|
||||
# CONFIG_BLK_DEV_TRIFLEX is not set
|
||||
# CONFIG_BLK_DEV_CY82C693 is not set
|
||||
# CONFIG_BLK_DEV_CS5520 is not set
|
||||
# CONFIG_BLK_DEV_CS5530 is not set
|
||||
# CONFIG_BLK_DEV_HPT366 is not set
|
||||
# CONFIG_BLK_DEV_JMICRON is not set
|
||||
# CONFIG_BLK_DEV_SC1200 is not set
|
||||
# CONFIG_BLK_DEV_PIIX is not set
|
||||
# CONFIG_BLK_DEV_IT821X is not set
|
||||
# CONFIG_BLK_DEV_NS87415 is not set
|
||||
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
|
||||
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
|
||||
# CONFIG_BLK_DEV_SVWKS is not set
|
||||
# CONFIG_BLK_DEV_SIIMAGE is not set
|
||||
# CONFIG_BLK_DEV_SL82C105 is not set
|
||||
# CONFIG_BLK_DEV_SLC90E66 is not set
|
||||
# CONFIG_BLK_DEV_TRM290 is not set
|
||||
# CONFIG_BLK_DEV_VIA82CXXX is not set
|
||||
# CONFIG_BLK_DEV_IDE_PMAC is not set
|
||||
# CONFIG_BLK_DEV_AMD74XX is not set
|
||||
# CONFIG_BLK_DEV_OPTI621 is not set
|
||||
# CONFIG_BLK_DEV_OFFBOARD is not set
|
||||
CONFIG_BLK_DEV_DELKIN=m
|
||||
# CONFIG_BLK_DEV_IT8213 is not set
|
||||
# CONFIG_BLK_DEV_TC86C001 is not set
|
||||
CONFIG_BLK_DEV_IDEDMA=y
|
||||
CONFIG_BLK_DEV_GENERIC=y
|
||||
# CONFIG_BLK_DEV_HD is not set
|
||||
# CONFIG_USB_STORAGE_ISD200 is not set
|
||||
CONFIG_MTD_PHYSMAP_OF=m
|
||||
CONFIG_IDE_PROC_FS=y
|
||||
CONFIG_MACINTOSH_DRIVERS=y
|
||||
|
||||
CONFIG_PPC_PASEMI_MDIO=m
|
||||
CONFIG_SPU_FS_64K_LS=y
|
||||
CONFIG_PPC_PASEMI_CPUFREQ=y
|
||||
CONFIG_PMAC_APM_EMU=m
|
||||
CONFIG_HW_RANDOM_PASEMI=m
|
||||
|
||||
CONFIG_EDAC=y
|
||||
CONFIG_EDAC_MM_EDAC=m
|
||||
CONFIG_EDAC_PASEMI=m
|
||||
CONFIG_EDAC_AMD8131=m
|
||||
CONFIG_EDAC_AMD8111=m
|
||||
CONFIG_EDAC_LEGACY_SYSFS=y
|
||||
|
||||
# CONFIG_AXON_RAM is not set
|
||||
# CONFIG_OPROFILE_CELL is not set
|
||||
|
||||
CONFIG_SUSPEND_FREEZER=y
|
||||
# CONFIG_IDEPCI_PCIBUS_ORDER is not set
|
||||
CONFIG_PATA_PLATFORM=m
|
||||
CONFIG_PATA_OF_PLATFORM=m
|
||||
CONFIG_USB_EHCI_HCD_PPC_OF=y
|
||||
|
||||
# CONFIG_MPC5121_ADS is not set
|
||||
# CONFIG_MPC5121_GENERIC is not set
|
||||
CONFIG_MTD_OF_PARTS=y
|
||||
# CONFIG_MTD_NAND_FSL_ELBC is not set
|
||||
CONFIG_THERMAL=y
|
||||
|
||||
# CONFIG_MEMORY_HOTREMOVE is not set
|
||||
|
||||
CONFIG_DMADEVICES=y
|
||||
# CONFIG_FSL_DMA is not set
|
||||
|
||||
CONFIG_SND_PPC=y
|
||||
|
||||
# CONFIG_PPC_82xx is not set
|
||||
# CONFIG_PPC_83xx is not set
|
||||
# CONFIG_PPC_86xx is not set
|
||||
CONFIG_EXTRA_TARGETS=""
|
||||
# CONFIG_CODE_PATCHING_SELFTEST is not set
|
||||
# CONFIG_FTR_FIXUP_SELFTEST is not set
|
||||
|
||||
# CONFIG_MATH_EMULATION is not set
|
||||
# CONFIG_RAPIDIO is not set
|
||||
# CONFIG_FS_ENET is not set
|
||||
# CONFIG_UCC_GETH is not set
|
||||
# CONFIG_KEYBOARD_MATRIX is not set
|
||||
# CONFIG_SERIAL_CPM is not set
|
||||
# CONFIG_SERIAL_QE is not set
|
||||
# CONFIG_I2C_CPM is not set
|
||||
|
||||
CONFIG_NET_VENDOR_IBM=y
|
||||
|
||||
# CONFIG_SERIO_XILINX_XPS_PS2 is not set
|
||||
|
||||
# CONFIG_PPC_SMLPAR is not set
|
||||
|
||||
# CONFIG_MGCOGE is not set
|
||||
# CONFIG_GEF_SBC610 is not set
|
||||
# CONFIG_GEF_PPC9A is not set
|
||||
# CONFIG_GEF_SBC310 is not set
|
||||
|
||||
# CONFIG_QUICC_ENGINE is not set
|
||||
# CONFIG_QE_GPIO is not set
|
||||
# CONFIG_MPC8xxx_GPIO is not set
|
||||
|
||||
CONFIG_IDE_GD=y
|
||||
CONFIG_IDE_GD_ATA=y
|
||||
CONFIG_IDE_GD_ATAPI=y
|
||||
|
||||
# CONFIG_MCU_MPC8349EMITX is not set
|
||||
|
||||
# CONFIG_GPIO_XILINX is not set
|
||||
|
||||
CONFIG_PMIC_DA903X=y
|
||||
CONFIG_BACKLIGHT_DA903X=m
|
||||
CONFIG_LEDS_DA903X=m
|
||||
|
||||
CONFIG_MSI_BITMAP_SELFTEST=y
|
||||
|
||||
CONFIG_RELOCATABLE=y
|
||||
|
||||
# CONFIG_HVC_UDBG is not set
|
||||
CONFIG_PRINT_STACK_DEPTH=64
|
||||
|
||||
CONFIG_BATTERY_DA9030=m
|
||||
# CONFIG_TWL4030_CORE is not set
|
||||
|
||||
CONFIG_BLK_DEV_IT8172=m
|
||||
CONFIG_TOUCHSCREEN_DA9034=m
|
||||
|
||||
CONFIG_SIMPLE_GPIO=y
|
||||
|
||||
# CONFIG_FSL_PQ_MDIO is not set
|
||||
|
||||
# CONFIG_PS3_VRAM is not set
|
||||
CONFIG_MDIO_GPIO=m
|
||||
# CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set
|
||||
# CONFIG_DEBUG_GPIO is not set
|
||||
CONFIG_GPIO_PCA953X=m
|
||||
CONFIG_GPIO_PCF857X=m
|
||||
|
||||
# CONFIG_USB_FHCI_HCD is not set
|
||||
# CONFIG_FHCI_DEBUG is not set
|
||||
|
||||
# CONFIG_AMIGAONE is not set
|
||||
|
||||
CONFIG_PPC_OF_BOOT_TRAMPOLINE=y
|
||||
|
||||
CONFIG_DTL=y
|
||||
|
||||
CONFIG_MMC_SDHCI_OF=m
|
||||
|
||||
# CONFIG_CONSISTENT_SIZE_BOOL is not set
|
||||
|
||||
CONFIG_CAN_SJA1000_OF_PLATFORM=m
|
||||
|
||||
CONFIG_PPC_EMULATED_STATS=y
|
||||
|
||||
CONFIG_SWIOTLB=y
|
||||
|
||||
# CONFIG_RDS is not set
|
||||
|
||||
CONFIG_PPC_DISABLE_WERROR=y
|
||||
|
||||
# CONFIG_XILINX_LL_TEMAC is not set
|
||||
# CONFIG_XILINX_EMACLITE is not set
|
||||
|
||||
CONFIG_GPIO_WM831X=m
|
||||
# CONFIG_GPIO_LANGWELL is not set
|
||||
# CONFIG_GPIO_UCB1400 is not set
|
||||
# CONFIG_EDAC_MPC85XX is not set
|
||||
|
||||
CONFIG_NR_IRQS=512
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
|
||||
# CONFIG_PPC_MPC5200_LPBFIFO is not set
|
||||
# CONFIG_CAN_MSCAN is not set
|
||||
# CONFIG_CAN_MPC5XXX is not set
|
||||
CONFIG_PATA_MACIO=y
|
||||
CONFIG_SERIAL_GRLIB_GAISLER_APBUART=m
|
||||
# CONFIG_PMIC_ADP5520 is not set
|
||||
# CONFIG_MFD_88PM8607 is not set
|
||||
# CONFIG_MFD_MAX8997 is not set
|
||||
# CONFIG_MFD_TPS65910 is not set
|
||||
# CONFIG_MFD_TPS65912_I2C is not set
|
||||
# CONFIG_MFD_WL1273_CORE is not set
|
||||
# CONFIG_XPS_USB_HCD_XILINX is not set
|
||||
# CONFIG_MMC_SDHCI_OF_ESDHC is not set
|
||||
# CONFIG_MMC_SDHCI_OF_HLWD is not set
|
||||
|
||||
# CONFIG_MFD_TC35892 is not set
|
||||
# CONFIG_MFD_AAT2870_CORE is not set
|
||||
|
||||
# CONFIG_GPIO_SCH is not set
|
||||
|
||||
# CONFIG_PPC_MPC512x is not set
|
||||
# CONFIG_RTC_DRV_MPC5121 is not set
|
||||
|
||||
# CONFIG_MPC512X_DMA is not set
|
||||
|
||||
CONFIG_KVM_GUEST=y
|
||||
|
||||
CONFIG_I2C_MPC=m
|
||||
|
||||
# CONFIG_IMA is not set
|
||||
# CONFIG_TCG_TPM is not set
|
||||
|
||||
CONFIG_RFKILL_GPIO=m
|
||||
|
||||
# CONFIG_CRYPTO_DEV_FSL_CAAM is not set
|
||||
# CONFIG_CRYPTO_SHA1_PPC is not set
|
||||
|
||||
# CONFIG_GPIO_GENERIC_PLATFORM is not set
|
||||
# CONFIG_GPIO_MCP23S08 is not set
|
||||
|
||||
# CONFIG_CAN_FLEXCAN is not set
|
||||
# CONFIG_NET_VENDOR_XILINX is not set
|
||||
# CONFIG_PPC_EPAPR_HV_BYTECHAN is not set
|
||||
# CONFIG_IBM_EMAC is not set
|
||||
# CONFIG_NET_VENDOR_PASEMI is not set
|
||||
# CONFIG_NET_VENDOR_TOSHIBA is not set
|
||||
|
||||
# CONFIG_CPU_IDLE is not set
|
||||
# CONFIG_OF_SELFTEST is not set
|
||||
# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
|
||||
# CONFIG_INPUT_GP2A is not set
|
||||
# CONFIG_INPUT_GPIO_TILT_POLLED is not set
|
||||
CONFIG_STRICT_DEVMEM=y
|
||||
|
||||
CONFIG_RCU_FANOUT_LEAF=16
|
||||
|
||||
# CONFIG_IRQ_DOMAIN_DEBUG is not set
|
||||
# CONFIG_MPIC_MSGR is not set
|
||||
# CONFIG_FA_DUMP is not set
|
||||
# CONFIG_MDIO_BUS_MUX_GPIO is not set
|
||||
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
|
||||
|
||||
# CONFIG_FAIL_IOMMU is not set
|
||||
|
||||
# CONFIG_PPC_DENORMALISATION is not set
|
||||
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
|
||||
# CONFIG_GPIO_ADNP is not set
|
||||
# CONFIG_MFD_SYSCON is not set
|
||||
# CONFIG_RTC_DRV_SNVS is not set
|
||||
# CONFIG_ASYMMETRIC_KEY_TYPE is not set
|
||||
|
||||
# CONFIG_OF_DISPLAY_TIMING is not set
|
||||
# CONFIG_OF_VIDEOMODE is not set
|
||||
|
||||
CONFIG_POWER_RESET_GPIO=y
|
||||
CONFIG_FB_SSD1307=m
|
||||
CONFIG_INPUT_PWM_BEEPER=m
|
||||
CONFIG_BACKLIGHT_PWM=m
|
||||
CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=n
|
||||
|
||||
CONFIG_XZ_DEC_POWERPC=y
|
|
@ -0,0 +1,187 @@
|
|||
# CONFIG_SMP is not set
|
||||
CONFIG_PPC32=y
|
||||
# CONFIG_PPC64 is not set
|
||||
# CONFIG_RTAS_PROC is not set
|
||||
# CONFIG_PCMCIA_M8XX is not set
|
||||
# CONFIG_HOTPLUG_PCI is not set
|
||||
CONFIG_CPU_FREQ_PMAC=y
|
||||
CONFIG_PPC_CHRP=y
|
||||
CONFIG_PPC_PMAC=y
|
||||
# CONFIG_PPC_MPC52xx is not set
|
||||
CONFIG_PPC_PREP=y
|
||||
|
||||
# CONFIG_PPC_MPC5200_SIMPLE is not set
|
||||
# CONFIG_SATA_FSL is not set
|
||||
# CONFIG_SATA_NV is not set
|
||||
|
||||
# busted in .28git1
|
||||
# ERROR: "cacheable_memzero" [drivers/net/gianfar_driver.ko] undefined!
|
||||
# CONFIG_GIANFAR is not set
|
||||
# CONFIG_USB_EHCI_FSL is not set
|
||||
|
||||
CONFIG_PMAC_APM_EMU=y
|
||||
CONFIG_PMAC_BACKLIGHT=y
|
||||
|
||||
CONFIG_HIGHMEM=y
|
||||
# CONFIG_HIGHMEM_START_BOOL is not set
|
||||
# CONFIG_LOWMEM_SIZE_BOOL is not set
|
||||
# CONFIG_TASK_SIZE_BOOL is not set
|
||||
# CONFIG_KERNEL_START_BOOL is not set
|
||||
# CONFIG_PPC601_SYNC_FIX is not set
|
||||
CONFIG_ADVANCED_OPTIONS=y
|
||||
CONFIG_SCSI_MESH=m
|
||||
CONFIG_SCSI_MESH_SYNC_RATE=5
|
||||
CONFIG_SCSI_MESH_RESET_DELAY_MS=4000
|
||||
|
||||
CONFIG_LBDAF=y
|
||||
|
||||
CONFIG_SCSI_MAC53C94=m
|
||||
CONFIG_ADB_CUDA=y
|
||||
CONFIG_ADB_MACIO=y
|
||||
CONFIG_INPUT_ADBHID=y
|
||||
CONFIG_ADB_PMU_LED=y
|
||||
CONFIG_ADB_PMU_LED_IDE=y
|
||||
|
||||
CONFIG_PMAC_MEDIABAY=y
|
||||
CONFIG_NET_VENDOR_APPLE=y
|
||||
CONFIG_BMAC=m
|
||||
CONFIG_MACE=m
|
||||
# CONFIG_MACE_AAUI_PORT is not set
|
||||
# CONFIG_MV643XX_ETH is not set
|
||||
CONFIG_I2C_HYDRA=m
|
||||
CONFIG_I2C_MPC=m
|
||||
CONFIG_THERM_WINDTUNNEL=m
|
||||
CONFIG_THERM_ADT746X=m
|
||||
# CONFIG_ANSLCD is not set
|
||||
|
||||
CONFIG_FB_PLATINUM=y
|
||||
CONFIG_FB_VALKYRIE=y
|
||||
CONFIG_FB_CT65550=y
|
||||
# CONFIG_BDI_SWITCH is not set
|
||||
|
||||
CONFIG_MAC_FLOPPY=m
|
||||
# CONFIG_BLK_DEV_FD is not set
|
||||
|
||||
CONFIG_FB_ATY128=y
|
||||
CONFIG_FB_ATY=y
|
||||
CONFIG_FB_MATROX=y
|
||||
# CONFIG_KEXEC is not set
|
||||
|
||||
# CONFIG_HVC_RTAS is not set
|
||||
|
||||
# CONFIG_UDBG_RTAS_CONSOLE is not set
|
||||
CONFIG_BRIQ_PANEL=m
|
||||
|
||||
# CONFIG_ATA_PIIX is not set
|
||||
# CONFIG_PATA_AMD is not set
|
||||
# CONFIG_PATA_ATIIXP is not set
|
||||
# CONFIG_PATA_MPC52xx is not set
|
||||
# CONFIG_PATA_MPIIX is not set
|
||||
# CONFIG_PATA_OLDPIIX is not set
|
||||
# CONFIG_PATA_OPTI is not set
|
||||
# CONFIG_PATA_SERVERWORKS is not set
|
||||
|
||||
# CONFIG_SERIAL_MPC52xx is not set
|
||||
# CONFIG_MPC5200_WDT is not set
|
||||
CONFIG_8xxx_WDT=m
|
||||
CONFIG_GEF_WDT=m
|
||||
|
||||
# CONFIG_PPC_MPC5200_BUGFIX is not set
|
||||
# CONFIG_NET_VENDOR_FREESCALE is not set
|
||||
#CHECK: This may later become a tristate.
|
||||
CONFIG_MDIO_GPIO=m
|
||||
|
||||
CONFIG_SERIAL_OF_PLATFORM=y
|
||||
CONFIG_DEBUG_STACKOVERFLOW=y
|
||||
|
||||
# CONFIG_EMBEDDED6xx is not set
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
|
||||
# CONFIG_BLK_DEV_PLATFORM is not set
|
||||
# CONFIG_BLK_DEV_4DRIVES is not set
|
||||
# CONFIG_BLK_DEV_ALI14XX is not set
|
||||
# CONFIG_BLK_DEV_DTC2278 is not set
|
||||
# CONFIG_BLK_DEV_HT6560B is not set
|
||||
# CONFIG_BLK_DEV_QD65XX is not set
|
||||
# CONFIG_BLK_DEV_UMC8672 is not set
|
||||
|
||||
# CONFIG_VIRQ_DEBUG is not set
|
||||
|
||||
CONFIG_PPC_BESTCOMM_ATA=m
|
||||
CONFIG_PPC_BESTCOMM_FEC=m
|
||||
CONFIG_PPC_BESTCOMM_GEN_BD=m
|
||||
|
||||
CONFIG_FORCE_MAX_ZONEORDER=11
|
||||
# CONFIG_PAGE_OFFSET_BOOL is not set
|
||||
# CONFIG_FB_FSL_DIU is not set
|
||||
CONFIG_IRQSTACKS=y
|
||||
CONFIG_VIRTUALIZATION=y
|
||||
|
||||
# CONFIG_DEBUG_GPIO is not set
|
||||
# CONFIG_GPIO_PCA953X is not set
|
||||
# CONFIG_GPIO_PCF857X is not set
|
||||
# CONFIG_HTC_EGPIO is not set
|
||||
|
||||
# CONFIG_TIFM_CORE is not set
|
||||
|
||||
# CONFIG_BLK_CPQ_CISS_DA is not set
|
||||
# CONFIG_CISS_SCSI_TAPE is not set
|
||||
|
||||
# CONFIG_I2C_NFORCE2 is not set
|
||||
|
||||
# CONFIG_SND_INTEL8X0 is not set
|
||||
# CONFIG_SND_INTEL8X0M is not set
|
||||
|
||||
# CONFIG_MEMSTICK is not set
|
||||
|
||||
# CONFIG_IPMI_HANDLER is not set
|
||||
|
||||
# PPC gets sad with debug alloc (bz 448598)
|
||||
# CONFIG_DEBUG_PAGEALLOC is not set
|
||||
|
||||
CONFIG_SND_ISA=y
|
||||
CONFIG_CRYPTO_DEV_TALITOS=m
|
||||
|
||||
# CONFIG_FSL_EMB_PERFMON is not set
|
||||
# CONFIG_MPC8272_ADS is not set
|
||||
# CONFIG_PQ2FADS is not set
|
||||
# CONFIG_EP8248E is not set
|
||||
# CONFIG_MPC830x_RDB is not set
|
||||
# CONFIG_MPC831x_RDB is not set
|
||||
# CONFIG_MPC832x_MDS is not set
|
||||
# CONFIG_MPC832x_RDB is not set
|
||||
# CONFIG_MPC834x_MDS is not set
|
||||
# CONFIG_MPC834x_ITX is not set
|
||||
# CONFIG_MPC836x_MDS is not set
|
||||
# CONFIG_MPC836x_RDK is not set
|
||||
# CONFIG_MPC837x_MDS is not set
|
||||
# CONFIG_MPC837x_RDB is not set
|
||||
# CONFIG_SBC834x is not set
|
||||
# CONFIG_ASP834x is not set
|
||||
# CONFIG_KMETER1 is not set
|
||||
# CONFIG_MPC8641_HPCN is not set
|
||||
# CONFIG_SBC8641D is not set
|
||||
# CONFIG_MPC8610_HPCD is not set
|
||||
# CONFIG_FSL_LBC is not set
|
||||
# CONFIG_MTD_NAND_FSL_UPM is not set
|
||||
|
||||
# CONFIG_USB_MUSB_HDRC is not set
|
||||
|
||||
# busted in 2.6.27
|
||||
# drivers/mtd/maps/sbc8240.c: In function 'init_sbc8240_mtd':
|
||||
# drivers/mtd/maps/sbc8240.c:172: warning: passing argument 1 of 'simple_map_init' from incompatible pointer type
|
||||
# drivers/mtd/maps/sbc8240.c:177: error: 'struct mtd_info' has no member named 'module'
|
||||
|
||||
CONFIG_RCU_FANOUT=32
|
||||
|
||||
CONFIG_PERF_COUNTERS=y
|
||||
CONFIG_PERF_EVENTS=y
|
||||
CONFIG_EVENT_PROFILE=y
|
||||
|
||||
CONFIG_KVM_BOOK3S_32=m
|
||||
|
||||
# CONFIG_SCSI_QLA_ISCSI is not set
|
||||
|
||||
CONFIG_BATTERY_PMU=m
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
CONFIG_SMP=y
|
||||
# CONFIG_HOTPLUG_CPU is not set
|
||||
CONFIG_NR_CPUS=4
|
||||
# CONFIG_BATTERY_PMU is not set
|
|
@ -0,0 +1,184 @@
|
|||
CONFIG_WINDFARM_PM81=y
|
||||
CONFIG_WINDFARM_PM91=y
|
||||
CONFIG_WINDFARM_PM121=y
|
||||
CONFIG_WINDFARM_PM72=y
|
||||
CONFIG_WINDFARM_RM31=y
|
||||
|
||||
CONFIG_PPC_PMAC64=y
|
||||
CONFIG_PPC_MAPLE=y
|
||||
# CONFIG_PPC_CELL is not set
|
||||
# CONFIG_PPC_IBM_CELL_BLADE is not set
|
||||
# CONFIG_PPC_ISERIES is not set
|
||||
CONFIG_PPC_PSERIES=y
|
||||
CONFIG_PPC_PMAC=y
|
||||
CONFIG_PPC_POWERNV=y
|
||||
CONFIG_PPC_POWERNV_RTAS=y
|
||||
# CONFIG_PPC_PASEMI is not set
|
||||
# CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set
|
||||
# CONFIG_PPC_PS3 is not set
|
||||
# CONFIG_PPC_CELLEB is not set
|
||||
# CONFIG_PPC_CELL_QPACE is not set
|
||||
CONFIG_PMAC_RACKMETER=m
|
||||
CONFIG_IBMEBUS=y
|
||||
CONFIG_RTAS_FLASH=y
|
||||
# CONFIG_UDBG_RTAS_CONSOLE is not set
|
||||
CONFIG_PPC_SPLPAR=y
|
||||
CONFIG_SCANLOG=y
|
||||
CONFIG_LPARCFG=y
|
||||
CONFIG_SERIAL_ICOM=m
|
||||
CONFIG_HVCS=m
|
||||
CONFIG_HVC_CONSOLE=y
|
||||
# CONFIG_HVC_OLD_HVSI is not set
|
||||
CONFIG_HOTPLUG_PCI=y
|
||||
CONFIG_THERM_PM72=y
|
||||
CONFIG_IBMVETH=m
|
||||
CONFIG_SCSI_IBMVSCSI=m
|
||||
# CONFIG_HOTPLUG_PCI_CPCI is not set
|
||||
CONFIG_HOTPLUG_PCI_SHPC=m
|
||||
CONFIG_HOTPLUG_PCI_RPA=m
|
||||
CONFIG_HOTPLUG_PCI_RPA_DLPAR=y
|
||||
CONFIG_ADB_PMU_LED=y
|
||||
CONFIG_ADB_PMU_LED_IDE=y
|
||||
CONFIG_PMAC_SMU=y
|
||||
CONFIG_CPU_FREQ_PMAC64=y
|
||||
CONFIG_CPU_FREQ_MAPLE=y
|
||||
CONFIG_SCSI_IPR=m
|
||||
CONFIG_SCSI_IPR_TRACE=y
|
||||
CONFIG_SCSI_IPR_DUMP=y
|
||||
CONFIG_HVC_RTAS=y
|
||||
# CONFIG_HVC_ISERIES is not set
|
||||
CONFIG_HVC_OPAL=y
|
||||
|
||||
# iSeries device drivers
|
||||
#
|
||||
# CONFIG_ISERIES_VETH is not set
|
||||
CONFIG_VIODASD=m
|
||||
CONFIG_VIOCD=m
|
||||
CONFIG_VIOTAPE=m
|
||||
|
||||
CONFIG_PASEMI_MAC=m
|
||||
CONFIG_SERIAL_OF_PLATFORM=m
|
||||
|
||||
CONFIG_SERIAL_TXX9=y
|
||||
CONFIG_SERIAL_TXX9_NR_UARTS=6
|
||||
CONFIG_SERIAL_TXX9_CONSOLE=y
|
||||
|
||||
CONFIG_HVC_BEAT=y
|
||||
|
||||
CONFIG_PPC_PMI=m
|
||||
|
||||
CONFIG_PATA_SCC=m
|
||||
|
||||
CONFIG_APM_EMULATION=m
|
||||
|
||||
CONFIG_PPC64=y
|
||||
CONFIG_VIRT_CPU_ACCOUNTING=y
|
||||
CONFIG_NR_CPUS=1024
|
||||
# CONFIG_FB_PLATINUM is not set
|
||||
# CONFIG_FB_VALKYRIE is not set
|
||||
# CONFIG_FB_CT65550 is not set
|
||||
# CONFIG_FB_VGA16 is not set
|
||||
# CONFIG_FB_ATY128 is not set
|
||||
# CONFIG_FB_ATY is not set
|
||||
|
||||
# CONFIG_POWER4_ONLY is not set
|
||||
|
||||
CONFIG_RTAS_PROC=y
|
||||
CONFIG_IOMMU_VMERGE=y
|
||||
CONFIG_NUMA=y
|
||||
CONFIG_PPC_64K_PAGES=y
|
||||
CONFIG_PPC_SUBPAGE_PROT=y
|
||||
CONFIG_SCHED_SMT=y
|
||||
|
||||
CONFIG_HZ=100
|
||||
CONFIG_HZ_100=y
|
||||
# CONFIG_HZ_1000 is not set
|
||||
|
||||
CONFIG_MEMORY_HOTREMOVE=y
|
||||
|
||||
# CONFIG_MV643XX_ETH is not set
|
||||
CONFIG_IRQSTACKS=y
|
||||
CONFIG_DEBUG_STACKOVERFLOW=y
|
||||
# CONFIG_INPUT_PCSPKR is not set
|
||||
|
||||
CONFIG_EHEA=m
|
||||
CONFIG_INFINIBAND_EHCA=m
|
||||
|
||||
# CONFIG_HCALL_STATS is not set
|
||||
|
||||
CONFIG_XMON_DISASSEMBLY=y
|
||||
|
||||
CONFIG_SCSI_IBMVSCSIS=m
|
||||
|
||||
CONFIG_SECCOMP=y
|
||||
|
||||
# CONFIG_TUNE_CELL is not set
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
# CONFIG_BLK_DEV_PLATFORM is not set
|
||||
|
||||
# CONFIG_VIRQ_DEBUG is not set
|
||||
|
||||
CONFIG_EDAC_CPC925=m
|
||||
CONFIG_FRAME_WARN=2048
|
||||
|
||||
CONFIG_PHYP_DUMP=y
|
||||
CONFIG_FORCE_MAX_ZONEORDER=9
|
||||
CONFIG_VIRTUALIZATION=y
|
||||
|
||||
CONFIG_VSX=y
|
||||
|
||||
CONFIG_SCSI_IBMVFC=m
|
||||
# CONFIG_SCSI_IBMVFC_TRACE is not set
|
||||
CONFIG_IBM_BSR=m
|
||||
|
||||
CONFIG_CRASH_DUMP=y
|
||||
CONFIG_RELOCATABLE=y
|
||||
|
||||
CONFIG_RCU_FANOUT=64
|
||||
|
||||
CONFIG_PERF_COUNTERS=y
|
||||
CONFIG_PERF_EVENTS=y
|
||||
CONFIG_EVENT_PROFILE=y
|
||||
|
||||
CONFIG_KVM_BOOK3S_64=m
|
||||
CONFIG_KVM_BOOK3S_64_HV=y
|
||||
# CONFIG_KVM_EXIT_TIMING is not set
|
||||
|
||||
#-- bz#607175
|
||||
#-- active memory sharing
|
||||
CONFIG_PPC_SMLPAR=y
|
||||
CONFIG_CMM=y
|
||||
#-- DLPAR memory remove
|
||||
CONFIG_SPARSEMEM_VMEMMAP=y
|
||||
|
||||
# CONFIG_COMPACTION is not set
|
||||
|
||||
CONFIG_PSERIES_ENERGY=m
|
||||
|
||||
CONFIG_CPU_IDLE=y
|
||||
# CONFIG_CPU_IDLE_GOV_LADDER is not set
|
||||
CONFIG_PSERIES_IDLE=y
|
||||
|
||||
CONFIG_PPC_ICSWX=y
|
||||
CONFIG_IO_EVENT_IRQ=y
|
||||
CONFIG_HW_RANDOM_AMD=m
|
||||
|
||||
CONFIG_UIO_PDRV=m
|
||||
|
||||
CONFIG_HW_RANDOM_PSERIES=m
|
||||
CONFIG_CRYPTO_DEV_NX=y
|
||||
CONFIG_CRYPTO_842=m
|
||||
CONFIG_CRYPTO_DEV_NX_ENCRYPT=m
|
||||
CONFIG_CRYPTO_DEV_NX_COMPRESS=m
|
||||
|
||||
|
||||
CONFIG_BPF_JIT=y
|
||||
# CONFIG_PPC_ICSWX_PID is not set
|
||||
# CONFIG_PPC_ICSWX_USE_SIGILL is not set
|
||||
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
|
||||
# CONFIG_PCIEPORTBUS is not set
|
||||
# CONFIG_PPC_TRANSACTIONAL_MEM is not set
|
||||
# CONFIG_SND_HDA_INTEL is not set
|
||||
CONFIG_BLK_DEV_RSXX=m
|
||||
|
|
@ -0,0 +1,274 @@
|
|||
CONFIG_64BIT=y
|
||||
# CONFIG_MARCH_G5 is not set
|
||||
# CONFIG_MARCH_Z900 is not set
|
||||
CONFIG_MARCH_Z9_109=y
|
||||
# CONFIG_MARCH_Z990 is not set
|
||||
|
||||
CONFIG_NR_CPUS=64
|
||||
CONFIG_COMPAT=y
|
||||
|
||||
# See bug 496596
|
||||
CONFIG_HZ_100=y
|
||||
# CONFIG_HZ_1000 is not set
|
||||
# See bug 496605
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
|
||||
CONFIG_MMU=y
|
||||
|
||||
CONFIG_LOG_BUF_SHIFT=16
|
||||
CONFIG_NO_IDLE_HZ=y
|
||||
|
||||
CONFIG_SMP=y
|
||||
|
||||
#
|
||||
# I/O subsystem configuration
|
||||
#
|
||||
CONFIG_QDIO=m
|
||||
|
||||
#
|
||||
# Misc
|
||||
#
|
||||
CONFIG_IPL=y
|
||||
# CONFIG_IPL_TAPE is not set
|
||||
CONFIG_IPL_VM=y
|
||||
# CONFIG_PROCESS_DEBUG is not set
|
||||
CONFIG_PFAULT=y
|
||||
CONFIG_SHARED_KERNEL=y
|
||||
CONFIG_CMM=m
|
||||
CONFIG_CMM_PROC=y
|
||||
# CONFIG_NETIUCV is not set
|
||||
CONFIG_SMSGIUCV=m
|
||||
|
||||
#
|
||||
# SCSI low-level drivers
|
||||
#
|
||||
CONFIG_ZFCP=m
|
||||
CONFIG_ZFCPDUMP=y
|
||||
CONFIG_CCW=y
|
||||
|
||||
#
|
||||
# S/390 block device drivers
|
||||
#
|
||||
CONFIG_DCSSBLK=m
|
||||
CONFIG_BLK_DEV_XPRAM=m
|
||||
CONFIG_DASD=m
|
||||
CONFIG_DASD_PROFILE=y
|
||||
CONFIG_DASD_ECKD=m
|
||||
CONFIG_DASD_FBA=m
|
||||
CONFIG_DASD_DIAG=m
|
||||
CONFIG_DASD_EER=y
|
||||
|
||||
#
|
||||
# S/390 character device drivers
|
||||
#
|
||||
CONFIG_TN3270=y
|
||||
CONFIG_TN3270_CONSOLE=y
|
||||
CONFIG_TN3215=y
|
||||
CONFIG_TN3215_CONSOLE=y
|
||||
CONFIG_CCW_CONSOLE=y
|
||||
CONFIG_SCLP_TTY=y
|
||||
CONFIG_SCLP_CONSOLE=y
|
||||
CONFIG_SCLP_VT220_TTY=y
|
||||
CONFIG_SCLP_VT220_CONSOLE=y
|
||||
CONFIG_SCLP_CPI=m
|
||||
CONFIG_SCLP_ASYNC=m
|
||||
CONFIG_S390_TAPE=m
|
||||
CONFIG_S390_TAPE_3590=m
|
||||
|
||||
CONFIG_APPLDATA_BASE=y
|
||||
CONFIG_APPLDATA_MEM=m
|
||||
CONFIG_APPLDATA_OS=m
|
||||
CONFIG_APPLDATA_NET_SUM=m
|
||||
CONFIG_TN3270_TTY=y
|
||||
CONFIG_TN3270_FS=m
|
||||
|
||||
|
||||
#
|
||||
# S/390 tape interface support
|
||||
#
|
||||
CONFIG_S390_TAPE_BLOCK=y
|
||||
|
||||
#
|
||||
# S/390 tape hardware support
|
||||
#
|
||||
CONFIG_S390_TAPE_34XX=m
|
||||
|
||||
# CONFIG_PPP is not set
|
||||
# CONFIG_SLIP is not set
|
||||
|
||||
#
|
||||
# Token Ring devices
|
||||
#
|
||||
CONFIG_TR=y
|
||||
CONFIG_NETCONSOLE=m
|
||||
|
||||
#
|
||||
# Wan interfaces
|
||||
#
|
||||
# CONFIG_WAN is not set
|
||||
|
||||
#
|
||||
# S/390 network device drivers
|
||||
#
|
||||
CONFIG_LCS=m
|
||||
CONFIG_CTC=m
|
||||
CONFIG_IUCV=m
|
||||
CONFIG_QETH=m
|
||||
CONFIG_QETH_IPV6=y
|
||||
CONFIG_CCWGROUP=m
|
||||
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_WIRELESS_EXT is not set
|
||||
# CONFIG_MAC80211 is not set
|
||||
# CONFIG_B44 is not set
|
||||
|
||||
#
|
||||
# Partition Types
|
||||
#
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
# CONFIG_OSF_PARTITION is not set
|
||||
CONFIG_IBM_PARTITION=y
|
||||
# CONFIG_MAC_PARTITION is not set
|
||||
CONFIG_MSDOS_PARTITION=y
|
||||
# CONFIG_SGI_PARTITION is not set
|
||||
# CONFIG_SUN_PARTITION is not set
|
||||
|
||||
|
||||
#
|
||||
# S390 crypto hw
|
||||
#
|
||||
CONFIG_CRYPTO_SHA1_S390=m
|
||||
CONFIG_CRYPTO_SHA256_S390=m
|
||||
CONFIG_CRYPTO_DES_S390=m
|
||||
CONFIG_CRYPTO_AES_S390=m
|
||||
|
||||
#
|
||||
# Kernel hacking
|
||||
#
|
||||
|
||||
#
|
||||
# S390 specific stack options; needs gcc 3.5 so off for now
|
||||
#
|
||||
CONFIG_PACK_STACK=y
|
||||
CONFIG_CHECK_STACK=y
|
||||
# CONFIG_WARN_STACK is not set
|
||||
# CONFIG_SMALL_STACK is not set
|
||||
|
||||
CONFIG_ZVM_WATCHDOG=m
|
||||
CONFIG_VMLOGRDR=m
|
||||
CONFIG_MONREADER=m
|
||||
|
||||
CONFIG_VIRT_CPU_ACCOUNTING=y
|
||||
|
||||
# CONFIG_CLAW is not set
|
||||
|
||||
# CONFIG_ATMEL is not set
|
||||
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
# CONFIG_MII is not set
|
||||
|
||||
|
||||
CONFIG_STACK_GUARD=256
|
||||
CONFIG_CMM_IUCV=y
|
||||
|
||||
# CONFIG_DETECT_SOFTLOCKUP is not set
|
||||
|
||||
CONFIG_S390_HYPFS_FS=y
|
||||
|
||||
CONFIG_MONWRITER=m
|
||||
CONFIG_ZCRYPT=m
|
||||
CONFIG_ZCRYPT_MONOLITHIC=y
|
||||
|
||||
CONFIG_S390_EXEC_PROTECT=y
|
||||
CONFIG_AFIUCV=m
|
||||
CONFIG_S390_PRNG=m
|
||||
|
||||
CONFIG_S390_VMUR=m
|
||||
|
||||
# CONFIG_THERMAL is not set
|
||||
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_CTCM=m
|
||||
CONFIG_QETH_L2=m
|
||||
CONFIG_QETH_L3=m
|
||||
CONFIG_CRYPTO_SHA512_S390=m
|
||||
CONFIG_VIRTUALIZATION=y
|
||||
CONFIG_KVM=m
|
||||
# CONFIG_KVM_S390_UCONTROL is not set
|
||||
CONFIG_S390_GUEST=y
|
||||
|
||||
|
||||
CONFIG_MEMORY_HOTPLUG=y
|
||||
CONFIG_MEMORY_HOTREMOVE=y
|
||||
CONFIG_CHSC_SCH=m
|
||||
|
||||
# drivers/isdn/hardware/mISDN/hfcmulti.c:5255:2: error: #error "not running on big endian machines now"
|
||||
# CONFIG_MISDN_HFCMULTI is not set
|
||||
|
||||
CONFIG_HVC_IUCV=y
|
||||
|
||||
CONFIG_RCU_FANOUT=64
|
||||
CONFIG_RCU_FANOUT_LEAF=16
|
||||
|
||||
CONFIG_SECCOMP=y
|
||||
|
||||
CONFIG_PM=y
|
||||
CONFIG_HIBERNATION=y
|
||||
CONFIG_PM_STD_PARTITION="/dev/jokes"
|
||||
|
||||
CONFIG_PERF_COUNTERS=y
|
||||
CONFIG_PERF_EVENTS=y
|
||||
CONFIG_EVENT_PROFILE=y
|
||||
|
||||
CONFIG_SMSGIUCV_EVENT=m
|
||||
|
||||
# CONFIG_PREEMPT_TRACER is not set
|
||||
|
||||
CONFIG_VMCP=y
|
||||
|
||||
CONFIG_ZFCP_DIF=y
|
||||
|
||||
CONFIG_SCHED_MC=y
|
||||
CONFIG_SCHED_BOOK=y
|
||||
|
||||
CONFIG_STRICT_DEVMEM=y
|
||||
|
||||
# CONFIG_WARN_DYNAMIC_STACK is not set
|
||||
|
||||
CONFIG_CRYPTO_GHASH_S390=m
|
||||
CONFIG_NET_CORE=y
|
||||
CONFIG_ETHERNET=y
|
||||
|
||||
CONFIG_BPF_JIT=y
|
||||
# CONFIG_TRANSPARENT_HUGEPAGE is not set
|
||||
CONFIG_SCM_BUS=y
|
||||
CONFIG_EADM_SCH=m
|
||||
CONFIG_SCM_BLOCK=m
|
||||
CONFIG_SCM_BLOCK_CLUSTER_WRITE=y
|
||||
# CONFIG_S390_PTDUMP is not set
|
||||
# CONFIG_ASYMMETRIC_KEY_TYPE is not set
|
||||
CONFIG_PCI_NR_FUNCTIONS=64
|
||||
CONFIG_HOTPLUG_PCI=m
|
||||
# CONFIG_HOTPLUG_PCI_CPCI is not set
|
||||
# CONFIG_HOTPLUG_PCI_SHPC is not set
|
||||
CONFIG_HOTPLUG_PCI_S390=m
|
||||
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
|
||||
# CONFIG_SGI_IOC4 is not set
|
||||
# CONFIG_GPIO_GENERIC_PLATFORM is not set
|
||||
# CONFIG_GPIO_MCP23S08 is not set
|
||||
|
||||
# CONFIG_MEDIA_SUPPORT is not set
|
||||
# CONFIG_USB_SUPPORT is not set
|
||||
# CONFIG_DRM is not set
|
||||
# CONFIG_SOUND is not set
|
||||
# CONFIG_DW_DMAC is not set
|
||||
# CONFIG_I2C_SMBUS is not set
|
||||
# CONFIG_I2C_STUB is not set
|
||||
# CONFIG_I2C_HELPER_AUTO is not set
|
||||
# CONFIG_I2C_PARPORT is not set
|
||||
# CONFIG_I2C_PARPORT_LIGHT is not set
|
||||
# CONFIG_I2C_NFORCE2 is not set
|
||||
|
|
@ -0,0 +1,229 @@
|
|||
# CONFIG_64BIT is not set
|
||||
|
||||
CONFIG_X86_32_NON_STANDARD=y
|
||||
|
||||
# CONFIG_X86_ELAN is not set
|
||||
# CONFIG_X86_GOLDFISH is not set
|
||||
# CONFIG_X86_NUMAQ is not set
|
||||
# CONFIG_X86_SUMMIT is not set
|
||||
CONFIG_X86_BIGSMP=y
|
||||
# CONFIG_X86_VISWS is not set
|
||||
# CONFIG_X86_RDC321X is not set
|
||||
# CONFIG_X86_ES7000 is not set
|
||||
# CONFIG_M386 is not set
|
||||
# CONFIG_M486 is not set
|
||||
# CONFIG_M586 is not set
|
||||
# CONFIG_M586TSC is not set
|
||||
# CONFIG_M586MMX is not set
|
||||
CONFIG_M686=y
|
||||
# CONFIG_MPENTIUMII is not set
|
||||
# CONFIG_MPENTIUMIII is not set
|
||||
# CONFIG_MPENTIUMM is not set
|
||||
# CONFIG_MPENTIUM4 is not set
|
||||
# CONFIG_MK6 is not set
|
||||
# CONFIG_MK7 is not set
|
||||
# CONFIG_MK8 is not set
|
||||
# CONFIG_MCRUSOE is not set
|
||||
# CONFIG_MWINCHIPC6 is not set
|
||||
# CONFIG_MWINCHIP3D is not set
|
||||
# CONFIG_MCYRIXIII is not set
|
||||
# CONFIG_MVIAC3_2 is not set
|
||||
# CONFIG_STA2X11 is not set
|
||||
|
||||
CONFIG_NR_CPUS=32
|
||||
CONFIG_X86_GENERIC=y
|
||||
# CONFIG_X86_PPRO_FENCE is not set
|
||||
|
||||
CONFIG_TOSHIBA=m
|
||||
|
||||
CONFIG_SONYPI=m
|
||||
CONFIG_SONYPI_COMPAT=y
|
||||
|
||||
# CONFIG_NUMA is not set
|
||||
|
||||
# CONFIG_NOHIGHMEM is not set
|
||||
CONFIG_HIGHMEM4G=y
|
||||
# CONFIG_HIGHMEM64G is not set
|
||||
CONFIG_HIGHMEM=y
|
||||
CONFIG_HIGHPTE=y
|
||||
|
||||
# CONFIG_MATH_EMULATION is not set
|
||||
|
||||
CONFIG_FB_GEODE=y
|
||||
CONFIG_FB_GEODE_LX=y
|
||||
CONFIG_FB_GEODE_GX=y
|
||||
# CONFIG_FB_GEODE_GX1 is not set
|
||||
|
||||
CONFIG_FB_SSD1307=m
|
||||
|
||||
# CONFIG_PCI_GOBIOS is not set
|
||||
# CONFIG_PCI_GODIRECT is not set
|
||||
# CONFIG_PCI_GOMMCONFIG is not set
|
||||
CONFIG_PCI_GOANY=y
|
||||
|
||||
CONFIG_IBM_ASM=m
|
||||
|
||||
#
|
||||
# APM (Advanced Power Management) BIOS Support
|
||||
#
|
||||
CONFIG_APM=y
|
||||
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
|
||||
# CONFIG_APM_DO_ENABLE is not set
|
||||
CONFIG_APM_CPU_IDLE=y
|
||||
# CONFIG_APM_DISPLAY_BLANK is not set
|
||||
# CONFIG_APM_ALLOW_INTS is not set
|
||||
|
||||
CONFIG_ACPI_BLACKLIST_YEAR=1999
|
||||
|
||||
|
||||
# CONFIG_X86_POWERNOW_K6 is not set
|
||||
CONFIG_X86_POWERNOW_K7=y
|
||||
# CONFIG_X86_GX_SUSPMOD is not set
|
||||
CONFIG_X86_SPEEDSTEP_ICH=y
|
||||
CONFIG_X86_SPEEDSTEP_SMI=y
|
||||
CONFIG_X86_SPEEDSTEP_LIB=y
|
||||
# CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK is not set
|
||||
CONFIG_X86_LONGRUN=y
|
||||
# CONFIG_X86_LONGHAUL is not set
|
||||
# CONFIG_X86_CPUFREQ_NFORCE2 is not set
|
||||
# e_powersaver is dangerous
|
||||
# CONFIG_X86_E_POWERSAVER is not set
|
||||
|
||||
CONFIG_X86_HT=y
|
||||
CONFIG_X86_TRAMPOLINE=y
|
||||
|
||||
|
||||
# CONFIG_4KSTACKS is not set
|
||||
|
||||
CONFIG_PCI_DIRECT=y
|
||||
|
||||
# CONFIG_TRANSPARENT_HUGEPAGE is not set
|
||||
|
||||
# SHPC has half-arsed PCI probing, which makes it load on too many systems
|
||||
# CONFIG_HOTPLUG_PCI_SHPC is not set
|
||||
|
||||
CONFIG_I2C_ALI1535=m
|
||||
CONFIG_I2C_ALI15X3=m
|
||||
CONFIG_I2C_ALI1563=m
|
||||
CONFIG_I2C_SIS5595=m
|
||||
CONFIG_I2C_SIS630=m
|
||||
|
||||
CONFIG_SCx200_ACB=m
|
||||
|
||||
# CONFIG_X86_REBOOTFIXUPS is not set
|
||||
|
||||
CONFIG_PC8736x_GPIO=m
|
||||
# CONFIG_NSC_GPIO is not set
|
||||
CONFIG_CS5535_GPIO=m
|
||||
CONFIG_GPIO_SCH=m
|
||||
|
||||
CONFIG_SND_ISA=y
|
||||
CONFIG_SND_ES18XX=m
|
||||
|
||||
CONFIG_HW_RANDOM_GEODE=m
|
||||
|
||||
# CONFIG_SGI_IOC4 is not set
|
||||
|
||||
CONFIG_TC1100_WMI=m
|
||||
|
||||
CONFIG_IB700_WDT=m
|
||||
|
||||
CONFIG_PHYSICAL_ALIGN=0x400000
|
||||
CONFIG_PHYSICAL_START=0x400000
|
||||
|
||||
# CONFIG_KEXEC_JUMP is not set
|
||||
|
||||
CONFIG_CRYPTO_AES_586=y
|
||||
CONFIG_CRYPTO_DEV_GEODE=m
|
||||
CONFIG_CRYPTO_TWOFISH_586=m
|
||||
|
||||
CONFIG_VIDEO_CAFE_CCIC=m
|
||||
|
||||
CONFIG_XEN_MAX_DOMAIN_MEMORY=8
|
||||
|
||||
CONFIG_MTD_NAND_CAFE=m
|
||||
|
||||
CONFIG_LBDAF=y
|
||||
|
||||
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
|
||||
|
||||
|
||||
CONFIG_OLPC=y
|
||||
CONFIG_OLPC_OPENFIRMWARE=y
|
||||
CONFIG_BATTERY_OLPC=y
|
||||
CONFIG_MOUSE_PS2_OLPC=y
|
||||
CONFIG_OLPC_XO1_PM=y
|
||||
CONFIG_OLPC_XO15_SCI=y
|
||||
CONFIG_OLPC_XO1_RTC=y
|
||||
CONFIG_OLPC_XO1_SCI=y
|
||||
# CONFIG_ALIX is not set
|
||||
# staging
|
||||
# CONFIG_FB_OLPC_DCON is not set
|
||||
|
||||
# CONFIG_SPARSE_IRQ is not set
|
||||
|
||||
CONFIG_RCU_FANOUT=32
|
||||
|
||||
# CONFIG_X86_ANCIENT_MCE is not set
|
||||
|
||||
# CONFIG_X86_MRST is not set
|
||||
|
||||
CONFIG_I2C_PXA=m
|
||||
# CONFIG_GPIO_LANGWELL is not set
|
||||
|
||||
# CONFIG_INTEL_TXT is not set
|
||||
|
||||
CONFIG_GEODE_WDT=m
|
||||
CONFIG_CS5535_MFGPT=m
|
||||
CONFIG_CS5535_CLOCK_EVENT_SRC=m
|
||||
|
||||
CONFIG_LEDS_INTEL_SS4200=m
|
||||
|
||||
CONFIG_OLPC_XO1=m
|
||||
CONFIG_XO1_RFKILL=m
|
||||
|
||||
CONFIG_X86_32_IRIS=m
|
||||
|
||||
CONFIG_POWER_RESET_GPIO=y
|
||||
|
||||
CONFIG_MTD_OF_PARTS=y
|
||||
CONFIG_MTD_PHYSMAP_OF=m
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
CONFIG_SERIAL_OF_PLATFORM=m
|
||||
CONFIG_SERIAL_GRLIB_GAISLER_APBUART=m
|
||||
# CONFIG_MMC_SDHCI_OF is not set
|
||||
|
||||
# CONFIG_X86_INTEL_MID is not set
|
||||
|
||||
CONFIG_MFD_CS5535=m
|
||||
# CONFIG_MFD_SYSCON is not set
|
||||
|
||||
# I2O enabled only for 32-bit x86, disabled for PAE kernel
|
||||
CONFIG_I2O=m
|
||||
CONFIG_I2O_BLOCK=m
|
||||
CONFIG_I2O_SCSI=m
|
||||
CONFIG_I2O_PROC=m
|
||||
CONFIG_I2O_CONFIG=y
|
||||
CONFIG_I2O_EXT_ADAPTEC=y
|
||||
CONFIG_I2O_CONFIG_OLD_IOCTL=y
|
||||
CONFIG_I2O_BUS=m
|
||||
CONFIG_INPUT_PWM_BEEPER=m
|
||||
CONFIG_BACKLIGHT_PWM=m
|
||||
|
||||
# CONFIG_EDAC_SBRIDGE is not set
|
||||
|
||||
# CONFIG_X86_WANT_INTEL_MID is not set
|
||||
# CONFIG_OF_SELFTEST is not set
|
||||
# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
|
||||
# CONFIG_INPUT_GP2A is not set
|
||||
# CONFIG_INPUT_GPIO_TILT_POLLED is not set
|
||||
# CONFIG_GEOS is not set
|
||||
# CONFIG_NET5501 is not set
|
||||
# CONFIG_MDIO_BUS_MUX_GPIO is not set
|
||||
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
|
||||
# CONFIG_GPIO_SODAVILLE is not set
|
||||
# CONFIG_GPIO_ADNP is not set
|
||||
# CONFIG_BACKLIGHT_OT200 is not set
|
||||
# CONFIG_RTC_DRV_SNVS is not set
|
||||
# CONFIG_OF_DISPLAY_TIMING is not set
|
||||
# CONFIG_OF_VIDEOMODE is not set
|
|
@ -0,0 +1,447 @@
|
|||
CONFIG_UID16=y
|
||||
|
||||
CONFIG_X86_EXTENDED_PLATFORM=y
|
||||
|
||||
CONFIG_SMP=y
|
||||
|
||||
CONFIG_X86_GENERIC=y
|
||||
|
||||
CONFIG_HPET=y
|
||||
CONFIG_HPET_TIMER=y
|
||||
# CONFIG_HPET_MMAP is not set
|
||||
|
||||
CONFIG_I8K=m
|
||||
CONFIG_SONYPI_COMPAT=y
|
||||
CONFIG_MICROCODE=m
|
||||
CONFIG_MICROCODE_INTEL=y
|
||||
CONFIG_MICROCODE_INTEL_EARLY=y
|
||||
CONFIG_MICROCODE_AMD=y
|
||||
|
||||
CONFIG_X86_MSR=y
|
||||
CONFIG_X86_CPUID=y
|
||||
CONFIG_EDD=m
|
||||
# CONFIG_EDD_OFF is not set
|
||||
|
||||
CONFIG_PNP=y
|
||||
# CONFIG_PNP_DEBUG_MESSAGES is not set
|
||||
|
||||
# CONFIG_NET_SB1000 is not set
|
||||
|
||||
CONFIG_MTRR=y
|
||||
CONFIG_MTRR_SANITIZER=y
|
||||
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
|
||||
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
|
||||
CONFIG_X86_PAT=y
|
||||
CONFIG_X86_PM_TIMER=y
|
||||
|
||||
CONFIG_EFI=y
|
||||
CONFIG_EFI_STUB=y
|
||||
CONFIG_EFI_VARS=y
|
||||
CONFIG_EFI_VARS_PSTORE=y
|
||||
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
|
||||
CONFIG_EFI_PCDP=y
|
||||
CONFIG_FB_EFI=y
|
||||
|
||||
# FIXME: 32bit only?
|
||||
# CONFIG_FB_N411 is not set
|
||||
|
||||
CONFIG_INTEL_IOMMU=y
|
||||
CONFIG_DMAR_BROKEN_GFX_WA=y
|
||||
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
|
||||
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
|
||||
CONFIG_SCSI_ADVANSYS=m
|
||||
|
||||
CONFIG_SECCOMP=y
|
||||
|
||||
CONFIG_CAPI_EICON=y
|
||||
|
||||
#
|
||||
# Kernel debugging
|
||||
#
|
||||
CONFIG_X86_MPPARSE=y
|
||||
# CONFIG_X86_VERBOSE_BOOTUP is not set
|
||||
# CONFIG_MMIOTRACE_TEST is not set
|
||||
# CONFIG_DEBUG_PER_CPU_MAPS is not set
|
||||
CONFIG_DEBUG_RODATA=y
|
||||
CONFIG_DEBUG_STACKOVERFLOW=y
|
||||
|
||||
CONFIG_ACPI=y
|
||||
CONFIG_ACPI_AC=y
|
||||
# CONFIG_ACPI_ASUS is not set
|
||||
CONFIG_ACPI_BATTERY=y
|
||||
CONFIG_ACPI_BUTTON=y
|
||||
CONFIG_ACPI_CONTAINER=y
|
||||
CONFIG_ACPI_DOCK=y
|
||||
CONFIG_ACPI_FAN=y
|
||||
CONFIG_ACPI_NUMA=y
|
||||
CONFIG_ACPI_PROCESSOR=y
|
||||
CONFIG_ACPI_PROCFS=y
|
||||
CONFIG_ACPI_SBS=m
|
||||
CONFIG_ACPI_SLEEP=y
|
||||
CONFIG_ACPI_THERMAL=y
|
||||
CONFIG_ACPI_TOSHIBA=m
|
||||
CONFIG_ACPI_VIDEO=m
|
||||
CONFIG_ACPI_INITRD_TABLE_OVERRIDE=y
|
||||
# FIXME: Next two are deprecated. Remove them when they disappear upstream
|
||||
# CONFIG_ACPI_PROCFS_POWER is not set
|
||||
# CONFIG_ACPI_PROC_EVENT is not set
|
||||
CONFIG_PNPACPI=y
|
||||
CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
|
||||
CONFIG_ACPI_HED=m
|
||||
CONFIG_ACPI_APEI=y
|
||||
CONFIG_ACPI_APEI_PCIEAER=y
|
||||
CONFIG_ACPI_APEI_GHES=y
|
||||
CONFIG_ACPI_APEI_MEMORY_FAILURE=y
|
||||
# CONFIG_ACPI_APEI_EINJ is not set
|
||||
CONFIG_ACPI_IPMI=m
|
||||
CONFIG_ACPI_CUSTOM_METHOD=m
|
||||
CONFIG_ACPI_BGRT=y
|
||||
|
||||
# CONFIG_X86_INTEL_PSTATE is not set
|
||||
CONFIG_X86_ACPI_CPUFREQ=m
|
||||
CONFIG_X86_PCC_CPUFREQ=m
|
||||
CONFIG_X86_ACPI_CPUFREQ_CPB=y
|
||||
CONFIG_X86_POWERNOW_K8=m
|
||||
CONFIG_X86_P4_CLOCKMOD=m
|
||||
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
|
||||
|
||||
#
|
||||
# various x86 specific drivers
|
||||
#
|
||||
CONFIG_NVRAM=y
|
||||
CONFIG_CRYPTO_DEV_PADLOCK=m
|
||||
CONFIG_CRYPTO_DEV_PADLOCK_AES=m
|
||||
CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
|
||||
|
||||
CONFIG_GENERIC_ISA_DMA=y
|
||||
|
||||
CONFIG_SUSPEND=y
|
||||
CONFIG_HIBERNATION=y
|
||||
CONFIG_PM_STD_PARTITION=""
|
||||
|
||||
CONFIG_PCI_MMCONFIG=y
|
||||
CONFIG_PCI_BIOS=y
|
||||
CONFIG_PCI_IOAPIC=y
|
||||
|
||||
CONFIG_HOTPLUG_PCI=y
|
||||
CONFIG_HOTPLUG_PCI_COMPAQ=m
|
||||
# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
|
||||
CONFIG_HOTPLUG_PCI_IBM=m
|
||||
# CONFIG_HOTPLUG_PCI_CPCI is not set
|
||||
|
||||
CONFIG_PM=y
|
||||
|
||||
CONFIG_IPW2100=m
|
||||
CONFIG_IPW2100_MONITOR=y
|
||||
CONFIG_IPW2200=m
|
||||
CONFIG_IPW2200_MONITOR=y
|
||||
CONFIG_IPW2200_RADIOTAP=y
|
||||
CONFIG_IPW2200_PROMISCUOUS=y
|
||||
CONFIG_IPW2200_QOS=y
|
||||
|
||||
CONFIG_BLK_DEV_AMD74XX=y
|
||||
|
||||
CONFIG_I2C_AMD756=m
|
||||
CONFIG_I2C_AMD756_S4882=m
|
||||
CONFIG_I2C_AMD8111=m
|
||||
CONFIG_I2C_I801=m
|
||||
CONFIG_I2C_ISCH=m
|
||||
CONFIG_I2C_ISMT=m
|
||||
CONFIG_I2C_NFORCE2=m
|
||||
CONFIG_I2C_NFORCE2_S4985=m
|
||||
CONFIG_I2C_PIIX4=m
|
||||
CONFIG_I2C_SIS96X=m
|
||||
CONFIG_I2C_VIA=m
|
||||
CONFIG_I2C_VIAPRO=m
|
||||
|
||||
CONFIG_DELL_RBU=m
|
||||
CONFIG_DCDBAS=m
|
||||
|
||||
CONFIG_EDAC=y
|
||||
CONFIG_EDAC_MM_EDAC=m
|
||||
CONFIG_EDAC_AMD76X=m
|
||||
CONFIG_EDAC_AMD8111=m
|
||||
CONFIG_EDAC_AMD8131=m
|
||||
CONFIG_EDAC_E7XXX=m
|
||||
CONFIG_EDAC_E752X=m
|
||||
CONFIG_EDAC_I82860=m
|
||||
CONFIG_EDAC_I82875P=m
|
||||
CONFIG_EDAC_I82975X=m
|
||||
CONFIG_EDAC_I3000=m
|
||||
CONFIG_EDAC_I3200=m
|
||||
CONFIG_EDAC_I5000=m
|
||||
CONFIG_EDAC_I5100=m
|
||||
CONFIG_EDAC_I5400=m
|
||||
CONFIG_EDAC_I7300=m
|
||||
CONFIG_EDAC_I7CORE=m
|
||||
CONFIG_EDAC_R82600=m
|
||||
CONFIG_EDAC_X38=m
|
||||
CONFIG_EDAC_MCE_INJ=m
|
||||
CONFIG_EDAC_DECODE_MCE=m
|
||||
CONFIG_EDAC_LEGACY_SYSFS=y
|
||||
|
||||
CONFIG_SCHED_MC=y
|
||||
|
||||
CONFIG_SND_ISA=y
|
||||
CONFIG_SND_ES18XX=m
|
||||
|
||||
CONFIG_TCG_INFINEON=m
|
||||
|
||||
CONFIG_HW_RANDOM_INTEL=m
|
||||
CONFIG_HW_RANDOM_AMD=m
|
||||
CONFIG_HW_RANDOM_VIA=m
|
||||
|
||||
# CONFIG_COMPAT_VDSO is not set
|
||||
|
||||
CONFIG_X86_PLATFORM_DEVICES=y
|
||||
|
||||
CONFIG_AMILO_RFKILL=m
|
||||
CONFIG_ASUS_LAPTOP=m
|
||||
CONFIG_COMPAL_LAPTOP=m
|
||||
CONFIG_DELL_LAPTOP=m
|
||||
CONFIG_CHROMEOS_LAPTOP=m
|
||||
CONFIG_EEEPC_LAPTOP=m
|
||||
CONFIG_FUJITSU_TABLET=m
|
||||
CONFIG_FUJITSU_LAPTOP=m
|
||||
# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
|
||||
CONFIG_IDEAPAD_LAPTOP=m
|
||||
CONFIG_MSI_LAPTOP=m
|
||||
CONFIG_PANASONIC_LAPTOP=m
|
||||
CONFIG_SAMSUNG_LAPTOP=m
|
||||
CONFIG_SONY_LAPTOP=m
|
||||
CONFIG_TOPSTAR_LAPTOP=m
|
||||
|
||||
|
||||
CONFIG_ACPI_WMI=m
|
||||
CONFIG_ACER_WMI=m
|
||||
CONFIG_ACERHDF=m
|
||||
CONFIG_ASUS_WMI=m
|
||||
CONFIG_ASUS_NB_WMI=m
|
||||
CONFIG_HP_WMI=m
|
||||
# CONFIG_INTEL_SCU_IPC is not set
|
||||
CONFIG_DELL_WMI=m
|
||||
CONFIG_DELL_WMI_AIO=m
|
||||
CONFIG_EEEPC_WMI=m
|
||||
CONFIG_INTEL_OAKTRAIL=m
|
||||
CONFIG_SAMSUNG_Q10=m
|
||||
CONFIG_APPLE_GMUX=m
|
||||
CONFIG_XO15_EBOOK=m
|
||||
|
||||
# CONFIG_TOUCHSCREEN_INTEL_MID is not set
|
||||
|
||||
# CONFIG_SMSC37B787_WDT is not set
|
||||
CONFIG_W83697HF_WDT=m
|
||||
CONFIG_VIA_WDT=m
|
||||
CONFIG_IE6XX_WDT=m
|
||||
|
||||
CONFIG_CRASH_DUMP=y
|
||||
CONFIG_PROC_VMCORE=y
|
||||
CONFIG_CRASH=m
|
||||
|
||||
CONFIG_VIRTUALIZATION=y
|
||||
CONFIG_KVM=m
|
||||
CONFIG_KVM_INTEL=m
|
||||
CONFIG_KVM_AMD=m
|
||||
CONFIG_LGUEST=m
|
||||
CONFIG_LGUEST_GUEST=y
|
||||
|
||||
CONFIG_PARAVIRT_GUEST=y
|
||||
CONFIG_PARAVIRT=y
|
||||
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
|
||||
# CONFIG_PARAVIRT_DEBUG is not set
|
||||
|
||||
# PARAVIRT_SPINLOCKS has a 5% perf hit on native hw (see kconfig)
|
||||
# CONFIG_PARAVIRT_SPINLOCKS is not set
|
||||
|
||||
CONFIG_KVM_CLOCK=y
|
||||
CONFIG_KVM_GUEST=y
|
||||
CONFIG_KVM_MMU_AUDIT=y # default $x would be nice...
|
||||
|
||||
CONFIG_XEN=y
|
||||
# CONFIG_XEN_DEBUG is not set
|
||||
CONFIG_XEN_BALLOON=y
|
||||
CONFIG_XEN_SCRUB_PAGES=y
|
||||
CONFIG_XEN_SAVE_RESTORE=y
|
||||
CONFIG_HVC_XEN=y
|
||||
CONFIG_HVC_XEN_FRONTEND=y
|
||||
CONFIG_XEN_FBDEV_FRONTEND=y
|
||||
CONFIG_XEN_BLKDEV_FRONTEND=m
|
||||
CONFIG_XEN_NETDEV_FRONTEND=m
|
||||
CONFIG_XEN_NETDEV_BACKEND=m
|
||||
CONFIG_XEN_WDT=m
|
||||
CONFIG_XEN_GRANT_DEV_ALLOC=m
|
||||
CONFIG_XEN_PCIDEV_FRONTEND=m
|
||||
CONFIG_XENFS=m
|
||||
CONFIG_XEN_COMPAT_XENFS=y
|
||||
CONFIG_XEN_BACKEND=y
|
||||
CONFIG_XEN_BLKDEV_BACKEND=m
|
||||
CONFIG_XEN_DEBUG_FS=y
|
||||
CONFIG_XEN_PLATFORM_PCI=y
|
||||
CONFIG_XEN_GNTDEV=m
|
||||
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m
|
||||
CONFIG_XEN_SELFBALLOONING=y
|
||||
CONFIG_XEN_PCIDEV_BACKEND=m
|
||||
CONFIG_XEN_ACPI_PROCESSOR=m
|
||||
|
||||
CONFIG_MTD_ESB2ROM=m
|
||||
CONFIG_MTD_CK804XROM=m
|
||||
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_CPU_IDLE=y
|
||||
# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
|
||||
# CONFIG_CPU_IDLE_GOV_LADDER is not set
|
||||
CONFIG_CPU_IDLE_GOV_MENU=y
|
||||
|
||||
CONFIG_THINKPAD_ACPI=m
|
||||
# CONFIG_THINKPAD_ACPI_DEBUG is not set
|
||||
# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
|
||||
CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
|
||||
CONFIG_THINKPAD_ACPI_VIDEO=y
|
||||
CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
|
||||
# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
|
||||
|
||||
CONFIG_MACINTOSH_DRIVERS=y
|
||||
|
||||
CONFIG_DMIID=y
|
||||
CONFIG_DMI_SYSFS=y
|
||||
|
||||
CONFIG_ISCSI_IBFT_FIND=y
|
||||
CONFIG_ISCSI_IBFT=m
|
||||
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_INTEL_IOATDMA=m
|
||||
|
||||
CONFIG_SENSORS_I5K_AMB=m
|
||||
CONFIG_SENSORS_FAM15H_POWER=m
|
||||
CONFIG_SENSORS_ACPI_POWER=m
|
||||
|
||||
# CONFIG_CPA_DEBUG is not set
|
||||
|
||||
CONFIG_HP_WATCHDOG=m
|
||||
CONFIG_NV_TCO=m
|
||||
CONFIG_SP5100_TCO=m
|
||||
|
||||
CONFIG_STRICT_DEVMEM=y
|
||||
|
||||
# CONFIG_NO_BOOTMEM is not set
|
||||
|
||||
# CONFIG_MEMTEST is not set
|
||||
# CONFIG_DEBUG_TLBFLUSH is not set
|
||||
# CONFIG_MAXSMP is not set
|
||||
|
||||
|
||||
CONFIG_HP_ILO=m
|
||||
|
||||
CONFIG_BACKLIGHT_APPLE=m
|
||||
|
||||
|
||||
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
|
||||
|
||||
# CONFIG_CMDLINE_BOOL is not set
|
||||
|
||||
|
||||
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
|
||||
|
||||
|
||||
# CONFIG_IOMMU_STRESS is not set
|
||||
|
||||
CONFIG_PERF_COUNTERS=y
|
||||
CONFIG_PERF_EVENTS=y
|
||||
|
||||
CONFIG_X86_MCE=y
|
||||
CONFIG_X86_MCE_INTEL=y
|
||||
CONFIG_X86_MCE_AMD=y
|
||||
CONFIG_X86_MCE_INJECT=m
|
||||
|
||||
CONFIG_SFI=y
|
||||
|
||||
CONFIG_I2C_SCMI=m
|
||||
CONFIG_SBC_FITPC2_WATCHDOG=m
|
||||
|
||||
CONFIG_X86_DECODER_SELFTEST=y
|
||||
|
||||
CONFIG_ACPI_CMPC=m
|
||||
CONFIG_MSI_WMI=m
|
||||
CONFIG_TOSHIBA_BT_RFKILL=m
|
||||
|
||||
CONFIG_VGA_SWITCHEROO=y
|
||||
CONFIG_LPC_SCH=m
|
||||
CONFIG_LPC_ICH=m
|
||||
|
||||
CONFIG_GPIO_ICH=m
|
||||
# CONFIG_GPIO_LYNXPOINT is not set
|
||||
|
||||
CONFIG_PCI_CNB20LE_QUIRK=y
|
||||
|
||||
CONFIG_ACPI_EC_DEBUGFS=m
|
||||
# CONFIG_ACPI_APEI_ERST_DEBUG is not set
|
||||
# CONFIG_ACPI_QUICKSTART is not set
|
||||
|
||||
CONFIG_INTEL_IDLE=y
|
||||
|
||||
# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
|
||||
CONFIG_F71808E_WDT=m
|
||||
CONFIG_HPWDT_NMI_DECODING=y
|
||||
# CONFIG_MFD_TPS6586X is not set
|
||||
# CONFIG_INTEL_MID_DMAC is not set
|
||||
CONFIG_PCH_DMA=m
|
||||
CONFIG_INTEL_IPS=m
|
||||
# CONFIG_IBM_RTL is not set
|
||||
|
||||
CONFIG_VIDEO_VIA_CAMERA=m
|
||||
|
||||
CONFIG_IRQ_TIME_ACCOUNTING=y
|
||||
CONFIG_X86_RESERVE_LOW=64
|
||||
|
||||
# CONFIG_IRQ_DOMAIN_DEBUG is not set
|
||||
|
||||
CONFIG_PCH_GBE=m
|
||||
CONFIG_PCH_PHUB=m
|
||||
|
||||
CONFIG_CRYPTO_AES_NI_INTEL=y
|
||||
CONFIG_CRYPTO_SERPENT_SSE2_586=m
|
||||
CONFIG_CRYPTO_CRC32_PCLMUL=m
|
||||
|
||||
CONFIG_HP_ACCEL=m
|
||||
|
||||
# CONFIG_RAPIDIO is not set
|
||||
|
||||
# CONFIG_GPIO_GENERIC_PLATFORM is not set
|
||||
# CONFIG_GPIO_MCP23S08 is not set
|
||||
|
||||
CONFIG_SCHED_SMT=y
|
||||
CONFIG_CC_STACKPROTECTOR=y
|
||||
CONFIG_RELOCATABLE=y
|
||||
|
||||
CONFIG_HYPERV=m
|
||||
CONFIG_HYPERV_UTILS=m
|
||||
CONFIG_HID_HYPERV_MOUSE=m
|
||||
CONFIG_HYPERV_NET=m
|
||||
CONFIG_HYPERV_STORAGE=m
|
||||
CONFIG_HYPERV_BALLOON=m
|
||||
|
||||
# Depends on HOTPLUG_PCI_PCIE
|
||||
CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m
|
||||
|
||||
CONFIG_DRM_GMA500=m
|
||||
# CONFIG_DRM_GMA600 is not set
|
||||
CONFIG_DRM_GMA3600=y
|
||||
|
||||
CONFIG_RCU_FANOUT_LEAF=16
|
||||
|
||||
CONFIG_INTEL_MEI=m
|
||||
CONFIG_INTEL_MEI_ME=y
|
||||
|
||||
# Maybe enable in debug kernels?
|
||||
# CONFIG_DEBUG_NMI_SELFTEST is not set
|
||||
|
||||
# CONFIG_X86_INTEL_LPSS is not set
|
||||
|
||||
# CONFIG_INTEL_POWERCLAMP is not set
|
||||
|
||||
CONFIG_VMWARE_VMCI=m
|
||||
CONFIG_VMWARE_VMCI_VSOCKETS=m
|
||||
|
||||
CONFIG_VMXNET3=m
|
||||
CONFIG_VFIO_PCI_VGA=y
|
|
@ -0,0 +1,150 @@
|
|||
CONFIG_64BIT=y
|
||||
|
||||
# CONFIG_X86_X32 is not set
|
||||
# CONFIG_MK8 is not set
|
||||
# CONFIG_MPSC is not set
|
||||
CONFIG_GENERIC_CPU=y
|
||||
|
||||
# CONFIG_X86_VSMP is not set
|
||||
# CONFIG_X86_UV is not set
|
||||
CONFIG_NUMA=y
|
||||
CONFIG_K8_NUMA=y
|
||||
CONFIG_AMD_NUMA=y
|
||||
CONFIG_X86_64_ACPI_NUMA=y
|
||||
# CONFIG_NUMA_EMU is not set
|
||||
# CONFIG_X86_NUMACHIP is not set
|
||||
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
|
||||
CONFIG_NUMA_BALANCING=y
|
||||
|
||||
CONFIG_NR_CPUS=128
|
||||
CONFIG_PHYSICAL_START=0x1000000
|
||||
|
||||
CONFIG_IA32_EMULATION=y
|
||||
# CONFIG_IA32_AOUT is not set
|
||||
|
||||
CONFIG_AMD_IOMMU=y
|
||||
CONFIG_AMD_IOMMU_STATS=y
|
||||
CONFIG_AMD_IOMMU_V2=m
|
||||
# CONFIG_IOMMU_DEBUG is not set
|
||||
CONFIG_SWIOTLB=y
|
||||
# CONFIG_CALGARY_IOMMU is not set
|
||||
|
||||
CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
|
||||
CONFIG_KEXEC_JUMP=y
|
||||
|
||||
CONFIG_ACPI_BLACKLIST_YEAR=0
|
||||
CONFIG_ACPI_HOTPLUG_MEMORY=m
|
||||
|
||||
# CONFIG_INTEL_SCU_IPC is not set
|
||||
|
||||
# SHPC has half-arsed PCI probing, which makes it load on too many systems
|
||||
CONFIG_HOTPLUG_PCI_SHPC=m
|
||||
|
||||
CONFIG_CRYPTO_AES_X86_64=y
|
||||
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
|
||||
CONFIG_CRYPTO_TWOFISH_X86_64=m
|
||||
CONFIG_CRYPTO_SALSA20_X86_64=m
|
||||
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
|
||||
CONFIG_CRYPTO_SHA1_SSSE3=m
|
||||
CONFIG_CRYPTO_BLOWFISH_X86_64=m
|
||||
CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
|
||||
CONFIG_CRYPTO_CAMELLIA_X86_64=m
|
||||
CONFIG_CRYPTO_CAST5_AVX_X86_64=m
|
||||
CONFIG_CRYPTO_CAST6_AVX_X86_64=m
|
||||
CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
|
||||
CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m
|
||||
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m
|
||||
|
||||
# CONFIG_I2C_ALI1535 is not set
|
||||
# CONFIG_I2C_ALI1563 is not set
|
||||
# CONFIG_I2C_ALI15X3 is not set
|
||||
# CONFIG_I2C_SIS5595 is not set
|
||||
# CONFIG_I2C_SIS630 is not set
|
||||
|
||||
CONFIG_EDAC_AMD64=m
|
||||
# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
|
||||
CONFIG_EDAC_SBRIDGE=m
|
||||
|
||||
# CONFIG_PC8736x_GPIO is not set
|
||||
|
||||
# CONFIG_DISCONTIGMEM_MANUAL is not set
|
||||
CONFIG_SPARSEMEM_MANUAL=y
|
||||
CONFIG_SPARSEMEM=y
|
||||
CONFIG_HAVE_MEMORY_PRESENT=y
|
||||
CONFIG_SPARSEMEM_EXTREME=y
|
||||
CONFIG_SPARSEMEM_VMEMMAP=y
|
||||
# CONFIG_MOVABLE_NODE is not set
|
||||
# CONFIG_MEMORY_HOTPLUG is not set
|
||||
# CONFIG_MEMORY_HOTREMOVE is not set
|
||||
|
||||
# CONFIG_BLK_DEV_CMD640 is not set
|
||||
# CONFIG_BLK_DEV_RZ1000 is not set
|
||||
# CONFIG_BLK_DEV_TRIFLEX is not set
|
||||
# CONFIG_BLK_DEV_CS5520 is not set
|
||||
# CONFIG_BLK_DEV_CS5530 is not set
|
||||
# CONFIG_BLK_DEV_CS5535 is not set
|
||||
|
||||
CONFIG_SGI_IOC4=m
|
||||
CONFIG_SGI_XP=m
|
||||
CONFIG_SGI_GRU=m
|
||||
# CONFIG_SGI_GRU_DEBUG is not set
|
||||
|
||||
# CONFIG_VIDEO_CAFE_CCIC is not set
|
||||
|
||||
CONFIG_XEN_MAX_DOMAIN_MEMORY=128
|
||||
# CONFIG_XEN_BALLOON_MEMORY_HOTPLUG is not set
|
||||
CONFIG_XEN_DEV_EVTCHN=m
|
||||
CONFIG_XEN_SYS_HYPERVISOR=y
|
||||
# CONFIG_XEN_MCE_LOG is not set
|
||||
|
||||
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
|
||||
|
||||
CONFIG_FRAME_WARN=2048
|
||||
|
||||
CONFIG_NODES_SHIFT=9
|
||||
|
||||
CONFIG_DIRECT_GBPAGES=y
|
||||
|
||||
CONFIG_X86_MPPARSE=y
|
||||
|
||||
CONFIG_I7300_IDLE=m
|
||||
CONFIG_IRQ_REMAP=y
|
||||
|
||||
CONFIG_X86_X2APIC=y
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
|
||||
CONFIG_RCU_FANOUT=64
|
||||
# CONFIG_RCU_USER_QS is not set
|
||||
|
||||
CONFIG_INTEL_TXT=y
|
||||
|
||||
CONFIG_GPIO_LANGWELL=y
|
||||
|
||||
CONFIG_FUNCTION_GRAPH_TRACER=y
|
||||
|
||||
CONFIG_I7300_IDLE=m
|
||||
|
||||
CONFIG_BPF_JIT=y
|
||||
|
||||
# Should be 32bit only, but lacks KConfig depends
|
||||
# CONFIG_XO15_EBOOK is not set
|
||||
|
||||
CONFIG_NTB=m
|
||||
CONFIG_NTB_NETDEV=m
|
||||
|
||||
# 10GigE
|
||||
#
|
||||
CONFIG_IP1000=m
|
||||
CONFIG_MLX4_EN=m
|
||||
CONFIG_MLX4_EN_DCB=y
|
||||
# CONFIG_MLX4_DEBUG is not set
|
||||
CONFIG_SFC=m
|
||||
CONFIG_SFC_MCDI_MON=y
|
||||
CONFIG_SFC_SRIOV=y
|
||||
CONFIG_SFC_PTP=y
|
||||
CONFIG_SFC_MTD=y
|
||||
# Override MTD stuff because SFC_MTD needs it
|
||||
CONFIG_MTD_CHAR=m
|
||||
CONFIG_MTD_BLOCK=m
|
||||
|
|
@ -0,0 +1,383 @@
|
|||
From f72d640713d01b3b704c6e84ab49b62f19fc9c22 Mon Sep 17 00:00:00 2001
|
||||
From: Kyle McMartin <kyle@phobos.i.jkkm.org>
|
||||
Date: Tue, 30 Mar 2010 00:16:25 -0400
|
||||
Subject: [PATCH] dev-crash-driver.patch
|
||||
|
||||
---
|
||||
arch/ia64/include/asm/crash.h | 90 +++++++++++++++++++++++++++++
|
||||
arch/ia64/kernel/ia64_ksyms.c | 3 +
|
||||
arch/x86/include/asm/crash.h | 75 ++++++++++++++++++++++++
|
||||
arch/x86/mm/ioremap.c | 2 +
|
||||
drivers/char/Kconfig | 3 +
|
||||
drivers/char/Makefile | 2 +
|
||||
drivers/char/crash.c | 128 +++++++++++++++++++++++++++++++++++++++++
|
||||
7 files changed, 303 insertions(+), 0 deletions(-)
|
||||
create mode 100644 arch/ia64/include/asm/crash.h
|
||||
create mode 100644 arch/x86/include/asm/crash.h
|
||||
create mode 100644 drivers/char/crash.c
|
||||
|
||||
diff --git a/arch/ia64/include/asm/crash.h b/arch/ia64/include/asm/crash.h
|
||||
new file mode 100644
|
||||
index 0000000..541af84
|
||||
--- /dev/null
|
||||
+++ b/arch/ia64/include/asm/crash.h
|
||||
@@ -0,0 +1,90 @@
|
||||
+#ifndef _ASM_IA64_CRASH_H
|
||||
+#define _ASM_IA64_CRASH_H
|
||||
+
|
||||
+/*
|
||||
+ * linux/include/asm-ia64/crash.h
|
||||
+ *
|
||||
+ * Copyright (c) 2004 Red Hat, Inc. All rights reserved.
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License as published by
|
||||
+ * the Free Software Foundation; either version 2, or (at your option)
|
||||
+ * any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#ifdef __KERNEL__
|
||||
+
|
||||
+#include <linux/efi.h>
|
||||
+#include <linux/mm.h>
|
||||
+#include <asm/mmzone.h>
|
||||
+
|
||||
+static inline void *
|
||||
+map_virtual(u64 offset, struct page **pp)
|
||||
+{
|
||||
+ struct page *page;
|
||||
+ unsigned long pfn;
|
||||
+ u32 type;
|
||||
+
|
||||
+ if (REGION_NUMBER(offset) == 5) {
|
||||
+ char byte;
|
||||
+
|
||||
+ if (__get_user(byte, (char *)offset) == 0)
|
||||
+ return (void *)offset;
|
||||
+ else
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ switch (type = efi_mem_type(offset))
|
||||
+ {
|
||||
+ case EFI_LOADER_CODE:
|
||||
+ case EFI_LOADER_DATA:
|
||||
+ case EFI_BOOT_SERVICES_CODE:
|
||||
+ case EFI_BOOT_SERVICES_DATA:
|
||||
+ case EFI_CONVENTIONAL_MEMORY:
|
||||
+ break;
|
||||
+
|
||||
+ default:
|
||||
+ printk(KERN_INFO
|
||||
+ "crash memory driver: invalid memory type for %lx: %d\n",
|
||||
+ offset, type);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ pfn = offset >> PAGE_SHIFT;
|
||||
+
|
||||
+ if (!pfn_valid(pfn)) {
|
||||
+ printk(KERN_INFO
|
||||
+ "crash memory driver: invalid pfn: %lx )\n", pfn);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ page = pfn_to_page(pfn);
|
||||
+
|
||||
+ if (!page->virtual) {
|
||||
+ printk(KERN_INFO
|
||||
+ "crash memory driver: offset: %lx page: %lx page->virtual: NULL\n",
|
||||
+ offset, (unsigned long)page);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ return (page->virtual + (offset & (PAGE_SIZE-1)));
|
||||
+}
|
||||
+
|
||||
+static inline void unmap_virtual(struct page *page)
|
||||
+{
|
||||
+ return;
|
||||
+}
|
||||
+
|
||||
+#endif /* __KERNEL__ */
|
||||
+
|
||||
+#endif /* _ASM_IA64_CRASH_H */
|
||||
diff --git a/arch/ia64/kernel/ia64_ksyms.c b/arch/ia64/kernel/ia64_ksyms.c
|
||||
index 7f4a0ed..552fe24 100644
|
||||
--- a/arch/ia64/kernel/ia64_ksyms.c
|
||||
+++ b/arch/ia64/kernel/ia64_ksyms.c
|
||||
@@ -84,6 +84,9 @@ EXPORT_SYMBOL(ia64_save_scratch_fpregs);
|
||||
#include <asm/unwind.h>
|
||||
EXPORT_SYMBOL(unw_init_running);
|
||||
|
||||
+#include <linux/efi.h>
|
||||
+EXPORT_SYMBOL_GPL(efi_mem_type);
|
||||
+
|
||||
#if defined(CONFIG_IA64_ESI) || defined(CONFIG_IA64_ESI_MODULE)
|
||||
extern void esi_call_phys (void);
|
||||
EXPORT_SYMBOL_GPL(esi_call_phys);
|
||||
diff --git a/arch/x86/include/asm/crash.h b/arch/x86/include/asm/crash.h
|
||||
new file mode 100644
|
||||
index 0000000..dfcc006
|
||||
--- /dev/null
|
||||
+++ b/arch/x86/include/asm/crash.h
|
||||
@@ -0,0 +1,75 @@
|
||||
+#ifndef _ASM_I386_CRASH_H
|
||||
+#define _ASM_I386_CRASH_H
|
||||
+
|
||||
+/*
|
||||
+ * linux/include/asm-i386/crash.h
|
||||
+ *
|
||||
+ * Copyright (c) 2004 Red Hat, Inc. All rights reserved.
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License as published by
|
||||
+ * the Free Software Foundation; either version 2, or (at your option)
|
||||
+ * any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#ifdef __KERNEL__
|
||||
+
|
||||
+#include <linux/mm.h>
|
||||
+#include <linux/highmem.h>
|
||||
+#include <asm/mmzone.h>
|
||||
+
|
||||
+extern int page_is_ram(unsigned long);
|
||||
+
|
||||
+static inline void *
|
||||
+map_virtual(u64 offset, struct page **pp)
|
||||
+{
|
||||
+ struct page *page;
|
||||
+ unsigned long pfn;
|
||||
+ void *vaddr;
|
||||
+
|
||||
+ pfn = (unsigned long)(offset >> PAGE_SHIFT);
|
||||
+
|
||||
+ if (!page_is_ram(pfn)) {
|
||||
+ printk(KERN_INFO
|
||||
+ "crash memory driver: !page_is_ram(pfn: %lx)\n", pfn);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ if (!pfn_valid(pfn)) {
|
||||
+ printk(KERN_INFO
|
||||
+ "crash memory driver: invalid pfn: %lx )\n", pfn);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ page = pfn_to_page(pfn);
|
||||
+
|
||||
+ vaddr = kmap(page);
|
||||
+ if (!vaddr) {
|
||||
+ printk(KERN_INFO
|
||||
+ "crash memory driver: pfn: %lx kmap(page: %lx) failed\n",
|
||||
+ pfn, (unsigned long)page);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ *pp = page;
|
||||
+ return (vaddr + (offset & (PAGE_SIZE-1)));
|
||||
+}
|
||||
+
|
||||
+static inline void unmap_virtual(struct page *page)
|
||||
+{
|
||||
+ kunmap(page);
|
||||
+}
|
||||
+
|
||||
+#endif /* __KERNEL__ */
|
||||
+
|
||||
+#endif /* _ASM_I386_CRASH_H */
|
||||
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
|
||||
index be1ef57..ac659f7 100644
|
||||
--- a/arch/x86/mm/ioremap.c
|
||||
+++ b/arch/x86/mm/ioremap.c
|
||||
@@ -24,6 +24,8 @@
|
||||
|
||||
#include "physaddr.h"
|
||||
|
||||
+EXPORT_SYMBOL_GPL(page_is_ram);
|
||||
+
|
||||
/*
|
||||
* Fix up the linear direct mapping of the kernel to avoid cache attribute
|
||||
* conflicts.
|
||||
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
|
||||
index 423fd56..e04a561 100644
|
||||
--- a/drivers/char/Kconfig
|
||||
+++ b/drivers/char/Kconfig
|
||||
@@ -4,6 +4,9 @@
|
||||
|
||||
menu "Character devices"
|
||||
|
||||
+config CRASH
|
||||
+ tristate "Crash Utility memory driver"
|
||||
+
|
||||
source "drivers/tty/Kconfig"
|
||||
|
||||
config DEVKMEM
|
||||
diff --git a/drivers/char/Makefile b/drivers/char/Makefile
|
||||
index 32762ba..3d5d525 100644
|
||||
--- a/drivers/char/Makefile
|
||||
+++ b/drivers/char/Makefile
|
||||
@@ -65,3 +65,5 @@ obj-$(CONFIG_JS_RTC) += js-rtc.o
|
||||
js-rtc-y = rtc.o
|
||||
|
||||
obj-$(CONFIG_TILE_SROM) += tile-srom.o
|
||||
+
|
||||
+obj-$(CONFIG_CRASH) += crash.o
|
||||
diff --git a/drivers/char/crash.c b/drivers/char/crash.c
|
||||
new file mode 100644
|
||||
index 0000000..e5437de
|
||||
--- /dev/null
|
||||
+++ b/drivers/char/crash.c
|
||||
@@ -0,0 +1,128 @@
|
||||
+/*
|
||||
+ * linux/drivers/char/crash.c
|
||||
+ *
|
||||
+ * Copyright (C) 2004 Dave Anderson <anderson@redhat.com>
|
||||
+ * Copyright (C) 2004 Red Hat, Inc.
|
||||
+ */
|
||||
+
|
||||
+/******************************************************************************
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License as published by
|
||||
+ * the Free Software Foundation; either version 2, or (at your option)
|
||||
+ * any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
+ *
|
||||
+ *****************************************************************************/
|
||||
+
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/types.h>
|
||||
+#include <linux/miscdevice.h>
|
||||
+#include <linux/init.h>
|
||||
+#include <asm/io.h>
|
||||
+#include <asm/uaccess.h>
|
||||
+#include <asm/types.h>
|
||||
+#include <asm/crash.h>
|
||||
+
|
||||
+#define CRASH_VERSION "1.0"
|
||||
+
|
||||
+/*
|
||||
+ * These are the file operation functions that allow crash utility
|
||||
+ * access to physical memory.
|
||||
+ */
|
||||
+
|
||||
+static loff_t
|
||||
+crash_llseek(struct file * file, loff_t offset, int orig)
|
||||
+{
|
||||
+ switch (orig) {
|
||||
+ case 0:
|
||||
+ file->f_pos = offset;
|
||||
+ return file->f_pos;
|
||||
+ case 1:
|
||||
+ file->f_pos += offset;
|
||||
+ return file->f_pos;
|
||||
+ default:
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Determine the page address for an address offset value,
|
||||
+ * get a virtual address for it, and copy it out.
|
||||
+ * Accesses must fit within a page.
|
||||
+ */
|
||||
+static ssize_t
|
||||
+crash_read(struct file *file, char *buf, size_t count, loff_t *poff)
|
||||
+{
|
||||
+ void *vaddr;
|
||||
+ struct page *page;
|
||||
+ u64 offset;
|
||||
+ ssize_t read;
|
||||
+
|
||||
+ offset = *poff;
|
||||
+ if (offset >> PAGE_SHIFT != (offset+count-1) >> PAGE_SHIFT)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ vaddr = map_virtual(offset, &page);
|
||||
+ if (!vaddr)
|
||||
+ return -EFAULT;
|
||||
+
|
||||
+ if (copy_to_user(buf, vaddr, count)) {
|
||||
+ unmap_virtual(page);
|
||||
+ return -EFAULT;
|
||||
+ }
|
||||
+ unmap_virtual(page);
|
||||
+
|
||||
+ read = count;
|
||||
+ *poff += read;
|
||||
+ return read;
|
||||
+}
|
||||
+
|
||||
+static struct file_operations crash_fops = {
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .llseek = crash_llseek,
|
||||
+ .read = crash_read,
|
||||
+};
|
||||
+
|
||||
+static struct miscdevice crash_dev = {
|
||||
+ MISC_DYNAMIC_MINOR,
|
||||
+ "crash",
|
||||
+ &crash_fops
|
||||
+};
|
||||
+
|
||||
+static int __init
|
||||
+crash_init(void)
|
||||
+{
|
||||
+ int ret;
|
||||
+
|
||||
+ ret = misc_register(&crash_dev);
|
||||
+ if (ret) {
|
||||
+ printk(KERN_ERR
|
||||
+ "crash memory driver: cannot misc_register (MISC_DYNAMIC_MINOR)\n");
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
+ ret = 0;
|
||||
+ printk(KERN_INFO "crash memory driver: version %s\n", CRASH_VERSION);
|
||||
+out:
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+static void __exit
|
||||
+crash_cleanup_module(void)
|
||||
+{
|
||||
+ misc_deregister(&crash_dev);
|
||||
+}
|
||||
+
|
||||
+module_init(crash_init);
|
||||
+module_exit(crash_cleanup_module);
|
||||
+
|
||||
+MODULE_LICENSE("GPL");
|
||||
--
|
||||
1.7.6
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
diff --git a/drivers/block/cpqarray.c b/drivers/block/cpqarray.c
|
||||
index 639d26b..2b94403 100644
|
||||
--- a/drivers/block/cpqarray.c
|
||||
+++ b/drivers/block/cpqarray.c
|
||||
@@ -1193,6 +1193,7 @@ out_passthru:
|
||||
ida_pci_info_struct pciinfo;
|
||||
|
||||
if (!arg) return -EINVAL;
|
||||
+ memset(&pciinfo, 0, sizeof(pciinfo));
|
||||
pciinfo.bus = host->pci_dev->bus->number;
|
||||
pciinfo.dev_fn = host->pci_dev->devfn;
|
||||
pciinfo.board_id = host->board_id;
|
||||
|
||||
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
|
||||
index 6374dc1..34971aa 100644
|
||||
--- a/drivers/block/cciss.c
|
||||
+++ b/drivers/block/cciss.c
|
||||
@@ -1201,6 +1201,7 @@ static int cciss_ioctl32_passthru(struct block_device *bdev, fmode_t mode,
|
||||
int err;
|
||||
u32 cp;
|
||||
|
||||
+ memset(&arg64, 0, sizeof(arg64));
|
||||
err = 0;
|
||||
err |=
|
||||
copy_from_user(&arg64.LUN_info, &arg32->LUN_info,
|
||||
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
--- linux.orig/include/asm-generic/bug.h
|
||||
+++ linux/include/asm-generic/bug.h
|
||||
@@ -55,6 +55,8 @@ struct bug_entry {
|
||||
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while(0)
|
||||
#endif
|
||||
|
||||
+void print_hardware_dmi_name(void);
|
||||
+
|
||||
/*
|
||||
* WARN(), WARN_ON(), WARN_ON_ONCE, and so on can be used to report
|
||||
* significant issues that need prompt attention if they should ever
|
||||
--- linux.orig/kernel/panic.c
|
||||
+++ linux/kernel/panic.c
|
||||
@@ -391,6 +391,15 @@ void oops_exit(void)
|
||||
kmsg_dump(KMSG_DUMP_OOPS);
|
||||
}
|
||||
|
||||
+void print_hardware_dmi_name(void)
|
||||
+{
|
||||
+ const char *board;
|
||||
+
|
||||
+ board = dmi_get_system_info(DMI_PRODUCT_NAME);
|
||||
+ if (board)
|
||||
+ printk(KERN_WARNING "Hardware name: %s\n", board);
|
||||
+}
|
||||
+
|
||||
#ifdef WANT_WARN_ON_SLOWPATH
|
||||
struct slowpath_args {
|
||||
const char *fmt;
|
||||
@@ -400,13 +409,10 @@ struct slowpath_args {
|
||||
static void warn_slowpath_common(const char *file, int line, void *caller,
|
||||
unsigned taint, struct slowpath_args *args)
|
||||
{
|
||||
- const char *board;
|
||||
-
|
||||
printk(KERN_WARNING "------------[ cut here ]------------\n");
|
||||
printk(KERN_WARNING "WARNING: at %s:%d %pS()\n", file, line, caller);
|
||||
- board = dmi_get_system_info(DMI_PRODUCT_NAME);
|
||||
- if (board)
|
||||
- printk(KERN_WARNING "Hardware name: %s\n", board);
|
||||
+
|
||||
+ print_hardware_dmi_name();
|
||||
|
||||
if (args)
|
||||
vprintk(args->fmt, args->args);
|
||||
--- linux.orig/mm/memory.c
|
||||
+++ linux/mm/memory.c
|
||||
@@ -706,6 +706,8 @@ static void print_bad_pte(struct vm_area
|
||||
"BUG: Bad page map in process %s pte:%08llx pmd:%08llx\n",
|
||||
current->comm,
|
||||
(long long)pte_val(pte), (long long)pmd_val(*pmd));
|
||||
+ print_hardware_dmi_name();
|
||||
+
|
||||
if (page)
|
||||
dump_page(page);
|
||||
printk(KERN_ALERT
|
||||
--- linux.orig/mm/page_alloc.c
|
||||
+++ linux/mm/page_alloc.c
|
||||
@@ -321,6 +321,7 @@ static void bad_page(struct page *page)
|
||||
current->comm, page_to_pfn(page));
|
||||
dump_page(page);
|
||||
|
||||
+ print_hardware_dmi_name();
|
||||
print_modules();
|
||||
dump_stack();
|
||||
out:
|
|
@ -0,0 +1,21 @@
|
|||
diff -durpN '--exclude-from=/home/davej/.exclude' /home/davej/src/kernel/git-trees/linux/mm/memory.c linux-dj/mm/memory.c
|
||||
--- /home/davej/src/kernel/git-trees/linux/mm/memory.c 2013-02-26 14:41:18.591116577 -0500
|
||||
+++ linux-dj/mm/memory.c 2013-02-28 20:04:37.678304092 -0500
|
||||
@@ -57,6 +57,7 @@
|
||||
#include <linux/swapops.h>
|
||||
#include <linux/elf.h>
|
||||
#include <linux/gfp.h>
|
||||
+#include <linux/module.h>
|
||||
#include <linux/migrate.h>
|
||||
#include <linux/string.h>
|
||||
|
||||
--- linux-3.9.0-200.fc18.x86_64/mm/memory.c~ 2013-05-06 15:04:30.324416922 -0400
|
||||
+++ linux-3.9.0-200.fc18.x86_64/mm/memory.c 2013-05-06 15:04:43.933398227 -0400
|
||||
@@ -723,6 +723,7 @@ static void print_bad_pte(struct vm_area
|
||||
if (vma->vm_file && vma->vm_file->f_op)
|
||||
print_symbol(KERN_ALERT "vma->vm_file->f_op->mmap: %s\n",
|
||||
(unsigned long)vma->vm_file->f_op->mmap);
|
||||
+ print_modules();
|
||||
dump_stack();
|
||||
add_taint(TAINT_BAD_PAGE, LOCKDEP_NOW_UNRELIABLE);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
|
||||
index eaef02a..2029819 100644
|
||||
--- a/drivers/acpi/video.c
|
||||
+++ b/drivers/acpi/video.c
|
||||
@@ -69,7 +69,7 @@ MODULE_AUTHOR("Bruno Ducrot");
|
||||
MODULE_DESCRIPTION("ACPI Video Driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
-static bool brightness_switch_enabled = 1;
|
||||
+static bool brightness_switch_enabled = 0;
|
||||
module_param(brightness_switch_enabled, bool, 0644);
|
||||
|
||||
/*
|
|
@ -0,0 +1,30 @@
|
|||
From 4ff58b642f80dedb20533978123d89b5ac9b1ed5 Mon Sep 17 00:00:00 2001
|
||||
From: Kyle McMartin <kyle@phobos.i.jkkm.org>
|
||||
Date: Tue, 30 Mar 2010 00:04:29 -0400
|
||||
Subject: die-floppy-die
|
||||
|
||||
Kill the floppy.ko pnp modalias. We were surviving just fine without
|
||||
autoloading floppy drivers, tyvm.
|
||||
|
||||
Please feel free to register all complaints in the wastepaper bin.
|
||||
---
|
||||
drivers/block/floppy.c | 3 +--
|
||||
1 files changed, 1 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c
|
||||
index 90c4038..f4a0b90 100644
|
||||
--- a/drivers/block/floppy.c
|
||||
+++ b/drivers/block/floppy.c
|
||||
@@ -4619,8 +4619,7 @@ static const struct pnp_device_id floppy_pnpids[] = {
|
||||
{"PNP0700", 0},
|
||||
{}
|
||||
};
|
||||
-
|
||||
-MODULE_DEVICE_TABLE(pnp, floppy_pnpids);
|
||||
+/* MODULE_DEVICE_TABLE(pnp, floppy_pnpids); */
|
||||
|
||||
#else
|
||||
|
||||
--
|
||||
1.7.0.1
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
From 2a79554c864ac58fa2ad982f0fcee2cc2aa33eb5 Mon Sep 17 00:00:00 2001
|
||||
From: Bastien Nocera <hadess@hadess.net>
|
||||
Date: Thu, 20 May 2010 10:30:31 -0400
|
||||
Subject: Disable i8042 checks on Intel Apple Macs
|
||||
|
||||
As those computers never had any i8042 controllers, and the
|
||||
current lookup code could potentially lock up/hang/wait for
|
||||
timeout for long periods of time.
|
||||
|
||||
Fixes intermittent hangs on boot on a MacbookAir1,1
|
||||
|
||||
Signed-off-by: Bastien Nocera <hadess@hadess.net>
|
||||
---
|
||||
drivers/input/serio/i8042.c | 22 ++++++++++++++++++++++
|
||||
1 files changed, 22 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c
|
||||
index 6440a8f..4d7cf98 100644
|
||||
--- a/drivers/input/serio/i8042.c
|
||||
+++ b/drivers/input/serio/i8042.c
|
||||
@@ -1451,6 +1451,22 @@ static struct platform_driver i8042_driver = {
|
||||
.shutdown = i8042_shutdown,
|
||||
};
|
||||
|
||||
+#ifdef CONFIG_DMI
|
||||
+static struct dmi_system_id __initdata dmi_system_table[] = {
|
||||
+ {
|
||||
+ .matches = {
|
||||
+ DMI_MATCH(DMI_BIOS_VENDOR, "Apple Computer, Inc.")
|
||||
+ },
|
||||
+ },
|
||||
+ {
|
||||
+ .matches = {
|
||||
+ DMI_MATCH(DMI_BIOS_VENDOR, "Apple Inc.")
|
||||
+ },
|
||||
+ },
|
||||
+ {}
|
||||
+};
|
||||
+#endif /*CONFIG_DMI*/
|
||||
+
|
||||
static int __init i8042_init(void)
|
||||
{
|
||||
struct platform_device *pdev;
|
||||
@@ -1458,6 +1474,12 @@ static int __init i8042_init(void)
|
||||
|
||||
dbg_init();
|
||||
|
||||
+#ifdef CONFIG_DMI
|
||||
+ /* Intel Apple Macs never have an i8042 controller */
|
||||
+ if (dmi_check_system(dmi_system_table) > 0)
|
||||
+ return -ENODEV;
|
||||
+#endif /*CONFIG_DMI*/
|
||||
+
|
||||
err = i8042_platform_init();
|
||||
if (err)
|
||||
return err;
|
||||
--
|
||||
1.7.0.1
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
From da7662784dcced04a5b7a3a5b2bbb8276d699522 Mon Sep 17 00:00:00 2001
|
||||
From: Kyle McMartin <kyle@mcmartin.ca>
|
||||
Date: Sun, 17 Oct 2010 15:55:32 -0400
|
||||
Subject: [PATCH] dmar: disable if ricoh multifunction detected
|
||||
|
||||
---
|
||||
drivers/pci/intel-iommu.c | 10 ++++++++++
|
||||
1 files changed, 10 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
|
||||
index 4789f8e..5923914 100644
|
||||
--- a/drivers/iommu/intel-iommu.c
|
||||
+++ b/drivers/iommu/intel-iommu.c
|
||||
@@ -3784,6 +3784,16 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0044, quirk_calpella_no_shadow_g
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0062, quirk_calpella_no_shadow_gtt);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x006a, quirk_calpella_no_shadow_gtt);
|
||||
|
||||
+/* https://bugzilla.redhat.com/show_bug.cgi?id=605888 */
|
||||
+static void quirk_ricoh_multifunction(struct pci_dev *dev)
|
||||
+{
|
||||
+ dmar_disabled = 1;
|
||||
+}
|
||||
+DECLARE_PCI_FIXUP_HEADER(0x1180, 0xe822, quirk_ricoh_multifunction);
|
||||
+DECLARE_PCI_FIXUP_HEADER(0x1180, 0xe230, quirk_ricoh_multifunction);
|
||||
+DECLARE_PCI_FIXUP_HEADER(0x1180, 0xe832, quirk_ricoh_multifunction);
|
||||
+DECLARE_PCI_FIXUP_HEADER(0x1180, 0xe476, quirk_ricoh_multifunction);
|
||||
+
|
||||
/* On Tylersburg chipsets, some BIOSes have been known to enable the
|
||||
ISOCH DMAR unit for the Azalia sound device, but not give it any
|
||||
TLB entries, which causes it to deadlock. Check for that. We do
|
||||
--
|
||||
1.7.3.1
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
From 115cb7ab7d3b87fe43b1fe9b05ec894b1fcfb5cf Mon Sep 17 00:00:00 2001
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Wed, 7 Dec 2011 18:26:23 -0500
|
||||
Subject: [PATCH] drm/edid: Try harder to fix up broken headers
|
||||
|
||||
There's no reason to force the first byte to be correct if we're already
|
||||
scoring how correct the header is.
|
||||
|
||||
See also: https://bugzilla.redhat.com/show_bug.cgi?id=722909
|
||||
|
||||
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
||||
---
|
||||
drivers/gpu/drm/drm_edid.c | 18 ++++++++----------
|
||||
1 files changed, 8 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
|
||||
index 7425e5c..8b16a49 100644
|
||||
--- a/drivers/gpu/drm/drm_edid.c
|
||||
+++ b/drivers/gpu/drm/drm_edid.c
|
||||
@@ -154,16 +154,14 @@ drm_edid_block_valid(u8 *raw_edid)
|
||||
int i;
|
||||
u8 csum = 0;
|
||||
struct edid *edid = (struct edid *)raw_edid;
|
||||
-
|
||||
- if (raw_edid[0] == 0x00) {
|
||||
- int score = drm_edid_header_is_valid(raw_edid);
|
||||
- if (score == 8) ;
|
||||
- else if (score >= 6) {
|
||||
- DRM_DEBUG("Fixing EDID header, your hardware may be failing\n");
|
||||
- memcpy(raw_edid, edid_header, sizeof(edid_header));
|
||||
- } else {
|
||||
- goto bad;
|
||||
- }
|
||||
+ int score = drm_edid_header_is_valid(raw_edid);
|
||||
+
|
||||
+ if (score == 8) ;
|
||||
+ else if (score >= 6) {
|
||||
+ DRM_DEBUG("Fixing EDID header, your hardware may be failing\n");
|
||||
+ memcpy(raw_edid, edid_header, sizeof(edid_header));
|
||||
+ } else {
|
||||
+ goto bad;
|
||||
}
|
||||
|
||||
for (i = 0; i < EDID_LENGTH; i++)
|
||||
--
|
||||
1.7.7.3
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
|
||||
index 296cfc2..516e1e2 100644
|
||||
--- a/drivers/gpu/drm/i915/intel_dp.c
|
||||
+++ b/drivers/gpu/drm/i915/intel_dp.c
|
||||
@@ -350,7 +350,7 @@ intel_dp_check_edp(struct intel_dp *intel_dp)
|
||||
if (!is_edp(intel_dp))
|
||||
return;
|
||||
if (!ironlake_edp_have_panel_power(intel_dp) && !ironlake_edp_have_panel_vdd(intel_dp)) {
|
||||
- WARN(1, "eDP powered off while attempting aux channel communication.\n");
|
||||
+ DRM_ERROR("eDP powered off while attempting aux channel communication.\n");
|
||||
DRM_DEBUG_KMS("Status 0x%08x Control 0x%08x\n",
|
||||
I915_READ(PCH_PP_STATUS),
|
||||
I915_READ(PCH_PP_CONTROL));
|
||||
@@ -447,7 +447,7 @@ intel_dp_aux_ch(struct intel_dp *intel_d
|
||||
}
|
||||
|
||||
if (try == 3) {
|
||||
- WARN(1, "dp_aux_ch not started status 0x%08x\n",
|
||||
+ DRM_ERROR("dp_aux_ch not started status 0x%08x\n",
|
||||
I915_READ(ch_ctl));
|
||||
ret = -EBUSY;
|
||||
goto out;
|
||||
@@ -1024,8 +1024,8 @@ static void ironlake_edp_panel_vdd_on(struct intel_dp *intel_dp)
|
||||
return;
|
||||
DRM_DEBUG_KMS("Turn eDP VDD on\n");
|
||||
|
||||
- WARN(intel_dp->want_panel_vdd,
|
||||
- "eDP VDD already requested on\n");
|
||||
+ if (intel_dp->want_panel_vdd)
|
||||
+ DRM_ERROR("eDP VDD already requested on\n");
|
||||
|
||||
intel_dp->want_panel_vdd = true;
|
||||
|
||||
@@ -1090,7 +1090,8 @@ static void ironlake_edp_panel_vdd_off(struct intel_dp *intel_dp, bool sync)
|
||||
return;
|
||||
|
||||
DRM_DEBUG_KMS("Turn eDP VDD off %d\n", intel_dp->want_panel_vdd);
|
||||
- WARN(!intel_dp->want_panel_vdd, "eDP VDD not forced on");
|
||||
+ if (!intel_dp->want_panel_vdd)
|
||||
+ DRM_ERROR("eDP VDD not forced on");
|
||||
|
||||
intel_dp->want_panel_vdd = false;
|
||||
|
||||
@@ -1160,7 +1161,8 @@ static void ironlake_edp_panel_off(struct intel_dp *intel_dp)
|
||||
|
||||
DRM_DEBUG_KMS("Turn eDP power off\n");
|
||||
|
||||
- WARN(!intel_dp->want_panel_vdd, "Need VDD to turn off panel\n");
|
||||
+ if (!intel_dp->want_panel_vdd)
|
||||
+ DRM_ERROR("Need VDD to turn off panel\n");
|
||||
|
||||
pp = ironlake_get_pp_control(dev_priv);
|
||||
pp &= ~(POWER_TARGET_ON | PANEL_POWER_RESET | EDP_BLC_ENABLE);
|
|
@ -0,0 +1,46 @@
|
|||
Obviously this is not upstreamable...
|
||||
|
||||
diff -up linux-3.7.5-202.fc18.x86_64/drivers/gpu/drm/i915/intel_display.c.jx linux-3.7.5-202.fc18.x86_64/drivers/gpu/drm/i915/intel_display.c
|
||||
--- linux-3.7.5-202.fc18.x86_64/drivers/gpu/drm/i915/intel_display.c.jx 2013-01-30 12:03:28.000000000 -0500
|
||||
+++ linux-3.7.5-202.fc18.x86_64/drivers/gpu/drm/i915/intel_display.c 2013-01-30 12:40:53.177449368 -0500
|
||||
@@ -6925,6 +6925,11 @@ intel_modeset_check_state(struct drm_dev
|
||||
struct intel_encoder *encoder;
|
||||
struct intel_connector *connector;
|
||||
|
||||
+ /* oh hush */
|
||||
+ extern int i915_in_tv_detect;
|
||||
+ if (i915_in_tv_detect)
|
||||
+ return;
|
||||
+
|
||||
list_for_each_entry(connector, &dev->mode_config.connector_list,
|
||||
base.head) {
|
||||
/* This also checks the encoder/connector hw state with the
|
||||
diff -up linux-3.7.5-202.fc18.x86_64/drivers/gpu/drm/i915/intel_tv.c.jx linux-3.7.5-202.fc18.x86_64/drivers/gpu/drm/i915/intel_tv.c
|
||||
--- linux-3.7.5-202.fc18.x86_64/drivers/gpu/drm/i915/intel_tv.c.jx 2012-12-10 22:30:57.000000000 -0500
|
||||
+++ linux-3.7.5-202.fc18.x86_64/drivers/gpu/drm/i915/intel_tv.c 2013-01-30 12:39:34.318593585 -0500
|
||||
@@ -1296,6 +1296,8 @@ static void intel_tv_find_better_format(
|
||||
connector->dev->mode_config.tv_mode_property, i);
|
||||
}
|
||||
|
||||
+int i915_in_tv_detect = 0;
|
||||
+
|
||||
/**
|
||||
* Detect the TV connection.
|
||||
*
|
||||
@@ -1314,11 +1316,15 @@ intel_tv_detect(struct drm_connector *co
|
||||
if (force) {
|
||||
struct intel_load_detect_pipe tmp;
|
||||
|
||||
+ i915_in_tv_detect = 1;
|
||||
if (intel_get_load_detect_pipe(connector, &mode, &tmp)) {
|
||||
type = intel_tv_detect_type(intel_tv, connector);
|
||||
intel_release_load_detect_pipe(connector, &tmp);
|
||||
- } else
|
||||
+ i915_in_tv_detect = 0;
|
||||
+ } else {
|
||||
+ i915_in_tv_detect = 0;
|
||||
return connector_status_unknown;
|
||||
+ }
|
||||
} else
|
||||
return connector->status;
|
||||
|
|
@ -0,0 +1 @@
|
|||
empty
|
|
@ -0,0 +1,492 @@
|
|||
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
|
||||
index 2418429..566c468 100644
|
||||
--- a/drivers/gpu/drm/Kconfig
|
||||
+++ b/drivers/gpu/drm/Kconfig
|
||||
@@ -159,6 +159,14 @@ config DRM_SAVAGE
|
||||
Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
|
||||
chipset. If M is selected the module will be called savage.
|
||||
|
||||
+config DRM_VGEM
|
||||
+ tristate "Virtual GEM provider"
|
||||
+ depends on DRM
|
||||
+ help
|
||||
+ Choose this option to get a virtual graphics memory manager,
|
||||
+ as used by Mesa's software renderer for enhanced performance.
|
||||
+ If M is selected the module will be called vgem.
|
||||
+
|
||||
source "drivers/gpu/drm/exynos/Kconfig"
|
||||
|
||||
source "drivers/gpu/drm/vmwgfx/Kconfig"
|
||||
diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
|
||||
index 0cde1b8..021bf8a 100644
|
||||
--- a/drivers/gpu/drm/Makefile
|
||||
+++ b/drivers/gpu/drm/Makefile
|
||||
@@ -34,6 +34,7 @@ obj-$(CONFIG_DRM_SIS) += sis/
|
||||
obj-$(CONFIG_DRM_SAVAGE)+= savage/
|
||||
obj-$(CONFIG_DRM_VMWGFX)+= vmwgfx/
|
||||
obj-$(CONFIG_DRM_VIA) +=via/
|
||||
+obj-$(CONFIG_DRM_VGEM) += vgem/
|
||||
obj-$(CONFIG_DRM_NOUVEAU) +=nouveau/
|
||||
obj-$(CONFIG_DRM_EXYNOS) +=exynos/
|
||||
obj-$(CONFIG_DRM_GMA500) += gma500/
|
||||
diff --git a/drivers/gpu/drm/vgem/Makefile b/drivers/gpu/drm/vgem/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..3f4c7b8
|
||||
--- /dev/null
|
||||
+++ b/drivers/gpu/drm/vgem/Makefile
|
||||
@@ -0,0 +1,4 @@
|
||||
+ccflags-y := -Iinclude/drm
|
||||
+vgem-y := vgem_drv.o
|
||||
+
|
||||
+obj-$(CONFIG_DRM_VGEM) += vgem.o
|
||||
diff --git a/drivers/gpu/drm/vgem/vgem_drv.c b/drivers/gpu/drm/vgem/vgem_drv.c
|
||||
new file mode 100644
|
||||
index 0000000..16f88ee
|
||||
--- /dev/null
|
||||
+++ b/drivers/gpu/drm/vgem/vgem_drv.c
|
||||
@@ -0,0 +1,377 @@
|
||||
+/*
|
||||
+ * Copyright 2011 Red Hat, Inc.
|
||||
+ *
|
||||
+ * Permission is hereby granted, free of charge, to any person obtaining a
|
||||
+ * copy of this software and associated documentation files (the "Software")
|
||||
+ * to deal in the software without restriction, including without limitation
|
||||
+ * on the rights to use, copy, modify, merge, publish, distribute, sub
|
||||
+ * license, and/or sell copies of the Software, and to permit persons to whom
|
||||
+ * them Software is furnished to do so, subject to the following conditions:
|
||||
+ *
|
||||
+ * The above copyright notice and this permission notice (including the next
|
||||
+ * paragraph) shall be included in all copies or substantial portions of the
|
||||
+ * Software.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTIBILITY,
|
||||
+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
+ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER
|
||||
+ * IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
+ *
|
||||
+ * Authors:
|
||||
+ * Adam Jackson <ajax@redhat.com>
|
||||
+ */
|
||||
+
|
||||
+/**
|
||||
+ * This is vgem, a (non-hardware-backed) GEM service. This is used by Mesa's
|
||||
+ * software renderer and the X server for efficient buffer sharing.
|
||||
+ */
|
||||
+
|
||||
+#include "drmP.h"
|
||||
+#include "drm.h"
|
||||
+#include "vgem_drm.h"
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/ramfs.h>
|
||||
+#include <linux/shmem_fs.h>
|
||||
+
|
||||
+#define DRIVER_NAME "vgem"
|
||||
+#define DRIVER_DESC "Virtual GEM provider"
|
||||
+#define DRIVER_DATE "20120112"
|
||||
+#define DRIVER_MAJOR 1
|
||||
+#define DRIVER_MINOR 0
|
||||
+
|
||||
+#define to_vgem_bo(x) container_of(x, struct drm_vgem_gem_object, base)
|
||||
+
|
||||
+struct drm_vgem_gem_object {
|
||||
+ struct drm_gem_object base;
|
||||
+ struct page **pages;
|
||||
+};
|
||||
+
|
||||
+static int vgem_load(struct drm_device *dev, unsigned long flags)
|
||||
+{
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int vgem_unload(struct drm_device *dev)
|
||||
+{
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static void vgem_preclose(struct drm_device *dev, struct drm_file *file)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+static void vgem_lastclose(struct drm_device *dev)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+static int vgem_gem_init_object(struct drm_gem_object *obj)
|
||||
+{
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static void vgem_gem_put_pages(struct drm_vgem_gem_object *obj)
|
||||
+{
|
||||
+ int num_pages = obj->base.size / PAGE_SIZE;
|
||||
+ int i;
|
||||
+
|
||||
+ for (i = 0; i < num_pages; i++) {
|
||||
+ page_cache_release(obj->pages[i]);
|
||||
+ }
|
||||
+
|
||||
+ drm_free_large(obj->pages);
|
||||
+ obj->pages = NULL;
|
||||
+}
|
||||
+
|
||||
+static void vgem_gem_free_object(struct drm_gem_object *obj)
|
||||
+{
|
||||
+ struct drm_vgem_gem_object *vgem_obj = to_vgem_bo(obj);
|
||||
+
|
||||
+ if (obj)
|
||||
+ drm_gem_free_mmap_offset(obj);
|
||||
+
|
||||
+ drm_gem_object_release(obj);
|
||||
+
|
||||
+ if (vgem_obj->pages)
|
||||
+ vgem_gem_put_pages(vgem_obj);
|
||||
+
|
||||
+ kfree(vgem_obj);
|
||||
+}
|
||||
+
|
||||
+static int vgem_gem_get_pages(struct drm_vgem_gem_object *obj)
|
||||
+{
|
||||
+ struct address_space *mapping;
|
||||
+ gfp_t gfpmask = __GFP_NORETRY | __GFP_NOWARN;
|
||||
+ int num_pages, i, ret = 0;
|
||||
+
|
||||
+ num_pages = obj->base.size / PAGE_SIZE;
|
||||
+
|
||||
+ if (!obj->pages) {
|
||||
+ obj->pages = drm_malloc_ab(num_pages, sizeof(struct page *));
|
||||
+ if (obj->pages == NULL)
|
||||
+ return -ENOMEM;
|
||||
+ }
|
||||
+
|
||||
+ mapping = obj->base.filp->f_path.dentry->d_inode->i_mapping;
|
||||
+ gfpmask |= mapping_gfp_mask(mapping);
|
||||
+
|
||||
+ if (WARN_ON(mapping == NULL))
|
||||
+ return VM_FAULT_SIGBUS;
|
||||
+
|
||||
+ for (i = 0; i < num_pages; i++) {
|
||||
+ struct page *page;
|
||||
+ page = shmem_read_mapping_page_gfp(mapping, i, gfpmask);
|
||||
+ if (IS_ERR(page)) {
|
||||
+ ret = PTR_ERR(page);
|
||||
+ goto err_out;
|
||||
+ }
|
||||
+ obj->pages[i] = page;
|
||||
+ }
|
||||
+
|
||||
+ return ret;
|
||||
+
|
||||
+err_out:
|
||||
+ while (i--)
|
||||
+ page_cache_release(obj->pages[i]);
|
||||
+ drm_free_large(obj->pages);
|
||||
+ obj->pages = NULL;
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+static int vgem_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
|
||||
+{
|
||||
+ struct drm_vgem_gem_object *obj = to_vgem_bo(vma->vm_private_data);
|
||||
+ loff_t num_pages;
|
||||
+ pgoff_t page_offset;
|
||||
+ int ret;
|
||||
+
|
||||
+ /* We don't use vmf->pgoff since that has the fake offset */
|
||||
+ page_offset = ((unsigned long)vmf->virtual_address - vma->vm_start) >>
|
||||
+ PAGE_SHIFT;
|
||||
+
|
||||
+ num_pages = obj->base.size / PAGE_SIZE;
|
||||
+
|
||||
+ if (WARN_ON(page_offset > num_pages))
|
||||
+ return VM_FAULT_SIGBUS;
|
||||
+
|
||||
+ ret = vgem_gem_get_pages(obj);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ ret = vm_insert_page(vma, (unsigned long)vmf->virtual_address,
|
||||
+ obj->pages[page_offset]);
|
||||
+
|
||||
+ /* Pretty dumb handler for now */
|
||||
+ switch (ret) {
|
||||
+ case 0:
|
||||
+ case -ERESTARTSYS:
|
||||
+ case -EINTR:
|
||||
+ return VM_FAULT_NOPAGE;
|
||||
+ default:
|
||||
+ return VM_FAULT_SIGBUS;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static const struct vm_operations_struct vgem_gem_vm_ops = {
|
||||
+ .fault = vgem_gem_fault,
|
||||
+ .open = drm_gem_vm_open,
|
||||
+ .close = drm_gem_vm_close,
|
||||
+};
|
||||
+
|
||||
+/* ioctls */
|
||||
+
|
||||
+static struct drm_gem_object *vgem_gem_create(struct drm_device *dev,
|
||||
+ struct drm_file *file,
|
||||
+ unsigned int *handle,
|
||||
+ unsigned long size)
|
||||
+{
|
||||
+ struct drm_vgem_gem_object *obj;
|
||||
+ struct drm_gem_object *gem_object;
|
||||
+ int err;
|
||||
+
|
||||
+ size = roundup(size, PAGE_SIZE);
|
||||
+
|
||||
+ obj = kzalloc(sizeof(*obj), GFP_KERNEL);
|
||||
+ if (!obj)
|
||||
+ return ERR_PTR(-ENOMEM);
|
||||
+
|
||||
+ gem_object = &obj->base;
|
||||
+
|
||||
+ if ((err = drm_gem_object_init(dev, gem_object, size)))
|
||||
+ goto out;
|
||||
+
|
||||
+ if ((err = drm_gem_create_mmap_offset(gem_object)))
|
||||
+ goto mmap_out;
|
||||
+
|
||||
+ if ((err = drm_gem_handle_create(file, gem_object, handle)))
|
||||
+ goto handle_out;
|
||||
+
|
||||
+ drm_gem_object_unreference_unlocked(gem_object);
|
||||
+
|
||||
+ return gem_object;
|
||||
+
|
||||
+handle_out:
|
||||
+ drm_gem_free_mmap_offset(gem_object);
|
||||
+
|
||||
+mmap_out:
|
||||
+ drm_gem_object_release(gem_object);
|
||||
+
|
||||
+out:
|
||||
+ kfree(gem_object);
|
||||
+
|
||||
+ return ERR_PTR(err);
|
||||
+}
|
||||
+
|
||||
+static int vgem_gem_create_ioctl(struct drm_device *dev, void *data,
|
||||
+ struct drm_file *file)
|
||||
+{
|
||||
+ struct vgem_gem_create *args = data;
|
||||
+ struct drm_gem_object *gem_object;
|
||||
+
|
||||
+ gem_object = vgem_gem_create(dev, file, &args->handle, args->size);
|
||||
+
|
||||
+ if (IS_ERR(gem_object))
|
||||
+ return PTR_ERR(gem_object);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int vgem_gem_mmap_ioctl(struct drm_device *dev, void *data,
|
||||
+ struct drm_file *file)
|
||||
+{
|
||||
+ struct vgem_gem_mmap *args = data;
|
||||
+ struct drm_gem_object *obj;
|
||||
+
|
||||
+ obj = drm_gem_object_lookup(dev, file, args->handle);
|
||||
+ if (!obj)
|
||||
+ return -ENOENT;
|
||||
+
|
||||
+ obj->filp->private_data = obj;
|
||||
+
|
||||
+ BUG_ON(!obj->map_list.map);
|
||||
+
|
||||
+ args->mapped = (uint64_t)obj->map_list.hash.key << PAGE_SHIFT;
|
||||
+
|
||||
+ drm_gem_object_unreference_unlocked(obj);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int vgem_gem_getparam_ioctl(struct drm_device *dev, void *data,
|
||||
+ struct drm_file *file)
|
||||
+{
|
||||
+ struct vgem_gem_getparam *args = data;
|
||||
+ int value=0, ret;
|
||||
+
|
||||
+ switch (args->param) {
|
||||
+ case VGEM_PARAM_IS_VGEM:
|
||||
+ value = 1;
|
||||
+ }
|
||||
+
|
||||
+ ret = copy_to_user(args->value, &value, sizeof(int));
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+static struct drm_ioctl_desc vgem_ioctls[] = {
|
||||
+ DRM_IOCTL_DEF_DRV(VGEM_GEM_CREATE, vgem_gem_create_ioctl,
|
||||
+ DRM_UNLOCKED | DRM_AUTH),
|
||||
+ DRM_IOCTL_DEF_DRV(VGEM_GEM_MMAP, vgem_gem_mmap_ioctl,
|
||||
+ DRM_UNLOCKED | DRM_AUTH),
|
||||
+ DRM_IOCTL_DEF_DRV(VGEM_GEM_GETPARAM, vgem_gem_getparam_ioctl,
|
||||
+ DRM_UNLOCKED),
|
||||
+};
|
||||
+
|
||||
+static const struct file_operations vgem_driver_fops = {
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .open = drm_open,
|
||||
+ .mmap = drm_gem_mmap,
|
||||
+ .poll = drm_poll,
|
||||
+ .read = drm_read,
|
||||
+ .unlocked_ioctl = drm_ioctl,
|
||||
+ .release = drm_release,
|
||||
+};
|
||||
+
|
||||
+static struct drm_driver vgem_driver = {
|
||||
+ .driver_features = DRIVER_BUS_PLATFORM | DRIVER_GEM,
|
||||
+ .load = vgem_load,
|
||||
+ .unload = vgem_unload,
|
||||
+ .preclose = vgem_preclose,
|
||||
+ .lastclose = vgem_lastclose,
|
||||
+ .gem_init_object = vgem_gem_init_object,
|
||||
+ .gem_free_object = vgem_gem_free_object,
|
||||
+ .gem_vm_ops = &vgem_gem_vm_ops,
|
||||
+ .ioctls = vgem_ioctls,
|
||||
+ .fops = &vgem_driver_fops,
|
||||
+ .name = DRIVER_NAME,
|
||||
+ .desc = DRIVER_DESC,
|
||||
+ .date = DRIVER_DATE,
|
||||
+ .major = DRIVER_MAJOR,
|
||||
+ .minor = DRIVER_MINOR,
|
||||
+};
|
||||
+
|
||||
+static int vgem_platform_probe(struct platform_device *pdev)
|
||||
+{
|
||||
+ vgem_driver.num_ioctls = DRM_ARRAY_SIZE(vgem_ioctls);
|
||||
+
|
||||
+ return drm_platform_init(&vgem_driver, pdev);
|
||||
+}
|
||||
+
|
||||
+static int vgem_platform_remove(struct platform_device *pdev)
|
||||
+{
|
||||
+ drm_platform_exit(&vgem_driver, pdev);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static struct platform_driver vgem_platform_driver = {
|
||||
+ .probe = vgem_platform_probe,
|
||||
+ .remove = __devexit_p(vgem_platform_remove),
|
||||
+ .driver = {
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .name = DRIVER_NAME,
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
+static struct platform_device *vgem_device;
|
||||
+
|
||||
+static int __init vgem_init(void)
|
||||
+{
|
||||
+ int ret;
|
||||
+
|
||||
+ if ((ret = platform_driver_register(&vgem_platform_driver)))
|
||||
+ return ret;
|
||||
+
|
||||
+ vgem_device = platform_device_alloc("vgem", -1);
|
||||
+ if (!vgem_device) {
|
||||
+ ret = -ENOMEM;
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
+ ret = platform_device_add(vgem_device);
|
||||
+ if (!ret)
|
||||
+ return 0;
|
||||
+
|
||||
+out:
|
||||
+ platform_device_put(vgem_device);
|
||||
+ platform_driver_unregister(&vgem_platform_driver);
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+static void __exit vgem_exit(void)
|
||||
+{
|
||||
+ platform_device_unregister(vgem_device);
|
||||
+ platform_driver_unregister(&vgem_platform_driver);
|
||||
+}
|
||||
+
|
||||
+module_init(vgem_init);
|
||||
+module_exit(vgem_exit);
|
||||
+
|
||||
+MODULE_AUTHOR("Red Hat, Inc.");
|
||||
+MODULE_DESCRIPTION(DRIVER_DESC);
|
||||
+MODULE_LICENSE("GPL and additional rights");
|
||||
diff --git a/include/drm/vgem_drm.h b/include/drm/vgem_drm.h
|
||||
new file mode 100644
|
||||
index 0000000..df83503
|
||||
--- /dev/null
|
||||
+++ b/include/drm/vgem_drm.h
|
||||
@@ -0,0 +1,62 @@
|
||||
+/*
|
||||
+ * Copyright 2011 Red Hat, Inc.
|
||||
+ *
|
||||
+ * Permission is hereby granted, free of charge, to any person obtaining a
|
||||
+ * copy of this software and associated documentation files (the "Software")
|
||||
+ * to deal in the software without restriction, including without limitation
|
||||
+ * on the rights to use, copy, modify, merge, publish, distribute, sub
|
||||
+ * license, and/or sell copies of the Software, and to permit persons to whom
|
||||
+ * them Software is furnished to do so, subject to the following conditions:
|
||||
+ *
|
||||
+ * The above copyright notice and this permission notice (including the next
|
||||
+ * paragraph) shall be included in all copies or substantial portions of the
|
||||
+ * Software.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTIBILITY,
|
||||
+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
||||
+ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER
|
||||
+ * IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
+ */
|
||||
+
|
||||
+#ifndef VGEM_DRM_H
|
||||
+#define VGEM_DRM_H
|
||||
+
|
||||
+/* Bare API largely ripped off from exynos driver */
|
||||
+
|
||||
+struct vgem_gem_create {
|
||||
+ unsigned int size;
|
||||
+ unsigned int flags;
|
||||
+ unsigned int handle;
|
||||
+};
|
||||
+
|
||||
+struct vgem_gem_mmap {
|
||||
+ unsigned int handle;
|
||||
+ unsigned int size;
|
||||
+ uint64_t mapped;
|
||||
+};
|
||||
+
|
||||
+struct vgem_gem_getparam {
|
||||
+#define VGEM_PARAM_IS_VGEM 1
|
||||
+ unsigned int param;
|
||||
+ unsigned int *value;
|
||||
+};
|
||||
+
|
||||
+#define DRM_VGEM_GEM_CREATE 0x00
|
||||
+#define DRM_VGEM_GEM_MMAP 0x01
|
||||
+#define DRM_VGEM_GEM_GETPARAM 0x02
|
||||
+
|
||||
+#define DRM_IOCTL_VGEM_GEM_CREATE \
|
||||
+ DRM_IOWR(DRM_COMMAND_BASE + DRM_VGEM_GEM_CREATE, \
|
||||
+ struct vgem_gem_create)
|
||||
+
|
||||
+#define DRM_IOCTL_VGEM_GEM_MMAP \
|
||||
+ DRM_IOWR(DRM_COMMAND_BASE + DRM_VGEM_GEM_MMAP, \
|
||||
+ struct vgem_gem_mmap)
|
||||
+
|
||||
+#define DRM_IOCTL_VGEM_GEM_GETPARAM \
|
||||
+ DRM_IOWR(DRM_COMMAND_BASE + DRM_VGEM_GEM_GETPARAM, \
|
||||
+ struct vgem_gem_getparam)
|
||||
+
|
||||
+#endif
|
|
@ -0,0 +1,22 @@
|
|||
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
|
||||
index 3ae4128..ff7dc70 100644
|
||||
--- a/arch/x86/platform/efi/efi.c
|
||||
+++ b/arch/x86/platform/efi/efi.c
|
||||
@@ -659,10 +659,13 @@ void __init efi_enter_virtual_mode(void)
|
||||
|
||||
for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) {
|
||||
md = p;
|
||||
- if (!(md->attribute & EFI_MEMORY_RUNTIME) &&
|
||||
- md->type != EFI_BOOT_SERVICES_CODE &&
|
||||
- md->type != EFI_BOOT_SERVICES_DATA)
|
||||
- continue;
|
||||
+ if (!(md->attribute & EFI_MEMORY_RUNTIME)) {
|
||||
+#ifdef CONFIG_X86_64
|
||||
+ if (md->type != EFI_BOOT_SERVICES_CODE &&
|
||||
+ md->type != EFI_BOOT_SERVICES_DATA)
|
||||
+#endif
|
||||
+ continue;
|
||||
+ }
|
||||
|
||||
size = md->num_pages << EFI_PAGE_SHIFT;
|
||||
end = md->phys_addr + size;
|
|
@ -0,0 +1,45 @@
|
|||
commit 9b989ae8a30f5a430fabbf911e0643bca96c3fd1
|
||||
Author: Matthew Garrett <mjg@redhat.com>
|
||||
Date: Thu Apr 26 17:35:58 2012 -0400
|
||||
|
||||
efifb: Skip DMI checks if the bootloader knows what it's doing
|
||||
|
||||
The majority of the DMI checks in efifb are for cases where the bootloader
|
||||
has provided invalid information. However, on some machines the overrides
|
||||
may do more harm than good due to configuration differences between machines
|
||||
with the same machine identifier. It turns out that it's possible for the
|
||||
bootloader to get the correct information on GOP-based systems, but we
|
||||
can't guarantee that the kernel's being booted with one that's been updated
|
||||
to do so. Add support for a capabilities flag that can be set by the
|
||||
bootloader, and skip the DMI checks in that case.
|
||||
|
||||
Signed-off-by: Matthew Garrett <mjg@redhat.com>
|
||||
|
||||
diff --git a/drivers/video/efifb.c b/drivers/video/efifb.c
|
||||
index b4a632a..932abaa 100644
|
||||
--- a/drivers/video/efifb.c
|
||||
+++ b/drivers/video/efifb.c
|
||||
@@ -553,7 +553,9 @@ static int __init efifb_init(void)
|
||||
int ret;
|
||||
char *option = NULL;
|
||||
|
||||
- dmi_check_system(dmi_system_table);
|
||||
+ if (screen_info.orig_video_isVGA != VIDEO_TYPE_EFI ||
|
||||
+ !(screen_info.capabilities & VIDEO_CAPABILITY_SKIP_QUIRKS))
|
||||
+ dmi_check_system(dmi_system_table);
|
||||
|
||||
if (screen_info.orig_video_isVGA != VIDEO_TYPE_EFI)
|
||||
return -ENODEV;
|
||||
diff --git a/include/linux/screen_info.h b/include/linux/screen_info.h
|
||||
index 899fbb4..fb3c5a8 100644
|
||||
--- a/include/linux/screen_info.h
|
||||
+++ b/include/linux/screen_info.h
|
||||
@@ -68,6 +68,8 @@ struct screen_info {
|
||||
|
||||
#define VIDEO_FLAGS_NOCURSOR (1 << 0) /* The video mode has no cursor set */
|
||||
|
||||
+#define VIDEO_CAPABILITY_SKIP_QUIRKS (1 << 0)
|
||||
+
|
||||
#ifdef __KERNEL__
|
||||
extern struct screen_info screen_info;
|
||||
|
|
@ -0,0 +1,118 @@
|
|||
From 20ae2081584450e552735a3df968ce5b5946a607 Mon Sep 17 00:00:00 2001
|
||||
From: Kees Cook <keescook@chromium.org>
|
||||
Date: Mon, 26 Nov 2012 08:56:37 -0500
|
||||
Subject: [PATCH 1/2] exec: do not leave bprm->interp on stack
|
||||
|
||||
If a series of scripts are executed, each triggering module loading via
|
||||
unprintable bytes in the script header, kernel stack contents can leak
|
||||
into the command line.
|
||||
|
||||
Normally execution of binfmt_script and binfmt_misc happens recursively.
|
||||
However, when modules are enabled, and unprintable bytes exist in the
|
||||
bprm->buf, execution will restart after attempting to load matching binfmt
|
||||
modules. Unfortunately, the logic in binfmt_script and binfmt_misc does
|
||||
not expect to get restarted. They leave bprm->interp pointing to their
|
||||
local stack. This means on restart bprm->interp is left pointing into
|
||||
unused stack memory which can then be copied into the userspace argv
|
||||
areas.
|
||||
|
||||
After additional study, it seems that both recursion and restart remains
|
||||
the desirable way to handle exec with scripts, misc, and modules. As
|
||||
such, we need to protect the changes to interp.
|
||||
|
||||
This changes the logic to require allocation for any changes to the
|
||||
bprm->interp. To avoid adding a new kmalloc to every exec, the default
|
||||
value is left as-is. Only when passing through binfmt_script or
|
||||
binfmt_misc does an allocation take place.
|
||||
|
||||
For a proof of concept, see DoTest.sh from:
|
||||
http://www.halfdog.net/Security/2012/LinuxKernelBinfmtScriptStackDataDisclosure/
|
||||
|
||||
Signed-off-by: Kees Cook <keescook@chromium.org>
|
||||
Cc: halfdog <me@halfdog.net>
|
||||
Cc: P J P <ppandit@redhat.com>
|
||||
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
|
||||
Cc: <stable@vger.kernel.org>
|
||||
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
||||
---
|
||||
fs/binfmt_misc.c | 5 ++++-
|
||||
fs/binfmt_script.c | 4 +++-
|
||||
fs/exec.c | 15 +++++++++++++++
|
||||
include/linux/binfmts.h | 1 +
|
||||
4 files changed, 23 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/fs/binfmt_misc.c b/fs/binfmt_misc.c
|
||||
index 790b3cd..772428d 100644
|
||||
--- a/fs/binfmt_misc.c
|
||||
+++ b/fs/binfmt_misc.c
|
||||
@@ -176,7 +176,10 @@ static int load_misc_binary(struct linux_binprm *bprm, struct pt_regs *regs)
|
||||
goto _error;
|
||||
bprm->argc ++;
|
||||
|
||||
- bprm->interp = iname; /* for binfmt_script */
|
||||
+ /* Update interp in case binfmt_script needs it. */
|
||||
+ retval = bprm_change_interp(iname, bprm);
|
||||
+ if (retval < 0)
|
||||
+ goto _error;
|
||||
|
||||
interp_file = open_exec (iname);
|
||||
retval = PTR_ERR (interp_file);
|
||||
diff --git a/fs/binfmt_script.c b/fs/binfmt_script.c
|
||||
index d3b8c1f..df49d48 100644
|
||||
--- a/fs/binfmt_script.c
|
||||
+++ b/fs/binfmt_script.c
|
||||
@@ -82,7 +82,9 @@ static int load_script(struct linux_binprm *bprm,struct pt_regs *regs)
|
||||
retval = copy_strings_kernel(1, &i_name, bprm);
|
||||
if (retval) return retval;
|
||||
bprm->argc++;
|
||||
- bprm->interp = interp;
|
||||
+ retval = bprm_change_interp(interp, bprm);
|
||||
+ if (retval < 0)
|
||||
+ return retval;
|
||||
|
||||
/*
|
||||
* OK, now restart the process with the interpreter's dentry.
|
||||
diff --git a/fs/exec.c b/fs/exec.c
|
||||
index fab2c6d..59896ae 100644
|
||||
--- a/fs/exec.c
|
||||
+++ b/fs/exec.c
|
||||
@@ -1202,9 +1202,24 @@ void free_bprm(struct linux_binprm *bprm)
|
||||
mutex_unlock(¤t->signal->cred_guard_mutex);
|
||||
abort_creds(bprm->cred);
|
||||
}
|
||||
+ /* If a binfmt changed the interp, free it. */
|
||||
+ if (bprm->interp != bprm->filename)
|
||||
+ kfree(bprm->interp);
|
||||
kfree(bprm);
|
||||
}
|
||||
|
||||
+int bprm_change_interp(char *interp, struct linux_binprm *bprm)
|
||||
+{
|
||||
+ /* If a binfmt changed the interp, free it first. */
|
||||
+ if (bprm->interp != bprm->filename)
|
||||
+ kfree(bprm->interp);
|
||||
+ bprm->interp = kstrdup(interp, GFP_KERNEL);
|
||||
+ if (!bprm->interp)
|
||||
+ return -ENOMEM;
|
||||
+ return 0;
|
||||
+}
|
||||
+EXPORT_SYMBOL(bprm_change_interp);
|
||||
+
|
||||
/*
|
||||
* install the new credentials for this executable
|
||||
*/
|
||||
diff --git a/include/linux/binfmts.h b/include/linux/binfmts.h
|
||||
index 366422b..eb53e15 100644
|
||||
--- a/include/linux/binfmts.h
|
||||
+++ b/include/linux/binfmts.h
|
||||
@@ -128,6 +128,7 @@ extern int setup_arg_pages(struct linux_binprm * bprm,
|
||||
unsigned long stack_top,
|
||||
int executable_stack);
|
||||
extern int bprm_mm_init(struct linux_binprm *bprm);
|
||||
+extern int bprm_change_interp(char *interp, struct linux_binprm *bprm);
|
||||
extern int copy_strings_kernel(int argc, const char *const *argv,
|
||||
struct linux_binprm *bprm);
|
||||
extern int prepare_bprm_creds(struct linux_binprm *bprm);
|
||||
--
|
||||
1.8.0
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
diff --git a/fs/notify/fanotify/fanotify_user.c b/fs/notify/fanotify/fanotify_user.c
|
||||
index 6c80083..77cc85d 100644
|
||||
--- a/fs/notify/fanotify/fanotify_user.c
|
||||
+++ b/fs/notify/fanotify/fanotify_user.c
|
||||
@@ -122,6 +122,7 @@ static int fill_event_metadata(struct fsnotify_group *group,
|
||||
metadata->event_len = FAN_EVENT_METADATA_LEN;
|
||||
metadata->metadata_len = FAN_EVENT_METADATA_LEN;
|
||||
metadata->vers = FANOTIFY_METADATA_VERSION;
|
||||
+ metadata->reserved = 0;
|
||||
metadata->mask = event->mask & FAN_ALL_OUTGOING_EVENTS;
|
||||
metadata->pid = pid_vnr(event->tgid);
|
||||
if (unlikely(event->mask & FAN_Q_OVERFLOW))
|
||||
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
#! /bin/bash
|
||||
|
||||
# This is the aarch64 override file for the core/drivers package split. The
|
||||
# module directories listed here and in the generic list in filter-modules.sh
|
||||
# will be moved to the resulting kernel-modules package for this arch.
|
||||
# Anything not listed in those files will be in the kernel-core package.
|
||||
#
|
||||
# Please review the default list in filter-modules.sh before making
|
||||
# modifications to the overrides below. If something should be removed across
|
||||
# all arches, remove it in the default instead of per-arch.
|
||||
|
||||
driverdirs="atm auxdisplay bcma bluetooth firewire fmc fpga infiniband isdn leds media memstick message mmc mtd nfc ntb pcmcia power ssb soundwire staging tty uio uwb w1"
|
||||
|
||||
ethdrvs="3com adaptec arc alteon atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell micrel myricom neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti via wiznet xircom"
|
||||
|
||||
drmdrvs="amd arm bridge ast exynos hisilicon i2c imx mgag200 meson msm nouveau panel pl111 radeon rockchip tegra sun4i sun4i-drm-hdmi tinydrm vc4"
|
||||
|
||||
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls rnbd-client rnbd-server mlx5_vdpa"
|
|
@ -1,18 +0,0 @@
|
|||
#! /bin/bash
|
||||
|
||||
# This is the aarch64 override file for the core/drivers package split. The
|
||||
# module directories listed here and in the generic list in filter-modules.sh
|
||||
# will be moved to the resulting kernel-modules package for this arch.
|
||||
# Anything not listed in those files will be in the kernel-core package.
|
||||
#
|
||||
# Please review the default list in filter-modules.sh before making
|
||||
# modifications to the overrides below. If something should be removed across
|
||||
# all arches, remove it in the default instead of per-arch.
|
||||
|
||||
driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds media memstick message mmc mtd mwave nfc ntb pcmcia platform power ssb staging tty uio uwb w1"
|
||||
|
||||
ethdrvs="3com adaptec arc alteon atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell micrel myricom neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti via wiznet xircom"
|
||||
|
||||
drmdrvs="amd arm bridge ast exynos hisilicon i2c imx mgag200 meson msm nouveau panel radeon rockchip tegra sun4i tinydrm vc4"
|
||||
|
||||
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls"
|
|
@ -1,18 +0,0 @@
|
|||
#! /bin/bash
|
||||
|
||||
# This is the armv7hl override file for the core/drivers package split. The
|
||||
# module directories listed here and in the generic list in filter-modules.sh
|
||||
# will be moved to the resulting kernel-modules package for this arch.
|
||||
# Anything not listed in those files will be in the kernel-core package.
|
||||
#
|
||||
# Please review the default list in filter-modules.sh before making
|
||||
# modifications to the overrides below. If something should be removed across
|
||||
# all arches, remove it in the default instead of per-arch.
|
||||
|
||||
driverdirs="atm auxdisplay bcma bluetooth firewire fmc fpga infiniband isdn media memstick message nfc ntb pcmcia ssb soundwire staging tty uio uwb w1"
|
||||
|
||||
ethdrvs="3com adaptec alteon altera amd atheros broadcom cadence chelsio cisco dec dlink emulex icplus mellanox micrel myricom natsemi neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis sun tehuti via wiznet xircom"
|
||||
|
||||
drmdrvs="amd arm armada bridge ast exynos etnaviv hisilicon i2c imx meson mgag200 msm nouveau omapdrm panel pl111 radeon rockchip sti stm sun4i sun4i-drm-hdmi tegra tilcdc tinydrm vc4"
|
||||
|
||||
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls bq27xxx_battery_hdq mlx5_vdpa"
|
|
@ -1,14 +0,0 @@
|
|||
#! /bin/bash
|
||||
|
||||
# This is the i686 override file for the core/drivers package split. The
|
||||
# module directories listed here and in the generic list in filter-modules.sh
|
||||
# will be moved to the resulting kernel-modules package for this arch.
|
||||
# Anything not listed in those files will be in the kernel-core package.
|
||||
#
|
||||
# Please review the default list in filter-modules.sh before making
|
||||
# modifications to the overrides below. If something should be removed across
|
||||
# all arches, remove it in the default instead of per-arch.
|
||||
|
||||
driverdirs="atm auxdisplay bcma bluetooth firewire fmc fpga infiniband isdn leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb soundwire staging tty uio uwb w1"
|
||||
|
||||
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject hid-sensor-hub hid-sensor-magn-3d hid-sensor-incl-3d hid-sensor-gyro-3d hid-sensor-iio-common hid-sensor-accel-3d hid-sensor-trigger hid-sensor-als hid-sensor-rotation hid-sensor-temperature hid-sensor-humidity target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls parport_serial regmap-sdw hid-asus"
|
|
@ -1,170 +0,0 @@
|
|||
#! /bin/bash
|
||||
#
|
||||
# Called as filter-modules.sh list-of-modules Arch
|
||||
|
||||
# This script filters the modules into the kernel-core and kernel-modules
|
||||
# subpackages. We list out subsystems/subdirs to prune from the installed
|
||||
# module directory. What is left is put into the kernel-core package. What is
|
||||
# pruned is contained in the kernel-modules package.
|
||||
#
|
||||
# This file contains the default subsys/subdirs to prune from all architectures.
|
||||
# If an architecture needs to differ, we source a per-arch filter-<arch>.sh file
|
||||
# that contains the set of override lists to be used instead. If a module or
|
||||
# subsys should be in kernel-modules on all arches, please change the defaults
|
||||
# listed here.
|
||||
|
||||
# Overrides is individual modules which need to remain in kernel-core due to deps.
|
||||
overrides="cec"
|
||||
|
||||
# Set the default dirs/modules to filter out
|
||||
driverdirs="atm auxdisplay bcma bluetooth firewire fmc fpga infiniband isdn leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb soundwire staging tty uio uwb w1"
|
||||
|
||||
chardrvs="mwave pcmcia"
|
||||
|
||||
netdrvs="appletalk can dsa hamradio ieee802154 irda ppp slip usb wireless"
|
||||
|
||||
ethdrvs="3com adaptec alteon amd aquantia atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell mellanox neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti wiznet xircom"
|
||||
|
||||
inputdrvs="gameport tablet touchscreen"
|
||||
|
||||
scsidrvs="aacraid advansys aic7xxx aic94xx be2iscsi bfa bnx2i bnx2fc csiostor cxgbi esas2r fcoe fnic isci libsas lpfc megaraid mpt2sas mpt3sas mvsas pm8001 qla2xxx qla4xxx sym53c8xx_2 ufs qedf wd719x"
|
||||
|
||||
usbdrvs="atm image misc serial wusbcore"
|
||||
|
||||
fsdrvs="affs befs coda cramfs dlm ecryptfs hfs hfsplus jfs jffs2 minix ncpfs nilfs2 ocfs2 reiserfs romfs squashfs sysv ubifs ufs"
|
||||
|
||||
netprots="6lowpan appletalk atm ax25 batman-adv bluetooth can dccp dsa ieee802154 irda l2tp mac80211 mac802154 mpls netrom nfc rds rfkill rose sctp smc wireless"
|
||||
|
||||
drmdrvs="amd ast bridge gma500 i2c i915 mgag200 nouveau panel radeon"
|
||||
|
||||
iiodrvs="accel adc afe common dac gyro health humidity light magnetometer multiplexer orientation potentiometer potentiostat pressure temperature"
|
||||
|
||||
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls parport_serial regmap-sdw hid-asus iTCO_wdt rnbd-client rnbd-server mlx5_vdpa"
|
||||
|
||||
# Grab the arch-specific filter list overrides
|
||||
source ./filter-$2.sh
|
||||
|
||||
filter_dir() {
|
||||
filelist=$1
|
||||
dir=$2
|
||||
|
||||
grep -v -e "${dir}/" ${filelist} > ${filelist}.tmp
|
||||
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "Couldn't remove ${dir}. Skipping."
|
||||
else
|
||||
grep -e "${dir}/" ${filelist} >> k-d.list
|
||||
mv ${filelist}.tmp $filelist
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
filter_ko() {
|
||||
filelist=$1
|
||||
mod=$2
|
||||
|
||||
grep -v -e "${mod}.ko" ${filelist} > ${filelist}.tmp
|
||||
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "Couldn't remove ${mod}.ko Skipping."
|
||||
else
|
||||
grep -e "${mod}.ko" ${filelist} >> k-d.list
|
||||
mv ${filelist}.tmp $filelist
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
# Filter the drivers/ subsystems
|
||||
for subsys in ${driverdirs}
|
||||
do
|
||||
filter_dir $1 drivers/${subsys}
|
||||
done
|
||||
|
||||
# Filter the networking drivers
|
||||
for netdrv in ${netdrvs}
|
||||
do
|
||||
filter_dir $1 drivers/net/${netdrv}
|
||||
done
|
||||
|
||||
# Filter the char drivers
|
||||
for char in ${chardrvs}
|
||||
do
|
||||
filter_dir $1 drivers/char/${input}
|
||||
done
|
||||
|
||||
# Filter the ethernet drivers
|
||||
for eth in ${ethdrvs}
|
||||
do
|
||||
filter_dir $1 drivers/net/ethernet/${eth}
|
||||
done
|
||||
|
||||
# SCSI
|
||||
for scsi in ${scsidrvs}
|
||||
do
|
||||
filter_dir $1 drivers/scsi/${scsi}
|
||||
done
|
||||
|
||||
# Input
|
||||
for input in ${inputdrvs}
|
||||
do
|
||||
filter_dir $1 drivers/input/${input}
|
||||
done
|
||||
|
||||
# USB
|
||||
for usb in ${usbdrvs}
|
||||
do
|
||||
filter_dir $1 drivers/usb/${usb}
|
||||
done
|
||||
|
||||
# Filesystems
|
||||
for fs in ${fsdrvs}
|
||||
do
|
||||
filter_dir $1 fs/${fs}
|
||||
done
|
||||
|
||||
# Network protocols
|
||||
for prot in ${netprots}
|
||||
do
|
||||
filter_dir $1 kernel/net/${prot}
|
||||
done
|
||||
|
||||
# DRM
|
||||
for drm in ${drmdrvs}
|
||||
do
|
||||
filter_dir $1 drivers/gpu/drm/${drm}
|
||||
done
|
||||
|
||||
# Just kill sound.
|
||||
filter_dir $1 kernel/sound
|
||||
|
||||
# Now go through and filter any single .ko files that might have deps on the
|
||||
# things we filtered above
|
||||
for mod in ${singlemods}
|
||||
do
|
||||
filter_ko $1 ${mod}
|
||||
done
|
||||
|
||||
# Now process the override list to bring those modules back into core
|
||||
for mod in ${overrides}
|
||||
do
|
||||
grep -v -e "/${mod}.ko" k-d.list > k-d.list.tmp
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "Couldn't save ${mod}.ko Skipping."
|
||||
else
|
||||
grep -e "/${mod}.ko" k-d.list >> $filelist
|
||||
mv k-d.list.tmp k-d.list
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
# Go through our generated drivers list and remove the .ko files. We'll
|
||||
# restore them later.
|
||||
for mod in `cat k-d.list`
|
||||
do
|
||||
rm -rf $mod
|
||||
done
|
|
@ -1,168 +0,0 @@
|
|||
#! /bin/bash
|
||||
#
|
||||
# Called as filter-modules.sh list-of-modules Arch
|
||||
|
||||
# This script filters the modules into the kernel-core and kernel-modules
|
||||
# subpackages. We list out subsystems/subdirs to prune from the installed
|
||||
# module directory. What is left is put into the kernel-core package. What is
|
||||
# pruned is contained in the kernel-modules package.
|
||||
#
|
||||
# This file contains the default subsys/subdirs to prune from all architectures.
|
||||
# If an architecture needs to differ, we source a per-arch filter-<arch>.sh file
|
||||
# that contains the set of override lists to be used instead. If a module or
|
||||
# subsys should be in kernel-modules on all arches, please change the defaults
|
||||
# listed here.
|
||||
|
||||
# Overrides is individual modules which need to remain in kernel-core due to deps.
|
||||
overrides="cec"
|
||||
|
||||
# Set the default dirs/modules to filter out
|
||||
driverdirs="atm auxdisplay bcma bluetooth firewire fmc iio infiniband isdn leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb staging tty uio uwb w1"
|
||||
|
||||
chardrvs="mwave pcmcia"
|
||||
|
||||
netdrvs="appletalk can dsa hamradio ieee802154 irda ppp slip usb wireless"
|
||||
|
||||
ethdrvs="3com adaptec alteon amd aquantia atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti wiznet xircom"
|
||||
|
||||
inputdrvs="gameport tablet touchscreen"
|
||||
|
||||
scsidrvs="aacraid aic7xxx aic94xx be2iscsi bfa bnx2i bnx2fc csiostor cxgbi esas2r fcoe fnic hisi_sas isci libsas lpfc megaraid mpt2sas mpt3sas mvsas pm8001 qla2xxx qla4xxx sym53c8xx_2 ufs qedf"
|
||||
|
||||
usbdrvs="atm image misc serial wusbcore"
|
||||
|
||||
fsdrvs="affs befs coda cramfs ecryptfs hfs hfsplus jfs minix ncpfs nilfs2 ocfs2 reiserfs romfs squashfs sysv ubifs ufs"
|
||||
|
||||
netprots="6lowpan appletalk atm ax25 batman-adv bluetooth can dccp dsa ieee802154 irda l2tp mac80211 mac802154 mpls netrom nfc rds rfkill rose sctp smc wireless"
|
||||
|
||||
drmdrvs="amd ast gma500 i2c i915 mgag200 nouveau radeon via "
|
||||
|
||||
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject hid-sensor-hub target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls parport_serial ism hid-asus"
|
||||
|
||||
# Grab the arch-specific filter list overrides
|
||||
source ./filter-$2.sh
|
||||
|
||||
filter_dir() {
|
||||
filelist=$1
|
||||
dir=$2
|
||||
|
||||
grep -v -e "${dir}/" ${filelist} > ${filelist}.tmp
|
||||
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "Couldn't remove ${dir}. Skipping."
|
||||
else
|
||||
grep -e "${dir}/" ${filelist} >> k-d.list
|
||||
mv ${filelist}.tmp $filelist
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
filter_ko() {
|
||||
filelist=$1
|
||||
mod=$2
|
||||
|
||||
grep -v -e "${mod}.ko" ${filelist} > ${filelist}.tmp
|
||||
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "Couldn't remove ${mod}.ko Skipping."
|
||||
else
|
||||
grep -e "${mod}.ko" ${filelist} >> k-d.list
|
||||
mv ${filelist}.tmp $filelist
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
# Filter the drivers/ subsystems
|
||||
for subsys in ${driverdirs}
|
||||
do
|
||||
filter_dir $1 drivers/${subsys}
|
||||
done
|
||||
|
||||
# Filter the networking drivers
|
||||
for netdrv in ${netdrvs}
|
||||
do
|
||||
filter_dir $1 drivers/net/${netdrv}
|
||||
done
|
||||
|
||||
# Filter the char drivers
|
||||
for char in ${chardrvs}
|
||||
do
|
||||
filter_dir $1 drivers/char/${input}
|
||||
done
|
||||
|
||||
# Filter the ethernet drivers
|
||||
for eth in ${ethdrvs}
|
||||
do
|
||||
filter_dir $1 drivers/net/ethernet/${eth}
|
||||
done
|
||||
|
||||
# SCSI
|
||||
for scsi in ${scsidrvs}
|
||||
do
|
||||
filter_dir $1 drivers/scsi/${scsi}
|
||||
done
|
||||
|
||||
# Input
|
||||
for input in ${inputdrvs}
|
||||
do
|
||||
filter_dir $1 drivers/input/${input}
|
||||
done
|
||||
|
||||
# USB
|
||||
for usb in ${usbdrvs}
|
||||
do
|
||||
filter_dir $1 drivers/usb/${usb}
|
||||
done
|
||||
|
||||
# Filesystems
|
||||
for fs in ${fsdrvs}
|
||||
do
|
||||
filter_dir $1 fs/${fs}
|
||||
done
|
||||
|
||||
# Network protocols
|
||||
for prot in ${netprots}
|
||||
do
|
||||
filter_dir $1 kernel/net/${prot}
|
||||
done
|
||||
|
||||
# DRM
|
||||
for drm in ${drmdrvs}
|
||||
do
|
||||
filter_dir $1 drivers/gpu/drm/${drm}
|
||||
done
|
||||
|
||||
# Just kill sound.
|
||||
filter_dir $1 kernel/sound
|
||||
|
||||
# Now go through and filter any single .ko files that might have deps on the
|
||||
# things we filtered above
|
||||
for mod in ${singlemods}
|
||||
do
|
||||
filter_ko $1 ${mod}
|
||||
done
|
||||
|
||||
# Now process the override list to bring those modules back into core
|
||||
for mod in ${overrides}
|
||||
do
|
||||
grep -v -e "/${mod}.ko" k-d.list > k-d.list.tmp
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "Couldn't save ${mod}.ko Skipping."
|
||||
else
|
||||
grep -e "/${mod}.ko" k-d.list >> $filelist
|
||||
mv k-d.list.tmp k-d.list
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
# Go through our generated drivers list and remove the .ko files. We'll
|
||||
# restore them later.
|
||||
for mod in `cat k-d.list`
|
||||
do
|
||||
rm -rf $mod
|
||||
done
|
|
@ -1,14 +0,0 @@
|
|||
#! /bin/bash
|
||||
|
||||
# This is the ppc64le override file for the core/drivers package split. The
|
||||
# module directories listed here and in the generic list in filter-modules.sh
|
||||
# will be moved to the resulting kernel-modules package for this arch.
|
||||
# Anything not listed in those files will be in the kernel-core package.
|
||||
#
|
||||
# Please review the default list in filter-modules.sh before making
|
||||
# modifications to the overrides below. If something should be removed across
|
||||
# all arches, remove it in the default instead of per-arch.
|
||||
|
||||
driverdirs="atm auxdisplay bcma bluetooth firewire fmc fpga infiniband isdn leds media memstick message mmc mtd nfc ntb pcmcia platform power ssb staging tty uio uwb w1"
|
||||
|
||||
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls rnbd-client rnbd-server mlx5_vdpa"
|
|
@ -1,14 +0,0 @@
|
|||
#! /bin/bash
|
||||
|
||||
# This is the ppc64le override file for the core/drivers package split. The
|
||||
# module directories listed here and in the generic list in filter-modules.sh
|
||||
# will be moved to the resulting kernel-modules package for this arch.
|
||||
# Anything not listed in those files will be in the kernel-core package.
|
||||
#
|
||||
# Please review the default list in filter-modules.sh before making
|
||||
# modifications to the overrides below. If something should be removed across
|
||||
# all arches, remove it in the default instead of per-arch.
|
||||
|
||||
driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds media memstick message mmc mtd mwave nfc ntb pcmcia platform power ssb staging tty uio uwb w1"
|
||||
|
||||
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls"
|
|
@ -1,12 +0,0 @@
|
|||
#! /bin/bash
|
||||
|
||||
# This is the s390x override file for the core/drivers package split. The
|
||||
# module directories listed here and in the generic list in filter-modules.sh
|
||||
# will be moved to the resulting kernel-modules package for this arch.
|
||||
# Anything not listed in those files will be in the kernel-core package.
|
||||
#
|
||||
# Please review the default list in filter-modules.sh before making
|
||||
# modifications to the overrides below. If something should be removed across
|
||||
# all arches, remove it in the default instead of per-arch.
|
||||
|
||||
# Defaults work so no need to override
|
|
@ -1,12 +0,0 @@
|
|||
#! /bin/bash
|
||||
|
||||
# This is the s390x override file for the core/drivers package split. The
|
||||
# module directories listed here and in the generic list in filter-modules.sh
|
||||
# will be moved to the resulting kernel-modules package for this arch.
|
||||
# Anything not listed in those files will be in the kernel-core package.
|
||||
#
|
||||
# Please review the default list in filter-modules.sh before making
|
||||
# modifications to the overrides below. If something should be removed across
|
||||
# all arches, remove it in the default instead of per-arch.
|
||||
|
||||
# Defaults work so no need to override
|
|
@ -1,12 +0,0 @@
|
|||
#! /bin/bash
|
||||
|
||||
# This is the x86_64 override file for the core/drivers package split. The
|
||||
# module directories listed here and in the generic list in filter-modules.sh
|
||||
# will be moved to the resulting kernel-modules package for this arch.
|
||||
# Anything not listed in those files will be in the kernel-core package.
|
||||
#
|
||||
# Please review the default list in filter-modules.sh before making
|
||||
# modifications to the overrides below. If something should be removed across
|
||||
# all arches, remove it in the default instead of per-arch.
|
||||
|
||||
# Defaults work so no need to override
|
|
@ -1,12 +0,0 @@
|
|||
#! /bin/bash
|
||||
|
||||
# This is the x86_64 override file for the core/drivers package split. The
|
||||
# module directories listed here and in the generic list in filter-modules.sh
|
||||
# will be moved to the resulting kernel-modules package for this arch.
|
||||
# Anything not listed in those files will be in the kernel-core package.
|
||||
#
|
||||
# Please review the default list in filter-modules.sh before making
|
||||
# modifications to the overrides below. If something should be removed across
|
||||
# all arches, remove it in the default instead of per-arch.
|
||||
|
||||
# Defaults work so no need to override
|
|
@ -0,0 +1,76 @@
|
|||
Allow threads other than the main thread to do introspection of files in
|
||||
proc without relying on read permissions. proc_pid_follow_link() calls
|
||||
proc_fd_access_allowed() which ultimately calls __ptrace_may_access().
|
||||
|
||||
Though this allows additional access to some proc files, we do not
|
||||
believe that this has any unintended security implications. However it
|
||||
probably needs to be looked at carefully.
|
||||
|
||||
The original problem was a thread of a process whose permissions were
|
||||
111 couldn't open its own /proc/self/exe This was interfering with a
|
||||
special purpose debugging tool. A simple reproducer is below.:
|
||||
|
||||
#include <pthread.h>
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#define BUFSIZE 2048
|
||||
|
||||
void *thread_main(void *arg){
|
||||
char *str=(char*)arg;
|
||||
char buf[BUFSIZE];
|
||||
ssize_t len=readlink("/proc/self/exe", buf, BUFSIZE);
|
||||
if(len==-1)
|
||||
printf("/proc/self/exe in %s: %s\n", str,sys_errlist[errno]);
|
||||
else
|
||||
printf("/proc/self/exe in %s: OK\n", str);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main(){
|
||||
pthread_t thread;
|
||||
|
||||
int retval=pthread_create( &thread, NULL, thread_main, "thread");
|
||||
if(retval!=0)
|
||||
exit(1);
|
||||
|
||||
thread_main("main");
|
||||
pthread_join(thread, NULL);
|
||||
|
||||
exit(0);
|
||||
}
|
||||
|
||||
Signed-off-by: Ben Woodard <woodard@redhat.com>
|
||||
Signed-off-by: Mark Grondona <mgrondona@llnl.gov>
|
||||
---
|
||||
kernel/ptrace.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/kernel/ptrace.c b/kernel/ptrace.c
|
||||
index acbd284..347c4c7 100644
|
||||
--- a/kernel/ptrace.c
|
||||
+++ b/kernel/ptrace.c
|
||||
diff -ruNp linux-3.8.4-103.fc17.noarch/kernel/ptrace.c linux-3.8.4-103.fc17.ptrace/kernel/ptrace.c
|
||||
--- linux-3.8.4-103.fc17.noarch/kernel/ptrace.c 2013-02-18 17:58:34.000000000 -0600
|
||||
+++ linux-3.8.4-103.fc17.ptrace/kernel/ptrace.c 2013-03-26 14:59:01.939396346 -0500
|
||||
@@ -234,7 +234,7 @@ static int __ptrace_may_access(struct ta
|
||||
*/
|
||||
int dumpable = 0;
|
||||
/* Don't let security modules deny introspection */
|
||||
- if (task == current)
|
||||
+ if (same_thread_group(task, current))
|
||||
return 0;
|
||||
rcu_read_lock();
|
||||
tcred = __task_cred(task);
|
||||
--
|
||||
1.8.1.4
|
||||
|
||||
--
|
||||
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
|
||||
the body of a message to majordomo@vger.kernel.org
|
||||
More majordomo info at http://vger.kernel.org/majordomo-info.html
|
||||
Please read the FAQ at http://www.tux.org/lkml/
|
|
@ -0,0 +1,207 @@
|
|||
From 93f6b57df5d9dd8c0327cebc01f6c00dbcd6d2ff Mon Sep 17 00:00:00 2001
|
||||
From: Jan Kara <jack@suse.cz>
|
||||
Date: Fri, 31 May 2013 19:33:42 -0400
|
||||
Subject: [PATCH 1/4] ext4: fix data offset overflow on 32-bit archs in
|
||||
ext4_inline_data_fiemap()
|
||||
|
||||
On 32-bit archs when sector_t is defined as 32-bit the logic computing
|
||||
data offset in ext4_inline_data_fiemap(). Fix that by properly typing
|
||||
the shifted value.
|
||||
|
||||
Signed-off-by: Jan Kara <jack@suse.cz>
|
||||
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
|
||||
---
|
||||
fs/ext4/inline.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c
|
||||
index c0fd1a1..c46a01e 100644
|
||||
--- a/fs/ext4/inline.c
|
||||
+++ b/fs/ext4/inline.c
|
||||
@@ -1702,7 +1702,7 @@ int ext4_inline_data_fiemap(struct inode *inode,
|
||||
if (error)
|
||||
goto out;
|
||||
|
||||
- physical = iloc.bh->b_blocknr << inode->i_sb->s_blocksize_bits;
|
||||
+ physical = (__u64)iloc.bh->b_blocknr << inode->i_sb->s_blocksize_bits;
|
||||
physical += (char *)ext4_raw_inode(&iloc) - iloc.bh->b_data;
|
||||
physical += offsetof(struct ext4_inode, i_block);
|
||||
length = i_size_read(inode);
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
|
||||
From 4d2cedb535bae3ada76a335540657e948f99d9c0 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Kara <jack@suse.cz>
|
||||
Date: Fri, 31 May 2013 19:37:56 -0400
|
||||
Subject: [PATCH 2/4] ext4: fix overflows in SEEK_HOLE, SEEK_DATA
|
||||
implementations
|
||||
|
||||
ext4_lblk_t is just u32 so multiplying it by blocksize can easily
|
||||
overflow for files larger than 4 GB. Fix that by properly typing the
|
||||
block offsets before shifting.
|
||||
|
||||
Signed-off-by: Jan Kara <jack@suse.cz>
|
||||
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
|
||||
Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
|
||||
---
|
||||
fs/ext4/file.c | 14 +++++++-------
|
||||
1 file changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/fs/ext4/file.c b/fs/ext4/file.c
|
||||
index 64848b5..b47ccf9 100644
|
||||
--- a/fs/ext4/file.c
|
||||
+++ b/fs/ext4/file.c
|
||||
@@ -311,7 +311,7 @@ static int ext4_find_unwritten_pgoff(struct inode *inode,
|
||||
blkbits = inode->i_sb->s_blocksize_bits;
|
||||
startoff = *offset;
|
||||
lastoff = startoff;
|
||||
- endoff = (map->m_lblk + map->m_len) << blkbits;
|
||||
+ endoff = (loff_t)(map->m_lblk + map->m_len) << blkbits;
|
||||
|
||||
index = startoff >> PAGE_CACHE_SHIFT;
|
||||
end = endoff >> PAGE_CACHE_SHIFT;
|
||||
@@ -456,7 +456,7 @@ static loff_t ext4_seek_data(struct file *file, loff_t offset, loff_t maxsize)
|
||||
ret = ext4_map_blocks(NULL, inode, &map, 0);
|
||||
if (ret > 0 && !(map.m_flags & EXT4_MAP_UNWRITTEN)) {
|
||||
if (last != start)
|
||||
- dataoff = last << blkbits;
|
||||
+ dataoff = (loff_t)last << blkbits;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -467,7 +467,7 @@ static loff_t ext4_seek_data(struct file *file, loff_t offset, loff_t maxsize)
|
||||
ext4_es_find_delayed_extent(inode, last, &es);
|
||||
if (es.es_len != 0 && in_range(last, es.es_lblk, es.es_len)) {
|
||||
if (last != start)
|
||||
- dataoff = last << blkbits;
|
||||
+ dataoff = (loff_t)last << blkbits;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -485,7 +485,7 @@ static loff_t ext4_seek_data(struct file *file, loff_t offset, loff_t maxsize)
|
||||
}
|
||||
|
||||
last++;
|
||||
- dataoff = last << blkbits;
|
||||
+ dataoff = (loff_t)last << blkbits;
|
||||
} while (last <= end);
|
||||
|
||||
mutex_unlock(&inode->i_mutex);
|
||||
@@ -539,7 +539,7 @@ static loff_t ext4_seek_hole(struct file *file, loff_t offset, loff_t maxsize)
|
||||
ret = ext4_map_blocks(NULL, inode, &map, 0);
|
||||
if (ret > 0 && !(map.m_flags & EXT4_MAP_UNWRITTEN)) {
|
||||
last += ret;
|
||||
- holeoff = last << blkbits;
|
||||
+ holeoff = (loff_t)last << blkbits;
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -550,7 +550,7 @@ static loff_t ext4_seek_hole(struct file *file, loff_t offset, loff_t maxsize)
|
||||
ext4_es_find_delayed_extent(inode, last, &es);
|
||||
if (es.es_len != 0 && in_range(last, es.es_lblk, es.es_len)) {
|
||||
last = es.es_lblk + es.es_len;
|
||||
- holeoff = last << blkbits;
|
||||
+ holeoff = (loff_t)last << blkbits;
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -565,7 +565,7 @@ static loff_t ext4_seek_hole(struct file *file, loff_t offset, loff_t maxsize)
|
||||
&map, &holeoff);
|
||||
if (!unwritten) {
|
||||
last += ret;
|
||||
- holeoff = last << blkbits;
|
||||
+ holeoff = (loff_t)last << blkbits;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
|
||||
From 114fe3b7fc9ca3ca00f774dd8705e8c802f39f14 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Kara <jack@suse.cz>
|
||||
Date: Fri, 31 May 2013 19:38:56 -0400
|
||||
Subject: [PATCH 3/4] ext4: fix data offset overflow in ext4_xattr_fiemap() on
|
||||
32-bit archs
|
||||
|
||||
On 32-bit architectures with 32-bit sector_t computation of data offset
|
||||
in ext4_xattr_fiemap() can overflow resulting in reporting bogus data
|
||||
location. Fix the problem by typing block number to proper type before
|
||||
shifting.
|
||||
|
||||
Signed-off-by: Jan Kara <jack@suse.cz>
|
||||
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
|
||||
---
|
||||
fs/ext4/extents.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
|
||||
index 9c6d06d..6bb303c 100644
|
||||
--- a/fs/ext4/extents.c
|
||||
+++ b/fs/ext4/extents.c
|
||||
@@ -4605,7 +4605,7 @@ static int ext4_xattr_fiemap(struct inode *inode,
|
||||
error = ext4_get_inode_loc(inode, &iloc);
|
||||
if (error)
|
||||
return error;
|
||||
- physical = iloc.bh->b_blocknr << blockbits;
|
||||
+ physical = (__u64)iloc.bh->b_blocknr << blockbits;
|
||||
offset = EXT4_GOOD_OLD_INODE_SIZE +
|
||||
EXT4_I(inode)->i_extra_isize;
|
||||
physical += offset;
|
||||
@@ -4613,7 +4613,7 @@ static int ext4_xattr_fiemap(struct inode *inode,
|
||||
flags |= FIEMAP_EXTENT_DATA_INLINE;
|
||||
brelse(iloc.bh);
|
||||
} else { /* external block */
|
||||
- physical = EXT4_I(inode)->i_file_acl << blockbits;
|
||||
+ physical = (__u64)EXT4_I(inode)->i_file_acl << blockbits;
|
||||
length = inode->i_sb->s_blocksize;
|
||||
}
|
||||
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
|
||||
From aeb72ff4b7fe084b4373d4a91d77d3bea8089627 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Kara <jack@suse.cz>
|
||||
Date: Fri, 31 May 2013 19:39:56 -0400
|
||||
Subject: [PATCH 4/4] ext4: fix overflow when counting used blocks on 32-bit
|
||||
architectures
|
||||
|
||||
The arithmetics adding delalloc blocks to the number of used blocks in
|
||||
ext4_getattr() can easily overflow on 32-bit archs as we first multiply
|
||||
number of blocks by blocksize and then divide back by 512. Make the
|
||||
arithmetics more clever and also use proper type (unsigned long long
|
||||
instead of unsigned long).
|
||||
|
||||
Signed-off-by: Jan Kara <jack@suse.cz>
|
||||
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
|
||||
---
|
||||
fs/ext4/inode.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
|
||||
index d69e954..e33e2d2 100644
|
||||
--- a/fs/ext4/inode.c
|
||||
+++ b/fs/ext4/inode.c
|
||||
@@ -4616,7 +4616,7 @@ int ext4_getattr(struct vfsmount *mnt, struct dentry *dentry,
|
||||
struct kstat *stat)
|
||||
{
|
||||
struct inode *inode;
|
||||
- unsigned long delalloc_blocks;
|
||||
+ unsigned long long delalloc_blocks;
|
||||
|
||||
inode = dentry->d_inode;
|
||||
generic_fillattr(inode, stat);
|
||||
@@ -4634,7 +4634,7 @@ int ext4_getattr(struct vfsmount *mnt, struct dentry *dentry,
|
||||
delalloc_blocks = EXT4_C2B(EXT4_SB(inode->i_sb),
|
||||
EXT4_I(inode)->i_reserved_data_blocks);
|
||||
|
||||
- stat->blocks += (delalloc_blocks << inode->i_sb->s_blocksize_bits)>>9;
|
||||
+ stat->blocks += delalloc_blocks << (inode->i_sb->s_blocksize_bits-9);
|
||||
return 0;
|
||||
}
|
||||
|
||||
--
|
||||
1.8.3.1
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
diff --git a/fs/proc/proc_devtree.c b/fs/proc/proc_devtree.c
|
||||
index 927cbd1..f060f28 100644
|
||||
--- a/fs/proc/proc_devtree.c
|
||||
+++ b/fs/proc/proc_devtree.c
|
||||
@@ -233,6 +233,7 @@ void __init proc_device_tree_init(void)
|
||||
return;
|
||||
root = of_find_node_by_path("/");
|
||||
if (root == NULL) {
|
||||
+ remove_proc_entry("device-tree", NULL);
|
||||
pr_debug("/proc/device-tree: can't find root\n");
|
||||
return;
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Adjusts the configuration options to build the variants correctly
|
||||
#
|
||||
# arg1: configuration to go in the primary variant
|
||||
# arg2: are we only generating debug configs
|
||||
|
||||
|
||||
PRIMARY=$1
|
||||
DEBUGBUILDSENABLED=$2
|
||||
|
||||
if [ -z "$2" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$PRIMARY" ]; then
|
||||
PRIMARY=rhel
|
||||
fi
|
||||
|
||||
if [ "$PRIMARY" = "fedora" ]; then
|
||||
SECONDARY=rhel
|
||||
else
|
||||
SECONDARY=fedora
|
||||
fi
|
||||
|
||||
for i in kernel-*-"$PRIMARY".config; do
|
||||
NEW=kernel-"$VERSION"-$(echo "$i" | cut -d - -f2- | sed s/-"$PRIMARY"//)
|
||||
#echo $NEW
|
||||
mv "$i" "$NEW"
|
||||
done
|
||||
|
||||
rm -f kernel-*-"$SECONDARY".config
|
||||
|
||||
if [ "$DEBUGBUILDSENABLED" -eq 0 ]; then
|
||||
for i in kernel-*debug*.config; do
|
||||
base=$(echo "$i" | sed -r s/-?debug//g)
|
||||
NEW=kernel-$(echo "$base" | cut -d - -f2-)
|
||||
mv "$i" "$NEW"
|
||||
done
|
||||
fi
|
|
@ -1,35 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
. /etc/os-release
|
||||
|
||||
kernelver=$1 && shift
|
||||
rootfs=$1 && shift
|
||||
variant=$1 && shift
|
||||
|
||||
output="${rootfs}/lib/modules/${kernelver}/bls.conf"
|
||||
date=$(date -u +%Y%m%d%H%M%S)
|
||||
|
||||
if [ "${variant:-5}" = "debug" ]; then
|
||||
debugname=" with debugging"
|
||||
debugid="-debug"
|
||||
else
|
||||
debugname=""
|
||||
debugid=""
|
||||
fi
|
||||
|
||||
# shellcheck will complain about bootprefix being referenced but not assigned,
|
||||
# but that is perfectly OK here.
|
||||
# shellcheck disable=SC2154
|
||||
cat > "$output" <<EOF
|
||||
title ${NAME} (${kernelver}) ${VERSION}${debugname}
|
||||
version ${kernelver}${debugid}
|
||||
linux ${bootprefix}/vmlinuz-${kernelver}
|
||||
initrd ${bootprefix}/initramfs-${kernelver}.img
|
||||
options \$kernelopts
|
||||
id ${ID}-${date}-${kernelver}${debugid}
|
||||
grub_users \$grub_users
|
||||
grub_arg --unrestricted
|
||||
grub_class kernel${variant}
|
||||
EOF
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue