diff options
author | Tudor Florea <tudor.florea@enea.com> | 2015-10-08 22:50:30 +0200 |
---|---|---|
committer | Tudor Florea <tudor.florea@enea.com> | 2015-10-08 22:50:30 +0200 |
commit | 56fadd5827f95396b1237dfe628e2b8a3d28dd00 (patch) | |
tree | a1bcdf8f990f18fb0222d215522a99176719c4eb | |
download | meta-enea-56fadd5827f95396b1237dfe628e2b8a3d28dd00.tar.gz |
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
254 files changed, 19588 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e4e5f6c --- /dev/null +++ b/.gitignore | |||
@@ -0,0 +1 @@ | |||
*~ \ No newline at end of file | |||
@@ -0,0 +1,38 @@ | |||
1 | OpenEmbedded/Yocto BSP layer for Enea Linux reconfigurable platforms | ||
2 | ==================================================================== | ||
3 | |||
4 | This layer provides support for Enea Linux reconfigurable platforms | ||
5 | to use with OpenEmbedded and/or Yocto. | ||
6 | |||
7 | Dependencies | ||
8 | ------------ | ||
9 | This layer depends on: | ||
10 | URI: git://git.enea.com/linux/poky | ||
11 | branch: daisy | ||
12 | |||
13 | URI: git://git.enea.com/linux/meta-openembedded | ||
14 | branch: daisy | ||
15 | layers: meta-filesystems | ||
16 | |||
17 | Source code | ||
18 | ----------- | ||
19 | |||
20 | git://git.enea.com/linux/meta-enea.git | ||
21 | |||
22 | Maintenance | ||
23 | ----------- | ||
24 | |||
25 | Maintainers: Enea Linux Team <linux-maintainers@enea.com> | ||
26 | |||
27 | Contributing | ||
28 | ------------ | ||
29 | |||
30 | Contributions and patches can be sent to the Enea Linux mailing | ||
31 | list: enealinux@lists.enea.com | ||
32 | |||
33 | License | ||
34 | ------- | ||
35 | |||
36 | All metadata is MIT licensed unless otherwise stated. Source code | ||
37 | included in tree for individual recipes is under the LICENSE stated | ||
38 | in each recipe (.bb file) unless otherwise stated. | ||
diff --git a/conf/conf-notes.txt b/conf/conf-notes.txt new file mode 100644 index 0000000..55281bd --- /dev/null +++ b/conf/conf-notes.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | Common targets are: | ||
2 | enea-image-minimal | ||
3 | enea-image-demo | ||
4 | meta-toolchain | ||
5 | |||
6 | You can also run generated qemu images with a command like 'runqemu qemuppc' | ||
7 | |||
diff --git a/conf/distro/enea-cgl.conf b/conf/distro/enea-cgl.conf new file mode 100644 index 0000000..cbfba31 --- /dev/null +++ b/conf/distro/enea-cgl.conf | |||
@@ -0,0 +1,30 @@ | |||
1 | require conf/distro/poky-lsb.conf | ||
2 | DISTRO = "enea-cgl" | ||
3 | DISTRO_NAME = "Enea Linux" | ||
4 | DISTRO_VERSION_MAJOR = "5.0" | ||
5 | DISTRO_VERSION_MINOR ??= "" | ||
6 | DISTRO_VERSION = "${DISTRO_VERSION_MAJOR}${DISTRO_VERSION_MINOR}" | ||
7 | |||
8 | |||
9 | SDK_VENDOR = "-eneasdk" | ||
10 | SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}" | ||
11 | |||
12 | MAINTAINER = "ENEA <linux-maintainers@enea.com>" | ||
13 | |||
14 | TARGET_VENDOR = "-enea" | ||
15 | |||
16 | PRSERV_HOST ?= "localhost:0" | ||
17 | |||
18 | SANITY_TESTED_DISTROS += "\ | ||
19 | CentOS-6.1 \n \ | ||
20 | RedHatEnterpriseServer-6.1 \n \ | ||
21 | RedHatEnterpriseServer-6.4 \n \ | ||
22 | Ubuntu-12.10 \n \ | ||
23 | " | ||
24 | |||
25 | CONNECTIVITY_CHECK_URIS = " \ | ||
26 | http://linux.enea.com" | ||
27 | |||
28 | BB_DANGLINGAPPENDS_WARNONLY ?= "1" | ||
29 | |||
30 | DISTRO_FEATURES_append = " pam selinux" | ||
diff --git a/conf/distro/enea.conf b/conf/distro/enea.conf new file mode 100644 index 0000000..da5ddd5 --- /dev/null +++ b/conf/distro/enea.conf | |||
@@ -0,0 +1,28 @@ | |||
1 | require conf/distro/poky.conf | ||
2 | DISTRO = "enea" | ||
3 | DISTRO_NAME = "Enea Linux" | ||
4 | DISTRO_VERSION_MAJOR = "5.0" | ||
5 | DISTRO_VERSION_MINOR ??= "" | ||
6 | DISTRO_VERSION = "${DISTRO_VERSION_MAJOR}${DISTRO_VERSION_MINOR}" | ||
7 | |||
8 | |||
9 | SDK_VENDOR = "-eneasdk" | ||
10 | SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}" | ||
11 | |||
12 | MAINTAINER = "ENEA <linux-maintainers@enea.com>" | ||
13 | |||
14 | TARGET_VENDOR = "-enea" | ||
15 | |||
16 | PRSERV_HOST ?= "localhost:0" | ||
17 | |||
18 | SANITY_TESTED_DISTROS += "\ | ||
19 | CentOS-6.1 \n \ | ||
20 | RedHatEnterpriseServer-6.1 \n \ | ||
21 | RedHatEnterpriseServer-6.4 \n \ | ||
22 | Ubuntu-12.10 \n \ | ||
23 | " | ||
24 | |||
25 | CONNECTIVITY_CHECK_URIS = " \ | ||
26 | http://linux.enea.com" | ||
27 | |||
28 | BB_DANGLINGAPPENDS_WARNONLY ?= "1" | ||
diff --git a/conf/layer.conf b/conf/layer.conf new file mode 100644 index 0000000..bfd4ef2 --- /dev/null +++ b/conf/layer.conf | |||
@@ -0,0 +1,12 @@ | |||
1 | # We have a packages directory, add to BBFILES | ||
2 | BBPATH .= ":${LAYERDIR}" | ||
3 | |||
4 | BBFILES += "${LAYERDIR}/recipes-*/*/*.bb*" | ||
5 | BBFILES += "${LAYERDIR}/images/*.bb*" | ||
6 | |||
7 | BBFILE_COLLECTIONS += "enea" | ||
8 | BBFILE_PATTERN_enea := "^${LAYERDIR}/" | ||
9 | BBFILE_PRIORITY_enea = "6" | ||
10 | |||
11 | BB_ENV_EXTRAWHITE := "KSRC USRC" | ||
12 | BB_DANGLINGAPPENDS_WARNONLY = "yes" | ||
diff --git a/conf/machine/include/arch-armv8.inc b/conf/machine/include/arch-armv8.inc new file mode 100644 index 0000000..c86142a --- /dev/null +++ b/conf/machine/include/arch-armv8.inc | |||
@@ -0,0 +1,20 @@ | |||
1 | DEFAULTTUNE ?= "aarch64" | ||
2 | |||
3 | ARMPKGARCH ?= "aarch64" | ||
4 | |||
5 | TUNEVALID[aarch64] = "Enable instructions for aarch64" | ||
6 | TUNEVALID[bigendian] = "Enable big-endian mode." | ||
7 | TUNECONFLICTS[aarch64] = "" | ||
8 | MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "aarch64", ":aarch64", "" ,d)}" | ||
9 | |||
10 | # Little Endian base configs | ||
11 | AVAILTUNES += "aarch64 aarch64_be" | ||
12 | TUNE_FEATURES_tune-aarch64 ?= "aarch64" | ||
13 | TUNE_FEATURES_tune-aarch64_be ?= "${TUNE_FEATURES_tune-aarch64} bigendian" | ||
14 | |||
15 | ARMPKGSFX_ENDIAN = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "_be", "", d)}" | ||
16 | |||
17 | TUNE_ARCH = "aarch64${ARMPKGSFX_ENDIAN}" | ||
18 | TUNE_PKGARCH = "aarch64${ARMPKGSFX_ENDIAN}" | ||
19 | |||
20 | PACKAGE_EXTRA_ARCHS = "aarch64${ARMPKGSFX_ENDIAN}" | ||
diff --git a/conf/machine/p2020rdb-prt.conf b/conf/machine/p2020rdb-prt.conf new file mode 100644 index 0000000..b870ec2 --- /dev/null +++ b/conf/machine/p2020rdb-prt.conf | |||
@@ -0,0 +1,20 @@ | |||
1 | #@TYPE: Machine | ||
2 | #@Name: Freescale P2020RDB | ||
3 | #@DESCRIPTION: Machine configuration for the Freescale P2020RDB with Preempt-RT enabled | ||
4 | |||
5 | require conf/machine/e500v2.inc | ||
6 | require conf/machine/include/soc-family.inc | ||
7 | |||
8 | SOC_FAMILY = "p2020" | ||
9 | BOOTFORMAT_CONFIG = "config_sram_p1022ds.dat" | ||
10 | UBOOT_MACHINES ?= " P2020RDB-PC P2020RDB-PC_NAND P2020RDB-PC_SDCARD P2020RDB-PC_SPIFLASH P2020RDB-PC_36BIT P2020RDB-PC_36BIT_SPIFLASH P2020RDB-PC_36BIT_NAND P2020RDB-PC_36BIT_SDCARD" | ||
11 | KERNEL_DEVICETREE ?= "p2020rdb-pc_32b.dtb" | ||
12 | KERNEL_DEFCONFIG ?= "${S}/arch/powerpc/configs/mpc85xx_smp_defconfig" | ||
13 | |||
14 | PREFERRED_PROVIDER_virtual/kernel = "linux-qoriq-prt" | ||
15 | |||
16 | JFFS2_ERASEBLOCK = "0x20000" | ||
17 | |||
18 | SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS1" | ||
19 | SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" | ||
20 | USE_VT = "0" | ||
diff --git a/conf/machine/proliant-m400.conf b/conf/machine/proliant-m400.conf new file mode 100644 index 0000000..f9a2170 --- /dev/null +++ b/conf/machine/proliant-m400.conf | |||
@@ -0,0 +1,23 @@ | |||
1 | #@TYPE: Machine | ||
2 | #@NAME: Moonshot ProLiant m400 | ||
3 | #@DESCRIPTION: Machine configuration for HP Proliant m400 | ||
4 | |||
5 | require conf/machine/include/arch-armv8.inc | ||
6 | |||
7 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-proliant-m400" | ||
8 | |||
9 | UBOOT_ENTRYPOINT = "0x00080000" | ||
10 | UBOOT_LOADADDRESS = "0x00080000" | ||
11 | |||
12 | MACHINE_FEATURES = "pci ext2 ext3 serial" | ||
13 | |||
14 | RDEPENDS_kernel-base = "kernel-image" | ||
15 | |||
16 | KERNEL_IMAGETYPE = "Image" | ||
17 | |||
18 | SERIAL_CONSOLES = "115200;ttyS0 115200;ttyAMA0" | ||
19 | |||
20 | # we do not want to have getty running since we do not have a | ||
21 | # graphical display attached and therefore do not need virtual | ||
22 | # terminal functionality | ||
23 | USE_VT = "0" | ||
diff --git a/images/enea-image-base.bb b/images/enea-image-base.bb new file mode 100644 index 0000000..41eba70 --- /dev/null +++ b/images/enea-image-base.bb | |||
@@ -0,0 +1,5 @@ | |||
1 | DESCRIPTION = "console only image that fully suport target HW" | ||
2 | require enea-image-common.inc | ||
3 | |||
4 | IMAGE_ROOTFS_EXTRA_SPACE = "131072" | ||
5 | IMAGE_OVERHEAD_FACTOR = "2" | ||
diff --git a/images/enea-image-common.inc b/images/enea-image-common.inc new file mode 100644 index 0000000..2f063eb --- /dev/null +++ b/images/enea-image-common.inc | |||
@@ -0,0 +1,11 @@ | |||
1 | IMAGE_FEATURES += "ssh-server-dropbear package-management" | ||
2 | |||
3 | IMAGE_INSTALL = " \ | ||
4 | packagegroup-enea-core-boot \ | ||
5 | " | ||
6 | |||
7 | IMAGE_LINGUAS = "" | ||
8 | |||
9 | LICENSE = "MIT" | ||
10 | |||
11 | inherit core-image | ||
diff --git a/images/enea-image-demo.bb b/images/enea-image-demo.bb new file mode 100644 index 0000000..cca6647 --- /dev/null +++ b/images/enea-image-demo.bb | |||
@@ -0,0 +1,80 @@ | |||
1 | # Uncomment for opkg/dpkg/rpm on available on target | ||
2 | IMAGE_FSTYPES += "ext2.gz.u-boot ext3 tar.gz" | ||
3 | |||
4 | IMAGE_FEATURES += "package-management" | ||
5 | IMAGE_FEATURES += "eclipse-debug tools-debug tools-profile dbg-pkgs" | ||
6 | IMAGE_FEATURES += "ssh-server-dropbear" | ||
7 | |||
8 | ENEA_GPL = "linx linx-mod" | ||
9 | |||
10 | ENEA_GPL_qemux86 = "" | ||
11 | ENEA_GPL_qemuppc = "" | ||
12 | ENEA_GPL_armv5 = "" | ||
13 | ENEA_GPL_armv7a = "" | ||
14 | |||
15 | IMAGE_INSTALL = " \ | ||
16 | packagegroup-enea-core-boot \ | ||
17 | packagegroup-enea-debug \ | ||
18 | packagegroup-enea-rt-tools \ | ||
19 | ${ROOTFS_PKGMANAGE_BOOTSTRAP} \ | ||
20 | babeltrace \ | ||
21 | bc \ | ||
22 | beecrypt \ | ||
23 | chkconfig \ | ||
24 | cracklib \ | ||
25 | curl \ | ||
26 | dhcp-client \ | ||
27 | eventlog \ | ||
28 | file \ | ||
29 | findutils \ | ||
30 | freetype \ | ||
31 | fuse \ | ||
32 | gawk \ | ||
33 | gettext \ | ||
34 | gettext-runtime \ | ||
35 | gnutls \ | ||
36 | grep \ | ||
37 | gzip \ | ||
38 | icu \ | ||
39 | insserv \ | ||
40 | kbd \ | ||
41 | kexec-tools \ | ||
42 | libgcrypt \ | ||
43 | libgpg-error \ | ||
44 | libtasn1 \ | ||
45 | libuio \ | ||
46 | logrotate \ | ||
47 | lsb \ | ||
48 | lsbinitscripts \ | ||
49 | ltp \ | ||
50 | mingetty \ | ||
51 | mtd-utils \ | ||
52 | net-tools \ | ||
53 | netbase \ | ||
54 | openssl \ | ||
55 | ossp-uuid \ | ||
56 | pciutils \ | ||
57 | pkgconfig \ | ||
58 | pramfs-init \ | ||
59 | procps \ | ||
60 | psmisc \ | ||
61 | rpm \ | ||
62 | sed \ | ||
63 | sqlite3 \ | ||
64 | sudo \ | ||
65 | tar \ | ||
66 | tipcutils \ | ||
67 | udev-extraconf \ | ||
68 | usbutils \ | ||
69 | zip \ | ||
70 | ${ENEA_GPL} \ | ||
71 | " | ||
72 | |||
73 | IMAGE_LINGUAS = "" | ||
74 | |||
75 | inherit core-image | ||
76 | inherit image_types_uboot | ||
77 | |||
78 | IMAGE_ROOTFS_SIZE = "1" | ||
79 | # Increased the overhead factor to be able to build via nfs. | ||
80 | IMAGE_OVERHEAD_FACTOR = "2" | ||
diff --git a/images/enea-image-featured.bb b/images/enea-image-featured.bb new file mode 100644 index 0000000..2d22237 --- /dev/null +++ b/images/enea-image-featured.bb | |||
@@ -0,0 +1,76 @@ | |||
1 | DESCRIPTION = "Full featured image with full target support" | ||
2 | require enea-image-common.inc | ||
3 | |||
4 | IMAGE_FEATURES[validitems] += "read-only-rootfs empty-root-password allow-empty-password post-install-logging " | ||
5 | |||
6 | IMAGE_FEATURES += " \ | ||
7 | dbg-pkgs \ | ||
8 | debug-tweaks \ | ||
9 | dev-pkgs \ | ||
10 | doc-pkgs \ | ||
11 | ptest-pkgs \ | ||
12 | splash \ | ||
13 | staticdev-pkgs \ | ||
14 | eclipse-debug \ | ||
15 | hwcodecs \ | ||
16 | nfs-server \ | ||
17 | qt4-pkgs \ | ||
18 | ssh-server-openssh \ | ||
19 | tools-debug \ | ||
20 | tools-profile \ | ||
21 | tools-sdk \ | ||
22 | tools-testapps \ | ||
23 | x11 \ | ||
24 | x11-base" | ||
25 | |||
26 | IMAGE_INSTALL = " \ | ||
27 | packagegroup-base \ | ||
28 | packagegroup-enea-debug \ | ||
29 | packagegroup-enea-rt-tools \ | ||
30 | packagegroup-enea-ptest \ | ||
31 | packagegroup-enea-ddt \ | ||
32 | packagegroup-enea-sys \ | ||
33 | packagegroup-enea-bench \ | ||
34 | ${ROOTFS_PKGMANAGE_BOOTSTRAP} \ | ||
35 | beecrypt \ | ||
36 | binutils \ | ||
37 | chkconfig \ | ||
38 | cracklib \ | ||
39 | curl \ | ||
40 | dhcp-client \ | ||
41 | eventlog \ | ||
42 | file \ | ||
43 | findutils \ | ||
44 | freetype \ | ||
45 | fuse \ | ||
46 | gawk \ | ||
47 | gcc \ | ||
48 | gnutls \ | ||
49 | grep \ | ||
50 | gzip \ | ||
51 | icu \ | ||
52 | insserv \ | ||
53 | kbd \ | ||
54 | kernel-modules \ | ||
55 | libgcrypt \ | ||
56 | libgpg-error \ | ||
57 | libtasn1 \ | ||
58 | lsb \ | ||
59 | lsbinitscripts \ | ||
60 | mingetty \ | ||
61 | openssh \ | ||
62 | ossp-uuid \ | ||
63 | perf \ | ||
64 | pkgconfig \ | ||
65 | procps \ | ||
66 | psmisc \ | ||
67 | rpm \ | ||
68 | rt-bmark \ | ||
69 | tar \ | ||
70 | tipcutils \ | ||
71 | udev-extraconf \ | ||
72 | zip \ | ||
73 | " | ||
74 | |||
75 | IMAGE_ROOTFS_EXTRA_SPACE = "1048576" | ||
76 | IMAGE_OVERHEAD_FACTOR = "1.5" | ||
diff --git a/images/enea-image-minimal.bb b/images/enea-image-minimal.bb new file mode 100644 index 0000000..af89d64 --- /dev/null +++ b/images/enea-image-minimal.bb | |||
@@ -0,0 +1,32 @@ | |||
1 | # | ||
2 | # Poky specific package kits. | ||
3 | # | ||
4 | |||
5 | # no need for udev | ||
6 | VIRTUAL-RUNTIME_dev_manager = "" | ||
7 | |||
8 | |||
9 | # | ||
10 | # Enea Specific Packages | ||
11 | # | ||
12 | IMAGE_FEATURES += "ssh-server-dropbear" | ||
13 | |||
14 | IMAGE_INSTALL = " \ | ||
15 | packagegroup-enea-core-boot \ | ||
16 | pramfs-init \ | ||
17 | fuse \ | ||
18 | " | ||
19 | |||
20 | IMAGE_LINGUAS = "" | ||
21 | |||
22 | LICENSE = "MIT" | ||
23 | |||
24 | inherit core-image | ||
25 | inherit image_types_uboot | ||
26 | |||
27 | IMAGE_FSTYPES += "ext2.gz.u-boot ext3 tar.gz cpio.gz" | ||
28 | |||
29 | # The bigger of below two will be chosen | ||
30 | IMAGE_ROOTFS_SIZE = "1" | ||
31 | # Increased the overhead factor to be able to build via nfs. | ||
32 | IMAGE_OVERHEAD_FACTOR = "2" | ||
diff --git a/images/enea-image-test-bash.bb b/images/enea-image-test-bash.bb new file mode 100644 index 0000000..0796c1b --- /dev/null +++ b/images/enea-image-test-bash.bb | |||
@@ -0,0 +1,26 @@ | |||
1 | |||
2 | IMAGE_FSTYPES += "ext2.gz.u-boot ext3 tar.gz" | ||
3 | IMAGE_FEATURES += "ptest-pkgs" | ||
4 | IMAGE_FEATURES += "ssh-server-openssh" | ||
5 | |||
6 | PERF ?= "perf" | ||
7 | PERF_armv5 ?= "" | ||
8 | PERF_armv6 ?= "" | ||
9 | PERF_armv7a ?= "" | ||
10 | |||
11 | IMAGE_INSTALL = " \ | ||
12 | packagegroup-enea-core-boot \ | ||
13 | packagegroup-enea-ptest \ | ||
14 | packagegroup-enea-ddt \ | ||
15 | packagegroup-enea-sys \ | ||
16 | packagegroup-enea-bench \ | ||
17 | packagegroup-enea-rt-tools \ | ||
18 | openssh \ | ||
19 | ${PERF}\ | ||
20 | rt-bmark \ | ||
21 | kernel-modules \ | ||
22 | lmsensors-sensors \ | ||
23 | " | ||
24 | |||
25 | inherit core-image | ||
26 | inherit image_types_uboot | ||
diff --git a/images/enea-image-test-busybox.bb b/images/enea-image-test-busybox.bb new file mode 100644 index 0000000..4c371e0 --- /dev/null +++ b/images/enea-image-test-busybox.bb | |||
@@ -0,0 +1,12 @@ | |||
1 | IMAGE_FSTYPES += "ext2.gz.u-boot ext3 tar.gz" | ||
2 | IMAGE_FEATURES += "ptest-pkgs" | ||
3 | IMAGE_FEATURES += "ssh-server-dropbear" | ||
4 | |||
5 | IMAGE_INSTALL = " \ | ||
6 | packagegroup-enea-core-boot \ | ||
7 | packagegroup-enea-ptest \ | ||
8 | packagegroup-enea-sys \ | ||
9 | " | ||
10 | |||
11 | inherit core-image | ||
12 | inherit image_types_uboot | ||
diff --git a/recipes-append/busybox/busybox_1.22.1.bbappend b/recipes-append/busybox/busybox_1.22.1.bbappend new file mode 100644 index 0000000..7b61cf9 --- /dev/null +++ b/recipes-append/busybox/busybox_1.22.1.bbappend | |||
@@ -0,0 +1,19 @@ | |||
1 | do_prepare_config_append () { | ||
2 | sed -i -e 's/# CONFIG_CHRT is not set/CONFIG_CHRT=y/' .config | ||
3 | sed -i -e 's/# CONFIG_TASKSET is not set/CONFIG_TASKSET=y/' .config | ||
4 | sed -i -e 's/# CONFIG_FEATURE_TASKSET_FANCY is not set/CONFIG_FEATURE_TASKSET_FANCY=y/' .config | ||
5 | sed -i -e 's/# CONFIG_HTTPD is not set/CONFIG_HTTPD=y/' .config | ||
6 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_RANGES is not set/CONFIG_FEATURE_HTTPD_RANGES=y/' .config | ||
7 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set/CONFIG_FEATURE_HTTPD_USE_SENDFILE=y/' .config | ||
8 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_SETUID is not set/CONFIG_FEATURE_HTTPD_SETUID=y/' .config | ||
9 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set/CONFIG_FEATURE_HTTPD_BASIC_AUTH=y/' .config | ||
10 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set/CONFIG_FEATURE_HTTPD_AUTH_MD5=y/' .config | ||
11 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_CGI is not set/CONFIG_FEATURE_HTTPD_CGI=y/' .config | ||
12 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set/CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y/' .config | ||
13 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set/CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y/' .config | ||
14 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set/CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y/' .config | ||
15 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set/CONFIG_FEATURE_HTTPD_ERROR_PAGES=y/' .config | ||
16 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_PROXY is not set/CONFIG_FEATURE_HTTPD_PROXY=y/' .config | ||
17 | sed -i -e 's/# CONFIG_FEATURE_HTTPD_GZIP is not set/CONFIG_FEATURE_HTTPD_GZIP=y/' .config | ||
18 | sed -i -e 's/# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set/CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y/' .config | ||
19 | } | ||
diff --git a/recipes-append/hv-cfg/hv-cfg_git.bbappend b/recipes-append/hv-cfg/hv-cfg_git.bbappend new file mode 100644 index 0000000..ff749c9 --- /dev/null +++ b/recipes-append/hv-cfg/hv-cfg_git.bbappend | |||
@@ -0,0 +1,2 @@ | |||
1 | # Set to SDK 1.2 release, and override AUTOREV | ||
2 | SRCREV = "102ab848d94f3c04f364ed273d0e00b21b0266f4" | ||
diff --git a/recipes-append/ltp/ltp_20140422.bbappend b/recipes-append/ltp/ltp_20140422.bbappend new file mode 100644 index 0000000..59a4341 --- /dev/null +++ b/recipes-append/ltp/ltp_20140422.bbappend | |||
@@ -0,0 +1,3 @@ | |||
1 | do_compile_prepend () { | ||
2 | ( make -C ${B}/testcases/open_posix_testsuite generate-makefiles conformance-all tools-all functional-all stress-all ) | ||
3 | } | ||
diff --git a/recipes-append/oprofile/files/oprofile-e500mc.patch b/recipes-append/oprofile/files/oprofile-e500mc.patch new file mode 100644 index 0000000..f784ae6 --- /dev/null +++ b/recipes-append/oprofile/files/oprofile-e500mc.patch | |||
@@ -0,0 +1,2095 @@ | |||
1 | diff -uNr a/events/Makefile.am b/events/Makefile.am | ||
2 | --- a/events/Makefile.am 2012-08-27 20:59:13.000000000 +0200 | ||
3 | +++ b/events/Makefile.am 2013-02-07 07:06:04.168567619 +0100 | ||
4 | @@ -72,6 +72,7 @@ | ||
5 | ppc/7450/events ppc/7450/unit_masks \ | ||
6 | ppc/e500/events ppc/e500/unit_masks \ | ||
7 | ppc/e500v2/events ppc/e500v2/unit_masks \ | ||
8 | + ppc/e500mc/events ppc/e500mc/unit_masks \ | ||
9 | ppc/e300/events ppc/e300/unit_masks \ | ||
10 | tile/tile64/events tile/tile64/unit_masks \ | ||
11 | tile/tilepro/events tile/tilepro/unit_masks \ | ||
12 | diff -uNr a/events/ppc/e500mc/events b/events/ppc/e500mc/events | ||
13 | --- a/events/ppc/e500mc/events 1970-01-01 01:00:00.000000000 +0100 | ||
14 | +++ b/events/ppc/e500mc/events 2013-02-07 07:03:57.990063725 +0100 | ||
15 | @@ -0,0 +1,83 @@ | ||
16 | +# e500 Events | ||
17 | +# | ||
18 | +event:0x1 counters:0,1,2,3 um:zero minimum:100 name:CPU_CLK : Cycles | ||
19 | +event:0x2 counters:0,1,2,3 um:zero minimum:500 name:COMPLETED_INSNS : Completed Instructions (0, 1, or 2 per cycle) | ||
20 | +event:0x3 counters:0,1,2,3 um:zero minimum:500 name:COMPLETED_OPS : Completed Micro-ops (counts 2 for load/store w/update) | ||
21 | +event:0x4 counters:0,1,2,3 um:zero minimum:500 name:INSTRUCTION_FETCHES : Instruction fetches | ||
22 | +event:0x5 counters:0,1,2,3 um:zero minimum:500 name:DECODED_OPS : Micro-ops decoded | ||
23 | +event:0x8 counters:0,1,2,3 um:zero minimum:500 name:COMPLETED_BRANCHES : Branch Instructions completed | ||
24 | +event:0x9 counters:0,1,2,3 um:zero minimum:500 name:COMPLETED_LOAD_OPS : Load micro-ops completed | ||
25 | +event:0xa counters:0,1,2,3 um:zero minimum:500 name:COMPLETED_STORE_OPS : Store micro-ops completed | ||
26 | +event:0xb counters:0,1,2,3 um:zero minimum:500 name:COMPLETION_REDIRECTS : Number of completion buffer redirects | ||
27 | +event:0xc counters:0,1,2,3 um:zero minimum:500 name:BRANCHES_FINISHED : Branches finished | ||
28 | +event:0xd counters:0,1,2,3 um:zero minimum:500 name:TAKEN_BRANCHES_FINISHED : Taken branches finished | ||
29 | +event:0xe counters:0,1,2,3 um:zero minimum:500 name:BIFFED_BRANCHES_FINISHED : Biffed branches finished | ||
30 | +event:0xf counters:0,1,2,3 um:zero minimum:500 name:BRANCHES_MISPREDICTED : Branch instructions mispredicted due to direction, target, or IAB prediction | ||
31 | +event:0x10 counters:0,1,2,3 um:zero minimum:500 name:BRANCHES_MISPREDICTED_DIRECTION : Branches mispredicted due to direction prediction | ||
32 | +event:0x11 counters:0,1,2,3 um:zero minimum:500 name:BTB_HITS : Branches that hit in the BTB, or missed but are not taken | ||
33 | +event:0x12 counters:0,1,2,3 um:zero minimum:500 name:DECODE_STALLED : Cycles the instruction buffer was not empty, but 0 instructions decoded | ||
34 | +event:0x13 counters:0,1,2,3 um:zero minimum:500 name:ISSUE_STALLED : Cycles the issue buffer is not empty but 0 instructions issued | ||
35 | +event:0x14 counters:0,1,2,3 um:zero minimum:500 name:BRANCH_ISSUE_STALLED : Cycles the branch buffer is not empty but 0 instructions issued | ||
36 | +event:0x15 counters:0,1,2,3 um:zero minimum:500 name:SRS0_SCHEDULE_STALLED : Cycles SRS0 is not empty but 0 instructions scheduled | ||
37 | +event:0x16 counters:0,1,2,3 um:zero minimum:500 name:SRS1_SCHEDULE_STALLED : Cycles SRS1 is not empty but 0 instructions scheduled | ||
38 | +event:0x17 counters:0,1,2,3 um:zero minimum:500 name:VRS_SCHEDULE_STALLED : Cycles VRS is not empty but 0 instructions scheduled | ||
39 | +event:0x18 counters:0,1,2,3 um:zero minimum:500 name:LRS_SCHEDULE_STALLED : Cycles LRS is not empty but 0 instructions scheduled | ||
40 | +event:0x19 counters:0,1,2,3 um:zero minimum:500 name:BRS_SCHEDULE_STALLED : Cycles BRS is not empty but 0 instructions scheduled Load/Store, Data Cache, and dLFB Events | ||
41 | +event:0x1a counters:0,1,2,3 um:zero minimum:500 name:TOTAL_TRANSLATED : Total Ldst microops translated. | ||
42 | +event:0x1b counters:0,1,2,3 um:zero minimum:500 name:LOADS_TRANSLATED : Number of cacheable L* or EVL* microops translated. (This includes microops from load-multiple, load-update, and load-context instructions.) | ||
43 | +event:0x1c counters:0,1,2,3 um:zero minimum:500 name:STORES_TRANSLATED : Number of cacheable ST* or EVST* microops translated. (This includes microops from store-multiple, store-update, and save-context instructions.) | ||
44 | +event:0x1d counters:0,1,2,3 um:zero minimum:500 name:TOUCHES_TRANSLATED : Number of cacheable DCBT and DCBTST instructions translated (L1 only) (Does not count touches that are converted to nops i.e. exceptions, noncacheable, hid0[nopti] bit is set.) | ||
45 | +event:0x1e counters:0,1,2,3 um:zero minimum:500 name:CACHEOPS_TRANSLATED : Number of dcba, dcbf, dcbst, and dcbz instructions translated (e500 traps on dcbi) | ||
46 | +event:0x1f counters:0,1,2,3 um:zero minimum:500 name:CACHEINHIBITED_ACCESSES_TRANSLATED : Number of cache inhibited accesses translated | ||
47 | +event:0x20 counters:0,1,2,3 um:zero minimum:500 name:GUARDED_LOADS_TRANSLATED : Number of guarded loads translated | ||
48 | +event:0x21 counters:0,1,2,3 um:zero minimum:500 name:WRITETHROUGH_STORES_TRANSLATED : Number of write-through stores translated | ||
49 | +event:0x22 counters:0,1,2,3 um:zero minimum:500 name:MISALIGNED_ACCESSES_TRANSLATED : Number of misaligned load or store accesses translated. | ||
50 | +event:0x23 counters:0,1,2,3 um:zero minimum:500 name:TOTAL_ALLOCATED_DLFB : Total allocated to dLFB | ||
51 | +event:0x24 counters:0,1,2,3 um:zero minimum:500 name:LOADS_TRANSLATED_ALLOCATED_DLFB : Loads translated and allocated to dLFB (Applies to same class of instructions as loads translated.) | ||
52 | +event:0x25 counters:0,1,2,3 um:zero minimum:500 name:STORES_COMPLETED_ALLOCATED_DLFB : Stores completed and allocated to dLFB (Applies to same class of instructions as stores translated.) | ||
53 | +event:0x26 counters:0,1,2,3 um:zero minimum:500 name:TOUCHES_TRANSLATED_ALLOCATED_DLFB : Touches translated and allocated to dLFB (Applies to same class of instructions as touches translated.) | ||
54 | +event:0x27 counters:0,1,2,3 um:zero minimum:500 name:STORES_COMPLETED : Number of cacheable ST* or EVST* microops completed. (Applies to the same class of instructions as stores translated.) | ||
55 | +event:0x28 counters:0,1,2,3 um:zero minimum:500 name:DL1_LOCKS : Number of cache lines locked in the dL1. (Counts a lock even if an overlock condition is encountered.) | ||
56 | +event:0x29 counters:0,1,2,3 um:zero minimum:500 name:DL1_RELOADS : This is historically used to determine dcache miss rate (along with loads/stores completed). This counts dL1 reloads for any reason. | ||
57 | +event:0x2a counters:0,1,2,3 um:zero minimum:500 name:DL1_CASTOUTS : dL1 castouts. Does not count castouts due to DCBF. | ||
58 | +event:0x2b counters:0,1,2,3 um:zero minimum:500 name:DETECTED_REPLAYS : Times detected replay condition - Load miss with dLFB full. | ||
59 | +event:0x2c counters:0,1,2,3 um:zero minimum:500 name:LOAD_MISS_QUEUE_FULL_REPLAYS : Load miss with load queue full. | ||
60 | +event:0x2d counters:0,1,2,3 um:zero minimum:500 name:LOAD_GUARDED_MISS_NOT_LAST_REPLAYS : Load guarded miss when the load is not yet at the bottom of the completion buffer. | ||
61 | +event:0x2e counters:0,1,2,3 um:zero minimum:500 name:STORE_TRANSLATED_QUEUE_FULL_REPLAYS : Translate a store when the StQ is full. | ||
62 | +event:0x2f counters:0,1,2,3 um:zero minimum:500 name:ADDRESS_COLLISION_REPLAYS : Address collision. | ||
63 | +event:0x30 counters:0,1,2,3 um:zero minimum:500 name:DMMU_MISS_REPLAYS : DMMU_MISS_REPLAYS : DMMU miss. | ||
64 | +event:0x31 counters:0,1,2,3 um:zero minimum:500 name:DMMU_BUSY_REPLAYS : DMMU_BUSY_REPLAYS : DMMU busy. | ||
65 | +event:0x32 counters:0,1,2,3 um:zero minimum:500 name:SECOND_PART_MISALIGNED_AFTER_MISS_REPLAYS : Second part of misaligned access when first part missed in cache. | ||
66 | +event:0x33 counters:0,1,2,3 um:zero minimum:500 name:LOAD_MISS_DLFB_FULL_CYCLES : Cycles stalled on replay condition - Load miss with dLFB full. | ||
67 | +event:0x34 counters:0,1,2,3 um:zero minimum:500 name:LOAD_MISS_QUEUE_FULL_CYCLES : Cycles stalled on replay condition - Load miss with load queue full. | ||
68 | +event:0x35 counters:0,1,2,3 um:zero minimum:500 name:LOAD_GUARDED_MISS_NOT_LAST_CYCLES : Cycles stalled on replay condition - Load guarded miss when the load is not yet at the bottom of the completion buffer. | ||
69 | +event:0x36 counters:0,1,2,3 um:zero minimum:500 name:STORE_TRANSLATED_QUEUE_FULL_CYCLES : Cycles stalled on replay condition - Translate a store when the StQ is full. | ||
70 | +event:0x37 counters:0,1,2,3 um:zero minimum:500 name:ADDRESS_COLLISION_CYCLES : Cycles stalled on replay condition - Address collision. | ||
71 | +event:0x38 counters:0,1,2,3 um:zero minimum:500 name:DMMU_MISS_CYCLES : Cycles stalled on replay condition - DMMU miss. | ||
72 | +event:0x39 counters:0,1,2,3 um:zero minimum:500 name:DMMU_BUSY_CYCLES : Cycles stalled on replay condition - DMMU busy. | ||
73 | +event:0x3a counters:0,1,2,3 um:zero minimum:500 name:SECOND_PART_MISALIGNED_AFTER_MISS_CYCLES : Cycles stalled on replay condition - Second part of misaligned access when first part missed in cache. | ||
74 | +event:0x3b counters:0,1,2,3 um:zero minimum:500 name:IL1_LOCKS : Number of cache lines locked in the iL1. (Counts a lock even if an overlock condition is encountered.) | ||
75 | +event:0x3c counters:0,1,2,3 um:zero minimum:500 name:IL1_FETCH_RELOADS : This is historically used to determine icache miss rate (along with instructions completed) Reloads due to demand fetch. | ||
76 | +event:0x3d counters:0,1,2,3 um:zero minimum:500 name:FETCHES : Counts the number of fetches that write at least one instruction to the instruction buffer. (With instruction fetched, can used to compute instructions-per-fetch) | ||
77 | +event:0x3e counters:0,1,2,3 um:zero minimum:500 name:IMMU_TLB4K_RELOADS : iMMU TLB4K reloads | ||
78 | +event:0x3f counters:0,1,2,3 um:zero minimum:500 name:IMMU_VSP_RELOADS : iMMU VSP reloads | ||
79 | +event:0x40 counters:0,1,2,3 um:zero minimum:500 name:DMMU_TLB4K_RELOADS : dMMU TLB4K reloads | ||
80 | +event:0x41 counters:0,1,2,3 um:zero minimum:500 name:DMMU_VSP_RELOADS : dMMU VSP reloads | ||
81 | +event:0x42 counters:0,1,2,3 um:zero minimum:500 name:L2MMU_MISSES : Counts iTLB/dTLB error interrupt | ||
82 | +event:0x43 counters:0,1,2,3 um:zero minimum:500 name:BIU_MASTER_REQUESTS : Number of master transactions. (Number of master TSs.) | ||
83 | +event:0x44 counters:0,1,2,3 um:zero minimum:500 name:BIU_MASTER_I_REQUESTS : Number of master I-Side transactions. (Number of master I-Side TSs.) | ||
84 | +event:0x45 counters:0,1,2,3 um:zero minimum:500 name:BIU_MASTER_D_REQUESTS : Number of master D-Side transactions. (Number of master D-Side TSs.) | ||
85 | +event:0x46 counters:0,1,2,3 um:zero minimum:500 name:BIU_MASTER_D_CASTOUT_REQUESTS : Number of master D-Side non-program-demand castout transactions. This counts replacement pushes and snoop pushes. This does not count DCBF castouts. (Number of master D-side non-program-demand castout TSs.) | ||
86 | +event:0x47 counters:0,1,2,3 um:zero minimum:500 name:BIU_MASTER_RETRIES : Number of transactions which were initiated by this processor which were retried on the BIU interface. (Number of master ARTRYs.) | ||
87 | +event:0x48 counters:0,1,2,3 um:zero minimum:500 name:SNOOP_REQUESTS : Number of externally generated snoop requests. (Counts snoop TSs.) | ||
88 | +event:0x49 counters:0,1,2,3 um:zero minimum:500 name:SNOOP_HITS : Number of snoop hits on all D-side resources regardless of the cache state (modified, exclusive, or shared) | ||
89 | +event:0x4a counters:0,1,2,3 um:zero minimum:500 name:SNOOP_PUSHES : Number of snoop pushes from all D-side resources. (Counts snoop ARTRY/WOPs.) | ||
90 | +event:0x4b counters:0,1,2,3 um:zero minimum:500 name:SNOOP_RETRIES : Number of snoop requests retried. (Counts snoop ARTRYs.) | ||
91 | +event:0x52 counters:0,1,2,3 um:zero minimum:500 name:PMC0_OVERFLOW : Counts the number of times PMC0[32] transitioned from 1 to 0. | ||
92 | +event:0x53 counters:0,1,2,3 um:zero minimum:500 name:PMC1_OVERFLOW : Counts the number of times PMC1[32] transitioned from 1 to 0. | ||
93 | +event:0x54 counters:0,1,2,3 um:zero minimum:500 name:PMC2_OVERFLOW : Counts the number of times PMC2[32] transitioned from 1 to 0. | ||
94 | +event:0x55 counters:0,1,2,3 um:zero minimum:500 name:PMC3_OVERFLOW : Counts the number of times PMC3[32] transitioned from 1 to 0. | ||
95 | +event:0x56 counters:0,1,2,3 um:zero minimum:500 name:INTERRUPTS : Number of interrupts taken | ||
96 | +event:0x57 counters:0,1,2,3 um:zero minimum:500 name:EXTERNAL_INTERRUPTS : Number of external input interrupts taken | ||
97 | +event:0x58 counters:0,1,2,3 um:zero minimum:500 name:CRITICAL_INTERRUPTS : Number of critical input interrupts taken | ||
98 | +event:0x59 counters:0,1,2,3 um:zero minimum:500 name:SC_TRAP_INTERRUPTS : Number of system call and trap interrupts | ||
99 | diff -uNr a/events/ppc/e500mc/unit_masks b/events/ppc/e500mc/unit_masks | ||
100 | --- a/events/ppc/e500mc/unit_masks 1970-01-01 01:00:00.000000000 +0100 | ||
101 | +++ b/events/ppc/e500mc/unit_masks 2013-02-07 07:03:57.994063551 +0100 | ||
102 | @@ -0,0 +1,4 @@ | ||
103 | +# e500 possible unit masks | ||
104 | +# | ||
105 | +name:zero type:mandatory default:0x0 | ||
106 | + 0x0 No unit mask | ||
107 | diff -uNr a/libop/op_cpu_type.c b/libop/op_cpu_type.c | ||
108 | --- a/libop/op_cpu_type.c 2012-08-27 20:59:14.000000000 +0200 | ||
109 | +++ b/libop/op_cpu_type.c 2013-02-07 07:03:57.994063551 +0100 | ||
110 | @@ -66,6 +66,7 @@ | ||
111 | { "NEC VR5500", "mips/vr5500", CPU_MIPS_VR5500, 2 }, | ||
112 | { "e500", "ppc/e500", CPU_PPC_E500, 4 }, | ||
113 | { "e500v2", "ppc/e500v2", CPU_PPC_E500_2, 4 }, | ||
114 | + { "e500mc", "ppc/e500mc", CPU_PPC_E500MC, 4 }, | ||
115 | { "Core Solo / Duo", "i386/core", CPU_CORE, 2 }, | ||
116 | { "PowerPC G4", "ppc/7450", CPU_PPC_7450, 6 }, | ||
117 | { "Core 2", "i386/core_2", CPU_CORE_2, 2 }, | ||
118 | diff -uNr a/libop/op_cpu_type.c.orig b/libop/op_cpu_type.c.orig | ||
119 | --- a/libop/op_cpu_type.c.orig 1970-01-01 01:00:00.000000000 +0100 | ||
120 | +++ b/libop/op_cpu_type.c.orig 2013-02-07 07:01:39.408100801 +0100 | ||
121 | @@ -0,0 +1,621 @@ | ||
122 | +/** | ||
123 | + * @file op_cpu_type.c | ||
124 | + * CPU type determination | ||
125 | + * | ||
126 | + * @remark Copyright 2002 OProfile authors | ||
127 | + * @remark Read the file COPYING | ||
128 | + * | ||
129 | + * @author John Levon | ||
130 | + * @author Philippe Elie | ||
131 | + */ | ||
132 | + | ||
133 | +#include <stdio.h> | ||
134 | +#include <stdlib.h> | ||
135 | +#include <string.h> | ||
136 | +#include <sys/utsname.h> | ||
137 | +#include <ctype.h> | ||
138 | +#include <errno.h> | ||
139 | +#include <fnmatch.h> | ||
140 | + | ||
141 | +#include "op_cpu_type.h" | ||
142 | +#include "op_hw_specific.h" | ||
143 | + | ||
144 | +struct cpu_descr { | ||
145 | + char const * pretty; | ||
146 | + char const * name; | ||
147 | + op_cpu cpu; | ||
148 | + unsigned int nr_counters; | ||
149 | +}; | ||
150 | + | ||
151 | +static struct cpu_descr const cpu_descrs[MAX_CPU_TYPE] = { | ||
152 | + { "Pentium Pro", "i386/ppro", CPU_PPRO, 2 }, | ||
153 | + { "PII", "i386/pii", CPU_PII, 2 }, | ||
154 | + { "PIII", "i386/piii", CPU_PIII, 2 }, | ||
155 | + { "Athlon", "i386/athlon", CPU_ATHLON, 4 }, | ||
156 | + { "CPU with timer interrupt", "timer", CPU_TIMER_INT, 1 }, | ||
157 | + { "CPU with RTC device", "rtc", CPU_RTC, 1 }, | ||
158 | + { "P4 / Xeon", "i386/p4", CPU_P4, 8 }, | ||
159 | + { "IA64", "ia64/ia64", CPU_IA64, 4 }, | ||
160 | + { "Itanium", "ia64/itanium", CPU_IA64_1, 4 }, | ||
161 | + { "Itanium 2", "ia64/itanium2", CPU_IA64_2, 4 }, | ||
162 | + { "AMD64 processors", "x86-64/hammer", CPU_HAMMER, 4 }, | ||
163 | + { "P4 / Xeon with 2 hyper-threads", "i386/p4-ht", CPU_P4_HT2, 4 }, | ||
164 | + { "Alpha EV4", "alpha/ev4", CPU_AXP_EV4, 2 }, | ||
165 | + { "Alpha EV5", "alpha/ev5", CPU_AXP_EV5, 3 }, | ||
166 | + { "Alpha PCA56", "alpha/pca56", CPU_AXP_PCA56, 3 }, | ||
167 | + { "Alpha EV6", "alpha/ev6", CPU_AXP_EV6, 2 }, | ||
168 | + { "Alpha EV67", "alpha/ev67", CPU_AXP_EV67, 20 }, | ||
169 | + { "Pentium M (P6 core)", "i386/p6_mobile", CPU_P6_MOBILE, 2 }, | ||
170 | + { "ARM/XScale PMU1", "arm/xscale1", CPU_ARM_XSCALE1, 3 }, | ||
171 | + { "ARM/XScale PMU2", "arm/xscale2", CPU_ARM_XSCALE2, 5 }, | ||
172 | + { "ppc64 POWER4", "ppc64/power4", CPU_PPC64_POWER4, 8 }, | ||
173 | + { "ppc64 POWER5", "ppc64/power5", CPU_PPC64_POWER5, 6 }, | ||
174 | + { "ppc64 POWER5+", "ppc64/power5+", CPU_PPC64_POWER5p, 6 }, | ||
175 | + { "ppc64 970", "ppc64/970", CPU_PPC64_970, 8 }, | ||
176 | + { "MIPS 20K", "mips/20K", CPU_MIPS_20K, 1}, | ||
177 | + { "MIPS 24K", "mips/24K", CPU_MIPS_24K, 2}, | ||
178 | + { "MIPS 25K", "mips/25K", CPU_MIPS_25K, 2}, | ||
179 | + { "MIPS 34K", "mips/34K", CPU_MIPS_34K, 2}, | ||
180 | + { "MIPS 5K", "mips/5K", CPU_MIPS_5K, 2}, | ||
181 | + { "MIPS R10000", "mips/r10000", CPU_MIPS_R10000, 2 }, | ||
182 | + { "MIPS R12000", "mips/r12000", CPU_MIPS_R12000, 4 }, | ||
183 | + { "QED RM7000", "mips/rm7000", CPU_MIPS_RM7000, 1 }, | ||
184 | + { "PMC-Sierra RM9000", "mips/rm9000", CPU_MIPS_RM9000, 2 }, | ||
185 | + { "Sibyte SB1", "mips/sb1", CPU_MIPS_SB1, 4 }, | ||
186 | + { "NEC VR5432", "mips/vr5432", CPU_MIPS_VR5432, 2 }, | ||
187 | + { "NEC VR5500", "mips/vr5500", CPU_MIPS_VR5500, 2 }, | ||
188 | + { "e500", "ppc/e500", CPU_PPC_E500, 4 }, | ||
189 | + { "e500v2", "ppc/e500v2", CPU_PPC_E500_2, 4 }, | ||
190 | + { "Core Solo / Duo", "i386/core", CPU_CORE, 2 }, | ||
191 | + { "PowerPC G4", "ppc/7450", CPU_PPC_7450, 6 }, | ||
192 | + { "Core 2", "i386/core_2", CPU_CORE_2, 2 }, | ||
193 | + { "ppc64 POWER6", "ppc64/power6", CPU_PPC64_POWER6, 4 }, | ||
194 | + { "ppc64 970MP", "ppc64/970MP", CPU_PPC64_970MP, 8 }, | ||
195 | + { "ppc64 Cell Broadband Engine", "ppc64/cell-be", CPU_PPC64_CELL, 8 }, | ||
196 | + { "AMD64 family10", "x86-64/family10", CPU_FAMILY10, 4 }, | ||
197 | + { "ppc64 PA6T", "ppc64/pa6t", CPU_PPC64_PA6T, 6 }, | ||
198 | + { "ARM 11MPCore", "arm/mpcore", CPU_ARM_MPCORE, 2 }, | ||
199 | + { "ARM V6 PMU", "arm/armv6", CPU_ARM_V6, 3 }, | ||
200 | + { "ppc64 POWER5++", "ppc64/power5++", CPU_PPC64_POWER5pp, 6 }, | ||
201 | + { "e300", "ppc/e300", CPU_PPC_E300, 4 }, | ||
202 | + { "AVR32", "avr32", CPU_AVR32, 3 }, | ||
203 | + { "ARM Cortex-A8", "arm/armv7", CPU_ARM_V7, 5 }, | ||
204 | + { "Intel Architectural Perfmon", "i386/arch_perfmon", CPU_ARCH_PERFMON, 0}, | ||
205 | + { "AMD64 family11h", "x86-64/family11h", CPU_FAMILY11H, 4 }, | ||
206 | + { "ppc64 POWER7", "ppc64/power7", CPU_PPC64_POWER7, 6 }, | ||
207 | + { "ppc64 compat version 1", "ppc64/ibm-compat-v1", CPU_PPC64_IBM_COMPAT_V1, 4 }, | ||
208 | + { "Intel Core/i7", "i386/core_i7", CPU_CORE_I7, 4 }, | ||
209 | + { "Intel Atom", "i386/atom", CPU_ATOM, 2 }, | ||
210 | + { "Loongson2", "mips/loongson2", CPU_MIPS_LOONGSON2, 2 }, | ||
211 | + { "Intel Nehalem microarchitecture", "i386/nehalem", CPU_NEHALEM, 4 }, | ||
212 | + { "ARM Cortex-A9", "arm/armv7-ca9", CPU_ARM_V7_CA9, 7 }, | ||
213 | + { "MIPS 74K", "mips/74K", CPU_MIPS_74K, 4}, | ||
214 | + { "MIPS 1004K", "mips/1004K", CPU_MIPS_1004K, 2}, | ||
215 | + { "AMD64 family12h", "x86-64/family12h", CPU_FAMILY12H, 4 }, | ||
216 | + { "AMD64 family14h", "x86-64/family14h", CPU_FAMILY14H, 4 }, | ||
217 | + { "AMD64 family15h", "x86-64/family15h", CPU_FAMILY15H, 6 }, | ||
218 | + { "Intel Westmere microarchitecture", "i386/westmere", CPU_WESTMERE, 4 }, | ||
219 | + { "ARMv7 Scorpion", "arm/armv7-scorpion", CPU_ARM_SCORPION, 5 }, | ||
220 | + { "ARMv7 ScorpionMP", "arm/armv7-scorpionmp", CPU_ARM_SCORPIONMP, 5 }, | ||
221 | + { "Intel Sandy Bridge microarchitecture", "i386/sandybridge", CPU_SANDYBRIDGE, 8 }, | ||
222 | + { "TILE64", "tile/tile64", CPU_TILE_TILE64, 2 }, | ||
223 | + { "TILEPro", "tile/tilepro", CPU_TILE_TILEPRO, 4 }, | ||
224 | + { "TILE-GX", "tile/tilegx", CPU_TILE_TILEGX, 4 }, | ||
225 | + { "IBM System z10", "s390/z10", CPU_S390_Z10, 1 }, | ||
226 | + { "IBM zEnterprise z196", "s390/z196", CPU_S390_Z196, 1 }, | ||
227 | + { "Intel Ivy Bridge microarchitecture", "i386/ivybridge", CPU_IVYBRIDGE, 8 }, | ||
228 | + { "ARM Cortex-A5", "arm/armv7-ca5", CPU_ARM_V7_CA5, 3 }, | ||
229 | + { "ARM Cortex-A7", "arm/armv7-ca7", CPU_ARM_V7_CA7, 5 }, | ||
230 | + { "ARM Cortex-A15", "arm/armv7-ca15", CPU_ARM_V7_CA15, 7 }, | ||
231 | +}; | ||
232 | + | ||
233 | +static size_t const nr_cpu_descrs = sizeof(cpu_descrs) / sizeof(struct cpu_descr); | ||
234 | + | ||
235 | +static char * _get_cpuinfo_cpu_type_line(char * buf, int len, const char * prefix, int token) | ||
236 | +{ | ||
237 | + char * ret = NULL; | ||
238 | + char * end = NULL; | ||
239 | + int prefix_len = strlen(prefix); | ||
240 | + FILE * fp = fopen("/proc/cpuinfo", "r"); | ||
241 | + | ||
242 | + if (!fp) { | ||
243 | + perror("Unable to open /proc/cpuinfo\n"); | ||
244 | + return ret; | ||
245 | + } | ||
246 | + | ||
247 | + memset(buf, 0, len); | ||
248 | + | ||
249 | + while (!ret) { | ||
250 | + if (fgets(buf, len, fp) == NULL) { | ||
251 | + fprintf(stderr, "Did not find processor type in /proc/cpuinfo.\n"); | ||
252 | + break; | ||
253 | + } | ||
254 | + if (!strncmp(buf, prefix, prefix_len)) { | ||
255 | + ret = buf + prefix_len; | ||
256 | + /* Strip leading whitespace and ':' delimiter */ | ||
257 | + while (*ret && (*ret == ':' || isspace(*ret))) | ||
258 | + ++ret; | ||
259 | + buf = ret; | ||
260 | + /* if token param 0 then read the whole line else | ||
261 | + * first token only. */ | ||
262 | + if (token == 0) { | ||
263 | + /* Trim trailing whitespace */ | ||
264 | + end = buf + strlen(buf) - 1; | ||
265 | + while (isspace(*end)) | ||
266 | + --end; | ||
267 | + *(++end) = '\0'; | ||
268 | + break; | ||
269 | + } else { | ||
270 | + /* Scan ahead to the end of the token */ | ||
271 | + while (*buf && !isspace(*buf)) | ||
272 | + ++buf; | ||
273 | + /* Trim trailing whitespace */ | ||
274 | + *buf = '\0'; | ||
275 | + break; | ||
276 | + } | ||
277 | + } | ||
278 | + } | ||
279 | + | ||
280 | + fclose(fp); | ||
281 | + return ret; | ||
282 | +} | ||
283 | + | ||
284 | +static char * _get_cpuinfo_cpu_type(char * buf, int len, const char * prefix) | ||
285 | +{ | ||
286 | + return _get_cpuinfo_cpu_type_line(buf, len, prefix, 1); | ||
287 | +} | ||
288 | + | ||
289 | +static op_cpu _get_ppc64_cpu_type(void) | ||
290 | +{ | ||
291 | + int i; | ||
292 | + size_t len; | ||
293 | + char line[100], cpu_type_str[64], cpu_name_lowercase[64], * cpu_name; | ||
294 | + | ||
295 | + cpu_name = _get_cpuinfo_cpu_type(line, 100, "cpu"); | ||
296 | + if (!cpu_name) | ||
297 | + return CPU_NO_GOOD; | ||
298 | + | ||
299 | + len = strlen(cpu_name); | ||
300 | + for (i = 0; i < (int)len ; i++) | ||
301 | + cpu_name_lowercase[i] = tolower(cpu_name[i]); | ||
302 | + | ||
303 | + cpu_type_str[0] = '\0'; | ||
304 | + strcat(cpu_type_str, "ppc64/"); | ||
305 | + strncat(cpu_type_str, cpu_name_lowercase, len); | ||
306 | + return op_get_cpu_number(cpu_type_str); | ||
307 | +} | ||
308 | + | ||
309 | +static op_cpu _get_arm_cpu_type(void) | ||
310 | +{ | ||
311 | + unsigned long cpuid, vendorid; | ||
312 | + char line[100]; | ||
313 | + char * cpu_part, * cpu_implementer; | ||
314 | + | ||
315 | + cpu_implementer = _get_cpuinfo_cpu_type(line, 100, "CPU implementer"); | ||
316 | + if (!cpu_implementer) | ||
317 | + return CPU_NO_GOOD; | ||
318 | + | ||
319 | + errno = 0; | ||
320 | + vendorid = strtoul(cpu_implementer, NULL, 16); | ||
321 | + if (errno) { | ||
322 | + fprintf(stderr, "Unable to parse CPU implementer %s\n", cpu_implementer); | ||
323 | + return CPU_NO_GOOD; | ||
324 | + } | ||
325 | + | ||
326 | + cpu_part = _get_cpuinfo_cpu_type(line, 100, "CPU part"); | ||
327 | + if (!cpu_part) | ||
328 | + return CPU_NO_GOOD; | ||
329 | + | ||
330 | + errno = 0; | ||
331 | + cpuid = strtoul(cpu_part, NULL, 16); | ||
332 | + if (errno) { | ||
333 | + fprintf(stderr, "Unable to parse CPU part %s\n", cpu_part); | ||
334 | + return CPU_NO_GOOD; | ||
335 | + } | ||
336 | + | ||
337 | + if (vendorid == 0x41) { /* ARM Ltd. */ | ||
338 | + switch (cpuid) { | ||
339 | + case 0xb36: | ||
340 | + case 0xb56: | ||
341 | + case 0xb76: | ||
342 | + return op_get_cpu_number("arm/armv6"); | ||
343 | + case 0xb02: | ||
344 | + return op_get_cpu_number("arm/mpcore"); | ||
345 | + case 0xc05: | ||
346 | + return op_get_cpu_number("arm/armv7-ca5"); | ||
347 | + case 0xc07: | ||
348 | + return op_get_cpu_number("arm/armv7-ca7"); | ||
349 | + case 0xc08: | ||
350 | + return op_get_cpu_number("arm/armv7"); | ||
351 | + case 0xc09: | ||
352 | + return op_get_cpu_number("arm/armv7-ca9"); | ||
353 | + case 0xc0f: | ||
354 | + return op_get_cpu_number("arm/armv7-ca15"); | ||
355 | + } | ||
356 | + } else if (vendorid == 0x69) { /* Intel xscale */ | ||
357 | + switch (cpuid >> 9) { | ||
358 | + case 1: | ||
359 | + return op_get_cpu_number("arm/xscale1"); | ||
360 | + case 2: | ||
361 | + return op_get_cpu_number("arm/xscale2"); | ||
362 | + } | ||
363 | + } | ||
364 | + | ||
365 | + return CPU_NO_GOOD; | ||
366 | +} | ||
367 | + | ||
368 | +static op_cpu _get_tile_cpu_type(void) | ||
369 | +{ | ||
370 | + int i; | ||
371 | + size_t len; | ||
372 | + char line[100], cpu_type_str[64], cpu_name_lowercase[64], * cpu_name; | ||
373 | + | ||
374 | + cpu_name = _get_cpuinfo_cpu_type(line, 100, "model name"); | ||
375 | + if (!cpu_name) | ||
376 | + return CPU_NO_GOOD; | ||
377 | + | ||
378 | + len = strlen(cpu_name); | ||
379 | + for (i = 0; i < (int)len ; i++) | ||
380 | + cpu_name_lowercase[i] = tolower(cpu_name[i]); | ||
381 | + | ||
382 | + cpu_type_str[0] = '\0'; | ||
383 | + strcat(cpu_type_str, "tile/"); | ||
384 | + strncat(cpu_type_str, cpu_name_lowercase, len); | ||
385 | + return op_get_cpu_number(cpu_type_str); | ||
386 | +} | ||
387 | + | ||
388 | +#if defined(__x86_64__) || defined(__i386__) | ||
389 | +int op_is_cpu_vendor(char * vendor) | ||
390 | +{ | ||
391 | + return cpuid_vendor(vendor); | ||
392 | +} | ||
393 | + | ||
394 | +static unsigned cpuid_eax(unsigned func) | ||
395 | +{ | ||
396 | + cpuid_data d; | ||
397 | + | ||
398 | + cpuid(func, &d); | ||
399 | + return d.eax; | ||
400 | +} | ||
401 | + | ||
402 | +static inline int perfmon_available(void) | ||
403 | +{ | ||
404 | + unsigned eax; | ||
405 | + if (cpuid_eax(0) < 10) | ||
406 | + return 0; | ||
407 | + eax = cpuid_eax(10); | ||
408 | + if ((eax & 0xff) == 0) | ||
409 | + return 0; | ||
410 | + return (eax >> 8) & 0xff; | ||
411 | +} | ||
412 | + | ||
413 | +static int cpu_info_number(char *name, unsigned long *number) | ||
414 | +{ | ||
415 | + char buf[100]; | ||
416 | + char *end; | ||
417 | + | ||
418 | + if (!_get_cpuinfo_cpu_type(buf, sizeof buf, name)) | ||
419 | + return 0; | ||
420 | + *number = strtoul(buf, &end, 0); | ||
421 | + return end > buf; | ||
422 | +} | ||
423 | + | ||
424 | +static op_cpu _get_intel_cpu_type(void) | ||
425 | +{ | ||
426 | + unsigned eax, family, model; | ||
427 | + | ||
428 | + if (perfmon_available()) | ||
429 | + return op_cpu_specific_type(CPU_ARCH_PERFMON); | ||
430 | + | ||
431 | + /* Handle old non arch perfmon CPUs */ | ||
432 | + eax = cpuid_signature(); | ||
433 | + family = cpu_family(eax); | ||
434 | + model = cpu_model(eax); | ||
435 | + | ||
436 | + if (family == 6) { | ||
437 | + /* Reproduce kernel p6_init logic. Only for non arch perfmon cpus */ | ||
438 | + switch (model) { | ||
439 | + case 0 ... 2: | ||
440 | + return op_get_cpu_number("i386/ppro"); | ||
441 | + case 3 ... 5: | ||
442 | + return op_get_cpu_number("i386/pii"); | ||
443 | + case 6 ... 8: | ||
444 | + case 10 ... 11: | ||
445 | + return op_get_cpu_number("i386/piii"); | ||
446 | + case 9: | ||
447 | + case 13: | ||
448 | + return op_get_cpu_number("i386/p6_mobile"); | ||
449 | + } | ||
450 | + } else if (family == 15) { | ||
451 | + unsigned long siblings; | ||
452 | + | ||
453 | + /* Reproduce kernel p4_init() logic */ | ||
454 | + if (model > 6 || model == 5) | ||
455 | + return CPU_NO_GOOD; | ||
456 | + if (!cpu_info_number("siblings", &siblings) || | ||
457 | + siblings == 1) | ||
458 | + return op_get_cpu_number("i386/p4"); | ||
459 | + if (siblings == 2) | ||
460 | + return op_get_cpu_number("i386/p4-ht"); | ||
461 | + } | ||
462 | + return CPU_NO_GOOD; | ||
463 | +} | ||
464 | + | ||
465 | +static op_cpu _get_amd_cpu_type(void) | ||
466 | +{ | ||
467 | + unsigned eax, family, model; | ||
468 | + op_cpu ret = CPU_NO_GOOD; | ||
469 | + | ||
470 | + eax = cpuid_signature(); | ||
471 | + family = cpu_family(eax); | ||
472 | + model = cpu_model(eax); | ||
473 | + | ||
474 | + switch (family) { | ||
475 | + case 0x0f: | ||
476 | + ret = op_get_cpu_number("x86-64/hammer"); | ||
477 | + break; | ||
478 | + case 0x10: | ||
479 | + ret = op_get_cpu_number("x86-64/family10"); | ||
480 | + break; | ||
481 | + case 0x11: | ||
482 | + ret = op_get_cpu_number("x86-64/family11h"); | ||
483 | + break; | ||
484 | + case 0x12: | ||
485 | + ret = op_get_cpu_number("x86-64/family12h"); | ||
486 | + break; | ||
487 | + case 0x14: | ||
488 | + ret = op_get_cpu_number("x86-64/family14h"); | ||
489 | + break; | ||
490 | + case 0x15: | ||
491 | + switch (model) { | ||
492 | + case 0x00 ... 0x0f: | ||
493 | + ret = op_get_cpu_number("x86-64/family15h"); | ||
494 | + break; | ||
495 | + default: | ||
496 | + break; | ||
497 | + } | ||
498 | + break; | ||
499 | + default: | ||
500 | + break; | ||
501 | + } | ||
502 | + | ||
503 | + return ret; | ||
504 | +} | ||
505 | + | ||
506 | +static op_cpu _get_x86_64_cpu_type(void) | ||
507 | +{ | ||
508 | + op_cpu ret = CPU_NO_GOOD; | ||
509 | + | ||
510 | + if (cpuid_vendor("GenuineIntel")) { | ||
511 | + ret = _get_intel_cpu_type(); | ||
512 | + } else if (cpuid_vendor("AuthenticAMD")) { | ||
513 | + ret = _get_amd_cpu_type(); | ||
514 | + } | ||
515 | + | ||
516 | + return ret; | ||
517 | +} | ||
518 | + | ||
519 | +#else | ||
520 | +static op_cpu _get_x86_64_cpu_type(void) | ||
521 | +{ | ||
522 | + return CPU_NO_GOOD; | ||
523 | +} | ||
524 | +#endif | ||
525 | + | ||
526 | +struct mips_cpu_descr | ||
527 | +{ | ||
528 | + const char * key; | ||
529 | + const char * value; | ||
530 | +}; | ||
531 | + | ||
532 | +static struct mips_cpu_descr mips_cpu_descrs[] = { | ||
533 | + { .key = "MIPS 5Kc", .value = "mips/5K" }, /* CPU_5KC */ | ||
534 | + { .key = "MIPS 20Kc", .value = "mips/20K" }, /* CPU_20KC */ | ||
535 | + { .key = "MIPS 24Kc", .value = "mips/24K" }, /* CPU_24K */ | ||
536 | + { .key = "MIPS 25Kc", .value = "mips/25K" }, /* CPU_25KF */ | ||
537 | + { .key = "MIPS 34Kc", .value = "mips/34K" }, /* CPU_34K */ | ||
538 | + { .key = "MIPS 74Kc", .value = "mips/74K" }, /* CPU_74K */ | ||
539 | + { .key = "MIPS M14Kc", .value = "mips/M14Kc" }, /* CPU_M14KC */ | ||
540 | + { .key = "RM9000", .value = "mips/rm9000" }, /* CPU_RM9000 */ | ||
541 | + { .key = "R10000", .value = "mips/r10000" }, /* CPU_R10000 */ | ||
542 | + { .key = "R12000", .value = "mips/r12000" }, /* CPU_R12000 */ | ||
543 | + { .key = "R14000", .value = "mips/r12000" }, /* CPU_R14000 */ | ||
544 | + { .key = "ICT Loongson-2", .value = "mips/loongson2" }, /* CPU_LOONGSON2 */ | ||
545 | + { .key = NULL, .value = NULL } | ||
546 | +}; | ||
547 | + | ||
548 | +static const char * _get_mips_op_name(const char * key) | ||
549 | +{ | ||
550 | + struct mips_cpu_descr * p_it = mips_cpu_descrs; | ||
551 | + size_t len; | ||
552 | + | ||
553 | + | ||
554 | + while (p_it->key != NULL) { | ||
555 | + len = strlen(p_it->key); | ||
556 | + if (0 == strncmp(key, p_it->key, len)) | ||
557 | + return p_it->value; | ||
558 | + ++p_it; | ||
559 | + } | ||
560 | + return NULL; | ||
561 | +} | ||
562 | + | ||
563 | +static op_cpu _get_mips_cpu_type(void) | ||
564 | +{ | ||
565 | + char line[100]; | ||
566 | + char * cpu_model; | ||
567 | + const char * op_name = NULL; | ||
568 | + | ||
569 | + cpu_model = _get_cpuinfo_cpu_type_line(line, 100, "cpu model", 0); | ||
570 | + if (!cpu_model) | ||
571 | + return CPU_NO_GOOD; | ||
572 | + | ||
573 | + op_name = _get_mips_op_name(cpu_model); | ||
574 | + | ||
575 | + if (op_name) | ||
576 | + return op_get_cpu_number(op_name); | ||
577 | + return CPU_NO_GOOD; | ||
578 | +} | ||
579 | + | ||
580 | +static op_cpu __get_cpu_type_alt_method(void) | ||
581 | +{ | ||
582 | + struct utsname uname_info; | ||
583 | + if (uname(&uname_info) < 0) { | ||
584 | + perror("uname failed"); | ||
585 | + return CPU_NO_GOOD; | ||
586 | + } | ||
587 | + if (strncmp(uname_info.machine, "x86_64", 6) == 0 || | ||
588 | + fnmatch("i?86", uname_info.machine, 0) == 0) { | ||
589 | + return _get_x86_64_cpu_type(); | ||
590 | + } | ||
591 | + if (strncmp(uname_info.machine, "ppc64", 5) == 0) { | ||
592 | + return _get_ppc64_cpu_type(); | ||
593 | + } | ||
594 | + if (strncmp(uname_info.machine, "arm", 3) == 0) { | ||
595 | + return _get_arm_cpu_type(); | ||
596 | + } | ||
597 | + if (strncmp(uname_info.machine, "tile", 4) == 0) { | ||
598 | + return _get_tile_cpu_type(); | ||
599 | + } | ||
600 | + if (strncmp(uname_info.machine, "mips", 4) == 0) { | ||
601 | + return _get_mips_cpu_type(); | ||
602 | + } | ||
603 | + return CPU_NO_GOOD; | ||
604 | +} | ||
605 | + | ||
606 | +int op_cpu_variations(op_cpu cpu_type) | ||
607 | +{ | ||
608 | + switch (cpu_type) { | ||
609 | + case CPU_ARCH_PERFMON: | ||
610 | + return 1; | ||
611 | + default: | ||
612 | + return 0; | ||
613 | + } | ||
614 | +} | ||
615 | + | ||
616 | + | ||
617 | +op_cpu op_cpu_base_type(op_cpu cpu_type) | ||
618 | +{ | ||
619 | + /* All the processors that support CPU_ARCH_PERFMON */ | ||
620 | + switch (cpu_type) { | ||
621 | + case CPU_CORE_2: | ||
622 | + case CPU_CORE_I7: | ||
623 | + case CPU_ATOM: | ||
624 | + case CPU_NEHALEM: | ||
625 | + case CPU_WESTMERE: | ||
626 | + case CPU_SANDYBRIDGE: | ||
627 | + case CPU_IVYBRIDGE: | ||
628 | + return CPU_ARCH_PERFMON; | ||
629 | + default: | ||
630 | + /* assume processor in a class by itself */ | ||
631 | + return cpu_type; | ||
632 | + } | ||
633 | +} | ||
634 | + | ||
635 | +op_cpu op_get_cpu_type(void) | ||
636 | +{ | ||
637 | + int cpu_type = CPU_NO_GOOD; | ||
638 | + char str[100]; | ||
639 | + FILE * fp; | ||
640 | + | ||
641 | + fp = fopen("/proc/sys/dev/oprofile/cpu_type", "r"); | ||
642 | + if (!fp) { | ||
643 | + /* Try 2.6's oprofilefs one instead. */ | ||
644 | + fp = fopen("/dev/oprofile/cpu_type", "r"); | ||
645 | + if (!fp) { | ||
646 | + if ((cpu_type = __get_cpu_type_alt_method()) == CPU_NO_GOOD) { | ||
647 | + fprintf(stderr, "Unable to open cpu_type file for reading\n"); | ||
648 | + fprintf(stderr, "Make sure you have done opcontrol --init\n"); | ||
649 | + } | ||
650 | + return cpu_type; | ||
651 | + } | ||
652 | + } | ||
653 | + | ||
654 | + if (!fgets(str, 99, fp)) { | ||
655 | + fprintf(stderr, "Could not read cpu type.\n"); | ||
656 | + fclose(fp); | ||
657 | + return cpu_type; | ||
658 | + } | ||
659 | + | ||
660 | + cpu_type = op_get_cpu_number(str); | ||
661 | + | ||
662 | + if (op_cpu_variations(cpu_type)) | ||
663 | + cpu_type = op_cpu_specific_type(cpu_type); | ||
664 | + | ||
665 | + fclose(fp); | ||
666 | + | ||
667 | + return cpu_type; | ||
668 | +} | ||
669 | + | ||
670 | + | ||
671 | +op_cpu op_get_cpu_number(char const * cpu_string) | ||
672 | +{ | ||
673 | + int cpu_type = CPU_NO_GOOD; | ||
674 | + size_t i; | ||
675 | + | ||
676 | + for (i = 0; i < nr_cpu_descrs; ++i) { | ||
677 | + if (!strcmp(cpu_descrs[i].name, cpu_string)) { | ||
678 | + cpu_type = cpu_descrs[i].cpu; | ||
679 | + break; | ||
680 | + } | ||
681 | + } | ||
682 | + | ||
683 | + /* Attempt to convert into a number */ | ||
684 | + if (cpu_type == CPU_NO_GOOD) | ||
685 | + sscanf(cpu_string, "%d\n", &cpu_type); | ||
686 | + | ||
687 | + if (cpu_type <= CPU_NO_GOOD || cpu_type >= MAX_CPU_TYPE) | ||
688 | + cpu_type = CPU_NO_GOOD; | ||
689 | + | ||
690 | + return cpu_type; | ||
691 | +} | ||
692 | + | ||
693 | + | ||
694 | +char const * op_get_cpu_type_str(op_cpu cpu_type) | ||
695 | +{ | ||
696 | + if (cpu_type <= CPU_NO_GOOD || cpu_type >= MAX_CPU_TYPE) | ||
697 | + return "invalid cpu type"; | ||
698 | + | ||
699 | + return cpu_descrs[cpu_type].pretty; | ||
700 | +} | ||
701 | + | ||
702 | + | ||
703 | +char const * op_get_cpu_name(op_cpu cpu_type) | ||
704 | +{ | ||
705 | + if (cpu_type <= CPU_NO_GOOD || cpu_type >= MAX_CPU_TYPE) | ||
706 | + return "invalid cpu type"; | ||
707 | + | ||
708 | + return cpu_descrs[cpu_type].name; | ||
709 | +} | ||
710 | + | ||
711 | + | ||
712 | +int op_get_nr_counters(op_cpu cpu_type) | ||
713 | +{ | ||
714 | + int cnt; | ||
715 | + | ||
716 | + if (cpu_type <= CPU_NO_GOOD || cpu_type >= MAX_CPU_TYPE) | ||
717 | + return 0; | ||
718 | + | ||
719 | + cnt = arch_num_counters(cpu_type); | ||
720 | + if (cnt >= 0) | ||
721 | + return cnt; | ||
722 | + | ||
723 | + return op_cpu_has_timer_fs() | ||
724 | + ? cpu_descrs[cpu_type].nr_counters + 1 | ||
725 | + : cpu_descrs[cpu_type].nr_counters; | ||
726 | +} | ||
727 | + | ||
728 | +int op_cpu_has_timer_fs(void) | ||
729 | +{ | ||
730 | + static int cached_has_timer_fs_p = -1; | ||
731 | + FILE * fp; | ||
732 | + | ||
733 | + if (cached_has_timer_fs_p != -1) | ||
734 | + return cached_has_timer_fs_p; | ||
735 | + | ||
736 | + fp = fopen("/dev/oprofile/timer", "r"); | ||
737 | + cached_has_timer_fs_p = !!fp; | ||
738 | + if (fp) | ||
739 | + fclose(fp); | ||
740 | + | ||
741 | + return cached_has_timer_fs_p; | ||
742 | +} | ||
743 | diff -uNr a/libop/op_cpu_type.h b/libop/op_cpu_type.h | ||
744 | --- a/libop/op_cpu_type.h 2012-08-27 20:59:14.000000000 +0200 | ||
745 | +++ b/libop/op_cpu_type.h 2013-02-07 07:03:57.994063551 +0100 | ||
746 | @@ -59,6 +59,7 @@ | ||
747 | CPU_MIPS_VR5500, /**< MIPS VR5500, VR5532 and VR7701 */ | ||
748 | CPU_PPC_E500, /**< e500 */ | ||
749 | CPU_PPC_E500_2, /**< e500v2 */ | ||
750 | + CPU_PPC_E500MC, /**< e500mc */ | ||
751 | CPU_CORE, /**< Core Solo / Duo series */ | ||
752 | CPU_PPC_7450, /**< PowerPC G4 */ | ||
753 | CPU_CORE_2, /**< Intel Core 2 */ | ||
754 | diff -uNr a/libop/op_events.c b/libop/op_events.c | ||
755 | --- a/libop/op_events.c 2012-08-27 20:59:14.000000000 +0200 | ||
756 | +++ b/libop/op_events.c 2013-02-07 07:03:57.994063551 +0100 | ||
757 | @@ -1182,6 +1182,7 @@ | ||
758 | |||
759 | case CPU_PPC_E500: | ||
760 | case CPU_PPC_E500_2: | ||
761 | + case CPU_PPC_E500MC: | ||
762 | case CPU_PPC_E300: | ||
763 | descr->name = "CPU_CLK"; | ||
764 | break; | ||
765 | diff -uNr a/libop/op_events.c.orig b/libop/op_events.c.orig | ||
766 | --- a/libop/op_events.c.orig 1970-01-01 01:00:00.000000000 +0100 | ||
767 | +++ b/libop/op_events.c.orig 2013-02-07 07:01:39.408100801 +0100 | ||
768 | @@ -0,0 +1,1327 @@ | ||
769 | +/** | ||
770 | + * @file op_events.c | ||
771 | + * Details of PMC profiling events | ||
772 | + * | ||
773 | + * You can have silliness here. | ||
774 | + * | ||
775 | + * @remark Copyright 2002 OProfile authors | ||
776 | + * @remark Read the file COPYING | ||
777 | + * | ||
778 | + * @author John Levon | ||
779 | + * @author Philippe Elie | ||
780 | + */ | ||
781 | + | ||
782 | +#include "op_events.h" | ||
783 | +#include "op_libiberty.h" | ||
784 | +#include "op_fileio.h" | ||
785 | +#include "op_string.h" | ||
786 | +#include "op_cpufreq.h" | ||
787 | +#include "op_hw_specific.h" | ||
788 | +#include "op_parse_event.h" | ||
789 | + | ||
790 | +#include <string.h> | ||
791 | +#include <stdlib.h> | ||
792 | +#include <stdio.h> | ||
793 | +#include <ctype.h> | ||
794 | + | ||
795 | +static LIST_HEAD(events_list); | ||
796 | +static LIST_HEAD(um_list); | ||
797 | + | ||
798 | +static char const * filename; | ||
799 | +static unsigned int line_nr; | ||
800 | + | ||
801 | +static void delete_event(struct op_event * event); | ||
802 | +static void read_events(char const * file); | ||
803 | +static void read_unit_masks(char const * file); | ||
804 | +static void free_unit_mask(struct op_unit_mask * um); | ||
805 | + | ||
806 | +static char *build_fn(const char *cpu_name, const char *fn) | ||
807 | +{ | ||
808 | + char *s; | ||
809 | + static const char *dir; | ||
810 | + if (dir == NULL) | ||
811 | + dir = getenv("OPROFILE_EVENTS_DIR"); | ||
812 | + if (dir == NULL) | ||
813 | + dir = OP_DATADIR; | ||
814 | + s = xmalloc(strlen(dir) + strlen(cpu_name) + strlen(fn) + 5); | ||
815 | + sprintf(s, "%s/%s/%s", dir, cpu_name, fn); | ||
816 | + return s; | ||
817 | +} | ||
818 | + | ||
819 | +static void parse_error(char const * context) | ||
820 | +{ | ||
821 | + fprintf(stderr, "oprofile: parse error in %s, line %u\n", | ||
822 | + filename, line_nr); | ||
823 | + fprintf(stderr, "%s\n", context); | ||
824 | + exit(EXIT_FAILURE); | ||
825 | +} | ||
826 | + | ||
827 | + | ||
828 | +static int parse_int(char const * str) | ||
829 | +{ | ||
830 | + int value; | ||
831 | + if (sscanf(str, "%d", &value) != 1) | ||
832 | + parse_error("expected decimal value"); | ||
833 | + | ||
834 | + return value; | ||
835 | +} | ||
836 | + | ||
837 | + | ||
838 | +static int parse_hex(char const * str) | ||
839 | +{ | ||
840 | + int value; | ||
841 | + /* 0x/0X to force the use of hexa notation for field intended to | ||
842 | + be in hexadecimal */ | ||
843 | + if (sscanf(str, "0x%x", &value) != 1 && | ||
844 | + sscanf(str, "0X%x", &value) != 1) | ||
845 | + parse_error("expected hexadecimal value"); | ||
846 | + | ||
847 | + return value; | ||
848 | +} | ||
849 | + | ||
850 | + | ||
851 | +static u64 parse_long_hex(char const * str) | ||
852 | +{ | ||
853 | + u64 value; | ||
854 | + if (sscanf(str, "%Lx", &value) != 1) | ||
855 | + parse_error("expected long hexadecimal value"); | ||
856 | + | ||
857 | + fflush(stderr); | ||
858 | + return value; | ||
859 | +} | ||
860 | + | ||
861 | +static void include_um(const char *start, const char *end) | ||
862 | +{ | ||
863 | + char *s; | ||
864 | + char cpu[end - start + 1]; | ||
865 | + int old_line_nr; | ||
866 | + const char *old_filename; | ||
867 | + | ||
868 | + strncpy(cpu, start, end - start); | ||
869 | + cpu[end - start] = 0; | ||
870 | + s = build_fn(cpu, "unit_masks"); | ||
871 | + old_line_nr = line_nr; | ||
872 | + old_filename = filename; | ||
873 | + read_unit_masks(s); | ||
874 | + line_nr = old_line_nr; | ||
875 | + filename = old_filename; | ||
876 | + free(s); | ||
877 | +} | ||
878 | + | ||
879 | +/* extra:cmask=12,inv,edge */ | ||
880 | +unsigned parse_extra(const char *s) | ||
881 | +{ | ||
882 | + unsigned v, w; | ||
883 | + int o; | ||
884 | + | ||
885 | + v = 0; | ||
886 | + while (*s) { | ||
887 | + if (isspace(*s)) | ||
888 | + break; | ||
889 | + if (strisprefix(s, "edge")) { | ||
890 | + v |= EXTRA_EDGE; | ||
891 | + s += 4; | ||
892 | + } else if (strisprefix(s, "inv")) { | ||
893 | + v |= EXTRA_INV; | ||
894 | + s += 3; | ||
895 | + } else if (sscanf(s, "cmask=%x%n", &w, &o) >= 1) { | ||
896 | + v |= (w & EXTRA_CMASK_MASK) << EXTRA_CMASK_SHIFT; | ||
897 | + s += o; | ||
898 | + } else if (strisprefix(s, "any")) { | ||
899 | + v |= EXTRA_ANY; | ||
900 | + s += 3; | ||
901 | + } else { | ||
902 | + parse_error("Illegal extra field modifier"); | ||
903 | + } | ||
904 | + if (*s == ',') | ||
905 | + ++s; | ||
906 | + } | ||
907 | + return v; | ||
908 | +} | ||
909 | + | ||
910 | +/* name:MESI type:bitmask default:0x0f */ | ||
911 | +static void parse_um(struct op_unit_mask * um, char const * line) | ||
912 | +{ | ||
913 | + int seen_name = 0; | ||
914 | + int seen_type = 0; | ||
915 | + int seen_default = 0; | ||
916 | + char const * valueend = line + 1; | ||
917 | + char const * tagend = line + 1; | ||
918 | + char const * start = line; | ||
919 | + | ||
920 | + while (*valueend) { | ||
921 | + valueend = skip_nonws(valueend); | ||
922 | + | ||
923 | + while (*tagend != ':' && *tagend) | ||
924 | + ++tagend; | ||
925 | + | ||
926 | + if (valueend == tagend) | ||
927 | + break; | ||
928 | + | ||
929 | + if (!*tagend) | ||
930 | + parse_error("parse_um() expected :value"); | ||
931 | + | ||
932 | + ++tagend; | ||
933 | + | ||
934 | + if (strisprefix(start, "include")) { | ||
935 | + if (seen_name + seen_type + seen_default > 0) | ||
936 | + parse_error("include must be on its own"); | ||
937 | + free_unit_mask(um); | ||
938 | + include_um(tagend, valueend); | ||
939 | + return; | ||
940 | + } | ||
941 | + | ||
942 | + if (strisprefix(start, "name")) { | ||
943 | + if (seen_name) | ||
944 | + parse_error("duplicate name: tag"); | ||
945 | + seen_name = 1; | ||
946 | + um->name = op_xstrndup(tagend, valueend - tagend); | ||
947 | + } else if (strisprefix(start, "type")) { | ||
948 | + if (seen_type) | ||
949 | + parse_error("duplicate type: tag"); | ||
950 | + seen_type = 1; | ||
951 | + if (strisprefix(tagend, "mandatory")) { | ||
952 | + um->unit_type_mask = utm_mandatory; | ||
953 | + } else if (strisprefix(tagend, "bitmask")) { | ||
954 | + um->unit_type_mask = utm_bitmask; | ||
955 | + } else if (strisprefix(tagend, "exclusive")) { | ||
956 | + um->unit_type_mask = utm_exclusive; | ||
957 | + } else { | ||
958 | + parse_error("invalid unit mask type"); | ||
959 | + } | ||
960 | + } else if (strisprefix(start, "default")) { | ||
961 | + if (seen_default) | ||
962 | + parse_error("duplicate default: tag"); | ||
963 | + seen_default = 1; | ||
964 | + um->default_mask = parse_hex(tagend); | ||
965 | + } else { | ||
966 | + parse_error("invalid unit mask tag"); | ||
967 | + } | ||
968 | + | ||
969 | + valueend = skip_ws(valueend); | ||
970 | + tagend = valueend; | ||
971 | + start = valueend; | ||
972 | + } | ||
973 | + | ||
974 | + if (!um->name) | ||
975 | + parse_error("Missing name for unit mask"); | ||
976 | + if (!seen_type) | ||
977 | + parse_error("Missing type for unit mask"); | ||
978 | +} | ||
979 | + | ||
980 | + | ||
981 | +/* \t0x08 (M)odified cache state */ | ||
982 | +/* \t0x08 extra:inv,cmask=... (M)odified cache state */ | ||
983 | +static void parse_um_entry(struct op_described_um * entry, char const * line) | ||
984 | +{ | ||
985 | + char const * c = line; | ||
986 | + | ||
987 | + c = skip_ws(c); | ||
988 | + entry->value = parse_hex(c); | ||
989 | + c = skip_nonws(c); | ||
990 | + | ||
991 | + c = skip_ws(c); | ||
992 | + if (strisprefix(c, "extra:")) { | ||
993 | + c += 6; | ||
994 | + entry->extra = parse_extra(c); | ||
995 | + c = skip_nonws(c); | ||
996 | + } else | ||
997 | + entry->extra = 0; | ||
998 | + | ||
999 | + if (!*c) | ||
1000 | + parse_error("invalid unit mask entry"); | ||
1001 | + | ||
1002 | + c = skip_ws(c); | ||
1003 | + | ||
1004 | + if (!*c) | ||
1005 | + parse_error("invalid unit mask entry"); | ||
1006 | + | ||
1007 | + entry->desc = xstrdup(c); | ||
1008 | +} | ||
1009 | + | ||
1010 | + | ||
1011 | +static struct op_unit_mask * new_unit_mask(void) | ||
1012 | +{ | ||
1013 | + struct op_unit_mask * um = xmalloc(sizeof(struct op_unit_mask)); | ||
1014 | + memset(um, '\0', sizeof(struct op_unit_mask)); | ||
1015 | + list_add_tail(&um->um_next, &um_list); | ||
1016 | + | ||
1017 | + return um; | ||
1018 | +} | ||
1019 | + | ||
1020 | +static void free_unit_mask(struct op_unit_mask * um) | ||
1021 | +{ | ||
1022 | + list_del(&um->um_next); | ||
1023 | + free(um); | ||
1024 | +} | ||
1025 | + | ||
1026 | +/* | ||
1027 | + * name:zero type:mandatory default:0x0 | ||
1028 | + * \t0x0 No unit mask | ||
1029 | + */ | ||
1030 | +static void read_unit_masks(char const * file) | ||
1031 | +{ | ||
1032 | + struct op_unit_mask * um = NULL; | ||
1033 | + char * line; | ||
1034 | + FILE * fp = fopen(file, "r"); | ||
1035 | + | ||
1036 | + if (!fp) { | ||
1037 | + fprintf(stderr, | ||
1038 | + "oprofile: could not open unit mask description file %s\n", file); | ||
1039 | + exit(EXIT_FAILURE); | ||
1040 | + } | ||
1041 | + | ||
1042 | + filename = file; | ||
1043 | + line_nr = 1; | ||
1044 | + | ||
1045 | + line = op_get_line(fp); | ||
1046 | + | ||
1047 | + while (line) { | ||
1048 | + if (empty_line(line) || comment_line(line)) | ||
1049 | + goto next; | ||
1050 | + | ||
1051 | + if (line[0] != '\t') { | ||
1052 | + um = new_unit_mask(); | ||
1053 | + parse_um(um, line); | ||
1054 | + } else { | ||
1055 | + if (!um) | ||
1056 | + parse_error("no unit mask name line"); | ||
1057 | + if (um->num >= MAX_UNIT_MASK) | ||
1058 | + parse_error("oprofile: maximum unit mask entries exceeded"); | ||
1059 | + | ||
1060 | + parse_um_entry(&um->um[um->num], line); | ||
1061 | + ++(um->num); | ||
1062 | + } | ||
1063 | + | ||
1064 | +next: | ||
1065 | + free(line); | ||
1066 | + line = op_get_line(fp); | ||
1067 | + ++line_nr; | ||
1068 | + } | ||
1069 | + | ||
1070 | + fclose(fp); | ||
1071 | +} | ||
1072 | + | ||
1073 | + | ||
1074 | +static u32 parse_counter_mask(char const * str) | ||
1075 | +{ | ||
1076 | + u32 mask = 0; | ||
1077 | + char const * numstart = str; | ||
1078 | + | ||
1079 | + while (*numstart) { | ||
1080 | + mask |= 1 << parse_int(numstart); | ||
1081 | + | ||
1082 | + while (*numstart && *numstart != ',') | ||
1083 | + ++numstart; | ||
1084 | + /* skip , unless we reach eos */ | ||
1085 | + if (*numstart) | ||
1086 | + ++numstart; | ||
1087 | + | ||
1088 | + numstart = skip_ws(numstart); | ||
1089 | + } | ||
1090 | + | ||
1091 | + return mask; | ||
1092 | +} | ||
1093 | + | ||
1094 | +static struct op_unit_mask * try_find_um(char const * value) | ||
1095 | +{ | ||
1096 | + struct list_head * pos; | ||
1097 | + | ||
1098 | + list_for_each(pos, &um_list) { | ||
1099 | + struct op_unit_mask * um = list_entry(pos, struct op_unit_mask, um_next); | ||
1100 | + if (strcmp(value, um->name) == 0) { | ||
1101 | + um->used = 1; | ||
1102 | + return um; | ||
1103 | + } | ||
1104 | + } | ||
1105 | + return NULL; | ||
1106 | +} | ||
1107 | + | ||
1108 | +static struct op_unit_mask * find_um(char const * value) | ||
1109 | +{ | ||
1110 | + struct op_unit_mask * um = try_find_um(value); | ||
1111 | + if (um) | ||
1112 | + return um; | ||
1113 | + fprintf(stderr, "oprofile: could not find unit mask %s\n", value); | ||
1114 | + exit(EXIT_FAILURE); | ||
1115 | +} | ||
1116 | + | ||
1117 | +/* um:a,b,c,d merge multiple unit masks */ | ||
1118 | +static struct op_unit_mask * merge_um(char * value) | ||
1119 | +{ | ||
1120 | + int num; | ||
1121 | + char *s; | ||
1122 | + struct op_unit_mask *new, *um; | ||
1123 | + enum unit_mask_type type = -1U; | ||
1124 | + | ||
1125 | + um = try_find_um(value); | ||
1126 | + if (um) | ||
1127 | + return um; | ||
1128 | + | ||
1129 | + new = new_unit_mask(); | ||
1130 | + new->name = xstrdup(value); | ||
1131 | + new->used = 1; | ||
1132 | + num = 0; | ||
1133 | + while ((s = strsep(&value, ",")) != NULL) { | ||
1134 | + unsigned c; | ||
1135 | + um = find_um(s); | ||
1136 | + if (type == -1U) | ||
1137 | + type = um->unit_type_mask; | ||
1138 | + if (um->unit_type_mask != type) | ||
1139 | + parse_error("combined unit mask must be all the same types"); | ||
1140 | + if (type != utm_bitmask && type != utm_exclusive) | ||
1141 | + parse_error("combined unit mask must be all bitmasks or exclusive"); | ||
1142 | + new->default_mask |= um->default_mask; | ||
1143 | + new->num += um->num; | ||
1144 | + if (new->num > MAX_UNIT_MASK) | ||
1145 | + parse_error("too many members in combined unit mask"); | ||
1146 | + for (c = 0; c < um->num; c++, num++) { | ||
1147 | + new->um[num] = um->um[c]; | ||
1148 | + new->um[num].desc = xstrdup(new->um[num].desc); | ||
1149 | + } | ||
1150 | + } | ||
1151 | + if (type == -1U) | ||
1152 | + parse_error("Empty unit mask"); | ||
1153 | + new->unit_type_mask = type; | ||
1154 | + return new; | ||
1155 | +} | ||
1156 | + | ||
1157 | +/* parse either a "tag:value" or a ": trailing description string" */ | ||
1158 | +static int next_token(char const ** cp, char ** name, char ** value) | ||
1159 | +{ | ||
1160 | + size_t tag_len; | ||
1161 | + size_t val_len; | ||
1162 | + char const * c = *cp; | ||
1163 | + char const * end; | ||
1164 | + char const * colon; | ||
1165 | + | ||
1166 | + c = skip_ws(c); | ||
1167 | + end = colon = c; | ||
1168 | + end = skip_nonws(end); | ||
1169 | + | ||
1170 | + colon = strchr(colon, ':'); | ||
1171 | + | ||
1172 | + if (!colon) { | ||
1173 | + if (*c) | ||
1174 | + parse_error("next_token(): garbage at end of line"); | ||
1175 | + return 0; | ||
1176 | + } | ||
1177 | + | ||
1178 | + if (colon >= end) | ||
1179 | + parse_error("next_token() expected ':'"); | ||
1180 | + | ||
1181 | + tag_len = colon - c; | ||
1182 | + val_len = end - (colon + 1); | ||
1183 | + | ||
1184 | + if (!tag_len) { | ||
1185 | + /* : trailing description */ | ||
1186 | + end = skip_ws(end); | ||
1187 | + *name = xstrdup("desc"); | ||
1188 | + *value = xstrdup(end); | ||
1189 | + end += strlen(end); | ||
1190 | + } else { | ||
1191 | + /* tag:value */ | ||
1192 | + *name = op_xstrndup(c, tag_len); | ||
1193 | + *value = op_xstrndup(colon + 1, val_len); | ||
1194 | + end = skip_ws(end); | ||
1195 | + } | ||
1196 | + | ||
1197 | + *cp = end; | ||
1198 | + return 1; | ||
1199 | +} | ||
1200 | + | ||
1201 | +static void include_events (char *value) | ||
1202 | +{ | ||
1203 | + char * event_file; | ||
1204 | + const char *old_filename; | ||
1205 | + int old_line_nr; | ||
1206 | + | ||
1207 | + event_file = build_fn(value, "events"); | ||
1208 | + old_line_nr = line_nr; | ||
1209 | + old_filename = filename; | ||
1210 | + read_events(event_file); | ||
1211 | + line_nr = old_line_nr; | ||
1212 | + filename = old_filename; | ||
1213 | + free(event_file); | ||
1214 | +} | ||
1215 | + | ||
1216 | +static struct op_event * new_event(void) | ||
1217 | +{ | ||
1218 | + struct op_event * event = xmalloc(sizeof(struct op_event)); | ||
1219 | + memset(event, '\0', sizeof(struct op_event)); | ||
1220 | + list_add_tail(&event->event_next, &events_list); | ||
1221 | + | ||
1222 | + return event; | ||
1223 | +} | ||
1224 | + | ||
1225 | +static void free_event(struct op_event * event) | ||
1226 | +{ | ||
1227 | + list_del(&event->event_next); | ||
1228 | + free(event); | ||
1229 | +} | ||
1230 | + | ||
1231 | +/* event:0x00 counters:0 um:zero minimum:4096 name:ISSUES : Total issues */ | ||
1232 | +/* event:0x00 ext:xxxxxx um:zero minimum:4096 name:ISSUES : Total issues */ | ||
1233 | +static void read_events(char const * file) | ||
1234 | +{ | ||
1235 | + struct op_event * event = NULL; | ||
1236 | + char * line; | ||
1237 | + char * name; | ||
1238 | + char * value; | ||
1239 | + char const * c; | ||
1240 | + int seen_event, seen_counters, seen_um, seen_minimum, seen_name, seen_ext; | ||
1241 | + FILE * fp = fopen(file, "r"); | ||
1242 | + int tags; | ||
1243 | + | ||
1244 | + if (!fp) { | ||
1245 | + fprintf(stderr, "oprofile: could not open event description file %s\n", file); | ||
1246 | + exit(EXIT_FAILURE); | ||
1247 | + } | ||
1248 | + | ||
1249 | + filename = file; | ||
1250 | + line_nr = 1; | ||
1251 | + | ||
1252 | + line = op_get_line(fp); | ||
1253 | + | ||
1254 | + while (line) { | ||
1255 | + if (empty_line(line) || comment_line(line)) | ||
1256 | + goto next; | ||
1257 | + | ||
1258 | + tags = 0; | ||
1259 | + seen_name = 0; | ||
1260 | + seen_event = 0; | ||
1261 | + seen_counters = 0; | ||
1262 | + seen_ext = 0; | ||
1263 | + seen_um = 0; | ||
1264 | + seen_minimum = 0; | ||
1265 | + event = new_event(); | ||
1266 | + event->filter = -1; | ||
1267 | + event->ext = NULL; | ||
1268 | + | ||
1269 | + c = line; | ||
1270 | + while (next_token(&c, &name, &value)) { | ||
1271 | + if (strcmp(name, "name") == 0) { | ||
1272 | + if (seen_name) | ||
1273 | + parse_error("duplicate name: tag"); | ||
1274 | + seen_name = 1; | ||
1275 | + if (strchr(value, '/') != NULL) | ||
1276 | + parse_error("invalid event name"); | ||
1277 | + if (strchr(value, '.') != NULL) | ||
1278 | + parse_error("invalid event name"); | ||
1279 | + event->name = value; | ||
1280 | + } else if (strcmp(name, "event") == 0) { | ||
1281 | + if (seen_event) | ||
1282 | + parse_error("duplicate event: tag"); | ||
1283 | + seen_event = 1; | ||
1284 | + event->val = parse_hex(value); | ||
1285 | + free(value); | ||
1286 | + } else if (strcmp(name, "counters") == 0) { | ||
1287 | + if (seen_counters) | ||
1288 | + parse_error("duplicate counters: tag"); | ||
1289 | + seen_counters = 1; | ||
1290 | + if (!strcmp(value, "cpuid")) | ||
1291 | + event->counter_mask = arch_get_counter_mask(); | ||
1292 | + else | ||
1293 | + event->counter_mask = parse_counter_mask(value); | ||
1294 | + free(value); | ||
1295 | + } else if (strcmp(name, "ext") == 0) { | ||
1296 | + if (seen_ext) | ||
1297 | + parse_error("duplicate ext: tag"); | ||
1298 | + seen_ext = 1; | ||
1299 | + event->ext = value; | ||
1300 | + } else if (strcmp(name, "um") == 0) { | ||
1301 | + if (seen_um) | ||
1302 | + parse_error("duplicate um: tag"); | ||
1303 | + seen_um = 1; | ||
1304 | + if (strchr(value, ',')) | ||
1305 | + event->unit = merge_um(value); | ||
1306 | + else | ||
1307 | + event->unit = find_um(value); | ||
1308 | + free(value); | ||
1309 | + } else if (strcmp(name, "minimum") == 0) { | ||
1310 | + if (seen_minimum) | ||
1311 | + parse_error("duplicate minimum: tag"); | ||
1312 | + seen_minimum = 1; | ||
1313 | + event->min_count = parse_int(value); | ||
1314 | + free(value); | ||
1315 | + } else if (strcmp(name, "desc") == 0) { | ||
1316 | + event->desc = value; | ||
1317 | + } else if (strcmp(name, "filter") == 0) { | ||
1318 | + event->filter = parse_int(value); | ||
1319 | + free(value); | ||
1320 | + } else if (strcmp(name, "include") == 0) { | ||
1321 | + if (tags > 0) | ||
1322 | + parse_error("tags before include:"); | ||
1323 | + free_event(event); | ||
1324 | + include_events(value); | ||
1325 | + free(value); | ||
1326 | + c = skip_ws(c); | ||
1327 | + if (*c != '\0' && *c != '#') | ||
1328 | + parse_error("non whitespace after include:"); | ||
1329 | + } else { | ||
1330 | + parse_error("unknown tag"); | ||
1331 | + } | ||
1332 | + tags++; | ||
1333 | + | ||
1334 | + free(name); | ||
1335 | + } | ||
1336 | +next: | ||
1337 | + free(line); | ||
1338 | + line = op_get_line(fp); | ||
1339 | + ++line_nr; | ||
1340 | + } | ||
1341 | + | ||
1342 | + fclose(fp); | ||
1343 | +} | ||
1344 | + | ||
1345 | + | ||
1346 | +/* usefull for make check */ | ||
1347 | +static int check_unit_mask(struct op_unit_mask const * um, | ||
1348 | + char const * cpu_name) | ||
1349 | +{ | ||
1350 | + u32 i; | ||
1351 | + int err = 0; | ||
1352 | + | ||
1353 | + if (!um->used) { | ||
1354 | + fprintf(stderr, "um %s is not used\n", um->name); | ||
1355 | + err = EXIT_FAILURE; | ||
1356 | + } | ||
1357 | + | ||
1358 | + if (um->unit_type_mask == utm_mandatory && um->num != 1) { | ||
1359 | + fprintf(stderr, "mandatory um %s doesn't contain exactly one " | ||
1360 | + "entry (%s)\n", um->name, cpu_name); | ||
1361 | + err = EXIT_FAILURE; | ||
1362 | + } else if (um->unit_type_mask == utm_bitmask) { | ||
1363 | + u32 default_mask = um->default_mask; | ||
1364 | + for (i = 0; i < um->num; ++i) | ||
1365 | + default_mask &= ~um->um[i].value; | ||
1366 | + | ||
1367 | + if (default_mask) { | ||
1368 | + fprintf(stderr, "um %s default mask is not valid " | ||
1369 | + "(%s)\n", um->name, cpu_name); | ||
1370 | + err = EXIT_FAILURE; | ||
1371 | + } | ||
1372 | + } else { | ||
1373 | + for (i = 0; i < um->num; ++i) { | ||
1374 | + if (um->default_mask == um->um[i].value) | ||
1375 | + break; | ||
1376 | + } | ||
1377 | + | ||
1378 | + if (i == um->num) { | ||
1379 | + fprintf(stderr, "exclusive um %s default value is not " | ||
1380 | + "valid (%s)\n", um->name, cpu_name); | ||
1381 | + err = EXIT_FAILURE; | ||
1382 | + } | ||
1383 | + } | ||
1384 | + return err; | ||
1385 | +} | ||
1386 | + | ||
1387 | +static void arch_filter_events(op_cpu cpu_type) | ||
1388 | +{ | ||
1389 | + struct list_head * pos, * pos2; | ||
1390 | + unsigned filter = arch_get_filter(cpu_type); | ||
1391 | + if (!filter) | ||
1392 | + return; | ||
1393 | + list_for_each_safe (pos, pos2, &events_list) { | ||
1394 | + struct op_event * event = list_entry(pos, struct op_event, event_next); | ||
1395 | + if (event->filter >= 0 && ((1U << event->filter) & filter)) | ||
1396 | + delete_event(event); | ||
1397 | + } | ||
1398 | +} | ||
1399 | + | ||
1400 | +static void load_events_name(const char *cpu_name) | ||
1401 | +{ | ||
1402 | + char * event_file; | ||
1403 | + char * um_file; | ||
1404 | + | ||
1405 | + event_file = build_fn(cpu_name, "events"); | ||
1406 | + um_file = build_fn(cpu_name, "unit_masks"); | ||
1407 | + | ||
1408 | + read_unit_masks(um_file); | ||
1409 | + read_events(event_file); | ||
1410 | + | ||
1411 | + free(um_file); | ||
1412 | + free(event_file); | ||
1413 | +} | ||
1414 | + | ||
1415 | +static void load_events(op_cpu cpu_type) | ||
1416 | +{ | ||
1417 | + const char * cpu_name = op_get_cpu_name(cpu_type); | ||
1418 | + struct list_head * pos; | ||
1419 | + struct op_event *event; | ||
1420 | + struct op_unit_mask *unit_mask; | ||
1421 | + int err = 0; | ||
1422 | + | ||
1423 | + if (!list_empty(&events_list)) | ||
1424 | + return; | ||
1425 | + | ||
1426 | + load_events_name(cpu_name); | ||
1427 | + | ||
1428 | + arch_filter_events(cpu_type); | ||
1429 | + | ||
1430 | + /* sanity check: all unit mask must be used */ | ||
1431 | + list_for_each(pos, &um_list) { | ||
1432 | + struct op_unit_mask * um = list_entry(pos, struct op_unit_mask, um_next); | ||
1433 | + err |= check_unit_mask(um, cpu_name); | ||
1434 | + } | ||
1435 | + if (err) | ||
1436 | + exit(err); | ||
1437 | + | ||
1438 | + if (!op_cpu_has_timer_fs()) | ||
1439 | + return; | ||
1440 | + | ||
1441 | + /* sanity check: Don't use event `TIMER' since it is predefined. */ | ||
1442 | + list_for_each(pos, &events_list) { | ||
1443 | + struct op_event * event = list_entry(pos, struct op_event, | ||
1444 | + event_next); | ||
1445 | + | ||
1446 | + if (strcmp(event->name, TIMER_EVENT_NAME) == 0) { | ||
1447 | + fprintf(stderr, "Error: " TIMER_EVENT_NAME | ||
1448 | + " event cannot be redefined.\n"); | ||
1449 | + exit(EXIT_FAILURE); | ||
1450 | + } | ||
1451 | + if (event->val == TIMER_EVENT_VALUE) { | ||
1452 | + fprintf(stderr, "Error: Event %s uses " TIMER_EVENT_NAME | ||
1453 | + " which is reserverd for timer based sampling.\n", | ||
1454 | + event->name); | ||
1455 | + exit(EXIT_FAILURE); | ||
1456 | + } | ||
1457 | + } | ||
1458 | + | ||
1459 | + list_for_each(pos, &um_list) { | ||
1460 | + struct op_unit_mask * um = list_entry(pos, struct op_unit_mask, | ||
1461 | + um_next); | ||
1462 | + if (strcmp(um->name, TIMER_EVENT_UNIT_MASK_NAME) == 0) { | ||
1463 | + fprintf(stderr, "Error: " TIMER_EVENT_UNIT_MASK_NAME | ||
1464 | + " unit mask cannot be redefined.\n"); | ||
1465 | + exit(EXIT_FAILURE); | ||
1466 | + } | ||
1467 | + } | ||
1468 | + | ||
1469 | + unit_mask = new_unit_mask(); | ||
1470 | + unit_mask->name = xstrdup(TIMER_EVENT_UNIT_MASK_NAME); | ||
1471 | + unit_mask->num = 1; | ||
1472 | + unit_mask->unit_type_mask = utm_mandatory; | ||
1473 | + unit_mask->um[0].extra = 0; | ||
1474 | + unit_mask->um[0].value = 0; | ||
1475 | + unit_mask->um[0].desc = xstrdup("No unit mask"); | ||
1476 | + unit_mask->used = 1; | ||
1477 | + | ||
1478 | + event = new_event(); | ||
1479 | + event->name = xstrdup(TIMER_EVENT_NAME); | ||
1480 | + event->desc = xstrdup(TIMER_EVENT_DESC); | ||
1481 | + event->val = TIMER_EVENT_VALUE; | ||
1482 | + event->unit = unit_mask; | ||
1483 | + event->min_count = 0; | ||
1484 | + event->filter = 0; | ||
1485 | + event->counter_mask = 1 << (op_get_nr_counters(cpu_type) - 1); | ||
1486 | + event->ext = NULL; | ||
1487 | + event->filter = -1; | ||
1488 | +} | ||
1489 | + | ||
1490 | +struct list_head * op_events(op_cpu cpu_type) | ||
1491 | +{ | ||
1492 | + load_events(cpu_type); | ||
1493 | + arch_filter_events(cpu_type); | ||
1494 | + return &events_list; | ||
1495 | +} | ||
1496 | + | ||
1497 | + | ||
1498 | +static void delete_unit_mask(struct op_unit_mask * unit) | ||
1499 | +{ | ||
1500 | + u32 cur; | ||
1501 | + for (cur = 0 ; cur < unit->num ; ++cur) { | ||
1502 | + if (unit->um[cur].desc) | ||
1503 | + free(unit->um[cur].desc); | ||
1504 | + } | ||
1505 | + | ||
1506 | + if (unit->name) | ||
1507 | + free(unit->name); | ||
1508 | + | ||
1509 | + list_del(&unit->um_next); | ||
1510 | + free(unit); | ||
1511 | +} | ||
1512 | + | ||
1513 | + | ||
1514 | +static void delete_event(struct op_event * event) | ||
1515 | +{ | ||
1516 | + if (event->name) | ||
1517 | + free(event->name); | ||
1518 | + if (event->desc) | ||
1519 | + free(event->desc); | ||
1520 | + | ||
1521 | + list_del(&event->event_next); | ||
1522 | + free(event); | ||
1523 | +} | ||
1524 | + | ||
1525 | + | ||
1526 | +void op_free_events(void) | ||
1527 | +{ | ||
1528 | + struct list_head * pos, * pos2; | ||
1529 | + list_for_each_safe(pos, pos2, &events_list) { | ||
1530 | + struct op_event * event = list_entry(pos, struct op_event, event_next); | ||
1531 | + delete_event(event); | ||
1532 | + } | ||
1533 | + | ||
1534 | + list_for_each_safe(pos, pos2, &um_list) { | ||
1535 | + struct op_unit_mask * unit = list_entry(pos, struct op_unit_mask, um_next); | ||
1536 | + delete_unit_mask(unit); | ||
1537 | + } | ||
1538 | +} | ||
1539 | + | ||
1540 | +/* There can be actually multiple events here, so this is not quite correct */ | ||
1541 | +static struct op_event * find_event_any(u32 nr) | ||
1542 | +{ | ||
1543 | + struct list_head * pos; | ||
1544 | + | ||
1545 | + list_for_each(pos, &events_list) { | ||
1546 | + struct op_event * event = list_entry(pos, struct op_event, event_next); | ||
1547 | + if (event->val == nr) | ||
1548 | + return event; | ||
1549 | + } | ||
1550 | + | ||
1551 | + return NULL; | ||
1552 | +} | ||
1553 | + | ||
1554 | +static struct op_event * find_event_um(u32 nr, u32 um) | ||
1555 | +{ | ||
1556 | + struct list_head * pos; | ||
1557 | + unsigned int i; | ||
1558 | + | ||
1559 | + list_for_each(pos, &events_list) { | ||
1560 | + struct op_event * event = list_entry(pos, struct op_event, event_next); | ||
1561 | + if (event->val == nr) { | ||
1562 | + for (i = 0; i < event->unit->num; i++) { | ||
1563 | + if (event->unit->um[i].value == um) | ||
1564 | + return event; | ||
1565 | + } | ||
1566 | + } | ||
1567 | + } | ||
1568 | + | ||
1569 | + return NULL; | ||
1570 | +} | ||
1571 | + | ||
1572 | +static FILE * open_event_mapping_file(char const * cpu_name) | ||
1573 | +{ | ||
1574 | + char * ev_map_file; | ||
1575 | + char * dir; | ||
1576 | + dir = getenv("OPROFILE_EVENTS_DIR"); | ||
1577 | + if (dir == NULL) | ||
1578 | + dir = OP_DATADIR; | ||
1579 | + | ||
1580 | + ev_map_file = xmalloc(strlen(dir) + strlen("/") + strlen(cpu_name) + | ||
1581 | + strlen("/") + + strlen("event_mappings") + 1); | ||
1582 | + strcpy(ev_map_file, dir); | ||
1583 | + strcat(ev_map_file, "/"); | ||
1584 | + | ||
1585 | + strcat(ev_map_file, cpu_name); | ||
1586 | + strcat(ev_map_file, "/"); | ||
1587 | + strcat(ev_map_file, "event_mappings"); | ||
1588 | + filename = ev_map_file; | ||
1589 | + return (fopen(ev_map_file, "r")); | ||
1590 | +} | ||
1591 | + | ||
1592 | + | ||
1593 | +/** | ||
1594 | + * This function is PPC64-specific. | ||
1595 | + */ | ||
1596 | +static char const * get_mapping(u32 nr, FILE * fp) | ||
1597 | +{ | ||
1598 | + char * line; | ||
1599 | + char * name; | ||
1600 | + char * value; | ||
1601 | + char const * c; | ||
1602 | + char * map = NULL; | ||
1603 | + int seen_event = 0, seen_mmcr0 = 0, seen_mmcr1 = 0, seen_mmcra = 0; | ||
1604 | + u32 mmcr0 = 0; | ||
1605 | + u64 mmcr1 = 0; | ||
1606 | + u32 mmcra = 0; | ||
1607 | + int event_found = 0; | ||
1608 | + | ||
1609 | + line_nr = 1; | ||
1610 | + line = op_get_line(fp); | ||
1611 | + while (line && !event_found) { | ||
1612 | + if (empty_line(line) || comment_line(line)) | ||
1613 | + goto next; | ||
1614 | + | ||
1615 | + seen_event = 0; | ||
1616 | + seen_mmcr0 = 0; | ||
1617 | + seen_mmcr1 = 0; | ||
1618 | + seen_mmcra = 0; | ||
1619 | + mmcr0 = 0; | ||
1620 | + mmcr1 = 0; | ||
1621 | + mmcra = 0; | ||
1622 | + | ||
1623 | + c = line; | ||
1624 | + while (next_token(&c, &name, &value)) { | ||
1625 | + if (strcmp(name, "event") == 0) { | ||
1626 | + u32 evt; | ||
1627 | + if (seen_event) | ||
1628 | + parse_error("duplicate event tag"); | ||
1629 | + seen_event = 1; | ||
1630 | + evt = parse_hex(value); | ||
1631 | + if (evt == nr) | ||
1632 | + event_found = 1; | ||
1633 | + free(value); | ||
1634 | + } else if (strcmp(name, "mmcr0") == 0) { | ||
1635 | + if (seen_mmcr0) | ||
1636 | + parse_error("duplicate mmcr0 tag"); | ||
1637 | + seen_mmcr0 = 1; | ||
1638 | + mmcr0 = parse_hex(value); | ||
1639 | + free(value); | ||
1640 | + } else if (strcmp(name, "mmcr1") == 0) { | ||
1641 | + if (seen_mmcr1) | ||
1642 | + parse_error("duplicate mmcr1: tag"); | ||
1643 | + seen_mmcr1 = 1; | ||
1644 | + mmcr1 = parse_long_hex(value); | ||
1645 | + free(value); | ||
1646 | + } else if (strcmp(name, "mmcra") == 0) { | ||
1647 | + if (seen_mmcra) | ||
1648 | + parse_error("duplicate mmcra: tag"); | ||
1649 | + seen_mmcra = 1; | ||
1650 | + mmcra = parse_hex(value); | ||
1651 | + free(value); | ||
1652 | + } else { | ||
1653 | + parse_error("unknown tag"); | ||
1654 | + } | ||
1655 | + | ||
1656 | + free(name); | ||
1657 | + } | ||
1658 | +next: | ||
1659 | + free(line); | ||
1660 | + line = op_get_line(fp); | ||
1661 | + ++line_nr; | ||
1662 | + } | ||
1663 | + if (event_found) { | ||
1664 | + if (!seen_mmcr0 || !seen_mmcr1 || !seen_mmcra) { | ||
1665 | + fprintf(stderr, "Error: Missing information in line %d of event mapping file %s\n", line_nr, filename); | ||
1666 | + exit(EXIT_FAILURE); | ||
1667 | + } | ||
1668 | + map = xmalloc(70); | ||
1669 | + snprintf(map, 70, "mmcr0:%u mmcr1:%Lu mmcra:%u", | ||
1670 | + mmcr0, mmcr1, mmcra); | ||
1671 | + } | ||
1672 | + | ||
1673 | + return map; | ||
1674 | +} | ||
1675 | + | ||
1676 | + | ||
1677 | +char const * find_mapping_for_event(u32 nr, op_cpu cpu_type) | ||
1678 | +{ | ||
1679 | + char const * cpu_name = op_get_cpu_name(cpu_type); | ||
1680 | + FILE * fp = open_event_mapping_file(cpu_name); | ||
1681 | + char const * map = NULL; | ||
1682 | + switch (cpu_type) { | ||
1683 | + case CPU_PPC64_PA6T: | ||
1684 | + case CPU_PPC64_970: | ||
1685 | + case CPU_PPC64_970MP: | ||
1686 | + case CPU_PPC64_POWER4: | ||
1687 | + case CPU_PPC64_POWER5: | ||
1688 | + case CPU_PPC64_POWER5p: | ||
1689 | + case CPU_PPC64_POWER5pp: | ||
1690 | + case CPU_PPC64_POWER6: | ||
1691 | + case CPU_PPC64_POWER7: | ||
1692 | + case CPU_PPC64_IBM_COMPAT_V1: | ||
1693 | + if (!fp) { | ||
1694 | + fprintf(stderr, "oprofile: could not open event mapping file %s\n", filename); | ||
1695 | + exit(EXIT_FAILURE); | ||
1696 | + } else { | ||
1697 | + map = get_mapping(nr, fp); | ||
1698 | + } | ||
1699 | + break; | ||
1700 | + default: | ||
1701 | + break; | ||
1702 | + } | ||
1703 | + | ||
1704 | + if (fp) | ||
1705 | + fclose(fp); | ||
1706 | + | ||
1707 | + return map; | ||
1708 | +} | ||
1709 | + | ||
1710 | +static int match_event(int i, struct op_event *event, unsigned um) | ||
1711 | +{ | ||
1712 | + unsigned v = event->unit->um[i].value; | ||
1713 | + | ||
1714 | + switch (event->unit->unit_type_mask) { | ||
1715 | + case utm_exclusive: | ||
1716 | + case utm_mandatory: | ||
1717 | + return v == um; | ||
1718 | + | ||
1719 | + case utm_bitmask: | ||
1720 | + return (v & um) || (!v && v == 0); | ||
1721 | + } | ||
1722 | + | ||
1723 | + abort(); | ||
1724 | +} | ||
1725 | + | ||
1726 | +struct op_event * find_event_by_name(char const * name, unsigned um, int um_valid) | ||
1727 | +{ | ||
1728 | + struct list_head * pos; | ||
1729 | + | ||
1730 | + list_for_each(pos, &events_list) { | ||
1731 | + struct op_event * event = list_entry(pos, struct op_event, event_next); | ||
1732 | + if (strcmp(event->name, name) == 0) { | ||
1733 | + if (um_valid) { | ||
1734 | + unsigned i; | ||
1735 | + | ||
1736 | + for (i = 0; i < event->unit->num; i++) | ||
1737 | + if (match_event(i, event, um)) | ||
1738 | + return event; | ||
1739 | + continue; | ||
1740 | + } | ||
1741 | + return event; | ||
1742 | + } | ||
1743 | + } | ||
1744 | + | ||
1745 | + return NULL; | ||
1746 | +} | ||
1747 | + | ||
1748 | + | ||
1749 | +static struct op_event * find_next_event(struct op_event * e) | ||
1750 | +{ | ||
1751 | + struct list_head * n; | ||
1752 | + | ||
1753 | + for (n = e->event_next.next; n != &events_list; n = n->next) { | ||
1754 | + struct op_event * ne = list_entry(n, struct op_event, event_next); | ||
1755 | + if (!strcmp(e->name, ne->name)) | ||
1756 | + return ne; | ||
1757 | + } | ||
1758 | + return NULL; | ||
1759 | +} | ||
1760 | + | ||
1761 | +struct op_event * op_find_event(op_cpu cpu_type, u32 nr, u32 um) | ||
1762 | +{ | ||
1763 | + struct op_event * event; | ||
1764 | + | ||
1765 | + load_events(cpu_type); | ||
1766 | + | ||
1767 | + event = find_event_um(nr, um); | ||
1768 | + | ||
1769 | + return event; | ||
1770 | +} | ||
1771 | + | ||
1772 | +struct op_event * op_find_event_any(op_cpu cpu_type, u32 nr) | ||
1773 | +{ | ||
1774 | + load_events(cpu_type); | ||
1775 | + | ||
1776 | + return find_event_any(nr); | ||
1777 | +} | ||
1778 | + | ||
1779 | +int op_check_events(int ctr, u32 nr, u32 um, op_cpu cpu_type) | ||
1780 | +{ | ||
1781 | + int ret = OP_INVALID_EVENT; | ||
1782 | + size_t i; | ||
1783 | + u32 ctr_mask = 1 << ctr; | ||
1784 | + struct list_head * pos; | ||
1785 | + | ||
1786 | + load_events(cpu_type); | ||
1787 | + | ||
1788 | + list_for_each(pos, &events_list) { | ||
1789 | + struct op_event * event = list_entry(pos, struct op_event, event_next); | ||
1790 | + if (event->val != nr) | ||
1791 | + continue; | ||
1792 | + | ||
1793 | + ret = OP_OK_EVENT; | ||
1794 | + | ||
1795 | + if ((event->counter_mask & ctr_mask) == 0) | ||
1796 | + ret |= OP_INVALID_COUNTER; | ||
1797 | + | ||
1798 | + if (event->unit->unit_type_mask == utm_bitmask) { | ||
1799 | + for (i = 0; i < event->unit->num; ++i) | ||
1800 | + um &= ~(event->unit->um[i].value); | ||
1801 | + | ||
1802 | + if (um) | ||
1803 | + ret |= OP_INVALID_UM; | ||
1804 | + | ||
1805 | + } else { | ||
1806 | + for (i = 0; i < event->unit->num; ++i) { | ||
1807 | + if (event->unit->um[i].value == um) | ||
1808 | + break; | ||
1809 | + } | ||
1810 | + | ||
1811 | + if (i == event->unit->num) | ||
1812 | + ret |= OP_INVALID_UM; | ||
1813 | + | ||
1814 | + } | ||
1815 | + | ||
1816 | + if (ret == OP_OK_EVENT) | ||
1817 | + return ret; | ||
1818 | + } | ||
1819 | + | ||
1820 | + return ret; | ||
1821 | +} | ||
1822 | + | ||
1823 | + | ||
1824 | +void op_default_event(op_cpu cpu_type, struct op_default_event_descr * descr) | ||
1825 | +{ | ||
1826 | + descr->name = ""; | ||
1827 | + descr->um = 0x0; | ||
1828 | + /* A fixed value of CPU cycles; this should ensure good | ||
1829 | + * granulity even on faster CPUs, though it will generate more | ||
1830 | + * interrupts. | ||
1831 | + */ | ||
1832 | + descr->count = 100000; | ||
1833 | + | ||
1834 | + switch (cpu_type) { | ||
1835 | + case CPU_PPRO: | ||
1836 | + case CPU_PII: | ||
1837 | + case CPU_PIII: | ||
1838 | + case CPU_P6_MOBILE: | ||
1839 | + case CPU_CORE: | ||
1840 | + case CPU_CORE_2: | ||
1841 | + case CPU_ATHLON: | ||
1842 | + case CPU_HAMMER: | ||
1843 | + case CPU_FAMILY10: | ||
1844 | + case CPU_ARCH_PERFMON: | ||
1845 | + case CPU_FAMILY11H: | ||
1846 | + case CPU_ATOM: | ||
1847 | + case CPU_CORE_I7: | ||
1848 | + case CPU_NEHALEM: | ||
1849 | + case CPU_WESTMERE: | ||
1850 | + case CPU_SANDYBRIDGE: | ||
1851 | + case CPU_IVYBRIDGE: | ||
1852 | + case CPU_MIPS_LOONGSON2: | ||
1853 | + case CPU_FAMILY12H: | ||
1854 | + case CPU_FAMILY14H: | ||
1855 | + case CPU_FAMILY15H: | ||
1856 | + descr->name = "CPU_CLK_UNHALTED"; | ||
1857 | + break; | ||
1858 | + | ||
1859 | + case CPU_RTC: | ||
1860 | + descr->name = "RTC_INTERRUPTS"; | ||
1861 | + descr->count = 1024; | ||
1862 | + break; | ||
1863 | + | ||
1864 | + case CPU_P4: | ||
1865 | + case CPU_P4_HT2: | ||
1866 | + descr->name = "GLOBAL_POWER_EVENTS"; | ||
1867 | + descr->um = 0x1; | ||
1868 | + break; | ||
1869 | + | ||
1870 | + case CPU_IA64: | ||
1871 | + case CPU_IA64_1: | ||
1872 | + case CPU_IA64_2: | ||
1873 | + descr->count = 1000000; | ||
1874 | + descr->name = "CPU_CYCLES"; | ||
1875 | + break; | ||
1876 | + | ||
1877 | + case CPU_AXP_EV4: | ||
1878 | + case CPU_AXP_EV5: | ||
1879 | + case CPU_AXP_PCA56: | ||
1880 | + case CPU_AXP_EV6: | ||
1881 | + case CPU_AXP_EV67: | ||
1882 | + descr->name = "CYCLES"; | ||
1883 | + break; | ||
1884 | + | ||
1885 | + // we could possibly use the CCNT | ||
1886 | + case CPU_ARM_XSCALE1: | ||
1887 | + case CPU_ARM_XSCALE2: | ||
1888 | + case CPU_ARM_MPCORE: | ||
1889 | + case CPU_ARM_V6: | ||
1890 | + case CPU_ARM_V7: | ||
1891 | + case CPU_ARM_V7_CA5: | ||
1892 | + case CPU_ARM_V7_CA7: | ||
1893 | + case CPU_ARM_V7_CA9: | ||
1894 | + case CPU_ARM_V7_CA15: | ||
1895 | + case CPU_AVR32: | ||
1896 | + case CPU_ARM_SCORPION: | ||
1897 | + case CPU_ARM_SCORPIONMP: | ||
1898 | + descr->name = "CPU_CYCLES"; | ||
1899 | + break; | ||
1900 | + | ||
1901 | + case CPU_PPC64_PA6T: | ||
1902 | + case CPU_PPC64_970: | ||
1903 | + case CPU_PPC64_970MP: | ||
1904 | + case CPU_PPC_7450: | ||
1905 | + case CPU_PPC64_POWER4: | ||
1906 | + case CPU_PPC64_POWER5: | ||
1907 | + case CPU_PPC64_POWER6: | ||
1908 | + case CPU_PPC64_POWER5p: | ||
1909 | + case CPU_PPC64_POWER5pp: | ||
1910 | + case CPU_PPC64_CELL: | ||
1911 | + case CPU_PPC64_POWER7: | ||
1912 | + case CPU_PPC64_IBM_COMPAT_V1: | ||
1913 | + descr->name = "CYCLES"; | ||
1914 | + break; | ||
1915 | + | ||
1916 | + case CPU_MIPS_20K: | ||
1917 | + descr->name = "CYCLES"; | ||
1918 | + break; | ||
1919 | + | ||
1920 | + case CPU_MIPS_24K: | ||
1921 | + case CPU_MIPS_34K: | ||
1922 | + case CPU_MIPS_74K: | ||
1923 | + case CPU_MIPS_1004K: | ||
1924 | + descr->name = "INSTRUCTIONS"; | ||
1925 | + break; | ||
1926 | + | ||
1927 | + case CPU_MIPS_5K: | ||
1928 | + case CPU_MIPS_25K: | ||
1929 | + descr->name = "CYCLES"; | ||
1930 | + break; | ||
1931 | + | ||
1932 | + case CPU_MIPS_R10000: | ||
1933 | + case CPU_MIPS_R12000: | ||
1934 | + descr->name = "INSTRUCTIONS_GRADUATED"; | ||
1935 | + break; | ||
1936 | + | ||
1937 | + case CPU_MIPS_RM7000: | ||
1938 | + case CPU_MIPS_RM9000: | ||
1939 | + descr->name = "INSTRUCTIONS_ISSUED"; | ||
1940 | + break; | ||
1941 | + | ||
1942 | + case CPU_MIPS_SB1: | ||
1943 | + descr->name = "INSN_SURVIVED_STAGE7"; | ||
1944 | + break; | ||
1945 | + | ||
1946 | + case CPU_MIPS_VR5432: | ||
1947 | + case CPU_MIPS_VR5500: | ||
1948 | + descr->name = "INSTRUCTIONS_EXECUTED"; | ||
1949 | + break; | ||
1950 | + | ||
1951 | + case CPU_PPC_E500: | ||
1952 | + case CPU_PPC_E500_2: | ||
1953 | + case CPU_PPC_E300: | ||
1954 | + descr->name = "CPU_CLK"; | ||
1955 | + break; | ||
1956 | + case CPU_S390_Z10: | ||
1957 | + case CPU_S390_Z196: | ||
1958 | + if (op_get_nr_counters(cpu_type) > 1) { | ||
1959 | + descr->name = "HWSAMPLING"; | ||
1960 | + descr->count = 4127518; | ||
1961 | + } else { | ||
1962 | + descr->name = TIMER_EVENT_NAME; | ||
1963 | + descr->count = 10000; | ||
1964 | + } | ||
1965 | + break; | ||
1966 | + | ||
1967 | + case CPU_TILE_TILE64: | ||
1968 | + case CPU_TILE_TILEPRO: | ||
1969 | + case CPU_TILE_TILEGX: | ||
1970 | + descr->name = "ONE"; | ||
1971 | + break; | ||
1972 | + | ||
1973 | + // don't use default, if someone add a cpu he wants a compiler | ||
1974 | + // warning if he forgets to handle it here. | ||
1975 | + case CPU_TIMER_INT: | ||
1976 | + case CPU_NO_GOOD: | ||
1977 | + case MAX_CPU_TYPE: | ||
1978 | + break; | ||
1979 | + } | ||
1980 | +} | ||
1981 | + | ||
1982 | +static void extra_check(struct op_event *e, u32 unit_mask) | ||
1983 | +{ | ||
1984 | + unsigned i; | ||
1985 | + int found = 0; | ||
1986 | + | ||
1987 | + for (i = 0; i < e->unit->num; i++) | ||
1988 | + if (e->unit->um[i].value == unit_mask) | ||
1989 | + found++; | ||
1990 | + if (found > 1) { | ||
1991 | + fprintf(stderr, | ||
1992 | +"Named unit masks not allowed for events without 'extra:' values.\n" | ||
1993 | +"Please specify the numerical value for the unit mask. See 'opcontrol'" | ||
1994 | +" man page for more info.\n"); | ||
1995 | + exit(EXIT_FAILURE); | ||
1996 | + } | ||
1997 | +} | ||
1998 | + | ||
1999 | +static void another_extra_check(struct op_event *e, char *name, unsigned w) | ||
2000 | +{ | ||
2001 | + int found; | ||
2002 | + unsigned i; | ||
2003 | + | ||
2004 | + if (!e->unit->um[w].extra) { | ||
2005 | + fprintf(stderr, | ||
2006 | +"Named unit mask (%s) not allowed for event without 'extra:' values.\n" | ||
2007 | +"Please specify the numerical value for the unit mask. See 'opcontrol'" | ||
2008 | +" man page for more info.\n", name); | ||
2009 | + exit(EXIT_FAILURE); | ||
2010 | + } | ||
2011 | + | ||
2012 | + found = 0; | ||
2013 | + for (i = 0; i < e->unit->num; i++) { | ||
2014 | + int len = strcspn(e->unit->um[i].desc, " \t"); | ||
2015 | + if (!strncmp(name, e->unit->um[i].desc, len) && | ||
2016 | + name[len] == '\0') | ||
2017 | + found++; | ||
2018 | + } | ||
2019 | + if (found > 1) { | ||
2020 | + fprintf(stderr, | ||
2021 | + "Unit mask name `%s' not unique. Sorry please use a numerical unit mask\n", name); | ||
2022 | + exit(EXIT_FAILURE); | ||
2023 | + } | ||
2024 | +} | ||
2025 | + | ||
2026 | +static void do_resolve_unit_mask(struct op_event *e, struct parsed_event *pe, | ||
2027 | + u32 *extra) | ||
2028 | +{ | ||
2029 | + unsigned i; | ||
2030 | + int found; | ||
2031 | + | ||
2032 | + for (;;) { | ||
2033 | + if (pe->unit_mask_name == NULL) { | ||
2034 | + int had_unit_mask = pe->unit_mask_valid; | ||
2035 | + | ||
2036 | + found = 0; | ||
2037 | + for (i = 0; i < e->unit->num; i++) { | ||
2038 | + if (!pe->unit_mask_valid && | ||
2039 | + e->unit->um[i].value == e->unit->default_mask) { | ||
2040 | + pe->unit_mask_valid = 1; | ||
2041 | + pe->unit_mask = e->unit->default_mask; | ||
2042 | + break; | ||
2043 | + } | ||
2044 | + } | ||
2045 | + if (found > 1 && had_unit_mask) { | ||
2046 | + fprintf(stderr, | ||
2047 | + "Non unique numerical unit mask.\n" | ||
2048 | + "Please specify the unit mask using the first word of the description\n"); | ||
2049 | + exit(EXIT_FAILURE); | ||
2050 | + } | ||
2051 | + extra_check(e, pe->unit_mask); | ||
2052 | + if (i == e->unit->num) { | ||
2053 | + e = find_next_event(e); | ||
2054 | + if (e != NULL) | ||
2055 | + continue; | ||
2056 | + } else { | ||
2057 | + if (extra) | ||
2058 | + *extra = e->unit->um[i].extra; | ||
2059 | + } | ||
2060 | + return; | ||
2061 | + } | ||
2062 | + for (i = 0; i < e->unit->num; i++) { | ||
2063 | + int len = strcspn(e->unit->um[i].desc, " \t"); | ||
2064 | + if (!strncmp(pe->unit_mask_name, e->unit->um[i].desc, | ||
2065 | + len) && pe->unit_mask_name[len] == '\0') | ||
2066 | + break; | ||
2067 | + } | ||
2068 | + if (i == e->unit->num) { | ||
2069 | + e = find_next_event(e); | ||
2070 | + if (e != NULL) | ||
2071 | + continue; | ||
2072 | + fprintf(stderr, "Cannot find unit mask %s for %s\n", | ||
2073 | + pe->unit_mask_name, pe->name); | ||
2074 | + exit(EXIT_FAILURE); | ||
2075 | + } | ||
2076 | + another_extra_check(e, pe->unit_mask_name, i); | ||
2077 | + pe->unit_mask_valid = 1; | ||
2078 | + pe->unit_mask = e->unit->um[i].value; | ||
2079 | + if (extra) | ||
2080 | + *extra = e->unit->um[i].extra; | ||
2081 | + return; | ||
2082 | + } | ||
2083 | +} | ||
2084 | + | ||
2085 | +void op_resolve_unit_mask(struct parsed_event *pe, u32 *extra) | ||
2086 | +{ | ||
2087 | + struct op_event *e; | ||
2088 | + | ||
2089 | + e = find_event_by_name(pe->name, 0, 0); | ||
2090 | + if (!e) { | ||
2091 | + fprintf(stderr, "Cannot find event %s\n", pe->name); | ||
2092 | + exit(EXIT_FAILURE); | ||
2093 | + } | ||
2094 | + return do_resolve_unit_mask(e, pe, extra); | ||
2095 | +} | ||
diff --git a/recipes-append/oprofile/oprofile_0.9.8.bbappend b/recipes-append/oprofile/oprofile_0.9.8.bbappend new file mode 100644 index 0000000..c631963 --- /dev/null +++ b/recipes-append/oprofile/oprofile_0.9.8.bbappend | |||
@@ -0,0 +1,3 @@ | |||
1 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | ||
2 | |||
3 | SRC_URI += "file://oprofile-e500mc.patch" | ||
diff --git a/recipes-append/perf/perf.bbappend b/recipes-append/perf/perf.bbappend new file mode 100644 index 0000000..864f938 --- /dev/null +++ b/recipes-append/perf/perf.bbappend | |||
@@ -0,0 +1,4 @@ | |||
1 | # | ||
2 | # added the python-math and python-sqlite3 modules, required by perf | ||
3 | # | ||
4 | SCRIPTING_RDEPENDS = "${@perf_feature_enabled('perf-scripting', 'perl perl-modules python python-math python-sqlite3', '',d)}" | ||
diff --git a/recipes-bsp/libuio/libuio/run-ptest b/recipes-bsp/libuio/libuio/run-ptest new file mode 100644 index 0000000..46c80b5 --- /dev/null +++ b/recipes-bsp/libuio/libuio/run-ptest | |||
@@ -0,0 +1,3 @@ | |||
1 | #!/bin/sh | ||
2 | echo "SKIP: no upstream test" | ||
3 | |||
diff --git a/recipes-bsp/libuio/libuio_git.bb b/recipes-bsp/libuio/libuio_git.bb new file mode 100644 index 0000000..216c678 --- /dev/null +++ b/recipes-bsp/libuio/libuio_git.bb | |||
@@ -0,0 +1,31 @@ | |||
1 | SUMMARY = "libUIO" | ||
2 | DESCRIPTION = "Provide a generic framework for handling devices in userspace." | ||
3 | HOMEPAGE = "https://www.osadl.org/UIO.uio.0.html" | ||
4 | SECTION = "libs" | ||
5 | LICENSE = "GPLv2" | ||
6 | |||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" | ||
8 | |||
9 | SRCREV = "cc233857ba1613801e7218d07127d19608a99702" | ||
10 | PR = "r0" | ||
11 | PV = "1.0+git${SRCPV}" | ||
12 | |||
13 | SRC_URI = "git://git.linutronix.de/projects/libUIO;protocol=git \ | ||
14 | file://run-ptest" | ||
15 | |||
16 | DEPENDS = "virtual/libc" | ||
17 | |||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | inherit autotools | ||
21 | |||
22 | do_configure_prepend () { | ||
23 | touch ${S}/ChangeLog | ||
24 | } | ||
25 | |||
26 | do_install_append () { | ||
27 | if [ "${PN}" = "${BPN}" -a ${PTEST_ENABLED} = "1" ]; then | ||
28 | mkdir -p ${D}${PTEST_PATH} | ||
29 | install -m 0755 ${WORKDIR}/run-ptest ${D}${PTEST_PATH} | ||
30 | fi | ||
31 | } | ||
diff --git a/recipes-bsp/rtl8168/files/r8168-8.031.00.tar.bz2 b/recipes-bsp/rtl8168/files/r8168-8.031.00.tar.bz2 new file mode 100644 index 0000000..114d5a1 --- /dev/null +++ b/recipes-bsp/rtl8168/files/r8168-8.031.00.tar.bz2 | |||
Binary files differ | |||
diff --git a/recipes-bsp/rtl8168/rtl8168_8.031.00.bb b/recipes-bsp/rtl8168/rtl8168_8.031.00.bb new file mode 100644 index 0000000..e5831c6 --- /dev/null +++ b/recipes-bsp/rtl8168/rtl8168_8.031.00.bb | |||
@@ -0,0 +1,35 @@ | |||
1 | SUMMARY = "RTL8111/8168 PCI Express 10/100/1000M Gigabit Ethernet" | ||
2 | DESCRIPTION = "http://www.realtek.com.tw/" | ||
3 | SECTION = "kernel/modules" | ||
4 | |||
5 | LICENSE = "GPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://Makefile;md5=27208bd930c8f7f55db149f659059e10" | ||
7 | |||
8 | DEPENDS = "linux-libc-headers module-init-tools" | ||
9 | |||
10 | SRC_URI = "file://r8168-${PV}.tar.bz2" | ||
11 | |||
12 | SRC_URI[md5sum] = "ec1654f02e2dad930bbeb0210ddab7e5" | ||
13 | SRC_URI[sha256sum] = "5c617b3c08aca18d1eb24d33f77df40020eb64fb32c8e4008265e08b7ffe5779" | ||
14 | |||
15 | S = "${WORKDIR}/r8168-${PV}/src" | ||
16 | |||
17 | inherit module | ||
18 | |||
19 | do_compile () { | ||
20 | cd ${S} | ||
21 | do_make_scripts | ||
22 | unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS | ||
23 | oe_runmake KERNELDIR=${STAGING_KERNEL_DIR} \ | ||
24 | KERNEL_SRC=${STAGING_KERNEL_DIR} \ | ||
25 | KERNEL_VERSION=${KERNEL_VERSION} \ | ||
26 | CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ | ||
27 | AR="${KERNEL_AR}" \ | ||
28 | modules | ||
29 | } | ||
30 | |||
31 | do_install () { | ||
32 | mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/net | ||
33 | cp ${S}/*ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/net | ||
34 | } | ||
35 | |||
diff --git a/recipes-connectivity/connman/connman_1.25.bbappend b/recipes-connectivity/connman/connman_1.25.bbappend new file mode 100644 index 0000000..4f72ec3 --- /dev/null +++ b/recipes-connectivity/connman/connman_1.25.bbappend | |||
@@ -0,0 +1,5 @@ | |||
1 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | ||
2 | |||
3 | SRC_URI += "file://0001-added-noipconfig-option.patch \ | ||
4 | file://connman \ | ||
5 | " | ||
diff --git a/recipes-connectivity/connman/files/0001-added-noipconfig-option.patch b/recipes-connectivity/connman/files/0001-added-noipconfig-option.patch new file mode 100644 index 0000000..d86b778 --- /dev/null +++ b/recipes-connectivity/connman/files/0001-added-noipconfig-option.patch | |||
@@ -0,0 +1,353 @@ | |||
1 | Disabling interface index for desired interfaces so that all methods dealing | ||
2 | with those indexes (ifup, ifdown, new route, new gateway, etc.) will exit | ||
3 | immediately. This is obtained through a new option called "noipconfig". | ||
4 | Helpful when dealing with NFS dhcp method like: | ||
5 | root=/dev/nfs rw nfsroot=172.21.3.8:/unix/enea_linux_rootfs/user/p2041rdb \ | ||
6 | ip=dhcp console=ttyS0,115200 memmap=16M$0xf7000000 \ | ||
7 | mem=4080M max_addr=f6ffffff | ||
8 | |||
9 | This ports the https://www.cvg.de/people/ensc/0001-added-noipconfig-option.patch | ||
10 | change to connman_1.25. In http://patchwork.openembedded.org/patch/57539/ that | ||
11 | change is considered too intrusive and specific to be upstreamed. | ||
12 | |||
13 | Signed-off-by: George Nita <george.nita@enea.com> | ||
14 | Upstream-Status: Not Applicable | ||
15 | |||
16 | |||
17 | diff --git a/src/connman.h b/src/connman.h | ||
18 | index db6461f..8f4f4d0 100644 | ||
19 | --- a/src/connman.h | ||
20 | +++ b/src/connman.h | ||
21 | @@ -544,7 +544,8 @@ void __connman_technology_notify_regdom_by_device(struct connman_device *device, | ||
22 | |||
23 | #include <connman/device.h> | ||
24 | |||
25 | -int __connman_device_init(const char *device, const char *nodevice); | ||
26 | +int __connman_device_init(const char *device, const char *nodevice, | ||
27 | + const char *noipconfig); | ||
28 | void __connman_device_cleanup(void); | ||
29 | |||
30 | void __connman_device_list(DBusMessageIter *iter, void *user_data); | ||
31 | diff --git a/src/device.c b/src/device.c | ||
32 | index c0683ab..6582c51 100644 | ||
33 | --- a/src/device.c | ||
34 | +++ b/src/device.c | ||
35 | @@ -37,6 +37,7 @@ | ||
36 | static GSList *device_list = NULL; | ||
37 | static gchar **device_filter = NULL; | ||
38 | static gchar **nodevice_filter = NULL; | ||
39 | +static gchar **noipconfig_filter = NULL; | ||
40 | |||
41 | enum connman_pending_type { | ||
42 | PENDING_NONE = 0, | ||
43 | @@ -1314,6 +1315,20 @@ done: | ||
44 | return device; | ||
45 | } | ||
46 | |||
47 | +static bool __connman_device_noipconfig(const char *devname) | ||
48 | +{ | ||
49 | + char **pattern; | ||
50 | + | ||
51 | + for (pattern = noipconfig_filter; *pattern; pattern++) { | ||
52 | + if (g_pattern_match_simple(*pattern, devname) == TRUE) { | ||
53 | + DBG("do not configure device %s", devname); | ||
54 | + return TRUE; | ||
55 | + } | ||
56 | + } | ||
57 | + | ||
58 | + return FALSE; | ||
59 | +} | ||
60 | + | ||
61 | bool __connman_device_isfiltered(const char *devname) | ||
62 | { | ||
63 | char **pattern; | ||
64 | @@ -1403,6 +1418,9 @@ static void cleanup_devices(void) | ||
65 | if (index < 0) | ||
66 | continue; | ||
67 | |||
68 | + if (__connman_device_noipconfig(interfaces[i])) | ||
69 | + __connman_inet_disable_index(index); | ||
70 | + | ||
71 | if (!__connman_inet_get_address_netmask(index, &sin_addr, | ||
72 | &sin_mask)) { | ||
73 | char *address = g_strdup(inet_ntoa(sin_addr.sin_addr)); | ||
74 | @@ -1435,7 +1453,8 @@ static void cleanup_devices(void) | ||
75 | g_strfreev(interfaces); | ||
76 | } | ||
77 | |||
78 | -int __connman_device_init(const char *device, const char *nodevice) | ||
79 | +int __connman_device_init(const char *device, const char *nodevice, | ||
80 | + const char *noipconfig) | ||
81 | { | ||
82 | DBG(""); | ||
83 | |||
84 | @@ -1445,6 +1464,9 @@ int __connman_device_init(const char *device, const char *nodevice) | ||
85 | if (nodevice) | ||
86 | nodevice_filter = g_strsplit(nodevice, ",", -1); | ||
87 | |||
88 | + if (noipconfig != NULL) | ||
89 | + noipconfig_filter = g_strsplit(noipconfig, ",", -1); | ||
90 | + | ||
91 | cleanup_devices(); | ||
92 | |||
93 | return 0; | ||
94 | diff --git a/src/inet.c b/src/inet.c | ||
95 | index fb37143..d1f2c2f 100644 | ||
96 | --- a/src/inet.c | ||
97 | +++ b/src/inet.c | ||
98 | @@ -55,6 +55,45 @@ | ||
99 | ((struct rtattr *) (((uint8_t*) (nmsg)) + \ | ||
100 | NLMSG_ALIGN((nmsg)->nlmsg_len))) | ||
101 | |||
102 | +static GHashTable *g_disabled_indices; | ||
103 | + | ||
104 | +static guint g_intptr_hash(gconstpointer p) | ||
105 | +{ | ||
106 | + uintptr_t v = (uintptr_t)p; | ||
107 | + return g_int_hash(&v); | ||
108 | +} | ||
109 | + | ||
110 | +static gboolean g_intptr_equal(gconstpointer p1, | ||
111 | + gconstpointer p2) | ||
112 | +{ | ||
113 | + uintptr_t v1 = (uintptr_t)p1; | ||
114 | + uintptr_t v2 = (uintptr_t)p2; | ||
115 | + | ||
116 | + return g_int_equal(&v1, &v2); | ||
117 | +} | ||
118 | + | ||
119 | +void __connman_inet_disable_index(int index) | ||
120 | +{ | ||
121 | + connman_info("disabling interface #%d for ipconfig", index); | ||
122 | + | ||
123 | + if (g_disabled_indices == NULL) | ||
124 | + g_disabled_indices = g_hash_table_new_full(g_intptr_hash, | ||
125 | + g_intptr_equal, | ||
126 | + NULL, NULL); | ||
127 | + | ||
128 | + g_hash_table_add(g_disabled_indices, (void *)index); | ||
129 | +} | ||
130 | + | ||
131 | +static bool __connman_inet_is_disabled_index(int index) | ||
132 | +{ | ||
133 | + bool rc; | ||
134 | + | ||
135 | + rc = (g_disabled_indices != NULL && | ||
136 | + g_hash_table_contains(g_disabled_indices, (void *)index)); | ||
137 | + | ||
138 | + return rc; | ||
139 | +} | ||
140 | + | ||
141 | int __connman_inet_rtnl_addattr_l(struct nlmsghdr *n, size_t max_length, | ||
142 | int type, const void *data, size_t data_length) | ||
143 | { | ||
144 | @@ -98,6 +137,11 @@ int __connman_inet_modify_address(int cmd, int flags, | ||
145 | "prefixlen %hhu broadcast %s", cmd, flags, index, family, | ||
146 | address, peer, prefixlen, broadcast); | ||
147 | |||
148 | + if (__connman_inet_is_disabled_index(index)) { | ||
149 | + connman_info("index disabled; skipping %s", __func__); | ||
150 | + return 0; | ||
151 | + } | ||
152 | + | ||
153 | if (!address) | ||
154 | return -EINVAL; | ||
155 | |||
156 | @@ -275,6 +319,11 @@ int connman_inet_ifup(int index) | ||
157 | struct ifreq ifr; | ||
158 | int sk, err; | ||
159 | |||
160 | + if (__connman_inet_is_disabled_index(index)) { | ||
161 | + connman_info("index disabled; skipping %s", __func__); | ||
162 | + return 0; | ||
163 | + } | ||
164 | + | ||
165 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
166 | if (sk < 0) | ||
167 | return -errno; | ||
168 | @@ -318,6 +367,11 @@ int connman_inet_ifdown(int index) | ||
169 | struct sockaddr_in *addr; | ||
170 | int sk, err; | ||
171 | |||
172 | + if (__connman_inet_is_disabled_index(index)) { | ||
173 | + connman_info("index disabled; skipping %s", __func__); | ||
174 | + return 0; | ||
175 | + } | ||
176 | + | ||
177 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
178 | if (sk < 0) | ||
179 | return -errno; | ||
180 | @@ -519,6 +573,11 @@ int connman_inet_add_network_route(int index, const char *host, | ||
181 | DBG("index %d host %s gateway %s netmask %s", index, | ||
182 | host, gateway, netmask); | ||
183 | |||
184 | + if (__connman_inet_is_disabled_index(index)) { | ||
185 | + connman_info("index disabled; skipping %s", __func__); | ||
186 | + return 0; | ||
187 | + } | ||
188 | + | ||
189 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
190 | if (sk < 0) { | ||
191 | err = -errno; | ||
192 | @@ -589,6 +648,11 @@ int connman_inet_del_network_route(int index, const char *host) | ||
193 | |||
194 | DBG("index %d host %s", index, host); | ||
195 | |||
196 | + if (__connman_inet_is_disabled_index(index)) { | ||
197 | + connman_info("index disabled; skipping %s", __func__); | ||
198 | + return 0; | ||
199 | + } | ||
200 | + | ||
201 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
202 | if (sk < 0) { | ||
203 | err = -errno; | ||
204 | @@ -637,6 +701,11 @@ int connman_inet_del_ipv6_network_route(int index, const char *host, | ||
205 | |||
206 | DBG("index %d host %s", index, host); | ||
207 | |||
208 | + if (__connman_inet_is_disabled_index(index)) { | ||
209 | + connman_info("index disabled; skipping %s", __func__); | ||
210 | + return 0; | ||
211 | + } | ||
212 | + | ||
213 | if (!host) | ||
214 | return -EINVAL; | ||
215 | |||
216 | @@ -687,6 +756,11 @@ int connman_inet_add_ipv6_network_route(int index, const char *host, | ||
217 | |||
218 | DBG("index %d host %s gateway %s", index, host, gateway); | ||
219 | |||
220 | + if (__connman_inet_is_disabled_index(index)) { | ||
221 | + connman_info("index disabled; skipping %s", __func__); | ||
222 | + return 0; | ||
223 | + } | ||
224 | + | ||
225 | if (!host) | ||
226 | return -EINVAL; | ||
227 | |||
228 | @@ -741,6 +815,11 @@ int connman_inet_clear_ipv6_gateway_address(int index, const char *gateway) | ||
229 | |||
230 | DBG("index %d gateway %s", index, gateway); | ||
231 | |||
232 | + if (__connman_inet_is_disabled_index(index)) { | ||
233 | + connman_info("index disabled; skipping clear_ipv6_gateway operation"); | ||
234 | + return 0; | ||
235 | + } | ||
236 | + | ||
237 | if (!gateway) | ||
238 | return -EINVAL; | ||
239 | |||
240 | @@ -784,6 +863,11 @@ int connman_inet_set_gateway_interface(int index) | ||
241 | |||
242 | DBG("index %d", index); | ||
243 | |||
244 | + if (__connman_inet_is_disabled_index(index)) { | ||
245 | + connman_info("index disabled; skipping %s", __func__); | ||
246 | + return 0; | ||
247 | + } | ||
248 | + | ||
249 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
250 | if (sk < 0) { | ||
251 | err = -errno; | ||
252 | @@ -837,6 +921,11 @@ int connman_inet_set_ipv6_gateway_interface(int index) | ||
253 | |||
254 | DBG("index %d", index); | ||
255 | |||
256 | + if (__connman_inet_is_disabled_index(index)) { | ||
257 | + connman_info("index disabled; skipping %s", __func__); | ||
258 | + return 0; | ||
259 | + } | ||
260 | + | ||
261 | sk = socket(PF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
262 | if (sk < 0) { | ||
263 | err = -errno; | ||
264 | @@ -889,6 +978,11 @@ int connman_inet_clear_gateway_address(int index, const char *gateway) | ||
265 | |||
266 | DBG("index %d gateway %s", index, gateway); | ||
267 | |||
268 | + if (__connman_inet_is_disabled_index(index)) { | ||
269 | + connman_info("index disabled; skipping %s", __func__); | ||
270 | + return 0; | ||
271 | + } | ||
272 | + | ||
273 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
274 | if (sk < 0) { | ||
275 | err = -errno; | ||
276 | @@ -946,6 +1040,11 @@ int connman_inet_clear_gateway_interface(int index) | ||
277 | |||
278 | DBG("index %d", index); | ||
279 | |||
280 | + if (__connman_inet_is_disabled_index(index)) { | ||
281 | + connman_info("index disabled; skipping %s", __func__); | ||
282 | + return 0; | ||
283 | + } | ||
284 | + | ||
285 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
286 | if (sk < 0) { | ||
287 | err = -errno; | ||
288 | @@ -999,6 +1098,11 @@ int connman_inet_clear_ipv6_gateway_interface(int index) | ||
289 | |||
290 | DBG("index %d", index); | ||
291 | |||
292 | + if (__connman_inet_is_disabled_index(index)) { | ||
293 | + connman_info("index disabled; skipping %s", __func__); | ||
294 | + return 0; | ||
295 | + } | ||
296 | + | ||
297 | sk = socket(PF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
298 | if (sk < 0) { | ||
299 | err = -errno; | ||
300 | @@ -1059,6 +1163,11 @@ bool connman_inet_compare_subnet(int index, const char *host) | ||
301 | return -1; | ||
302 | host_addr = _host_addr.s_addr; | ||
303 | |||
304 | + if (__connman_inet_is_disabled_index(index)) { | ||
305 | + connman_info("index disabled; skipping %s", __func__); | ||
306 | + return 0; | ||
307 | + } | ||
308 | + | ||
309 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
310 | if (sk < 0) | ||
311 | return false; | ||
312 | @@ -1159,6 +1268,11 @@ int connman_inet_set_mtu(int index, int mtu) | ||
313 | struct ifreq ifr; | ||
314 | int sk, err; | ||
315 | |||
316 | + if (__connman_inet_is_disabled_index(index)) { | ||
317 | + connman_info("index disabled; skipping %s", __func__); | ||
318 | + return 0; | ||
319 | + } | ||
320 | + | ||
321 | sk = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
322 | if (sk < 0) | ||
323 | return sk; | ||
324 | diff --git a/src/main.c b/src/main.c | ||
325 | index 7cf6c9a..e06f25c 100644 | ||
326 | --- a/src/main.c | ||
327 | +++ b/src/main.c | ||
328 | @@ -453,6 +453,7 @@ static gchar *option_debug = NULL; | ||
329 | static gchar *option_device = NULL; | ||
330 | static gchar *option_plugin = NULL; | ||
331 | static gchar *option_nodevice = NULL; | ||
332 | +static gchar *option_noipconfig = NULL; | ||
333 | static gchar *option_noplugin = NULL; | ||
334 | static gchar *option_wifi = NULL; | ||
335 | static gboolean option_detach = TRUE; | ||
336 | @@ -482,6 +483,8 @@ static GOptionEntry options[] = { | ||
337 | "Specify networking device or interface", "DEV" }, | ||
338 | { "nodevice", 'I', 0, G_OPTION_ARG_STRING, &option_nodevice, | ||
339 | "Specify networking interface to ignore", "DEV" }, | ||
340 | + { "noipconfig", 0, 0, G_OPTION_ARG_STRING, &option_noipconfig, | ||
341 | + "Specify networking interface which shall not be configured", "DEV" }, | ||
342 | { "plugin", 'p', 0, G_OPTION_ARG_STRING, &option_plugin, | ||
343 | "Specify plugins to load", "NAME,..." }, | ||
344 | { "noplugin", 'P', 0, G_OPTION_ARG_STRING, &option_noplugin, | ||
345 | @@ -648,7 +651,7 @@ int main(int argc, char *argv[]) | ||
346 | __connman_provider_init(); | ||
347 | __connman_network_init(); | ||
348 | __connman_config_init(); | ||
349 | - __connman_device_init(option_device, option_nodevice); | ||
350 | + __connman_device_init(option_device, option_nodevice, option_noipconfig); | ||
351 | |||
352 | __connman_ippool_init(); | ||
353 | __connman_iptables_init(); | ||
diff --git a/recipes-connectivity/connman/files/connman b/recipes-connectivity/connman/files/connman new file mode 100644 index 0000000..a7b7c7b --- /dev/null +++ b/recipes-connectivity/connman/files/connman | |||
@@ -0,0 +1,83 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | DAEMON=/usr/sbin/connmand | ||
4 | PIDFILE=/var/run/connmand.pid | ||
5 | DESC="Connection Manager" | ||
6 | |||
7 | if [ -f /etc/default/connman ] ; then | ||
8 | . /etc/default/connman | ||
9 | fi | ||
10 | |||
11 | set -e | ||
12 | |||
13 | nfsroot=0 | ||
14 | |||
15 | exec 9<&0 < /proc/mounts | ||
16 | while read dev mtpt fstype rest; do | ||
17 | if test $mtpt = "/" ; then | ||
18 | case $fstype in | ||
19 | nfs | nfs4) | ||
20 | nfsroot=1 | ||
21 | break | ||
22 | ;; | ||
23 | *) | ||
24 | ;; | ||
25 | esac | ||
26 | fi | ||
27 | done | ||
28 | |||
29 | do_start() { | ||
30 | EXTRA_PARAM="" | ||
31 | if test $nfsroot -eq 1 ; then | ||
32 | NET_DEVS=`cat /proc/net/dev | sed -ne 's/^\([a-zA-Z0-9 ]*\):.*$/\1/p'` | ||
33 | NET_ADDR=`cat /proc/cmdline | sed -ne 's/^.*ip=\([^ :]*\).*$/\1/p'` | ||
34 | |||
35 | if [ ! -z "$NET_ADDR" ]; then | ||
36 | if [ "$NET_ADDR" = dhcp ]; then | ||
37 | ethn=`ifconfig | grep "^eth" | sed -e "s/\(eth[0-9]\)\(.*\)/\1/"` | ||
38 | if [ ! -z "$ethn" ]; then | ||
39 | EXTRA_PARAM="--noipconfig $ethn" | ||
40 | fi | ||
41 | else | ||
42 | for i in $NET_DEVS; do | ||
43 | ADDR=`ifconfig $i | sed 's/addr://g' | sed -ne 's/^.*inet \([0-9.]*\) .*$/\1/p'` | ||
44 | if [ "$NET_ADDR" = "$ADDR" ]; then | ||
45 | EXTRA_PARAM="--noipconfig $i" | ||
46 | break | ||
47 | fi | ||
48 | done | ||
49 | fi | ||
50 | fi | ||
51 | fi | ||
52 | if [ -f @LIBDIR@/connman/wired-setup ] ; then | ||
53 | . @LIBDIR@/connman/wired-setup | ||
54 | fi | ||
55 | $DAEMON $EXTRA_PARAM | ||
56 | } | ||
57 | |||
58 | do_stop() { | ||
59 | start-stop-daemon --stop --name connmand --quiet | ||
60 | } | ||
61 | |||
62 | case "$1" in | ||
63 | start) | ||
64 | echo "Starting $DESC" | ||
65 | do_start | ||
66 | ;; | ||
67 | stop) | ||
68 | echo "Stopping $DESC" | ||
69 | do_stop | ||
70 | ;; | ||
71 | restart|force-reload) | ||
72 | echo "Restarting $DESC" | ||
73 | do_stop | ||
74 | sleep 1 | ||
75 | do_start | ||
76 | ;; | ||
77 | *) | ||
78 | echo "Usage: $0 {start|stop|restart|force-reload}" >&2 | ||
79 | exit 1 | ||
80 | ;; | ||
81 | esac | ||
82 | |||
83 | exit 0 | ||
diff --git a/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend b/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend new file mode 100644 index 0000000..590b4f1 --- /dev/null +++ b/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend | |||
@@ -0,0 +1 @@ | |||
RDEPENDS_${PN} += "nativesdk-e2fsprogs nativesdk-u-boot-mkimage" | |||
diff --git a/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend b/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend new file mode 100644 index 0000000..f939bbf --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend | |||
@@ -0,0 +1 @@ | |||
RDEPENDS_${PN} += "libstdc++-staticdev glibc-staticdev" | |||
diff --git a/recipes-core/packagegroups/packagegroup-enea-bench.bb b/recipes-core/packagegroups/packagegroup-enea-bench.bb new file mode 100644 index 0000000..f536bbc --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-enea-bench.bb | |||
@@ -0,0 +1,14 @@ | |||
1 | DESCRIPTION = "Package group for benchmarking test" | ||
2 | LICENSE = "MIT" | ||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ | ||
4 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
5 | PR = "r0" | ||
6 | |||
7 | inherit packagegroup | ||
8 | |||
9 | RDEPENDS_${PN} = "\ | ||
10 | " | ||
11 | |||
12 | RRECOMMENDS_${PN} = "\ | ||
13 | benchtest-runner \ | ||
14 | " | ||
diff --git a/recipes-core/packagegroups/packagegroup-enea-core-boot.bb b/recipes-core/packagegroups/packagegroup-enea-core-boot.bb new file mode 100644 index 0000000..d0836ae --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-enea-core-boot.bb | |||
@@ -0,0 +1,65 @@ | |||
1 | # | ||
2 | # Copyright (C) 2007 OpenedHand Ltd. | ||
3 | # | ||
4 | |||
5 | SUMMARY = "Minimal boot requirements" | ||
6 | DESCRIPTION = "The minimal and busybox set of packages required to boot the system" | ||
7 | LICENSE = "MIT" | ||
8 | DEPENDS = "virtual/kernel" | ||
9 | PR = "r11" | ||
10 | |||
11 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
12 | |||
13 | inherit packagegroup | ||
14 | |||
15 | # | ||
16 | # Set by the machine configuration with packages essential for device bootup | ||
17 | # | ||
18 | MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= "" | ||
19 | MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= "" | ||
20 | |||
21 | # For backwards compatibility after rename | ||
22 | RPROVIDES_${PN} = "task-core-boot" | ||
23 | RREPLACES_${PN} = "task-core-boot" | ||
24 | RCONFLICTS_${PN} = "task-core-boot" | ||
25 | |||
26 | # Distro can override the following VIRTUAL-RUNTIME providers: | ||
27 | VIRTUAL-RUNTIME_dev_manager ?= "udev" | ||
28 | VIRTUAL-RUNTIME_login_manager ?= "busybox" | ||
29 | VIRTUAL-RUNTIME_init_manager ?= "sysvinit" | ||
30 | VIRTUAL-RUNTIME_initscripts ?= "initscripts" | ||
31 | VIRTUAL-RUNTIME_keymaps ?= "keymaps" | ||
32 | |||
33 | RDEPENDS_${PN} += "\ | ||
34 | base-files \ | ||
35 | base-passwd \ | ||
36 | ${@base_contains("MACHINE_FEATURES", "keyboard", "${VIRTUAL-RUNTIME_keymaps}", "", d)} \ | ||
37 | modutils-initscripts \ | ||
38 | netbase \ | ||
39 | init-ifupdown \ | ||
40 | ${VIRTUAL-RUNTIME_login_manager} \ | ||
41 | ${VIRTUAL-RUNTIME_init_manager} \ | ||
42 | ${VIRTUAL-RUNTIME_initscripts} \ | ||
43 | ${VIRTUAL-RUNTIME_dev_manager} \ | ||
44 | ${VIRTUAL-RUNTIME_update-alternatives} \ | ||
45 | ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS}" | ||
46 | |||
47 | RDEPENDS_${PN}_append_fslmachine = " u-boot" | ||
48 | RDEPENDS_${PN}_append_p2041 = " fm-ucode rcw" | ||
49 | RDEPENDS_${PN}_append_p4080 = " fm-ucode rcw" | ||
50 | RDEPENDS_${PN} += "\ | ||
51 | busybox \ | ||
52 | ${@base_contains("MACHINE_FEATURES", "rtc", "busybox-hwclock", "", d)} \ | ||
53 | " | ||
54 | |||
55 | RDEPENDS_${PN}_append_x86 = "\ | ||
56 | kernel-vmlinux \ | ||
57 | kernel \ | ||
58 | " | ||
59 | RDEPENDS_${PN}_append_x86-64 = "\ | ||
60 | kernel-vmlinux \ | ||
61 | kernel \ | ||
62 | " | ||
63 | |||
64 | RRECOMMENDS_${PN} = "\ | ||
65 | ${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS}" | ||
diff --git a/recipes-core/packagegroups/packagegroup-enea-ddt.bb b/recipes-core/packagegroups/packagegroup-enea-ddt.bb new file mode 100644 index 0000000..3116b4b --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-enea-ddt.bb | |||
@@ -0,0 +1,22 @@ | |||
1 | DESCRIPTION = "Package group for driver test" | ||
2 | LICENSE = "MIT" | ||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ | ||
4 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
5 | PR = "r0" | ||
6 | |||
7 | inherit packagegroup | ||
8 | |||
9 | RDEPENDS_${PN} = "\ | ||
10 | hdparm \ | ||
11 | rt-tests \ | ||
12 | i2c-tools \ | ||
13 | mtd-utils \ | ||
14 | net-tools \ | ||
15 | pciutils \ | ||
16 | usbutils \ | ||
17 | watchdog \ | ||
18 | " | ||
19 | |||
20 | RRECOMMENDS_${PN} = "\ | ||
21 | ddt-runner \ | ||
22 | " | ||
diff --git a/recipes-core/packagegroups/packagegroup-enea-debug.bb b/recipes-core/packagegroups/packagegroup-enea-debug.bb new file mode 100644 index 0000000..b1d386b --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-enea-debug.bb | |||
@@ -0,0 +1,35 @@ | |||
1 | DESCRIPTION = "Tools package group for OE-Core" | ||
2 | LICENSE = "MIT" | ||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ | ||
4 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
5 | PR = "r0" | ||
6 | |||
7 | PACKAGES = "\ | ||
8 | ${PN} \ | ||
9 | ${PN}-dbg \ | ||
10 | ${PN}-dev \ | ||
11 | " | ||
12 | |||
13 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
14 | |||
15 | ALLOW_EMPTY_${PN} = "1" | ||
16 | |||
17 | # systemtap needs elfutils which is not fully buildable on uclibc | ||
18 | # hence we exclude it from uclibc based builds | ||
19 | SYSTEMTAP = "systemtap" | ||
20 | SYSTEMTAP_libc-uclibc = "" | ||
21 | |||
22 | # kexec-tools doesn't work on Mips | ||
23 | KEXECTOOLS ?= "kexec-tools" | ||
24 | KEXECTOOLS_mips ?= "" | ||
25 | KEXECTOOLS_mipsel ?= "" | ||
26 | # No need to remove kexec-tools from powerpc | ||
27 | #KEXECTOOLS_powerpc ?= "" | ||
28 | |||
29 | RDEPENDS_${PN} = "\ | ||
30 | gdb \ | ||
31 | gdbserver \ | ||
32 | rsync \ | ||
33 | strace \ | ||
34 | ${SYSTEMTAP} \ | ||
35 | " | ||
diff --git a/recipes-core/packagegroups/packagegroup-enea-ptest.bb b/recipes-core/packagegroups/packagegroup-enea-ptest.bb new file mode 100644 index 0000000..f319469 --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-enea-ptest.bb | |||
@@ -0,0 +1,118 @@ | |||
1 | DESCRIPTION = "Ptest package group" | ||
2 | LICENSE = "MIT" | ||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ | ||
4 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
5 | PR = "r0" | ||
6 | |||
7 | inherit packagegroup | ||
8 | |||
9 | ENEA_DAEMONS = " \ | ||
10 | at \ | ||
11 | cronie \ | ||
12 | " | ||
13 | |||
14 | ENEA_DATABASE = " \ | ||
15 | sqlite3 \ | ||
16 | " | ||
17 | |||
18 | ENEA_TRACE = " \ | ||
19 | babeltrace \ | ||
20 | ${VALGRIND} \ | ||
21 | " | ||
22 | |||
23 | VALGRIND ?= "" | ||
24 | VALGRIND_powerpc ?= "valgrind" | ||
25 | VALGRIND_e500v2 ?= "" | ||
26 | VALGRIND_x86 ?= "valgrind" | ||
27 | VALGRIND_x86_64 ?= "valgrind" | ||
28 | VALGRIND_armv7a ?= "valgrind" | ||
29 | |||
30 | ENEA_DEV = " \ | ||
31 | glibc-locale \ | ||
32 | " | ||
33 | |||
34 | ENEA_DEVICE = " \ | ||
35 | libusb1-dbg \ | ||
36 | libusb-compat-dbg \ | ||
37 | usbutils \ | ||
38 | " | ||
39 | |||
40 | ENEA_FSYS = " \ | ||
41 | acl \ | ||
42 | pramfs-init \ | ||
43 | " | ||
44 | |||
45 | ENEA_HIGHAVA = " \ | ||
46 | kexec \ | ||
47 | kexec-tools \ | ||
48 | " | ||
49 | |||
50 | ENEA_LIBS = " \ | ||
51 | gettext \ | ||
52 | gettext-runtime \ | ||
53 | libstdc++ \ | ||
54 | libuio \ | ||
55 | zlib \ | ||
56 | " | ||
57 | |||
58 | ENEA_MESSAGING = " \ | ||
59 | dbus \ | ||
60 | " | ||
61 | |||
62 | ENEA_SCRIPTING = " \ | ||
63 | tcl \ | ||
64 | python \ | ||
65 | " | ||
66 | |||
67 | ENEA_SECURITY = " \ | ||
68 | openssl" | ||
69 | |||
70 | ENEA_SHELL = " \ | ||
71 | ncurses" | ||
72 | |||
73 | ENEA_UTILS = " \ | ||
74 | bc \ | ||
75 | bonnie++ \ | ||
76 | expat \ | ||
77 | " | ||
78 | |||
79 | ENEA_GPL ?= " \ | ||
80 | linx \ | ||
81 | linx-mod \ | ||
82 | " | ||
83 | ENEA_BSD = " \ | ||
84 | partrt \ | ||
85 | " | ||
86 | |||
87 | ENEA_GPL_qemux86 = "" | ||
88 | ENEA_GPL_qemuppc = "" | ||
89 | ENEA_GPL_armv5 = "" | ||
90 | ENEA_GPL_armv7a = "" | ||
91 | ENEA_GPL_aarch64 = "" | ||
92 | |||
93 | RDEPENDS_${PN} = " \ | ||
94 | ${ENEA_DAEMONS} \ | ||
95 | ${ENEA_DATABASE} \ | ||
96 | ${ENEA_TRACE} \ | ||
97 | ${ENEA_DEV} \ | ||
98 | ${ENEA_DEVICE} \ | ||
99 | ${ENEA_FSYS} \ | ||
100 | ${ENEA_HIGHAVA} \ | ||
101 | ${ENEA_LIBS} \ | ||
102 | ${ENEA_MESSAGING} \ | ||
103 | ${ENEA_SCRIPTING} \ | ||
104 | ${ENEA_SECURITY} \ | ||
105 | ${ENEA_SHELL} \ | ||
106 | ${ENEA_UTILS} \ | ||
107 | ${ENEA_GPL} \ | ||
108 | ${ENEA_BSD} \ | ||
109 | ethtool \ | ||
110 | libxml2 \ | ||
111 | gdb \ | ||
112 | elfutils \ | ||
113 | " | ||
114 | |||
115 | |||
116 | RRECOMMENDS_${PN} = " \ | ||
117 | ptest-runner \ | ||
118 | " | ||
diff --git a/recipes-core/packagegroups/packagegroup-enea-rt-tools.bb b/recipes-core/packagegroups/packagegroup-enea-rt-tools.bb new file mode 100644 index 0000000..7515ed4 --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-enea-rt-tools.bb | |||
@@ -0,0 +1,13 @@ | |||
1 | DESCRIPTION = "Enea RT-tools package group" | ||
2 | LICENSE = "MIT" | ||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ | ||
4 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
5 | PR = "r1" | ||
6 | |||
7 | inherit packagegroup | ||
8 | |||
9 | RDEPENDS_${PN} = " \ | ||
10 | partrt \ | ||
11 | count-ticks \ | ||
12 | list2mask \ | ||
13 | " | ||
diff --git a/recipes-core/packagegroups/packagegroup-enea-sys.bb b/recipes-core/packagegroups/packagegroup-enea-sys.bb new file mode 100644 index 0000000..9ec9756 --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-enea-sys.bb | |||
@@ -0,0 +1,18 @@ | |||
1 | DESCRIPTION = "Package group for system test" | ||
2 | LICENSE = "MIT" | ||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ | ||
4 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
5 | PR = "r0" | ||
6 | |||
7 | inherit packagegroup | ||
8 | |||
9 | RDEPENDS_${PN} = "\ | ||
10 | ltp \ | ||
11 | logrotate \ | ||
12 | sudo \ | ||
13 | " | ||
14 | |||
15 | RRECOMMENDS_${PN} = "\ | ||
16 | systest-runner \ | ||
17 | perf-networking \ | ||
18 | " | ||
diff --git a/recipes-core/sysvinit/sysvinit_2.88dsf.bbappend b/recipes-core/sysvinit/sysvinit_2.88dsf.bbappend new file mode 100644 index 0000000..4fd3c00 --- /dev/null +++ b/recipes-core/sysvinit/sysvinit_2.88dsf.bbappend | |||
@@ -0,0 +1,3 @@ | |||
1 | do_install_append(){ | ||
2 | chmod o+x ${D}${base_sbindir}/shutdown | ||
3 | } | ||
diff --git a/recipes-devtools/binutils/binutils-2.24.inc b/recipes-devtools/binutils/binutils-2.24.inc new file mode 100644 index 0000000..3a1186c --- /dev/null +++ b/recipes-devtools/binutils/binutils-2.24.inc | |||
@@ -0,0 +1,6 @@ | |||
1 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | ||
2 | |||
3 | SRC_URI += "\ | ||
4 | file://0001-Revert-Report-overflow-on-PowerPC64-h-and-ha-relocat.patch \ | ||
5 | " | ||
6 | |||
diff --git a/recipes-devtools/binutils/binutils-cross-canadian_2.24.bbappend b/recipes-devtools/binutils/binutils-cross-canadian_2.24.bbappend new file mode 100644 index 0000000..0427595 --- /dev/null +++ b/recipes-devtools/binutils/binutils-cross-canadian_2.24.bbappend | |||
@@ -0,0 +1 @@ | |||
require binutils-${PV}.inc | |||
diff --git a/recipes-devtools/binutils/binutils-cross_2.24.bbappend b/recipes-devtools/binutils/binutils-cross_2.24.bbappend new file mode 100644 index 0000000..0427595 --- /dev/null +++ b/recipes-devtools/binutils/binutils-cross_2.24.bbappend | |||
@@ -0,0 +1 @@ | |||
require binutils-${PV}.inc | |||
diff --git a/recipes-devtools/binutils/binutils-crosssdk_2.24.bbappend b/recipes-devtools/binutils/binutils-crosssdk_2.24.bbappend new file mode 100644 index 0000000..0427595 --- /dev/null +++ b/recipes-devtools/binutils/binutils-crosssdk_2.24.bbappend | |||
@@ -0,0 +1 @@ | |||
require binutils-${PV}.inc | |||
diff --git a/recipes-devtools/binutils/binutils_2.24.bbappend b/recipes-devtools/binutils/binutils_2.24.bbappend new file mode 100644 index 0000000..0427595 --- /dev/null +++ b/recipes-devtools/binutils/binutils_2.24.bbappend | |||
@@ -0,0 +1 @@ | |||
require binutils-${PV}.inc | |||
diff --git a/recipes-devtools/binutils/files/0001-Revert-Report-overflow-on-PowerPC64-h-and-ha-relocat.patch b/recipes-devtools/binutils/files/0001-Revert-Report-overflow-on-PowerPC64-h-and-ha-relocat.patch new file mode 100644 index 0000000..bda760f --- /dev/null +++ b/recipes-devtools/binutils/files/0001-Revert-Report-overflow-on-PowerPC64-h-and-ha-relocat.patch | |||
@@ -0,0 +1,1087 @@ | |||
1 | From 269bee7df1abfdc230f1ed6a6de3150adffde962 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com> | ||
3 | Date: Fri, 11 Apr 2014 16:15:36 +0300 | ||
4 | Subject: [PATCH] Revert 'Report overflow on PowerPC64 @h and @ha | ||
5 | relocations.' patch | ||
6 | |||
7 | --- | ||
8 | bfd/elf64-ppc.c | 183 +++++++++------------------------------------------ | ||
9 | bfd/reloc.c | 12 ---- | ||
10 | elfcpp/powerpc.h | 6 -- | ||
11 | gas/config/tc-ppc.c | 139 ++++++++++---------------------------- | ||
12 | gold/powerpc.cc | 130 +++++++++++------------------------- | ||
13 | include/elf/ppc64.h | 13 +--- | ||
14 | 6 files changed, 109 insertions(+), 374 deletions(-) | ||
15 | |||
16 | diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c | ||
17 | index bf13a5d..ba3c655 100644 | ||
18 | --- a/bfd/elf64-ppc.c | ||
19 | +++ b/bfd/elf64-ppc.c | ||
20 | @@ -327,7 +327,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
21 | 16, /* bitsize */ | ||
22 | FALSE, /* pc_relative */ | ||
23 | 0, /* bitpos */ | ||
24 | - complain_overflow_signed, /* complain_on_overflow */ | ||
25 | + complain_overflow_dont, /* complain_on_overflow */ | ||
26 | bfd_elf_generic_reloc, /* special_function */ | ||
27 | "R_PPC64_ADDR16_HI", /* name */ | ||
28 | FALSE, /* partial_inplace */ | ||
29 | @@ -343,7 +343,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
30 | 16, /* bitsize */ | ||
31 | FALSE, /* pc_relative */ | ||
32 | 0, /* bitpos */ | ||
33 | - complain_overflow_signed, /* complain_on_overflow */ | ||
34 | + complain_overflow_dont, /* complain_on_overflow */ | ||
35 | ppc64_elf_ha_reloc, /* special_function */ | ||
36 | "R_PPC64_ADDR16_HA", /* name */ | ||
37 | FALSE, /* partial_inplace */ | ||
38 | @@ -505,7 +505,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
39 | 16, /* bitsize */ | ||
40 | FALSE, /* pc_relative */ | ||
41 | 0, /* bitpos */ | ||
42 | - complain_overflow_signed,/* complain_on_overflow */ | ||
43 | + complain_overflow_dont,/* complain_on_overflow */ | ||
44 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
45 | "R_PPC64_GOT16_HI", /* name */ | ||
46 | FALSE, /* partial_inplace */ | ||
47 | @@ -521,7 +521,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
48 | 16, /* bitsize */ | ||
49 | FALSE, /* pc_relative */ | ||
50 | 0, /* bitpos */ | ||
51 | - complain_overflow_signed,/* complain_on_overflow */ | ||
52 | + complain_overflow_dont,/* complain_on_overflow */ | ||
53 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
54 | "R_PPC64_GOT16_HA", /* name */ | ||
55 | FALSE, /* partial_inplace */ | ||
56 | @@ -698,7 +698,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
57 | 16, /* bitsize */ | ||
58 | FALSE, /* pc_relative */ | ||
59 | 0, /* bitpos */ | ||
60 | - complain_overflow_signed, /* complain_on_overflow */ | ||
61 | + complain_overflow_dont, /* complain_on_overflow */ | ||
62 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
63 | "R_PPC64_PLT16_HI", /* name */ | ||
64 | FALSE, /* partial_inplace */ | ||
65 | @@ -714,7 +714,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
66 | 16, /* bitsize */ | ||
67 | FALSE, /* pc_relative */ | ||
68 | 0, /* bitpos */ | ||
69 | - complain_overflow_signed, /* complain_on_overflow */ | ||
70 | + complain_overflow_dont, /* complain_on_overflow */ | ||
71 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
72 | "R_PPC64_PLT16_HA", /* name */ | ||
73 | FALSE, /* partial_inplace */ | ||
74 | @@ -759,7 +759,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
75 | 16, /* bitsize */ | ||
76 | FALSE, /* pc_relative */ | ||
77 | 0, /* bitpos */ | ||
78 | - complain_overflow_signed, /* complain_on_overflow */ | ||
79 | + complain_overflow_dont, /* complain_on_overflow */ | ||
80 | ppc64_elf_sectoff_reloc, /* special_function */ | ||
81 | "R_PPC64_SECTOFF_HI", /* name */ | ||
82 | FALSE, /* partial_inplace */ | ||
83 | @@ -774,7 +774,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
84 | 16, /* bitsize */ | ||
85 | FALSE, /* pc_relative */ | ||
86 | 0, /* bitpos */ | ||
87 | - complain_overflow_signed, /* complain_on_overflow */ | ||
88 | + complain_overflow_dont, /* complain_on_overflow */ | ||
89 | ppc64_elf_sectoff_ha_reloc, /* special_function */ | ||
90 | "R_PPC64_SECTOFF_HA", /* name */ | ||
91 | FALSE, /* partial_inplace */ | ||
92 | @@ -981,7 +981,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
93 | 16, /* bitsize */ | ||
94 | FALSE, /* pc_relative */ | ||
95 | 0, /* bitpos */ | ||
96 | - complain_overflow_signed, /* complain_on_overflow */ | ||
97 | + complain_overflow_dont, /* complain_on_overflow */ | ||
98 | ppc64_elf_toc_reloc, /* special_function */ | ||
99 | "R_PPC64_TOC16_HI", /* name */ | ||
100 | FALSE, /* partial_inplace */ | ||
101 | @@ -1000,7 +1000,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
102 | 16, /* bitsize */ | ||
103 | FALSE, /* pc_relative */ | ||
104 | 0, /* bitpos */ | ||
105 | - complain_overflow_signed, /* complain_on_overflow */ | ||
106 | + complain_overflow_dont, /* complain_on_overflow */ | ||
107 | ppc64_elf_toc_ha_reloc, /* special_function */ | ||
108 | "R_PPC64_TOC16_HA", /* name */ | ||
109 | FALSE, /* partial_inplace */ | ||
110 | @@ -1072,7 +1072,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
111 | 16, /* bitsize */ | ||
112 | FALSE, /* pc_relative */ | ||
113 | 0, /* bitpos */ | ||
114 | - complain_overflow_signed, /* complain_on_overflow */ | ||
115 | + complain_overflow_dont, /* complain_on_overflow */ | ||
116 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
117 | "R_PPC64_PLTGOT16_HI", /* name */ | ||
118 | FALSE, /* partial_inplace */ | ||
119 | @@ -1090,7 +1090,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
120 | 16, /* bitsize */ | ||
121 | FALSE, /* pc_relative */ | ||
122 | 0, /* bitpos */ | ||
123 | - complain_overflow_signed, /* complain_on_overflow */ | ||
124 | + complain_overflow_dont,/* complain_on_overflow */ | ||
125 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
126 | "R_PPC64_PLTGOT16_HA", /* name */ | ||
127 | FALSE, /* partial_inplace */ | ||
128 | @@ -1392,7 +1392,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
129 | 16, /* bitsize */ | ||
130 | FALSE, /* pc_relative */ | ||
131 | 0, /* bitpos */ | ||
132 | - complain_overflow_signed, /* complain_on_overflow */ | ||
133 | + complain_overflow_dont, /* complain_on_overflow */ | ||
134 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
135 | "R_PPC64_DTPREL16_HI", /* name */ | ||
136 | FALSE, /* partial_inplace */ | ||
137 | @@ -1407,7 +1407,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
138 | 16, /* bitsize */ | ||
139 | FALSE, /* pc_relative */ | ||
140 | 0, /* bitpos */ | ||
141 | - complain_overflow_signed, /* complain_on_overflow */ | ||
142 | + complain_overflow_dont, /* complain_on_overflow */ | ||
143 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
144 | "R_PPC64_DTPREL16_HA", /* name */ | ||
145 | FALSE, /* partial_inplace */ | ||
146 | @@ -1558,7 +1558,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
147 | 16, /* bitsize */ | ||
148 | FALSE, /* pc_relative */ | ||
149 | 0, /* bitpos */ | ||
150 | - complain_overflow_signed, /* complain_on_overflow */ | ||
151 | + complain_overflow_dont, /* complain_on_overflow */ | ||
152 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
153 | "R_PPC64_TPREL16_HI", /* name */ | ||
154 | FALSE, /* partial_inplace */ | ||
155 | @@ -1573,7 +1573,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
156 | 16, /* bitsize */ | ||
157 | FALSE, /* pc_relative */ | ||
158 | 0, /* bitpos */ | ||
159 | - complain_overflow_signed, /* complain_on_overflow */ | ||
160 | + complain_overflow_dont, /* complain_on_overflow */ | ||
161 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
162 | "R_PPC64_TPREL16_HA", /* name */ | ||
163 | FALSE, /* partial_inplace */ | ||
164 | @@ -1710,7 +1710,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
165 | 16, /* bitsize */ | ||
166 | FALSE, /* pc_relative */ | ||
167 | 0, /* bitpos */ | ||
168 | - complain_overflow_signed, /* complain_on_overflow */ | ||
169 | + complain_overflow_dont, /* complain_on_overflow */ | ||
170 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
171 | "R_PPC64_GOT_TLSGD16_HI", /* name */ | ||
172 | FALSE, /* partial_inplace */ | ||
173 | @@ -1725,7 +1725,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
174 | 16, /* bitsize */ | ||
175 | FALSE, /* pc_relative */ | ||
176 | 0, /* bitpos */ | ||
177 | - complain_overflow_signed, /* complain_on_overflow */ | ||
178 | + complain_overflow_dont, /* complain_on_overflow */ | ||
179 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
180 | "R_PPC64_GOT_TLSGD16_HA", /* name */ | ||
181 | FALSE, /* partial_inplace */ | ||
182 | @@ -1772,7 +1772,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
183 | 16, /* bitsize */ | ||
184 | FALSE, /* pc_relative */ | ||
185 | 0, /* bitpos */ | ||
186 | - complain_overflow_signed, /* complain_on_overflow */ | ||
187 | + complain_overflow_dont, /* complain_on_overflow */ | ||
188 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
189 | "R_PPC64_GOT_TLSLD16_HI", /* name */ | ||
190 | FALSE, /* partial_inplace */ | ||
191 | @@ -1787,7 +1787,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
192 | 16, /* bitsize */ | ||
193 | FALSE, /* pc_relative */ | ||
194 | 0, /* bitpos */ | ||
195 | - complain_overflow_signed, /* complain_on_overflow */ | ||
196 | + complain_overflow_dont, /* complain_on_overflow */ | ||
197 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
198 | "R_PPC64_GOT_TLSLD16_HA", /* name */ | ||
199 | FALSE, /* partial_inplace */ | ||
200 | @@ -1833,7 +1833,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
201 | 16, /* bitsize */ | ||
202 | FALSE, /* pc_relative */ | ||
203 | 0, /* bitpos */ | ||
204 | - complain_overflow_signed, /* complain_on_overflow */ | ||
205 | + complain_overflow_dont, /* complain_on_overflow */ | ||
206 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
207 | "R_PPC64_GOT_DTPREL16_HI", /* name */ | ||
208 | FALSE, /* partial_inplace */ | ||
209 | @@ -1848,7 +1848,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
210 | 16, /* bitsize */ | ||
211 | FALSE, /* pc_relative */ | ||
212 | 0, /* bitpos */ | ||
213 | - complain_overflow_signed, /* complain_on_overflow */ | ||
214 | + complain_overflow_dont, /* complain_on_overflow */ | ||
215 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
216 | "R_PPC64_GOT_DTPREL16_HA", /* name */ | ||
217 | FALSE, /* partial_inplace */ | ||
218 | @@ -1894,7 +1894,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
219 | 16, /* bitsize */ | ||
220 | FALSE, /* pc_relative */ | ||
221 | 0, /* bitpos */ | ||
222 | - complain_overflow_signed, /* complain_on_overflow */ | ||
223 | + complain_overflow_dont, /* complain_on_overflow */ | ||
224 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
225 | "R_PPC64_GOT_TPREL16_HI", /* name */ | ||
226 | FALSE, /* partial_inplace */ | ||
227 | @@ -1909,7 +1909,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
228 | 16, /* bitsize */ | ||
229 | FALSE, /* pc_relative */ | ||
230 | 0, /* bitpos */ | ||
231 | - complain_overflow_signed, /* complain_on_overflow */ | ||
232 | + complain_overflow_dont, /* complain_on_overflow */ | ||
233 | ppc64_elf_unhandled_reloc, /* special_function */ | ||
234 | "R_PPC64_GOT_TPREL16_HA", /* name */ | ||
235 | FALSE, /* partial_inplace */ | ||
236 | @@ -1982,7 +1982,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
237 | 16, /* bitsize */ | ||
238 | TRUE, /* pc_relative */ | ||
239 | 0, /* bitpos */ | ||
240 | - complain_overflow_signed, /* complain_on_overflow */ | ||
241 | + complain_overflow_dont, /* complain_on_overflow */ | ||
242 | bfd_elf_generic_reloc, /* special_function */ | ||
243 | "R_PPC64_REL16_HI", /* name */ | ||
244 | FALSE, /* partial_inplace */ | ||
245 | @@ -1998,7 +1998,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
246 | 16, /* bitsize */ | ||
247 | TRUE, /* pc_relative */ | ||
248 | 0, /* bitpos */ | ||
249 | - complain_overflow_signed, /* complain_on_overflow */ | ||
250 | + complain_overflow_dont, /* complain_on_overflow */ | ||
251 | ppc64_elf_ha_reloc, /* special_function */ | ||
252 | "R_PPC64_REL16_HA", /* name */ | ||
253 | FALSE, /* partial_inplace */ | ||
254 | @@ -2006,96 +2006,6 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { | ||
255 | 0xffff, /* dst_mask */ | ||
256 | TRUE), /* pcrel_offset */ | ||
257 | |||
258 | - /* Like R_PPC64_ADDR16_HI, but no overflow. */ | ||
259 | - HOWTO (R_PPC64_ADDR16_HIGH, /* type */ | ||
260 | - 16, /* rightshift */ | ||
261 | - 1, /* size (0 = byte, 1 = short, 2 = long) */ | ||
262 | - 16, /* bitsize */ | ||
263 | - FALSE, /* pc_relative */ | ||
264 | - 0, /* bitpos */ | ||
265 | - complain_overflow_dont, /* complain_on_overflow */ | ||
266 | - bfd_elf_generic_reloc, /* special_function */ | ||
267 | - "R_PPC64_ADDR16_HIGH", /* name */ | ||
268 | - FALSE, /* partial_inplace */ | ||
269 | - 0, /* src_mask */ | ||
270 | - 0xffff, /* dst_mask */ | ||
271 | - FALSE), /* pcrel_offset */ | ||
272 | - | ||
273 | - /* Like R_PPC64_ADDR16_HA, but no overflow. */ | ||
274 | - HOWTO (R_PPC64_ADDR16_HIGHA, /* type */ | ||
275 | - 16, /* rightshift */ | ||
276 | - 1, /* size (0 = byte, 1 = short, 2 = long) */ | ||
277 | - 16, /* bitsize */ | ||
278 | - FALSE, /* pc_relative */ | ||
279 | - 0, /* bitpos */ | ||
280 | - complain_overflow_dont, /* complain_on_overflow */ | ||
281 | - ppc64_elf_ha_reloc, /* special_function */ | ||
282 | - "R_PPC64_ADDR16_HIGHA", /* name */ | ||
283 | - FALSE, /* partial_inplace */ | ||
284 | - 0, /* src_mask */ | ||
285 | - 0xffff, /* dst_mask */ | ||
286 | - FALSE), /* pcrel_offset */ | ||
287 | - | ||
288 | - /* Like R_PPC64_DTPREL16_HI, but no overflow. */ | ||
289 | - HOWTO (R_PPC64_DTPREL16_HIGH, | ||
290 | - 16, /* rightshift */ | ||
291 | - 1, /* size (0 = byte, 1 = short, 2 = long) */ | ||
292 | - 16, /* bitsize */ | ||
293 | - FALSE, /* pc_relative */ | ||
294 | - 0, /* bitpos */ | ||
295 | - complain_overflow_dont, /* complain_on_overflow */ | ||
296 | - ppc64_elf_unhandled_reloc, /* special_function */ | ||
297 | - "R_PPC64_DTPREL16_HIGH", /* name */ | ||
298 | - FALSE, /* partial_inplace */ | ||
299 | - 0, /* src_mask */ | ||
300 | - 0xffff, /* dst_mask */ | ||
301 | - FALSE), /* pcrel_offset */ | ||
302 | - | ||
303 | - /* Like R_PPC64_DTPREL16_HA, but no overflow. */ | ||
304 | - HOWTO (R_PPC64_DTPREL16_HIGHA, | ||
305 | - 16, /* rightshift */ | ||
306 | - 1, /* size (0 = byte, 1 = short, 2 = long) */ | ||
307 | - 16, /* bitsize */ | ||
308 | - FALSE, /* pc_relative */ | ||
309 | - 0, /* bitpos */ | ||
310 | - complain_overflow_dont, /* complain_on_overflow */ | ||
311 | - ppc64_elf_unhandled_reloc, /* special_function */ | ||
312 | - "R_PPC64_DTPREL16_HIGHA", /* name */ | ||
313 | - FALSE, /* partial_inplace */ | ||
314 | - 0, /* src_mask */ | ||
315 | - 0xffff, /* dst_mask */ | ||
316 | - FALSE), /* pcrel_offset */ | ||
317 | - | ||
318 | - /* Like R_PPC64_TPREL16_HI, but no overflow. */ | ||
319 | - HOWTO (R_PPC64_TPREL16_HIGH, | ||
320 | - 16, /* rightshift */ | ||
321 | - 1, /* size (0 = byte, 1 = short, 2 = long) */ | ||
322 | - 16, /* bitsize */ | ||
323 | - FALSE, /* pc_relative */ | ||
324 | - 0, /* bitpos */ | ||
325 | - complain_overflow_dont, /* complain_on_overflow */ | ||
326 | - ppc64_elf_unhandled_reloc, /* special_function */ | ||
327 | - "R_PPC64_TPREL16_HIGH", /* name */ | ||
328 | - FALSE, /* partial_inplace */ | ||
329 | - 0, /* src_mask */ | ||
330 | - 0xffff, /* dst_mask */ | ||
331 | - FALSE), /* pcrel_offset */ | ||
332 | - | ||
333 | - /* Like R_PPC64_TPREL16_HA, but no overflow. */ | ||
334 | - HOWTO (R_PPC64_TPREL16_HIGHA, | ||
335 | - 16, /* rightshift */ | ||
336 | - 1, /* size (0 = byte, 1 = short, 2 = long) */ | ||
337 | - 16, /* bitsize */ | ||
338 | - FALSE, /* pc_relative */ | ||
339 | - 0, /* bitpos */ | ||
340 | - complain_overflow_dont, /* complain_on_overflow */ | ||
341 | - ppc64_elf_unhandled_reloc, /* special_function */ | ||
342 | - "R_PPC64_TPREL16_HIGHA", /* name */ | ||
343 | - FALSE, /* partial_inplace */ | ||
344 | - 0, /* src_mask */ | ||
345 | - 0xffff, /* dst_mask */ | ||
346 | - FALSE), /* pcrel_offset */ | ||
347 | - | ||
348 | /* GNU extension to record C++ vtable hierarchy. */ | ||
349 | HOWTO (R_PPC64_GNU_VTINHERIT, /* type */ | ||
350 | 0, /* rightshift */ | ||
351 | @@ -2174,12 +2084,8 @@ ppc64_elf_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, | ||
352 | break; | ||
353 | case BFD_RELOC_HI16: r = R_PPC64_ADDR16_HI; | ||
354 | break; | ||
355 | - case BFD_RELOC_PPC64_ADDR16_HIGH: r = R_PPC64_ADDR16_HIGH; | ||
356 | - break; | ||
357 | case BFD_RELOC_HI16_S: r = R_PPC64_ADDR16_HA; | ||
358 | break; | ||
359 | - case BFD_RELOC_PPC64_ADDR16_HIGHA: r = R_PPC64_ADDR16_HIGHA; | ||
360 | - break; | ||
361 | case BFD_RELOC_PPC_BA16: r = R_PPC64_ADDR14; | ||
362 | break; | ||
363 | case BFD_RELOC_PPC_BA16_BRTAKEN: r = R_PPC64_ADDR14_BRTAKEN; | ||
364 | @@ -2298,12 +2204,8 @@ ppc64_elf_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, | ||
365 | break; | ||
366 | case BFD_RELOC_PPC_TPREL16_HI: r = R_PPC64_TPREL16_HI; | ||
367 | break; | ||
368 | - case BFD_RELOC_PPC64_TPREL16_HIGH: r = R_PPC64_TPREL16_HIGH; | ||
369 | - break; | ||
370 | case BFD_RELOC_PPC_TPREL16_HA: r = R_PPC64_TPREL16_HA; | ||
371 | break; | ||
372 | - case BFD_RELOC_PPC64_TPREL16_HIGHA: r = R_PPC64_TPREL16_HIGHA; | ||
373 | - break; | ||
374 | case BFD_RELOC_PPC_TPREL: r = R_PPC64_TPREL64; | ||
375 | break; | ||
376 | case BFD_RELOC_PPC_DTPREL16: r = R_PPC64_DTPREL16; | ||
377 | @@ -2312,12 +2214,8 @@ ppc64_elf_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, | ||
378 | break; | ||
379 | case BFD_RELOC_PPC_DTPREL16_HI: r = R_PPC64_DTPREL16_HI; | ||
380 | break; | ||
381 | - case BFD_RELOC_PPC64_DTPREL16_HIGH: r = R_PPC64_DTPREL16_HIGH; | ||
382 | - break; | ||
383 | case BFD_RELOC_PPC_DTPREL16_HA: r = R_PPC64_DTPREL16_HA; | ||
384 | break; | ||
385 | - case BFD_RELOC_PPC64_DTPREL16_HIGHA: r = R_PPC64_DTPREL16_HIGHA; | ||
386 | - break; | ||
387 | case BFD_RELOC_PPC_DTPREL: r = R_PPC64_DTPREL64; | ||
388 | break; | ||
389 | case BFD_RELOC_PPC_GOT_TLSGD16: r = R_PPC64_GOT_TLSGD16; | ||
390 | @@ -3662,8 +3560,6 @@ must_be_dyn_reloc (struct bfd_link_info *info, | ||
391 | case R_PPC64_TPREL16_HA: | ||
392 | case R_PPC64_TPREL16_DS: | ||
393 | case R_PPC64_TPREL16_LO_DS: | ||
394 | - case R_PPC64_TPREL16_HIGH: | ||
395 | - case R_PPC64_TPREL16_HIGHA: | ||
396 | case R_PPC64_TPREL16_HIGHER: | ||
397 | case R_PPC64_TPREL16_HIGHERA: | ||
398 | case R_PPC64_TPREL16_HIGHEST: | ||
399 | @@ -5394,8 +5290,6 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, | ||
400 | case R_PPC64_DTPREL16_HA: | ||
401 | case R_PPC64_DTPREL16_DS: | ||
402 | case R_PPC64_DTPREL16_LO_DS: | ||
403 | - case R_PPC64_DTPREL16_HIGH: | ||
404 | - case R_PPC64_DTPREL16_HIGHA: | ||
405 | case R_PPC64_DTPREL16_HIGHER: | ||
406 | case R_PPC64_DTPREL16_HIGHERA: | ||
407 | case R_PPC64_DTPREL16_HIGHEST: | ||
408 | @@ -5556,8 +5450,6 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, | ||
409 | case R_PPC64_TPREL16_HA: | ||
410 | case R_PPC64_TPREL16_DS: | ||
411 | case R_PPC64_TPREL16_LO_DS: | ||
412 | - case R_PPC64_TPREL16_HIGH: | ||
413 | - case R_PPC64_TPREL16_HIGHA: | ||
414 | case R_PPC64_TPREL16_HIGHER: | ||
415 | case R_PPC64_TPREL16_HIGHERA: | ||
416 | case R_PPC64_TPREL16_HIGHEST: | ||
417 | @@ -5605,8 +5497,6 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, | ||
418 | case R_PPC64_ADDR16_DS: | ||
419 | case R_PPC64_ADDR16_HA: | ||
420 | case R_PPC64_ADDR16_HI: | ||
421 | - case R_PPC64_ADDR16_HIGH: | ||
422 | - case R_PPC64_ADDR16_HIGHA: | ||
423 | case R_PPC64_ADDR16_HIGHER: | ||
424 | case R_PPC64_ADDR16_HIGHERA: | ||
425 | case R_PPC64_ADDR16_HIGHEST: | ||
426 | @@ -7363,8 +7253,6 @@ dec_dynrel_count (bfd_vma r_info, | ||
427 | case R_PPC64_TPREL16_HA: | ||
428 | case R_PPC64_TPREL16_DS: | ||
429 | case R_PPC64_TPREL16_LO_DS: | ||
430 | - case R_PPC64_TPREL16_HIGH: | ||
431 | - case R_PPC64_TPREL16_HIGHA: | ||
432 | case R_PPC64_TPREL16_HIGHER: | ||
433 | case R_PPC64_TPREL16_HIGHERA: | ||
434 | case R_PPC64_TPREL16_HIGHEST: | ||
435 | @@ -7386,8 +7274,6 @@ dec_dynrel_count (bfd_vma r_info, | ||
436 | case R_PPC64_ADDR16_DS: | ||
437 | case R_PPC64_ADDR16_HA: | ||
438 | case R_PPC64_ADDR16_HI: | ||
439 | - case R_PPC64_ADDR16_HIGH: | ||
440 | - case R_PPC64_ADDR16_HIGHA: | ||
441 | case R_PPC64_ADDR16_HIGHER: | ||
442 | case R_PPC64_ADDR16_HIGHERA: | ||
443 | case R_PPC64_ADDR16_HIGHEST: | ||
444 | @@ -14091,8 +13977,6 @@ ppc64_elf_relocate_section (bfd *output_bfd, | ||
445 | case R_PPC64_TPREL16_HA: | ||
446 | case R_PPC64_TPREL16_DS: | ||
447 | case R_PPC64_TPREL16_LO_DS: | ||
448 | - case R_PPC64_TPREL16_HIGH: | ||
449 | - case R_PPC64_TPREL16_HIGHA: | ||
450 | case R_PPC64_TPREL16_HIGHER: | ||
451 | case R_PPC64_TPREL16_HIGHERA: | ||
452 | case R_PPC64_TPREL16_HIGHEST: | ||
453 | @@ -14127,8 +14011,6 @@ ppc64_elf_relocate_section (bfd *output_bfd, | ||
454 | case R_PPC64_DTPREL16_HA: | ||
455 | case R_PPC64_DTPREL16_DS: | ||
456 | case R_PPC64_DTPREL16_LO_DS: | ||
457 | - case R_PPC64_DTPREL16_HIGH: | ||
458 | - case R_PPC64_DTPREL16_HIGHA: | ||
459 | case R_PPC64_DTPREL16_HIGHER: | ||
460 | case R_PPC64_DTPREL16_HIGHERA: | ||
461 | case R_PPC64_DTPREL16_HIGHEST: | ||
462 | @@ -14161,8 +14043,6 @@ ppc64_elf_relocate_section (bfd *output_bfd, | ||
463 | case R_PPC64_ADDR16_DS: | ||
464 | case R_PPC64_ADDR16_HA: | ||
465 | case R_PPC64_ADDR16_HI: | ||
466 | - case R_PPC64_ADDR16_HIGH: | ||
467 | - case R_PPC64_ADDR16_HIGHA: | ||
468 | case R_PPC64_ADDR16_HIGHER: | ||
469 | case R_PPC64_ADDR16_HIGHERA: | ||
470 | case R_PPC64_ADDR16_HIGHEST: | ||
471 | @@ -14477,20 +14357,21 @@ ppc64_elf_relocate_section (bfd *output_bfd, | ||
472 | default: | ||
473 | break; | ||
474 | |||
475 | - case R_PPC64_REL16_HA: | ||
476 | case R_PPC64_ADDR16_HA: | ||
477 | - case R_PPC64_ADDR16_HIGHA: | ||
478 | + case R_PPC64_REL16_HA: | ||
479 | case R_PPC64_ADDR16_HIGHERA: | ||
480 | case R_PPC64_ADDR16_HIGHESTA: | ||
481 | case R_PPC64_TOC16_HA: | ||
482 | case R_PPC64_SECTOFF_HA: | ||
483 | case R_PPC64_TPREL16_HA: | ||
484 | - case R_PPC64_TPREL16_HIGHA: | ||
485 | + case R_PPC64_DTPREL16_HA: | ||
486 | + case R_PPC64_TPREL16_HIGHER: | ||
487 | case R_PPC64_TPREL16_HIGHERA: | ||
488 | + case R_PPC64_TPREL16_HIGHEST: | ||
489 | case R_PPC64_TPREL16_HIGHESTA: | ||
490 | - case R_PPC64_DTPREL16_HA: | ||
491 | - case R_PPC64_DTPREL16_HIGHA: | ||
492 | + case R_PPC64_DTPREL16_HIGHER: | ||
493 | case R_PPC64_DTPREL16_HIGHERA: | ||
494 | + case R_PPC64_DTPREL16_HIGHEST: | ||
495 | case R_PPC64_DTPREL16_HIGHESTA: | ||
496 | /* It's just possible that this symbol is a weak symbol | ||
497 | that's not actually defined anywhere. In that case, | ||
498 | diff --git a/bfd/reloc.c b/bfd/reloc.c | ||
499 | index 77a04f8..cc34760 100644 | ||
500 | --- a/bfd/reloc.c | ||
501 | +++ b/bfd/reloc.c | ||
502 | @@ -2895,10 +2895,6 @@ ENUMX | ||
503 | BFD_RELOC_PPC64_PLTGOT16_DS | ||
504 | ENUMX | ||
505 | BFD_RELOC_PPC64_PLTGOT16_LO_DS | ||
506 | -ENUMX | ||
507 | - BFD_RELOC_PPC64_ADDR16_HIGH | ||
508 | -ENUMX | ||
509 | - BFD_RELOC_PPC64_ADDR16_HIGHA | ||
510 | ENUMDOC | ||
511 | Power(rs6000) and PowerPC relocations. | ||
512 | |||
513 | @@ -2986,14 +2982,6 @@ ENUMX | ||
514 | BFD_RELOC_PPC64_DTPREL16_HIGHEST | ||
515 | ENUMX | ||
516 | BFD_RELOC_PPC64_DTPREL16_HIGHESTA | ||
517 | -ENUMX | ||
518 | - BFD_RELOC_PPC64_TPREL16_HIGH | ||
519 | -ENUMX | ||
520 | - BFD_RELOC_PPC64_TPREL16_HIGHA | ||
521 | -ENUMX | ||
522 | - BFD_RELOC_PPC64_DTPREL16_HIGH | ||
523 | -ENUMX | ||
524 | - BFD_RELOC_PPC64_DTPREL16_HIGHA | ||
525 | ENUMDOC | ||
526 | PowerPC and PowerPC64 thread-local storage relocations. | ||
527 | |||
528 | diff --git a/elfcpp/powerpc.h b/elfcpp/powerpc.h | ||
529 | index 98354a2..0f13eda 100644 | ||
530 | --- a/elfcpp/powerpc.h | ||
531 | +++ b/elfcpp/powerpc.h | ||
532 | @@ -164,17 +164,11 @@ enum | ||
533 | R_PPC_EMB_SDA21 = 109, | ||
534 | R_PPC64_TOCSAVE = 109, | ||
535 | R_PPC_EMB_MRKREF = 110, | ||
536 | - R_PPC64_ADDR16_HIGH = 110, | ||
537 | R_PPC_EMB_RELSEC16 = 111, | ||
538 | - R_PPC64_ADDR16_HIGHA = 111, | ||
539 | R_PPC_EMB_RELST_LO = 112, | ||
540 | - R_PPC64_TPREL16_HIGH = 112, | ||
541 | R_PPC_EMB_RELST_HI = 113, | ||
542 | - R_PPC64_TPREL16_HIGHA = 113, | ||
543 | R_PPC_EMB_RELST_HA = 114, | ||
544 | - R_PPC64_DTPREL16_HIGH = 114, | ||
545 | R_PPC_EMB_BIT_FLD = 115, | ||
546 | - R_PPC64_DTPREL16_HIGHA = 115, | ||
547 | R_PPC_EMB_RELSDA = 116, | ||
548 | |||
549 | R_PPC_VLE_REL8 = 216, | ||
550 | diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c | ||
551 | index 7c99e43..d888aee 100644 | ||
552 | --- a/gas/config/tc-ppc.c | ||
553 | +++ b/gas/config/tc-ppc.c | ||
554 | @@ -87,11 +87,7 @@ static int set_target_endian = 0; | ||
555 | compensating for #lo being treated as a signed number. */ | ||
556 | #define PPC_HIGHESTA(v) PPC_HIGHEST ((v) + 0x8000) | ||
557 | |||
558 | -#define SEX16(val) (((val) ^ 0x8000) - 0x8000) | ||
559 | - | ||
560 | -/* For the time being on ppc64, don't report overflow on @h and @ha | ||
561 | - applied to constants. */ | ||
562 | -#define REPORT_OVERFLOW_HI 0 | ||
563 | +#define SEX16(val) ((((val) & 0xffff) ^ 0x8000) - 0x8000) | ||
564 | |||
565 | static bfd_boolean reg_names_p = TARGET_REG_NAMES_P; | ||
566 | |||
567 | @@ -1935,8 +1931,6 @@ ppc_elf_suffix (char **str_p, expressionS *exp_p) | ||
568 | MAP32 ("bitfld", BFD_RELOC_PPC_EMB_BIT_FLD), | ||
569 | MAP32 ("relsda", BFD_RELOC_PPC_EMB_RELSDA), | ||
570 | MAP32 ("xgot", BFD_RELOC_PPC_TOC16), | ||
571 | - MAP64 ("high", BFD_RELOC_PPC64_ADDR16_HIGH), | ||
572 | - MAP64 ("higha", BFD_RELOC_PPC64_ADDR16_HIGHA), | ||
573 | MAP64 ("higher", BFD_RELOC_PPC64_HIGHER), | ||
574 | MAP64 ("highera", BFD_RELOC_PPC64_HIGHER_S), | ||
575 | MAP64 ("highest", BFD_RELOC_PPC64_HIGHEST), | ||
576 | @@ -1946,14 +1940,10 @@ ppc_elf_suffix (char **str_p, expressionS *exp_p) | ||
577 | MAP64 ("toc@l", BFD_RELOC_PPC64_TOC16_LO), | ||
578 | MAP64 ("toc@h", BFD_RELOC_PPC64_TOC16_HI), | ||
579 | MAP64 ("toc@ha", BFD_RELOC_PPC64_TOC16_HA), | ||
580 | - MAP64 ("dtprel@high", BFD_RELOC_PPC64_DTPREL16_HIGH), | ||
581 | - MAP64 ("dtprel@higha", BFD_RELOC_PPC64_DTPREL16_HIGHA), | ||
582 | MAP64 ("dtprel@higher", BFD_RELOC_PPC64_DTPREL16_HIGHER), | ||
583 | MAP64 ("dtprel@highera", BFD_RELOC_PPC64_DTPREL16_HIGHERA), | ||
584 | MAP64 ("dtprel@highest", BFD_RELOC_PPC64_DTPREL16_HIGHEST), | ||
585 | MAP64 ("dtprel@highesta", BFD_RELOC_PPC64_DTPREL16_HIGHESTA), | ||
586 | - MAP64 ("tprel@high", BFD_RELOC_PPC64_TPREL16_HIGH), | ||
587 | - MAP64 ("tprel@higha", BFD_RELOC_PPC64_TPREL16_HIGHA), | ||
588 | MAP64 ("tprel@higher", BFD_RELOC_PPC64_TPREL16_HIGHER), | ||
589 | MAP64 ("tprel@highera", BFD_RELOC_PPC64_TPREL16_HIGHERA), | ||
590 | MAP64 ("tprel@highest", BFD_RELOC_PPC64_TPREL16_HIGHEST), | ||
591 | @@ -2923,76 +2913,55 @@ md_assemble (char *str) | ||
592 | break; | ||
593 | |||
594 | case BFD_RELOC_LO16: | ||
595 | - ex.X_add_number &= 0xffff; | ||
596 | - if ((operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
597 | + /* X_unsigned is the default, so if the user has done | ||
598 | + something which cleared it, we always produce a | ||
599 | + signed value. */ | ||
600 | + if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) | ||
601 | + ex.X_add_number &= 0xffff; | ||
602 | + else | ||
603 | ex.X_add_number = SEX16 (ex.X_add_number); | ||
604 | break; | ||
605 | |||
606 | case BFD_RELOC_HI16: | ||
607 | - if (REPORT_OVERFLOW_HI && ppc_obj64) | ||
608 | - { | ||
609 | - /* PowerPC64 @h is tested for overflow. */ | ||
610 | - ex.X_add_number = (addressT) ex.X_add_number >> 16; | ||
611 | - if ((operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
612 | - { | ||
613 | - addressT sign = (((addressT) -1 >> 16) + 1) >> 1; | ||
614 | - ex.X_add_number | ||
615 | - = ((addressT) ex.X_add_number ^ sign) - sign; | ||
616 | - } | ||
617 | - break; | ||
618 | - } | ||
619 | - /* Fall thru */ | ||
620 | - | ||
621 | - case BFD_RELOC_PPC64_ADDR16_HIGH: | ||
622 | - ex.X_add_number = PPC_HI (ex.X_add_number); | ||
623 | - if ((operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
624 | - ex.X_add_number = SEX16 (ex.X_add_number); | ||
625 | + if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) | ||
626 | + ex.X_add_number = PPC_HI (ex.X_add_number); | ||
627 | + else | ||
628 | + ex.X_add_number = SEX16 (PPC_HI (ex.X_add_number)); | ||
629 | break; | ||
630 | |||
631 | case BFD_RELOC_HI16_S: | ||
632 | - if (REPORT_OVERFLOW_HI && ppc_obj64) | ||
633 | - { | ||
634 | - /* PowerPC64 @ha is tested for overflow. */ | ||
635 | - ex.X_add_number | ||
636 | - = ((addressT) ex.X_add_number + 0x8000) >> 16; | ||
637 | - if ((operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
638 | - { | ||
639 | - addressT sign = (((addressT) -1 >> 16) + 1) >> 1; | ||
640 | - ex.X_add_number | ||
641 | - = ((addressT) ex.X_add_number ^ sign) - sign; | ||
642 | - } | ||
643 | - break; | ||
644 | - } | ||
645 | - /* Fall thru */ | ||
646 | - | ||
647 | - case BFD_RELOC_PPC64_ADDR16_HIGHA: | ||
648 | - ex.X_add_number = PPC_HA (ex.X_add_number); | ||
649 | - if ((operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
650 | - ex.X_add_number = SEX16 (ex.X_add_number); | ||
651 | + if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) | ||
652 | + ex.X_add_number = PPC_HA (ex.X_add_number); | ||
653 | + else | ||
654 | + ex.X_add_number = SEX16 (PPC_HA (ex.X_add_number)); | ||
655 | break; | ||
656 | |||
657 | case BFD_RELOC_PPC64_HIGHER: | ||
658 | - ex.X_add_number = PPC_HIGHER (ex.X_add_number); | ||
659 | - if ((operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
660 | - ex.X_add_number = SEX16 (ex.X_add_number); | ||
661 | + if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) | ||
662 | + ex.X_add_number = PPC_HIGHER (ex.X_add_number); | ||
663 | + else | ||
664 | + ex.X_add_number = SEX16 (PPC_HIGHER (ex.X_add_number)); | ||
665 | break; | ||
666 | |||
667 | case BFD_RELOC_PPC64_HIGHER_S: | ||
668 | - ex.X_add_number = PPC_HIGHERA (ex.X_add_number); | ||
669 | - if ((operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
670 | - ex.X_add_number = SEX16 (ex.X_add_number); | ||
671 | + if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) | ||
672 | + ex.X_add_number = PPC_HIGHERA (ex.X_add_number); | ||
673 | + else | ||
674 | + ex.X_add_number = SEX16 (PPC_HIGHERA (ex.X_add_number)); | ||
675 | break; | ||
676 | |||
677 | case BFD_RELOC_PPC64_HIGHEST: | ||
678 | - ex.X_add_number = PPC_HIGHEST (ex.X_add_number); | ||
679 | - if ((operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
680 | - ex.X_add_number = SEX16 (ex.X_add_number); | ||
681 | + if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) | ||
682 | + ex.X_add_number = PPC_HIGHEST (ex.X_add_number); | ||
683 | + else | ||
684 | + ex.X_add_number = SEX16 (PPC_HIGHEST (ex.X_add_number)); | ||
685 | break; | ||
686 | |||
687 | case BFD_RELOC_PPC64_HIGHEST_S: | ||
688 | - ex.X_add_number = PPC_HIGHESTA (ex.X_add_number); | ||
689 | - if ((operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
690 | - ex.X_add_number = SEX16 (ex.X_add_number); | ||
691 | + if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) | ||
692 | + ex.X_add_number = PPC_HIGHESTA (ex.X_add_number); | ||
693 | + else | ||
694 | + ex.X_add_number = SEX16 (PPC_HIGHESTA (ex.X_add_number)); | ||
695 | break; | ||
696 | } | ||
697 | #endif /* OBJ_ELF */ | ||
698 | @@ -6566,51 +6535,25 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) | ||
699 | fieldval = value & 0xffff; | ||
700 | sign_extend_16: | ||
701 | if (operand != NULL && (operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
702 | - fieldval = SEX16 (fieldval); | ||
703 | + fieldval = (fieldval ^ 0x8000) - 0x8000; | ||
704 | fixP->fx_no_overflow = 1; | ||
705 | break; | ||
706 | |||
707 | - case BFD_RELOC_HI16: | ||
708 | - case BFD_RELOC_HI16_PCREL: | ||
709 | #ifdef OBJ_ELF | ||
710 | - if (REPORT_OVERFLOW_HI && ppc_obj64) | ||
711 | - { | ||
712 | - fieldval = value >> 16; | ||
713 | - if (operand != NULL && (operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
714 | - { | ||
715 | - valueT sign = (((valueT) -1 >> 16) + 1) >> 1; | ||
716 | - fieldval = ((valueT) fieldval ^ sign) - sign; | ||
717 | - } | ||
718 | - break; | ||
719 | - } | ||
720 | - /* Fall thru */ | ||
721 | - | ||
722 | case BFD_RELOC_PPC_VLE_HI16A: | ||
723 | case BFD_RELOC_PPC_VLE_HI16D: | ||
724 | - case BFD_RELOC_PPC64_ADDR16_HIGH: | ||
725 | #endif | ||
726 | + case BFD_RELOC_HI16: | ||
727 | + case BFD_RELOC_HI16_PCREL: | ||
728 | fieldval = PPC_HI (value); | ||
729 | goto sign_extend_16; | ||
730 | |||
731 | - case BFD_RELOC_HI16_S: | ||
732 | - case BFD_RELOC_HI16_S_PCREL: | ||
733 | #ifdef OBJ_ELF | ||
734 | - if (REPORT_OVERFLOW_HI && ppc_obj64) | ||
735 | - { | ||
736 | - fieldval = (value + 0x8000) >> 16; | ||
737 | - if (operand != NULL && (operand->flags & PPC_OPERAND_SIGNED) != 0) | ||
738 | - { | ||
739 | - valueT sign = (((valueT) -1 >> 16) + 1) >> 1; | ||
740 | - fieldval = ((valueT) fieldval ^ sign) - sign; | ||
741 | - } | ||
742 | - break; | ||
743 | - } | ||
744 | - /* Fall thru */ | ||
745 | - | ||
746 | case BFD_RELOC_PPC_VLE_HA16A: | ||
747 | case BFD_RELOC_PPC_VLE_HA16D: | ||
748 | - case BFD_RELOC_PPC64_ADDR16_HIGHA: | ||
749 | #endif | ||
750 | + case BFD_RELOC_HI16_S: | ||
751 | + case BFD_RELOC_HI16_S_PCREL: | ||
752 | fieldval = PPC_HA (value); | ||
753 | goto sign_extend_16; | ||
754 | |||
755 | @@ -6673,14 +6616,10 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) | ||
756 | case BFD_RELOC_PPC_GOT_DTPREL16_HA: | ||
757 | case BFD_RELOC_PPC64_TPREL16_DS: | ||
758 | case BFD_RELOC_PPC64_TPREL16_LO_DS: | ||
759 | - case BFD_RELOC_PPC64_TPREL16_HIGH: | ||
760 | - case BFD_RELOC_PPC64_TPREL16_HIGHA: | ||
761 | case BFD_RELOC_PPC64_TPREL16_HIGHER: | ||
762 | case BFD_RELOC_PPC64_TPREL16_HIGHERA: | ||
763 | case BFD_RELOC_PPC64_TPREL16_HIGHEST: | ||
764 | case BFD_RELOC_PPC64_TPREL16_HIGHESTA: | ||
765 | - case BFD_RELOC_PPC64_DTPREL16_HIGH: | ||
766 | - case BFD_RELOC_PPC64_DTPREL16_HIGHA: | ||
767 | case BFD_RELOC_PPC64_DTPREL16_DS: | ||
768 | case BFD_RELOC_PPC64_DTPREL16_LO_DS: | ||
769 | case BFD_RELOC_PPC64_DTPREL16_HIGHER: | ||
770 | @@ -6866,8 +6805,6 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) | ||
771 | case BFD_RELOC_PPC64_HIGHER_S: | ||
772 | case BFD_RELOC_PPC64_HIGHEST: | ||
773 | case BFD_RELOC_PPC64_HIGHEST_S: | ||
774 | - case BFD_RELOC_PPC64_ADDR16_HIGH: | ||
775 | - case BFD_RELOC_PPC64_ADDR16_HIGHA: | ||
776 | break; | ||
777 | |||
778 | case BFD_RELOC_PPC_DTPMOD: | ||
779 | @@ -6944,14 +6881,10 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) | ||
780 | case BFD_RELOC_PPC64_TOC16_LO: | ||
781 | case BFD_RELOC_PPC64_TOC16_HI: | ||
782 | case BFD_RELOC_PPC64_TOC16_HA: | ||
783 | - case BFD_RELOC_PPC64_DTPREL16_HIGH: | ||
784 | - case BFD_RELOC_PPC64_DTPREL16_HIGHA: | ||
785 | case BFD_RELOC_PPC64_DTPREL16_HIGHER: | ||
786 | case BFD_RELOC_PPC64_DTPREL16_HIGHERA: | ||
787 | case BFD_RELOC_PPC64_DTPREL16_HIGHEST: | ||
788 | case BFD_RELOC_PPC64_DTPREL16_HIGHESTA: | ||
789 | - case BFD_RELOC_PPC64_TPREL16_HIGH: | ||
790 | - case BFD_RELOC_PPC64_TPREL16_HIGHA: | ||
791 | case BFD_RELOC_PPC64_TPREL16_HIGHER: | ||
792 | case BFD_RELOC_PPC64_TPREL16_HIGHERA: | ||
793 | case BFD_RELOC_PPC64_TPREL16_HIGHEST: | ||
794 | diff --git a/gold/powerpc.cc b/gold/powerpc.cc | ||
795 | index 1aa4791..b8e932e 100644 | ||
796 | --- a/gold/powerpc.cc | ||
797 | +++ b/gold/powerpc.cc | ||
798 | @@ -5168,8 +5168,6 @@ Target_powerpc<size, big_endian>::Scan::check_non_pic(Relobj* object, | ||
799 | case elfcpp::R_PPC64_JMP_IREL: | ||
800 | case elfcpp::R_PPC64_ADDR16_DS: | ||
801 | case elfcpp::R_PPC64_ADDR16_LO_DS: | ||
802 | - case elfcpp::R_PPC64_ADDR16_HIGH: | ||
803 | - case elfcpp::R_PPC64_ADDR16_HIGHA: | ||
804 | case elfcpp::R_PPC64_ADDR16_HIGHER: | ||
805 | case elfcpp::R_PPC64_ADDR16_HIGHEST: | ||
806 | case elfcpp::R_PPC64_ADDR16_HIGHERA: | ||
807 | @@ -5178,8 +5176,6 @@ Target_powerpc<size, big_endian>::Scan::check_non_pic(Relobj* object, | ||
808 | case elfcpp::R_POWERPC_ADDR30: | ||
809 | case elfcpp::R_PPC64_TPREL16_DS: | ||
810 | case elfcpp::R_PPC64_TPREL16_LO_DS: | ||
811 | - case elfcpp::R_PPC64_TPREL16_HIGH: | ||
812 | - case elfcpp::R_PPC64_TPREL16_HIGHA: | ||
813 | case elfcpp::R_PPC64_TPREL16_HIGHER: | ||
814 | case elfcpp::R_PPC64_TPREL16_HIGHEST: | ||
815 | case elfcpp::R_PPC64_TPREL16_HIGHERA: | ||
816 | @@ -5354,6 +5350,7 @@ Target_powerpc<size, big_endian>::Scan::local( | ||
817 | case elfcpp::R_POWERPC_GNU_VTINHERIT: | ||
818 | case elfcpp::R_POWERPC_GNU_VTENTRY: | ||
819 | case elfcpp::R_PPC64_TOCSAVE: | ||
820 | + case elfcpp::R_PPC_EMB_MRKREF: | ||
821 | case elfcpp::R_POWERPC_TLS: | ||
822 | break; | ||
823 | |||
824 | @@ -5391,8 +5388,6 @@ Target_powerpc<size, big_endian>::Scan::local( | ||
825 | case elfcpp::R_POWERPC_ADDR16_HI: | ||
826 | case elfcpp::R_POWERPC_ADDR16_HA: | ||
827 | case elfcpp::R_POWERPC_UADDR16: | ||
828 | - case elfcpp::R_PPC64_ADDR16_HIGH: | ||
829 | - case elfcpp::R_PPC64_ADDR16_HIGHA: | ||
830 | case elfcpp::R_PPC64_ADDR16_HIGHER: | ||
831 | case elfcpp::R_PPC64_ADDR16_HIGHERA: | ||
832 | case elfcpp::R_PPC64_ADDR16_HIGHEST: | ||
833 | @@ -5451,35 +5446,31 @@ Target_powerpc<size, big_endian>::Scan::local( | ||
834 | case elfcpp::R_POWERPC_REL16_HI: | ||
835 | case elfcpp::R_POWERPC_REL16_HA: | ||
836 | case elfcpp::R_POWERPC_SECTOFF: | ||
837 | - case elfcpp::R_POWERPC_SECTOFF_LO: | ||
838 | - case elfcpp::R_POWERPC_SECTOFF_HI: | ||
839 | - case elfcpp::R_POWERPC_SECTOFF_HA: | ||
840 | - case elfcpp::R_PPC64_SECTOFF_DS: | ||
841 | - case elfcpp::R_PPC64_SECTOFF_LO_DS: | ||
842 | case elfcpp::R_POWERPC_TPREL16: | ||
843 | + case elfcpp::R_POWERPC_DTPREL16: | ||
844 | + case elfcpp::R_POWERPC_SECTOFF_LO: | ||
845 | case elfcpp::R_POWERPC_TPREL16_LO: | ||
846 | + case elfcpp::R_POWERPC_DTPREL16_LO: | ||
847 | + case elfcpp::R_POWERPC_SECTOFF_HI: | ||
848 | case elfcpp::R_POWERPC_TPREL16_HI: | ||
849 | + case elfcpp::R_POWERPC_DTPREL16_HI: | ||
850 | + case elfcpp::R_POWERPC_SECTOFF_HA: | ||
851 | case elfcpp::R_POWERPC_TPREL16_HA: | ||
852 | - case elfcpp::R_PPC64_TPREL16_DS: | ||
853 | - case elfcpp::R_PPC64_TPREL16_LO_DS: | ||
854 | - case elfcpp::R_PPC64_TPREL16_HIGH: | ||
855 | - case elfcpp::R_PPC64_TPREL16_HIGHA: | ||
856 | + case elfcpp::R_POWERPC_DTPREL16_HA: | ||
857 | + case elfcpp::R_PPC64_DTPREL16_HIGHER: | ||
858 | case elfcpp::R_PPC64_TPREL16_HIGHER: | ||
859 | + case elfcpp::R_PPC64_DTPREL16_HIGHERA: | ||
860 | case elfcpp::R_PPC64_TPREL16_HIGHERA: | ||
861 | + case elfcpp::R_PPC64_DTPREL16_HIGHEST: | ||
862 | case elfcpp::R_PPC64_TPREL16_HIGHEST: | ||
863 | + case elfcpp::R_PPC64_DTPREL16_HIGHESTA: | ||
864 | case elfcpp::R_PPC64_TPREL16_HIGHESTA: | ||
865 | - case elfcpp::R_POWERPC_DTPREL16: | ||
866 | - case elfcpp::R_POWERPC_DTPREL16_LO: | ||
867 | - case elfcpp::R_POWERPC_DTPREL16_HI: | ||
868 | - case elfcpp::R_POWERPC_DTPREL16_HA: | ||
869 | + case elfcpp::R_PPC64_TPREL16_DS: | ||
870 | + case elfcpp::R_PPC64_TPREL16_LO_DS: | ||
871 | case elfcpp::R_PPC64_DTPREL16_DS: | ||
872 | case elfcpp::R_PPC64_DTPREL16_LO_DS: | ||
873 | - case elfcpp::R_PPC64_DTPREL16_HIGH: | ||
874 | - case elfcpp::R_PPC64_DTPREL16_HIGHA: | ||
875 | - case elfcpp::R_PPC64_DTPREL16_HIGHER: | ||
876 | - case elfcpp::R_PPC64_DTPREL16_HIGHERA: | ||
877 | - case elfcpp::R_PPC64_DTPREL16_HIGHEST: | ||
878 | - case elfcpp::R_PPC64_DTPREL16_HIGHESTA: | ||
879 | + case elfcpp::R_PPC64_SECTOFF_DS: | ||
880 | + case elfcpp::R_PPC64_SECTOFF_LO_DS: | ||
881 | case elfcpp::R_PPC64_TLSGD: | ||
882 | case elfcpp::R_PPC64_TLSLD: | ||
883 | break; | ||
884 | @@ -5713,6 +5704,7 @@ Target_powerpc<size, big_endian>::Scan::global( | ||
885 | case elfcpp::R_POWERPC_GNU_VTINHERIT: | ||
886 | case elfcpp::R_POWERPC_GNU_VTENTRY: | ||
887 | case elfcpp::R_PPC_LOCAL24PC: | ||
888 | + case elfcpp::R_PPC_EMB_MRKREF: | ||
889 | case elfcpp::R_POWERPC_TLS: | ||
890 | break; | ||
891 | |||
892 | @@ -5762,8 +5754,6 @@ Target_powerpc<size, big_endian>::Scan::global( | ||
893 | case elfcpp::R_POWERPC_ADDR16_HI: | ||
894 | case elfcpp::R_POWERPC_ADDR16_HA: | ||
895 | case elfcpp::R_POWERPC_UADDR16: | ||
896 | - case elfcpp::R_PPC64_ADDR16_HIGH: | ||
897 | - case elfcpp::R_PPC64_ADDR16_HIGHA: | ||
898 | case elfcpp::R_PPC64_ADDR16_HIGHER: | ||
899 | case elfcpp::R_PPC64_ADDR16_HIGHERA: | ||
900 | case elfcpp::R_PPC64_ADDR16_HIGHEST: | ||
901 | @@ -5897,35 +5887,31 @@ Target_powerpc<size, big_endian>::Scan::global( | ||
902 | case elfcpp::R_POWERPC_REL16_HI: | ||
903 | case elfcpp::R_POWERPC_REL16_HA: | ||
904 | case elfcpp::R_POWERPC_SECTOFF: | ||
905 | - case elfcpp::R_POWERPC_SECTOFF_LO: | ||
906 | - case elfcpp::R_POWERPC_SECTOFF_HI: | ||
907 | - case elfcpp::R_POWERPC_SECTOFF_HA: | ||
908 | - case elfcpp::R_PPC64_SECTOFF_DS: | ||
909 | - case elfcpp::R_PPC64_SECTOFF_LO_DS: | ||
910 | case elfcpp::R_POWERPC_TPREL16: | ||
911 | + case elfcpp::R_POWERPC_DTPREL16: | ||
912 | + case elfcpp::R_POWERPC_SECTOFF_LO: | ||
913 | case elfcpp::R_POWERPC_TPREL16_LO: | ||
914 | + case elfcpp::R_POWERPC_DTPREL16_LO: | ||
915 | + case elfcpp::R_POWERPC_SECTOFF_HI: | ||
916 | case elfcpp::R_POWERPC_TPREL16_HI: | ||
917 | + case elfcpp::R_POWERPC_DTPREL16_HI: | ||
918 | + case elfcpp::R_POWERPC_SECTOFF_HA: | ||
919 | case elfcpp::R_POWERPC_TPREL16_HA: | ||
920 | - case elfcpp::R_PPC64_TPREL16_DS: | ||
921 | - case elfcpp::R_PPC64_TPREL16_LO_DS: | ||
922 | - case elfcpp::R_PPC64_TPREL16_HIGH: | ||
923 | - case elfcpp::R_PPC64_TPREL16_HIGHA: | ||
924 | + case elfcpp::R_POWERPC_DTPREL16_HA: | ||
925 | + case elfcpp::R_PPC64_DTPREL16_HIGHER: | ||
926 | case elfcpp::R_PPC64_TPREL16_HIGHER: | ||
927 | + case elfcpp::R_PPC64_DTPREL16_HIGHERA: | ||
928 | case elfcpp::R_PPC64_TPREL16_HIGHERA: | ||
929 | + case elfcpp::R_PPC64_DTPREL16_HIGHEST: | ||
930 | case elfcpp::R_PPC64_TPREL16_HIGHEST: | ||
931 | + case elfcpp::R_PPC64_DTPREL16_HIGHESTA: | ||
932 | case elfcpp::R_PPC64_TPREL16_HIGHESTA: | ||
933 | - case elfcpp::R_POWERPC_DTPREL16: | ||
934 | - case elfcpp::R_POWERPC_DTPREL16_LO: | ||
935 | - case elfcpp::R_POWERPC_DTPREL16_HI: | ||
936 | - case elfcpp::R_POWERPC_DTPREL16_HA: | ||
937 | + case elfcpp::R_PPC64_TPREL16_DS: | ||
938 | + case elfcpp::R_PPC64_TPREL16_LO_DS: | ||
939 | case elfcpp::R_PPC64_DTPREL16_DS: | ||
940 | case elfcpp::R_PPC64_DTPREL16_LO_DS: | ||
941 | - case elfcpp::R_PPC64_DTPREL16_HIGH: | ||
942 | - case elfcpp::R_PPC64_DTPREL16_HIGHA: | ||
943 | - case elfcpp::R_PPC64_DTPREL16_HIGHER: | ||
944 | - case elfcpp::R_PPC64_DTPREL16_HIGHERA: | ||
945 | - case elfcpp::R_PPC64_DTPREL16_HIGHEST: | ||
946 | - case elfcpp::R_PPC64_DTPREL16_HIGHESTA: | ||
947 | + case elfcpp::R_PPC64_SECTOFF_DS: | ||
948 | + case elfcpp::R_PPC64_SECTOFF_LO_DS: | ||
949 | case elfcpp::R_PPC64_TLSGD: | ||
950 | case elfcpp::R_PPC64_TLSLD: | ||
951 | break; | ||
952 | @@ -7098,10 +7084,8 @@ Target_powerpc<size, big_endian>::Relocate::relocate( | ||
953 | |||
954 | case elfcpp::R_PPC64_TPREL16_DS: | ||
955 | case elfcpp::R_PPC64_TPREL16_LO_DS: | ||
956 | - case elfcpp::R_PPC64_TPREL16_HIGH: | ||
957 | - case elfcpp::R_PPC64_TPREL16_HIGHA: | ||
958 | if (size != 64) | ||
959 | - // R_PPC_TLSGD, R_PPC_TLSLD, R_PPC_EMB_RELST_LO, R_PPC_EMB_RELST_HI | ||
960 | + // R_PPC_TLSGD and R_PPC_TLSLD | ||
961 | break; | ||
962 | case elfcpp::R_POWERPC_TPREL16: | ||
963 | case elfcpp::R_POWERPC_TPREL16_LO: | ||
964 | @@ -7131,8 +7115,6 @@ Target_powerpc<size, big_endian>::Relocate::relocate( | ||
965 | case elfcpp::R_POWERPC_DTPREL16_HI: | ||
966 | case elfcpp::R_POWERPC_DTPREL16_HA: | ||
967 | case elfcpp::R_POWERPC_DTPREL: | ||
968 | - case elfcpp::R_PPC64_DTPREL16_HIGH: | ||
969 | - case elfcpp::R_PPC64_DTPREL16_HIGHA: | ||
970 | // tls symbol values are relative to tls_segment()->vaddr() | ||
971 | value -= dtp_offset; | ||
972 | break; | ||
973 | @@ -7273,34 +7255,6 @@ Target_powerpc<size, big_endian>::Relocate::relocate( | ||
974 | overflow = Reloc::CHECK_BITFIELD; | ||
975 | break; | ||
976 | |||
977 | - case elfcpp::R_POWERPC_ADDR16_HI: | ||
978 | - case elfcpp::R_POWERPC_ADDR16_HA: | ||
979 | - case elfcpp::R_POWERPC_GOT16_HI: | ||
980 | - case elfcpp::R_POWERPC_GOT16_HA: | ||
981 | - case elfcpp::R_POWERPC_PLT16_HI: | ||
982 | - case elfcpp::R_POWERPC_PLT16_HA: | ||
983 | - case elfcpp::R_POWERPC_SECTOFF_HI: | ||
984 | - case elfcpp::R_POWERPC_SECTOFF_HA: | ||
985 | - case elfcpp::R_PPC64_TOC16_HI: | ||
986 | - case elfcpp::R_PPC64_TOC16_HA: | ||
987 | - case elfcpp::R_PPC64_PLTGOT16_HI: | ||
988 | - case elfcpp::R_PPC64_PLTGOT16_HA: | ||
989 | - case elfcpp::R_POWERPC_TPREL16_HI: | ||
990 | - case elfcpp::R_POWERPC_TPREL16_HA: | ||
991 | - case elfcpp::R_POWERPC_DTPREL16_HI: | ||
992 | - case elfcpp::R_POWERPC_DTPREL16_HA: | ||
993 | - case elfcpp::R_POWERPC_GOT_TLSGD16_HI: | ||
994 | - case elfcpp::R_POWERPC_GOT_TLSGD16_HA: | ||
995 | - case elfcpp::R_POWERPC_GOT_TLSLD16_HI: | ||
996 | - case elfcpp::R_POWERPC_GOT_TLSLD16_HA: | ||
997 | - case elfcpp::R_POWERPC_GOT_TPREL16_HI: | ||
998 | - case elfcpp::R_POWERPC_GOT_TPREL16_HA: | ||
999 | - case elfcpp::R_POWERPC_GOT_DTPREL16_HI: | ||
1000 | - case elfcpp::R_POWERPC_GOT_DTPREL16_HA: | ||
1001 | - case elfcpp::R_POWERPC_REL16_HI: | ||
1002 | - case elfcpp::R_POWERPC_REL16_HA: | ||
1003 | - if (size == 32) | ||
1004 | - break; | ||
1005 | case elfcpp::R_POWERPC_REL24: | ||
1006 | case elfcpp::R_PPC_PLTREL24: | ||
1007 | case elfcpp::R_PPC_LOCAL24PC: | ||
1008 | @@ -7334,6 +7288,7 @@ Target_powerpc<size, big_endian>::Relocate::relocate( | ||
1009 | case elfcpp::R_POWERPC_TLS: | ||
1010 | case elfcpp::R_POWERPC_GNU_VTINHERIT: | ||
1011 | case elfcpp::R_POWERPC_GNU_VTENTRY: | ||
1012 | + case elfcpp::R_PPC_EMB_MRKREF: | ||
1013 | break; | ||
1014 | |||
1015 | case elfcpp::R_PPC64_ADDR64: | ||
1016 | @@ -7404,12 +7359,6 @@ Target_powerpc<size, big_endian>::Relocate::relocate( | ||
1017 | status = Reloc::addr16_u(view, value, overflow); | ||
1018 | break; | ||
1019 | |||
1020 | - case elfcpp::R_PPC64_ADDR16_HIGH: | ||
1021 | - case elfcpp::R_PPC64_TPREL16_HIGH: | ||
1022 | - case elfcpp::R_PPC64_DTPREL16_HIGH: | ||
1023 | - if (size == 32) | ||
1024 | - // R_PPC_EMB_MRKREF, R_PPC_EMB_RELST_LO, R_PPC_EMB_RELST_HA | ||
1025 | - goto unsupp; | ||
1026 | case elfcpp::R_POWERPC_ADDR16_HI: | ||
1027 | case elfcpp::R_POWERPC_REL16_HI: | ||
1028 | case elfcpp::R_PPC64_TOC16_HI: | ||
1029 | @@ -7424,12 +7373,6 @@ Target_powerpc<size, big_endian>::Relocate::relocate( | ||
1030 | Reloc::addr16_hi(view, value); | ||
1031 | break; | ||
1032 | |||
1033 | - case elfcpp::R_PPC64_ADDR16_HIGHA: | ||
1034 | - case elfcpp::R_PPC64_TPREL16_HIGHA: | ||
1035 | - case elfcpp::R_PPC64_DTPREL16_HIGHA: | ||
1036 | - if (size == 32) | ||
1037 | - // R_PPC_EMB_RELSEC16, R_PPC_EMB_RELST_HI, R_PPC_EMB_BIT_FLD | ||
1038 | - goto unsupp; | ||
1039 | case elfcpp::R_POWERPC_ADDR16_HA: | ||
1040 | case elfcpp::R_POWERPC_REL16_HA: | ||
1041 | case elfcpp::R_PPC64_TOC16_HA: | ||
1042 | @@ -7554,6 +7497,11 @@ Target_powerpc<size, big_endian>::Relocate::relocate( | ||
1043 | case elfcpp::R_PPC64_PLT16_LO_DS: | ||
1044 | case elfcpp::R_PPC64_PLTGOT16_DS: | ||
1045 | case elfcpp::R_PPC64_PLTGOT16_LO_DS: | ||
1046 | + case elfcpp::R_PPC_EMB_RELSEC16: | ||
1047 | + case elfcpp::R_PPC_EMB_RELST_LO: | ||
1048 | + case elfcpp::R_PPC_EMB_RELST_HI: | ||
1049 | + case elfcpp::R_PPC_EMB_RELST_HA: | ||
1050 | + case elfcpp::R_PPC_EMB_BIT_FLD: | ||
1051 | case elfcpp::R_PPC_EMB_RELSDA: | ||
1052 | case elfcpp::R_PPC_TOC16: | ||
1053 | default: | ||
1054 | diff --git a/include/elf/ppc64.h b/include/elf/ppc64.h | ||
1055 | index 78d947b..5888460 100644 | ||
1056 | --- a/include/elf/ppc64.h | ||
1057 | +++ b/include/elf/ppc64.h | ||
1058 | @@ -141,14 +141,6 @@ START_RELOC_NUMBERS (elf_ppc64_reloc_type) | ||
1059 | RELOC_NUMBER (R_PPC64_TLSLD, 108) | ||
1060 | RELOC_NUMBER (R_PPC64_TOCSAVE, 109) | ||
1061 | |||
1062 | -/* Added when HA and HI relocs were changed to report overflows. */ | ||
1063 | - RELOC_NUMBER (R_PPC64_ADDR16_HIGH, 110) | ||
1064 | - RELOC_NUMBER (R_PPC64_ADDR16_HIGHA, 111) | ||
1065 | - RELOC_NUMBER (R_PPC64_TPREL16_HIGH, 112) | ||
1066 | - RELOC_NUMBER (R_PPC64_TPREL16_HIGHA, 113) | ||
1067 | - RELOC_NUMBER (R_PPC64_DTPREL16_HIGH, 114) | ||
1068 | - RELOC_NUMBER (R_PPC64_DTPREL16_HIGHA, 115) | ||
1069 | - | ||
1070 | #ifndef RELOC_MACROS_GEN_FUNC | ||
1071 | /* Fake relocation only used internally by ld. */ | ||
1072 | RELOC_NUMBER (R_PPC64_LO_DS_OPT, 128) | ||
1073 | @@ -169,9 +161,8 @@ START_RELOC_NUMBERS (elf_ppc64_reloc_type) | ||
1074 | |||
1075 | END_RELOC_NUMBERS (R_PPC64_max) | ||
1076 | |||
1077 | -#define IS_PPC64_TLS_RELOC(R) \ | ||
1078 | - (((R) >= R_PPC64_TLS && (R) <= R_PPC64_DTPREL16_HIGHESTA) \ | ||
1079 | - || ((R) >= R_PPC64_TPREL16_HIGH && (R) <= R_PPC64_DTPREL16_HIGHA)) | ||
1080 | +#define IS_PPC64_TLS_RELOC(R) \ | ||
1081 | + ((R) >= R_PPC64_TLS && (R) <= R_PPC64_DTPREL16_HIGHESTA) | ||
1082 | |||
1083 | |||
1084 | /* e_flags bits specifying ABI. | ||
1085 | -- | ||
1086 | 1.7.9.5 | ||
1087 | |||
diff --git a/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bbappend b/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bbappend new file mode 100644 index 0000000..c9eeb4e --- /dev/null +++ b/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bbappend | |||
@@ -0,0 +1 @@ | |||
BBCLASSEXTEND += " nativesdk" | |||
diff --git a/recipes-devtools/valgrind/files/disable-power-isa-2.07-check.patch b/recipes-devtools/valgrind/files/disable-power-isa-2.07-check.patch new file mode 100644 index 0000000..88a8a54 --- /dev/null +++ b/recipes-devtools/valgrind/files/disable-power-isa-2.07-check.patch | |||
@@ -0,0 +1,48 @@ | |||
1 | valgrind: Disable Power ISA 2.07 check | ||
2 | |||
3 | The Power ISA 2.07 check fails when not supported by both machine | ||
4 | architecture and gcc. | ||
5 | |||
6 | Upstream-Status: Inappropriate [disable feature] | ||
7 | |||
8 | Signed-off-by: Gabriel Barbu <gabriel.barbu@enea.com> | ||
9 | |||
10 | --- a/configure.ac 2014-05-05 17:06:29.674630565 +0200 | ||
11 | +++ b/configure.ac 2014-05-06 13:16:47.525598513 +0200 | ||
12 | @@ -1316,18 +1316,25 @@ | ||
13 | AM_CONDITIONAL(BUILD_DFP_TESTS, test x$ac_gcc_have_dfp_type = xyes) | ||
14 | |||
15 | # isa 2.07 checking | ||
16 | -AC_MSG_CHECKING([that assembler knows ISA 2.07 ]) | ||
17 | +AC_ARG_ENABLE([isa_2_07_check], | ||
18 | + [AS_HELP_STRING([--disable-isa_2_07_check], | ||
19 | + [disable Power ISA 2.07 check])], | ||
20 | + [], | ||
21 | + [disable_isa_2_07_check=no]) | ||
22 | |||
23 | -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | ||
24 | -]], [[ | ||
25 | - __asm__ __volatile__("mtvsrd 1,2 "); | ||
26 | -]])], [ | ||
27 | -ac_asm_have_isa_2_07=yes | ||
28 | -AC_MSG_RESULT([yes]) | ||
29 | -], [ | ||
30 | -ac_asm_have_isa_2_07=no | ||
31 | -AC_MSG_RESULT([no]) | ||
32 | -]) | ||
33 | +AS_IF([test "x$disable_isa_2_07_check" = xno], | ||
34 | + [AC_MSG_CHECKING([that assembler knows ISA 2.07 ]) | ||
35 | + | ||
36 | + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | ||
37 | + ]], [[ | ||
38 | + __asm__ __volatile__("mtvsrd 1,2 "); | ||
39 | + ]])], [ | ||
40 | + ac_asm_have_isa_2_07=yes | ||
41 | + AC_MSG_RESULT([yes]) | ||
42 | + ], [ | ||
43 | + ac_asm_have_isa_2_07=no | ||
44 | + AC_MSG_RESULT([no]) | ||
45 | + ])]) | ||
46 | |||
47 | AM_CONDITIONAL(HAS_ISA_2_07, test x$ac_asm_have_isa_2_07 = xyes) | ||
48 | |||
diff --git a/recipes-devtools/valgrind/valgrind_3.9.0.bbappend b/recipes-devtools/valgrind/valgrind_3.9.0.bbappend new file mode 100644 index 0000000..4af368d --- /dev/null +++ b/recipes-devtools/valgrind/valgrind_3.9.0.bbappend | |||
@@ -0,0 +1,30 @@ | |||
1 | EXTRA_OECONF_append_b4860qds-64b = " --disable-isa_2_07_check" | ||
2 | |||
3 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | ||
4 | |||
5 | SRC_URI += "\ | ||
6 | file://disable-power-isa-2.07-check.patch \ | ||
7 | " | ||
8 | |||
9 | do_compile_ptest_zc702-zynq7-prt() { | ||
10 | # This is to replace the ptest building part that fails due to | ||
11 | # internal compiler error on ARM targets (LXCR-3358) | ||
12 | echo "" | ||
13 | } | ||
14 | |||
15 | do_compile_ptest_zc702-zynq7() { | ||
16 | # This is to replace the ptest building part that fails due to | ||
17 | # internal compiler error on ARM targets (LXCR-3358) | ||
18 | echo "" | ||
19 | } | ||
20 | |||
21 | do_compile_ptest_k2hk-evm() { | ||
22 | # This is to replace the ptest building part that fails due to | ||
23 | # internal compiler error on ARM targets (LXCR-3358) | ||
24 | echo "" | ||
25 | } | ||
26 | do_compile_ptest_proliant-m800() { | ||
27 | # This is to replace the ptest building part that fails due to | ||
28 | # internal compiler error on ARM targets (LXCR-3358) | ||
29 | echo "" | ||
30 | } | ||
diff --git a/recipes-enea/count-ticks/count-ticks/run-ptest b/recipes-enea/count-ticks/count-ticks/run-ptest new file mode 100644 index 0000000..b54364a --- /dev/null +++ b/recipes-enea/count-ticks/count-ticks/run-ptest | |||
@@ -0,0 +1,23 @@ | |||
1 | #!/bin/sh -eu | ||
2 | |||
3 | fail () { | ||
4 | printf "%s\n" "$*" | ||
5 | exit | ||
6 | } | ||
7 | |||
8 | count_ticks --cpu 0 --start || fail "Failed starting tick counting" | ||
9 | find /usr -name dummy 2>&1 > /dev/null | ||
10 | |||
11 | nr_ticks=$(count_ticks --batch --cpu 0 --end) | ||
12 | |||
13 | if [ $? -ne 0 ]; then | ||
14 | echo "FAIL: count_ticks failed execution" | ||
15 | exit | ||
16 | fi | ||
17 | |||
18 | if [ $nr_ticks == 0 ]; then | ||
19 | echo "FAIL: count_ticks didn't see any ticks" | ||
20 | exit | ||
21 | fi | ||
22 | |||
23 | echo "PASS: count_ticks" | ||
diff --git a/recipes-enea/count-ticks/count-ticks_1.1.bb b/recipes-enea/count-ticks/count-ticks_1.1.bb new file mode 100644 index 0000000..caa6ed7 --- /dev/null +++ b/recipes-enea/count-ticks/count-ticks_1.1.bb | |||
@@ -0,0 +1,25 @@ | |||
1 | SUMMARY = "Tick count tool" | ||
2 | DESCRIPTION = "Count number of kernel ticks during command execution." | ||
3 | SECTION = "utils" | ||
4 | LICENSE = "BSD" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=b52bab7a403562f36be803f11489f1a4" | ||
6 | |||
7 | PR = "r1" | ||
8 | |||
9 | RDEPENDS_${PN} = "bash" | ||
10 | |||
11 | SRC_URI = "git://github.com/OpenEneaLinux/rt-tools.git;branch=master \ | ||
12 | file://run-ptest \ | ||
13 | " | ||
14 | |||
15 | SRCREV = "0fa0a8e084fe68e77a1f0968f2fbfa993292ae9c" | ||
16 | |||
17 | inherit ptest | ||
18 | |||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | FILES_${PN} += "/bin/*" | ||
22 | |||
23 | do_install() { | ||
24 | install -D ${S}/install/bin/count_ticks ${D}/usr/bin/count_ticks | ||
25 | } | ||
diff --git a/recipes-enea/linx/linx-2.6.6/liblinx_free_buf.patch b/recipes-enea/linx/linx-2.6.6/liblinx_free_buf.patch new file mode 100644 index 0000000..42f3e99 --- /dev/null +++ b/recipes-enea/linx/linx-2.6.6/liblinx_free_buf.patch | |||
@@ -0,0 +1,22 @@ | |||
1 | Fixed buffer free problem when sending between threads in the same process. | ||
2 | |||
3 | Upstream-Status: Not Applicable | ||
4 | |||
5 | Signed-off-by: Huimin She <huimin.she@enea.com> | ||
6 | |||
7 | --- | ||
8 | diff -rup a/liblinx/linx.c b/liblinx/linx.c | ||
9 | --- a/liblinx/linx.c 2014-04-17 13:40:30.000000000 +0200 | ||
10 | +++ b/liblinx/linx.c 2014-07-24 14:22:30.264648751 +0200 | ||
11 | @@ -711,7 +711,10 @@ int linx_send(LINX * linx, union LINX_SI | ||
12 | if (ret == 0) { | ||
13 | sig_adm->sndrcv = sndrcv; | ||
14 | } | ||
15 | - adm_free_buf(linx, sig_adm); | ||
16 | + if (ret != 1) { | ||
17 | + /* Don't free signals sent back to itself, they are needed later! */ | ||
18 | + adm_free_buf(linx, sig_adm); | ||
19 | + } | ||
20 | out: | ||
21 | /* Take signal pointer from user. */ | ||
22 | *sig = LINX_NIL; | ||
diff --git a/recipes-enea/linx/linx-2.6.6/liblinx_nobase.patch b/recipes-enea/linx/linx-2.6.6/liblinx_nobase.patch new file mode 100644 index 0000000..05a4b7e --- /dev/null +++ b/recipes-enea/linx/linx-2.6.6/liblinx_nobase.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | From 5ea9763286eb43e01c4ef2f3db59e13367a77138 Mon Sep 17 00:00:00 2001 | ||
2 | From: jack zhang <jack.zhang@enea.com> | ||
3 | Date: Mon, 17 Dec 2012 03:52:11 +0100 | ||
4 | Subject: [PATCH] LXCR-995 As an Enea sales person, I want LINX added to Enea | ||
5 | Linux | ||
6 | Signed-off-by: jack zhang <jack.zhang@enea.com> | ||
7 | |||
8 | Upstream-Status: Pending | ||
9 | For details, see LINXCR-1518 | ||
10 | --- | ||
11 | liblinx/Makefile.am | 2 +- | ||
12 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
13 | |||
14 | diff --git a/liblinx/Makefile.am b/liblinx/Makefile.am | ||
15 | index 8559e43..3ce47d6 100644 | ||
16 | --- a/liblinx/Makefile.am | ||
17 | +++ b/liblinx/Makefile.am | ||
18 | @@ -47,7 +47,7 @@ dist_man7_MANS = $(LINXROOT)/doc/man7/linx.7 | ||
19 | |||
20 | include $(LINXROOT)/flags.am | ||
21 | |||
22 | -include_HEADERS = \ | ||
23 | +nobase_include_HEADERS = \ | ||
24 | $(LINXROOT)/include/linx.h \ | ||
25 | $(LINXROOT)/include/linx_ioctl.h \ | ||
26 | $(LINXROOT)/include/linx_socket.h \ | ||
27 | -- | ||
28 | 1.7.5.4 | ||
29 | |||
diff --git a/recipes-enea/linx/linx-2.6.6/linxcfg_nobase.patch b/recipes-enea/linx/linx-2.6.6/linxcfg_nobase.patch new file mode 100644 index 0000000..af4b477 --- /dev/null +++ b/recipes-enea/linx/linx-2.6.6/linxcfg_nobase.patch | |||
@@ -0,0 +1,38 @@ | |||
1 | From a3b3dc8117490ddfcc2081fca5ff663e4157a106 Mon Sep 17 00:00:00 2001 | ||
2 | From: jack zhang <jack.zhang@enea.com> | ||
3 | Date: Mon, 17 Dec 2012 03:57:15 +0100 | ||
4 | Subject: [PATCH] LXCR-995 As an Enea sales person, I want LINX added to Enea | ||
5 | Linux | ||
6 | Signed-off-by: jack zhang <jack.zhang@enea.com> | ||
7 | |||
8 | Upstream-Status: Pending | ||
9 | For details, see LINXCR-1518 | ||
10 | --- | ||
11 | linxcfg/Makefile.am | 4 +--- | ||
12 | 1 files changed, 1 insertions(+), 3 deletions(-) | ||
13 | |||
14 | diff --git a/linxcfg/Makefile.am b/linxcfg/Makefile.am | ||
15 | index 9fc8e84..287c71b 100644 | ||
16 | --- a/linxcfg/Makefile.am | ||
17 | +++ b/linxcfg/Makefile.am | ||
18 | @@ -24,16 +24,14 @@ dist_man1_MANS = \ | ||
19 | $(LINXROOT)/doc/man1/mkcmclcon.1 \ | ||
20 | $(LINXROOT)/doc/man1/rmcmclcon.1 | ||
21 | |||
22 | -include_HEADERS = \ | ||
23 | +nobase_include_HEADERS = \ | ||
24 | $(LINXROOT)/include/linxcfg.h \ | ||
25 | $(LINXROOT)/include/linux/ethcm_db_ioctl.h \ | ||
26 | $(LINXROOT)/include/linux/rlnh_db_ioctl.h \ | ||
27 | $(LINXROOT)/include/linux/tcpcm_db_ioctl.h \ | ||
28 | $(LINXROOT)/include/linux/shmcm_db_ioctl.h \ | ||
29 | - $(LINXROOT)/include/linux/riocm_db_ioctl.h \ | ||
30 | $(LINXROOT)/include/linux/cmcl_db_ioctl.h \ | ||
31 | $(LINXROOT)/include/linux/riocm_db_ioctl.h \ | ||
32 | - $(LINXROOT)/include/linux/cmcl_db_ioctl.h \ | ||
33 | $(LINXROOT)/include/db_ioctl.h \ | ||
34 | $(LINXROOT)/include/ethcm_db_ioctl.h \ | ||
35 | $(LINXROOT)/include/rlnh_db_ioctl.h \ | ||
36 | -- | ||
37 | 1.7.5.4 | ||
38 | |||
diff --git a/recipes-enea/linx/linx-mod-2.6.6/linx-kernel-modules.patch b/recipes-enea/linx/linx-mod-2.6.6/linx-kernel-modules.patch new file mode 100644 index 0000000..f29019b --- /dev/null +++ b/recipes-enea/linx/linx-mod-2.6.6/linx-kernel-modules.patch | |||
@@ -0,0 +1,288 @@ | |||
1 | Use KERNEL_SRC and modules_install to get use of pokys build kernel modules. | ||
2 | fix version.h problem. | ||
3 | |||
4 | Signed-off-by: Anders Roxell <anders.roxell@enea.com> | ||
5 | |||
6 | Upstream-status: Pending | ||
7 | --- | ||
8 | diff -uNr a/cmcl/Makefile b/cmcl/Makefile | ||
9 | --- a/cmcl/Makefile 2013-02-25 15:46:59.777325274 +0100 | ||
10 | +++ b/cmcl/Makefile 2013-02-25 15:57:22.038398316 +0100 | ||
11 | @@ -3,8 +3,8 @@ | ||
12 | LINX ?= $(CURDIR)/../../.. | ||
13 | include $(LINX)/net/linx/config.mk | ||
14 | |||
15 | -KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
16 | -VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
17 | +KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
18 | +VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
19 | |||
20 | ifneq ($(VENDOR_VERSION), "") | ||
21 | EXTRA_CFLAGS += -DGFP_IS_INT | ||
22 | @@ -38,15 +38,17 @@ | ||
23 | |||
24 | linx_cmcl-y += cmcl.o | ||
25 | |||
26 | +SRC := $(shell pwd) | ||
27 | + | ||
28 | modules: | ||
29 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules | ||
30 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules | ||
31 | $(CP) linx_cmcl.ko .. | ||
32 | |||
33 | clean: | ||
34 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean | ||
35 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean | ||
36 | $(LINXRM) Module.symvers Module.markers modules.order ../linx_cmcl.ko | ||
37 | |||
38 | -install: modules | ||
39 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install | ||
40 | +modules_install: modules | ||
41 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install | ||
42 | depmod | ||
43 | |||
44 | diff -uNr a/config.mk b/config.mk | ||
45 | --- a/config.mk 2013-02-25 15:46:59.781325113 +0100 | ||
46 | +++ b/config.mk 2013-02-25 16:13:30.672459997 +0100 | ||
47 | @@ -3,7 +3,7 @@ | ||
48 | # CROSS_COMPILE is cross compiler prefix (including full path) | ||
49 | CROSS_COMPILE ?= | ||
50 | # KERNEL is the path to your kernel sources | ||
51 | -KERNEL ?= | ||
52 | +KERNEL_SRC ?= | ||
53 | |||
54 | # Host architecture | ||
55 | HOST_ARCH ?= $(patsubst i%86,i386,$(shell uname -m)) | ||
56 | @@ -26,13 +26,13 @@ | ||
57 | endif | ||
58 | |||
59 | ifeq ($(ARCH),$(HOST_ARCH)) | ||
60 | -ifndef KERNEL | ||
61 | -KERNEL := $(HOST_KERNEL) | ||
62 | +ifndef KERNEL_SRC | ||
63 | +KERNEL_SRC := $(HOST_KERNEL) | ||
64 | endif | ||
65 | else | ||
66 | -ifndef KERNEL | ||
67 | +ifndef KERNEL_SRC | ||
68 | ifdef NEED_KERNEL | ||
69 | -$(error Please define KERNEL.) | ||
70 | +$(error Please define KERNEL_SRC.) | ||
71 | endif | ||
72 | endif | ||
73 | endif | ||
74 | @@ -53,8 +53,8 @@ | ||
75 | ifdef CROSS_COMPILE | ||
76 | $(ECHO) "# CROSS_COMPILE=$(CROSS_COMPILE)" | ||
77 | endif | ||
78 | -ifdef KERNEL | ||
79 | - $(ECHO) "# KERNEL=$(KERNEL)" | ||
80 | +ifdef KERNEL_SRC | ||
81 | + $(ECHO) "# KERNEL_SRC=$(KERNEL_SRC)" | ||
82 | endif | ||
83 | ifdef VERBOSE | ||
84 | $(ECHO) "# VERBOSE=$(VERBOSE)" | ||
85 | @@ -62,7 +62,7 @@ | ||
86 | $(ECHO) "# VERBOSE=no" | ||
87 | endif | ||
88 | |||
89 | -export ARCH CROSS_COMPILE KERNEL LINX | ||
90 | +export ARCH CROSS_COMPILE KERNEL_SRC LINX | ||
91 | |||
92 | .PHONY: echo_config | ||
93 | |||
94 | @@ -117,5 +117,5 @@ | ||
95 | # in the mercury linux distribution. | ||
96 | EXTRA_CFLAGS += -I$(KDIR)/arch/ppc -DRLNH_ALIGN_ANY | ||
97 | else # x86 | ||
98 | -KDIR := /lib/modules/$(shell uname -r)/build | ||
99 | +KDIR := /lib/modules/$(KERNEL_VERSION)/build | ||
100 | endif | ||
101 | diff -uNr a/ecm/Makefile b/ecm/Makefile | ||
102 | --- a/ecm/Makefile 2013-02-25 15:46:59.781325113 +0100 | ||
103 | +++ b/ecm/Makefile 2013-02-25 16:11:13.754388313 +0100 | ||
104 | @@ -5,8 +5,8 @@ | ||
105 | LINX ?= $(CURDIR)/../../.. | ||
106 | include $(LINX)/net/linx/config.mk | ||
107 | |||
108 | -KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
109 | -VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
110 | +KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
111 | +VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
112 | |||
113 | ifneq ($(VENDOR_VERSION), "") | ||
114 | EXTRA_CFLAGS += -DGFP_IS_INT | ||
115 | @@ -43,14 +43,16 @@ | ||
116 | linx_eth_cm-y += ecm_rx.o | ||
117 | linx_eth_cm-y += ecm_kutils.o | ||
118 | |||
119 | +SRC := $(shell pwd) | ||
120 | + | ||
121 | modules: | ||
122 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules | ||
123 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules | ||
124 | $(CP) linx_eth_cm.ko .. | ||
125 | |||
126 | clean: | ||
127 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean | ||
128 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean | ||
129 | $(LINXRM) Module.symvers Module.markers modules.order ../linx_eth_cm.ko | ||
130 | |||
131 | -install: modules | ||
132 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install | ||
133 | +modules_install: modules | ||
134 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install | ||
135 | depmod | ||
136 | diff -uNr a/Makefile b/Makefile | ||
137 | --- a/Makefile 2013-02-25 15:46:59.781325113 +0100 | ||
138 | +++ b/Makefile 2013-02-25 15:53:22.752757899 +0100 | ||
139 | @@ -63,9 +63,9 @@ | ||
140 | 2_6_11 := 132619 | ||
141 | |||
142 | # Vendors version of kernel, needed to catch certain back patches | ||
143 | -VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
144 | +VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
145 | # Main line kernel version | ||
146 | -KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
147 | +KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
148 | |||
149 | # | ||
150 | # 'gt_or_eq' | ||
151 | @@ -140,14 +140,16 @@ | ||
152 | obj-y += riocm/ | ||
153 | obj-y += cmcl/ | ||
154 | |||
155 | +SRC := $(shell pwd) | ||
156 | + | ||
157 | modules: | ||
158 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules | ||
159 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules | ||
160 | $(CP) */*.ko . | ||
161 | clean: | ||
162 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean | ||
163 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean | ||
164 | $(LINXRM) Module.symvers Module.markers modules.order | ||
165 | |||
166 | -install: modules | ||
167 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install | ||
168 | +modules_install: modules | ||
169 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install | ||
170 | depmod | ||
171 | |||
172 | diff -uNr a/riocm/Makefile b/riocm/Makefile | ||
173 | --- a/riocm/Makefile 2013-02-25 15:46:59.781325113 +0100 | ||
174 | +++ b/riocm/Makefile 2013-02-25 16:05:33.381125565 +0100 | ||
175 | @@ -5,8 +5,8 @@ | ||
176 | LINX ?= $(CURDIR)/../../.. | ||
177 | include $(LINX)/net/linx/config.mk | ||
178 | |||
179 | -KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
180 | -VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
181 | +KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
182 | +VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
183 | |||
184 | ifneq ($(VENDOR_VERSION), "") | ||
185 | EXTRA_CFLAGS += -DGFP_IS_INT | ||
186 | @@ -43,15 +43,17 @@ | ||
187 | linx_rio_cm-y += rio_rx.o | ||
188 | linx_rio_cm-y += rio_kutils.o | ||
189 | |||
190 | +SRC := $(shell pwd) | ||
191 | + | ||
192 | modules: | ||
193 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules | ||
194 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules | ||
195 | $(CP) linx_rio_cm.ko .. | ||
196 | |||
197 | clean: | ||
198 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean | ||
199 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean | ||
200 | $(LINXRM) Module.symvers Module.markers modules.order ../linx_rio_cm.ko | ||
201 | |||
202 | -install: modules | ||
203 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install | ||
204 | +modules_install: modules | ||
205 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install | ||
206 | depmod | ||
207 | |||
208 | diff -uNr a/shmcm/Makefile b/shmcm/Makefile | ||
209 | --- a/shmcm/Makefile 2013-02-25 15:46:59.781325113 +0100 | ||
210 | +++ b/shmcm/Makefile 2013-02-25 16:03:58.113250295 +0100 | ||
211 | @@ -5,8 +5,8 @@ | ||
212 | LINX ?= $(CURDIR)/../../.. | ||
213 | include $(LINX)/net/linx/config.mk | ||
214 | |||
215 | -KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
216 | -VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
217 | +KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
218 | +VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
219 | |||
220 | ifneq ($(VENDOR_VERSION), "") | ||
221 | EXTRA_CFLAGS += -DGFP_IS_INT | ||
222 | @@ -60,7 +60,7 @@ | ||
223 | -I$(LINX)/net/linx/include \ | ||
224 | -I$(LINX)/net/linx/shmcm | ||
225 | |||
226 | -INSTALLDIR = /lib/modules/`uname -r`/kernel/net/linx | ||
227 | +INSTALLDIR = /lib/modules/$(KERNEL_VERSION)/kernel/net/linx | ||
228 | MODULES = linx_shm_cm.ko | ||
229 | |||
230 | obj-m := linx_shm_cm.o | ||
231 | @@ -70,15 +70,17 @@ | ||
232 | linx_shm_cm-y += shmcm_tx.o | ||
233 | linx_shm_cm-y += shmcm_kutils.o | ||
234 | |||
235 | +SRC := $(shell pwd) | ||
236 | + | ||
237 | modules: | ||
238 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules | ||
239 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules | ||
240 | $(CP) linx_shm_cm.ko .. | ||
241 | |||
242 | clean: | ||
243 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean | ||
244 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean | ||
245 | $(LINXRM) Module.symvers Module.markers modules.order ../linx_shm_cm.ko | ||
246 | |||
247 | -install: modules | ||
248 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install | ||
249 | +modules_install: modules | ||
250 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install | ||
251 | depmod | ||
252 | |||
253 | diff -uNr a/tcp_cm/Makefile b/tcp_cm/Makefile | ||
254 | --- a/tcp_cm/Makefile 2013-02-25 15:46:59.781325113 +0100 | ||
255 | +++ b/tcp_cm/Makefile 2013-02-25 16:10:09.097187839 +0100 | ||
256 | @@ -3,8 +3,8 @@ | ||
257 | LINX ?= $(CURDIR)/../../.. | ||
258 | include $(LINX)/net/linx/config.mk | ||
259 | |||
260 | -KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
261 | -VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h) | ||
262 | +KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
263 | +VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) | ||
264 | |||
265 | ifneq ($(VENDOR_VERSION), "") | ||
266 | EXTRA_CFLAGS += -DGFP_IS_INT | ||
267 | @@ -38,15 +38,17 @@ | ||
268 | |||
269 | linx_tcp_cm-y += tcp_cm.o | ||
270 | |||
271 | +SRC := $(shell pwd) | ||
272 | + | ||
273 | modules: | ||
274 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules | ||
275 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules | ||
276 | $(CP) linx_tcp_cm.ko .. | ||
277 | |||
278 | clean: | ||
279 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean | ||
280 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean | ||
281 | $(LINXRM) Module.symvers Module.markers modules.order ../linx_tcp_cm.ko | ||
282 | |||
283 | -install: modules | ||
284 | - $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install | ||
285 | +modules_install: modules | ||
286 | + $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install | ||
287 | depmod | ||
288 | |||
diff --git a/recipes-enea/linx/linx-mod-2.6.6/support-for-3.11-kernel-versions.patch b/recipes-enea/linx/linx-mod-2.6.6/support-for-3.11-kernel-versions.patch new file mode 100644 index 0000000..d6f9106 --- /dev/null +++ b/recipes-enea/linx/linx-mod-2.6.6/support-for-3.11-kernel-versions.patch | |||
@@ -0,0 +1,206 @@ | |||
1 | From 20294330f08283d28b6092b568156e29b1792328 Mon Sep 17 00:00:00 2001 | ||
2 | From: Adrian Dudau <adrian.dudau@enea.com> | ||
3 | Date: Thu, 12 Dec 2013 11:23:24 +0100 | ||
4 | Subject: [PATCH] support for 3.11 kernel versions | ||
5 | |||
6 | Fixed NULL pointer dereference in ecm_conn.c | ||
7 | |||
8 | Signed-off-by: Adrian Dudau <adrian.dudau@enea.com> | ||
9 | --- | ||
10 | cfg/db_proc.c | 23 ++++++++++++++++++----- | ||
11 | ecm/ecm_conn.c | 11 ++++++++--- | ||
12 | ipc/hunt.c | 24 ++++++++++++++++++++++++ | ||
13 | 3 files changed, 50 insertions(+), 8 deletions(-) | ||
14 | |||
15 | diff --git a/cfg/db_proc.c b/cfg/db_proc.c | ||
16 | index c062a3d..bad0353 100644 | ||
17 | --- a/cfg/db_proc.c | ||
18 | +++ b/cfg/db_proc.c | ||
19 | @@ -41,6 +41,12 @@ | ||
20 | #include "db_format.h" | ||
21 | #include <asm/uaccess.h> | ||
22 | |||
23 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)) | ||
24 | +#define PDE_INODE_NAME(inode) PDE_DATA(inode) | ||
25 | +#else | ||
26 | +#define PDE_INODE_NAME(inode) PDE(inode)->name | ||
27 | +#endif | ||
28 | + | ||
29 | struct db_seq { | ||
30 | const struct db_template *template; | ||
31 | struct list_head *list; | ||
32 | @@ -148,11 +154,11 @@ static int db_proc_open(struct inode *inode, struct file *file) | ||
33 | if (status != 0) | ||
34 | goto out_20; | ||
35 | |||
36 | - status = db_template_get(PDE(inode)->name, &p->template); | ||
37 | + status = db_template_get(PDE_INODE_NAME(inode), &p->template); | ||
38 | if (status != 0) | ||
39 | goto out_20; | ||
40 | |||
41 | - status = db_list_get(PDE(inode)->name, &p->list); | ||
42 | + status = db_list_get(PDE_INODE_NAME(inode), &p->list); | ||
43 | if (status != 0) | ||
44 | goto out_10; | ||
45 | |||
46 | @@ -161,7 +167,7 @@ static int db_proc_open(struct inode *inode, struct file *file) | ||
47 | return 0; | ||
48 | |||
49 | out_10: | ||
50 | - db_template_put(PDE(inode)->name, &p->template); | ||
51 | + db_template_put(PDE_INODE_NAME(inode), &p->template); | ||
52 | out_20: | ||
53 | kfree(p); | ||
54 | return status; | ||
55 | @@ -217,11 +223,11 @@ static int db_proc_release(struct inode *inode, struct file *file) | ||
56 | s = file->private_data; | ||
57 | p = s->private; | ||
58 | |||
59 | - status = db_list_put(PDE(inode)->name, &p->list); | ||
60 | + status = db_list_put(PDE_INODE_NAME(inode), &p->list); | ||
61 | if (status != 0) | ||
62 | return status; | ||
63 | |||
64 | - status = db_template_put(PDE(inode)->name, &p->template); | ||
65 | + status = db_template_put(PDE_INODE_NAME(inode), &p->template); | ||
66 | if (status != 0) | ||
67 | return status; | ||
68 | |||
69 | @@ -258,14 +264,21 @@ int db_proc_add(const char *name) | ||
70 | { | ||
71 | struct proc_dir_entry *pde; | ||
72 | |||
73 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0) | ||
74 | + pde = proc_create_data(name, 0777, db_proc_root, | ||
75 | + &db_proc_file_ops, (void *)name); | ||
76 | +#else | ||
77 | pde = create_proc_entry(name, 0777, db_proc_root); | ||
78 | +#endif | ||
79 | if (pde == NULL) | ||
80 | return -EINVAL; | ||
81 | |||
82 | #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29) | ||
83 | pde->owner = THIS_MODULE; | ||
84 | #endif | ||
85 | +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) | ||
86 | pde->proc_fops = &db_proc_file_ops; | ||
87 | +#endif | ||
88 | return 0; | ||
89 | } | ||
90 | EXPORT_SYMBOL(db_proc_add); | ||
91 | diff --git a/ecm/ecm_conn.c b/ecm/ecm_conn.c | ||
92 | index aaf5161..b81abd1 100644 | ||
93 | --- a/ecm/ecm_conn.c | ||
94 | +++ b/ecm/ecm_conn.c | ||
95 | @@ -905,8 +905,9 @@ static void free_ecm_connection(struct RlnhLinkObj *co) | ||
96 | { | ||
97 | /* Undo alloc_ecm_connection(). */ | ||
98 | if (co != NULL) { | ||
99 | - if (list_empty(&co->ecm_dev->conn_list)) | ||
100 | - dev_remove_pack(&co->ecm_dev->pt); | ||
101 | + if (co->ecm_dev != NULL) | ||
102 | + if (list_empty(&co->ecm_dev->conn_list)) | ||
103 | + dev_remove_pack(&co->ecm_dev->pt); | ||
104 | if (co->con_name != NULL) | ||
105 | kfree(co->con_name); | ||
106 | if (co->dev_name != NULL) | ||
107 | @@ -1315,7 +1316,11 @@ static int net_event(struct notifier_block *nb, unsigned long event, void *data) | ||
108 | struct ecm_work_net_event *p; | ||
109 | |||
110 | (void)nb; | ||
111 | - dev = data; | ||
112 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) | ||
113 | + dev = netdev_notifier_info_to_dev(data); | ||
114 | +#else | ||
115 | + dev = data; | ||
116 | +#endif | ||
117 | |||
118 | w = alloc_ecm_work(sizeof(*p), ECM_WORK_NET_EVENT, GFP_KERNEL); | ||
119 | if (w == NULL) | ||
120 | diff --git a/ipc/hunt.c b/ipc/hunt.c | ||
121 | index 843a893..f4564eb 100644 | ||
122 | --- a/ipc/hunt.c | ||
123 | +++ b/ipc/hunt.c | ||
124 | @@ -743,7 +743,9 @@ static inline struct sock *__locate_name(const char *name, | ||
125 | unsigned hash, uint32_t hunter_spid) | ||
126 | { | ||
127 | struct sock *s, *s_found = NULL; | ||
128 | +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)) | ||
129 | struct hlist_node *node; | ||
130 | +#endif | ||
131 | |||
132 | linx_trace_enter(LINX_TRACEGROUP_IPC, | ||
133 | "%s, %d, 0x%x, 0x%x", name, len, hash, hunter_spid); | ||
134 | @@ -753,7 +755,11 @@ static inline struct sock *__locate_name(const char *name, | ||
135 | |||
136 | /* Traverse the list of sockets in the specified hash slot to find a | ||
137 | match. */ | ||
138 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) | ||
139 | + sk_for_each(s, &linx_sockets_bound[hash]) { | ||
140 | +#else | ||
141 | sk_for_each(s, node, &linx_sockets_bound[hash]) { | ||
142 | +#endif | ||
143 | linx_check_sock(s); | ||
144 | |||
145 | /* If the length of the aname are the same, potential match was found. */ | ||
146 | @@ -1122,7 +1128,9 @@ int linx_info_sockets(struct linx_info_sockets *isockets, | ||
147 | LINX_SPID __user * spids) | ||
148 | { | ||
149 | struct sock *sk; | ||
150 | +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)) | ||
151 | const struct hlist_node *node; | ||
152 | +#endif | ||
153 | int i, tot_sockets = 0, tot_sockets_tmp = 0, max_sockets; | ||
154 | |||
155 | LINX_ASSERT(isockets != NULL); | ||
156 | @@ -1131,7 +1139,11 @@ int linx_info_sockets(struct linx_info_sockets *isockets, | ||
157 | |||
158 | read_lock_bh(&linx_socket_bound_unbound_lock); | ||
159 | /* Count the number of sockets the needs to be returned. */ | ||
160 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) | ||
161 | + sk_for_each(sk, &linx_sockets_unbound) { | ||
162 | +#else | ||
163 | sk_for_each(sk, node, &linx_sockets_unbound) { | ||
164 | +#endif | ||
165 | if (linx_sk(sk)->type == LINX_TYPE_REMOTE && isockets->remote) { | ||
166 | tot_sockets_tmp++; | ||
167 | } else if (linx_sk(sk)->type == LINX_TYPE_LOCAL && | ||
168 | @@ -1156,7 +1168,11 @@ int linx_info_sockets(struct linx_info_sockets *isockets, | ||
169 | |||
170 | tot_sockets_tmp = 0; | ||
171 | |||
172 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) | ||
173 | + sk_for_each(sk, &linx_sockets_unbound) { | ||
174 | +#else | ||
175 | sk_for_each(sk, node, &linx_sockets_unbound) { | ||
176 | +#endif | ||
177 | LINX_SPID spid = linx_sock_to_spid(sk); | ||
178 | if (linx_sk(sk)->type == LINX_TYPE_REMOTE && | ||
179 | isockets->remote) { | ||
180 | @@ -1197,7 +1213,11 @@ int linx_info_sockets(struct linx_info_sockets *isockets, | ||
181 | for (i = 0; i < LINX_HASH_SIZE; i++) { | ||
182 | tot_sockets_tmp = 0; | ||
183 | read_lock_bh(&linx_socket_bound_unbound_lock); | ||
184 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) | ||
185 | + sk_for_each(sk, &linx_sockets_bound[i]) { | ||
186 | +#else | ||
187 | sk_for_each(sk, node, &linx_sockets_bound[i]) { | ||
188 | +#endif | ||
189 | if (linx_sk(sk)->type == LINX_TYPE_REMOTE && | ||
190 | isockets->remote) { | ||
191 | tot_sockets_tmp++; | ||
192 | @@ -1222,7 +1242,11 @@ int linx_info_sockets(struct linx_info_sockets *isockets, | ||
193 | } | ||
194 | |||
195 | tot_sockets_tmp = 0; | ||
196 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) | ||
197 | + sk_for_each(sk, &linx_sockets_bound[i]) { | ||
198 | +#else | ||
199 | sk_for_each(sk, node, &linx_sockets_bound[i]) { | ||
200 | +#endif | ||
201 | LINX_SPID spid = linx_sock_to_spid(sk); | ||
202 | if (linx_sk(sk)->type == LINX_TYPE_REMOTE && | ||
203 | isockets->remote) { | ||
204 | -- | ||
205 | 1.8.3.2 | ||
206 | |||
diff --git a/recipes-enea/linx/linx-mod-2.6.6/support-for-3.12-kernels.patch b/recipes-enea/linx/linx-mod-2.6.6/support-for-3.12-kernels.patch new file mode 100644 index 0000000..60c69a8 --- /dev/null +++ b/recipes-enea/linx/linx-mod-2.6.6/support-for-3.12-kernels.patch | |||
@@ -0,0 +1,24 @@ | |||
1 | Fixed build errors for linx_mod with kernel 3.12.X. | ||
2 | |||
3 | For details, see [LXCR-3427]. | ||
4 | |||
5 | Upstream-Status: Not Applicable | ||
6 | |||
7 | Signed-off-by: Liviu Gheorghisan <liviu.gheorghisan@enea.com> | ||
8 | |||
9 | --- | ||
10 | --- a/af_linx.c 2014-04-02 10:19:44.000000000 +0300 | ||
11 | +++ b/af_linx.c 2014-07-23 17:40:01.629687646 +0300 | ||
12 | @@ -1034,8 +1034,11 @@ | ||
13 | failure: | ||
14 | *errcode = err; | ||
15 | return NULL; | ||
16 | -#else | ||
17 | +#elif LINUX_VERSION_CODE < KERNEL_VERSION(3,12,0) | ||
18 | return sock_alloc_send_pskb(sk, 0, data_len, 0, errcode); | ||
19 | +#else | ||
20 | + /* max_page_order == 0 => no paged allocations */ | ||
21 | + return sock_alloc_send_pskb(sk, 0, data_len, 0, errcode, 0); | ||
22 | #endif | ||
23 | } | ||
24 | |||
diff --git a/recipes-enea/linx/linx-mod-2.6.6/support-for-3.15-kernels.patch b/recipes-enea/linx/linx-mod-2.6.6/support-for-3.15-kernels.patch new file mode 100644 index 0000000..80118a4 --- /dev/null +++ b/recipes-enea/linx/linx-mod-2.6.6/support-for-3.15-kernels.patch | |||
@@ -0,0 +1,60 @@ | |||
1 | Fixed build errors for linx-mod with kernel >= 3.15.0 | ||
2 | |||
3 | Upstream-Status: Not Applicable | ||
4 | |||
5 | Signed-off-by: Huimin She <huimin.she@enea.com> | ||
6 | |||
7 | --- | ||
8 | diff -rup a/af_linx.c b/af_linx.c | ||
9 | --- a/af_linx.c 2014-07-25 16:22:23.295570583 +0200 | ||
10 | +++ b/af_linx.c 2014-07-25 16:22:23.299570583 +0200 | ||
11 | @@ -743,7 +743,11 @@ setup_receive_filter(struct sock *sk, st | ||
12 | /* This function is called to wake up a receiving socket when it is sleeping | ||
13 | * waiting for a new message in poll or select. | ||
14 | */ | ||
15 | +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)) | ||
16 | static void linx_data_ready(struct sock *sk, int len) | ||
17 | +#else | ||
18 | +static void linx_data_ready(struct sock *sk) | ||
19 | +#endif | ||
20 | { | ||
21 | linx_check_sock(sk); | ||
22 | |||
23 | @@ -1401,7 +1405,11 @@ linx_do_legacy_sendmsg(struct sock *sk, | ||
24 | LINX_SOCK_STAT_QUEUE_SIGNAL(to, payload_size); | ||
25 | #endif | ||
26 | /* Wake up the receiver, if it sleeps and wait for the signal. */ | ||
27 | +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)) | ||
28 | to->sk_data_ready(to, payload_size); | ||
29 | +#else | ||
30 | + to->sk_data_ready(to); | ||
31 | +#endif | ||
32 | |||
33 | return 0; | ||
34 | out: | ||
35 | @@ -1577,7 +1585,11 @@ linx_do_sendmsg(struct sock *sk, | ||
36 | LINX_SOCK_STAT_QUEUE_SIGNAL(to, payload_size); | ||
37 | #endif | ||
38 | /* Wake up the receiver, if it sleeps and wait for the signal. */ | ||
39 | - to->sk_data_ready(to, payload_size); | ||
40 | +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)) | ||
41 | + to->sk_data_ready(to, payload_size); | ||
42 | +#else | ||
43 | + to->sk_data_ready(to); | ||
44 | +#endif | ||
45 | |||
46 | return 0; | ||
47 | out: | ||
48 | @@ -1636,7 +1648,11 @@ int __linx_do_sendmsg_skb_to_local_sk(st | ||
49 | LINX_SOCK_STAT_QUEUE_SIGNAL(to, payload_size); | ||
50 | #endif | ||
51 | /* Wake up the receiver, if it sleeps and waits for the signal. */ | ||
52 | - to->sk_data_ready(to, payload_size); | ||
53 | +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)) | ||
54 | + to->sk_data_ready(to, payload_size); | ||
55 | +#else | ||
56 | + to->sk_data_ready(to); | ||
57 | +#endif | ||
58 | |||
59 | return 0; | ||
60 | } | ||
diff --git a/recipes-enea/linx/linx-mod_2.6.6.bb b/recipes-enea/linx/linx-mod_2.6.6.bb new file mode 100644 index 0000000..18adef9 --- /dev/null +++ b/recipes-enea/linx/linx-mod_2.6.6.bb | |||
@@ -0,0 +1,34 @@ | |||
1 | SUMMARY = "LINX for Linux fast IPC" | ||
2 | DESCRIPTION = "LINX is a distributed communication protocol stack for transparent inter node and interprocess communication for a heterogeneous mix of systems." | ||
3 | HOMEPAGE = "http://linx.sourceforge.net/" | ||
4 | |||
5 | SECTION = "kernel/modules" | ||
6 | |||
7 | LICENSE = "GPLv2" | ||
8 | LIC_FILES_CHKSUM = "file://../../COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
9 | |||
10 | DEPENDS = "linux-libc-headers linx" | ||
11 | RRECOMMENDS_${PN} = "linx kmod" | ||
12 | |||
13 | SRC_URI = "http://linux.enea.com/linx/linx-${PV}.tar.gz \ | ||
14 | file://support-for-3.12-kernels.patch \ | ||
15 | file://support-for-3.15-kernels.patch" | ||
16 | |||
17 | SRC_URI[md5sum] = "f6d7e103eee0807cacf73aa20cf95571" | ||
18 | SRC_URI[sha256sum] = "a8fa3fe221e883ecb6afaa001652c96080a474b95e8d37c3bcf3e0c2ae618799" | ||
19 | |||
20 | S = "${WORKDIR}/linx-${PV}/net/linx" | ||
21 | |||
22 | inherit module | ||
23 | |||
24 | module_do_compile_prepend () { | ||
25 | |||
26 | HAS_LOADABLE_MODULES=$(cat ${STAGING_KERNEL_DIR}/.config | grep "CONFIG_MODULES=y") | ||
27 | |||
28 | if [[ ${#HAS_LOADABLE_MODULES} -eq 0 ]] ; then | ||
29 | echo "The specified Linux kernel has no support for pluggable modules (CONFIG_MODULES=y). Enable it before baking this." | ||
30 | exit 1 | ||
31 | fi | ||
32 | |||
33 | do_make_scripts | ||
34 | } | ||
diff --git a/recipes-enea/linx/linx.inc b/recipes-enea/linx/linx.inc new file mode 100644 index 0000000..3160cfb --- /dev/null +++ b/recipes-enea/linx/linx.inc | |||
@@ -0,0 +1,23 @@ | |||
1 | SUMMARY = "LINX for Linux fast IPC" | ||
2 | DESCRIPTION = "LINX is a distributed communication protocol stack for transparent inter node and interprocess communication for a heterogeneous mix of systems." | ||
3 | HOMEPAGE = "http://linx.sourceforge.net/" | ||
4 | SECTION = "system/library" | ||
5 | |||
6 | DEPENDS = "linux-libc-headers virtual/libc" | ||
7 | RRECOMMENDS_${PN} = "linx-mod" | ||
8 | |||
9 | SRC_URI = "http://linux.enea.com/linx/linx-${PV}.tar.gz \ | ||
10 | file://liblinx_free_buf.patch" | ||
11 | |||
12 | SRC_URI[md5sum] = "f6d7e103eee0807cacf73aa20cf95571" | ||
13 | SRC_URI[sha256sum] = "a8fa3fe221e883ecb6afaa001652c96080a474b95e8d37c3bcf3e0c2ae618799" | ||
14 | |||
15 | S = "${WORKDIR}/linx-${PV}" | ||
16 | |||
17 | inherit autotools-brokensep | ||
18 | |||
19 | do_install_append () { | ||
20 | mkdir -p ${D}/etc | ||
21 | install -m 644 ${S}/linxgw/linxgws/example.conf ${D}/etc/linxgws.conf | ||
22 | } | ||
23 | |||
diff --git a/recipes-enea/linx/linx_2.6.6.bb b/recipes-enea/linx/linx_2.6.6.bb new file mode 100644 index 0000000..79f7ed7 --- /dev/null +++ b/recipes-enea/linx/linx_2.6.6.bb | |||
@@ -0,0 +1,6 @@ | |||
1 | require linx.inc | ||
2 | LICENSE = "BSD" | ||
3 | |||
4 | PR = "r0" | ||
5 | |||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
diff --git a/recipes-enea/list2mask/list2mask/run-ptest b/recipes-enea/list2mask/list2mask/run-ptest new file mode 100644 index 0000000..9eb6c2f --- /dev/null +++ b/recipes-enea/list2mask/list2mask/run-ptest | |||
@@ -0,0 +1,15 @@ | |||
1 | #!/bin/sh -eu | ||
2 | |||
3 | mask=$(list2mask --cpus 2-3,5,7-8) | ||
4 | |||
5 | if [ $? -ne 0 ]; then | ||
6 | echo "FAIL: list2mask failed to execute" | ||
7 | exit | ||
8 | fi | ||
9 | |||
10 | if [ "$mask" != "1ac" ]; then | ||
11 | echo "FAIL: list2mask returns mask '$mask', expected '1ac'" | ||
12 | exit | ||
13 | fi | ||
14 | |||
15 | echo "PASS: list2mask" | ||
diff --git a/recipes-enea/list2mask/list2mask_1.0.bb b/recipes-enea/list2mask/list2mask_1.0.bb new file mode 100644 index 0000000..d72bcda --- /dev/null +++ b/recipes-enea/list2mask/list2mask_1.0.bb | |||
@@ -0,0 +1,25 @@ | |||
1 | SUMMARY = "Translate CPU list to a CPU mask" | ||
2 | DESCRIPTION = "Translate CPU list given on command line to a hexadecimal CPU mask. Can use kernel boot parameters isolcpus or nohz_full as input as well as a list given on command line." | ||
3 | SECTION = "utils" | ||
4 | LICENSE = "BSD" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=b52bab7a403562f36be803f11489f1a4" | ||
6 | |||
7 | PR = "r1" | ||
8 | |||
9 | RDEPENDS_${PN} = "bash" | ||
10 | |||
11 | SRC_URI = "git://github.com/OpenEneaLinux/rt-tools.git;branch=master \ | ||
12 | file://run-ptest \ | ||
13 | " | ||
14 | |||
15 | SRCREV = "db6eff03d80c04803fb146939c504b500e16fe2f" | ||
16 | |||
17 | inherit ptest | ||
18 | |||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | FILES_${PN} += "/bin/*" | ||
22 | |||
23 | do_install() { | ||
24 | install -D ${S}/install/bin/${PN} ${D}/usr/bin/${PN} | ||
25 | } | ||
diff --git a/recipes-enea/partrt/partrt/run-ptest b/recipes-enea/partrt/partrt/run-ptest new file mode 100644 index 0000000..b84af18 --- /dev/null +++ b/recipes-enea/partrt/partrt/run-ptest | |||
@@ -0,0 +1,9 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | ./test_partition.py target -v | ||
4 | |||
5 | if [ $? -eq 0 ]; then | ||
6 | echo "PASS: test_partition" | ||
7 | else | ||
8 | echo "FAIL: test_partition" | ||
9 | fi | ||
diff --git a/recipes-enea/partrt/partrt_1.1.bb b/recipes-enea/partrt/partrt_1.1.bb new file mode 100644 index 0000000..8113805 --- /dev/null +++ b/recipes-enea/partrt/partrt_1.1.bb | |||
@@ -0,0 +1,30 @@ | |||
1 | SUMMARY = "CPU partitioning tool" | ||
2 | DESCRIPTION = "partrt is a tool for dividing a SMP Linux system into a real time domain and a non-real time domain." | ||
3 | SECTION = "utils" | ||
4 | LICENSE = "BSD" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=b52bab7a403562f36be803f11489f1a4" | ||
6 | |||
7 | RDEPENDS_${PN} = "bash" | ||
8 | RDEPENDS_${PN}-ptest += "python" | ||
9 | |||
10 | SRC_URI = "git://github.com/OpenEneaLinux/rt-tools.git;branch=master \ | ||
11 | file://run-ptest \ | ||
12 | " | ||
13 | |||
14 | SRCREV = "cbe36a4946a2b3bb4927ca3b8ac800111ae9ce49" | ||
15 | |||
16 | inherit ptest | ||
17 | |||
18 | S = "${WORKDIR}/git" | ||
19 | |||
20 | FILES_${PN} += "/bin/*" | ||
21 | |||
22 | do_install() { | ||
23 | install -d ${D}/usr/bin | ||
24 | install ${S}/install/bin/partrt ${D}/usr/bin | ||
25 | } | ||
26 | |||
27 | do_install_ptest() { | ||
28 | install ${S}/test/test_partition.py ${D}${PTEST_PATH} | ||
29 | sed -i s/target/${MACHINE}/ ${D}${PTEST_PATH}/run-ptest | ||
30 | } | ||
diff --git a/recipes-kernel/linux/files/0001-net-fib-fib6_add-fix-potential-NULL-pointer-derefere.patch b/recipes-kernel/linux/files/0001-net-fib-fib6_add-fix-potential-NULL-pointer-derefere.patch new file mode 100644 index 0000000..abd4430 --- /dev/null +++ b/recipes-kernel/linux/files/0001-net-fib-fib6_add-fix-potential-NULL-pointer-derefere.patch | |||
@@ -0,0 +1,52 @@ | |||
1 | From c5c56513b779cb082d05f63c606bde9321d395fb Mon Sep 17 00:00:00 2001 | ||
2 | From: Sona Sarmadi <sona.sarmadi@enea.com> | ||
3 | Date: Tue, 22 Apr 2014 13:52:58 +0200 | ||
4 | Subject: [PATCH] net: fib: fib6_add: fix potential NULL pointer dereference | ||
5 | |||
6 | When the kernel is compiled with CONFIG_IPV6_SUBTREES, and we return | ||
7 | with an error in fn = fib6_add_1(), then error codes are encoded into | ||
8 | the return pointer e.g. ERR_PTR(-ENOENT). In such an error case, we | ||
9 | write the error code into err and jump to out, hence enter the if(err) | ||
10 | condition. Now, if CONFIG_IPV6_SUBTREES is enabled, we check for: | ||
11 | if (pn != fn && pn->leaf == rt) | ||
12 | ... | ||
13 | if (pn != fn && !pn->leaf && !(pn->fn_flags & RTN_RTINFO)) | ||
14 | ... | ||
15 | Since pn is NULL and fn is f.e. ERR_PTR(-ENOENT), then pn != fn | ||
16 | evaluates to true and causes a NULL-pointer dereference on further | ||
17 | checks on pn. Fix it, by setting both NULL in error case, so that | ||
18 | pn != fn already evaluates to false and no further dereference | ||
19 | takes place. | ||
20 | |||
21 | This was first correctly implemented in 4a287eba2 ("IPv6 routing, | ||
22 | NLM_F_* flag support: REPLACE and EXCL flags support, warn about | ||
23 | missing CREATE flag"), but the bug got later on introduced by | ||
24 | 188c517a0 ("ipv6: return errno pointers consistently for fib6_add_1()"). | ||
25 | |||
26 | Signed-off-by: Daniel Borkmann <dborkman@redhat.com> | ||
27 | Cc: Lin Ming <mlin@ss.pku.edu.cn> | ||
28 | Cc: Matti Vaittinen <matti.vaittinen@nsn.com> | ||
29 | Cc: Hannes Frederic Sowa <hannes@stressinduktion.org> | ||
30 | Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org> | ||
31 | Acked-by: Matti Vaittinen <matti.vaittinen@nsn.com> | ||
32 | Signed-off-by: David S. Miller <davem@davemloft.net> | ||
33 | Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com> | ||
34 | --- | ||
35 | net/ipv6/ip6_fib.c | 1 + | ||
36 | 1 file changed, 1 insertion(+) | ||
37 | |||
38 | diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c | ||
39 | index 5fc9c7a..45562f6 100644 | ||
40 | --- a/net/ipv6/ip6_fib.c | ||
41 | +++ b/net/ipv6/ip6_fib.c | ||
42 | @@ -828,6 +828,7 @@ int fib6_add(struct fib6_node *root, struct rt6_info *rt, struct nl_info *info) | ||
43 | |||
44 | if (IS_ERR(fn)) { | ||
45 | err = PTR_ERR(fn); | ||
46 | + fn = NULL; | ||
47 | goto out; | ||
48 | } | ||
49 | |||
50 | -- | ||
51 | 1.7.10.4 | ||
52 | |||
diff --git a/recipes-kernel/linux/files/0001-sdhci-fix-Timeout-error-messages.patch b/recipes-kernel/linux/files/0001-sdhci-fix-Timeout-error-messages.patch new file mode 100644 index 0000000..9e42dbd --- /dev/null +++ b/recipes-kernel/linux/files/0001-sdhci-fix-Timeout-error-messages.patch | |||
@@ -0,0 +1,39 @@ | |||
1 | From 34a06b51a1928ed1692da4fce9f2203dfd306648 Mon Sep 17 00:00:00 2001 | ||
2 | From: "Maxin B. John" <maxin.john@enea.com> | ||
3 | Date: Tue, 22 Apr 2014 07:26:59 +0200 | ||
4 | Subject: [PATCH] sdhci: fix Timeout error messages | ||
5 | |||
6 | If the driver doesn't implement proper card detection, | ||
7 | we shouldn't flood the console with Timeout error messages | ||
8 | |||
9 | Upstream-Status: Pending | ||
10 | |||
11 | Signed-off-by: Maxin B. John <maxin.john@enea.com> | ||
12 | --- | ||
13 | drivers/mmc/host/sdhci.c | 9 ++++++--- | ||
14 | 1 file changed, 6 insertions(+), 3 deletions(-) | ||
15 | |||
16 | diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c | ||
17 | index 79db375..c77117c 100644 | ||
18 | --- a/drivers/mmc/host/sdhci.c | ||
19 | +++ b/drivers/mmc/host/sdhci.c | ||
20 | @@ -2149,10 +2149,13 @@ static void sdhci_timeout_timer(unsigned long data) | ||
21 | spin_lock_irqsave(&host->lock, flags); | ||
22 | |||
23 | if (host->mrq) { | ||
24 | - pr_err("%s: Timeout waiting for hardware " | ||
25 | + /* If the driver doesn't implement proper card detection, | ||
26 | + we shouldn't flood the console with Timeout error messages */ | ||
27 | + if (!(host->quirks & SDHCI_QUIRK_BROKEN_CARD_DETECTION)) { | ||
28 | + pr_err("%s: Timeout waiting for hardware " | ||
29 | "interrupt.\n", mmc_hostname(host->mmc)); | ||
30 | - sdhci_dumpregs(host); | ||
31 | - | ||
32 | + sdhci_dumpregs(host); | ||
33 | + } | ||
34 | if (host->data) { | ||
35 | host->data->error = -ETIMEDOUT; | ||
36 | sdhci_finish_data(host); | ||
37 | -- | ||
38 | 1.7.10.4 | ||
39 | |||
diff --git a/recipes-kernel/linux/files/Check_correct_namespace_when_spoofing_pid_over_SCM_RIGHTS.patch b/recipes-kernel/linux/files/Check_correct_namespace_when_spoofing_pid_over_SCM_RIGHTS.patch new file mode 100644 index 0000000..79e52c3 --- /dev/null +++ b/recipes-kernel/linux/files/Check_correct_namespace_when_spoofing_pid_over_SCM_RIGHTS.patch | |||
@@ -0,0 +1,13 @@ | |||
1 | diff --git a/net/core/scm.c b/net/core/scm.c | ||
2 | index 03795d0..b4da80b 100644 | ||
3 | --- a/net/core/scm.c | ||
4 | +++ b/net/core/scm.c | ||
5 | @@ -54,7 +54,7 @@ static __inline__ int scm_check_creds(struct ucred *creds) | ||
6 | return -EINVAL; | ||
7 | |||
8 | if ((creds->pid == task_tgid_vnr(current) || | ||
9 | - ns_capable(current->nsproxy->pid_ns->user_ns, CAP_SYS_ADMIN)) && | ||
10 | + ns_capable(task_active_pid_ns(current)->user_ns, CAP_SYS_ADMIN)) && | ||
11 | ((uid_eq(uid, cred->uid) || uid_eq(uid, cred->euid) || | ||
12 | uid_eq(uid, cred->suid)) || nsown_capable(CAP_SETUID)) && | ||
13 | ((gid_eq(gid, cred->gid) || gid_eq(gid, cred->egid) || | ||
diff --git a/recipes-kernel/linux/files/HID_CVE_patches/0001-HID-validate-HID-report-id-size.patch b/recipes-kernel/linux/files/HID_CVE_patches/0001-HID-validate-HID-report-id-size.patch new file mode 100644 index 0000000..faeace9 --- /dev/null +++ b/recipes-kernel/linux/files/HID_CVE_patches/0001-HID-validate-HID-report-id-size.patch | |||
@@ -0,0 +1,80 @@ | |||
1 | From 43622021d2e2b82ea03d883926605bdd0525e1d1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Kees Cook <keescook@chromium.org> | ||
3 | Date: Wed, 28 Aug 2013 22:29:55 +0200 | ||
4 | Subject: [PATCH] HID: validate HID report id size | ||
5 | |||
6 | The "Report ID" field of a HID report is used to build indexes of | ||
7 | reports. The kernel's index of these is limited to 256 entries, so any | ||
8 | malicious device that sets a Report ID greater than 255 will trigger | ||
9 | memory corruption on the host: | ||
10 | |||
11 | [ 1347.156239] BUG: unable to handle kernel paging request at ffff88094958a878 | ||
12 | [ 1347.156261] IP: [<ffffffff813e4da0>] hid_register_report+0x2a/0x8b | ||
13 | |||
14 | CVE-2013-2888 | ||
15 | |||
16 | Signed-off-by: Kees Cook <keescook@chromium.org> | ||
17 | Cc: stable@kernel.org | ||
18 | Signed-off-by: Jiri Kosina <jkosina@suse.cz> | ||
19 | Signed-off-by: Adrian Dudau <adrian.dudau@enea.com> | ||
20 | --- | ||
21 | drivers/hid/hid-core.c | 10 +++++++--- | ||
22 | include/linux/hid.h | 4 +++- | ||
23 | 2 files changed, 10 insertions(+), 4 deletions(-) | ||
24 | |||
25 | diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c | ||
26 | index 36668d1..5ea7d51 100644 | ||
27 | --- a/drivers/hid/hid-core.c | ||
28 | +++ b/drivers/hid/hid-core.c | ||
29 | @@ -63,6 +63,8 @@ struct hid_report *hid_register_report(struct hid_device *device, unsigned type, | ||
30 | struct hid_report_enum *report_enum = device->report_enum + type; | ||
31 | struct hid_report *report; | ||
32 | |||
33 | + if (id >= HID_MAX_IDS) | ||
34 | + return NULL; | ||
35 | if (report_enum->report_id_hash[id]) | ||
36 | return report_enum->report_id_hash[id]; | ||
37 | |||
38 | @@ -404,8 +406,10 @@ static int hid_parser_global(struct hid_parser *parser, struct hid_item *item) | ||
39 | |||
40 | case HID_GLOBAL_ITEM_TAG_REPORT_ID: | ||
41 | parser->global.report_id = item_udata(item); | ||
42 | - if (parser->global.report_id == 0) { | ||
43 | - hid_err(parser->device, "report_id 0 is invalid\n"); | ||
44 | + if (parser->global.report_id == 0 || | ||
45 | + parser->global.report_id >= HID_MAX_IDS) { | ||
46 | + hid_err(parser->device, "report_id %u is invalid\n", | ||
47 | + parser->global.report_id); | ||
48 | return -1; | ||
49 | } | ||
50 | return 0; | ||
51 | @@ -575,7 +579,7 @@ static void hid_close_report(struct hid_device *device) | ||
52 | for (i = 0; i < HID_REPORT_TYPES; i++) { | ||
53 | struct hid_report_enum *report_enum = device->report_enum + i; | ||
54 | |||
55 | - for (j = 0; j < 256; j++) { | ||
56 | + for (j = 0; j < HID_MAX_IDS; j++) { | ||
57 | struct hid_report *report = report_enum->report_id_hash[j]; | ||
58 | if (report) | ||
59 | hid_free_report(report); | ||
60 | diff --git a/include/linux/hid.h b/include/linux/hid.h | ||
61 | index 0c48991..ff545cc 100644 | ||
62 | --- a/include/linux/hid.h | ||
63 | +++ b/include/linux/hid.h | ||
64 | @@ -393,10 +393,12 @@ struct hid_report { | ||
65 | struct hid_device *device; /* associated device */ | ||
66 | }; | ||
67 | |||
68 | +#define HID_MAX_IDS 256 | ||
69 | + | ||
70 | struct hid_report_enum { | ||
71 | unsigned numbered; | ||
72 | struct list_head report_list; | ||
73 | - struct hid_report *report_id_hash[256]; | ||
74 | + struct hid_report *report_id_hash[HID_MAX_IDS]; | ||
75 | }; | ||
76 | |||
77 | #define HID_REPORT_TYPES 3 | ||
78 | -- | ||
79 | 1.7.9.5 | ||
80 | |||
diff --git a/recipes-kernel/linux/files/HID_CVE_patches/0002-HID-provide-a-helper-for-validating-hid-reports.patch b/recipes-kernel/linux/files/HID_CVE_patches/0002-HID-provide-a-helper-for-validating-hid-reports.patch new file mode 100644 index 0000000..860d710 --- /dev/null +++ b/recipes-kernel/linux/files/HID_CVE_patches/0002-HID-provide-a-helper-for-validating-hid-reports.patch | |||
@@ -0,0 +1,107 @@ | |||
1 | From 331415ff16a12147d57d5c953f3a961b7ede348b Mon Sep 17 00:00:00 2001 | ||
2 | From: Kees Cook <keescook@chromium.org> | ||
3 | Date: Wed, 11 Sep 2013 21:56:50 +0200 | ||
4 | Subject: [PATCH] HID: provide a helper for validating hid reports | ||
5 | |||
6 | Many drivers need to validate the characteristics of their HID report | ||
7 | during initialization to avoid misusing the reports. This adds a common | ||
8 | helper to perform validation of the report exisitng, the field existing, | ||
9 | and the expected number of values within the field. | ||
10 | |||
11 | Signed-off-by: Kees Cook <keescook@chromium.org> | ||
12 | Cc: stable@vger.kernel.org | ||
13 | Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> | ||
14 | Signed-off-by: Jiri Kosina <jkosina@suse.cz> | ||
15 | Signed-off-by: Adrian Dudau <adrian.dudau@enea.com> | ||
16 | --- | ||
17 | drivers/hid/hid-core.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++ | ||
18 | include/linux/hid.h | 4 ++++ | ||
19 | 2 files changed, 62 insertions(+) | ||
20 | |||
21 | diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c | ||
22 | index ae88a97..be52c06 100644 | ||
23 | --- a/drivers/hid/hid-core.c | ||
24 | +++ b/drivers/hid/hid-core.c | ||
25 | @@ -801,6 +801,64 @@ int hid_parse_report(struct hid_device *hid, __u8 *start, unsigned size) | ||
26 | } | ||
27 | EXPORT_SYMBOL_GPL(hid_parse_report); | ||
28 | |||
29 | +static const char * const hid_report_names[] = { | ||
30 | + "HID_INPUT_REPORT", | ||
31 | + "HID_OUTPUT_REPORT", | ||
32 | + "HID_FEATURE_REPORT", | ||
33 | +}; | ||
34 | +/** | ||
35 | + * hid_validate_values - validate existing device report's value indexes | ||
36 | + * | ||
37 | + * @device: hid device | ||
38 | + * @type: which report type to examine | ||
39 | + * @id: which report ID to examine (0 for first) | ||
40 | + * @field_index: which report field to examine | ||
41 | + * @report_counts: expected number of values | ||
42 | + * | ||
43 | + * Validate the number of values in a given field of a given report, after | ||
44 | + * parsing. | ||
45 | + */ | ||
46 | +struct hid_report *hid_validate_values(struct hid_device *hid, | ||
47 | + unsigned int type, unsigned int id, | ||
48 | + unsigned int field_index, | ||
49 | + unsigned int report_counts) | ||
50 | +{ | ||
51 | + struct hid_report *report; | ||
52 | + | ||
53 | + if (type > HID_FEATURE_REPORT) { | ||
54 | + hid_err(hid, "invalid HID report type %u\n", type); | ||
55 | + return NULL; | ||
56 | + } | ||
57 | + | ||
58 | + if (id >= HID_MAX_IDS) { | ||
59 | + hid_err(hid, "invalid HID report id %u\n", id); | ||
60 | + return NULL; | ||
61 | + } | ||
62 | + | ||
63 | + /* | ||
64 | + * Explicitly not using hid_get_report() here since it depends on | ||
65 | + * ->numbered being checked, which may not always be the case when | ||
66 | + * drivers go to access report values. | ||
67 | + */ | ||
68 | + report = hid->report_enum[type].report_id_hash[id]; | ||
69 | + if (!report) { | ||
70 | + hid_err(hid, "missing %s %u\n", hid_report_names[type], id); | ||
71 | + return NULL; | ||
72 | + } | ||
73 | + if (report->maxfield <= field_index) { | ||
74 | + hid_err(hid, "not enough fields in %s %u\n", | ||
75 | + hid_report_names[type], id); | ||
76 | + return NULL; | ||
77 | + } | ||
78 | + if (report->field[field_index]->report_count < report_counts) { | ||
79 | + hid_err(hid, "not enough values in %s %u field %u\n", | ||
80 | + hid_report_names[type], id, field_index); | ||
81 | + return NULL; | ||
82 | + } | ||
83 | + return report; | ||
84 | +} | ||
85 | +EXPORT_SYMBOL_GPL(hid_validate_values); | ||
86 | + | ||
87 | /** | ||
88 | * hid_open_report - open a driver-specific device report | ||
89 | * | ||
90 | diff --git a/include/linux/hid.h b/include/linux/hid.h | ||
91 | index ee1ffc5..31b9d29 100644 | ||
92 | --- a/include/linux/hid.h | ||
93 | +++ b/include/linux/hid.h | ||
94 | @@ -756,6 +756,10 @@ u8 *hid_alloc_report_buf(struct hid_report *report, gfp_t flags); | ||
95 | struct hid_device *hid_allocate_device(void); | ||
96 | struct hid_report *hid_register_report(struct hid_device *device, unsigned type, unsigned id); | ||
97 | int hid_parse_report(struct hid_device *hid, __u8 *start, unsigned size); | ||
98 | +struct hid_report *hid_validate_values(struct hid_device *hid, | ||
99 | + unsigned int type, unsigned int id, | ||
100 | + unsigned int field_index, | ||
101 | + unsigned int report_counts); | ||
102 | int hid_open_report(struct hid_device *device); | ||
103 | int hid_check_keys_pressed(struct hid_device *hid); | ||
104 | int hid_connect(struct hid_device *hid, unsigned int connect_mask); | ||
105 | -- | ||
106 | 1.7.9.5 | ||
107 | |||
diff --git a/recipes-kernel/linux/files/HID_CVE_patches/0003-HID-zeroplus-validate-output-report-details.patch b/recipes-kernel/linux/files/HID_CVE_patches/0003-HID-zeroplus-validate-output-report-details.patch new file mode 100644 index 0000000..a2641cf --- /dev/null +++ b/recipes-kernel/linux/files/HID_CVE_patches/0003-HID-zeroplus-validate-output-report-details.patch | |||
@@ -0,0 +1,59 @@ | |||
1 | From 78214e81a1bf43740ce89bb5efda78eac2f8ef83 Mon Sep 17 00:00:00 2001 | ||
2 | From: Kees Cook <keescook@chromium.org> | ||
3 | Date: Wed, 11 Sep 2013 21:56:51 +0200 | ||
4 | Subject: [PATCH] HID: zeroplus: validate output report details | ||
5 | |||
6 | The zeroplus HID driver was not checking the size of allocated values | ||
7 | in fields it used. A HID device could send a malicious output report | ||
8 | that would cause the driver to write beyond the output report allocation | ||
9 | during initialization, causing a heap overflow: | ||
10 | |||
11 | [ 1442.728680] usb 1-1: New USB device found, idVendor=0c12, idProduct=0005 | ||
12 | ... | ||
13 | [ 1466.243173] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten | ||
14 | |||
15 | CVE-2013-2889 | ||
16 | |||
17 | Signed-off-by: Kees Cook <keescook@chromium.org> | ||
18 | Cc: stable@vger.kernel.org | ||
19 | Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> | ||
20 | Signed-off-by: Jiri Kosina <jkosina@suse.cz> | ||
21 | Signed-off-by: Adrian Dudau <adrian.dudau@enea.com> | ||
22 | --- | ||
23 | drivers/hid/hid-zpff.c | 18 +++++------------- | ||
24 | 1 file changed, 5 insertions(+), 13 deletions(-) | ||
25 | |||
26 | diff --git a/drivers/hid/hid-zpff.c b/drivers/hid/hid-zpff.c | ||
27 | index 6ec28a3..a29756c 100644 | ||
28 | --- a/drivers/hid/hid-zpff.c | ||
29 | +++ b/drivers/hid/hid-zpff.c | ||
30 | @@ -68,21 +68,13 @@ static int zpff_init(struct hid_device *hid) | ||
31 | struct hid_report *report; | ||
32 | struct hid_input *hidinput = list_entry(hid->inputs.next, | ||
33 | struct hid_input, list); | ||
34 | - struct list_head *report_list = | ||
35 | - &hid->report_enum[HID_OUTPUT_REPORT].report_list; | ||
36 | struct input_dev *dev = hidinput->input; | ||
37 | - int error; | ||
38 | + int i, error; | ||
39 | |||
40 | - if (list_empty(report_list)) { | ||
41 | - hid_err(hid, "no output report found\n"); | ||
42 | - return -ENODEV; | ||
43 | - } | ||
44 | - | ||
45 | - report = list_entry(report_list->next, struct hid_report, list); | ||
46 | - | ||
47 | - if (report->maxfield < 4) { | ||
48 | - hid_err(hid, "not enough fields in report\n"); | ||
49 | - return -ENODEV; | ||
50 | + for (i = 0; i < 4; i++) { | ||
51 | + report = hid_validate_values(hid, HID_OUTPUT_REPORT, 0, i, 1); | ||
52 | + if (!report) | ||
53 | + return -ENODEV; | ||
54 | } | ||
55 | |||
56 | zpff = kzalloc(sizeof(struct zpff_device), GFP_KERNEL); | ||
57 | -- | ||
58 | 1.7.9.5 | ||
59 | |||
diff --git a/recipes-kernel/linux/files/HID_CVE_patches/0004-HID-sony-validate-HID-output-report-details.patch b/recipes-kernel/linux/files/HID_CVE_patches/0004-HID-sony-validate-HID-output-report-details.patch new file mode 100644 index 0000000..3a4e843 --- /dev/null +++ b/recipes-kernel/linux/files/HID_CVE_patches/0004-HID-sony-validate-HID-output-report-details.patch | |||
@@ -0,0 +1,43 @@ | |||
1 | From 9446edb9a1740989cf6c20daf7510fb9a23be14a Mon Sep 17 00:00:00 2001 | ||
2 | From: Kees Cook <keescook@chromium.org> | ||
3 | Date: Wed, 11 Sep 2013 21:56:52 +0200 | ||
4 | Subject: [PATCH] HID: sony: validate HID output report details | ||
5 | |||
6 | This driver must validate the availability of the HID output report and | ||
7 | its size before it can write LED states via buzz_set_leds(). This stops | ||
8 | a heap overflow that is possible if a device provides a malicious HID | ||
9 | output report: | ||
10 | |||
11 | [ 108.171280] usb 1-1: New USB device found, idVendor=054c, idProduct=0002 | ||
12 | ... | ||
13 | [ 117.507877] BUG kmalloc-192 (Not tainted): Redzone overwritten | ||
14 | |||
15 | CVE-2013-2890 | ||
16 | |||
17 | Signed-off-by: Kees Cook <keescook@chromium.org> | ||
18 | Cc: stable@vger.kernel.org #3.11 | ||
19 | Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> | ||
20 | Signed-off-by: Jiri Kosina <jkosina@suse.cz> | ||
21 | Signed-off-by: Adrian Dudau <adrian.dudau@enea.com> | ||
22 | --- | ||
23 | drivers/hid/hid-sony.c | 4 ++++ | ||
24 | 1 file changed, 4 insertions(+) | ||
25 | |||
26 | diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c | ||
27 | index 30dbb6b..b18320d 100644 | ||
28 | --- a/drivers/hid/hid-sony.c | ||
29 | +++ b/drivers/hid/hid-sony.c | ||
30 | @@ -537,6 +537,10 @@ static int buzz_init(struct hid_device *hdev) | ||
31 | drv_data = hid_get_drvdata(hdev); | ||
32 | BUG_ON(!(drv_data->quirks & BUZZ_CONTROLLER)); | ||
33 | |||
34 | + /* Validate expected report characteristics. */ | ||
35 | + if (!hid_validate_values(hdev, HID_OUTPUT_REPORT, 0, 0, 7)) | ||
36 | + return -ENODEV; | ||
37 | + | ||
38 | buzz = kzalloc(sizeof(*buzz), GFP_KERNEL); | ||
39 | if (!buzz) { | ||
40 | hid_err(hdev, "Insufficient memory, cannot allocate driver data\n"); | ||
41 | -- | ||
42 | 1.7.9.5 | ||
43 | |||
diff --git a/recipes-kernel/linux/files/HID_CVE_patches/0005-HID-steelseries-validate-output-report-details.patch b/recipes-kernel/linux/files/HID_CVE_patches/0005-HID-steelseries-validate-output-report-details.patch new file mode 100644 index 0000000..e4eadff --- /dev/null +++ b/recipes-kernel/linux/files/HID_CVE_patches/0005-HID-steelseries-validate-output-report-details.patch | |||
@@ -0,0 +1,43 @@ | |||
1 | From 41df7f6d43723deb7364340b44bc5d94bf717456 Mon Sep 17 00:00:00 2001 | ||
2 | From: Kees Cook <keescook@chromium.org> | ||
3 | Date: Wed, 11 Sep 2013 21:56:53 +0200 | ||
4 | Subject: [PATCH] HID: steelseries: validate output report details | ||
5 | |||
6 | A HID device could send a malicious output report that would cause the | ||
7 | steelseries HID driver to write beyond the output report allocation | ||
8 | during initialization, causing a heap overflow: | ||
9 | |||
10 | [ 167.981534] usb 1-1: New USB device found, idVendor=1038, idProduct=1410 | ||
11 | ... | ||
12 | [ 182.050547] BUG kmalloc-256 (Tainted: G W ): Redzone overwritten | ||
13 | |||
14 | CVE-2013-2891 | ||
15 | |||
16 | Signed-off-by: Kees Cook <keescook@chromium.org> | ||
17 | Cc: stable@vger.kernel.org | ||
18 | Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> | ||
19 | Signed-off-by: Jiri Kosina <jkosina@suse.cz> | ||
20 | Signed-off-by: Adrian Dudau <adrian.dudau@enea.com> | ||
21 | --- | ||
22 | drivers/hid/hid-steelseries.c | 5 +++++ | ||
23 | 1 file changed, 5 insertions(+) | ||
24 | |||
25 | diff --git a/drivers/hid/hid-steelseries.c b/drivers/hid/hid-steelseries.c | ||
26 | index d164911..29f328f 100644 | ||
27 | --- a/drivers/hid/hid-steelseries.c | ||
28 | +++ b/drivers/hid/hid-steelseries.c | ||
29 | @@ -249,6 +249,11 @@ static int steelseries_srws1_probe(struct hid_device *hdev, | ||
30 | goto err_free; | ||
31 | } | ||
32 | |||
33 | + if (!hid_validate_values(hdev, HID_OUTPUT_REPORT, 0, 0, 16)) { | ||
34 | + ret = -ENODEV; | ||
35 | + goto err_free; | ||
36 | + } | ||
37 | + | ||
38 | ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT); | ||
39 | if (ret) { | ||
40 | hid_err(hdev, "hw start failed\n"); | ||
41 | -- | ||
42 | 1.7.9.5 | ||
43 | |||
diff --git a/recipes-kernel/linux/files/HID_CVE_patches/0006-HID-pantherlord-validate-output-report-details.patch b/recipes-kernel/linux/files/HID_CVE_patches/0006-HID-pantherlord-validate-output-report-details.patch new file mode 100644 index 0000000..15cf09b --- /dev/null +++ b/recipes-kernel/linux/files/HID_CVE_patches/0006-HID-pantherlord-validate-output-report-details.patch | |||
@@ -0,0 +1,47 @@ | |||
1 | From 412f30105ec6735224535791eed5cdc02888ecb4 Mon Sep 17 00:00:00 2001 | ||
2 | From: Kees Cook <keescook@chromium.org> | ||
3 | Date: Wed, 28 Aug 2013 22:30:49 +0200 | ||
4 | Subject: [PATCH] HID: pantherlord: validate output report details | ||
5 | |||
6 | A HID device could send a malicious output report that would cause the | ||
7 | pantherlord HID driver to write beyond the output report allocation | ||
8 | during initialization, causing a heap overflow: | ||
9 | |||
10 | [ 310.939483] usb 1-1: New USB device found, idVendor=0e8f, idProduct=0003 | ||
11 | ... | ||
12 | [ 315.980774] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten | ||
13 | |||
14 | CVE-2013-2892 | ||
15 | |||
16 | Signed-off-by: Kees Cook <keescook@chromium.org> | ||
17 | Cc: stable@kernel.org | ||
18 | Signed-off-by: Jiri Kosina <jkosina@suse.cz> | ||
19 | Signed-off-by: Adrian Dudau <adrian.dudau@enea.com> | ||
20 | --- | ||
21 | drivers/hid/hid-pl.c | 10 ++++++++-- | ||
22 | 1 file changed, 8 insertions(+), 2 deletions(-) | ||
23 | |||
24 | diff --git a/drivers/hid/hid-pl.c b/drivers/hid/hid-pl.c | ||
25 | index d29112f..2dcd7d9 100644 | ||
26 | --- a/drivers/hid/hid-pl.c | ||
27 | +++ b/drivers/hid/hid-pl.c | ||
28 | @@ -132,8 +132,14 @@ static int plff_init(struct hid_device *hid) | ||
29 | strong = &report->field[0]->value[2]; | ||
30 | weak = &report->field[0]->value[3]; | ||
31 | debug("detected single-field device"); | ||
32 | - } else if (report->maxfield >= 4 && report->field[0]->maxusage == 1 && | ||
33 | - report->field[0]->usage[0].hid == (HID_UP_LED | 0x43)) { | ||
34 | + } else if (report->field[0]->maxusage == 1 && | ||
35 | + report->field[0]->usage[0].hid == | ||
36 | + (HID_UP_LED | 0x43) && | ||
37 | + report->maxfield >= 4 && | ||
38 | + report->field[0]->report_count >= 1 && | ||
39 | + report->field[1]->report_count >= 1 && | ||
40 | + report->field[2]->report_count >= 1 && | ||
41 | + report->field[3]->report_count >= 1) { | ||
42 | report->field[0]->value[0] = 0x00; | ||
43 | report->field[1]->value[0] = 0x00; | ||
44 | strong = &report->field[2]->value[0]; | ||
45 | -- | ||
46 | 1.7.9.5 | ||
47 | |||
diff --git a/recipes-kernel/linux/files/HID_CVE_patches/0007-HID-LG-validate-HID-output-report-details.patch b/recipes-kernel/linux/files/HID_CVE_patches/0007-HID-LG-validate-HID-output-report-details.patch new file mode 100644 index 0000000..9376c42 --- /dev/null +++ b/recipes-kernel/linux/files/HID_CVE_patches/0007-HID-LG-validate-HID-output-report-details.patch | |||
@@ -0,0 +1,195 @@ | |||
1 | From 0fb6bd06e06792469acc15bbe427361b56ada528 Mon Sep 17 00:00:00 2001 | ||
2 | From: Kees Cook <keescook@chromium.org> | ||
3 | Date: Wed, 11 Sep 2013 21:56:54 +0200 | ||
4 | Subject: [PATCH] HID: LG: validate HID output report details | ||
5 | |||
6 | A HID device could send a malicious output report that would cause the | ||
7 | lg, lg3, and lg4 HID drivers to write beyond the output report allocation | ||
8 | during an event, causing a heap overflow: | ||
9 | |||
10 | [ 325.245240] usb 1-1: New USB device found, idVendor=046d, idProduct=c287 | ||
11 | ... | ||
12 | [ 414.518960] BUG kmalloc-4096 (Not tainted): Redzone overwritten | ||
13 | |||
14 | Additionally, while lg2 did correctly validate the report details, it was | ||
15 | cleaned up and shortened. | ||
16 | |||
17 | CVE-2013-2893 | ||
18 | |||
19 | Signed-off-by: Kees Cook <keescook@chromium.org> | ||
20 | Cc: stable@vger.kernel.org | ||
21 | Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> | ||
22 | Signed-off-by: Jiri Kosina <jkosina@suse.cz> | ||
23 | Signed-off-by: Adrian Dudau <adrian.dudau@enea.com> | ||
24 | --- | ||
25 | drivers/hid/hid-lg2ff.c | 19 +++---------------- | ||
26 | drivers/hid/hid-lg3ff.c | 29 ++++++----------------------- | ||
27 | drivers/hid/hid-lg4ff.c | 20 +------------------- | ||
28 | drivers/hid/hid-lgff.c | 17 ++--------------- | ||
29 | 4 files changed, 12 insertions(+), 73 deletions(-) | ||
30 | |||
31 | diff --git a/drivers/hid/hid-lg2ff.c b/drivers/hid/hid-lg2ff.c | ||
32 | index b3cd150..1a42eaa 100644 | ||
33 | --- a/drivers/hid/hid-lg2ff.c | ||
34 | +++ b/drivers/hid/hid-lg2ff.c | ||
35 | @@ -64,26 +64,13 @@ int lg2ff_init(struct hid_device *hid) | ||
36 | struct hid_report *report; | ||
37 | struct hid_input *hidinput = list_entry(hid->inputs.next, | ||
38 | struct hid_input, list); | ||
39 | - struct list_head *report_list = | ||
40 | - &hid->report_enum[HID_OUTPUT_REPORT].report_list; | ||
41 | struct input_dev *dev = hidinput->input; | ||
42 | int error; | ||
43 | |||
44 | - if (list_empty(report_list)) { | ||
45 | - hid_err(hid, "no output report found\n"); | ||
46 | + /* Check that the report looks ok */ | ||
47 | + report = hid_validate_values(hid, HID_OUTPUT_REPORT, 0, 0, 7); | ||
48 | + if (!report) | ||
49 | return -ENODEV; | ||
50 | - } | ||
51 | - | ||
52 | - report = list_entry(report_list->next, struct hid_report, list); | ||
53 | - | ||
54 | - if (report->maxfield < 1) { | ||
55 | - hid_err(hid, "output report is empty\n"); | ||
56 | - return -ENODEV; | ||
57 | - } | ||
58 | - if (report->field[0]->report_count < 7) { | ||
59 | - hid_err(hid, "not enough values in the field\n"); | ||
60 | - return -ENODEV; | ||
61 | - } | ||
62 | |||
63 | lg2ff = kmalloc(sizeof(struct lg2ff_device), GFP_KERNEL); | ||
64 | if (!lg2ff) | ||
65 | diff --git a/drivers/hid/hid-lg3ff.c b/drivers/hid/hid-lg3ff.c | ||
66 | index e52f181..8c2da18 100644 | ||
67 | --- a/drivers/hid/hid-lg3ff.c | ||
68 | +++ b/drivers/hid/hid-lg3ff.c | ||
69 | @@ -66,10 +66,11 @@ static int hid_lg3ff_play(struct input_dev *dev, void *data, | ||
70 | int x, y; | ||
71 | |||
72 | /* | ||
73 | - * Maxusage should always be 63 (maximum fields) | ||
74 | - * likely a better way to ensure this data is clean | ||
75 | + * Available values in the field should always be 63, but we only use up to | ||
76 | + * 35. Instead, clear the entire area, however big it is. | ||
77 | */ | ||
78 | - memset(report->field[0]->value, 0, sizeof(__s32)*report->field[0]->maxusage); | ||
79 | + memset(report->field[0]->value, 0, | ||
80 | + sizeof(__s32) * report->field[0]->report_count); | ||
81 | |||
82 | switch (effect->type) { | ||
83 | case FF_CONSTANT: | ||
84 | @@ -129,32 +130,14 @@ static const signed short ff3_joystick_ac[] = { | ||
85 | int lg3ff_init(struct hid_device *hid) | ||
86 | { | ||
87 | struct hid_input *hidinput = list_entry(hid->inputs.next, struct hid_input, list); | ||
88 | - struct list_head *report_list = &hid->report_enum[HID_OUTPUT_REPORT].report_list; | ||
89 | struct input_dev *dev = hidinput->input; | ||
90 | - struct hid_report *report; | ||
91 | - struct hid_field *field; | ||
92 | const signed short *ff_bits = ff3_joystick_ac; | ||
93 | int error; | ||
94 | int i; | ||
95 | |||
96 | - /* Find the report to use */ | ||
97 | - if (list_empty(report_list)) { | ||
98 | - hid_err(hid, "No output report found\n"); | ||
99 | - return -1; | ||
100 | - } | ||
101 | - | ||
102 | /* Check that the report looks ok */ | ||
103 | - report = list_entry(report_list->next, struct hid_report, list); | ||
104 | - if (!report) { | ||
105 | - hid_err(hid, "NULL output report\n"); | ||
106 | - return -1; | ||
107 | - } | ||
108 | - | ||
109 | - field = report->field[0]; | ||
110 | - if (!field) { | ||
111 | - hid_err(hid, "NULL field\n"); | ||
112 | - return -1; | ||
113 | - } | ||
114 | + if (!hid_validate_values(hid, HID_OUTPUT_REPORT, 0, 0, 35)) | ||
115 | + return -ENODEV; | ||
116 | |||
117 | /* Assume single fixed device G940 */ | ||
118 | for (i = 0; ff_bits[i] >= 0; i++) | ||
119 | diff --git a/drivers/hid/hid-lg4ff.c b/drivers/hid/hid-lg4ff.c | ||
120 | index 0ddae2a..8782fe1 100644 | ||
121 | --- a/drivers/hid/hid-lg4ff.c | ||
122 | +++ b/drivers/hid/hid-lg4ff.c | ||
123 | @@ -484,34 +484,16 @@ static enum led_brightness lg4ff_led_get_brightness(struct led_classdev *led_cde | ||
124 | int lg4ff_init(struct hid_device *hid) | ||
125 | { | ||
126 | struct hid_input *hidinput = list_entry(hid->inputs.next, struct hid_input, list); | ||
127 | - struct list_head *report_list = &hid->report_enum[HID_OUTPUT_REPORT].report_list; | ||
128 | struct input_dev *dev = hidinput->input; | ||
129 | - struct hid_report *report; | ||
130 | - struct hid_field *field; | ||
131 | struct lg4ff_device_entry *entry; | ||
132 | struct lg_drv_data *drv_data; | ||
133 | struct usb_device_descriptor *udesc; | ||
134 | int error, i, j; | ||
135 | __u16 bcdDevice, rev_maj, rev_min; | ||
136 | |||
137 | - /* Find the report to use */ | ||
138 | - if (list_empty(report_list)) { | ||
139 | - hid_err(hid, "No output report found\n"); | ||
140 | - return -1; | ||
141 | - } | ||
142 | - | ||
143 | /* Check that the report looks ok */ | ||
144 | - report = list_entry(report_list->next, struct hid_report, list); | ||
145 | - if (!report) { | ||
146 | - hid_err(hid, "NULL output report\n"); | ||
147 | + if (!hid_validate_values(hid, HID_OUTPUT_REPORT, 0, 0, 7)) | ||
148 | return -1; | ||
149 | - } | ||
150 | - | ||
151 | - field = report->field[0]; | ||
152 | - if (!field) { | ||
153 | - hid_err(hid, "NULL field\n"); | ||
154 | - return -1; | ||
155 | - } | ||
156 | |||
157 | /* Check what wheel has been connected */ | ||
158 | for (i = 0; i < ARRAY_SIZE(lg4ff_devices); i++) { | ||
159 | diff --git a/drivers/hid/hid-lgff.c b/drivers/hid/hid-lgff.c | ||
160 | index d7ea8c8..e1394af 100644 | ||
161 | --- a/drivers/hid/hid-lgff.c | ||
162 | +++ b/drivers/hid/hid-lgff.c | ||
163 | @@ -128,27 +128,14 @@ static void hid_lgff_set_autocenter(struct input_dev *dev, u16 magnitude) | ||
164 | int lgff_init(struct hid_device* hid) | ||
165 | { | ||
166 | struct hid_input *hidinput = list_entry(hid->inputs.next, struct hid_input, list); | ||
167 | - struct list_head *report_list = &hid->report_enum[HID_OUTPUT_REPORT].report_list; | ||
168 | struct input_dev *dev = hidinput->input; | ||
169 | - struct hid_report *report; | ||
170 | - struct hid_field *field; | ||
171 | const signed short *ff_bits = ff_joystick; | ||
172 | int error; | ||
173 | int i; | ||
174 | |||
175 | - /* Find the report to use */ | ||
176 | - if (list_empty(report_list)) { | ||
177 | - hid_err(hid, "No output report found\n"); | ||
178 | - return -1; | ||
179 | - } | ||
180 | - | ||
181 | /* Check that the report looks ok */ | ||
182 | - report = list_entry(report_list->next, struct hid_report, list); | ||
183 | - field = report->field[0]; | ||
184 | - if (!field) { | ||
185 | - hid_err(hid, "NULL field\n"); | ||
186 | - return -1; | ||
187 | - } | ||
188 | + if (!hid_validate_values(hid, HID_OUTPUT_REPORT, 0, 0, 7)) | ||
189 | + return -ENODEV; | ||
190 | |||
191 | for (i = 0; i < ARRAY_SIZE(devices); i++) { | ||
192 | if (dev->id.vendor == devices[i].idVendor && | ||
193 | -- | ||
194 | 1.7.9.5 | ||
195 | |||
diff --git a/recipes-kernel/linux/files/HID_CVE_patches/0008-HID-lenovo-tpkbd-validate-output-report-details.patch b/recipes-kernel/linux/files/HID_CVE_patches/0008-HID-lenovo-tpkbd-validate-output-report-details.patch new file mode 100644 index 0000000..1c53d77 --- /dev/null +++ b/recipes-kernel/linux/files/HID_CVE_patches/0008-HID-lenovo-tpkbd-validate-output-report-details.patch | |||
@@ -0,0 +1,48 @@ | |||
1 | From 0a9cd0a80ac559357c6a90d26c55270ed752aa26 Mon Sep 17 00:00:00 2001 | ||
2 | From: Kees Cook <keescook@chromium.org> | ||
3 | Date: Wed, 11 Sep 2013 21:56:55 +0200 | ||
4 | Subject: [PATCH] HID: lenovo-tpkbd: validate output report details | ||
5 | |||
6 | A HID device could send a malicious output report that would cause the | ||
7 | lenovo-tpkbd HID driver to write just beyond the output report allocation | ||
8 | during initialization, causing a heap overflow: | ||
9 | |||
10 | [ 76.109807] usb 1-1: New USB device found, idVendor=17ef, idProduct=6009 | ||
11 | ... | ||
12 | [ 80.462540] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten | ||
13 | |||
14 | CVE-2013-2894 | ||
15 | |||
16 | Signed-off-by: Kees Cook <keescook@chromium.org> | ||
17 | Cc: stable@vger.kernel.org | ||
18 | Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> | ||
19 | Signed-off-by: Jiri Kosina <jkosina@suse.cz> | ||
20 | Signed-off-by: Adrian Dudau <adrian.dudau@enea.com> | ||
21 | --- | ||
22 | drivers/hid/hid-lenovo-tpkbd.c | 10 +++++++++- | ||
23 | 1 file changed, 9 insertions(+), 1 deletion(-) | ||
24 | |||
25 | diff --git a/drivers/hid/hid-lenovo-tpkbd.c b/drivers/hid/hid-lenovo-tpkbd.c | ||
26 | index 07837f5..762d988 100644 | ||
27 | --- a/drivers/hid/hid-lenovo-tpkbd.c | ||
28 | +++ b/drivers/hid/hid-lenovo-tpkbd.c | ||
29 | @@ -339,7 +339,15 @@ static int tpkbd_probe_tp(struct hid_device *hdev) | ||
30 | struct tpkbd_data_pointer *data_pointer; | ||
31 | size_t name_sz = strlen(dev_name(dev)) + 16; | ||
32 | char *name_mute, *name_micmute; | ||
33 | - int ret; | ||
34 | + int i, ret; | ||
35 | + | ||
36 | + /* Validate required reports. */ | ||
37 | + for (i = 0; i < 4; i++) { | ||
38 | + if (!hid_validate_values(hdev, HID_FEATURE_REPORT, 4, i, 1)) | ||
39 | + return -ENODEV; | ||
40 | + } | ||
41 | + if (!hid_validate_values(hdev, HID_OUTPUT_REPORT, 3, 0, 2)) | ||
42 | + return -ENODEV; | ||
43 | |||
44 | if (sysfs_create_group(&hdev->dev.kobj, | ||
45 | &tpkbd_attr_group_pointer)) { | ||
46 | -- | ||
47 | 1.7.9.5 | ||
48 | |||
diff --git a/recipes-kernel/linux/files/HID_CVE_patches/0009-HID-logitech-dj-validate-output-report-details.patch b/recipes-kernel/linux/files/HID_CVE_patches/0009-HID-logitech-dj-validate-output-report-details.patch new file mode 100644 index 0000000..a249c54 --- /dev/null +++ b/recipes-kernel/linux/files/HID_CVE_patches/0009-HID-logitech-dj-validate-output-report-details.patch | |||
@@ -0,0 +1,63 @@ | |||
1 | From 297502abb32e225fb23801fcdb0e4f6f8e17099a Mon Sep 17 00:00:00 2001 | ||
2 | From: Kees Cook <keescook@chromium.org> | ||
3 | Date: Wed, 11 Sep 2013 21:56:56 +0200 | ||
4 | Subject: [PATCH] HID: logitech-dj: validate output report details | ||
5 | |||
6 | A HID device could send a malicious output report that would cause the | ||
7 | logitech-dj HID driver to leak kernel memory contents to the device, or | ||
8 | trigger a NULL dereference during initialization: | ||
9 | |||
10 | [ 304.424553] usb 1-1: New USB device found, idVendor=046d, idProduct=c52b | ||
11 | ... | ||
12 | [ 304.780467] BUG: unable to handle kernel NULL pointer dereference at 0000000000000028 | ||
13 | [ 304.781409] IP: [<ffffffff815d50aa>] logi_dj_recv_send_report.isra.11+0x1a/0x90 | ||
14 | |||
15 | CVE-2013-2895 | ||
16 | |||
17 | Signed-off-by: Kees Cook <keescook@chromium.org> | ||
18 | Cc: stable@vger.kernel.org | ||
19 | Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com> | ||
20 | Signed-off-by: Jiri Kosina <jkosina@suse.cz> | ||
21 | Signed-off-by: Adrian Dudau <adrian.dudau@enea.com> | ||
22 | --- | ||
23 | drivers/hid/hid-logitech-dj.c | 10 ++++++++-- | ||
24 | 1 file changed, 8 insertions(+), 2 deletions(-) | ||
25 | |||
26 | diff --git a/drivers/hid/hid-logitech-dj.c b/drivers/hid/hid-logitech-dj.c | ||
27 | index 7800b14..2e53024 100644 | ||
28 | --- a/drivers/hid/hid-logitech-dj.c | ||
29 | +++ b/drivers/hid/hid-logitech-dj.c | ||
30 | @@ -461,7 +461,7 @@ static int logi_dj_recv_send_report(struct dj_receiver_dev *djrcv_dev, | ||
31 | struct hid_report *report; | ||
32 | struct hid_report_enum *output_report_enum; | ||
33 | u8 *data = (u8 *)(&dj_report->device_index); | ||
34 | - int i; | ||
35 | + unsigned int i; | ||
36 | |||
37 | output_report_enum = &hdev->report_enum[HID_OUTPUT_REPORT]; | ||
38 | report = output_report_enum->report_id_hash[REPORT_ID_DJ_SHORT]; | ||
39 | @@ -471,7 +471,7 @@ static int logi_dj_recv_send_report(struct dj_receiver_dev *djrcv_dev, | ||
40 | return -ENODEV; | ||
41 | } | ||
42 | |||
43 | - for (i = 0; i < report->field[0]->report_count; i++) | ||
44 | + for (i = 0; i < DJREPORT_SHORT_LENGTH - 1; i++) | ||
45 | report->field[0]->value[i] = data[i]; | ||
46 | |||
47 | hid_hw_request(hdev, report, HID_REQ_SET_REPORT); | ||
48 | @@ -791,6 +791,12 @@ static int logi_dj_probe(struct hid_device *hdev, | ||
49 | goto hid_parse_fail; | ||
50 | } | ||
51 | |||
52 | + if (!hid_validate_values(hdev, HID_OUTPUT_REPORT, REPORT_ID_DJ_SHORT, | ||
53 | + 0, DJREPORT_SHORT_LENGTH - 1)) { | ||
54 | + retval = -ENODEV; | ||
55 | + goto hid_parse_fail; | ||
56 | + } | ||
57 | + | ||
58 | /* Starts the usb device and connects to upper interfaces hiddev and | ||
59 | * hidraw */ | ||
60 | retval = hid_hw_start(hdev, HID_CONNECT_DEFAULT); | ||
61 | -- | ||
62 | 1.7.9.5 | ||
63 | |||
diff --git a/recipes-kernel/linux/files/HID_CVE_patches/0010-HID-ntrig-validate-feature-report-details.patch b/recipes-kernel/linux/files/HID_CVE_patches/0010-HID-ntrig-validate-feature-report-details.patch new file mode 100644 index 0000000..b243fc6 --- /dev/null +++ b/recipes-kernel/linux/files/HID_CVE_patches/0010-HID-ntrig-validate-feature-report-details.patch | |||
@@ -0,0 +1,41 @@ | |||
1 | From 875b4e3763dbc941f15143dd1a18d10bb0be303b Mon Sep 17 00:00:00 2001 | ||
2 | From: Kees Cook <keescook@chromium.org> | ||
3 | Date: Wed, 28 Aug 2013 22:31:28 +0200 | ||
4 | Subject: [PATCH] HID: ntrig: validate feature report details | ||
5 | |||
6 | A HID device could send a malicious feature report that would cause the | ||
7 | ntrig HID driver to trigger a NULL dereference during initialization: | ||
8 | |||
9 | [57383.031190] usb 3-1: New USB device found, idVendor=1b96, idProduct=0001 | ||
10 | ... | ||
11 | [57383.315193] BUG: unable to handle kernel NULL pointer dereference at 0000000000000030 | ||
12 | [57383.315308] IP: [<ffffffffa08102de>] ntrig_probe+0x25e/0x420 [hid_ntrig] | ||
13 | |||
14 | CVE-2013-2896 | ||
15 | |||
16 | Signed-off-by: Kees Cook <keescook@chromium.org> | ||
17 | Cc: stable@kernel.org | ||
18 | Signed-off-by: Rafi Rubin <rafi@seas.upenn.edu> | ||
19 | Signed-off-by: Jiri Kosina <jkosina@suse.cz> | ||
20 | Signed-off-by: Adrian Dudau <adrian.dudau@enea.com> | ||
21 | --- | ||
22 | drivers/hid/hid-ntrig.c | 3 ++- | ||
23 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
24 | |||
25 | diff --git a/drivers/hid/hid-ntrig.c b/drivers/hid/hid-ntrig.c | ||
26 | index 98d1fdf..600f207 100644 | ||
27 | --- a/drivers/hid/hid-ntrig.c | ||
28 | +++ b/drivers/hid/hid-ntrig.c | ||
29 | @@ -115,7 +115,8 @@ static inline int ntrig_get_mode(struct hid_device *hdev) | ||
30 | struct hid_report *report = hdev->report_enum[HID_FEATURE_REPORT]. | ||
31 | report_id_hash[0x0d]; | ||
32 | |||
33 | - if (!report) | ||
34 | + if (!report || report->maxfield < 1 || | ||
35 | + report->field[0]->report_count < 1) | ||
36 | return -EINVAL; | ||
37 | |||
38 | hid_hw_request(hdev, report, HID_REQ_GET_REPORT); | ||
39 | -- | ||
40 | 1.7.9.5 | ||
41 | |||
diff --git a/recipes-kernel/linux/files/HID_CVE_patches/0011-HID-multitouch-validate-indexes-details.patch b/recipes-kernel/linux/files/HID_CVE_patches/0011-HID-multitouch-validate-indexes-details.patch new file mode 100644 index 0000000..ff425ec --- /dev/null +++ b/recipes-kernel/linux/files/HID_CVE_patches/0011-HID-multitouch-validate-indexes-details.patch | |||
@@ -0,0 +1,86 @@ | |||
1 | From 8821f5dc187bdf16cfb32ef5aa8c3035273fa79a Mon Sep 17 00:00:00 2001 | ||
2 | From: Benjamin Tissoires <benjamin.tissoires@redhat.com> | ||
3 | Date: Wed, 11 Sep 2013 21:56:58 +0200 | ||
4 | Subject: [PATCH] HID: multitouch: validate indexes details | ||
5 | |||
6 | When working on report indexes, always validate that they are in bounds. | ||
7 | Without this, a HID device could report a malicious feature report that | ||
8 | could trick the driver into a heap overflow: | ||
9 | |||
10 | [ 634.885003] usb 1-1: New USB device found, idVendor=0596, idProduct=0500 | ||
11 | ... | ||
12 | [ 676.469629] BUG kmalloc-192 (Tainted: G W ): Redzone overwritten | ||
13 | |||
14 | Note that we need to change the indexes from s8 to s16 as they can | ||
15 | be between -1 and 255. | ||
16 | |||
17 | CVE-2013-2897 | ||
18 | |||
19 | Cc: stable@vger.kernel.org | ||
20 | Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> | ||
21 | Acked-by: Kees Cook <keescook@chromium.org> | ||
22 | Signed-off-by: Jiri Kosina <jkosina@suse.cz> | ||
23 | Signed-off-by: Adrian Dudau <adrian.dudau@enea.com> | ||
24 | --- | ||
25 | drivers/hid/hid-multitouch.c | 26 ++++++++++++++------------ | ||
26 | 1 file changed, 14 insertions(+), 12 deletions(-) | ||
27 | |||
28 | diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c | ||
29 | index ac28f08..5e5fe1b 100644 | ||
30 | --- a/drivers/hid/hid-multitouch.c | ||
31 | +++ b/drivers/hid/hid-multitouch.c | ||
32 | @@ -101,9 +101,9 @@ struct mt_device { | ||
33 | unsigned last_slot_field; /* the last field of a slot */ | ||
34 | unsigned mt_report_id; /* the report ID of the multitouch device */ | ||
35 | unsigned pen_report_id; /* the report ID of the pen device */ | ||
36 | - __s8 inputmode; /* InputMode HID feature, -1 if non-existent */ | ||
37 | - __s8 inputmode_index; /* InputMode HID feature index in the report */ | ||
38 | - __s8 maxcontact_report_id; /* Maximum Contact Number HID feature, | ||
39 | + __s16 inputmode; /* InputMode HID feature, -1 if non-existent */ | ||
40 | + __s16 inputmode_index; /* InputMode HID feature index in the report */ | ||
41 | + __s16 maxcontact_report_id; /* Maximum Contact Number HID feature, | ||
42 | -1 if non-existent */ | ||
43 | __u8 num_received; /* how many contacts we received */ | ||
44 | __u8 num_expected; /* expected last contact index */ | ||
45 | @@ -312,20 +312,18 @@ static void mt_feature_mapping(struct hid_device *hdev, | ||
46 | struct hid_field *field, struct hid_usage *usage) | ||
47 | { | ||
48 | struct mt_device *td = hid_get_drvdata(hdev); | ||
49 | - int i; | ||
50 | |||
51 | switch (usage->hid) { | ||
52 | case HID_DG_INPUTMODE: | ||
53 | - td->inputmode = field->report->id; | ||
54 | - td->inputmode_index = 0; /* has to be updated below */ | ||
55 | - | ||
56 | - for (i=0; i < field->maxusage; i++) { | ||
57 | - if (field->usage[i].hid == usage->hid) { | ||
58 | - td->inputmode_index = i; | ||
59 | - break; | ||
60 | - } | ||
61 | + /* Ignore if value index is out of bounds. */ | ||
62 | + if (usage->usage_index >= field->report_count) { | ||
63 | + dev_err(&hdev->dev, "HID_DG_INPUTMODE out of range\n"); | ||
64 | + break; | ||
65 | } | ||
66 | |||
67 | + td->inputmode = field->report->id; | ||
68 | + td->inputmode_index = usage->usage_index; | ||
69 | + | ||
70 | break; | ||
71 | case HID_DG_CONTACTMAX: | ||
72 | td->maxcontact_report_id = field->report->id; | ||
73 | @@ -511,6 +509,10 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi, | ||
74 | mt_store_field(usage, td, hi); | ||
75 | return 1; | ||
76 | case HID_DG_CONTACTCOUNT: | ||
77 | + /* Ignore if indexes are out of bounds. */ | ||
78 | + if (field->index >= field->report->maxfield || | ||
79 | + usage->usage_index >= field->report_count) | ||
80 | + return 1; | ||
81 | td->cc_index = field->index; | ||
82 | td->cc_value_index = usage->usage_index; | ||
83 | return 1; | ||
84 | -- | ||
85 | 1.7.9.5 | ||
86 | |||
diff --git a/recipes-kernel/linux/files/HID_CVE_patches/0012-HID-sensor-hub-validate-feature-report-details.patch b/recipes-kernel/linux/files/HID_CVE_patches/0012-HID-sensor-hub-validate-feature-report-details.patch new file mode 100644 index 0000000..745fa9e --- /dev/null +++ b/recipes-kernel/linux/files/HID_CVE_patches/0012-HID-sensor-hub-validate-feature-report-details.patch | |||
@@ -0,0 +1,37 @@ | |||
1 | From 9e8910257397372633e74b333ef891f20c800ee4 Mon Sep 17 00:00:00 2001 | ||
2 | From: Kees Cook <keescook@chromium.org> | ||
3 | Date: Wed, 28 Aug 2013 22:31:44 +0200 | ||
4 | Subject: [PATCH] HID: sensor-hub: validate feature report details | ||
5 | |||
6 | A HID device could send a malicious feature report that would cause the | ||
7 | sensor-hub HID driver to read past the end of heap allocation, leaking | ||
8 | kernel memory contents to the caller. | ||
9 | |||
10 | CVE-2013-2898 | ||
11 | |||
12 | Signed-off-by: Kees Cook <keescook@chromium.org> | ||
13 | Cc: stable@kernel.org | ||
14 | Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com> | ||
15 | Signed-off-by: Jiri Kosina <jkosina@suse.cz> | ||
16 | Signed-off-by: Adrian Dudau <adrian.dudau@enea.com> | ||
17 | --- | ||
18 | drivers/hid/hid-sensor-hub.c | 3 ++- | ||
19 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
20 | |||
21 | diff --git a/drivers/hid/hid-sensor-hub.c b/drivers/hid/hid-sensor-hub.c | ||
22 | index ffc80cf..6fca30e 100644 | ||
23 | --- a/drivers/hid/hid-sensor-hub.c | ||
24 | +++ b/drivers/hid/hid-sensor-hub.c | ||
25 | @@ -221,7 +221,8 @@ int sensor_hub_get_feature(struct hid_sensor_hub_device *hsdev, u32 report_id, | ||
26 | |||
27 | mutex_lock(&data->mutex); | ||
28 | report = sensor_hub_report(report_id, hsdev->hdev, HID_FEATURE_REPORT); | ||
29 | - if (!report || (field_index >= report->maxfield)) { | ||
30 | + if (!report || (field_index >= report->maxfield) || | ||
31 | + report->field[field_index]->report_count < 1) { | ||
32 | ret = -EINVAL; | ||
33 | goto done_proc; | ||
34 | } | ||
35 | -- | ||
36 | 1.7.9.5 | ||
37 | |||
diff --git a/recipes-kernel/linux/files/HID_CVE_patches/0013-HID-picolcd_core-validate-output-report-details.patch b/recipes-kernel/linux/files/HID_CVE_patches/0013-HID-picolcd_core-validate-output-report-details.patch new file mode 100644 index 0000000..7abf193 --- /dev/null +++ b/recipes-kernel/linux/files/HID_CVE_patches/0013-HID-picolcd_core-validate-output-report-details.patch | |||
@@ -0,0 +1,49 @@ | |||
1 | From 1e87a2456b0227ca4ab881e19a11bb99d164e792 Mon Sep 17 00:00:00 2001 | ||
2 | From: Kees Cook <keescook@chromium.org> | ||
3 | Date: Wed, 28 Aug 2013 22:31:52 +0200 | ||
4 | Subject: [PATCH] HID: picolcd_core: validate output report details | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | A HID device could send a malicious output report that would cause the | ||
10 | picolcd HID driver to trigger a NULL dereference during attr file writing. | ||
11 | |||
12 | [jkosina@suse.cz: changed | ||
13 | |||
14 | report->maxfield < 1 | ||
15 | |||
16 | to | ||
17 | |||
18 | report->maxfield != 1 | ||
19 | |||
20 | as suggested by Bruno]. | ||
21 | |||
22 | CVE-2013-2899 | ||
23 | |||
24 | Signed-off-by: Kees Cook <keescook@chromium.org> | ||
25 | Cc: stable@kernel.org | ||
26 | Reviewed-by: Bruno Prémont <bonbons@linux-vserver.org> | ||
27 | Acked-by: Bruno Prémont <bonbons@linux-vserver.org> | ||
28 | Signed-off-by: Jiri Kosina <jkosina@suse.cz> | ||
29 | Signed-off-by: Adrian Dudau <adrian.dudau@enea.com> | ||
30 | --- | ||
31 | drivers/hid/hid-picolcd_core.c | 2 +- | ||
32 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
33 | |||
34 | diff --git a/drivers/hid/hid-picolcd_core.c b/drivers/hid/hid-picolcd_core.c | ||
35 | index b48092d..acbb0210 100644 | ||
36 | --- a/drivers/hid/hid-picolcd_core.c | ||
37 | +++ b/drivers/hid/hid-picolcd_core.c | ||
38 | @@ -290,7 +290,7 @@ static ssize_t picolcd_operation_mode_store(struct device *dev, | ||
39 | buf += 10; | ||
40 | cnt -= 10; | ||
41 | } | ||
42 | - if (!report) | ||
43 | + if (!report || report->maxfield != 1) | ||
44 | return -EINVAL; | ||
45 | |||
46 | while (cnt > 0 && (buf[cnt-1] == '\n' || buf[cnt-1] == '\r')) | ||
47 | -- | ||
48 | 1.7.9.5 | ||
49 | |||
diff --git a/recipes-kernel/linux/files/HID_CVE_patches/0014-HID-check-for-NULL-field-when-setting-values.patch b/recipes-kernel/linux/files/HID_CVE_patches/0014-HID-check-for-NULL-field-when-setting-values.patch new file mode 100644 index 0000000..f75e653 --- /dev/null +++ b/recipes-kernel/linux/files/HID_CVE_patches/0014-HID-check-for-NULL-field-when-setting-values.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | From be67b68d52fa28b9b721c47bb42068f0c1214855 Mon Sep 17 00:00:00 2001 | ||
2 | From: Kees Cook <keescook@chromium.org> | ||
3 | Date: Wed, 28 Aug 2013 22:32:01 +0200 | ||
4 | Subject: [PATCH] HID: check for NULL field when setting values | ||
5 | |||
6 | Defensively check that the field to be worked on is not NULL. | ||
7 | |||
8 | Signed-off-by: Kees Cook <keescook@chromium.org> | ||
9 | Cc: stable@kernel.org | ||
10 | Signed-off-by: Jiri Kosina <jkosina@suse.cz> | ||
11 | Signed-off-by: Adrian Dudau <adrian.dudau@enea.com> | ||
12 | --- | ||
13 | drivers/hid/hid-core.c | 7 ++++++- | ||
14 | 1 file changed, 6 insertions(+), 1 deletion(-) | ||
15 | |||
16 | diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c | ||
17 | index ebf5781..dcd60eb 100644 | ||
18 | --- a/drivers/hid/hid-core.c | ||
19 | +++ b/drivers/hid/hid-core.c | ||
20 | @@ -1169,7 +1169,12 @@ EXPORT_SYMBOL_GPL(hid_alloc_report_buf); | ||
21 | |||
22 | int hid_set_field(struct hid_field *field, unsigned offset, __s32 value) | ||
23 | { | ||
24 | - unsigned size = field->report_size; | ||
25 | + unsigned size; | ||
26 | + | ||
27 | + if (!field) | ||
28 | + return -1; | ||
29 | + | ||
30 | + size = field->report_size; | ||
31 | |||
32 | hid_dump_input(field->report->device, field->usage + offset, value); | ||
33 | |||
34 | -- | ||
35 | 1.7.9.5 | ||
36 | |||
diff --git a/recipes-kernel/linux/files/arm_arch_timer-Keystone-2-architected-timer-frequenc.patch b/recipes-kernel/linux/files/arm_arch_timer-Keystone-2-architected-timer-frequenc.patch new file mode 100644 index 0000000..49bf07b --- /dev/null +++ b/recipes-kernel/linux/files/arm_arch_timer-Keystone-2-architected-timer-frequenc.patch | |||
@@ -0,0 +1,55 @@ | |||
1 | From e2d575410329f42542972b7276fbb1c2c7f48334 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Sixten=20Sj=C3=B6str=C3=B6m=20Thames?= | ||
3 | <Sixten.Sjoestroem.Thames@enea.com> | ||
4 | Date: Mon, 12 May 2014 21:18:47 +0200 | ||
5 | Subject: [PATCH] arm_arch_timer: Keystone 2 architected timer frequency fix | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | |||
10 | The arch timer frequency register returns incorrect values on early | ||
11 | versions of the Keystone 2 evm silicon. The frequency register always | ||
12 | returns 1000 MHz on bad silicon. This temporary fix solves that. | ||
13 | |||
14 | Signed-off-by: Sixten Sjöström Thames <Sixten.Sjoestroem.Thames@enea.com> | ||
15 | --- | ||
16 | drivers/clocksource/arm_arch_timer.c | 16 ++++++++++++++++ | ||
17 | 1 file changed, 16 insertions(+) | ||
18 | |||
19 | diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c | ||
20 | index a2b2541..321aba1 100644 | ||
21 | --- a/drivers/clocksource/arm_arch_timer.c | ||
22 | +++ b/drivers/clocksource/arm_arch_timer.c | ||
23 | @@ -23,6 +23,8 @@ | ||
24 | |||
25 | #include <clocksource/arm_arch_timer.h> | ||
26 | |||
27 | +#define K2_PG1_AT_FREQ 133120000UL | ||
28 | + | ||
29 | static u32 arch_timer_rate; | ||
30 | |||
31 | enum ppi_nr { | ||
32 | @@ -165,6 +167,20 @@ static int arch_timer_available(void) | ||
33 | if (arch_timer_rate == 0) { | ||
34 | freq = arch_timer_get_cntfrq(); | ||
35 | |||
36 | + /* The Keystone 2 EVM PG1.0 silicon has a malfunctional | ||
37 | + * Architected timer. The timer frequency register allways | ||
38 | + * incorrectly returns 1000 MHz. This is a temorary fix for | ||
39 | + * internal Enea Linux testing so that the same kernel can | ||
40 | + * be used on targets with both PG1.0 and PG1.1 silicon. | ||
41 | + * Another solution is to have different DTBs with hard | ||
42 | + * coded frequencies.*/ | ||
43 | + if (freq == 1000000000) { | ||
44 | + pr_warn("Keystone 2 EVM specific arch timer fix\n"); | ||
45 | + pr_warn("Set architected timer frequency to %u\n", | ||
46 | + K2_PG1_AT_FREQ); | ||
47 | + freq = K2_PG1_AT_FREQ; | ||
48 | + } | ||
49 | + | ||
50 | /* Check the timer frequency. */ | ||
51 | if (freq == 0) { | ||
52 | pr_warn("Architected timer frequency not available\n"); | ||
53 | -- | ||
54 | 1.7.10.4 | ||
55 | |||
diff --git a/recipes-kernel/linux/files/b4860-hard_irq_disable-bug.patch b/recipes-kernel/linux/files/b4860-hard_irq_disable-bug.patch new file mode 100644 index 0000000..b8ef705 --- /dev/null +++ b/recipes-kernel/linux/files/b4860-hard_irq_disable-bug.patch | |||
@@ -0,0 +1,24 @@ | |||
1 | linux-qoriq-sdk: Repair a kernel compile issue due to a sintax error. | ||
2 | |||
3 | The define __hard_irq_disable() was done using ";" character | ||
4 | into the comment so the if structure did not recognized the | ||
5 | "else" branch. | ||
6 | |||
7 | Upstream-Status: Pending | ||
8 | |||
9 | Signed-off-by: Alexandru Vaduva <alexandru.vaduva@enea.com> | ||
10 | |||
11 | diff -ruN a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c | ||
12 | --- a/arch/powerpc/kernel/irq.c 2014-01-30 12:56:20.470918180 +0100 | ||
13 | +++ b/arch/powerpc/kernel/irq.c 2014-01-30 12:57:25.228109187 +0100 | ||
14 | @@ -227,8 +227,9 @@ | ||
15 | * common cases that we'll ignore for now), so we skip the | ||
16 | * (expensive) mtmsrd. | ||
17 | */ | ||
18 | - if (unlikely(irq_happened != PACA_IRQ_HARD_DIS)) | ||
19 | + if (unlikely(irq_happened != PACA_IRQ_HARD_DIS)) { | ||
20 | __hard_irq_disable(); | ||
21 | + } | ||
22 | #ifdef CONFIG_TRACE_IRQFLAGS | ||
23 | else { | ||
24 | /* | ||
diff --git a/recipes-kernel/linux/files/cfg/00001-embedded.cfg b/recipes-kernel/linux/files/cfg/00001-embedded.cfg new file mode 100644 index 0000000..2f0e6bf --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00001-embedded.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_EMBEDDED=y | |||
diff --git a/recipes-kernel/linux/files/cfg/00002-root_nfs.cfg b/recipes-kernel/linux/files/cfg/00002-root_nfs.cfg new file mode 100644 index 0000000..f8d8748 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00002-root_nfs.cfg | |||
@@ -0,0 +1,7 @@ | |||
1 | CONFIG_NETWORK_FILESYSTEMS=y | ||
2 | CONFIG_NFS_USE_KERNEL_DNS=y | ||
3 | CONFIG_ROOT_NFS=y | ||
4 | CONFIG_NFS_FS=y | ||
5 | CONFIG_NFS_V3=y | ||
6 | CONFIG_NFS_V4=y | ||
7 | CONFIG_NFSD=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00003-fuse.cfg b/recipes-kernel/linux/files/cfg/00003-fuse.cfg new file mode 100644 index 0000000..43e95f2 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00003-fuse.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_FUSE_FS=y | |||
diff --git a/recipes-kernel/linux/files/cfg/00004-systemtap.cfg b/recipes-kernel/linux/files/cfg/00004-systemtap.cfg new file mode 100644 index 0000000..88c278c --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00004-systemtap.cfg | |||
@@ -0,0 +1,6 @@ | |||
1 | CONFIG_DEBUG_INFO=y | ||
2 | CONFIG_KPROBES=y | ||
3 | CONFIG_RELAY=y | ||
4 | CONFIG_DEBUG_FS=y | ||
5 | CONFIG_MODULES=y | ||
6 | CONFIG_MODULE_UNLOAD=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00005-pramfs.cfg b/recipes-kernel/linux/files/cfg/00005-pramfs.cfg new file mode 100644 index 0000000..21aabc1 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00005-pramfs.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | CONFIG_MISC_FILESYSTEMS=y | ||
2 | CONFIG_PRAMFS=y | ||
3 | CONFIG_PRAMFS_XATTR=y | ||
4 | CONFIG_PRAMFS_TEST_MODULE=m | ||
diff --git a/recipes-kernel/linux/files/cfg/00006-with_modules.cfg b/recipes-kernel/linux/files/cfg/00006-with_modules.cfg new file mode 100644 index 0000000..f4b3ae2 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00006-with_modules.cfg | |||
@@ -0,0 +1,5 @@ | |||
1 | CONFIG_MODULES=y | ||
2 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
3 | CONFIG_MODULE_UNLOAD=y | ||
4 | CONFIG_MODULE_FORCE_UNLOAD=y | ||
5 | CONFIG_MODVERSIONS=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00007-oprofile.cfg b/recipes-kernel/linux/files/cfg/00007-oprofile.cfg new file mode 100644 index 0000000..959e94b --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00007-oprofile.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | CONFIG_PROFILING=y | ||
2 | CONFIG_OPROFILE=m | ||
3 | CONFIG_PROFILE_ALL_BRANCHES=y | ||
4 | CONFIG_OPROFILE_NMI_TIMER=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00008-uio_m.cfg b/recipes-kernel/linux/files/cfg/00008-uio_m.cfg new file mode 100644 index 0000000..d82eee4 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00008-uio_m.cfg | |||
@@ -0,0 +1,3 @@ | |||
1 | CONFIG_UIO=m | ||
2 | CONFIG_UIO_PDRV=m | ||
3 | CONFIG_UIO_PDRV_GENIRQ=m | ||
diff --git a/recipes-kernel/linux/files/cfg/00009-e500mc_debug.cfg b/recipes-kernel/linux/files/cfg/00009-e500mc_debug.cfg new file mode 100644 index 0000000..eaddbaf --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00009-e500mc_debug.cfg | |||
@@ -0,0 +1,6 @@ | |||
1 | CONFIG_FSL_EMB_PERFMON=y | ||
2 | CONFIG_FSL_EMB_PERF_EVENT=y | ||
3 | CONFIG_FSL_EMB_PERF_EVENT_E500=y | ||
4 | |||
5 | CONFIG_PPC_OF=y | ||
6 | CONFIG_PPC_UDBG_16550=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00010-pramfs-bsc913x.cfg b/recipes-kernel/linux/files/cfg/00010-pramfs-bsc913x.cfg new file mode 100644 index 0000000..1476224 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00010-pramfs-bsc913x.cfg | |||
@@ -0,0 +1,5 @@ | |||
1 | CONFIG_MISC_FILESYSTEMS=y | ||
2 | CONFIG_PRAMFS=y | ||
3 | CONFIG_PRAMFS_TEST=y | ||
4 | CONFIG_TEST_MODULE=m | ||
5 | |||
diff --git a/recipes-kernel/linux/files/cfg/00012-preempt.cfg b/recipes-kernel/linux/files/cfg/00012-preempt.cfg new file mode 100644 index 0000000..43fd0bd --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00012-preempt.cfg | |||
@@ -0,0 +1,9 @@ | |||
1 | CONFIG_GENERIC_LOCKBREAK=y | ||
2 | CONFIG_TREE_PREEMPT_RCU=y | ||
3 | CONFIG_PREEMPT_RCU=y | ||
4 | CONFIG_UNINLINE_SPIN_UNLOCK=y | ||
5 | CONFIG_PREEMPT=y | ||
6 | CONFIG_PREEMPT__LL=y | ||
7 | CONFIG_PREEMPT_COUNT=y | ||
8 | CONFIG_DEBUG_PREEMPT=y | ||
9 | CONFIG_RCU_CPU_STALL_VERBOSE=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00013-localversion.cfg b/recipes-kernel/linux/files/cfg/00013-localversion.cfg new file mode 100644 index 0000000..71481b4 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00013-localversion.cfg | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_LOCALVERSION_AUTO=n | ||
2 | CONFIG_DEFAULT_HOSTNAME="(none)" | ||
diff --git a/recipes-kernel/linux/files/cfg/00014-kgdb.cfg b/recipes-kernel/linux/files/cfg/00014-kgdb.cfg new file mode 100644 index 0000000..f23cfe3 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00014-kgdb.cfg | |||
@@ -0,0 +1,9 @@ | |||
1 | #depends | ||
2 | CONFIG_DEBUG_KERNEL=y | ||
3 | CONFIG_EXPERIMENTAL=y | ||
4 | |||
5 | #configs | ||
6 | CONFIG_KGDB=y | ||
7 | CONFIG_KGDB_SERIAL_CONSOLE=y | ||
8 | CONFIG_KGDB_KDB=y | ||
9 | CONFIG_MAGIC_SYSRQ=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00015-uio.cfg b/recipes-kernel/linux/files/cfg/00015-uio.cfg new file mode 100644 index 0000000..b26593e --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00015-uio.cfg | |||
@@ -0,0 +1,3 @@ | |||
1 | CONFIG_UIO=y | ||
2 | CONFIG_UIO_PDRV=y | ||
3 | CONFIG_UIO_PDRV_GENIRQ=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00016-largefilessupport.cfg b/recipes-kernel/linux/files/cfg/00016-largefilessupport.cfg new file mode 100644 index 0000000..b3fae70 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00016-largefilessupport.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_LBDAF=y | |||
diff --git a/recipes-kernel/linux/files/cfg/00017-preempt_keystone.cfg b/recipes-kernel/linux/files/cfg/00017-preempt_keystone.cfg new file mode 100644 index 0000000..89aea43 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00017-preempt_keystone.cfg | |||
@@ -0,0 +1,7 @@ | |||
1 | CONFIG_TREE_PREEMPT_RCU=y | ||
2 | CONFIG_PREEMPT_RCU=y | ||
3 | CONFIG_UNINLINE_SPIN_UNLOCK=y | ||
4 | CONFIG_PREEMPT=y | ||
5 | CONFIG_PREEMPT_COUNT=y | ||
6 | CONFIG_DEBUG_PREEMPT=y | ||
7 | CONFIG_RCU_CPU_STALL_VERBOSE=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00018-rt.cfg b/recipes-kernel/linux/files/cfg/00018-rt.cfg new file mode 100644 index 0000000..a15c930 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00018-rt.cfg | |||
@@ -0,0 +1,3 @@ | |||
1 | CONFIG_PREEMPT_RT_FULL=y | ||
2 | CONFIG_HZ_1000=y | ||
3 | CONFIG_HZ=1000 | ||
diff --git a/recipes-kernel/linux/files/cfg/00019-i2c.cfg b/recipes-kernel/linux/files/cfg/00019-i2c.cfg new file mode 100644 index 0000000..8dbcc3c --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00019-i2c.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_I2C_CHARDEV=y | |||
diff --git a/recipes-kernel/linux/files/cfg/00021-bootlogd.cfg b/recipes-kernel/linux/files/cfg/00021-bootlogd.cfg new file mode 100644 index 0000000..0d83d11 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00021-bootlogd.cfg | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_LEGACY_PTYS=y | ||
2 | CONFIG_LEGACY_PTY_COUNT=256 | ||
diff --git a/recipes-kernel/linux/files/cfg/00022-mtd_tests.cfg b/recipes-kernel/linux/files/cfg/00022-mtd_tests.cfg new file mode 100644 index 0000000..1477bd7 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00022-mtd_tests.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_MTD_TESTS=m | |||
diff --git a/recipes-kernel/linux/files/cfg/00023-ikconfig.cfg b/recipes-kernel/linux/files/cfg/00023-ikconfig.cfg new file mode 100644 index 0000000..9e7666c --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00023-ikconfig.cfg | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_IKCONFIG=y | ||
2 | CONFIG_IKCONFIG_PROC=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00024-preempt_romley-ivb.cfg b/recipes-kernel/linux/files/cfg/00024-preempt_romley-ivb.cfg new file mode 100644 index 0000000..c9b47ac --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00024-preempt_romley-ivb.cfg | |||
@@ -0,0 +1,8 @@ | |||
1 | CONFIG_TREE_PREEMPT_RCU=y | ||
2 | CONFIG_PREEMPT_RCU=y | ||
3 | CONFIG_RCU_STALL_COMMON=y | ||
4 | CONFIG_UNINLINE_SPIN_UNLOCK=y | ||
5 | CONFIG_PREEMPT=y | ||
6 | CONFIG_PREEMPT_COUNT=y | ||
7 | CONFIG_DEBUG_PREEMPT=y | ||
8 | CONFIG_RCU_CPU_STALL_VERBOSE=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00025-powertop.cfg b/recipes-kernel/linux/files/cfg/00025-powertop.cfg new file mode 100644 index 0000000..655c101 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00025-powertop.cfg | |||
@@ -0,0 +1,13 @@ | |||
1 | CONFIG_EXPERT=y | ||
2 | CONFIG_PROC_FS=y | ||
3 | CONFIG_DEBUG_FS=y | ||
4 | CONFIG_NO_HZ=y | ||
5 | CONFIG_HIGH_RES_TIMERS=y | ||
6 | CONFIG_HPET_TIMER=y | ||
7 | CONFIG_CPU_FREQ=y | ||
8 | CONFIG_CPU_FREQ_GOV_ONDEMAND=y | ||
9 | CONFIG_TIMER_STATS=y | ||
10 | CONFIG_PERF_EVENTS=y | ||
11 | CONFIG_TRACEPOINTS=y | ||
12 | CONFIG_TRACING=y | ||
13 | CONFIG_X86_MSR=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00026-ltp.cfg b/recipes-kernel/linux/files/cfg/00026-ltp.cfg new file mode 100644 index 0000000..e36a9c2 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00026-ltp.cfg | |||
@@ -0,0 +1,3 @@ | |||
1 | CONFIG_TUN=y | ||
2 | CONFIG_KSM=y | ||
3 | CONFIG_NUMA=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00027-lttng.cfg b/recipes-kernel/linux/files/cfg/00027-lttng.cfg new file mode 100644 index 0000000..1334194 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00027-lttng.cfg | |||
@@ -0,0 +1,20 @@ | |||
1 | CONFIG_MODULES=y | ||
2 | CONFIG_KALLSYMS=y | ||
3 | CONFIG_HIGH_RES_TIMERS=y | ||
4 | CONFIG_TRACEPOINTS=y | ||
5 | CONFIG_FTRACE=y | ||
6 | CONFIG_PERF_EVENTS=y | ||
7 | CONFIG_EVENT_TRACING=y | ||
8 | CONFIG_KPROBES=y | ||
9 | CONFIG_KRETPROBES=y | ||
10 | CONFIG_FUNCTION_TRACER=y | ||
11 | CONFIG_FUNCTION_GRAPH_TRACER=y | ||
12 | CONFIG_IRQSOFF_TRACER=y | ||
13 | CONFIG_PREEMPT_TRACER=y | ||
14 | CONFIG_SCHED_TRACER=y | ||
15 | CONFIG_NOP_TRACER=y | ||
16 | CONFIG_CONTEXT_SWITCH_TRACER=y | ||
17 | CONFIG_GENERIC_TRACER=y | ||
18 | CONFIG_TRACER_MAX_TRACE=y | ||
19 | CONFIG_TRACER_SNAPSHOT=y | ||
20 | CONFIG_STACK_TRACER=n | ||
diff --git a/recipes-kernel/linux/files/cfg/00028-perf.cfg b/recipes-kernel/linux/files/cfg/00028-perf.cfg new file mode 100644 index 0000000..5fddec0 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00028-perf.cfg | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_CGROUP_PERF=y | ||
2 | CONFIG_PERF_EVENTS=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00029-devtmpfs.cfg b/recipes-kernel/linux/files/cfg/00029-devtmpfs.cfg new file mode 100644 index 0000000..5e9cf98 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00029-devtmpfs.cfg | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_DEVTMPFS=y | ||
2 | CONFIG_DEVTMPFS_MOUNT=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00030-latencytop.cfg b/recipes-kernel/linux/files/cfg/00030-latencytop.cfg new file mode 100644 index 0000000..0a42694 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00030-latencytop.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_LATENCYTOP=y | |||
diff --git a/recipes-kernel/linux/files/cfg/00031-igb_drv.cfg b/recipes-kernel/linux/files/cfg/00031-igb_drv.cfg new file mode 100644 index 0000000..3498fd0 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00031-igb_drv.cfg | |||
@@ -0,0 +1,3 @@ | |||
1 | CONFIG_IGB=y | ||
2 | CONFIG_IGB_DCA=y | ||
3 | CONFIG_IGBVF=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00032-dpa.cfg b/recipes-kernel/linux/files/cfg/00032-dpa.cfg new file mode 100644 index 0000000..c873cd5 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00032-dpa.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_FSL_FM_MAX_FRAME_SIZE=9600 | |||
diff --git a/recipes-kernel/linux/files/cfg/00033-kprobes.cfg b/recipes-kernel/linux/files/cfg/00033-kprobes.cfg new file mode 100644 index 0000000..e24be27 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00033-kprobes.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_KPROBES=y | |||
diff --git a/recipes-kernel/linux/files/cfg/00034-cpusets.cfg b/recipes-kernel/linux/files/cfg/00034-cpusets.cfg new file mode 100644 index 0000000..ec8fad4 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00034-cpusets.cfg | |||
@@ -0,0 +1,3 @@ | |||
1 | CONFIG_CGROUPS=y | ||
2 | CONFIG_CPUSETS=y | ||
3 | CONFIG_CGROUP_PERF=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00035-netfilter.cfg b/recipes-kernel/linux/files/cfg/00035-netfilter.cfg new file mode 100644 index 0000000..2dfdba9 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00035-netfilter.cfg | |||
@@ -0,0 +1,113 @@ | |||
1 | CONFIG_NETFILTER=y | ||
2 | CONFIG_IP_NF_IPTABLES=y | ||
3 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y | ||
4 | CONFIG_BRIDGE_NF_EBTABLES=y | ||
5 | CONFIG_IP_VS=y | ||
6 | CONFIG_IP_NF_FILTER=y | ||
7 | CONFIG_IP_NF_TARGET_ULOG=y | ||
8 | CONFIG_IP_NF_IPTABLES=y | ||
9 | # | ||
10 | # Not directly sourced via a kernel type but via an external bb | ||
11 | # | ||
12 | CONFIG_NETFILTER=y | ||
13 | CONFIG_NETFILTER_ADVANCED=y | ||
14 | |||
15 | # | ||
16 | # Core Netfilter Configuration | ||
17 | # | ||
18 | CONFIG_NETFILTER_NETLINK=m | ||
19 | CONFIG_NETFILTER_NETLINK_QUEUE=m | ||
20 | CONFIG_NETFILTER_NETLINK_LOG=m | ||
21 | CONFIG_NF_CONNTRACK=m | ||
22 | CONFIG_NF_CONNTRACK_MARK=y | ||
23 | CONFIG_NF_CT_PROTO_GRE=m | ||
24 | CONFIG_NF_CT_PROTO_SCTP=m | ||
25 | CONFIG_NF_CT_PROTO_UDPLITE=m | ||
26 | CONFIG_NF_CONNTRACK_AMANDA=m | ||
27 | CONFIG_NF_CONNTRACK_FTP=m | ||
28 | CONFIG_NF_CONNTRACK_H323=m | ||
29 | CONFIG_NF_CONNTRACK_IRC=m | ||
30 | CONFIG_NF_CONNTRACK_NETBIOS_NS=m | ||
31 | CONFIG_NF_CONNTRACK_PPTP=m | ||
32 | CONFIG_NF_CONNTRACK_SANE=m | ||
33 | CONFIG_NF_CONNTRACK_SIP=m | ||
34 | CONFIG_NF_CONNTRACK_TFTP=m | ||
35 | CONFIG_NF_CT_NETLINK=m | ||
36 | CONFIG_NETFILTER_XTABLES=m | ||
37 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m | ||
38 | CONFIG_NETFILTER_XT_TARGET_CONNMARK=m | ||
39 | CONFIG_NETFILTER_XT_TARGET_DSCP=m | ||
40 | CONFIG_NETFILTER_XT_TARGET_HL=m | ||
41 | CONFIG_NETFILTER_XT_TARGET_MARK=m | ||
42 | CONFIG_NETFILTER_XT_TARGET_NFLOG=m | ||
43 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | ||
44 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m | ||
45 | CONFIG_NETFILTER_XT_TARGET_TRACE=m | ||
46 | CONFIG_NETFILTER_XT_TARGET_TCPMSS=m | ||
47 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | ||
48 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | ||
49 | CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m | ||
50 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | ||
51 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | ||
52 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | ||
53 | CONFIG_NETFILTER_XT_MATCH_DSCP=m | ||
54 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
55 | CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m | ||
56 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | ||
57 | CONFIG_NETFILTER_XT_MATCH_HL=m | ||
58 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | ||
59 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | ||
60 | CONFIG_NETFILTER_XT_MATCH_MAC=m | ||
61 | CONFIG_NETFILTER_XT_MATCH_MARK=m | ||
62 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
63 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
64 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | ||
65 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
66 | CONFIG_NETFILTER_XT_MATCH_REALM=m | ||
67 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | ||
68 | CONFIG_NETFILTER_XT_MATCH_STATE=m | ||
69 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
70 | CONFIG_NETFILTER_XT_MATCH_STRING=m | ||
71 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | ||
72 | CONFIG_NETFILTER_XT_MATCH_U32=m | ||
73 | |||
74 | # | ||
75 | # IP: Netfilter Configuration | ||
76 | # | ||
77 | CONFIG_NF_DEFRAG_IPV4=m | ||
78 | CONFIG_NF_CONNTRACK_IPV4=m | ||
79 | CONFIG_NF_CONNTRACK_PROC_COMPAT=y | ||
80 | CONFIG_IP_NF_IPTABLES=m | ||
81 | CONFIG_IP_NF_MATCH_AH=m | ||
82 | CONFIG_IP_NF_MATCH_ECN=m | ||
83 | CONFIG_IP_NF_MATCH_TTL=m | ||
84 | CONFIG_IP_NF_FILTER=m | ||
85 | CONFIG_IP_NF_TARGET_REJECT=m | ||
86 | CONFIG_IP_NF_TARGET_ULOG=m | ||
87 | CONFIG_NF_NAT=m | ||
88 | CONFIG_NF_NAT_NEEDED=y | ||
89 | CONFIG_NF_NAT_IPV4=m | ||
90 | CONFIG_IP_NF_TARGET_MASQUERADE=m | ||
91 | CONFIG_IP_NF_TARGET_NETMAP=m | ||
92 | CONFIG_IP_NF_TARGET_REDIRECT=m | ||
93 | CONFIG_NF_NAT_SNMP_BASIC=m | ||
94 | CONFIG_NF_NAT_PROTO_GRE=m | ||
95 | CONFIG_NF_NAT_PROTO_UDPLITE=m | ||
96 | CONFIG_NF_NAT_PROTO_SCTP=m | ||
97 | CONFIG_NF_NAT_FTP=m | ||
98 | CONFIG_NF_NAT_IRC=m | ||
99 | CONFIG_NF_NAT_TFTP=m | ||
100 | CONFIG_NF_NAT_AMANDA=m | ||
101 | CONFIG_NF_NAT_PPTP=m | ||
102 | CONFIG_NF_NAT_H323=m | ||
103 | CONFIG_NF_NAT_SIP=m | ||
104 | CONFIG_IP_NF_MANGLE=m | ||
105 | CONFIG_IP_NF_TARGET_CLUSTERIP=m | ||
106 | CONFIG_IP_NF_TARGET_ECN=m | ||
107 | CONFIG_IP_NF_TARGET_TTL=m | ||
108 | CONFIG_IP_NF_RAW=m | ||
109 | CONFIG_IP_NF_ARPTABLES=m | ||
110 | CONFIG_IP_NF_ARPFILTER=m | ||
111 | CONFIG_IP_NF_ARP_MANGLE=m | ||
112 | |||
113 | CONFIG_NET_SCHED=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00036-ppc_virt.cfg b/recipes-kernel/linux/files/cfg/00036-ppc_virt.cfg new file mode 100644 index 0000000..e41d2e9 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00036-ppc_virt.cfg | |||
@@ -0,0 +1,5 @@ | |||
1 | CONFIG_VIRTUALIZATION=y | ||
2 | CONFIG_KVM_E500MC=y | ||
3 | CONFIG_BRIDGE=y | ||
4 | CONFIG_TUN=y | ||
5 | CONFIG_PCI_STUB=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00037-ppc_lxc.cfg b/recipes-kernel/linux/files/cfg/00037-ppc_lxc.cfg new file mode 100644 index 0000000..d4e5f8f --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00037-ppc_lxc.cfg | |||
@@ -0,0 +1,30 @@ | |||
1 | CONFIG_MEMCG=y | ||
2 | CONFIG_MEMCG_KMEM=y | ||
3 | CONFIG_CGROUP_DEVICE=y | ||
4 | CONFIG_CPUSETS=y | ||
5 | CONFIG_PROC_PID_CPUSET=y | ||
6 | CONFIG_RESOURCE_COUNTERS=y | ||
7 | CONFIG_CGROUP_MEM_RES_CTLR=y | ||
8 | CONFIG_CGROUP_SCHED=y | ||
9 | CONFIG_FAIR_GROUP_SCHED=y | ||
10 | CONFIG_RT_GROUP_SCHED=y | ||
11 | CONFIG_CHECKPOINT_RESTORE=y | ||
12 | CONFIG_NAMESPACES=y | ||
13 | CONFIG_UTS_NS=y | ||
14 | CONFIG_IPC_NS=y | ||
15 | CONFIG_USER_NS=n | ||
16 | CONFIG_PID_NS=y | ||
17 | CONFIG_NET_NS=y | ||
18 | CONFIG_SECCOMP=y | ||
19 | CONFIG_SECURITY_APPARMOR=y | ||
20 | CONFIG_CGROUPS=y | ||
21 | |||
22 | CONFIG_CLS_CGROUP=m | ||
23 | CONFIG_BLK_CGROUP=m | ||
24 | CONFIG_NETPRIO_CGROUP=m | ||
25 | |||
26 | CONFIG_DEVPTS_MULTIPLE_INSTANCES=y | ||
27 | CONFIG_VETH=y | ||
28 | CONFIG_MACVLAN=y | ||
29 | CONFIG_CGROUP_CPUACCT=y | ||
30 | |||
diff --git a/recipes-kernel/linux/files/cfg/00038-hotplug_cpu.cfg b/recipes-kernel/linux/files/cfg/00038-hotplug_cpu.cfg new file mode 100644 index 0000000..3704a7a --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00038-hotplug_cpu.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_HOTPLUG_CPU=y | |||
diff --git a/recipes-kernel/linux/files/cfg/00039-nohz.cfg b/recipes-kernel/linux/files/cfg/00039-nohz.cfg new file mode 100644 index 0000000..4cf684f --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00039-nohz.cfg | |||
@@ -0,0 +1,9 @@ | |||
1 | CONFIG_NO_HZ_COMMON=y | ||
2 | CONFIG_NO_HZ_FULL=y | ||
3 | CONFIG_VIRT_CPU_ACCOUNTING=y | ||
4 | CONFIG_VIRT_CPU_ACCOUNTING_GEN=y | ||
5 | CONFIG_CONTEXT_TRACKING=y | ||
6 | CONFIG_RCU_USER_QS=y | ||
7 | CONFIG_RCU_NOCB_CPU=y | ||
8 | CONFIG_RCU_NOCB_CPU_ALL=y | ||
9 | CONFIG_LOCKUP_DETECTOR=n | ||
diff --git a/recipes-kernel/linux/files/cfg/00040-9p.cfg b/recipes-kernel/linux/files/cfg/00040-9p.cfg new file mode 100644 index 0000000..4b9b161 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00040-9p.cfg | |||
@@ -0,0 +1,5 @@ | |||
1 | CONFIG_NET_9P=y | ||
2 | CONFIG_NET_9P_VIRTIO=y | ||
3 | CONFIG_NET_9P_DEBUG=y | ||
4 | CONFIG_9P_FS=y | ||
5 | CONFIG_9P_FS_POSIX_ACL=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00041-virtio.cfg b/recipes-kernel/linux/files/cfg/00041-virtio.cfg new file mode 100644 index 0000000..41f0dcd --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00041-virtio.cfg | |||
@@ -0,0 +1,8 @@ | |||
1 | CONFIG_VIRTIO_PCI=y | ||
2 | CONFIG_VIRTIO_BALLOON=y | ||
3 | CONFIG_VIRTIO_BLK=y | ||
4 | CONFIG_VIRTIO_NET=y | ||
5 | CONFIG_VIRTIO=y | ||
6 | CONFIG_VIRTIO_RING=y | ||
7 | CONFIG_VIRTIO_MMIO=y | ||
8 | CONFIG_VIRTIO_CONSOLE=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00042-vhost.cfg b/recipes-kernel/linux/files/cfg/00042-vhost.cfg new file mode 100644 index 0000000..87a6004 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00042-vhost.cfg | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_VHOST_NET=y | ||
2 | CONFIG_PCI_MSI=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00043-containers.cfg b/recipes-kernel/linux/files/cfg/00043-containers.cfg new file mode 100644 index 0000000..aac7304 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00043-containers.cfg | |||
@@ -0,0 +1,18 @@ | |||
1 | CONFIG_NAMESPACES=y | ||
2 | CONFIG_UTS_NS=y | ||
3 | CONFIG_IPC_NS=y | ||
4 | CONFIG_USER_NS=y | ||
5 | CONFIG_PID_NS=y | ||
6 | CONFIG_NET_NS=y | ||
7 | CONFIG_CGROUP_FREEZER=y | ||
8 | CONFIG_CGROUP_DEVICE=y | ||
9 | CONFIG_CGROUP_CPUACCT=y | ||
10 | CONFIG_RESOURCE_COUNTERS=y | ||
11 | CONFIG_CGROUP_SCHED=y | ||
12 | CONFIG_BLK_CGROUP=y | ||
13 | CONFIG_CPUSETS=y | ||
14 | CONFIG_MEMCG=y | ||
15 | CONFIG_MEMCG_KMEM=y | ||
16 | CONFIG_VETH=y | ||
17 | CONFIG_MACVLAN=y | ||
18 | CONFIG_DEVPTS_MULTIPLE_INSTANCES=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00044-numa.cfg b/recipes-kernel/linux/files/cfg/00044-numa.cfg new file mode 100644 index 0000000..e480f0c --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00044-numa.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_NUMA=y | |||
diff --git a/recipes-kernel/linux/files/cfg/00045-pci-stub.cfg b/recipes-kernel/linux/files/cfg/00045-pci-stub.cfg new file mode 100644 index 0000000..04aec57 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00045-pci-stub.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_PCI_STUB=m | |||
diff --git a/recipes-kernel/linux/files/cfg/00046-sata.cfg b/recipes-kernel/linux/files/cfg/00046-sata.cfg new file mode 100644 index 0000000..0a30897 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00046-sata.cfg | |||
@@ -0,0 +1,5 @@ | |||
1 | #enable SATA support | ||
2 | CONFIG_ATA=y | ||
3 | CONFIG_SATA_AHCI=y | ||
4 | CONFIG_SATA_AHCI_PLATFORM=y | ||
5 | CONFIG_SATA_PMP=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00047-bridge.cfg b/recipes-kernel/linux/files/cfg/00047-bridge.cfg new file mode 100644 index 0000000..873cbf3 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00047-bridge.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_BRIDGE=y | |||
diff --git a/recipes-kernel/linux/files/cfg/00048-containers_no_user_ns.cfg b/recipes-kernel/linux/files/cfg/00048-containers_no_user_ns.cfg new file mode 100644 index 0000000..7b0b6f6 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00048-containers_no_user_ns.cfg | |||
@@ -0,0 +1,18 @@ | |||
1 | CONFIG_NAMESPACES=y | ||
2 | CONFIG_UTS_NS=y | ||
3 | CONFIG_IPC_NS=y | ||
4 | CONFIG_USER_NS=n | ||
5 | CONFIG_PID_NS=y | ||
6 | CONFIG_NET_NS=y | ||
7 | CONFIG_CGROUP_FREEZER=y | ||
8 | CONFIG_CGROUP_DEVICE=y | ||
9 | CONFIG_CGROUP_CPUACCT=y | ||
10 | CONFIG_RESOURCE_COUNTERS=y | ||
11 | CONFIG_CGROUP_SCHED=y | ||
12 | CONFIG_BLK_CGROUP=y | ||
13 | CONFIG_CPUSETS=y | ||
14 | CONFIG_MEMCG=y | ||
15 | CONFIG_MEMCG_KMEM=y | ||
16 | CONFIG_VETH=y | ||
17 | CONFIG_MACVLAN=y | ||
18 | CONFIG_DEVPTS_MULTIPLE_INSTANCES=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00049-gpio.cfg b/recipes-kernel/linux/files/cfg/00049-gpio.cfg new file mode 100644 index 0000000..9ea98eb --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00049-gpio.cfg | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_GPIO_SYSFS=y | ||
2 | CONFIG_GPIO_GENERIC=y | ||
diff --git a/recipes-kernel/linux/files/cfg/00050-nfsdv4.cfg b/recipes-kernel/linux/files/cfg/00050-nfsdv4.cfg new file mode 100644 index 0000000..fb0d0b2 --- /dev/null +++ b/recipes-kernel/linux/files/cfg/00050-nfsdv4.cfg | |||
@@ -0,0 +1,7 @@ | |||
1 | CONFIG_NFSD_V4=y | ||
2 | CONFIG_NFSD=y | ||
3 | CONFIG_INET=y | ||
4 | CONFIG_NET=y | ||
5 | CONFIG_NETWORK_FILESYSTEMS =y | ||
6 | CONFIG_FILE_LOCKING=y | ||
7 | CONFIG_PROC_FS=y | ||
diff --git a/recipes-kernel/linux/files/cfg/README b/recipes-kernel/linux/files/cfg/README new file mode 100644 index 0000000..abfff1e --- /dev/null +++ b/recipes-kernel/linux/files/cfg/README | |||
@@ -0,0 +1,9 @@ | |||
1 | In ordert to add a configuration fragment contained in a .cfg file, | ||
2 | please follow these steps: | ||
3 | |||
4 | 1. change to the directory that contains this README file. | ||
5 | 2. copy your fragment file here and make sure your file has a .cfg extension | ||
6 | 4. run the indexcfgs.pl utility from this directory to | ||
7 | index your file. | ||
8 | 5. check for the new name and use it to further reference your renamed | ||
9 | cfg file. | ||
diff --git a/recipes-kernel/linux/files/cfg/indexcfgs.pl b/recipes-kernel/linux/files/cfg/indexcfgs.pl new file mode 100755 index 0000000..96cd78a --- /dev/null +++ b/recipes-kernel/linux/files/cfg/indexcfgs.pl | |||
@@ -0,0 +1,167 @@ | |||
1 | #!/usr/bin/perl -w | ||
2 | #---------------------------------------------------------------------- | ||
3 | # indexcfgs.pl - utility to rename files in the current directory to an | ||
4 | # indexed format so that a unique index number is | ||
5 | # prepended to the current file name. The naming | ||
6 | # template is: | ||
7 | # | ||
8 | # DDDDD-<name-or-short-description.cfg> | ||
9 | # | ||
10 | # Usage: create the *.cfg file you need, with any name and .cfg | ||
11 | # extension. Run this script and it will automatically | ||
12 | # rename your file to the indexed format above. | ||
13 | # | ||
14 | # Author: Daniel BORNAZ <daniel.bornaz@enea.com | ||
15 | # Date: 2014/04/09 | ||
16 | # Version: 1.0 | ||
17 | # | ||
18 | #---------------------------------------------------------------------- | ||
19 | |||
20 | use strict; | ||
21 | use warnings; | ||
22 | use Getopt::Long; | ||
23 | |||
24 | my %args; | ||
25 | my $counter_indexed=0; | ||
26 | my $filetype="*.cfg"; | ||
27 | my $counter_queue=0; | ||
28 | my $max_index=0; | ||
29 | my $dir="./"; | ||
30 | my @files; | ||
31 | my @queue; | ||
32 | my $opt_strip; | ||
33 | my $opt_help; | ||
34 | |||
35 | |||
36 | #-------------------------------------------------------------------- | ||
37 | # strip the index from the file name | ||
38 | # | ||
39 | sub removeindex($){ | ||
40 | my $tmpname=shift; | ||
41 | my $newname; | ||
42 | |||
43 | if($tmpname=~/^\d{5}\-.*cfg/ig){ | ||
44 | $newname=substr($tmpname,6); | ||
45 | system("mv",$tmpname,$newname) == 0 | ||
46 | or die "Cannot rename $tmpname to $newname: $?"; | ||
47 | }else{ | ||
48 | return 0; | ||
49 | } | ||
50 | } | ||
51 | |||
52 | #-------------------------------------------------------------------- | ||
53 | # get the indexed file name, return the index | ||
54 | # | ||
55 | sub decodeindex($){ | ||
56 | my $tmpname=shift; | ||
57 | |||
58 | if($tmpname=~/^\d{5}\-.*cfg/ig){ | ||
59 | return substr($tmpname,0,5); | ||
60 | }else{ | ||
61 | return 0; | ||
62 | } | ||
63 | } | ||
64 | |||
65 | #-------------------------------------------------------------------- | ||
66 | # remove index from cfg files in current directory | ||
67 | # | ||
68 | sub strip_file_names { | ||
69 | print "Start removing index from $filetype files in $dir\n"; | ||
70 | |||
71 | opendir(DIR,$dir) or die $!; | ||
72 | |||
73 | while( my $file=readdir(DIR)){ | ||
74 | # retrieve cfg files (*.cfg) | ||
75 | if($file=~/cfg$/gi){ | ||
76 | removeindex($file); | ||
77 | } | ||
78 | } | ||
79 | |||
80 | closedir(DIR); | ||
81 | } | ||
82 | |||
83 | #-------------------------------------------------------------------- | ||
84 | # index current directory cfg files | ||
85 | # | ||
86 | sub index_file_names { | ||
87 | print "Start indexing $filetype files in $dir\n"; | ||
88 | |||
89 | opendir(DIR,$dir) or die $!; | ||
90 | |||
91 | while( my $file=readdir(DIR)){ | ||
92 | # retrieve cfg files (*.cfg) | ||
93 | if($file=~/cfg$/gi){ | ||
94 | @files=(@files,$file); | ||
95 | } | ||
96 | } | ||
97 | |||
98 | closedir(DIR); | ||
99 | |||
100 | |||
101 | # separate indexed file names from the ones to be processed | ||
102 | foreach my $file (@files){ | ||
103 | if($file=~/^\d{5}\-.*cfg/){ | ||
104 | my $crt_index=0; | ||
105 | |||
106 | $crt_index=decodeindex($file); | ||
107 | |||
108 | if($crt_index > $max_index){ | ||
109 | $max_index=$crt_index; | ||
110 | } | ||
111 | |||
112 | $counter_indexed++; | ||
113 | }else{ | ||
114 | @queue=($file,@queue); | ||
115 | $counter_queue++; | ||
116 | } | ||
117 | } | ||
118 | |||
119 | # set the next index number | ||
120 | $max_index++; | ||
121 | |||
122 | # index the enqueued file names | ||
123 | foreach my $file (@queue){ | ||
124 | my $newname; | ||
125 | |||
126 | $newname=sprintf("%05d-%s",$max_index++,$file); | ||
127 | system("mv",$file,$newname) == 0 | ||
128 | or die "Cannot rename $file to $newname: $?"; | ||
129 | } | ||
130 | |||
131 | printf("$counter_queue files indexed, ". | ||
132 | "$counter_indexed files already indexed. Done.\n"); | ||
133 | } | ||
134 | |||
135 | #-------------------------------------------------------------------- | ||
136 | # display usage help | ||
137 | # | ||
138 | sub print_usage { | ||
139 | print "\n"; | ||
140 | print " ./indexcfgs.pl [--strip]\n"; | ||
141 | print " no params: Index the *.cfg file names in current dir\n"; | ||
142 | print " to DDDDD-<original_file_name.cfg>\n"; | ||
143 | print " --strip: Strips the index from the *.cfg file names ". | ||
144 | "in current dir\n"; | ||
145 | print "\n"; | ||
146 | |||
147 | exit 0; | ||
148 | } | ||
149 | |||
150 | |||
151 | #--- Program starts here -------------------------------------------- | ||
152 | GetOptions(\%args, | ||
153 | "strip" => \$opt_strip, | ||
154 | "help" => \$opt_help, | ||
155 | ); | ||
156 | |||
157 | if(defined($opt_help)){ | ||
158 | print_usage(); | ||
159 | } | ||
160 | |||
161 | if(defined($opt_strip)){ | ||
162 | strip_file_names(); | ||
163 | }else{ | ||
164 | index_file_names(); | ||
165 | } | ||
166 | |||
167 | |||
diff --git a/recipes-kernel/linux/files/disable_hw_checksum_offload.patch b/recipes-kernel/linux/files/disable_hw_checksum_offload.patch new file mode 100644 index 0000000..4b318c1 --- /dev/null +++ b/recipes-kernel/linux/files/disable_hw_checksum_offload.patch | |||
@@ -0,0 +1,19 @@ | |||
1 | Temporarily disable HW checksum offload | ||
2 | |||
3 | Signed-off-by: Tudor Florea <tudor.florea@enea.com> | ||
4 | Upstream-Status: Pending | ||
5 | |||
6 | |||
7 | diff --git a/arch/arm/boot/dts/k2hk-evm.dts b/arch/arm/boot/dts/k2hk-evm.dts | ||
8 | index 16cf335..7dc9665 100644 | ||
9 | --- a/arch/arm/boot/dts/k2hk-evm.dts | ||
10 | +++ b/arch/arm/boot/dts/k2hk-evm.dts | ||
11 | @@ -2521,7 +2521,7 @@ | ||
12 | }; | ||
13 | pa: pa@2000000 { | ||
14 | label = "keystone-pa"; | ||
15 | - checksum-offload = <1>; /* 1 - HW offload */ | ||
16 | + checksum-offload = <2>; | ||
17 | txhook-order = <10>; | ||
18 | txhook-softcsum = <40>; | ||
19 | rxhook-order = <10>; | ||
diff --git a/recipes-kernel/linux/files/fix_for_CVE-2013-2094.patch b/recipes-kernel/linux/files/fix_for_CVE-2013-2094.patch new file mode 100644 index 0000000..1fbad06 --- /dev/null +++ b/recipes-kernel/linux/files/fix_for_CVE-2013-2094.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | From 8176cced706b5e5d15887584150764894e94e02f Mon Sep 17 00:00:00 2001 | ||
2 | From: Tommi Rantala <tt.rantala@gmail.com> | ||
3 | Date: Sat, 13 Apr 2013 19:49:14 +0000 | ||
4 | Subject: perf: Treat attr.config as u64 in perf_swevent_init() | ||
5 | |||
6 | Trinity discovered that we fail to check all 64 bits of | ||
7 | attr.config passed by user space, resulting to out-of-bounds | ||
8 | access of the perf_swevent_enabled array in | ||
9 | sw_perf_event_destroy(). | ||
10 | |||
11 | Introduced in commit b0a873ebb ("perf: Register PMU | ||
12 | implementations"). | ||
13 | |||
14 | Signed-off-by: Tommi Rantala <tt.rantala@gmail.com> | ||
15 | Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> | ||
16 | Cc: davej@redhat.com | ||
17 | Cc: Paul Mackerras <paulus@samba.org> | ||
18 | Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net> | ||
19 | Link: http://lkml.kernel.org/r/1365882554-30259-1-git-send-email-tt.rantala@gmail.com | ||
20 | Signed-off-by: Ingo Molnar <mingo@kernel.org> | ||
21 | --- | ||
22 | diff --git a/kernel/events/core.c b/kernel/events/core.c | ||
23 | index 7e0962e..4d3124b 100644 | ||
24 | --- a/kernel/events/core.c | ||
25 | +++ b/kernel/events/core.c | ||
26 | @@ -5331,7 +5331,7 @@ static void sw_perf_event_destroy(struct perf_event *event) | ||
27 | |||
28 | static int perf_swevent_init(struct perf_event *event) | ||
29 | { | ||
30 | - int event_id = event->attr.config; | ||
31 | + u64 event_id = event->attr.config; | ||
32 | |||
33 | if (event->attr.type != PERF_TYPE_SOFTWARE) | ||
34 | return -ENOENT; | ||
35 | -- | ||
36 | cgit v0.9.1 | ||
diff --git a/recipes-kernel/linux/files/merge_config.sh b/recipes-kernel/linux/files/merge_config.sh new file mode 100755 index 0000000..33f18d4 --- /dev/null +++ b/recipes-kernel/linux/files/merge_config.sh | |||
@@ -0,0 +1,142 @@ | |||
1 | #!/bin/sh | ||
2 | # merge_config.sh - Takes a list of config fragment values, and merges | ||
3 | # them one by one. Provides warnings on overridden values, and specified | ||
4 | # values that did not make it to the resulting .config file (due to missed | ||
5 | # dependencies or config symbol removal). | ||
6 | # | ||
7 | # Portions reused from kconf_check and generate_cfg: | ||
8 | # http://git.yoctoproject.org/cgit/cgit.cgi/yocto-kernel-tools/tree/tools/kconf_check | ||
9 | # http://git.yoctoproject.org/cgit/cgit.cgi/yocto-kernel-tools/tree/tools/generate_cfg | ||
10 | # | ||
11 | # Copyright (c) 2009-2010 Wind River Systems, Inc. | ||
12 | # Copyright 2011 Linaro | ||
13 | # | ||
14 | # This program is free software; you can redistribute it and/or modify | ||
15 | # it under the terms of the GNU General Public License version 2 as | ||
16 | # published by the Free Software Foundation. | ||
17 | # | ||
18 | # This program is distributed in the hope that it will be useful, | ||
19 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
20 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
21 | # See the GNU General Public License for more details. | ||
22 | |||
23 | |||
24 | usage() { | ||
25 | echo "Usage: $0 [OPTIONS] [CONFIG [...]]" | ||
26 | echo " -h display this help text" | ||
27 | echo " -m only merge the fragments, do not execute the make command" | ||
28 | echo " -n use allnoconfig instead of alldefconfig" | ||
29 | echo " -x use allmodconfig instead of alldefconfig" | ||
30 | echo " -d debug. Don't cleanup temporary files" | ||
31 | } | ||
32 | |||
33 | MAKE_FLAG=true | ||
34 | ALLTARGET=alldefconfig | ||
35 | |||
36 | # There are two variables that impact where the .config will be dropped, | ||
37 | # O= and KBUILD_OUTPUT=. So we'll respect those variables and use them as | ||
38 | # an output directory as well. These two variables are not propagating | ||
39 | # automatically to the kernel build, so always explicitly setting O= | ||
40 | # and passing it to the kernel build ensures that it is respected. | ||
41 | if [ -n "$KBUILD_OUTPUT" ]; then | ||
42 | O=$KBUILD_OUTPUT | ||
43 | fi | ||
44 | if [ -z "$O" ]; then | ||
45 | O=. | ||
46 | fi | ||
47 | |||
48 | while true; do | ||
49 | case $1 in | ||
50 | "-n") | ||
51 | ALLTARGET=allnoconfig | ||
52 | shift | ||
53 | continue | ||
54 | ;; | ||
55 | "-m") | ||
56 | MAKE_FLAG=false | ||
57 | shift | ||
58 | continue | ||
59 | ;; | ||
60 | "-d") | ||
61 | DEBUG=true | ||
62 | shift | ||
63 | continue | ||
64 | ;; | ||
65 | "-h") | ||
66 | usage | ||
67 | exit | ||
68 | ;; | ||
69 | *) | ||
70 | break | ||
71 | ;; | ||
72 | esac | ||
73 | done | ||
74 | |||
75 | clean_up() { | ||
76 | rm -f $TMP_FILE | ||
77 | exit | ||
78 | } | ||
79 | if [ -z "$DEBUG" ]; then | ||
80 | trap clean_up SIGHUP SIGINT SIGTERM | ||
81 | fi | ||
82 | |||
83 | |||
84 | MERGE_LIST=$* | ||
85 | SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(CONFIG_[a-zA-Z0-9_]*\)[= ].*/\2/p" | ||
86 | TMP_FILE=$(mktemp $O/.tmp.config.XXXXXXXXXX) | ||
87 | |||
88 | # Merge files, printing warnings on overrided values | ||
89 | for MERGE_FILE in $MERGE_LIST ; do | ||
90 | echo "Merging $MERGE_FILE" | ||
91 | CFG_LIST=$(sed -n "$SED_CONFIG_EXP" $MERGE_FILE) | ||
92 | |||
93 | for CFG in $CFG_LIST ; do | ||
94 | grep -q -w $CFG $TMP_FILE | ||
95 | if [ $? -eq 0 ] ; then | ||
96 | PREV_VAL=$(grep -w $CFG $TMP_FILE) | ||
97 | NEW_VAL=$(grep -w $CFG $MERGE_FILE) | ||
98 | if [ "x$PREV_VAL" != "x$NEW_VAL" ] ; then | ||
99 | echo Value of $CFG is redefined by fragment $MERGE_FILE: | ||
100 | echo Previous value: $PREV_VAL | ||
101 | echo New value: $NEW_VAL | ||
102 | echo | ||
103 | fi | ||
104 | sed -i "/$CFG[ =]/d" $TMP_FILE | ||
105 | fi | ||
106 | done | ||
107 | cat $MERGE_FILE >> $TMP_FILE | ||
108 | done | ||
109 | |||
110 | if [ "$MAKE_FLAG" = "false" ]; then | ||
111 | cp $TMP_FILE $O/.config | ||
112 | echo "#" | ||
113 | echo "# merged configuration written to $O/.config (needs make)" | ||
114 | echo "#" | ||
115 | if [ -z "$DEBUG" ]; then | ||
116 | clean_up | ||
117 | fi | ||
118 | exit | ||
119 | fi | ||
120 | |||
121 | # Use the merged file as the starting point for: | ||
122 | # alldefconfig: Fills in any missing symbols with Kconfig default | ||
123 | # allnoconfig: Fills in any missing symbols with # CONFIG_* is not set | ||
124 | make KCONFIG_ALLCONFIG=$TMP_FILE O=$O $ALLTARGET | ||
125 | |||
126 | |||
127 | # Check all specified config values took (might have missed-dependency issues) | ||
128 | for CFG in $(sed -n "$SED_CONFIG_EXP" $TMP_FILE); do | ||
129 | |||
130 | REQUESTED_VAL=$(sed -n "$SED_CONFIG_EXP" $TMP_FILE | grep -w -e "$CFG") | ||
131 | ACTUAL_VAL=$(sed -n "$SED_CONFIG_EXP" $O/.config | grep -w -e "$CFG") | ||
132 | if [ "x$REQUESTED_VAL" != "x$ACTUAL_VAL" ] ; then | ||
133 | echo "Value requested for $CFG not in final .config" | ||
134 | echo "Requested value: $REQUESTED_VAL" | ||
135 | echo "Actual value: $ACTUAL_VAL" | ||
136 | echo "" | ||
137 | fi | ||
138 | done | ||
139 | |||
140 | if [ -z "$DEBUG" ]; then | ||
141 | clean_up | ||
142 | fi | ||
diff --git a/recipes-kernel/linux/files/powerpc-fsl-booke64-Set-vmemmap_psize-to-4K.patch b/recipes-kernel/linux/files/powerpc-fsl-booke64-Set-vmemmap_psize-to-4K.patch new file mode 100644 index 0000000..5acf97a --- /dev/null +++ b/recipes-kernel/linux/files/powerpc-fsl-booke64-Set-vmemmap_psize-to-4K.patch | |||
@@ -0,0 +1,19 @@ | |||
1 | diff --git a/arch/powerpc/mm/tlb_nohash.c b/arch/powerpc/mm/tlb_nohash.c | ||
2 | index ae3d5b7..92cb18d 100644 | ||
3 | --- a/arch/powerpc/mm/tlb_nohash.c | ||
4 | +++ b/arch/powerpc/mm/tlb_nohash.c | ||
5 | @@ -596,8 +596,13 @@ static void __early_init_mmu(int boot_cpu) | ||
6 | /* XXX This should be decided at runtime based on supported | ||
7 | * page sizes in the TLB, but for now let's assume 16M is | ||
8 | * always there and a good fit (which it probably is) | ||
9 | + * | ||
10 | + * Freescale booke only supports 4K pages in TLB0, so use that. | ||
11 | */ | ||
12 | - mmu_vmemmap_psize = MMU_PAGE_16M; | ||
13 | + if (mmu_has_feature(MMU_FTR_TYPE_FSL_E)) | ||
14 | + mmu_vmemmap_psize = MMU_PAGE_4K; | ||
15 | + else | ||
16 | + mmu_vmemmap_psize = MMU_PAGE_16M; | ||
17 | |||
18 | /* XXX This code only checks for TLB 0 capabilities and doesn't | ||
19 | * check what page size combos are supported by the HW. It | ||
diff --git a/recipes-kernel/linux/files/pramfs-1.5.1-3.12.tar.gz b/recipes-kernel/linux/files/pramfs-1.5.1-3.12.tar.gz new file mode 100644 index 0000000..2d1a065 --- /dev/null +++ b/recipes-kernel/linux/files/pramfs-1.5.1-3.12.tar.gz | |||
Binary files differ | |||
diff --git a/recipes-kernel/linux/kernel-configure.inc b/recipes-kernel/linux/kernel-configure.inc new file mode 100644 index 0000000..f3d0abe --- /dev/null +++ b/recipes-kernel/linux/kernel-configure.inc | |||
@@ -0,0 +1,49 @@ | |||
1 | SRC_URI += " file://merge_config.sh " | ||
2 | |||
3 | configure_kernel() { | ||
4 | # Add debug flavour config elements from fragments | ||
5 | # Listed in increasing priority order if conflicts are detected. | ||
6 | # | ||
7 | |||
8 | # | ||
9 | #combine features cfgs with defconfig | ||
10 | # | ||
11 | addon_features="" | ||
12 | if [ -n "${2}" ]; then | ||
13 | for feature in ${2}; do | ||
14 | addon_features="${addon_features} ${WORKDIR}/${feature}" | ||
15 | done | ||
16 | fi | ||
17 | |||
18 | # Some meta layers like meta-ti use defconfig file to point to a real | ||
19 | # default config file (use-kernel-config=config_filename) which is found | ||
20 | # under kernel path (${S}/arch/${archname}/configs/). | ||
21 | config=`cat ${1} | grep use-kernel-config | cut -d= -f2` | ||
22 | if [ "x${config}" != "x" ] | ||
23 | then | ||
24 | configfilepath=`find ${S}/arch/ -name ${config} -print | head -n 1` | ||
25 | if [ -f ${configfilepath} ] | ||
26 | then | ||
27 | cp ${configfilepath} ${1} | ||
28 | else | ||
29 | bbfatal "Specified config file:${config} was not found!" | ||
30 | fi | ||
31 | fi | ||
32 | |||
33 | if [ -e "${S}/scripts/kconfig/merge_config.sh" ]; then | ||
34 | O=${B} ${S}/scripts/kconfig/merge_config.sh -m ${1} ${addon_features} | ||
35 | else | ||
36 | O=${B} ${WORKDIR}/merge_config.sh -m ${1} ${addon_features} | ||
37 | fi | ||
38 | |||
39 | mv -f ${B}/.config ${B}/.mconfig | ||
40 | |||
41 | # | ||
42 | #in linux kernel 2.6.33, kconfig does not support alldefconfig yet. | ||
43 | # | ||
44 | if [ "x${PV}" = "x2.6.33" ]; then | ||
45 | oe_runmake KCONFIG_ALLCONFIG=${B}/.mconfig O=${B} allnoconfig | ||
46 | else | ||
47 | oe_runmake KCONFIG_ALLCONFIG=${B}/.mconfig O=${B} alldefconfig | ||
48 | fi | ||
49 | } | ||
diff --git a/recipes-kernel/linux/linux-boundary_3.10.17.bbappend b/recipes-kernel/linux/linux-boundary_3.10.17.bbappend new file mode 100644 index 0000000..3e6b61d --- /dev/null +++ b/recipes-kernel/linux/linux-boundary_3.10.17.bbappend | |||
@@ -0,0 +1,31 @@ | |||
1 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | ||
2 | |||
3 | SRC_URI_append = "file://cfg/00014-kgdb.cfg \ | ||
4 | file://cfg/00027-lttng.cfg \ | ||
5 | file://cfg/00028-perf.cfg \ | ||
6 | file://cfg/00025-powertop.cfg \ | ||
7 | file://cfg/00004-systemtap.cfg \ | ||
8 | file://cfg/00003-fuse.cfg \ | ||
9 | file://cfg/00034-cpusets.cfg \ | ||
10 | file://cfg/00030-latencytop.cfg \ | ||
11 | file://cfg/00022-mtd_tests.cfg \ | ||
12 | " | ||
13 | # | ||
14 | # The linux-boundary recipe doesn't implement a method to merge config fragments | ||
15 | # to the kernel config file, so we need to implement it ourselves. | ||
16 | # | ||
17 | |||
18 | # returns all the elements from the src uri that are kernel config files | ||
19 | def find_cfgs(d): | ||
20 | sources=src_patches(d, True) | ||
21 | sources_list=[] | ||
22 | for s in sources: | ||
23 | base, ext = os.path.splitext(os.path.basename(s)) | ||
24 | if ext and ext in ".cfg": | ||
25 | sources_list.append(s) | ||
26 | return sources_list | ||
27 | |||
28 | # apply kernel configs from the src uri | ||
29 | kernel_do_configure_prepend() { | ||
30 | ${S}/scripts/kconfig/merge_config.sh -m ${S}/.config ${@" ".join(find_cfgs(d))} | ||
31 | } | ||
diff --git a/recipes-kernel/linux/linux-enea.inc b/recipes-kernel/linux/linux-enea.inc new file mode 100644 index 0000000..1579940 --- /dev/null +++ b/recipes-kernel/linux/linux-enea.inc | |||
@@ -0,0 +1,8 @@ | |||
1 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | ||
2 | |||
3 | SRC_URI += "\ | ||
4 | file://cfg/00006-with_modules.cfg \ | ||
5 | file://cfg/00027-lttng.cfg \ | ||
6 | file://cfg/00016-largefilessupport.cfg \ | ||
7 | file://cfg/00034-cpusets.cfg \ | ||
8 | " | ||
diff --git a/recipes-kernel/linux/linux-keystone_3.10.bbappend b/recipes-kernel/linux/linux-keystone_3.10.bbappend new file mode 100644 index 0000000..23cd740 --- /dev/null +++ b/recipes-kernel/linux/linux-keystone_3.10.bbappend | |||
@@ -0,0 +1,50 @@ | |||
1 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | ||
2 | |||
3 | SRC_URI += "file://disable_hw_checksum_offload.patch \ | ||
4 | file://arm_arch_timer-Keystone-2-architected-timer-frequenc.patch \ | ||
5 | file://Check_correct_namespace_when_spoofing_pid_over_SCM_RIGHTS.patch \ | ||
6 | file://0001-net-fib-fib6_add-fix-potential-NULL-pointer-derefere.patch \ | ||
7 | file://HID_CVE_patches/0001-HID-validate-HID-report-id-size.patch \ | ||
8 | file://HID_CVE_patches/0002-HID-provide-a-helper-for-validating-hid-reports.patch \ | ||
9 | file://HID_CVE_patches/0003-HID-zeroplus-validate-output-report-details.patch \ | ||
10 | file://HID_CVE_patches/0005-HID-steelseries-validate-output-report-details.patch \ | ||
11 | file://HID_CVE_patches/0006-HID-pantherlord-validate-output-report-details.patch \ | ||
12 | file://HID_CVE_patches/0007-HID-LG-validate-HID-output-report-details.patch \ | ||
13 | file://HID_CVE_patches/0008-HID-lenovo-tpkbd-validate-output-report-details.patch \ | ||
14 | file://HID_CVE_patches/0009-HID-logitech-dj-validate-output-report-details.patch \ | ||
15 | file://HID_CVE_patches/0010-HID-ntrig-validate-feature-report-details.patch \ | ||
16 | file://HID_CVE_patches/0011-HID-multitouch-validate-indexes-details.patch \ | ||
17 | file://HID_CVE_patches/0012-HID-sensor-hub-validate-feature-report-details.patch \ | ||
18 | file://HID_CVE_patches/0013-HID-picolcd_core-validate-output-report-details.patch \ | ||
19 | file://HID_CVE_patches/0014-HID-check-for-NULL-field-when-setting-values.patch \ | ||
20 | file://cfg/00014-kgdb.cfg \ | ||
21 | file://cfg/00027-lttng.cfg \ | ||
22 | file://cfg/00028-perf.cfg \ | ||
23 | file://cfg/00025-powertop.cfg \ | ||
24 | file://cfg/00004-systemtap.cfg \ | ||
25 | file://cfg/00003-fuse.cfg \ | ||
26 | file://cfg/00017-preempt_keystone.cfg \ | ||
27 | file://cfg/00034-cpusets.cfg \ | ||
28 | file://cfg/00046-sata.cfg \ | ||
29 | " | ||
30 | |||
31 | KERNEL_FEATURES = " \ | ||
32 | cfg/00014-kgdb.cfg \ | ||
33 | cfg/00027-lttng.cfg \ | ||
34 | cfg/00028-perf.cfg \ | ||
35 | cfg/00025-powertop.cfg \ | ||
36 | cfg/00004-systemtap.cfg \ | ||
37 | cfg/00003-fuse.cfg \ | ||
38 | cfg/00017-preempt_keystone.cfg \ | ||
39 | cfg/00034-cpusets.cfg \ | ||
40 | cfg/00046-sata.cfg \ | ||
41 | " | ||
42 | KERNEL_DEFCONFIG = "${WORKDIR}/defconfig" | ||
43 | require kernel-configure.inc | ||
44 | |||
45 | do_configure_prepend() { | ||
46 | |||
47 | configure_kernel ${KERNEL_DEFCONFIG} "${KERNEL_FEATURES}" | ||
48 | |||
49 | } | ||
50 | |||
diff --git a/recipes-kernel/linux/linux-proliant-m400.bb b/recipes-kernel/linux/linux-proliant-m400.bb new file mode 100644 index 0000000..8bada19 --- /dev/null +++ b/recipes-kernel/linux/linux-proliant-m400.bb | |||
@@ -0,0 +1,97 @@ | |||
1 | SECTION = "kernel" | ||
2 | DESCRIPTION = "Linux kernel for HP Moonshot m400" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" | ||
5 | |||
6 | COMPATIBLE_MACHINE = "proliant-m400" | ||
7 | |||
8 | inherit kernel siteinfo | ||
9 | require recipes-kernel/linux/linux-dtb.inc | ||
10 | |||
11 | MACHINE_KERNEL_PR_append = "b+gitr${SRCPV}" | ||
12 | PR = "${MACHINE_KERNEL_PR}" | ||
13 | |||
14 | KERNEL_DEVICETREE = "arch/${ARCH}/boot/dts/proliant-m400.dts" | ||
15 | |||
16 | SRCREV = "485659fab442882158cb3a007215e89529b987a3" | ||
17 | BRANCH = "Ubuntu-3.13.0-29.53" | ||
18 | SRC_URI = "git://kernel.ubuntu.com/dannf/trusty-xgene.git;protocol=git \ | ||
19 | file://hpconfig \ | ||
20 | file://defconfig \ | ||
21 | file://proliant-m400.dts \ | ||
22 | file://cfg/00027-lttng.cfg \ | ||
23 | file://cfg/00028-perf.cfg \ | ||
24 | file://cfg/00025-powertop.cfg \ | ||
25 | file://cfg/00004-systemtap.cfg \ | ||
26 | " | ||
27 | |||
28 | require kernel-configure.inc | ||
29 | KERNEL_FEATURES = "\ | ||
30 | cfg/00027-lttng.cfg \ | ||
31 | cfg/00028-perf.cfg \ | ||
32 | cfg/00025-powertop.cfg \ | ||
33 | cfg/00004-systemtap.cfg \ | ||
34 | " | ||
35 | |||
36 | DEPENDS += "libgcc u-boot-mkimage-native" | ||
37 | |||
38 | S = "${WORKDIR}/git" | ||
39 | |||
40 | # KERNEL_LOCALVERSION can be set to add a tag to the end of the | ||
41 | # kernel version string. such as the commit id | ||
42 | KERNEL_LOCALVERSION ?= "" | ||
43 | |||
44 | # Check the defconfig file and see if it points to an in kernel | ||
45 | # defconfig that should be used, or if it is a complete config file | ||
46 | |||
47 | addtask setup_defconfig before do_configure after do_patch | ||
48 | do_setup_defconfig() { | ||
49 | cp ${WORKDIR}/proliant-m400.dts ${S}/arch/arm64/boot/dts/proliant-m400.dts | ||
50 | |||
51 | # Always copy the defconfig file to .config to keep consistency | ||
52 | # between the case where there is a real config and the in kernel | ||
53 | # tree config | ||
54 | cp ${WORKDIR}/hpconfig ${S}/arch/arm64/configs/hpconfig_defconfig | ||
55 | cp ${WORKDIR}/defconfig ${S}/.config | ||
56 | |||
57 | configure_kernel "${S}/.config" "${KERNEL_FEATURES}" | ||
58 | } | ||
59 | |||
60 | # define our own do_configure that will: | ||
61 | # 1. Check the .config file and see if string use-kernel-config= is present | ||
62 | # 2. If the use-kernel-config string is present parse out the config to use | ||
63 | # and run make ${config} | ||
64 | # 3. else run yes '' | oe_runmake oldconfig like the default do_configure | ||
65 | # does | ||
66 | do_configure() { | ||
67 | echo ${KERNEL_LOCALVERSION} > ${B}/.scmversion | ||
68 | echo ${KERNEL_LOCALVERSION} > ${S}/.scmversion | ||
69 | config=`cat ${S}/.config | grep use-kernel-config | cut -d= -f2` | ||
70 | if [ "x${config}" != "x" ] | ||
71 | then | ||
72 | oe_runmake ${config} | ||
73 | else | ||
74 | yes '' | oe_runmake oldconfig | ||
75 | fi | ||
76 | } | ||
77 | |||
78 | |||
79 | # Force uImage build, no support for doing it in do_compile in arm64 arch | ||
80 | do_uboot_mkimage() { | ||
81 | local ENTRYPOINT=${UBOOT_ENTRYPOINT} | ||
82 | if test -n "${UBOOT_ENTRYSYMBOL}"; then | ||
83 | ENTRYPOINT=`${HOST_PREFIX}nm ${S}/vmlinux | \ | ||
84 | awk '$3=="${UBOOT_ENTRYSYMBOL}" {print $1}'` | ||
85 | fi | ||
86 | uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C none -a ${UBOOT_LOADADDRESS} -e ${ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d arch/${ARCH}/boot/Image arch/${ARCH}/boot/uImage | ||
87 | } | ||
88 | |||
89 | |||
90 | do_deploy_append() { | ||
91 | local readonly KERNEL_UIMAGE_BASE_NAME="uImage-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" | ||
92 | local readonly KERNEL_UIMAGE_SYMLINK_NAME="uImage-${MACHINE}" | ||
93 | |||
94 | install -m 0644 arch/${ARCH}/boot/uImage ${DEPLOYDIR}/${KERNEL_UIMAGE_BASE_NAME}.bin | ||
95 | ln -sf ${KERNEL_UIMAGE_BASE_NAME}.bin ${DEPLOYDIR}/${KERNEL_UIMAGE_SYMLINK_NAME}.bin | ||
96 | ln -sf ${KERNEL_UIMAGE_BASE_NAME}.bin ${DEPLOYDIR}/uImage | ||
97 | } | ||
diff --git a/recipes-kernel/linux/linux-proliant-m400/defconfig b/recipes-kernel/linux/linux-proliant-m400/defconfig new file mode 100644 index 0000000..5019084 --- /dev/null +++ b/recipes-kernel/linux/linux-proliant-m400/defconfig | |||
@@ -0,0 +1 @@ | |||
use-kernel-config=hpconfig_defconfig | |||
diff --git a/recipes-kernel/linux/linux-proliant-m400/hpconfig b/recipes-kernel/linux/linux-proliant-m400/hpconfig new file mode 100644 index 0000000..d12ddd9 --- /dev/null +++ b/recipes-kernel/linux/linux-proliant-m400/hpconfig | |||
@@ -0,0 +1,5548 @@ | |||
1 | # | ||
2 | # Automatically generated file; DO NOT EDIT. | ||
3 | # Linux/arm64 3.13.11.2 Kernel Configuration | ||
4 | # | ||
5 | CONFIG_ARM64=y | ||
6 | CONFIG_64BIT=y | ||
7 | CONFIG_ARCH_PHYS_ADDR_T_64BIT=y | ||
8 | CONFIG_MMU=y | ||
9 | CONFIG_NO_IOPORT=y | ||
10 | CONFIG_STACKTRACE_SUPPORT=y | ||
11 | CONFIG_LOCKDEP_SUPPORT=y | ||
12 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
13 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
14 | CONFIG_GENERIC_HWEIGHT=y | ||
15 | CONFIG_GENERIC_CSUM=y | ||
16 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
17 | CONFIG_ZONE_DMA32=y | ||
18 | CONFIG_ARCH_DMA_ADDR_T_64BIT=y | ||
19 | CONFIG_NEED_DMA_MAP_STATE=y | ||
20 | CONFIG_NEED_SG_DMA_LENGTH=y | ||
21 | CONFIG_SWIOTLB=y | ||
22 | CONFIG_IOMMU_HELPER=y | ||
23 | CONFIG_KERNEL_MODE_NEON=y | ||
24 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
25 | CONFIG_IRQ_WORK=y | ||
26 | CONFIG_BUILDTIME_EXTABLE_SORT=y | ||
27 | |||
28 | # | ||
29 | # General setup | ||
30 | # | ||
31 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
32 | CONFIG_CROSS_COMPILE="" | ||
33 | # CONFIG_COMPILE_TEST is not set | ||
34 | CONFIG_LOCALVERSION="" | ||
35 | # CONFIG_LOCALVERSION_AUTO is not set | ||
36 | CONFIG_DEFAULT_HOSTNAME="(none)" | ||
37 | CONFIG_VERSION_SIGNATURE="Ubuntu 3.13.0-29.53-generic 3.13.11.2" | ||
38 | CONFIG_SWAP=y | ||
39 | CONFIG_SYSVIPC=y | ||
40 | CONFIG_SYSVIPC_SYSCTL=y | ||
41 | CONFIG_POSIX_MQUEUE=y | ||
42 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
43 | CONFIG_FHANDLE=y | ||
44 | CONFIG_AUDIT=y | ||
45 | |||
46 | # | ||
47 | # IRQ subsystem | ||
48 | # | ||
49 | CONFIG_GENERIC_IRQ_PROBE=y | ||
50 | CONFIG_GENERIC_IRQ_SHOW=y | ||
51 | CONFIG_HARDIRQS_SW_RESEND=y | ||
52 | CONFIG_GENERIC_IRQ_CHIP=y | ||
53 | CONFIG_IRQ_DOMAIN=y | ||
54 | # CONFIG_IRQ_DOMAIN_DEBUG is not set | ||
55 | CONFIG_SPARSE_IRQ=y | ||
56 | CONFIG_GENERIC_TIME_VSYSCALL=y | ||
57 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
58 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
59 | |||
60 | # | ||
61 | # Timers subsystem | ||
62 | # | ||
63 | CONFIG_TICK_ONESHOT=y | ||
64 | CONFIG_NO_HZ_COMMON=y | ||
65 | # CONFIG_HZ_PERIODIC is not set | ||
66 | CONFIG_NO_HZ_IDLE=y | ||
67 | CONFIG_NO_HZ=y | ||
68 | CONFIG_HIGH_RES_TIMERS=y | ||
69 | |||
70 | # | ||
71 | # CPU/Task time and stats accounting | ||
72 | # | ||
73 | CONFIG_TICK_CPU_ACCOUNTING=y | ||
74 | CONFIG_BSD_PROCESS_ACCT=y | ||
75 | CONFIG_BSD_PROCESS_ACCT_V3=y | ||
76 | CONFIG_TASKSTATS=y | ||
77 | CONFIG_TASK_DELAY_ACCT=y | ||
78 | CONFIG_TASK_XACCT=y | ||
79 | CONFIG_TASK_IO_ACCOUNTING=y | ||
80 | |||
81 | # | ||
82 | # RCU Subsystem | ||
83 | # | ||
84 | CONFIG_TREE_RCU=y | ||
85 | # CONFIG_PREEMPT_RCU is not set | ||
86 | CONFIG_RCU_STALL_COMMON=y | ||
87 | CONFIG_RCU_FANOUT=64 | ||
88 | CONFIG_RCU_FANOUT_LEAF=16 | ||
89 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
90 | CONFIG_RCU_FAST_NO_HZ=y | ||
91 | # CONFIG_TREE_RCU_TRACE is not set | ||
92 | # CONFIG_RCU_NOCB_CPU is not set | ||
93 | # CONFIG_IKCONFIG is not set | ||
94 | CONFIG_LOG_BUF_SHIFT=14 | ||
95 | CONFIG_GENERIC_SCHED_CLOCK=y | ||
96 | CONFIG_CGROUPS=y | ||
97 | # CONFIG_CGROUP_DEBUG is not set | ||
98 | CONFIG_CGROUP_FREEZER=y | ||
99 | CONFIG_CGROUP_DEVICE=y | ||
100 | CONFIG_CPUSETS=y | ||
101 | CONFIG_PROC_PID_CPUSET=y | ||
102 | CONFIG_CGROUP_CPUACCT=y | ||
103 | CONFIG_RESOURCE_COUNTERS=y | ||
104 | CONFIG_MEMCG=y | ||
105 | CONFIG_MEMCG_SWAP=y | ||
106 | # CONFIG_MEMCG_SWAP_ENABLED is not set | ||
107 | CONFIG_MEMCG_KMEM=y | ||
108 | CONFIG_CGROUP_HUGETLB=y | ||
109 | CONFIG_CGROUP_PERF=y | ||
110 | CONFIG_CGROUP_SCHED=y | ||
111 | CONFIG_FAIR_GROUP_SCHED=y | ||
112 | CONFIG_CFS_BANDWIDTH=y | ||
113 | # CONFIG_RT_GROUP_SCHED is not set | ||
114 | CONFIG_BLK_CGROUP=y | ||
115 | # CONFIG_DEBUG_BLK_CGROUP is not set | ||
116 | CONFIG_CHECKPOINT_RESTORE=y | ||
117 | CONFIG_NAMESPACES=y | ||
118 | CONFIG_UTS_NS=y | ||
119 | CONFIG_IPC_NS=y | ||
120 | CONFIG_USER_NS=y | ||
121 | CONFIG_PID_NS=y | ||
122 | CONFIG_NET_NS=y | ||
123 | CONFIG_UIDGID_STRICT_TYPE_CHECKS=y | ||
124 | CONFIG_SCHED_AUTOGROUP=y | ||
125 | CONFIG_MM_OWNER=y | ||
126 | # CONFIG_SYSFS_DEPRECATED is not set | ||
127 | CONFIG_RELAY=y | ||
128 | CONFIG_BLK_DEV_INITRD=y | ||
129 | CONFIG_INITRAMFS_SOURCE="" | ||
130 | CONFIG_RD_GZIP=y | ||
131 | CONFIG_RD_BZIP2=y | ||
132 | CONFIG_RD_LZMA=y | ||
133 | CONFIG_RD_XZ=y | ||
134 | CONFIG_RD_LZO=y | ||
135 | CONFIG_RD_LZ4=y | ||
136 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
137 | CONFIG_SYSCTL=y | ||
138 | CONFIG_ANON_INODES=y | ||
139 | CONFIG_HAVE_UID16=y | ||
140 | CONFIG_SYSCTL_EXCEPTION_TRACE=y | ||
141 | CONFIG_EXPERT=y | ||
142 | CONFIG_UID16=y | ||
143 | CONFIG_SYSCTL_SYSCALL=y | ||
144 | CONFIG_KALLSYMS=y | ||
145 | CONFIG_KALLSYMS_ALL=y | ||
146 | CONFIG_PRINTK=y | ||
147 | CONFIG_BUG=y | ||
148 | CONFIG_ELF_CORE=y | ||
149 | CONFIG_BASE_FULL=y | ||
150 | CONFIG_FUTEX=y | ||
151 | CONFIG_EPOLL=y | ||
152 | CONFIG_SIGNALFD=y | ||
153 | CONFIG_TIMERFD=y | ||
154 | CONFIG_EVENTFD=y | ||
155 | CONFIG_SHMEM=y | ||
156 | CONFIG_AIO=y | ||
157 | CONFIG_PCI_QUIRKS=y | ||
158 | # CONFIG_EMBEDDED is not set | ||
159 | CONFIG_HAVE_PERF_EVENTS=y | ||
160 | CONFIG_PERF_USE_VMALLOC=y | ||
161 | |||
162 | # | ||
163 | # Kernel Performance Events And Counters | ||
164 | # | ||
165 | CONFIG_PERF_EVENTS=y | ||
166 | # CONFIG_DEBUG_PERF_USE_VMALLOC is not set | ||
167 | CONFIG_VM_EVENT_COUNTERS=y | ||
168 | CONFIG_SLUB_DEBUG=y | ||
169 | # CONFIG_COMPAT_BRK is not set | ||
170 | # CONFIG_SLAB is not set | ||
171 | CONFIG_SLUB=y | ||
172 | # CONFIG_SLOB is not set | ||
173 | CONFIG_SLUB_CPU_PARTIAL=y | ||
174 | CONFIG_PROFILING=y | ||
175 | CONFIG_TRACEPOINTS=y | ||
176 | CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y | ||
177 | CONFIG_HAVE_ARCH_TRACEHOOK=y | ||
178 | CONFIG_HAVE_DMA_ATTRS=y | ||
179 | CONFIG_GENERIC_SMP_IDLE_THREAD=y | ||
180 | CONFIG_HAVE_CLK=y | ||
181 | CONFIG_HAVE_DMA_API_DEBUG=y | ||
182 | CONFIG_HAVE_HW_BREAKPOINT=y | ||
183 | CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y | ||
184 | CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y | ||
185 | CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y | ||
186 | CONFIG_MODULES_USE_ELF_RELA=y | ||
187 | CONFIG_CLONE_BACKWARDS=y | ||
188 | CONFIG_OLD_SIGSUSPEND3=y | ||
189 | CONFIG_COMPAT_OLD_SIGACTION=y | ||
190 | |||
191 | # | ||
192 | # GCOV-based kernel profiling | ||
193 | # | ||
194 | # CONFIG_GCOV_KERNEL is not set | ||
195 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | ||
196 | CONFIG_SLABINFO=y | ||
197 | CONFIG_RT_MUTEXES=y | ||
198 | CONFIG_BASE_SMALL=0 | ||
199 | CONFIG_SYSTEM_TRUSTED_KEYRING=y | ||
200 | CONFIG_MODULES=y | ||
201 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
202 | CONFIG_MODULE_UNLOAD=y | ||
203 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
204 | CONFIG_MODVERSIONS=y | ||
205 | CONFIG_MODULE_SRCVERSION_ALL=y | ||
206 | CONFIG_MODULE_SIG=y | ||
207 | # CONFIG_MODULE_SIG_FORCE is not set | ||
208 | CONFIG_MODULE_SIG_ALL=y | ||
209 | # CONFIG_MODULE_SIG_SHA1 is not set | ||
210 | # CONFIG_MODULE_SIG_SHA224 is not set | ||
211 | # CONFIG_MODULE_SIG_SHA256 is not set | ||
212 | # CONFIG_MODULE_SIG_SHA384 is not set | ||
213 | CONFIG_MODULE_SIG_SHA512=y | ||
214 | CONFIG_MODULE_SIG_HASH="sha512" | ||
215 | CONFIG_STOP_MACHINE=y | ||
216 | CONFIG_BLOCK=y | ||
217 | CONFIG_BLK_DEV_BSG=y | ||
218 | CONFIG_BLK_DEV_BSGLIB=y | ||
219 | CONFIG_BLK_DEV_INTEGRITY=y | ||
220 | CONFIG_BLK_DEV_THROTTLING=y | ||
221 | CONFIG_BLK_CMDLINE_PARSER=y | ||
222 | |||
223 | # | ||
224 | # Partition Types | ||
225 | # | ||
226 | CONFIG_PARTITION_ADVANCED=y | ||
227 | CONFIG_ACORN_PARTITION=y | ||
228 | # CONFIG_ACORN_PARTITION_CUMANA is not set | ||
229 | # CONFIG_ACORN_PARTITION_EESOX is not set | ||
230 | CONFIG_ACORN_PARTITION_ICS=y | ||
231 | # CONFIG_ACORN_PARTITION_ADFS is not set | ||
232 | # CONFIG_ACORN_PARTITION_POWERTEC is not set | ||
233 | CONFIG_ACORN_PARTITION_RISCIX=y | ||
234 | CONFIG_AIX_PARTITION=y | ||
235 | CONFIG_OSF_PARTITION=y | ||
236 | CONFIG_AMIGA_PARTITION=y | ||
237 | CONFIG_ATARI_PARTITION=y | ||
238 | CONFIG_MAC_PARTITION=y | ||
239 | CONFIG_MSDOS_PARTITION=y | ||
240 | CONFIG_BSD_DISKLABEL=y | ||
241 | CONFIG_MINIX_SUBPARTITION=y | ||
242 | CONFIG_SOLARIS_X86_PARTITION=y | ||
243 | CONFIG_UNIXWARE_DISKLABEL=y | ||
244 | CONFIG_LDM_PARTITION=y | ||
245 | # CONFIG_LDM_DEBUG is not set | ||
246 | CONFIG_SGI_PARTITION=y | ||
247 | CONFIG_ULTRIX_PARTITION=y | ||
248 | CONFIG_SUN_PARTITION=y | ||
249 | CONFIG_KARMA_PARTITION=y | ||
250 | CONFIG_EFI_PARTITION=y | ||
251 | CONFIG_SYSV68_PARTITION=y | ||
252 | CONFIG_CMDLINE_PARTITION=y | ||
253 | CONFIG_BLOCK_COMPAT=y | ||
254 | |||
255 | # | ||
256 | # IO Schedulers | ||
257 | # | ||
258 | CONFIG_IOSCHED_NOOP=y | ||
259 | CONFIG_IOSCHED_DEADLINE=y | ||
260 | CONFIG_IOSCHED_CFQ=y | ||
261 | CONFIG_CFQ_GROUP_IOSCHED=y | ||
262 | CONFIG_DEFAULT_DEADLINE=y | ||
263 | # CONFIG_DEFAULT_CFQ is not set | ||
264 | # CONFIG_DEFAULT_NOOP is not set | ||
265 | CONFIG_DEFAULT_IOSCHED="deadline" | ||
266 | CONFIG_PREEMPT_NOTIFIERS=y | ||
267 | CONFIG_PADATA=y | ||
268 | CONFIG_ASN1=y | ||
269 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
270 | CONFIG_INLINE_READ_UNLOCK=y | ||
271 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
272 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
273 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
274 | CONFIG_MUTEX_SPIN_ON_OWNER=y | ||
275 | CONFIG_FREEZER=y | ||
276 | |||
277 | # | ||
278 | # Platform selection | ||
279 | # | ||
280 | CONFIG_ARCH_VEXPRESS=y | ||
281 | CONFIG_ARCH_XGENE=y | ||
282 | |||
283 | # | ||
284 | # Bus support | ||
285 | # | ||
286 | CONFIG_ARM_AMBA=y | ||
287 | CONFIG_PCI=y | ||
288 | CONFIG_PCI_DOMAINS=y | ||
289 | CONFIG_PCI_SYSCALL=y | ||
290 | CONFIG_PCI_MSI=y | ||
291 | # CONFIG_PCI_DEBUG is not set | ||
292 | CONFIG_PCI_REALLOC_ENABLE_AUTO=y | ||
293 | CONFIG_PCI_STUB=m | ||
294 | CONFIG_PCI_ATS=y | ||
295 | CONFIG_PCI_IOV=y | ||
296 | CONFIG_PCI_PRI=y | ||
297 | CONFIG_PCI_PASID=y | ||
298 | |||
299 | # | ||
300 | # PCI host controller drivers | ||
301 | # | ||
302 | CONFIG_PCI_XGENE_MSI=y | ||
303 | CONFIG_PCI_XGENE=y | ||
304 | CONFIG_PCIEPORTBUS=y | ||
305 | CONFIG_PCIEAER=y | ||
306 | # CONFIG_PCIE_ECRC is not set | ||
307 | # CONFIG_PCIEAER_INJECT is not set | ||
308 | CONFIG_PCIEASPM=y | ||
309 | # CONFIG_PCIEASPM_DEBUG is not set | ||
310 | CONFIG_PCIEASPM_DEFAULT=y | ||
311 | # CONFIG_PCIEASPM_POWERSAVE is not set | ||
312 | # CONFIG_PCIEASPM_PERFORMANCE is not set | ||
313 | |||
314 | # | ||
315 | # Kernel Features | ||
316 | # | ||
317 | # CONFIG_ARM64_64K_PAGES is not set | ||
318 | # CONFIG_CPU_BIG_ENDIAN is not set | ||
319 | CONFIG_SMP=y | ||
320 | CONFIG_NR_CPUS=8 | ||
321 | CONFIG_HOTPLUG_CPU=y | ||
322 | # CONFIG_PREEMPT_NONE is not set | ||
323 | CONFIG_PREEMPT_VOLUNTARY=y | ||
324 | # CONFIG_PREEMPT is not set | ||
325 | CONFIG_HZ=100 | ||
326 | CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y | ||
327 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | ||
328 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y | ||
329 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
330 | CONFIG_HAVE_ARCH_PFN_VALID=y | ||
331 | CONFIG_HW_PERF_EVENTS=y | ||
332 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
333 | CONFIG_ARCH_WANT_GENERAL_HUGETLB=y | ||
334 | CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y | ||
335 | CONFIG_SELECT_MEMORY_MODEL=y | ||
336 | CONFIG_SPARSEMEM_MANUAL=y | ||
337 | CONFIG_SPARSEMEM=y | ||
338 | CONFIG_HAVE_MEMORY_PRESENT=y | ||
339 | CONFIG_SPARSEMEM_EXTREME=y | ||
340 | CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y | ||
341 | CONFIG_SPARSEMEM_VMEMMAP=y | ||
342 | CONFIG_HAVE_MEMBLOCK=y | ||
343 | CONFIG_NO_BOOTMEM=y | ||
344 | CONFIG_MEMORY_ISOLATION=y | ||
345 | # CONFIG_HAVE_BOOTMEM_INFO_NODE is not set | ||
346 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
347 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
348 | CONFIG_BALLOON_COMPACTION=y | ||
349 | CONFIG_COMPACTION=y | ||
350 | CONFIG_MIGRATION=y | ||
351 | CONFIG_PHYS_ADDR_T_64BIT=y | ||
352 | CONFIG_ZONE_DMA_FLAG=0 | ||
353 | CONFIG_MMU_NOTIFIER=y | ||
354 | # CONFIG_KSM is not set | ||
355 | CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 | ||
356 | # CONFIG_TRANSPARENT_HUGEPAGE is not set | ||
357 | CONFIG_CROSS_MEMORY_ATTACH=y | ||
358 | CONFIG_CLEANCACHE=y | ||
359 | CONFIG_FRONTSWAP=y | ||
360 | CONFIG_CMA=y | ||
361 | # CONFIG_CMA_DEBUG is not set | ||
362 | CONFIG_ZBUD=y | ||
363 | CONFIG_ZSWAP=y | ||
364 | CONFIG_XEN_DOM0=y | ||
365 | CONFIG_XEN=y | ||
366 | CONFIG_FORCE_MAX_ZONEORDER=11 | ||
367 | |||
368 | # | ||
369 | # Boot options | ||
370 | # | ||
371 | CONFIG_CMDLINE="console=ttyAMA0" | ||
372 | # CONFIG_CMDLINE_FORCE is not set | ||
373 | |||
374 | # | ||
375 | # Userspace binary formats | ||
376 | # | ||
377 | CONFIG_BINFMT_ELF=y | ||
378 | CONFIG_COMPAT_BINFMT_ELF=y | ||
379 | CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y | ||
380 | CONFIG_BINFMT_SCRIPT=y | ||
381 | # CONFIG_HAVE_AOUT is not set | ||
382 | CONFIG_BINFMT_MISC=m | ||
383 | CONFIG_COREDUMP=y | ||
384 | CONFIG_COMPAT=y | ||
385 | CONFIG_SYSVIPC_COMPAT=y | ||
386 | CONFIG_NET=y | ||
387 | CONFIG_COMPAT_NETLINK_MESSAGES=y | ||
388 | |||
389 | # | ||
390 | # Networking options | ||
391 | # | ||
392 | CONFIG_PACKET=y | ||
393 | CONFIG_PACKET_DIAG=m | ||
394 | CONFIG_UNIX=y | ||
395 | CONFIG_UNIX_DIAG=m | ||
396 | CONFIG_XFRM=y | ||
397 | CONFIG_XFRM_ALGO=m | ||
398 | CONFIG_XFRM_USER=m | ||
399 | # CONFIG_XFRM_SUB_POLICY is not set | ||
400 | # CONFIG_XFRM_MIGRATE is not set | ||
401 | # CONFIG_XFRM_STATISTICS is not set | ||
402 | CONFIG_XFRM_IPCOMP=m | ||
403 | CONFIG_NET_KEY=m | ||
404 | # CONFIG_NET_KEY_MIGRATE is not set | ||
405 | CONFIG_INET=y | ||
406 | CONFIG_IP_MULTICAST=y | ||
407 | CONFIG_IP_ADVANCED_ROUTER=y | ||
408 | CONFIG_IP_FIB_TRIE_STATS=y | ||
409 | CONFIG_IP_MULTIPLE_TABLES=y | ||
410 | CONFIG_IP_ROUTE_MULTIPATH=y | ||
411 | CONFIG_IP_ROUTE_VERBOSE=y | ||
412 | CONFIG_IP_ROUTE_CLASSID=y | ||
413 | CONFIG_IP_PNP=y | ||
414 | CONFIG_IP_PNP_DHCP=y | ||
415 | CONFIG_IP_PNP_BOOTP=y | ||
416 | CONFIG_IP_PNP_RARP=y | ||
417 | CONFIG_NET_IPIP=m | ||
418 | CONFIG_NET_IPGRE_DEMUX=m | ||
419 | CONFIG_NET_IP_TUNNEL=m | ||
420 | CONFIG_NET_IPGRE=m | ||
421 | CONFIG_NET_IPGRE_BROADCAST=y | ||
422 | CONFIG_IP_MROUTE=y | ||
423 | # CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set | ||
424 | CONFIG_IP_PIMSM_V1=y | ||
425 | CONFIG_IP_PIMSM_V2=y | ||
426 | CONFIG_SYN_COOKIES=y | ||
427 | CONFIG_NET_IPVTI=m | ||
428 | CONFIG_INET_AH=m | ||
429 | CONFIG_INET_ESP=m | ||
430 | CONFIG_INET_IPCOMP=m | ||
431 | CONFIG_INET_XFRM_TUNNEL=m | ||
432 | CONFIG_INET_TUNNEL=m | ||
433 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
434 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
435 | CONFIG_INET_XFRM_MODE_BEET=m | ||
436 | CONFIG_INET_LRO=y | ||
437 | CONFIG_INET_DIAG=m | ||
438 | CONFIG_INET_TCP_DIAG=m | ||
439 | CONFIG_INET_UDP_DIAG=m | ||
440 | CONFIG_TCP_CONG_ADVANCED=y | ||
441 | CONFIG_TCP_CONG_BIC=m | ||
442 | CONFIG_TCP_CONG_CUBIC=y | ||
443 | CONFIG_TCP_CONG_WESTWOOD=m | ||
444 | CONFIG_TCP_CONG_HTCP=m | ||
445 | CONFIG_TCP_CONG_HSTCP=m | ||
446 | CONFIG_TCP_CONG_HYBLA=m | ||
447 | CONFIG_TCP_CONG_VEGAS=m | ||
448 | CONFIG_TCP_CONG_SCALABLE=m | ||
449 | CONFIG_TCP_CONG_LP=m | ||
450 | CONFIG_TCP_CONG_VENO=m | ||
451 | CONFIG_TCP_CONG_YEAH=m | ||
452 | CONFIG_TCP_CONG_ILLINOIS=m | ||
453 | CONFIG_DEFAULT_CUBIC=y | ||
454 | # CONFIG_DEFAULT_RENO is not set | ||
455 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
456 | CONFIG_TCP_MD5SIG=y | ||
457 | CONFIG_IPV6=y | ||
458 | CONFIG_IPV6_ROUTER_PREF=y | ||
459 | CONFIG_IPV6_ROUTE_INFO=y | ||
460 | # CONFIG_IPV6_OPTIMISTIC_DAD is not set | ||
461 | CONFIG_INET6_AH=m | ||
462 | CONFIG_INET6_ESP=m | ||
463 | CONFIG_INET6_IPCOMP=m | ||
464 | CONFIG_IPV6_MIP6=m | ||
465 | CONFIG_INET6_XFRM_TUNNEL=m | ||
466 | CONFIG_INET6_TUNNEL=m | ||
467 | CONFIG_INET6_XFRM_MODE_TRANSPORT=m | ||
468 | CONFIG_INET6_XFRM_MODE_TUNNEL=m | ||
469 | CONFIG_INET6_XFRM_MODE_BEET=m | ||
470 | CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m | ||
471 | CONFIG_IPV6_VTI=m | ||
472 | CONFIG_IPV6_SIT=m | ||
473 | CONFIG_IPV6_SIT_6RD=y | ||
474 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
475 | CONFIG_IPV6_TUNNEL=m | ||
476 | CONFIG_IPV6_GRE=m | ||
477 | CONFIG_IPV6_MULTIPLE_TABLES=y | ||
478 | CONFIG_IPV6_SUBTREES=y | ||
479 | CONFIG_IPV6_MROUTE=y | ||
480 | CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y | ||
481 | CONFIG_IPV6_PIMSM_V2=y | ||
482 | CONFIG_NETLABEL=y | ||
483 | CONFIG_NETWORK_SECMARK=y | ||
484 | # CONFIG_NETWORK_PHY_TIMESTAMPING is not set | ||
485 | CONFIG_NETFILTER=y | ||
486 | # CONFIG_NETFILTER_DEBUG is not set | ||
487 | CONFIG_NETFILTER_ADVANCED=y | ||
488 | CONFIG_BRIDGE_NETFILTER=y | ||
489 | |||
490 | # | ||
491 | # Core Netfilter Configuration | ||
492 | # | ||
493 | CONFIG_NETFILTER_NETLINK=m | ||
494 | CONFIG_NETFILTER_NETLINK_ACCT=m | ||
495 | CONFIG_NETFILTER_NETLINK_QUEUE=m | ||
496 | CONFIG_NETFILTER_NETLINK_LOG=m | ||
497 | CONFIG_NF_CONNTRACK=m | ||
498 | CONFIG_NF_CONNTRACK_MARK=y | ||
499 | CONFIG_NF_CONNTRACK_SECMARK=y | ||
500 | CONFIG_NF_CONNTRACK_ZONES=y | ||
501 | # CONFIG_NF_CONNTRACK_PROCFS is not set | ||
502 | CONFIG_NF_CONNTRACK_EVENTS=y | ||
503 | CONFIG_NF_CONNTRACK_TIMEOUT=y | ||
504 | CONFIG_NF_CONNTRACK_TIMESTAMP=y | ||
505 | CONFIG_NF_CONNTRACK_LABELS=y | ||
506 | CONFIG_NF_CT_PROTO_DCCP=m | ||
507 | CONFIG_NF_CT_PROTO_GRE=m | ||
508 | CONFIG_NF_CT_PROTO_SCTP=m | ||
509 | CONFIG_NF_CT_PROTO_UDPLITE=m | ||
510 | CONFIG_NF_CONNTRACK_AMANDA=m | ||
511 | CONFIG_NF_CONNTRACK_FTP=m | ||
512 | CONFIG_NF_CONNTRACK_H323=m | ||
513 | CONFIG_NF_CONNTRACK_IRC=m | ||
514 | CONFIG_NF_CONNTRACK_BROADCAST=m | ||
515 | CONFIG_NF_CONNTRACK_NETBIOS_NS=m | ||
516 | CONFIG_NF_CONNTRACK_SNMP=m | ||
517 | CONFIG_NF_CONNTRACK_PPTP=m | ||
518 | CONFIG_NF_CONNTRACK_SANE=m | ||
519 | CONFIG_NF_CONNTRACK_SIP=m | ||
520 | CONFIG_NF_CONNTRACK_TFTP=m | ||
521 | CONFIG_NF_CT_NETLINK=m | ||
522 | CONFIG_NF_CT_NETLINK_TIMEOUT=m | ||
523 | CONFIG_NF_CT_NETLINK_HELPER=m | ||
524 | CONFIG_NETFILTER_NETLINK_QUEUE_CT=y | ||
525 | CONFIG_NF_NAT=m | ||
526 | CONFIG_NF_NAT_NEEDED=y | ||
527 | CONFIG_NF_NAT_PROTO_DCCP=m | ||
528 | CONFIG_NF_NAT_PROTO_UDPLITE=m | ||
529 | CONFIG_NF_NAT_PROTO_SCTP=m | ||
530 | CONFIG_NF_NAT_AMANDA=m | ||
531 | CONFIG_NF_NAT_FTP=m | ||
532 | CONFIG_NF_NAT_IRC=m | ||
533 | CONFIG_NF_NAT_SIP=m | ||
534 | CONFIG_NF_NAT_TFTP=m | ||
535 | CONFIG_NETFILTER_SYNPROXY=m | ||
536 | CONFIG_NF_TABLES=m | ||
537 | CONFIG_NFT_EXTHDR=m | ||
538 | CONFIG_NFT_META=m | ||
539 | CONFIG_NFT_CT=m | ||
540 | CONFIG_NFT_RBTREE=m | ||
541 | CONFIG_NFT_HASH=m | ||
542 | CONFIG_NFT_COUNTER=m | ||
543 | CONFIG_NFT_LOG=m | ||
544 | CONFIG_NFT_LIMIT=m | ||
545 | CONFIG_NFT_NAT=m | ||
546 | CONFIG_NFT_COMPAT=m | ||
547 | CONFIG_NETFILTER_XTABLES=m | ||
548 | |||
549 | # | ||
550 | # Xtables combined modules | ||
551 | # | ||
552 | CONFIG_NETFILTER_XT_MARK=m | ||
553 | CONFIG_NETFILTER_XT_CONNMARK=m | ||
554 | CONFIG_NETFILTER_XT_SET=m | ||
555 | |||
556 | # | ||
557 | # Xtables targets | ||
558 | # | ||
559 | CONFIG_NETFILTER_XT_TARGET_AUDIT=m | ||
560 | CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m | ||
561 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m | ||
562 | CONFIG_NETFILTER_XT_TARGET_CONNMARK=m | ||
563 | CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m | ||
564 | CONFIG_NETFILTER_XT_TARGET_CT=m | ||
565 | CONFIG_NETFILTER_XT_TARGET_DSCP=m | ||
566 | CONFIG_NETFILTER_XT_TARGET_HL=m | ||
567 | CONFIG_NETFILTER_XT_TARGET_HMARK=m | ||
568 | CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m | ||
569 | CONFIG_NETFILTER_XT_TARGET_LED=m | ||
570 | CONFIG_NETFILTER_XT_TARGET_LOG=m | ||
571 | CONFIG_NETFILTER_XT_TARGET_MARK=m | ||
572 | CONFIG_NETFILTER_XT_TARGET_NETMAP=m | ||
573 | CONFIG_NETFILTER_XT_TARGET_NFLOG=m | ||
574 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | ||
575 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m | ||
576 | CONFIG_NETFILTER_XT_TARGET_RATEEST=m | ||
577 | CONFIG_NETFILTER_XT_TARGET_REDIRECT=m | ||
578 | CONFIG_NETFILTER_XT_TARGET_TEE=m | ||
579 | CONFIG_NETFILTER_XT_TARGET_TPROXY=m | ||
580 | CONFIG_NETFILTER_XT_TARGET_TRACE=m | ||
581 | CONFIG_NETFILTER_XT_TARGET_SECMARK=m | ||
582 | CONFIG_NETFILTER_XT_TARGET_TCPMSS=m | ||
583 | CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m | ||
584 | |||
585 | # | ||
586 | # Xtables matches | ||
587 | # | ||
588 | CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m | ||
589 | CONFIG_NETFILTER_XT_MATCH_BPF=m | ||
590 | CONFIG_NETFILTER_XT_MATCH_CLUSTER=m | ||
591 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | ||
592 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | ||
593 | CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m | ||
594 | CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m | ||
595 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | ||
596 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | ||
597 | CONFIG_NETFILTER_XT_MATCH_CPU=m | ||
598 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | ||
599 | CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m | ||
600 | CONFIG_NETFILTER_XT_MATCH_DSCP=m | ||
601 | CONFIG_NETFILTER_XT_MATCH_ECN=m | ||
602 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
603 | CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m | ||
604 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | ||
605 | CONFIG_NETFILTER_XT_MATCH_HL=m | ||
606 | CONFIG_NETFILTER_XT_MATCH_IPRANGE=m | ||
607 | CONFIG_NETFILTER_XT_MATCH_IPVS=m | ||
608 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | ||
609 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | ||
610 | CONFIG_NETFILTER_XT_MATCH_MAC=m | ||
611 | CONFIG_NETFILTER_XT_MATCH_MARK=m | ||
612 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
613 | CONFIG_NETFILTER_XT_MATCH_NFACCT=m | ||
614 | CONFIG_NETFILTER_XT_MATCH_OSF=m | ||
615 | CONFIG_NETFILTER_XT_MATCH_OWNER=m | ||
616 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
617 | CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m | ||
618 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | ||
619 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
620 | CONFIG_NETFILTER_XT_MATCH_RATEEST=m | ||
621 | CONFIG_NETFILTER_XT_MATCH_REALM=m | ||
622 | CONFIG_NETFILTER_XT_MATCH_RECENT=m | ||
623 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | ||
624 | CONFIG_NETFILTER_XT_MATCH_SOCKET=m | ||
625 | CONFIG_NETFILTER_XT_MATCH_STATE=m | ||
626 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
627 | CONFIG_NETFILTER_XT_MATCH_STRING=m | ||
628 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | ||
629 | CONFIG_NETFILTER_XT_MATCH_TIME=m | ||
630 | CONFIG_NETFILTER_XT_MATCH_U32=m | ||
631 | CONFIG_IP_SET=m | ||
632 | CONFIG_IP_SET_MAX=256 | ||
633 | CONFIG_IP_SET_BITMAP_IP=m | ||
634 | CONFIG_IP_SET_BITMAP_IPMAC=m | ||
635 | CONFIG_IP_SET_BITMAP_PORT=m | ||
636 | CONFIG_IP_SET_HASH_IP=m | ||
637 | CONFIG_IP_SET_HASH_IPPORT=m | ||
638 | CONFIG_IP_SET_HASH_IPPORTIP=m | ||
639 | CONFIG_IP_SET_HASH_IPPORTNET=m | ||
640 | CONFIG_IP_SET_HASH_NETPORTNET=m | ||
641 | CONFIG_IP_SET_HASH_NET=m | ||
642 | CONFIG_IP_SET_HASH_NETNET=m | ||
643 | CONFIG_IP_SET_HASH_NETPORT=m | ||
644 | CONFIG_IP_SET_HASH_NETIFACE=m | ||
645 | CONFIG_IP_SET_LIST_SET=m | ||
646 | CONFIG_IP_VS=m | ||
647 | # CONFIG_IP_VS_IPV6 is not set | ||
648 | # CONFIG_IP_VS_DEBUG is not set | ||
649 | CONFIG_IP_VS_TAB_BITS=12 | ||
650 | |||
651 | # | ||
652 | # IPVS transport protocol load balancing support | ||
653 | # | ||
654 | CONFIG_IP_VS_PROTO_TCP=y | ||
655 | CONFIG_IP_VS_PROTO_UDP=y | ||
656 | CONFIG_IP_VS_PROTO_AH_ESP=y | ||
657 | CONFIG_IP_VS_PROTO_ESP=y | ||
658 | CONFIG_IP_VS_PROTO_AH=y | ||
659 | CONFIG_IP_VS_PROTO_SCTP=y | ||
660 | |||
661 | # | ||
662 | # IPVS scheduler | ||
663 | # | ||
664 | CONFIG_IP_VS_RR=m | ||
665 | CONFIG_IP_VS_WRR=m | ||
666 | CONFIG_IP_VS_LC=m | ||
667 | CONFIG_IP_VS_WLC=m | ||
668 | CONFIG_IP_VS_LBLC=m | ||
669 | CONFIG_IP_VS_LBLCR=m | ||
670 | CONFIG_IP_VS_DH=m | ||
671 | CONFIG_IP_VS_SH=m | ||
672 | CONFIG_IP_VS_SED=m | ||
673 | CONFIG_IP_VS_NQ=m | ||
674 | |||
675 | # | ||
676 | # IPVS SH scheduler | ||
677 | # | ||
678 | CONFIG_IP_VS_SH_TAB_BITS=8 | ||
679 | |||
680 | # | ||
681 | # IPVS application helper | ||
682 | # | ||
683 | CONFIG_IP_VS_FTP=m | ||
684 | CONFIG_IP_VS_NFCT=y | ||
685 | CONFIG_IP_VS_PE_SIP=m | ||
686 | |||
687 | # | ||
688 | # IP: Netfilter Configuration | ||
689 | # | ||
690 | CONFIG_NF_DEFRAG_IPV4=m | ||
691 | CONFIG_NF_CONNTRACK_IPV4=m | ||
692 | CONFIG_NF_TABLES_IPV4=m | ||
693 | CONFIG_NFT_REJECT_IPV4=m | ||
694 | CONFIG_NFT_CHAIN_ROUTE_IPV4=m | ||
695 | CONFIG_NFT_CHAIN_NAT_IPV4=m | ||
696 | CONFIG_NF_TABLES_ARP=m | ||
697 | CONFIG_IP_NF_IPTABLES=m | ||
698 | CONFIG_IP_NF_MATCH_AH=m | ||
699 | CONFIG_IP_NF_MATCH_ECN=m | ||
700 | CONFIG_IP_NF_MATCH_RPFILTER=m | ||
701 | CONFIG_IP_NF_MATCH_TTL=m | ||
702 | CONFIG_IP_NF_FILTER=m | ||
703 | CONFIG_IP_NF_TARGET_REJECT=m | ||
704 | CONFIG_IP_NF_TARGET_SYNPROXY=m | ||
705 | CONFIG_IP_NF_TARGET_ULOG=m | ||
706 | CONFIG_NF_NAT_IPV4=m | ||
707 | CONFIG_IP_NF_TARGET_MASQUERADE=m | ||
708 | CONFIG_IP_NF_TARGET_NETMAP=m | ||
709 | CONFIG_IP_NF_TARGET_REDIRECT=m | ||
710 | CONFIG_NF_NAT_SNMP_BASIC=m | ||
711 | CONFIG_NF_NAT_PROTO_GRE=m | ||
712 | CONFIG_NF_NAT_PPTP=m | ||
713 | CONFIG_NF_NAT_H323=m | ||
714 | CONFIG_IP_NF_MANGLE=m | ||
715 | CONFIG_IP_NF_TARGET_CLUSTERIP=m | ||
716 | CONFIG_IP_NF_TARGET_ECN=m | ||
717 | CONFIG_IP_NF_TARGET_TTL=m | ||
718 | CONFIG_IP_NF_RAW=m | ||
719 | CONFIG_IP_NF_SECURITY=m | ||
720 | CONFIG_IP_NF_ARPTABLES=m | ||
721 | CONFIG_IP_NF_ARPFILTER=m | ||
722 | CONFIG_IP_NF_ARP_MANGLE=m | ||
723 | |||
724 | # | ||
725 | # IPv6: Netfilter Configuration | ||
726 | # | ||
727 | CONFIG_NF_DEFRAG_IPV6=m | ||
728 | CONFIG_NF_CONNTRACK_IPV6=m | ||
729 | CONFIG_NF_TABLES_IPV6=m | ||
730 | CONFIG_NFT_CHAIN_ROUTE_IPV6=m | ||
731 | CONFIG_NFT_CHAIN_NAT_IPV6=m | ||
732 | CONFIG_IP6_NF_IPTABLES=m | ||
733 | CONFIG_IP6_NF_MATCH_AH=m | ||
734 | CONFIG_IP6_NF_MATCH_EUI64=m | ||
735 | CONFIG_IP6_NF_MATCH_FRAG=m | ||
736 | CONFIG_IP6_NF_MATCH_OPTS=m | ||
737 | CONFIG_IP6_NF_MATCH_HL=m | ||
738 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | ||
739 | CONFIG_IP6_NF_MATCH_MH=m | ||
740 | CONFIG_IP6_NF_MATCH_RPFILTER=m | ||
741 | CONFIG_IP6_NF_MATCH_RT=m | ||
742 | CONFIG_IP6_NF_TARGET_HL=m | ||
743 | CONFIG_IP6_NF_FILTER=m | ||
744 | CONFIG_IP6_NF_TARGET_REJECT=m | ||
745 | CONFIG_IP6_NF_TARGET_SYNPROXY=m | ||
746 | CONFIG_IP6_NF_MANGLE=m | ||
747 | CONFIG_IP6_NF_RAW=m | ||
748 | CONFIG_IP6_NF_SECURITY=m | ||
749 | CONFIG_NF_NAT_IPV6=m | ||
750 | CONFIG_IP6_NF_TARGET_MASQUERADE=m | ||
751 | CONFIG_IP6_NF_TARGET_NPT=m | ||
752 | |||
753 | # | ||
754 | # DECnet: Netfilter Configuration | ||
755 | # | ||
756 | CONFIG_DECNET_NF_GRABULATOR=m | ||
757 | CONFIG_NF_TABLES_BRIDGE=m | ||
758 | CONFIG_BRIDGE_NF_EBTABLES=m | ||
759 | CONFIG_BRIDGE_EBT_BROUTE=m | ||
760 | CONFIG_BRIDGE_EBT_T_FILTER=m | ||
761 | CONFIG_BRIDGE_EBT_T_NAT=m | ||
762 | CONFIG_BRIDGE_EBT_802_3=m | ||
763 | CONFIG_BRIDGE_EBT_AMONG=m | ||
764 | CONFIG_BRIDGE_EBT_ARP=m | ||
765 | CONFIG_BRIDGE_EBT_IP=m | ||
766 | CONFIG_BRIDGE_EBT_IP6=m | ||
767 | CONFIG_BRIDGE_EBT_LIMIT=m | ||
768 | CONFIG_BRIDGE_EBT_MARK=m | ||
769 | CONFIG_BRIDGE_EBT_PKTTYPE=m | ||
770 | CONFIG_BRIDGE_EBT_STP=m | ||
771 | CONFIG_BRIDGE_EBT_VLAN=m | ||
772 | CONFIG_BRIDGE_EBT_ARPREPLY=m | ||
773 | CONFIG_BRIDGE_EBT_DNAT=m | ||
774 | CONFIG_BRIDGE_EBT_MARK_T=m | ||
775 | CONFIG_BRIDGE_EBT_REDIRECT=m | ||
776 | CONFIG_BRIDGE_EBT_SNAT=m | ||
777 | CONFIG_BRIDGE_EBT_LOG=m | ||
778 | # CONFIG_BRIDGE_EBT_ULOG is not set | ||
779 | CONFIG_BRIDGE_EBT_NFLOG=m | ||
780 | CONFIG_IP_DCCP=m | ||
781 | CONFIG_INET_DCCP_DIAG=m | ||
782 | |||
783 | # | ||
784 | # DCCP CCIDs Configuration | ||
785 | # | ||
786 | # CONFIG_IP_DCCP_CCID2_DEBUG is not set | ||
787 | # CONFIG_IP_DCCP_CCID3 is not set | ||
788 | |||
789 | # | ||
790 | # DCCP Kernel Hacking | ||
791 | # | ||
792 | # CONFIG_IP_DCCP_DEBUG is not set | ||
793 | CONFIG_IP_SCTP=m | ||
794 | # CONFIG_SCTP_DBG_OBJCNT is not set | ||
795 | # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set | ||
796 | CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y | ||
797 | # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set | ||
798 | CONFIG_SCTP_COOKIE_HMAC_MD5=y | ||
799 | CONFIG_SCTP_COOKIE_HMAC_SHA1=y | ||
800 | CONFIG_RDS=m | ||
801 | CONFIG_RDS_RDMA=m | ||
802 | CONFIG_RDS_TCP=m | ||
803 | # CONFIG_RDS_DEBUG is not set | ||
804 | CONFIG_TIPC=m | ||
805 | CONFIG_TIPC_PORTS=8191 | ||
806 | CONFIG_TIPC_MEDIA_IB=y | ||
807 | CONFIG_ATM=m | ||
808 | CONFIG_ATM_CLIP=m | ||
809 | # CONFIG_ATM_CLIP_NO_ICMP is not set | ||
810 | CONFIG_ATM_LANE=m | ||
811 | CONFIG_ATM_MPOA=m | ||
812 | CONFIG_ATM_BR2684=m | ||
813 | # CONFIG_ATM_BR2684_IPFILTER is not set | ||
814 | CONFIG_L2TP=m | ||
815 | CONFIG_L2TP_DEBUGFS=m | ||
816 | CONFIG_L2TP_V3=y | ||
817 | CONFIG_L2TP_IP=m | ||
818 | CONFIG_L2TP_ETH=m | ||
819 | CONFIG_STP=m | ||
820 | CONFIG_GARP=m | ||
821 | CONFIG_MRP=m | ||
822 | CONFIG_BRIDGE=m | ||
823 | CONFIG_BRIDGE_IGMP_SNOOPING=y | ||
824 | CONFIG_BRIDGE_VLAN_FILTERING=y | ||
825 | CONFIG_HAVE_NET_DSA=y | ||
826 | CONFIG_NET_DSA=m | ||
827 | CONFIG_NET_DSA_TAG_DSA=y | ||
828 | CONFIG_NET_DSA_TAG_EDSA=y | ||
829 | CONFIG_NET_DSA_TAG_TRAILER=y | ||
830 | CONFIG_VLAN_8021Q=m | ||
831 | CONFIG_VLAN_8021Q_GVRP=y | ||
832 | CONFIG_VLAN_8021Q_MVRP=y | ||
833 | CONFIG_DECNET=m | ||
834 | # CONFIG_DECNET_ROUTER is not set | ||
835 | CONFIG_LLC=m | ||
836 | CONFIG_LLC2=m | ||
837 | CONFIG_IPX=m | ||
838 | # CONFIG_IPX_INTERN is not set | ||
839 | CONFIG_ATALK=m | ||
840 | CONFIG_DEV_APPLETALK=m | ||
841 | CONFIG_IPDDP=m | ||
842 | CONFIG_IPDDP_ENCAP=y | ||
843 | CONFIG_X25=m | ||
844 | CONFIG_LAPB=m | ||
845 | CONFIG_PHONET=m | ||
846 | CONFIG_IEEE802154=m | ||
847 | CONFIG_IEEE802154_6LOWPAN=m | ||
848 | CONFIG_MAC802154=m | ||
849 | CONFIG_NET_SCHED=y | ||
850 | |||
851 | # | ||
852 | # Queueing/Scheduling | ||
853 | # | ||
854 | CONFIG_NET_SCH_CBQ=m | ||
855 | CONFIG_NET_SCH_HTB=m | ||
856 | CONFIG_NET_SCH_HFSC=m | ||
857 | CONFIG_NET_SCH_ATM=m | ||
858 | CONFIG_NET_SCH_PRIO=m | ||
859 | CONFIG_NET_SCH_MULTIQ=m | ||
860 | CONFIG_NET_SCH_RED=m | ||
861 | CONFIG_NET_SCH_SFB=m | ||
862 | CONFIG_NET_SCH_SFQ=m | ||
863 | CONFIG_NET_SCH_TEQL=m | ||
864 | CONFIG_NET_SCH_TBF=m | ||
865 | CONFIG_NET_SCH_GRED=m | ||
866 | CONFIG_NET_SCH_DSMARK=m | ||
867 | CONFIG_NET_SCH_NETEM=m | ||
868 | CONFIG_NET_SCH_DRR=m | ||
869 | CONFIG_NET_SCH_MQPRIO=m | ||
870 | CONFIG_NET_SCH_CHOKE=m | ||
871 | CONFIG_NET_SCH_QFQ=m | ||
872 | CONFIG_NET_SCH_CODEL=m | ||
873 | CONFIG_NET_SCH_FQ_CODEL=m | ||
874 | CONFIG_NET_SCH_FQ=m | ||
875 | CONFIG_NET_SCH_INGRESS=m | ||
876 | CONFIG_NET_SCH_PLUG=m | ||
877 | |||
878 | # | ||
879 | # Classification | ||
880 | # | ||
881 | CONFIG_NET_CLS=y | ||
882 | CONFIG_NET_CLS_BASIC=m | ||
883 | CONFIG_NET_CLS_TCINDEX=m | ||
884 | CONFIG_NET_CLS_ROUTE4=m | ||
885 | CONFIG_NET_CLS_FW=m | ||
886 | CONFIG_NET_CLS_U32=m | ||
887 | # CONFIG_CLS_U32_PERF is not set | ||
888 | CONFIG_CLS_U32_MARK=y | ||
889 | CONFIG_NET_CLS_RSVP=m | ||
890 | CONFIG_NET_CLS_RSVP6=m | ||
891 | CONFIG_NET_CLS_FLOW=m | ||
892 | CONFIG_NET_CLS_CGROUP=m | ||
893 | CONFIG_NET_CLS_BPF=m | ||
894 | CONFIG_NET_EMATCH=y | ||
895 | CONFIG_NET_EMATCH_STACK=32 | ||
896 | CONFIG_NET_EMATCH_CMP=m | ||
897 | CONFIG_NET_EMATCH_NBYTE=m | ||
898 | CONFIG_NET_EMATCH_U32=m | ||
899 | CONFIG_NET_EMATCH_META=m | ||
900 | CONFIG_NET_EMATCH_TEXT=m | ||
901 | CONFIG_NET_EMATCH_CANID=m | ||
902 | CONFIG_NET_EMATCH_IPSET=m | ||
903 | CONFIG_NET_CLS_ACT=y | ||
904 | CONFIG_NET_ACT_POLICE=m | ||
905 | CONFIG_NET_ACT_GACT=m | ||
906 | CONFIG_GACT_PROB=y | ||
907 | CONFIG_NET_ACT_MIRRED=m | ||
908 | CONFIG_NET_ACT_IPT=m | ||
909 | CONFIG_NET_ACT_NAT=m | ||
910 | CONFIG_NET_ACT_PEDIT=m | ||
911 | CONFIG_NET_ACT_SIMP=m | ||
912 | CONFIG_NET_ACT_SKBEDIT=m | ||
913 | CONFIG_NET_ACT_CSUM=m | ||
914 | # CONFIG_NET_CLS_IND is not set | ||
915 | CONFIG_NET_SCH_FIFO=y | ||
916 | CONFIG_DCB=y | ||
917 | CONFIG_DNS_RESOLVER=y | ||
918 | CONFIG_BATMAN_ADV=m | ||
919 | CONFIG_BATMAN_ADV_BLA=y | ||
920 | CONFIG_BATMAN_ADV_DAT=y | ||
921 | CONFIG_BATMAN_ADV_NC=y | ||
922 | # CONFIG_BATMAN_ADV_DEBUG is not set | ||
923 | CONFIG_OPENVSWITCH=m | ||
924 | CONFIG_OPENVSWITCH_GRE=y | ||
925 | CONFIG_OPENVSWITCH_VXLAN=y | ||
926 | CONFIG_VSOCKETS=m | ||
927 | CONFIG_NETLINK_MMAP=y | ||
928 | CONFIG_NETLINK_DIAG=m | ||
929 | CONFIG_NET_MPLS_GSO=m | ||
930 | CONFIG_HSR=m | ||
931 | CONFIG_RPS=y | ||
932 | CONFIG_RFS_ACCEL=y | ||
933 | CONFIG_XPS=y | ||
934 | CONFIG_NETPRIO_CGROUP=m | ||
935 | CONFIG_NET_RX_BUSY_POLL=y | ||
936 | CONFIG_BQL=y | ||
937 | CONFIG_NET_FLOW_LIMIT=y | ||
938 | |||
939 | # | ||
940 | # Network testing | ||
941 | # | ||
942 | CONFIG_NET_PKTGEN=m | ||
943 | # CONFIG_NET_DROP_MONITOR is not set | ||
944 | CONFIG_HAMRADIO=y | ||
945 | |||
946 | # | ||
947 | # Packet Radio protocols | ||
948 | # | ||
949 | CONFIG_AX25=m | ||
950 | CONFIG_AX25_DAMA_SLAVE=y | ||
951 | CONFIG_NETROM=m | ||
952 | CONFIG_ROSE=m | ||
953 | |||
954 | # | ||
955 | # AX.25 network device drivers | ||
956 | # | ||
957 | CONFIG_MKISS=m | ||
958 | CONFIG_6PACK=m | ||
959 | CONFIG_BPQETHER=m | ||
960 | CONFIG_BAYCOM_SER_FDX=m | ||
961 | CONFIG_BAYCOM_SER_HDX=m | ||
962 | CONFIG_BAYCOM_PAR=m | ||
963 | CONFIG_YAM=m | ||
964 | CONFIG_CAN=m | ||
965 | CONFIG_CAN_RAW=m | ||
966 | CONFIG_CAN_BCM=m | ||
967 | CONFIG_CAN_GW=m | ||
968 | |||
969 | # | ||
970 | # CAN Device Drivers | ||
971 | # | ||
972 | CONFIG_CAN_VCAN=m | ||
973 | CONFIG_CAN_SLCAN=m | ||
974 | CONFIG_CAN_DEV=m | ||
975 | CONFIG_CAN_CALC_BITTIMING=y | ||
976 | CONFIG_CAN_LEDS=y | ||
977 | CONFIG_CAN_MCP251X=m | ||
978 | CONFIG_CAN_JANZ_ICAN3=m | ||
979 | CONFIG_PCH_CAN=m | ||
980 | CONFIG_CAN_GRCAN=m | ||
981 | CONFIG_CAN_SJA1000=m | ||
982 | CONFIG_CAN_SJA1000_ISA=m | ||
983 | CONFIG_CAN_SJA1000_PLATFORM=m | ||
984 | CONFIG_CAN_SJA1000_OF_PLATFORM=m | ||
985 | CONFIG_CAN_EMS_PCI=m | ||
986 | CONFIG_CAN_PEAK_PCI=m | ||
987 | CONFIG_CAN_PEAK_PCIEC=y | ||
988 | CONFIG_CAN_KVASER_PCI=m | ||
989 | CONFIG_CAN_PLX_PCI=m | ||
990 | CONFIG_CAN_C_CAN=m | ||
991 | CONFIG_CAN_C_CAN_PLATFORM=m | ||
992 | CONFIG_CAN_C_CAN_PCI=m | ||
993 | CONFIG_CAN_CC770=m | ||
994 | CONFIG_CAN_CC770_ISA=m | ||
995 | CONFIG_CAN_CC770_PLATFORM=m | ||
996 | CONFIG_CAN_SOFTING=m | ||
997 | # CONFIG_CAN_DEBUG_DEVICES is not set | ||
998 | CONFIG_IRDA=m | ||
999 | |||
1000 | # | ||
1001 | # IrDA protocols | ||
1002 | # | ||
1003 | CONFIG_IRLAN=m | ||
1004 | CONFIG_IRNET=m | ||
1005 | CONFIG_IRCOMM=m | ||
1006 | CONFIG_IRDA_ULTRA=y | ||
1007 | |||
1008 | # | ||
1009 | # IrDA options | ||
1010 | # | ||
1011 | CONFIG_IRDA_CACHE_LAST_LSAP=y | ||
1012 | CONFIG_IRDA_FAST_RR=y | ||
1013 | # CONFIG_IRDA_DEBUG is not set | ||
1014 | |||
1015 | # | ||
1016 | # Infrared-port device drivers | ||
1017 | # | ||
1018 | |||
1019 | # | ||
1020 | # SIR device drivers | ||
1021 | # | ||
1022 | CONFIG_IRTTY_SIR=m | ||
1023 | |||
1024 | # | ||
1025 | # Dongle support | ||
1026 | # | ||
1027 | CONFIG_DONGLE=y | ||
1028 | CONFIG_ESI_DONGLE=m | ||
1029 | CONFIG_ACTISYS_DONGLE=m | ||
1030 | CONFIG_TEKRAM_DONGLE=m | ||
1031 | CONFIG_TOIM3232_DONGLE=m | ||
1032 | CONFIG_LITELINK_DONGLE=m | ||
1033 | CONFIG_MA600_DONGLE=m | ||
1034 | CONFIG_GIRBIL_DONGLE=m | ||
1035 | CONFIG_MCP2120_DONGLE=m | ||
1036 | CONFIG_OLD_BELKIN_DONGLE=m | ||
1037 | CONFIG_ACT200L_DONGLE=m | ||
1038 | |||
1039 | # | ||
1040 | # FIR device drivers | ||
1041 | # | ||
1042 | CONFIG_VLSI_FIR=m | ||
1043 | CONFIG_BT=m | ||
1044 | CONFIG_BT_RFCOMM=m | ||
1045 | CONFIG_BT_RFCOMM_TTY=y | ||
1046 | CONFIG_BT_BNEP=m | ||
1047 | CONFIG_BT_BNEP_MC_FILTER=y | ||
1048 | CONFIG_BT_BNEP_PROTO_FILTER=y | ||
1049 | CONFIG_BT_CMTP=m | ||
1050 | CONFIG_BT_HIDP=m | ||
1051 | |||
1052 | # | ||
1053 | # Bluetooth device drivers | ||
1054 | # | ||
1055 | CONFIG_BT_HCIBTSDIO=m | ||
1056 | CONFIG_BT_HCIUART=m | ||
1057 | CONFIG_BT_HCIUART_H4=y | ||
1058 | CONFIG_BT_HCIUART_BCSP=y | ||
1059 | CONFIG_BT_HCIUART_ATH3K=y | ||
1060 | CONFIG_BT_HCIUART_LL=y | ||
1061 | CONFIG_BT_HCIUART_3WIRE=y | ||
1062 | CONFIG_BT_HCIVHCI=m | ||
1063 | CONFIG_BT_MRVL=m | ||
1064 | CONFIG_BT_MRVL_SDIO=m | ||
1065 | CONFIG_BT_WILINK=m | ||
1066 | CONFIG_AF_RXRPC=m | ||
1067 | # CONFIG_AF_RXRPC_DEBUG is not set | ||
1068 | CONFIG_RXKAD=m | ||
1069 | CONFIG_FIB_RULES=y | ||
1070 | CONFIG_WIRELESS=y | ||
1071 | CONFIG_WIRELESS_EXT=y | ||
1072 | CONFIG_WEXT_CORE=y | ||
1073 | CONFIG_WEXT_PROC=y | ||
1074 | CONFIG_WEXT_SPY=y | ||
1075 | CONFIG_WEXT_PRIV=y | ||
1076 | CONFIG_CFG80211=m | ||
1077 | # CONFIG_NL80211_TESTMODE is not set | ||
1078 | # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set | ||
1079 | # CONFIG_CFG80211_REG_DEBUG is not set | ||
1080 | # CONFIG_CFG80211_CERTIFICATION_ONUS is not set | ||
1081 | CONFIG_CFG80211_DEFAULT_PS=y | ||
1082 | CONFIG_CFG80211_DEBUGFS=y | ||
1083 | # CONFIG_CFG80211_INTERNAL_REGDB is not set | ||
1084 | CONFIG_CFG80211_WEXT=y | ||
1085 | CONFIG_LIB80211=m | ||
1086 | CONFIG_LIB80211_CRYPT_WEP=m | ||
1087 | CONFIG_LIB80211_CRYPT_CCMP=m | ||
1088 | CONFIG_LIB80211_CRYPT_TKIP=m | ||
1089 | # CONFIG_LIB80211_DEBUG is not set | ||
1090 | CONFIG_MAC80211=m | ||
1091 | CONFIG_MAC80211_HAS_RC=y | ||
1092 | CONFIG_MAC80211_RC_PID=y | ||
1093 | CONFIG_MAC80211_RC_MINSTREL=y | ||
1094 | CONFIG_MAC80211_RC_MINSTREL_HT=y | ||
1095 | # CONFIG_MAC80211_RC_DEFAULT_PID is not set | ||
1096 | CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y | ||
1097 | CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" | ||
1098 | CONFIG_MAC80211_MESH=y | ||
1099 | CONFIG_MAC80211_LEDS=y | ||
1100 | CONFIG_MAC80211_DEBUGFS=y | ||
1101 | CONFIG_MAC80211_MESSAGE_TRACING=y | ||
1102 | # CONFIG_MAC80211_DEBUG_MENU is not set | ||
1103 | CONFIG_WIMAX=m | ||
1104 | CONFIG_WIMAX_DEBUG_LEVEL=8 | ||
1105 | CONFIG_RFKILL=y | ||
1106 | CONFIG_RFKILL_LEDS=y | ||
1107 | CONFIG_RFKILL_INPUT=y | ||
1108 | CONFIG_RFKILL_REGULATOR=m | ||
1109 | CONFIG_RFKILL_GPIO=m | ||
1110 | CONFIG_NET_9P=m | ||
1111 | CONFIG_NET_9P_VIRTIO=m | ||
1112 | CONFIG_NET_9P_RDMA=m | ||
1113 | # CONFIG_NET_9P_DEBUG is not set | ||
1114 | CONFIG_CAIF=m | ||
1115 | # CONFIG_CAIF_DEBUG is not set | ||
1116 | CONFIG_CAIF_NETDEV=m | ||
1117 | CONFIG_CAIF_USB=m | ||
1118 | CONFIG_CEPH_LIB=m | ||
1119 | # CONFIG_CEPH_LIB_PRETTYDEBUG is not set | ||
1120 | CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y | ||
1121 | CONFIG_NFC=m | ||
1122 | CONFIG_NFC_DIGITAL=m | ||
1123 | CONFIG_NFC_NCI=m | ||
1124 | CONFIG_NFC_NCI_SPI=y | ||
1125 | CONFIG_NFC_HCI=m | ||
1126 | CONFIG_NFC_SHDLC=y | ||
1127 | |||
1128 | # | ||
1129 | # Near Field Communication (NFC) devices | ||
1130 | # | ||
1131 | CONFIG_NFC_WILINK=m | ||
1132 | CONFIG_NFC_SIM=m | ||
1133 | CONFIG_NFC_PN544=m | ||
1134 | CONFIG_NFC_PN544_I2C=m | ||
1135 | CONFIG_NFC_MICROREAD=m | ||
1136 | CONFIG_NFC_MICROREAD_I2C=m | ||
1137 | |||
1138 | # | ||
1139 | # Device Drivers | ||
1140 | # | ||
1141 | |||
1142 | # | ||
1143 | # Generic Driver Options | ||
1144 | # | ||
1145 | CONFIG_UEVENT_HELPER_PATH="" | ||
1146 | CONFIG_DEVTMPFS=y | ||
1147 | CONFIG_DEVTMPFS_MOUNT=y | ||
1148 | CONFIG_STANDALONE=y | ||
1149 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
1150 | CONFIG_FW_LOADER=y | ||
1151 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
1152 | CONFIG_EXTRA_FIRMWARE="" | ||
1153 | CONFIG_FW_LOADER_USER_HELPER=y | ||
1154 | # CONFIG_DEBUG_DRIVER is not set | ||
1155 | # CONFIG_DEBUG_DEVRES is not set | ||
1156 | CONFIG_SYS_HYPERVISOR=y | ||
1157 | # CONFIG_GENERIC_CPU_DEVICES is not set | ||
1158 | CONFIG_REGMAP=y | ||
1159 | CONFIG_REGMAP_I2C=y | ||
1160 | CONFIG_REGMAP_SPI=y | ||
1161 | CONFIG_REGMAP_MMIO=y | ||
1162 | CONFIG_REGMAP_IRQ=y | ||
1163 | CONFIG_DMA_SHARED_BUFFER=y | ||
1164 | |||
1165 | # | ||
1166 | # Bus devices | ||
1167 | # | ||
1168 | CONFIG_CONNECTOR=y | ||
1169 | CONFIG_PROC_EVENTS=y | ||
1170 | CONFIG_MTD=m | ||
1171 | # CONFIG_MTD_TESTS is not set | ||
1172 | CONFIG_MTD_REDBOOT_PARTS=m | ||
1173 | CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 | ||
1174 | # CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set | ||
1175 | # CONFIG_MTD_REDBOOT_PARTS_READONLY is not set | ||
1176 | CONFIG_MTD_CMDLINE_PARTS=m | ||
1177 | CONFIG_MTD_OF_PARTS=m | ||
1178 | CONFIG_MTD_AR7_PARTS=m | ||
1179 | |||
1180 | # | ||
1181 | # User Modules And Translation Layers | ||
1182 | # | ||
1183 | CONFIG_MTD_BLKDEVS=m | ||
1184 | CONFIG_MTD_BLOCK=m | ||
1185 | CONFIG_MTD_BLOCK_RO=m | ||
1186 | CONFIG_FTL=m | ||
1187 | CONFIG_NFTL=m | ||
1188 | CONFIG_NFTL_RW=y | ||
1189 | CONFIG_INFTL=m | ||
1190 | CONFIG_RFD_FTL=m | ||
1191 | CONFIG_SSFDC=m | ||
1192 | CONFIG_SM_FTL=m | ||
1193 | CONFIG_MTD_OOPS=m | ||
1194 | CONFIG_MTD_SWAP=m | ||
1195 | |||
1196 | # | ||
1197 | # RAM/ROM/Flash chip drivers | ||
1198 | # | ||
1199 | CONFIG_MTD_CFI=m | ||
1200 | CONFIG_MTD_JEDECPROBE=m | ||
1201 | CONFIG_MTD_GEN_PROBE=m | ||
1202 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
1203 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
1204 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
1205 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
1206 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
1207 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
1208 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
1209 | CONFIG_MTD_CFI_I1=y | ||
1210 | CONFIG_MTD_CFI_I2=y | ||
1211 | # CONFIG_MTD_CFI_I4 is not set | ||
1212 | # CONFIG_MTD_CFI_I8 is not set | ||
1213 | CONFIG_MTD_CFI_INTELEXT=m | ||
1214 | CONFIG_MTD_CFI_AMDSTD=m | ||
1215 | CONFIG_MTD_CFI_STAA=m | ||
1216 | CONFIG_MTD_CFI_UTIL=m | ||
1217 | CONFIG_MTD_RAM=m | ||
1218 | CONFIG_MTD_ROM=m | ||
1219 | CONFIG_MTD_ABSENT=m | ||
1220 | |||
1221 | # | ||
1222 | # Mapping drivers for chip access | ||
1223 | # | ||
1224 | CONFIG_MTD_COMPLEX_MAPPINGS=y | ||
1225 | CONFIG_MTD_PHYSMAP=m | ||
1226 | # CONFIG_MTD_PHYSMAP_COMPAT is not set | ||
1227 | CONFIG_MTD_PHYSMAP_OF=m | ||
1228 | CONFIG_MTD_PCI=m | ||
1229 | CONFIG_MTD_GPIO_ADDR=m | ||
1230 | CONFIG_MTD_INTEL_VR_NOR=m | ||
1231 | CONFIG_MTD_PLATRAM=m | ||
1232 | CONFIG_MTD_LATCH_ADDR=m | ||
1233 | |||
1234 | # | ||
1235 | # Self-contained MTD device drivers | ||
1236 | # | ||
1237 | CONFIG_MTD_PMC551=m | ||
1238 | # CONFIG_MTD_PMC551_BUGFIX is not set | ||
1239 | # CONFIG_MTD_PMC551_DEBUG is not set | ||
1240 | CONFIG_MTD_DATAFLASH=m | ||
1241 | # CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set | ||
1242 | CONFIG_MTD_DATAFLASH_OTP=y | ||
1243 | CONFIG_MTD_M25P80=m | ||
1244 | CONFIG_MTD_SST25L=m | ||
1245 | CONFIG_MTD_SLRAM=m | ||
1246 | CONFIG_MTD_PHRAM=m | ||
1247 | CONFIG_MTD_MTDRAM=m | ||
1248 | CONFIG_MTDRAM_TOTAL_SIZE=4096 | ||
1249 | CONFIG_MTDRAM_ERASE_SIZE=128 | ||
1250 | CONFIG_MTD_BLOCK2MTD=m | ||
1251 | |||
1252 | # | ||
1253 | # Disk-On-Chip Device Drivers | ||
1254 | # | ||
1255 | CONFIG_MTD_DOCG3=m | ||
1256 | CONFIG_BCH_CONST_M=14 | ||
1257 | CONFIG_BCH_CONST_T=4 | ||
1258 | CONFIG_MTD_NAND_ECC=m | ||
1259 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
1260 | CONFIG_MTD_NAND=m | ||
1261 | CONFIG_MTD_NAND_BCH=m | ||
1262 | CONFIG_MTD_NAND_ECC_BCH=y | ||
1263 | CONFIG_MTD_SM_COMMON=m | ||
1264 | CONFIG_MTD_NAND_DENALI=m | ||
1265 | CONFIG_MTD_NAND_DENALI_PCI=m | ||
1266 | CONFIG_MTD_NAND_DENALI_DT=m | ||
1267 | CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018 | ||
1268 | CONFIG_MTD_NAND_GPIO=m | ||
1269 | CONFIG_MTD_NAND_IDS=m | ||
1270 | CONFIG_MTD_NAND_RICOH=m | ||
1271 | CONFIG_MTD_NAND_DISKONCHIP=m | ||
1272 | # CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set | ||
1273 | CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 | ||
1274 | # CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set | ||
1275 | CONFIG_MTD_NAND_DOCG4=m | ||
1276 | CONFIG_MTD_NAND_CAFE=m | ||
1277 | CONFIG_MTD_NAND_NANDSIM=m | ||
1278 | CONFIG_MTD_NAND_PLATFORM=m | ||
1279 | CONFIG_MTD_ONENAND=m | ||
1280 | CONFIG_MTD_ONENAND_VERIFY_WRITE=y | ||
1281 | CONFIG_MTD_ONENAND_GENERIC=m | ||
1282 | # CONFIG_MTD_ONENAND_OTP is not set | ||
1283 | CONFIG_MTD_ONENAND_2X_PROGRAM=y | ||
1284 | |||
1285 | # | ||
1286 | # LPDDR flash memory drivers | ||
1287 | # | ||
1288 | CONFIG_MTD_LPDDR=m | ||
1289 | CONFIG_MTD_QINFO_PROBE=m | ||
1290 | CONFIG_MTD_UBI=m | ||
1291 | CONFIG_MTD_UBI_WL_THRESHOLD=4096 | ||
1292 | CONFIG_MTD_UBI_BEB_LIMIT=20 | ||
1293 | CONFIG_MTD_UBI_FASTMAP=y | ||
1294 | CONFIG_MTD_UBI_GLUEBI=m | ||
1295 | CONFIG_DTC=y | ||
1296 | CONFIG_OF=y | ||
1297 | |||
1298 | # | ||
1299 | # Device Tree and Open Firmware support | ||
1300 | # | ||
1301 | CONFIG_PROC_DEVICETREE=y | ||
1302 | # CONFIG_OF_SELFTEST is not set | ||
1303 | CONFIG_OF_FLATTREE=y | ||
1304 | CONFIG_OF_EARLY_FLATTREE=y | ||
1305 | CONFIG_OF_ADDRESS=y | ||
1306 | CONFIG_OF_IRQ=y | ||
1307 | CONFIG_OF_NET=y | ||
1308 | CONFIG_OF_MDIO=y | ||
1309 | CONFIG_OF_PCI=y | ||
1310 | CONFIG_OF_PCI_IRQ=y | ||
1311 | CONFIG_OF_MTD=y | ||
1312 | CONFIG_PARPORT=m | ||
1313 | # CONFIG_PARPORT_GSC is not set | ||
1314 | CONFIG_PARPORT_AX88796=m | ||
1315 | CONFIG_PARPORT_1284=y | ||
1316 | CONFIG_PARPORT_NOT_PC=y | ||
1317 | CONFIG_BLK_DEV=y | ||
1318 | CONFIG_BLK_DEV_NULL_BLK=m | ||
1319 | CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m | ||
1320 | CONFIG_BLK_CPQ_CISS_DA=m | ||
1321 | CONFIG_CISS_SCSI_TAPE=y | ||
1322 | CONFIG_BLK_DEV_DAC960=m | ||
1323 | CONFIG_BLK_DEV_UMEM=m | ||
1324 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
1325 | CONFIG_BLK_DEV_LOOP=y | ||
1326 | CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 | ||
1327 | CONFIG_BLK_DEV_CRYPTOLOOP=m | ||
1328 | CONFIG_BLK_DEV_DRBD=m | ||
1329 | # CONFIG_DRBD_FAULT_INJECTION is not set | ||
1330 | CONFIG_BLK_DEV_NBD=m | ||
1331 | CONFIG_BLK_DEV_NVME=m | ||
1332 | CONFIG_BLK_DEV_SKD=m | ||
1333 | CONFIG_BLK_DEV_OSD=m | ||
1334 | CONFIG_BLK_DEV_SX8=m | ||
1335 | CONFIG_BLK_DEV_RAM=y | ||
1336 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
1337 | CONFIG_BLK_DEV_RAM_SIZE=65536 | ||
1338 | # CONFIG_BLK_DEV_XIP is not set | ||
1339 | CONFIG_CDROM_PKTCDVD=m | ||
1340 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | ||
1341 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | ||
1342 | CONFIG_ATA_OVER_ETH=m | ||
1343 | CONFIG_XEN_BLKDEV_FRONTEND=y | ||
1344 | CONFIG_XEN_BLKDEV_BACKEND=m | ||
1345 | CONFIG_VIRTIO_BLK=y | ||
1346 | CONFIG_BLK_DEV_RBD=m | ||
1347 | CONFIG_BLK_DEV_RSXX=m | ||
1348 | |||
1349 | # | ||
1350 | # Misc devices | ||
1351 | # | ||
1352 | CONFIG_SENSORS_LIS3LV02D=m | ||
1353 | CONFIG_AD525X_DPOT=m | ||
1354 | CONFIG_AD525X_DPOT_I2C=m | ||
1355 | CONFIG_AD525X_DPOT_SPI=m | ||
1356 | CONFIG_ATMEL_PWM=m | ||
1357 | CONFIG_DUMMY_IRQ=m | ||
1358 | CONFIG_PHANTOM=m | ||
1359 | CONFIG_SGI_IOC4=m | ||
1360 | CONFIG_TIFM_CORE=m | ||
1361 | CONFIG_TIFM_7XX1=m | ||
1362 | CONFIG_ICS932S401=m | ||
1363 | CONFIG_ATMEL_SSC=m | ||
1364 | CONFIG_ENCLOSURE_SERVICES=m | ||
1365 | CONFIG_HP_ILO=m | ||
1366 | CONFIG_APDS9802ALS=m | ||
1367 | CONFIG_ISL29003=m | ||
1368 | CONFIG_ISL29020=m | ||
1369 | CONFIG_SENSORS_TSL2550=m | ||
1370 | CONFIG_SENSORS_BH1780=m | ||
1371 | CONFIG_SENSORS_BH1770=m | ||
1372 | CONFIG_SENSORS_APDS990X=m | ||
1373 | CONFIG_HMC6352=m | ||
1374 | CONFIG_DS1682=m | ||
1375 | CONFIG_TI_DAC7512=m | ||
1376 | CONFIG_BMP085=y | ||
1377 | CONFIG_BMP085_I2C=m | ||
1378 | CONFIG_BMP085_SPI=m | ||
1379 | CONFIG_PCH_PHUB=m | ||
1380 | CONFIG_USB_SWITCH_FSA9480=m | ||
1381 | CONFIG_LATTICE_ECP3_CONFIG=m | ||
1382 | CONFIG_SRAM=y | ||
1383 | CONFIG_C2PORT=m | ||
1384 | |||
1385 | # | ||
1386 | # EEPROM support | ||
1387 | # | ||
1388 | CONFIG_EEPROM_AT24=m | ||
1389 | CONFIG_EEPROM_AT25=m | ||
1390 | CONFIG_EEPROM_LEGACY=m | ||
1391 | CONFIG_EEPROM_MAX6875=m | ||
1392 | CONFIG_EEPROM_93CX6=m | ||
1393 | CONFIG_EEPROM_93XX46=m | ||
1394 | CONFIG_CB710_CORE=m | ||
1395 | # CONFIG_CB710_DEBUG is not set | ||
1396 | CONFIG_CB710_DEBUG_ASSUMPTIONS=y | ||
1397 | |||
1398 | # | ||
1399 | # Texas Instruments shared transport line discipline | ||
1400 | # | ||
1401 | CONFIG_TI_ST=m | ||
1402 | CONFIG_SENSORS_LIS3_SPI=m | ||
1403 | CONFIG_SENSORS_LIS3_I2C=m | ||
1404 | |||
1405 | # | ||
1406 | # Altera FPGA firmware download module | ||
1407 | # | ||
1408 | CONFIG_ALTERA_STAPL=m | ||
1409 | |||
1410 | # | ||
1411 | # Intel MIC Host Driver | ||
1412 | # | ||
1413 | |||
1414 | # | ||
1415 | # Intel MIC Card Driver | ||
1416 | # | ||
1417 | CONFIG_XGENE_QMTM=y | ||
1418 | |||
1419 | # | ||
1420 | # SCSI device support | ||
1421 | # | ||
1422 | CONFIG_SCSI_MOD=y | ||
1423 | CONFIG_RAID_ATTRS=m | ||
1424 | CONFIG_SCSI=y | ||
1425 | CONFIG_SCSI_DMA=y | ||
1426 | CONFIG_SCSI_TGT=m | ||
1427 | CONFIG_SCSI_NETLINK=y | ||
1428 | CONFIG_SCSI_PROC_FS=y | ||
1429 | |||
1430 | # | ||
1431 | # SCSI support type (disk, tape, CD-ROM) | ||
1432 | # | ||
1433 | CONFIG_BLK_DEV_SD=y | ||
1434 | CONFIG_CHR_DEV_ST=m | ||
1435 | CONFIG_CHR_DEV_OSST=m | ||
1436 | CONFIG_BLK_DEV_SR=y | ||
1437 | # CONFIG_BLK_DEV_SR_VENDOR is not set | ||
1438 | CONFIG_CHR_DEV_SG=y | ||
1439 | CONFIG_CHR_DEV_SCH=m | ||
1440 | CONFIG_SCSI_ENCLOSURE=m | ||
1441 | CONFIG_SCSI_MULTI_LUN=y | ||
1442 | CONFIG_SCSI_CONSTANTS=y | ||
1443 | CONFIG_SCSI_LOGGING=y | ||
1444 | CONFIG_SCSI_SCAN_ASYNC=y | ||
1445 | |||
1446 | # | ||
1447 | # SCSI Transports | ||
1448 | # | ||
1449 | CONFIG_SCSI_SPI_ATTRS=m | ||
1450 | CONFIG_SCSI_FC_ATTRS=m | ||
1451 | CONFIG_SCSI_FC_TGT_ATTRS=y | ||
1452 | CONFIG_SCSI_ISCSI_ATTRS=m | ||
1453 | CONFIG_SCSI_SAS_ATTRS=m | ||
1454 | CONFIG_SCSI_SAS_LIBSAS=m | ||
1455 | CONFIG_SCSI_SAS_ATA=y | ||
1456 | CONFIG_SCSI_SAS_HOST_SMP=y | ||
1457 | CONFIG_SCSI_SRP_ATTRS=m | ||
1458 | CONFIG_SCSI_SRP_TGT_ATTRS=y | ||
1459 | CONFIG_SCSI_LOWLEVEL=y | ||
1460 | CONFIG_ISCSI_TCP=m | ||
1461 | CONFIG_ISCSI_BOOT_SYSFS=m | ||
1462 | CONFIG_SCSI_CXGB3_ISCSI=m | ||
1463 | CONFIG_SCSI_CXGB4_ISCSI=m | ||
1464 | CONFIG_SCSI_BNX2_ISCSI=m | ||
1465 | CONFIG_SCSI_BNX2X_FCOE=m | ||
1466 | CONFIG_BE2ISCSI=m | ||
1467 | CONFIG_BLK_DEV_3W_XXXX_RAID=m | ||
1468 | CONFIG_SCSI_HPSA=m | ||
1469 | CONFIG_SCSI_3W_9XXX=m | ||
1470 | CONFIG_SCSI_3W_SAS=m | ||
1471 | CONFIG_SCSI_ACARD=m | ||
1472 | CONFIG_SCSI_AACRAID=m | ||
1473 | CONFIG_SCSI_AIC7XXX=m | ||
1474 | CONFIG_AIC7XXX_CMDS_PER_DEVICE=8 | ||
1475 | CONFIG_AIC7XXX_RESET_DELAY_MS=15000 | ||
1476 | # CONFIG_AIC7XXX_DEBUG_ENABLE is not set | ||
1477 | CONFIG_AIC7XXX_DEBUG_MASK=0 | ||
1478 | CONFIG_AIC7XXX_REG_PRETTY_PRINT=y | ||
1479 | # CONFIG_SCSI_AIC7XXX_OLD is not set | ||
1480 | CONFIG_SCSI_AIC79XX=m | ||
1481 | CONFIG_AIC79XX_CMDS_PER_DEVICE=32 | ||
1482 | CONFIG_AIC79XX_RESET_DELAY_MS=5000 | ||
1483 | # CONFIG_AIC79XX_DEBUG_ENABLE is not set | ||
1484 | CONFIG_AIC79XX_DEBUG_MASK=0 | ||
1485 | CONFIG_AIC79XX_REG_PRETTY_PRINT=y | ||
1486 | CONFIG_SCSI_AIC94XX=m | ||
1487 | # CONFIG_AIC94XX_DEBUG is not set | ||
1488 | CONFIG_SCSI_MVSAS=m | ||
1489 | # CONFIG_SCSI_MVSAS_DEBUG is not set | ||
1490 | # CONFIG_SCSI_MVSAS_TASKLET is not set | ||
1491 | CONFIG_SCSI_MVUMI=m | ||
1492 | CONFIG_SCSI_ARCMSR=m | ||
1493 | CONFIG_SCSI_ESAS2R=m | ||
1494 | CONFIG_MEGARAID_NEWGEN=y | ||
1495 | CONFIG_MEGARAID_MM=m | ||
1496 | CONFIG_MEGARAID_MAILBOX=m | ||
1497 | CONFIG_MEGARAID_LEGACY=m | ||
1498 | CONFIG_MEGARAID_SAS=m | ||
1499 | CONFIG_SCSI_MPT2SAS=m | ||
1500 | CONFIG_SCSI_MPT2SAS_MAX_SGE=128 | ||
1501 | # CONFIG_SCSI_MPT2SAS_LOGGING is not set | ||
1502 | CONFIG_SCSI_MPT3SAS=m | ||
1503 | CONFIG_SCSI_MPT3SAS_MAX_SGE=128 | ||
1504 | # CONFIG_SCSI_MPT3SAS_LOGGING is not set | ||
1505 | CONFIG_SCSI_UFSHCD=m | ||
1506 | CONFIG_SCSI_UFSHCD_PCI=m | ||
1507 | CONFIG_SCSI_UFSHCD_PLATFORM=m | ||
1508 | CONFIG_SCSI_HPTIOP=m | ||
1509 | CONFIG_LIBFC=m | ||
1510 | CONFIG_LIBFCOE=m | ||
1511 | CONFIG_FCOE=m | ||
1512 | CONFIG_SCSI_DMX3191D=m | ||
1513 | CONFIG_SCSI_FUTURE_DOMAIN=m | ||
1514 | CONFIG_SCSI_IPS=m | ||
1515 | CONFIG_SCSI_INITIO=m | ||
1516 | CONFIG_SCSI_INIA100=m | ||
1517 | CONFIG_SCSI_STEX=m | ||
1518 | CONFIG_SCSI_SYM53C8XX_2=m | ||
1519 | CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 | ||
1520 | CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 | ||
1521 | CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 | ||
1522 | CONFIG_SCSI_SYM53C8XX_MMIO=y | ||
1523 | CONFIG_SCSI_IPR=m | ||
1524 | # CONFIG_SCSI_IPR_TRACE is not set | ||
1525 | # CONFIG_SCSI_IPR_DUMP is not set | ||
1526 | CONFIG_SCSI_QLOGIC_1280=m | ||
1527 | CONFIG_SCSI_QLA_FC=m | ||
1528 | CONFIG_TCM_QLA2XXX=m | ||
1529 | CONFIG_SCSI_QLA_ISCSI=m | ||
1530 | CONFIG_SCSI_LPFC=m | ||
1531 | # CONFIG_SCSI_LPFC_DEBUG_FS is not set | ||
1532 | CONFIG_SCSI_DC395x=m | ||
1533 | CONFIG_SCSI_DC390T=m | ||
1534 | CONFIG_SCSI_DEBUG=m | ||
1535 | CONFIG_SCSI_PMCRAID=m | ||
1536 | CONFIG_SCSI_PM8001=m | ||
1537 | CONFIG_SCSI_SRP=m | ||
1538 | CONFIG_SCSI_BFA_FC=m | ||
1539 | CONFIG_SCSI_VIRTIO=m | ||
1540 | CONFIG_SCSI_CHELSIO_FCOE=m | ||
1541 | CONFIG_SCSI_LOWLEVEL_PCMCIA=y | ||
1542 | CONFIG_SCSI_DH=m | ||
1543 | CONFIG_SCSI_DH_RDAC=m | ||
1544 | CONFIG_SCSI_DH_HP_SW=m | ||
1545 | CONFIG_SCSI_DH_EMC=m | ||
1546 | CONFIG_SCSI_DH_ALUA=m | ||
1547 | CONFIG_SCSI_OSD_INITIATOR=m | ||
1548 | CONFIG_SCSI_OSD_ULD=m | ||
1549 | CONFIG_SCSI_OSD_DPRINT_SENSE=1 | ||
1550 | # CONFIG_SCSI_OSD_DEBUG is not set | ||
1551 | CONFIG_ATA=y | ||
1552 | # CONFIG_ATA_NONSTANDARD is not set | ||
1553 | CONFIG_ATA_VERBOSE_ERROR=y | ||
1554 | CONFIG_SATA_PMP=y | ||
1555 | |||
1556 | # | ||
1557 | # Controllers with non-SFF native interface | ||
1558 | # | ||
1559 | CONFIG_SATA_AHCI=y | ||
1560 | CONFIG_SATA_AHCI_PLATFORM=y | ||
1561 | # CONFIG_AHCI_IMX is not set | ||
1562 | CONFIG_AHCI_XGENE=y | ||
1563 | CONFIG_SATA_INIC162X=m | ||
1564 | CONFIG_SATA_ACARD_AHCI=m | ||
1565 | CONFIG_SATA_SIL24=m | ||
1566 | CONFIG_ATA_SFF=y | ||
1567 | |||
1568 | # | ||
1569 | # SFF controllers with custom DMA interface | ||
1570 | # | ||
1571 | CONFIG_PDC_ADMA=m | ||
1572 | CONFIG_SATA_QSTOR=m | ||
1573 | CONFIG_SATA_SX4=m | ||
1574 | CONFIG_ATA_BMDMA=y | ||
1575 | |||
1576 | # | ||
1577 | # SATA SFF controllers with BMDMA | ||
1578 | # | ||
1579 | CONFIG_ATA_PIIX=m | ||
1580 | # CONFIG_SATA_HIGHBANK is not set | ||
1581 | CONFIG_SATA_MV=m | ||
1582 | CONFIG_SATA_NV=m | ||
1583 | CONFIG_SATA_PROMISE=m | ||
1584 | CONFIG_SATA_RCAR=m | ||
1585 | CONFIG_SATA_SIL=m | ||
1586 | CONFIG_SATA_SIS=m | ||
1587 | CONFIG_SATA_SVW=m | ||
1588 | CONFIG_SATA_ULI=m | ||
1589 | CONFIG_SATA_VIA=m | ||
1590 | CONFIG_SATA_VITESSE=m | ||
1591 | |||
1592 | # | ||
1593 | # PATA SFF controllers with BMDMA | ||
1594 | # | ||
1595 | CONFIG_PATA_ALI=m | ||
1596 | CONFIG_PATA_AMD=m | ||
1597 | CONFIG_PATA_ARASAN_CF=m | ||
1598 | CONFIG_PATA_ARTOP=m | ||
1599 | CONFIG_PATA_ATIIXP=m | ||
1600 | CONFIG_PATA_ATP867X=m | ||
1601 | CONFIG_PATA_CMD64X=m | ||
1602 | CONFIG_PATA_CS5520=m | ||
1603 | CONFIG_PATA_CS5530=m | ||
1604 | CONFIG_PATA_CS5536=m | ||
1605 | CONFIG_PATA_CYPRESS=m | ||
1606 | CONFIG_PATA_EFAR=m | ||
1607 | CONFIG_PATA_HPT366=m | ||
1608 | CONFIG_PATA_HPT37X=m | ||
1609 | CONFIG_PATA_HPT3X2N=m | ||
1610 | CONFIG_PATA_HPT3X3=m | ||
1611 | # CONFIG_PATA_HPT3X3_DMA is not set | ||
1612 | CONFIG_PATA_IT8213=m | ||
1613 | CONFIG_PATA_IT821X=m | ||
1614 | CONFIG_PATA_JMICRON=m | ||
1615 | CONFIG_PATA_MARVELL=m | ||
1616 | CONFIG_PATA_NETCELL=m | ||
1617 | CONFIG_PATA_NINJA32=m | ||
1618 | CONFIG_PATA_NS87415=m | ||
1619 | CONFIG_PATA_OLDPIIX=m | ||
1620 | CONFIG_PATA_OPTIDMA=m | ||
1621 | CONFIG_PATA_PDC2027X=m | ||
1622 | CONFIG_PATA_PDC_OLD=m | ||
1623 | CONFIG_PATA_RADISYS=m | ||
1624 | CONFIG_PATA_RDC=m | ||
1625 | CONFIG_PATA_SC1200=m | ||
1626 | CONFIG_PATA_SCH=m | ||
1627 | CONFIG_PATA_SERVERWORKS=m | ||
1628 | CONFIG_PATA_SIL680=m | ||
1629 | CONFIG_PATA_SIS=y | ||
1630 | CONFIG_PATA_TOSHIBA=m | ||
1631 | CONFIG_PATA_TRIFLEX=m | ||
1632 | CONFIG_PATA_VIA=m | ||
1633 | CONFIG_PATA_WINBOND=m | ||
1634 | |||
1635 | # | ||
1636 | # PIO-only SFF controllers | ||
1637 | # | ||
1638 | CONFIG_PATA_CMD640_PCI=m | ||
1639 | CONFIG_PATA_MPIIX=m | ||
1640 | CONFIG_PATA_NS87410=m | ||
1641 | CONFIG_PATA_OPTI=m | ||
1642 | CONFIG_PATA_PLATFORM=m | ||
1643 | CONFIG_PATA_OF_PLATFORM=m | ||
1644 | CONFIG_PATA_RZ1000=m | ||
1645 | |||
1646 | # | ||
1647 | # Generic fallback / legacy drivers | ||
1648 | # | ||
1649 | CONFIG_ATA_GENERIC=y | ||
1650 | CONFIG_PATA_LEGACY=m | ||
1651 | CONFIG_MD=y | ||
1652 | CONFIG_BLK_DEV_MD=y | ||
1653 | CONFIG_MD_AUTODETECT=y | ||
1654 | CONFIG_MD_LINEAR=m | ||
1655 | CONFIG_MD_RAID0=m | ||
1656 | CONFIG_MD_RAID1=m | ||
1657 | CONFIG_MD_RAID10=m | ||
1658 | CONFIG_MD_RAID456=m | ||
1659 | CONFIG_MD_MULTIPATH=m | ||
1660 | CONFIG_MD_FAULTY=m | ||
1661 | CONFIG_BCACHE=m | ||
1662 | # CONFIG_BCACHE_DEBUG is not set | ||
1663 | # CONFIG_BCACHE_CLOSURES_DEBUG is not set | ||
1664 | CONFIG_BLK_DEV_DM_BUILTIN=y | ||
1665 | CONFIG_BLK_DEV_DM=y | ||
1666 | # CONFIG_DM_DEBUG is not set | ||
1667 | CONFIG_DM_BUFIO=m | ||
1668 | CONFIG_DM_BIO_PRISON=m | ||
1669 | CONFIG_DM_PERSISTENT_DATA=m | ||
1670 | CONFIG_DM_CRYPT=m | ||
1671 | CONFIG_DM_SNAPSHOT=m | ||
1672 | CONFIG_DM_THIN_PROVISIONING=m | ||
1673 | # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set | ||
1674 | CONFIG_DM_CACHE=m | ||
1675 | CONFIG_DM_CACHE_MQ=m | ||
1676 | CONFIG_DM_CACHE_CLEANER=m | ||
1677 | CONFIG_DM_MIRROR=m | ||
1678 | CONFIG_DM_LOG_USERSPACE=m | ||
1679 | CONFIG_DM_RAID=m | ||
1680 | CONFIG_DM_ZERO=m | ||
1681 | CONFIG_DM_MULTIPATH=m | ||
1682 | CONFIG_DM_MULTIPATH_QL=m | ||
1683 | CONFIG_DM_MULTIPATH_ST=m | ||
1684 | CONFIG_DM_DELAY=m | ||
1685 | CONFIG_DM_UEVENT=y | ||
1686 | CONFIG_DM_FLAKEY=m | ||
1687 | CONFIG_DM_VERITY=m | ||
1688 | CONFIG_DM_SWITCH=m | ||
1689 | CONFIG_TARGET_CORE=m | ||
1690 | CONFIG_TCM_IBLOCK=m | ||
1691 | CONFIG_TCM_FILEIO=m | ||
1692 | CONFIG_TCM_PSCSI=m | ||
1693 | CONFIG_LOOPBACK_TARGET=m | ||
1694 | CONFIG_TCM_FC=m | ||
1695 | CONFIG_ISCSI_TARGET=m | ||
1696 | CONFIG_SBP_TARGET=m | ||
1697 | CONFIG_FUSION=y | ||
1698 | CONFIG_FUSION_SPI=m | ||
1699 | CONFIG_FUSION_FC=m | ||
1700 | CONFIG_FUSION_SAS=m | ||
1701 | CONFIG_FUSION_MAX_SGE=128 | ||
1702 | CONFIG_FUSION_CTL=m | ||
1703 | CONFIG_FUSION_LAN=m | ||
1704 | CONFIG_FUSION_LOGGING=y | ||
1705 | |||
1706 | # | ||
1707 | # IEEE 1394 (FireWire) support | ||
1708 | # | ||
1709 | CONFIG_FIREWIRE=m | ||
1710 | CONFIG_FIREWIRE_OHCI=m | ||
1711 | CONFIG_FIREWIRE_SBP2=m | ||
1712 | CONFIG_FIREWIRE_NET=m | ||
1713 | CONFIG_FIREWIRE_NOSY=m | ||
1714 | CONFIG_I2O=m | ||
1715 | CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y | ||
1716 | CONFIG_I2O_EXT_ADAPTEC=y | ||
1717 | CONFIG_I2O_EXT_ADAPTEC_DMA64=y | ||
1718 | CONFIG_I2O_BUS=m | ||
1719 | CONFIG_I2O_BLOCK=m | ||
1720 | CONFIG_I2O_SCSI=m | ||
1721 | CONFIG_I2O_PROC=m | ||
1722 | CONFIG_NETDEVICES=y | ||
1723 | CONFIG_MII=y | ||
1724 | CONFIG_NET_CORE=y | ||
1725 | CONFIG_BONDING=m | ||
1726 | CONFIG_DUMMY=m | ||
1727 | CONFIG_EQUALIZER=m | ||
1728 | CONFIG_NET_FC=y | ||
1729 | CONFIG_IFB=m | ||
1730 | CONFIG_NET_TEAM=m | ||
1731 | CONFIG_NET_TEAM_MODE_BROADCAST=m | ||
1732 | CONFIG_NET_TEAM_MODE_ROUNDROBIN=m | ||
1733 | CONFIG_NET_TEAM_MODE_RANDOM=m | ||
1734 | CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m | ||
1735 | CONFIG_NET_TEAM_MODE_LOADBALANCE=m | ||
1736 | CONFIG_MACVLAN=m | ||
1737 | CONFIG_MACVTAP=m | ||
1738 | CONFIG_VXLAN=m | ||
1739 | CONFIG_NETCONSOLE=m | ||
1740 | CONFIG_NETCONSOLE_DYNAMIC=y | ||
1741 | CONFIG_NETPOLL=y | ||
1742 | # CONFIG_NETPOLL_TRAP is not set | ||
1743 | CONFIG_NET_POLL_CONTROLLER=y | ||
1744 | CONFIG_TUN=y | ||
1745 | CONFIG_VETH=m | ||
1746 | CONFIG_VIRTIO_NET=y | ||
1747 | CONFIG_NLMON=m | ||
1748 | CONFIG_SUNGEM_PHY=m | ||
1749 | CONFIG_ARCNET=m | ||
1750 | CONFIG_ARCNET_1201=m | ||
1751 | CONFIG_ARCNET_1051=m | ||
1752 | CONFIG_ARCNET_RAW=m | ||
1753 | CONFIG_ARCNET_CAP=m | ||
1754 | CONFIG_ARCNET_COM90xx=m | ||
1755 | CONFIG_ARCNET_COM90xxIO=m | ||
1756 | CONFIG_ARCNET_RIM_I=m | ||
1757 | CONFIG_ARCNET_COM20020=m | ||
1758 | CONFIG_ARCNET_COM20020_PCI=m | ||
1759 | CONFIG_ATM_DRIVERS=y | ||
1760 | CONFIG_ATM_DUMMY=m | ||
1761 | CONFIG_ATM_TCP=m | ||
1762 | CONFIG_ATM_LANAI=m | ||
1763 | CONFIG_ATM_ENI=m | ||
1764 | # CONFIG_ATM_ENI_DEBUG is not set | ||
1765 | # CONFIG_ATM_ENI_TUNE_BURST is not set | ||
1766 | CONFIG_ATM_NICSTAR=m | ||
1767 | # CONFIG_ATM_NICSTAR_USE_SUNI is not set | ||
1768 | # CONFIG_ATM_NICSTAR_USE_IDT77105 is not set | ||
1769 | CONFIG_ATM_IDT77252=m | ||
1770 | # CONFIG_ATM_IDT77252_DEBUG is not set | ||
1771 | # CONFIG_ATM_IDT77252_RCV_ALL is not set | ||
1772 | CONFIG_ATM_IDT77252_USE_SUNI=y | ||
1773 | CONFIG_ATM_IA=m | ||
1774 | # CONFIG_ATM_IA_DEBUG is not set | ||
1775 | CONFIG_ATM_FORE200E=m | ||
1776 | # CONFIG_ATM_FORE200E_USE_TASKLET is not set | ||
1777 | CONFIG_ATM_FORE200E_TX_RETRY=16 | ||
1778 | CONFIG_ATM_FORE200E_DEBUG=0 | ||
1779 | CONFIG_ATM_HE=m | ||
1780 | CONFIG_ATM_HE_USE_SUNI=y | ||
1781 | CONFIG_ATM_SOLOS=m | ||
1782 | |||
1783 | # | ||
1784 | # CAIF transport drivers | ||
1785 | # | ||
1786 | CONFIG_CAIF_TTY=m | ||
1787 | CONFIG_CAIF_SPI_SLAVE=m | ||
1788 | # CONFIG_CAIF_SPI_SYNC is not set | ||
1789 | CONFIG_CAIF_HSI=m | ||
1790 | CONFIG_CAIF_VIRTIO=m | ||
1791 | CONFIG_VHOST_NET=m | ||
1792 | CONFIG_VHOST_SCSI=m | ||
1793 | CONFIG_VHOST_RING=m | ||
1794 | CONFIG_VHOST=m | ||
1795 | |||
1796 | # | ||
1797 | # Distributed Switch Architecture drivers | ||
1798 | # | ||
1799 | CONFIG_NET_DSA_MV88E6XXX=m | ||
1800 | CONFIG_NET_DSA_MV88E6060=m | ||
1801 | CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y | ||
1802 | CONFIG_NET_DSA_MV88E6131=m | ||
1803 | CONFIG_NET_DSA_MV88E6123_61_65=m | ||
1804 | CONFIG_ETHERNET=y | ||
1805 | CONFIG_MDIO=m | ||
1806 | CONFIG_NET_XGENE=y | ||
1807 | CONFIG_NET_VENDOR_3COM=y | ||
1808 | CONFIG_TYPHOON=m | ||
1809 | CONFIG_NET_VENDOR_ADAPTEC=y | ||
1810 | CONFIG_ADAPTEC_STARFIRE=m | ||
1811 | CONFIG_NET_VENDOR_ALTEON=y | ||
1812 | CONFIG_ACENIC=m | ||
1813 | # CONFIG_ACENIC_OMIT_TIGON_I is not set | ||
1814 | CONFIG_NET_VENDOR_AMD=y | ||
1815 | CONFIG_AMD8111_ETH=m | ||
1816 | CONFIG_PCNET32=m | ||
1817 | CONFIG_NET_VENDOR_ARC=y | ||
1818 | CONFIG_ARC_EMAC=m | ||
1819 | CONFIG_NET_VENDOR_ATHEROS=y | ||
1820 | CONFIG_ATL2=m | ||
1821 | CONFIG_ATL1=m | ||
1822 | CONFIG_ATL1E=m | ||
1823 | CONFIG_ATL1C=m | ||
1824 | CONFIG_ALX=m | ||
1825 | CONFIG_NET_CADENCE=y | ||
1826 | CONFIG_ARM_AT91_ETHER=m | ||
1827 | CONFIG_MACB=m | ||
1828 | CONFIG_NET_VENDOR_BROADCOM=y | ||
1829 | CONFIG_B44=m | ||
1830 | CONFIG_B44_PCI_AUTOSELECT=y | ||
1831 | CONFIG_B44_PCICORE_AUTOSELECT=y | ||
1832 | CONFIG_B44_PCI=y | ||
1833 | CONFIG_BNX2=m | ||
1834 | CONFIG_CNIC=m | ||
1835 | CONFIG_TIGON3=m | ||
1836 | CONFIG_BNX2X=m | ||
1837 | CONFIG_BNX2X_SRIOV=y | ||
1838 | CONFIG_NET_VENDOR_BROCADE=y | ||
1839 | CONFIG_BNA=m | ||
1840 | CONFIG_NET_CALXEDA_XGMAC=m | ||
1841 | CONFIG_NET_VENDOR_CHELSIO=y | ||
1842 | CONFIG_CHELSIO_T1=m | ||
1843 | CONFIG_CHELSIO_T1_1G=y | ||
1844 | CONFIG_CHELSIO_T3=m | ||
1845 | CONFIG_CHELSIO_T4=m | ||
1846 | CONFIG_CHELSIO_T4VF=m | ||
1847 | CONFIG_NET_VENDOR_CISCO=y | ||
1848 | CONFIG_ENIC=m | ||
1849 | CONFIG_DNET=m | ||
1850 | CONFIG_NET_VENDOR_DEC=y | ||
1851 | CONFIG_NET_TULIP=y | ||
1852 | CONFIG_DE2104X=m | ||
1853 | CONFIG_DE2104X_DSL=0 | ||
1854 | CONFIG_TULIP=m | ||
1855 | # CONFIG_TULIP_MWI is not set | ||
1856 | # CONFIG_TULIP_MMIO is not set | ||
1857 | # CONFIG_TULIP_NAPI is not set | ||
1858 | CONFIG_WINBOND_840=m | ||
1859 | CONFIG_DM9102=m | ||
1860 | CONFIG_ULI526X=m | ||
1861 | CONFIG_NET_VENDOR_DLINK=y | ||
1862 | CONFIG_DL2K=m | ||
1863 | CONFIG_SUNDANCE=m | ||
1864 | # CONFIG_SUNDANCE_MMIO is not set | ||
1865 | CONFIG_NET_VENDOR_EMULEX=y | ||
1866 | CONFIG_BE2NET=m | ||
1867 | CONFIG_NET_VENDOR_EXAR=y | ||
1868 | CONFIG_S2IO=m | ||
1869 | CONFIG_VXGE=m | ||
1870 | # CONFIG_VXGE_DEBUG_TRACE_ALL is not set | ||
1871 | CONFIG_NET_VENDOR_HP=y | ||
1872 | CONFIG_HP100=m | ||
1873 | CONFIG_NET_VENDOR_INTEL=y | ||
1874 | CONFIG_E100=m | ||
1875 | CONFIG_E1000=m | ||
1876 | CONFIG_E1000E=m | ||
1877 | CONFIG_IGB=m | ||
1878 | CONFIG_IGB_HWMON=y | ||
1879 | CONFIG_IGBVF=m | ||
1880 | CONFIG_IXGB=m | ||
1881 | CONFIG_IXGBE=m | ||
1882 | CONFIG_IXGBE_HWMON=y | ||
1883 | CONFIG_IXGBE_DCB=y | ||
1884 | CONFIG_IXGBEVF=m | ||
1885 | CONFIG_I40E=m | ||
1886 | CONFIG_NET_VENDOR_I825XX=y | ||
1887 | CONFIG_IP1000=m | ||
1888 | CONFIG_JME=m | ||
1889 | CONFIG_NET_VENDOR_MARVELL=y | ||
1890 | CONFIG_MVMDIO=m | ||
1891 | CONFIG_SKGE=m | ||
1892 | # CONFIG_SKGE_DEBUG is not set | ||
1893 | CONFIG_SKGE_GENESIS=y | ||
1894 | CONFIG_SKY2=m | ||
1895 | # CONFIG_SKY2_DEBUG is not set | ||
1896 | CONFIG_NET_VENDOR_MELLANOX=y | ||
1897 | CONFIG_MLX4_EN=y | ||
1898 | CONFIG_MLX4_EN_DCB=y | ||
1899 | CONFIG_MLX4_CORE=y | ||
1900 | # CONFIG_MLX4_DEBUG is not set | ||
1901 | CONFIG_MLX5_CORE=m | ||
1902 | CONFIG_NET_VENDOR_MICREL=y | ||
1903 | CONFIG_KS8842=m | ||
1904 | CONFIG_KS8851=m | ||
1905 | CONFIG_KS8851_MLL=m | ||
1906 | CONFIG_KSZ884X_PCI=m | ||
1907 | CONFIG_NET_VENDOR_MICROCHIP=y | ||
1908 | CONFIG_ENC28J60=m | ||
1909 | # CONFIG_ENC28J60_WRITEVERIFY is not set | ||
1910 | CONFIG_NET_VENDOR_MYRI=y | ||
1911 | CONFIG_MYRI10GE=m | ||
1912 | CONFIG_FEALNX=m | ||
1913 | CONFIG_NET_VENDOR_NATSEMI=y | ||
1914 | CONFIG_NATSEMI=m | ||
1915 | CONFIG_NS83820=m | ||
1916 | CONFIG_NET_VENDOR_8390=y | ||
1917 | CONFIG_NE2K_PCI=m | ||
1918 | CONFIG_NET_VENDOR_NVIDIA=y | ||
1919 | CONFIG_FORCEDETH=m | ||
1920 | CONFIG_NET_VENDOR_OKI=y | ||
1921 | CONFIG_ETHOC=m | ||
1922 | CONFIG_NET_PACKET_ENGINE=y | ||
1923 | CONFIG_HAMACHI=m | ||
1924 | CONFIG_YELLOWFIN=m | ||
1925 | CONFIG_NET_VENDOR_QLOGIC=y | ||
1926 | CONFIG_QLA3XXX=m | ||
1927 | CONFIG_QLCNIC=m | ||
1928 | CONFIG_QLCNIC_SRIOV=y | ||
1929 | CONFIG_QLCNIC_DCB=y | ||
1930 | CONFIG_QLGE=m | ||
1931 | CONFIG_NETXEN_NIC=m | ||
1932 | CONFIG_NET_VENDOR_REALTEK=y | ||
1933 | CONFIG_8139CP=m | ||
1934 | CONFIG_8139TOO=m | ||
1935 | CONFIG_8139TOO_PIO=y | ||
1936 | # CONFIG_8139TOO_TUNE_TWISTER is not set | ||
1937 | CONFIG_8139TOO_8129=y | ||
1938 | # CONFIG_8139_OLD_RX_RESET is not set | ||
1939 | CONFIG_R8169=m | ||
1940 | CONFIG_SH_ETH=m | ||
1941 | CONFIG_NET_VENDOR_RDC=y | ||
1942 | CONFIG_R6040=m | ||
1943 | CONFIG_NET_VENDOR_SEEQ=y | ||
1944 | CONFIG_NET_VENDOR_SILAN=y | ||
1945 | CONFIG_SC92031=m | ||
1946 | CONFIG_NET_VENDOR_SIS=y | ||
1947 | CONFIG_SIS900=m | ||
1948 | CONFIG_SIS190=m | ||
1949 | CONFIG_SFC=m | ||
1950 | CONFIG_SFC_MTD=y | ||
1951 | CONFIG_SFC_MCDI_MON=y | ||
1952 | CONFIG_SFC_SRIOV=y | ||
1953 | CONFIG_NET_VENDOR_SMSC=y | ||
1954 | CONFIG_SMC91X=y | ||
1955 | CONFIG_EPIC100=m | ||
1956 | CONFIG_SMSC911X=m | ||
1957 | # CONFIG_SMSC911X_ARCH_HOOKS is not set | ||
1958 | CONFIG_SMSC9420=m | ||
1959 | CONFIG_NET_VENDOR_STMICRO=y | ||
1960 | CONFIG_STMMAC_ETH=m | ||
1961 | CONFIG_STMMAC_PLATFORM=y | ||
1962 | # CONFIG_STMMAC_PCI is not set | ||
1963 | # CONFIG_STMMAC_DEBUG_FS is not set | ||
1964 | # CONFIG_STMMAC_DA is not set | ||
1965 | CONFIG_NET_VENDOR_SUN=y | ||
1966 | CONFIG_HAPPYMEAL=m | ||
1967 | CONFIG_SUNGEM=m | ||
1968 | CONFIG_CASSINI=m | ||
1969 | CONFIG_NIU=m | ||
1970 | CONFIG_NET_VENDOR_TEHUTI=y | ||
1971 | CONFIG_TEHUTI=m | ||
1972 | CONFIG_NET_VENDOR_TI=y | ||
1973 | CONFIG_TLAN=m | ||
1974 | CONFIG_NET_VENDOR_VIA=y | ||
1975 | CONFIG_VIA_RHINE=m | ||
1976 | CONFIG_VIA_RHINE_MMIO=y | ||
1977 | CONFIG_VIA_VELOCITY=m | ||
1978 | CONFIG_NET_VENDOR_WIZNET=y | ||
1979 | CONFIG_WIZNET_W5100=m | ||
1980 | CONFIG_WIZNET_W5300=m | ||
1981 | # CONFIG_WIZNET_BUS_DIRECT is not set | ||
1982 | # CONFIG_WIZNET_BUS_INDIRECT is not set | ||
1983 | CONFIG_WIZNET_BUS_ANY=y | ||
1984 | CONFIG_FDDI=y | ||
1985 | CONFIG_DEFXX=m | ||
1986 | # CONFIG_DEFXX_MMIO is not set | ||
1987 | CONFIG_SKFP=m | ||
1988 | # CONFIG_HIPPI is not set | ||
1989 | CONFIG_PHYLIB=y | ||
1990 | |||
1991 | # | ||
1992 | # MII PHY device drivers | ||
1993 | # | ||
1994 | CONFIG_AT803X_PHY=y | ||
1995 | CONFIG_AMD_PHY=y | ||
1996 | CONFIG_MARVELL_PHY=y | ||
1997 | CONFIG_DAVICOM_PHY=y | ||
1998 | CONFIG_QSEMI_PHY=y | ||
1999 | CONFIG_LXT_PHY=y | ||
2000 | CONFIG_CICADA_PHY=y | ||
2001 | CONFIG_VITESSE_PHY=y | ||
2002 | CONFIG_SMSC_PHY=y | ||
2003 | CONFIG_BROADCOM_PHY=y | ||
2004 | CONFIG_BCM87XX_PHY=y | ||
2005 | CONFIG_ICPLUS_PHY=y | ||
2006 | CONFIG_REALTEK_PHY=y | ||
2007 | CONFIG_NATIONAL_PHY=y | ||
2008 | CONFIG_STE10XP=y | ||
2009 | CONFIG_LSI_ET1011C_PHY=y | ||
2010 | CONFIG_MICREL_PHY=y | ||
2011 | CONFIG_FIXED_PHY=y | ||
2012 | CONFIG_MDIO_BITBANG=y | ||
2013 | CONFIG_MDIO_GPIO=y | ||
2014 | CONFIG_MDIO_BUS_MUX=y | ||
2015 | CONFIG_MDIO_BUS_MUX_GPIO=y | ||
2016 | CONFIG_MDIO_BUS_MUX_MMIOREG=y | ||
2017 | CONFIG_MICREL_KS8995MA=m | ||
2018 | CONFIG_PLIP=m | ||
2019 | CONFIG_PPP=y | ||
2020 | CONFIG_PPP_BSDCOMP=m | ||
2021 | CONFIG_PPP_DEFLATE=m | ||
2022 | CONFIG_PPP_FILTER=y | ||
2023 | CONFIG_PPP_MPPE=m | ||
2024 | CONFIG_PPP_MULTILINK=y | ||
2025 | CONFIG_PPPOATM=m | ||
2026 | CONFIG_PPPOE=m | ||
2027 | CONFIG_PPTP=m | ||
2028 | CONFIG_PPPOL2TP=m | ||
2029 | CONFIG_PPP_ASYNC=m | ||
2030 | CONFIG_PPP_SYNC_TTY=m | ||
2031 | CONFIG_SLIP=m | ||
2032 | CONFIG_SLHC=y | ||
2033 | CONFIG_SLIP_COMPRESSED=y | ||
2034 | CONFIG_SLIP_SMART=y | ||
2035 | CONFIG_SLIP_MODE_SLIP6=y | ||
2036 | CONFIG_WLAN=y | ||
2037 | CONFIG_LIBERTAS_THINFIRM=m | ||
2038 | # CONFIG_LIBERTAS_THINFIRM_DEBUG is not set | ||
2039 | CONFIG_ATMEL=m | ||
2040 | CONFIG_PCI_ATMEL=m | ||
2041 | # CONFIG_PRISM54 is not set | ||
2042 | CONFIG_RTL8180=m | ||
2043 | CONFIG_ADM8211=m | ||
2044 | CONFIG_MAC80211_HWSIM=m | ||
2045 | CONFIG_MWL8K=m | ||
2046 | CONFIG_ATH_COMMON=m | ||
2047 | CONFIG_ATH_CARDS=m | ||
2048 | # CONFIG_ATH_DEBUG is not set | ||
2049 | CONFIG_ATH5K=m | ||
2050 | # CONFIG_ATH5K_DEBUG is not set | ||
2051 | # CONFIG_ATH5K_TRACER is not set | ||
2052 | CONFIG_ATH5K_PCI=y | ||
2053 | CONFIG_ATH9K_HW=m | ||
2054 | CONFIG_ATH9K_COMMON=m | ||
2055 | CONFIG_ATH9K_BTCOEX_SUPPORT=y | ||
2056 | CONFIG_ATH9K=m | ||
2057 | CONFIG_ATH9K_PCI=y | ||
2058 | CONFIG_ATH9K_AHB=y | ||
2059 | CONFIG_ATH9K_DEBUGFS=y | ||
2060 | CONFIG_ATH9K_LEGACY_RATE_CONTROL=y | ||
2061 | CONFIG_ATH9K_RFKILL=y | ||
2062 | CONFIG_ATH6KL=m | ||
2063 | CONFIG_ATH6KL_SDIO=m | ||
2064 | # CONFIG_ATH6KL_DEBUG is not set | ||
2065 | # CONFIG_ATH6KL_TRACING is not set | ||
2066 | CONFIG_WIL6210=m | ||
2067 | CONFIG_WIL6210_ISR_COR=y | ||
2068 | CONFIG_WIL6210_TRACING=y | ||
2069 | CONFIG_ATH10K=m | ||
2070 | CONFIG_ATH10K_PCI=m | ||
2071 | # CONFIG_ATH10K_DEBUG is not set | ||
2072 | CONFIG_ATH10K_DEBUGFS=y | ||
2073 | CONFIG_ATH10K_TRACING=y | ||
2074 | CONFIG_WCN36XX=m | ||
2075 | # CONFIG_WCN36XX_DEBUGFS is not set | ||
2076 | CONFIG_B43=m | ||
2077 | CONFIG_B43_BCMA=y | ||
2078 | CONFIG_B43_SSB=y | ||
2079 | CONFIG_B43_PCI_AUTOSELECT=y | ||
2080 | CONFIG_B43_PCICORE_AUTOSELECT=y | ||
2081 | # CONFIG_B43_SDIO is not set | ||
2082 | CONFIG_B43_BCMA_PIO=y | ||
2083 | CONFIG_B43_PIO=y | ||
2084 | CONFIG_B43_PHY_N=y | ||
2085 | CONFIG_B43_PHY_LP=y | ||
2086 | CONFIG_B43_PHY_HT=y | ||
2087 | CONFIG_B43_LEDS=y | ||
2088 | CONFIG_B43_HWRNG=y | ||
2089 | # CONFIG_B43_DEBUG is not set | ||
2090 | CONFIG_B43LEGACY=m | ||
2091 | CONFIG_B43LEGACY_PCI_AUTOSELECT=y | ||
2092 | CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y | ||
2093 | CONFIG_B43LEGACY_LEDS=y | ||
2094 | CONFIG_B43LEGACY_HWRNG=y | ||
2095 | # CONFIG_B43LEGACY_DEBUG is not set | ||
2096 | CONFIG_B43LEGACY_DMA=y | ||
2097 | CONFIG_B43LEGACY_PIO=y | ||
2098 | CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y | ||
2099 | # CONFIG_B43LEGACY_DMA_MODE is not set | ||
2100 | # CONFIG_B43LEGACY_PIO_MODE is not set | ||
2101 | CONFIG_BRCMUTIL=m | ||
2102 | CONFIG_BRCMSMAC=m | ||
2103 | CONFIG_BRCMFMAC=m | ||
2104 | CONFIG_BRCMFMAC_SDIO=y | ||
2105 | CONFIG_BRCM_TRACING=y | ||
2106 | # CONFIG_BRCMDBG is not set | ||
2107 | CONFIG_HOSTAP=m | ||
2108 | CONFIG_HOSTAP_FIRMWARE=y | ||
2109 | CONFIG_HOSTAP_FIRMWARE_NVRAM=y | ||
2110 | CONFIG_HOSTAP_PLX=m | ||
2111 | CONFIG_HOSTAP_PCI=m | ||
2112 | CONFIG_IPW2100=m | ||
2113 | CONFIG_IPW2100_MONITOR=y | ||
2114 | # CONFIG_IPW2100_DEBUG is not set | ||
2115 | CONFIG_IPW2200=m | ||
2116 | CONFIG_IPW2200_MONITOR=y | ||
2117 | CONFIG_IPW2200_RADIOTAP=y | ||
2118 | CONFIG_IPW2200_PROMISCUOUS=y | ||
2119 | CONFIG_IPW2200_QOS=y | ||
2120 | # CONFIG_IPW2200_DEBUG is not set | ||
2121 | CONFIG_LIBIPW=m | ||
2122 | # CONFIG_LIBIPW_DEBUG is not set | ||
2123 | CONFIG_IWLWIFI=m | ||
2124 | CONFIG_IWLDVM=m | ||
2125 | CONFIG_IWLMVM=m | ||
2126 | CONFIG_IWLWIFI_OPMODE_MODULAR=y | ||
2127 | |||
2128 | # | ||
2129 | # Debugging Options | ||
2130 | # | ||
2131 | # CONFIG_IWLWIFI_DEBUG is not set | ||
2132 | CONFIG_IWLWIFI_DEBUGFS=y | ||
2133 | CONFIG_IWLWIFI_DEVICE_TRACING=y | ||
2134 | CONFIG_IWLEGACY=m | ||
2135 | CONFIG_IWL4965=m | ||
2136 | CONFIG_IWL3945=m | ||
2137 | |||
2138 | # | ||
2139 | # iwl3945 / iwl4965 Debugging Options | ||
2140 | # | ||
2141 | # CONFIG_IWLEGACY_DEBUG is not set | ||
2142 | CONFIG_IWLEGACY_DEBUGFS=y | ||
2143 | CONFIG_LIBERTAS=m | ||
2144 | CONFIG_LIBERTAS_SDIO=m | ||
2145 | CONFIG_LIBERTAS_SPI=m | ||
2146 | # CONFIG_LIBERTAS_DEBUG is not set | ||
2147 | CONFIG_LIBERTAS_MESH=y | ||
2148 | CONFIG_HERMES=m | ||
2149 | # CONFIG_HERMES_PRISM is not set | ||
2150 | CONFIG_HERMES_CACHE_FW_ON_INIT=y | ||
2151 | CONFIG_PLX_HERMES=m | ||
2152 | CONFIG_TMD_HERMES=m | ||
2153 | CONFIG_NORTEL_HERMES=m | ||
2154 | CONFIG_P54_COMMON=m | ||
2155 | CONFIG_P54_PCI=m | ||
2156 | CONFIG_P54_SPI=m | ||
2157 | # CONFIG_P54_SPI_DEFAULT_EEPROM is not set | ||
2158 | CONFIG_P54_LEDS=y | ||
2159 | CONFIG_RT2X00=m | ||
2160 | CONFIG_RT2400PCI=m | ||
2161 | CONFIG_RT2500PCI=m | ||
2162 | CONFIG_RT61PCI=m | ||
2163 | CONFIG_RT2800PCI=m | ||
2164 | CONFIG_RT2800PCI_RT33XX=y | ||
2165 | CONFIG_RT2800PCI_RT35XX=y | ||
2166 | CONFIG_RT2800PCI_RT53XX=y | ||
2167 | CONFIG_RT2800PCI_RT3290=y | ||
2168 | CONFIG_RT2800_LIB=m | ||
2169 | CONFIG_RT2800_LIB_MMIO=m | ||
2170 | CONFIG_RT2X00_LIB_MMIO=m | ||
2171 | CONFIG_RT2X00_LIB_PCI=m | ||
2172 | CONFIG_RT2X00_LIB=m | ||
2173 | CONFIG_RT2X00_LIB_FIRMWARE=y | ||
2174 | CONFIG_RT2X00_LIB_CRYPTO=y | ||
2175 | CONFIG_RT2X00_LIB_LEDS=y | ||
2176 | # CONFIG_RT2X00_LIB_DEBUGFS is not set | ||
2177 | # CONFIG_RT2X00_DEBUG is not set | ||
2178 | CONFIG_RTL_CARDS=m | ||
2179 | CONFIG_RTL8192CE=m | ||
2180 | CONFIG_RTL8192SE=m | ||
2181 | CONFIG_RTL8192DE=m | ||
2182 | CONFIG_RTL8723AE=m | ||
2183 | CONFIG_RTL8723BE=m | ||
2184 | CONFIG_RTL8188EE=m | ||
2185 | CONFIG_RTLWIFI=m | ||
2186 | CONFIG_RTLWIFI_PCI=m | ||
2187 | # CONFIG_RTLWIFI_DEBUG is not set | ||
2188 | CONFIG_RTL8192C_COMMON=m | ||
2189 | CONFIG_RTL8723_COMMON=m | ||
2190 | CONFIG_RTLBTCOEXIST=m | ||
2191 | CONFIG_WL_TI=y | ||
2192 | CONFIG_WL1251=m | ||
2193 | CONFIG_WL1251_SPI=m | ||
2194 | CONFIG_WL1251_SDIO=m | ||
2195 | CONFIG_WL12XX=m | ||
2196 | CONFIG_WL18XX=m | ||
2197 | CONFIG_WLCORE=m | ||
2198 | CONFIG_WLCORE_SPI=m | ||
2199 | CONFIG_WLCORE_SDIO=m | ||
2200 | CONFIG_WILINK_PLATFORM_DATA=y | ||
2201 | CONFIG_MWIFIEX=m | ||
2202 | CONFIG_MWIFIEX_SDIO=m | ||
2203 | CONFIG_MWIFIEX_PCIE=m | ||
2204 | CONFIG_CW1200=m | ||
2205 | CONFIG_CW1200_WLAN_SDIO=m | ||
2206 | CONFIG_CW1200_WLAN_SPI=m | ||
2207 | |||
2208 | # | ||
2209 | # WiMAX Wireless Broadband devices | ||
2210 | # | ||
2211 | |||
2212 | # | ||
2213 | # Enable USB support to see WiMAX USB drivers | ||
2214 | # | ||
2215 | CONFIG_WAN=y | ||
2216 | CONFIG_HDLC=m | ||
2217 | CONFIG_HDLC_RAW=m | ||
2218 | CONFIG_HDLC_RAW_ETH=m | ||
2219 | CONFIG_HDLC_CISCO=m | ||
2220 | CONFIG_HDLC_FR=m | ||
2221 | CONFIG_HDLC_PPP=m | ||
2222 | CONFIG_HDLC_X25=m | ||
2223 | CONFIG_PCI200SYN=m | ||
2224 | CONFIG_WANXL=m | ||
2225 | CONFIG_PC300TOO=m | ||
2226 | CONFIG_FARSYNC=m | ||
2227 | CONFIG_DSCC4=m | ||
2228 | CONFIG_DSCC4_PCISYNC=y | ||
2229 | CONFIG_DSCC4_PCI_RST=y | ||
2230 | CONFIG_DLCI=m | ||
2231 | CONFIG_DLCI_MAX=8 | ||
2232 | CONFIG_LAPBETHER=m | ||
2233 | CONFIG_X25_ASY=m | ||
2234 | CONFIG_IEEE802154_DRIVERS=m | ||
2235 | # CONFIG_IEEE802154_FAKEHARD is not set | ||
2236 | CONFIG_IEEE802154_FAKELB=m | ||
2237 | CONFIG_IEEE802154_AT86RF230=m | ||
2238 | CONFIG_IEEE802154_MRF24J40=m | ||
2239 | CONFIG_XEN_NETDEV_FRONTEND=y | ||
2240 | CONFIG_XEN_NETDEV_BACKEND=m | ||
2241 | CONFIG_VMXNET3=m | ||
2242 | CONFIG_ISDN=y | ||
2243 | CONFIG_ISDN_I4L=m | ||
2244 | CONFIG_ISDN_PPP=y | ||
2245 | CONFIG_ISDN_PPP_VJ=y | ||
2246 | CONFIG_ISDN_MPP=y | ||
2247 | CONFIG_IPPP_FILTER=y | ||
2248 | CONFIG_ISDN_PPP_BSDCOMP=m | ||
2249 | CONFIG_ISDN_AUDIO=y | ||
2250 | CONFIG_ISDN_TTY_FAX=y | ||
2251 | CONFIG_ISDN_X25=y | ||
2252 | |||
2253 | # | ||
2254 | # ISDN feature submodules | ||
2255 | # | ||
2256 | CONFIG_ISDN_DIVERSION=m | ||
2257 | |||
2258 | # | ||
2259 | # ISDN4Linux hardware drivers | ||
2260 | # | ||
2261 | |||
2262 | # | ||
2263 | # Passive cards | ||
2264 | # | ||
2265 | CONFIG_ISDN_DRV_HISAX=m | ||
2266 | |||
2267 | # | ||
2268 | # D-channel protocol features | ||
2269 | # | ||
2270 | CONFIG_HISAX_EURO=y | ||
2271 | CONFIG_DE_AOC=y | ||
2272 | # CONFIG_HISAX_NO_SENDCOMPLETE is not set | ||
2273 | # CONFIG_HISAX_NO_LLC is not set | ||
2274 | # CONFIG_HISAX_NO_KEYPAD is not set | ||
2275 | CONFIG_HISAX_1TR6=y | ||
2276 | CONFIG_HISAX_NI1=y | ||
2277 | CONFIG_HISAX_MAX_CARDS=8 | ||
2278 | |||
2279 | # | ||
2280 | # HiSax supported cards | ||
2281 | # | ||
2282 | CONFIG_HISAX_16_3=y | ||
2283 | CONFIG_HISAX_TELESPCI=y | ||
2284 | CONFIG_HISAX_S0BOX=y | ||
2285 | CONFIG_HISAX_FRITZPCI=y | ||
2286 | CONFIG_HISAX_AVM_A1_PCMCIA=y | ||
2287 | CONFIG_HISAX_ELSA=y | ||
2288 | CONFIG_HISAX_DIEHLDIVA=y | ||
2289 | CONFIG_HISAX_SEDLBAUER=y | ||
2290 | CONFIG_HISAX_NICCY=y | ||
2291 | CONFIG_HISAX_BKM_A4T=y | ||
2292 | CONFIG_HISAX_SCT_QUADRO=y | ||
2293 | CONFIG_HISAX_GAZEL=y | ||
2294 | CONFIG_HISAX_HFC_PCI=y | ||
2295 | CONFIG_HISAX_W6692=y | ||
2296 | CONFIG_HISAX_HFC_SX=y | ||
2297 | # CONFIG_HISAX_DEBUG is not set | ||
2298 | |||
2299 | # | ||
2300 | # HiSax PCMCIA card service modules | ||
2301 | # | ||
2302 | |||
2303 | # | ||
2304 | # HiSax sub driver modules | ||
2305 | # | ||
2306 | CONFIG_HISAX_HFC4S8S=m | ||
2307 | CONFIG_HISAX_FRITZ_PCIPNP=m | ||
2308 | |||
2309 | # | ||
2310 | # Active cards | ||
2311 | # | ||
2312 | CONFIG_ISDN_CAPI=m | ||
2313 | CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y | ||
2314 | CONFIG_CAPI_TRACE=y | ||
2315 | CONFIG_ISDN_CAPI_MIDDLEWARE=y | ||
2316 | CONFIG_ISDN_CAPI_CAPI20=m | ||
2317 | CONFIG_ISDN_CAPI_CAPIDRV=m | ||
2318 | |||
2319 | # | ||
2320 | # CAPI hardware drivers | ||
2321 | # | ||
2322 | CONFIG_CAPI_AVM=y | ||
2323 | CONFIG_ISDN_DRV_AVMB1_B1PCI=m | ||
2324 | CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y | ||
2325 | CONFIG_ISDN_DRV_AVMB1_T1PCI=m | ||
2326 | CONFIG_ISDN_DRV_AVMB1_C4=m | ||
2327 | CONFIG_CAPI_EICON=y | ||
2328 | CONFIG_ISDN_DIVAS=m | ||
2329 | CONFIG_ISDN_DIVAS_BRIPCI=y | ||
2330 | CONFIG_ISDN_DIVAS_PRIPCI=y | ||
2331 | CONFIG_ISDN_DIVAS_DIVACAPI=m | ||
2332 | CONFIG_ISDN_DIVAS_USERIDI=m | ||
2333 | CONFIG_ISDN_DIVAS_MAINT=m | ||
2334 | CONFIG_ISDN_DRV_GIGASET=m | ||
2335 | # CONFIG_GIGASET_CAPI is not set | ||
2336 | CONFIG_GIGASET_I4L=y | ||
2337 | # CONFIG_GIGASET_DUMMYLL is not set | ||
2338 | CONFIG_GIGASET_M101=m | ||
2339 | # CONFIG_GIGASET_DEBUG is not set | ||
2340 | CONFIG_HYSDN=m | ||
2341 | CONFIG_HYSDN_CAPI=y | ||
2342 | CONFIG_MISDN=m | ||
2343 | CONFIG_MISDN_DSP=m | ||
2344 | CONFIG_MISDN_L1OIP=m | ||
2345 | |||
2346 | # | ||
2347 | # mISDN hardware drivers | ||
2348 | # | ||
2349 | CONFIG_MISDN_HFCPCI=m | ||
2350 | CONFIG_MISDN_HFCMULTI=m | ||
2351 | CONFIG_MISDN_AVMFRITZ=m | ||
2352 | CONFIG_MISDN_SPEEDFAX=m | ||
2353 | CONFIG_MISDN_INFINEON=m | ||
2354 | CONFIG_MISDN_W6692=m | ||
2355 | CONFIG_MISDN_NETJET=m | ||
2356 | CONFIG_MISDN_IPAC=m | ||
2357 | CONFIG_MISDN_ISAR=m | ||
2358 | CONFIG_ISDN_HDLC=m | ||
2359 | |||
2360 | # | ||
2361 | # Input device support | ||
2362 | # | ||
2363 | CONFIG_INPUT=y | ||
2364 | CONFIG_INPUT_FF_MEMLESS=m | ||
2365 | CONFIG_INPUT_POLLDEV=m | ||
2366 | CONFIG_INPUT_SPARSEKMAP=m | ||
2367 | CONFIG_INPUT_MATRIXKMAP=m | ||
2368 | |||
2369 | # | ||
2370 | # Userland interfaces | ||
2371 | # | ||
2372 | CONFIG_INPUT_MOUSEDEV=y | ||
2373 | CONFIG_INPUT_MOUSEDEV_PSAUX=y | ||
2374 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
2375 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
2376 | CONFIG_INPUT_JOYDEV=m | ||
2377 | CONFIG_INPUT_EVDEV=y | ||
2378 | CONFIG_INPUT_EVBUG=m | ||
2379 | |||
2380 | # | ||
2381 | # Input Device Drivers | ||
2382 | # | ||
2383 | CONFIG_INPUT_KEYBOARD=y | ||
2384 | CONFIG_KEYBOARD_ADP5520=m | ||
2385 | CONFIG_KEYBOARD_ADP5588=m | ||
2386 | CONFIG_KEYBOARD_ADP5589=m | ||
2387 | CONFIG_KEYBOARD_ATKBD=y | ||
2388 | CONFIG_KEYBOARD_QT1070=m | ||
2389 | CONFIG_KEYBOARD_QT2160=m | ||
2390 | CONFIG_KEYBOARD_LKKBD=m | ||
2391 | CONFIG_KEYBOARD_GPIO=m | ||
2392 | CONFIG_KEYBOARD_GPIO_POLLED=m | ||
2393 | CONFIG_KEYBOARD_TCA6416=m | ||
2394 | CONFIG_KEYBOARD_TCA8418=m | ||
2395 | CONFIG_KEYBOARD_MATRIX=m | ||
2396 | CONFIG_KEYBOARD_LM8323=m | ||
2397 | CONFIG_KEYBOARD_LM8333=m | ||
2398 | CONFIG_KEYBOARD_MAX7359=m | ||
2399 | CONFIG_KEYBOARD_MCS=m | ||
2400 | CONFIG_KEYBOARD_MPR121=m | ||
2401 | CONFIG_KEYBOARD_NEWTON=m | ||
2402 | CONFIG_KEYBOARD_OPENCORES=m | ||
2403 | CONFIG_KEYBOARD_SAMSUNG=m | ||
2404 | CONFIG_KEYBOARD_STOWAWAY=m | ||
2405 | CONFIG_KEYBOARD_SUNKBD=m | ||
2406 | CONFIG_KEYBOARD_STMPE=m | ||
2407 | CONFIG_KEYBOARD_TC3589X=m | ||
2408 | CONFIG_KEYBOARD_XTKBD=m | ||
2409 | CONFIG_KEYBOARD_CROS_EC=m | ||
2410 | CONFIG_INPUT_MOUSE=y | ||
2411 | CONFIG_MOUSE_PS2=m | ||
2412 | CONFIG_MOUSE_PS2_ALPS=y | ||
2413 | CONFIG_MOUSE_PS2_LOGIPS2PP=y | ||
2414 | CONFIG_MOUSE_PS2_SYNAPTICS=y | ||
2415 | CONFIG_MOUSE_PS2_CYPRESS=y | ||
2416 | CONFIG_MOUSE_PS2_TRACKPOINT=y | ||
2417 | CONFIG_MOUSE_PS2_ELANTECH=y | ||
2418 | CONFIG_MOUSE_PS2_SENTELIC=y | ||
2419 | CONFIG_MOUSE_PS2_TOUCHKIT=y | ||
2420 | CONFIG_MOUSE_SERIAL=m | ||
2421 | CONFIG_MOUSE_CYAPA=m | ||
2422 | CONFIG_MOUSE_VSXXXAA=m | ||
2423 | CONFIG_MOUSE_GPIO=m | ||
2424 | CONFIG_MOUSE_SYNAPTICS_I2C=m | ||
2425 | CONFIG_INPUT_JOYSTICK=y | ||
2426 | CONFIG_JOYSTICK_ANALOG=m | ||
2427 | CONFIG_JOYSTICK_A3D=m | ||
2428 | CONFIG_JOYSTICK_ADI=m | ||
2429 | CONFIG_JOYSTICK_COBRA=m | ||
2430 | CONFIG_JOYSTICK_GF2K=m | ||
2431 | CONFIG_JOYSTICK_GRIP=m | ||
2432 | CONFIG_JOYSTICK_GRIP_MP=m | ||
2433 | CONFIG_JOYSTICK_GUILLEMOT=m | ||
2434 | CONFIG_JOYSTICK_INTERACT=m | ||
2435 | CONFIG_JOYSTICK_SIDEWINDER=m | ||
2436 | CONFIG_JOYSTICK_TMDC=m | ||
2437 | CONFIG_JOYSTICK_IFORCE=m | ||
2438 | CONFIG_JOYSTICK_IFORCE_232=y | ||
2439 | CONFIG_JOYSTICK_WARRIOR=m | ||
2440 | CONFIG_JOYSTICK_MAGELLAN=m | ||
2441 | CONFIG_JOYSTICK_SPACEORB=m | ||
2442 | CONFIG_JOYSTICK_SPACEBALL=m | ||
2443 | CONFIG_JOYSTICK_STINGER=m | ||
2444 | CONFIG_JOYSTICK_TWIDJOY=m | ||
2445 | CONFIG_JOYSTICK_ZHENHUA=m | ||
2446 | CONFIG_JOYSTICK_DB9=m | ||
2447 | CONFIG_JOYSTICK_GAMECON=m | ||
2448 | CONFIG_JOYSTICK_TURBOGRAFX=m | ||
2449 | CONFIG_JOYSTICK_AS5011=m | ||
2450 | CONFIG_JOYSTICK_JOYDUMP=m | ||
2451 | CONFIG_JOYSTICK_WALKERA0701=m | ||
2452 | CONFIG_INPUT_TABLET=y | ||
2453 | CONFIG_INPUT_TOUCHSCREEN=y | ||
2454 | CONFIG_TOUCHSCREEN_88PM860X=m | ||
2455 | CONFIG_TOUCHSCREEN_ADS7846=m | ||
2456 | CONFIG_TOUCHSCREEN_AD7877=m | ||
2457 | CONFIG_TOUCHSCREEN_AD7879=m | ||
2458 | CONFIG_TOUCHSCREEN_AD7879_I2C=m | ||
2459 | CONFIG_TOUCHSCREEN_AD7879_SPI=m | ||
2460 | CONFIG_TOUCHSCREEN_ATMEL_MXT=m | ||
2461 | CONFIG_TOUCHSCREEN_AUO_PIXCIR=m | ||
2462 | CONFIG_TOUCHSCREEN_BU21013=m | ||
2463 | CONFIG_TOUCHSCREEN_CY8CTMG110=m | ||
2464 | CONFIG_TOUCHSCREEN_CYTTSP_CORE=m | ||
2465 | CONFIG_TOUCHSCREEN_CYTTSP_I2C=m | ||
2466 | CONFIG_TOUCHSCREEN_CYTTSP_SPI=m | ||
2467 | CONFIG_TOUCHSCREEN_CYTTSP4_CORE=m | ||
2468 | CONFIG_TOUCHSCREEN_CYTTSP4_I2C=m | ||
2469 | CONFIG_TOUCHSCREEN_CYTTSP4_SPI=m | ||
2470 | CONFIG_TOUCHSCREEN_DA9034=m | ||
2471 | CONFIG_TOUCHSCREEN_DA9052=m | ||
2472 | CONFIG_TOUCHSCREEN_DYNAPRO=m | ||
2473 | CONFIG_TOUCHSCREEN_HAMPSHIRE=m | ||
2474 | CONFIG_TOUCHSCREEN_EETI=m | ||
2475 | CONFIG_TOUCHSCREEN_EGALAX=m | ||
2476 | CONFIG_TOUCHSCREEN_FUJITSU=m | ||
2477 | CONFIG_TOUCHSCREEN_ILI210X=m | ||
2478 | CONFIG_TOUCHSCREEN_GUNZE=m | ||
2479 | CONFIG_TOUCHSCREEN_ELO=m | ||
2480 | CONFIG_TOUCHSCREEN_WACOM_W8001=m | ||
2481 | CONFIG_TOUCHSCREEN_WACOM_I2C=m | ||
2482 | CONFIG_TOUCHSCREEN_MAX11801=m | ||
2483 | CONFIG_TOUCHSCREEN_MCS5000=m | ||
2484 | CONFIG_TOUCHSCREEN_MMS114=m | ||
2485 | CONFIG_TOUCHSCREEN_MTOUCH=m | ||
2486 | CONFIG_TOUCHSCREEN_INEXIO=m | ||
2487 | CONFIG_TOUCHSCREEN_MK712=m | ||
2488 | CONFIG_TOUCHSCREEN_PENMOUNT=m | ||
2489 | CONFIG_TOUCHSCREEN_EDT_FT5X06=m | ||
2490 | CONFIG_TOUCHSCREEN_TOUCHRIGHT=m | ||
2491 | CONFIG_TOUCHSCREEN_TOUCHWIN=m | ||
2492 | CONFIG_TOUCHSCREEN_PIXCIR=m | ||
2493 | CONFIG_TOUCHSCREEN_WM831X=m | ||
2494 | CONFIG_TOUCHSCREEN_MC13783=m | ||
2495 | CONFIG_TOUCHSCREEN_TOUCHIT213=m | ||
2496 | CONFIG_TOUCHSCREEN_TSC_SERIO=m | ||
2497 | CONFIG_TOUCHSCREEN_TSC2005=m | ||
2498 | CONFIG_TOUCHSCREEN_TSC2007=m | ||
2499 | CONFIG_TOUCHSCREEN_W90X900=m | ||
2500 | CONFIG_TOUCHSCREEN_ST1232=m | ||
2501 | CONFIG_TOUCHSCREEN_STMPE=m | ||
2502 | CONFIG_TOUCHSCREEN_TPS6507X=m | ||
2503 | CONFIG_TOUCHSCREEN_ZFORCE=m | ||
2504 | CONFIG_INPUT_MISC=y | ||
2505 | CONFIG_INPUT_88PM860X_ONKEY=m | ||
2506 | CONFIG_INPUT_88PM80X_ONKEY=m | ||
2507 | CONFIG_INPUT_AD714X=m | ||
2508 | CONFIG_INPUT_AD714X_I2C=m | ||
2509 | CONFIG_INPUT_AD714X_SPI=m | ||
2510 | CONFIG_INPUT_BMA150=m | ||
2511 | CONFIG_INPUT_MAX8925_ONKEY=m | ||
2512 | CONFIG_INPUT_MC13783_PWRBUTTON=m | ||
2513 | CONFIG_INPUT_MMA8450=m | ||
2514 | CONFIG_INPUT_MPU3050=m | ||
2515 | CONFIG_INPUT_GP2A=m | ||
2516 | CONFIG_INPUT_GPIO_TILT_POLLED=m | ||
2517 | CONFIG_INPUT_KXTJ9=m | ||
2518 | # CONFIG_INPUT_KXTJ9_POLLED_MODE is not set | ||
2519 | CONFIG_INPUT_RETU_PWRBUTTON=m | ||
2520 | CONFIG_INPUT_TWL6040_VIBRA=m | ||
2521 | CONFIG_INPUT_UINPUT=y | ||
2522 | CONFIG_INPUT_PCF50633_PMU=m | ||
2523 | CONFIG_INPUT_PCF8574=m | ||
2524 | CONFIG_INPUT_GPIO_ROTARY_ENCODER=m | ||
2525 | CONFIG_INPUT_DA9052_ONKEY=m | ||
2526 | CONFIG_INPUT_DA9055_ONKEY=m | ||
2527 | CONFIG_INPUT_WM831X_ON=m | ||
2528 | CONFIG_INPUT_ADXL34X=m | ||
2529 | CONFIG_INPUT_ADXL34X_I2C=m | ||
2530 | CONFIG_INPUT_ADXL34X_SPI=m | ||
2531 | CONFIG_INPUT_CMA3000=m | ||
2532 | CONFIG_INPUT_CMA3000_I2C=m | ||
2533 | CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m | ||
2534 | |||
2535 | # | ||
2536 | # Hardware I/O ports | ||
2537 | # | ||
2538 | CONFIG_SERIO=y | ||
2539 | # CONFIG_SERIO_I8042 is not set | ||
2540 | CONFIG_SERIO_SERPORT=m | ||
2541 | CONFIG_SERIO_PARKBD=m | ||
2542 | CONFIG_SERIO_AMBAKMI=m | ||
2543 | CONFIG_SERIO_PCIPS2=m | ||
2544 | CONFIG_SERIO_LIBPS2=y | ||
2545 | CONFIG_SERIO_RAW=m | ||
2546 | CONFIG_SERIO_ALTERA_PS2=m | ||
2547 | CONFIG_SERIO_PS2MULT=m | ||
2548 | CONFIG_SERIO_ARC_PS2=m | ||
2549 | CONFIG_SERIO_APBPS2=m | ||
2550 | CONFIG_SERIO_OLPC_APSP=m | ||
2551 | CONFIG_GAMEPORT=m | ||
2552 | CONFIG_GAMEPORT_NS558=m | ||
2553 | CONFIG_GAMEPORT_L4=m | ||
2554 | CONFIG_GAMEPORT_EMU10K1=m | ||
2555 | CONFIG_GAMEPORT_FM801=m | ||
2556 | |||
2557 | # | ||
2558 | # Character devices | ||
2559 | # | ||
2560 | CONFIG_TTY=y | ||
2561 | CONFIG_VT=y | ||
2562 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
2563 | CONFIG_VT_CONSOLE=y | ||
2564 | CONFIG_HW_CONSOLE=y | ||
2565 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
2566 | CONFIG_UNIX98_PTYS=y | ||
2567 | CONFIG_DEVPTS_MULTIPLE_INSTANCES=y | ||
2568 | CONFIG_LEGACY_PTYS=y | ||
2569 | CONFIG_LEGACY_PTY_COUNT=0 | ||
2570 | CONFIG_SERIAL_NONSTANDARD=y | ||
2571 | CONFIG_ROCKETPORT=m | ||
2572 | CONFIG_CYCLADES=m | ||
2573 | # CONFIG_CYZ_INTR is not set | ||
2574 | CONFIG_MOXA_INTELLIO=m | ||
2575 | CONFIG_MOXA_SMARTIO=m | ||
2576 | CONFIG_SYNCLINKMP=m | ||
2577 | CONFIG_SYNCLINK_GT=m | ||
2578 | CONFIG_NOZOMI=m | ||
2579 | CONFIG_ISI=m | ||
2580 | CONFIG_N_HDLC=m | ||
2581 | # CONFIG_N_GSM is not set | ||
2582 | CONFIG_TRACE_ROUTER=m | ||
2583 | CONFIG_TRACE_SINK=m | ||
2584 | # CONFIG_DEVKMEM is not set | ||
2585 | |||
2586 | # | ||
2587 | # Serial drivers | ||
2588 | # | ||
2589 | CONFIG_SERIAL_8250=y | ||
2590 | # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set | ||
2591 | CONFIG_SERIAL_8250_CONSOLE=y | ||
2592 | CONFIG_SERIAL_8250_DMA=y | ||
2593 | CONFIG_SERIAL_8250_PCI=m | ||
2594 | CONFIG_SERIAL_8250_NR_UARTS=48 | ||
2595 | CONFIG_SERIAL_8250_RUNTIME_UARTS=32 | ||
2596 | CONFIG_SERIAL_8250_EXTENDED=y | ||
2597 | CONFIG_SERIAL_8250_MANY_PORTS=y | ||
2598 | CONFIG_SERIAL_8250_SHARE_IRQ=y | ||
2599 | # CONFIG_SERIAL_8250_DETECT_IRQ is not set | ||
2600 | CONFIG_SERIAL_8250_RSA=y | ||
2601 | CONFIG_SERIAL_8250_DW=m | ||
2602 | |||
2603 | # | ||
2604 | # Non-8250 serial port support | ||
2605 | # | ||
2606 | CONFIG_SERIAL_AMBA_PL010=m | ||
2607 | CONFIG_SERIAL_AMBA_PL011=y | ||
2608 | CONFIG_SERIAL_AMBA_PL011_CONSOLE=y | ||
2609 | CONFIG_SERIAL_MAX3100=m | ||
2610 | CONFIG_SERIAL_MAX310X=y | ||
2611 | CONFIG_SERIAL_MRST_MAX3110=m | ||
2612 | CONFIG_SERIAL_MFD_HSU=m | ||
2613 | CONFIG_SERIAL_UARTLITE=m | ||
2614 | CONFIG_SERIAL_CORE=y | ||
2615 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
2616 | CONFIG_SERIAL_JSM=m | ||
2617 | CONFIG_SERIAL_OF_PLATFORM=y | ||
2618 | CONFIG_SERIAL_SCCNXP=y | ||
2619 | CONFIG_SERIAL_SCCNXP_CONSOLE=y | ||
2620 | CONFIG_SERIAL_TIMBERDALE=m | ||
2621 | CONFIG_SERIAL_ALTERA_JTAGUART=m | ||
2622 | CONFIG_SERIAL_ALTERA_UART=m | ||
2623 | CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4 | ||
2624 | CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200 | ||
2625 | # CONFIG_SERIAL_IFX6X60 is not set | ||
2626 | CONFIG_SERIAL_PCH_UART=m | ||
2627 | CONFIG_SERIAL_XILINX_PS_UART=m | ||
2628 | CONFIG_SERIAL_ARC=m | ||
2629 | CONFIG_SERIAL_ARC_NR_PORTS=1 | ||
2630 | CONFIG_SERIAL_RP2=m | ||
2631 | CONFIG_SERIAL_RP2_NR_UARTS=32 | ||
2632 | # CONFIG_SERIAL_FSL_LPUART is not set | ||
2633 | CONFIG_TTY_PRINTK=y | ||
2634 | CONFIG_PRINTER=m | ||
2635 | # CONFIG_LP_CONSOLE is not set | ||
2636 | CONFIG_PPDEV=m | ||
2637 | CONFIG_HVC_DRIVER=y | ||
2638 | CONFIG_HVC_IRQ=y | ||
2639 | CONFIG_HVC_XEN=y | ||
2640 | CONFIG_HVC_XEN_FRONTEND=y | ||
2641 | CONFIG_VIRTIO_CONSOLE=y | ||
2642 | CONFIG_IPMI_HANDLER=y | ||
2643 | # CONFIG_IPMI_PANIC_EVENT is not set | ||
2644 | CONFIG_IPMI_DEVICE_INTERFACE=m | ||
2645 | CONFIG_IPMI_SI=m | ||
2646 | CONFIG_IPMI_WATCHDOG=m | ||
2647 | CONFIG_IPMI_POWEROFF=m | ||
2648 | CONFIG_HW_RANDOM=y | ||
2649 | CONFIG_HW_RANDOM_TIMERIOMEM=m | ||
2650 | # CONFIG_HW_RANDOM_ATMEL is not set | ||
2651 | CONFIG_HW_RANDOM_VIRTIO=m | ||
2652 | # CONFIG_HW_RANDOM_EXYNOS is not set | ||
2653 | CONFIG_HW_RANDOM_TPM=m | ||
2654 | CONFIG_R3964=m | ||
2655 | CONFIG_APPLICOM=m | ||
2656 | |||
2657 | # | ||
2658 | # PCMCIA character devices | ||
2659 | # | ||
2660 | CONFIG_RAW_DRIVER=m | ||
2661 | CONFIG_MAX_RAW_DEVS=256 | ||
2662 | CONFIG_TCG_TPM=y | ||
2663 | CONFIG_TCG_TIS_I2C_ATMEL=m | ||
2664 | CONFIG_TCG_TIS_I2C_INFINEON=m | ||
2665 | CONFIG_TCG_TIS_I2C_NUVOTON=m | ||
2666 | CONFIG_TCG_ST33_I2C=m | ||
2667 | CONFIG_TCG_XEN=m | ||
2668 | CONFIG_DEVPORT=y | ||
2669 | CONFIG_I2C=y | ||
2670 | CONFIG_I2C_BOARDINFO=y | ||
2671 | CONFIG_I2C_COMPAT=y | ||
2672 | CONFIG_I2C_CHARDEV=m | ||
2673 | CONFIG_I2C_MUX=m | ||
2674 | |||
2675 | # | ||
2676 | # Multiplexer I2C Chip support | ||
2677 | # | ||
2678 | CONFIG_I2C_ARB_GPIO_CHALLENGE=m | ||
2679 | CONFIG_I2C_MUX_GPIO=m | ||
2680 | CONFIG_I2C_MUX_PCA9541=m | ||
2681 | CONFIG_I2C_MUX_PCA954x=m | ||
2682 | CONFIG_I2C_HELPER_AUTO=y | ||
2683 | CONFIG_I2C_SMBUS=m | ||
2684 | CONFIG_I2C_ALGOBIT=m | ||
2685 | CONFIG_I2C_ALGOPCA=m | ||
2686 | |||
2687 | # | ||
2688 | # I2C Hardware Bus support | ||
2689 | # | ||
2690 | |||
2691 | # | ||
2692 | # PC SMBus host controller drivers | ||
2693 | # | ||
2694 | CONFIG_I2C_ALI1535=m | ||
2695 | CONFIG_I2C_ALI1563=m | ||
2696 | CONFIG_I2C_ALI15X3=m | ||
2697 | CONFIG_I2C_AMD756=m | ||
2698 | CONFIG_I2C_AMD8111=m | ||
2699 | CONFIG_I2C_I801=m | ||
2700 | CONFIG_I2C_ISCH=m | ||
2701 | CONFIG_I2C_PIIX4=m | ||
2702 | CONFIG_I2C_NFORCE2=m | ||
2703 | CONFIG_I2C_SIS5595=m | ||
2704 | CONFIG_I2C_SIS630=m | ||
2705 | CONFIG_I2C_SIS96X=m | ||
2706 | CONFIG_I2C_VIA=m | ||
2707 | CONFIG_I2C_VIAPRO=m | ||
2708 | |||
2709 | # | ||
2710 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
2711 | # | ||
2712 | CONFIG_I2C_CBUS_GPIO=m | ||
2713 | CONFIG_I2C_DESIGNWARE_CORE=m | ||
2714 | CONFIG_I2C_DESIGNWARE_PLATFORM=m | ||
2715 | CONFIG_I2C_DESIGNWARE_PCI=m | ||
2716 | CONFIG_I2C_EG20T=m | ||
2717 | CONFIG_I2C_GPIO=m | ||
2718 | CONFIG_I2C_KEMPLD=m | ||
2719 | CONFIG_I2C_NOMADIK=m | ||
2720 | CONFIG_I2C_OCORES=m | ||
2721 | CONFIG_I2C_PCA_PLATFORM=m | ||
2722 | # CONFIG_I2C_PXA_PCI is not set | ||
2723 | CONFIG_I2C_SIMTEC=m | ||
2724 | CONFIG_I2C_VERSATILE=m | ||
2725 | CONFIG_I2C_XILINX=m | ||
2726 | |||
2727 | # | ||
2728 | # External I2C/SMBus adapter drivers | ||
2729 | # | ||
2730 | CONFIG_I2C_PARPORT=m | ||
2731 | CONFIG_I2C_PARPORT_LIGHT=m | ||
2732 | CONFIG_I2C_TAOS_EVM=m | ||
2733 | |||
2734 | # | ||
2735 | # Other I2C/SMBus bus drivers | ||
2736 | # | ||
2737 | CONFIG_I2C_STUB=m | ||
2738 | # CONFIG_I2C_DEBUG_CORE is not set | ||
2739 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
2740 | # CONFIG_I2C_DEBUG_BUS is not set | ||
2741 | CONFIG_SPI=y | ||
2742 | # CONFIG_SPI_DEBUG is not set | ||
2743 | CONFIG_SPI_MASTER=y | ||
2744 | |||
2745 | # | ||
2746 | # SPI Master Controller Drivers | ||
2747 | # | ||
2748 | CONFIG_SPI_ALTERA=m | ||
2749 | CONFIG_SPI_BITBANG=m | ||
2750 | CONFIG_SPI_BUTTERFLY=m | ||
2751 | CONFIG_SPI_GPIO=m | ||
2752 | CONFIG_SPI_LM70_LLP=m | ||
2753 | CONFIG_SPI_FSL_LIB=y | ||
2754 | CONFIG_SPI_FSL_SPI=y | ||
2755 | CONFIG_SPI_OC_TINY=m | ||
2756 | CONFIG_SPI_PL022=m | ||
2757 | CONFIG_SPI_PXA2XX_DMA=y | ||
2758 | CONFIG_SPI_PXA2XX=m | ||
2759 | CONFIG_SPI_PXA2XX_PCI=m | ||
2760 | CONFIG_SPI_SC18IS602=m | ||
2761 | CONFIG_SPI_TOPCLIFF_PCH=m | ||
2762 | CONFIG_SPI_XCOMM=m | ||
2763 | # CONFIG_SPI_XILINX is not set | ||
2764 | CONFIG_SPI_DESIGNWARE=m | ||
2765 | CONFIG_SPI_DW_PCI=m | ||
2766 | CONFIG_SPI_DW_MMIO=m | ||
2767 | |||
2768 | # | ||
2769 | # SPI Protocol Masters | ||
2770 | # | ||
2771 | CONFIG_SPI_SPIDEV=m | ||
2772 | CONFIG_SPI_TLE62X0=m | ||
2773 | CONFIG_HSI=m | ||
2774 | CONFIG_HSI_BOARDINFO=y | ||
2775 | |||
2776 | # | ||
2777 | # HSI clients | ||
2778 | # | ||
2779 | CONFIG_HSI_CHAR=m | ||
2780 | |||
2781 | # | ||
2782 | # PPS support | ||
2783 | # | ||
2784 | CONFIG_PPS=y | ||
2785 | # CONFIG_PPS_DEBUG is not set | ||
2786 | |||
2787 | # | ||
2788 | # PPS clients support | ||
2789 | # | ||
2790 | # CONFIG_PPS_CLIENT_KTIMER is not set | ||
2791 | CONFIG_PPS_CLIENT_LDISC=m | ||
2792 | CONFIG_PPS_CLIENT_PARPORT=m | ||
2793 | CONFIG_PPS_CLIENT_GPIO=m | ||
2794 | |||
2795 | # | ||
2796 | # PPS generators support | ||
2797 | # | ||
2798 | |||
2799 | # | ||
2800 | # PTP clock support | ||
2801 | # | ||
2802 | CONFIG_PTP_1588_CLOCK=y | ||
2803 | |||
2804 | # | ||
2805 | # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. | ||
2806 | # | ||
2807 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | ||
2808 | CONFIG_ARCH_REQUIRE_GPIOLIB=y | ||
2809 | CONFIG_GPIOLIB=y | ||
2810 | CONFIG_GPIO_DEVRES=y | ||
2811 | CONFIG_OF_GPIO=y | ||
2812 | # CONFIG_DEBUG_GPIO is not set | ||
2813 | # CONFIG_GPIO_SYSFS is not set | ||
2814 | CONFIG_GPIO_GENERIC=m | ||
2815 | CONFIG_GPIO_DA9052=m | ||
2816 | CONFIG_GPIO_DA9055=m | ||
2817 | CONFIG_GPIO_MAX730X=m | ||
2818 | |||
2819 | # | ||
2820 | # Memory mapped GPIO drivers: | ||
2821 | # | ||
2822 | CONFIG_GPIO_GENERIC_PLATFORM=m | ||
2823 | CONFIG_GPIO_PL061=y | ||
2824 | CONFIG_GPIO_TS5500=m | ||
2825 | CONFIG_GPIO_VX855=m | ||
2826 | CONFIG_GPIO_GRGPIO=m | ||
2827 | |||
2828 | # | ||
2829 | # I2C GPIO expanders: | ||
2830 | # | ||
2831 | CONFIG_GPIO_ARIZONA=m | ||
2832 | CONFIG_GPIO_MAX7300=m | ||
2833 | CONFIG_GPIO_MAX732X=m | ||
2834 | CONFIG_GPIO_PCA953X=m | ||
2835 | CONFIG_GPIO_PCF857X=m | ||
2836 | CONFIG_GPIO_RC5T583=y | ||
2837 | CONFIG_GPIO_SX150X=y | ||
2838 | CONFIG_GPIO_STMPE=y | ||
2839 | CONFIG_GPIO_TC3589X=y | ||
2840 | CONFIG_GPIO_TPS65912=m | ||
2841 | # CONFIG_GPIO_TWL6040 is not set | ||
2842 | CONFIG_GPIO_WM831X=m | ||
2843 | CONFIG_GPIO_WM8350=m | ||
2844 | CONFIG_GPIO_WM8994=m | ||
2845 | CONFIG_GPIO_ADP5520=m | ||
2846 | CONFIG_GPIO_ADP5588=m | ||
2847 | CONFIG_GPIO_ADNP=m | ||
2848 | |||
2849 | # | ||
2850 | # PCI GPIO expanders: | ||
2851 | # | ||
2852 | CONFIG_GPIO_AMD8111=m | ||
2853 | CONFIG_GPIO_ML_IOH=m | ||
2854 | CONFIG_GPIO_TIMBERDALE=y | ||
2855 | CONFIG_GPIO_RDC321X=m | ||
2856 | |||
2857 | # | ||
2858 | # SPI GPIO expanders: | ||
2859 | # | ||
2860 | CONFIG_GPIO_MAX7301=m | ||
2861 | CONFIG_GPIO_MCP23S08=m | ||
2862 | CONFIG_GPIO_MC33880=m | ||
2863 | CONFIG_GPIO_74X164=m | ||
2864 | |||
2865 | # | ||
2866 | # AC97 GPIO expanders: | ||
2867 | # | ||
2868 | |||
2869 | # | ||
2870 | # LPC GPIO expanders: | ||
2871 | # | ||
2872 | CONFIG_GPIO_KEMPLD=m | ||
2873 | |||
2874 | # | ||
2875 | # MODULbus GPIO expanders: | ||
2876 | # | ||
2877 | CONFIG_GPIO_JANZ_TTL=m | ||
2878 | CONFIG_GPIO_PALMAS=y | ||
2879 | CONFIG_GPIO_TPS6586X=y | ||
2880 | CONFIG_GPIO_TPS65910=y | ||
2881 | CONFIG_GPIO_BCM_KONA=y | ||
2882 | |||
2883 | # | ||
2884 | # USB GPIO expanders: | ||
2885 | # | ||
2886 | CONFIG_W1=m | ||
2887 | CONFIG_W1_CON=y | ||
2888 | |||
2889 | # | ||
2890 | # 1-wire Bus Masters | ||
2891 | # | ||
2892 | CONFIG_W1_MASTER_MATROX=m | ||
2893 | CONFIG_W1_MASTER_DS2482=m | ||
2894 | CONFIG_W1_MASTER_DS1WM=m | ||
2895 | CONFIG_W1_MASTER_GPIO=m | ||
2896 | |||
2897 | # | ||
2898 | # 1-wire Slaves | ||
2899 | # | ||
2900 | CONFIG_W1_SLAVE_THERM=m | ||
2901 | CONFIG_W1_SLAVE_SMEM=m | ||
2902 | CONFIG_W1_SLAVE_DS2408=m | ||
2903 | CONFIG_W1_SLAVE_DS2408_READBACK=y | ||
2904 | CONFIG_W1_SLAVE_DS2413=m | ||
2905 | CONFIG_W1_SLAVE_DS2423=m | ||
2906 | CONFIG_W1_SLAVE_DS2431=m | ||
2907 | CONFIG_W1_SLAVE_DS2433=m | ||
2908 | # CONFIG_W1_SLAVE_DS2433_CRC is not set | ||
2909 | CONFIG_W1_SLAVE_DS2760=m | ||
2910 | CONFIG_W1_SLAVE_DS2780=m | ||
2911 | CONFIG_W1_SLAVE_DS2781=m | ||
2912 | CONFIG_W1_SLAVE_DS28E04=m | ||
2913 | CONFIG_W1_SLAVE_BQ27000=m | ||
2914 | CONFIG_POWER_SUPPLY=y | ||
2915 | # CONFIG_POWER_SUPPLY_DEBUG is not set | ||
2916 | CONFIG_PDA_POWER=m | ||
2917 | CONFIG_GENERIC_ADC_BATTERY=m | ||
2918 | CONFIG_MAX8925_POWER=m | ||
2919 | CONFIG_WM831X_BACKUP=m | ||
2920 | CONFIG_WM831X_POWER=m | ||
2921 | CONFIG_WM8350_POWER=m | ||
2922 | CONFIG_TEST_POWER=m | ||
2923 | CONFIG_BATTERY_88PM860X=m | ||
2924 | CONFIG_BATTERY_DS2760=m | ||
2925 | CONFIG_BATTERY_DS2780=m | ||
2926 | CONFIG_BATTERY_DS2781=m | ||
2927 | CONFIG_BATTERY_DS2782=m | ||
2928 | CONFIG_BATTERY_SBS=m | ||
2929 | CONFIG_BATTERY_BQ27x00=m | ||
2930 | CONFIG_BATTERY_BQ27X00_I2C=y | ||
2931 | CONFIG_BATTERY_BQ27X00_PLATFORM=y | ||
2932 | CONFIG_BATTERY_DA9030=m | ||
2933 | CONFIG_BATTERY_DA9052=m | ||
2934 | CONFIG_BATTERY_MAX17040=m | ||
2935 | CONFIG_BATTERY_MAX17042=m | ||
2936 | CONFIG_CHARGER_88PM860X=m | ||
2937 | CONFIG_CHARGER_PCF50633=m | ||
2938 | CONFIG_CHARGER_MAX8903=m | ||
2939 | CONFIG_CHARGER_LP8727=m | ||
2940 | CONFIG_CHARGER_LP8788=m | ||
2941 | CONFIG_CHARGER_GPIO=m | ||
2942 | CONFIG_CHARGER_MANAGER=y | ||
2943 | CONFIG_CHARGER_MAX8997=m | ||
2944 | CONFIG_CHARGER_MAX8998=m | ||
2945 | CONFIG_CHARGER_BQ2415X=m | ||
2946 | CONFIG_CHARGER_BQ24190=m | ||
2947 | CONFIG_CHARGER_BQ24735=m | ||
2948 | CONFIG_CHARGER_SMB347=m | ||
2949 | CONFIG_CHARGER_TPS65090=m | ||
2950 | CONFIG_POWER_RESET=y | ||
2951 | CONFIG_POWER_RESET_GPIO=y | ||
2952 | CONFIG_POWER_RESET_VEXPRESS=y | ||
2953 | # CONFIG_POWER_RESET_XGENE is not set | ||
2954 | CONFIG_POWER_RESET_SYSCON=y | ||
2955 | CONFIG_POWER_AVS=y | ||
2956 | CONFIG_HWMON=y | ||
2957 | CONFIG_HWMON_VID=m | ||
2958 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
2959 | |||
2960 | # | ||
2961 | # Native drivers | ||
2962 | # | ||
2963 | CONFIG_SENSORS_AD7314=m | ||
2964 | CONFIG_SENSORS_AD7414=m | ||
2965 | CONFIG_SENSORS_AD7418=m | ||
2966 | CONFIG_SENSORS_ADCXX=m | ||
2967 | CONFIG_SENSORS_ADM1021=m | ||
2968 | CONFIG_SENSORS_ADM1025=m | ||
2969 | CONFIG_SENSORS_ADM1026=m | ||
2970 | CONFIG_SENSORS_ADM1029=m | ||
2971 | CONFIG_SENSORS_ADM1031=m | ||
2972 | CONFIG_SENSORS_ADM9240=m | ||
2973 | CONFIG_SENSORS_ADT7X10=m | ||
2974 | CONFIG_SENSORS_ADT7310=m | ||
2975 | CONFIG_SENSORS_ADT7410=m | ||
2976 | CONFIG_SENSORS_ADT7411=m | ||
2977 | CONFIG_SENSORS_ADT7462=m | ||
2978 | CONFIG_SENSORS_ADT7470=m | ||
2979 | CONFIG_SENSORS_ADT7475=m | ||
2980 | CONFIG_SENSORS_ASC7621=m | ||
2981 | CONFIG_SENSORS_ATXP1=m | ||
2982 | CONFIG_SENSORS_DS620=m | ||
2983 | CONFIG_SENSORS_DS1621=m | ||
2984 | CONFIG_SENSORS_DA9052_ADC=m | ||
2985 | CONFIG_SENSORS_DA9055=m | ||
2986 | CONFIG_SENSORS_I5K_AMB=m | ||
2987 | CONFIG_SENSORS_F71805F=m | ||
2988 | CONFIG_SENSORS_F71882FG=m | ||
2989 | CONFIG_SENSORS_F75375S=m | ||
2990 | CONFIG_SENSORS_G760A=m | ||
2991 | CONFIG_SENSORS_G762=m | ||
2992 | CONFIG_SENSORS_GL518SM=m | ||
2993 | CONFIG_SENSORS_GL520SM=m | ||
2994 | CONFIG_SENSORS_GPIO_FAN=m | ||
2995 | CONFIG_SENSORS_HIH6130=m | ||
2996 | CONFIG_SENSORS_HTU21=m | ||
2997 | CONFIG_SENSORS_IBMAEM=m | ||
2998 | CONFIG_SENSORS_IBMPEX=m | ||
2999 | CONFIG_SENSORS_IIO_HWMON=m | ||
3000 | CONFIG_SENSORS_IT87=m | ||
3001 | CONFIG_SENSORS_JC42=m | ||
3002 | CONFIG_SENSORS_LINEAGE=m | ||
3003 | CONFIG_SENSORS_LM63=m | ||
3004 | CONFIG_SENSORS_LM70=m | ||
3005 | CONFIG_SENSORS_LM73=m | ||
3006 | CONFIG_SENSORS_LM75=m | ||
3007 | CONFIG_SENSORS_LM77=m | ||
3008 | CONFIG_SENSORS_LM78=m | ||
3009 | CONFIG_SENSORS_LM80=m | ||
3010 | CONFIG_SENSORS_LM83=m | ||
3011 | CONFIG_SENSORS_LM85=m | ||
3012 | CONFIG_SENSORS_LM87=m | ||
3013 | CONFIG_SENSORS_LM90=m | ||
3014 | CONFIG_SENSORS_LM92=m | ||
3015 | CONFIG_SENSORS_LM93=m | ||
3016 | CONFIG_SENSORS_LTC4151=m | ||
3017 | CONFIG_SENSORS_LTC4215=m | ||
3018 | CONFIG_SENSORS_LTC4245=m | ||
3019 | CONFIG_SENSORS_LTC4261=m | ||
3020 | CONFIG_SENSORS_LM95234=m | ||
3021 | CONFIG_SENSORS_LM95241=m | ||
3022 | CONFIG_SENSORS_LM95245=m | ||
3023 | CONFIG_SENSORS_MAX1111=m | ||
3024 | CONFIG_SENSORS_MAX16065=m | ||
3025 | CONFIG_SENSORS_MAX1619=m | ||
3026 | CONFIG_SENSORS_MAX1668=m | ||
3027 | CONFIG_SENSORS_MAX197=m | ||
3028 | CONFIG_SENSORS_MAX6639=m | ||
3029 | CONFIG_SENSORS_MAX6642=m | ||
3030 | CONFIG_SENSORS_MAX6650=m | ||
3031 | CONFIG_SENSORS_MAX6697=m | ||
3032 | CONFIG_SENSORS_MCP3021=m | ||
3033 | CONFIG_SENSORS_NCT6775=m | ||
3034 | CONFIG_SENSORS_NTC_THERMISTOR=m | ||
3035 | CONFIG_SENSORS_PC87360=m | ||
3036 | CONFIG_SENSORS_PC87427=m | ||
3037 | CONFIG_SENSORS_PCF8591=m | ||
3038 | CONFIG_PMBUS=m | ||
3039 | CONFIG_SENSORS_PMBUS=m | ||
3040 | CONFIG_SENSORS_ADM1275=m | ||
3041 | CONFIG_SENSORS_LM25066=m | ||
3042 | CONFIG_SENSORS_LTC2978=m | ||
3043 | CONFIG_SENSORS_MAX16064=m | ||
3044 | CONFIG_SENSORS_MAX34440=m | ||
3045 | CONFIG_SENSORS_MAX8688=m | ||
3046 | CONFIG_SENSORS_UCD9000=m | ||
3047 | CONFIG_SENSORS_UCD9200=m | ||
3048 | CONFIG_SENSORS_ZL6100=m | ||
3049 | CONFIG_SENSORS_SHT15=m | ||
3050 | CONFIG_SENSORS_SHT21=m | ||
3051 | CONFIG_SENSORS_SIS5595=m | ||
3052 | CONFIG_SENSORS_SMM665=m | ||
3053 | CONFIG_SENSORS_DME1737=m | ||
3054 | CONFIG_SENSORS_EMC1403=m | ||
3055 | CONFIG_SENSORS_EMC2103=m | ||
3056 | CONFIG_SENSORS_EMC6W201=m | ||
3057 | CONFIG_SENSORS_SMSC47M1=m | ||
3058 | CONFIG_SENSORS_SMSC47M192=m | ||
3059 | CONFIG_SENSORS_SMSC47B397=m | ||
3060 | CONFIG_SENSORS_SCH56XX_COMMON=m | ||
3061 | CONFIG_SENSORS_SCH5627=m | ||
3062 | CONFIG_SENSORS_SCH5636=m | ||
3063 | CONFIG_SENSORS_ADS1015=m | ||
3064 | CONFIG_SENSORS_ADS7828=m | ||
3065 | CONFIG_SENSORS_ADS7871=m | ||
3066 | CONFIG_SENSORS_AMC6821=m | ||
3067 | CONFIG_SENSORS_INA209=m | ||
3068 | CONFIG_SENSORS_INA2XX=m | ||
3069 | CONFIG_SENSORS_THMC50=m | ||
3070 | CONFIG_SENSORS_TMP102=m | ||
3071 | CONFIG_SENSORS_TMP401=m | ||
3072 | CONFIG_SENSORS_TMP421=m | ||
3073 | CONFIG_SENSORS_VEXPRESS=m | ||
3074 | CONFIG_SENSORS_VIA686A=m | ||
3075 | CONFIG_SENSORS_VT1211=m | ||
3076 | CONFIG_SENSORS_VT8231=m | ||
3077 | CONFIG_SENSORS_W83781D=m | ||
3078 | CONFIG_SENSORS_W83791D=m | ||
3079 | CONFIG_SENSORS_W83792D=m | ||
3080 | CONFIG_SENSORS_W83793=m | ||
3081 | CONFIG_SENSORS_W83795=m | ||
3082 | # CONFIG_SENSORS_W83795_FANCTRL is not set | ||
3083 | CONFIG_SENSORS_W83L785TS=m | ||
3084 | CONFIG_SENSORS_W83L786NG=m | ||
3085 | CONFIG_SENSORS_W83627HF=m | ||
3086 | CONFIG_SENSORS_W83627EHF=m | ||
3087 | CONFIG_SENSORS_WM831X=m | ||
3088 | CONFIG_SENSORS_WM8350=m | ||
3089 | CONFIG_SENSORS_MC13783_ADC=m | ||
3090 | CONFIG_THERMAL=y | ||
3091 | CONFIG_THERMAL_HWMON=y | ||
3092 | CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y | ||
3093 | # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set | ||
3094 | # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set | ||
3095 | CONFIG_THERMAL_GOV_FAIR_SHARE=y | ||
3096 | CONFIG_THERMAL_GOV_STEP_WISE=y | ||
3097 | CONFIG_THERMAL_GOV_USER_SPACE=y | ||
3098 | CONFIG_THERMAL_EMULATION=y | ||
3099 | |||
3100 | # | ||
3101 | # Texas Instruments thermal drivers | ||
3102 | # | ||
3103 | CONFIG_WATCHDOG=y | ||
3104 | CONFIG_WATCHDOG_CORE=y | ||
3105 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
3106 | |||
3107 | # | ||
3108 | # Watchdog Device Drivers | ||
3109 | # | ||
3110 | CONFIG_SOFT_WATCHDOG=m | ||
3111 | CONFIG_DA9052_WATCHDOG=m | ||
3112 | CONFIG_DA9055_WATCHDOG=m | ||
3113 | CONFIG_WM831X_WATCHDOG=m | ||
3114 | CONFIG_WM8350_WATCHDOG=m | ||
3115 | CONFIG_RETU_WATCHDOG=m | ||
3116 | CONFIG_ALIM7101_WDT=m | ||
3117 | CONFIG_I6300ESB_WDT=m | ||
3118 | CONFIG_KEMPLD_WDT=m | ||
3119 | CONFIG_MEN_A21_WDT=m | ||
3120 | CONFIG_XEN_WDT=m | ||
3121 | |||
3122 | # | ||
3123 | # PCI-based Watchdog Cards | ||
3124 | # | ||
3125 | CONFIG_PCIPCWATCHDOG=m | ||
3126 | CONFIG_WDTPCI=m | ||
3127 | CONFIG_SSB_POSSIBLE=y | ||
3128 | |||
3129 | # | ||
3130 | # Sonics Silicon Backplane | ||
3131 | # | ||
3132 | CONFIG_SSB=m | ||
3133 | CONFIG_SSB_SPROM=y | ||
3134 | CONFIG_SSB_BLOCKIO=y | ||
3135 | CONFIG_SSB_PCIHOST_POSSIBLE=y | ||
3136 | CONFIG_SSB_PCIHOST=y | ||
3137 | CONFIG_SSB_B43_PCI_BRIDGE=y | ||
3138 | CONFIG_SSB_SDIOHOST_POSSIBLE=y | ||
3139 | CONFIG_SSB_SDIOHOST=y | ||
3140 | # CONFIG_SSB_SILENT is not set | ||
3141 | # CONFIG_SSB_DEBUG is not set | ||
3142 | CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y | ||
3143 | CONFIG_SSB_DRIVER_PCICORE=y | ||
3144 | CONFIG_SSB_DRIVER_GPIO=y | ||
3145 | CONFIG_BCMA_POSSIBLE=y | ||
3146 | |||
3147 | # | ||
3148 | # Broadcom specific AMBA | ||
3149 | # | ||
3150 | CONFIG_BCMA=m | ||
3151 | CONFIG_BCMA_BLOCKIO=y | ||
3152 | CONFIG_BCMA_HOST_PCI_POSSIBLE=y | ||
3153 | CONFIG_BCMA_HOST_PCI=y | ||
3154 | CONFIG_BCMA_HOST_SOC=y | ||
3155 | CONFIG_BCMA_DRIVER_GMAC_CMN=y | ||
3156 | CONFIG_BCMA_DRIVER_GPIO=y | ||
3157 | # CONFIG_BCMA_DEBUG is not set | ||
3158 | |||
3159 | # | ||
3160 | # Multifunction device drivers | ||
3161 | # | ||
3162 | CONFIG_MFD_CORE=y | ||
3163 | CONFIG_MFD_AS3711=y | ||
3164 | CONFIG_MFD_AS3722=y | ||
3165 | CONFIG_PMIC_ADP5520=y | ||
3166 | CONFIG_MFD_AAT2870_CORE=y | ||
3167 | CONFIG_MFD_CROS_EC=m | ||
3168 | CONFIG_MFD_CROS_EC_I2C=m | ||
3169 | CONFIG_MFD_CROS_EC_SPI=m | ||
3170 | CONFIG_PMIC_DA903X=y | ||
3171 | CONFIG_PMIC_DA9052=y | ||
3172 | CONFIG_MFD_DA9052_SPI=y | ||
3173 | CONFIG_MFD_DA9052_I2C=y | ||
3174 | CONFIG_MFD_DA9055=y | ||
3175 | CONFIG_MFD_DA9063=y | ||
3176 | CONFIG_MFD_MC13783=m | ||
3177 | CONFIG_MFD_MC13XXX=m | ||
3178 | CONFIG_MFD_MC13XXX_SPI=m | ||
3179 | CONFIG_MFD_MC13XXX_I2C=m | ||
3180 | CONFIG_HTC_PASIC3=m | ||
3181 | CONFIG_HTC_I2CPLD=y | ||
3182 | CONFIG_LPC_ICH=m | ||
3183 | CONFIG_LPC_SCH=m | ||
3184 | CONFIG_MFD_JANZ_CMODIO=m | ||
3185 | CONFIG_MFD_KEMPLD=m | ||
3186 | CONFIG_MFD_88PM800=m | ||
3187 | CONFIG_MFD_88PM805=m | ||
3188 | CONFIG_MFD_88PM860X=y | ||
3189 | CONFIG_MFD_MAX77686=y | ||
3190 | CONFIG_MFD_MAX77693=y | ||
3191 | CONFIG_MFD_MAX8907=m | ||
3192 | CONFIG_MFD_MAX8925=y | ||
3193 | CONFIG_MFD_MAX8997=y | ||
3194 | CONFIG_MFD_MAX8998=y | ||
3195 | # CONFIG_EZX_PCAP is not set | ||
3196 | CONFIG_MFD_RETU=m | ||
3197 | CONFIG_MFD_PCF50633=m | ||
3198 | CONFIG_PCF50633_ADC=m | ||
3199 | CONFIG_PCF50633_GPIO=m | ||
3200 | CONFIG_MFD_RDC321X=m | ||
3201 | CONFIG_MFD_RTSX_PCI=m | ||
3202 | CONFIG_MFD_RC5T583=y | ||
3203 | CONFIG_MFD_SEC_CORE=y | ||
3204 | CONFIG_MFD_SI476X_CORE=m | ||
3205 | CONFIG_MFD_SM501=m | ||
3206 | # CONFIG_MFD_SM501_GPIO is not set | ||
3207 | CONFIG_MFD_SMSC=y | ||
3208 | CONFIG_ABX500_CORE=y | ||
3209 | CONFIG_AB3100_CORE=y | ||
3210 | CONFIG_AB3100_OTP=m | ||
3211 | CONFIG_MFD_STMPE=y | ||
3212 | |||
3213 | # | ||
3214 | # STMicroelectronics STMPE Interface Drivers | ||
3215 | # | ||
3216 | CONFIG_STMPE_I2C=y | ||
3217 | CONFIG_STMPE_SPI=y | ||
3218 | CONFIG_MFD_SYSCON=y | ||
3219 | # CONFIG_MFD_TI_AM335X_TSCADC is not set | ||
3220 | CONFIG_MFD_LP8788=y | ||
3221 | CONFIG_MFD_PALMAS=y | ||
3222 | CONFIG_TPS6105X=m | ||
3223 | CONFIG_TPS65010=m | ||
3224 | CONFIG_TPS6507X=m | ||
3225 | CONFIG_MFD_TPS65090=y | ||
3226 | CONFIG_MFD_TPS65217=m | ||
3227 | CONFIG_MFD_TPS6586X=y | ||
3228 | CONFIG_MFD_TPS65910=y | ||
3229 | CONFIG_MFD_TPS65912=y | ||
3230 | CONFIG_MFD_TPS65912_I2C=y | ||
3231 | CONFIG_MFD_TPS65912_SPI=y | ||
3232 | CONFIG_MFD_TPS80031=y | ||
3233 | # CONFIG_TWL4030_CORE is not set | ||
3234 | CONFIG_TWL6040_CORE=y | ||
3235 | CONFIG_MFD_WL1273_CORE=m | ||
3236 | CONFIG_MFD_LM3533=m | ||
3237 | CONFIG_MFD_TIMBERDALE=m | ||
3238 | CONFIG_MFD_TC3589X=y | ||
3239 | # CONFIG_MFD_TMIO is not set | ||
3240 | CONFIG_MFD_VX855=m | ||
3241 | CONFIG_MFD_ARIZONA=y | ||
3242 | CONFIG_MFD_ARIZONA_I2C=m | ||
3243 | CONFIG_MFD_ARIZONA_SPI=m | ||
3244 | CONFIG_MFD_WM5102=y | ||
3245 | CONFIG_MFD_WM5110=y | ||
3246 | CONFIG_MFD_WM8997=y | ||
3247 | CONFIG_MFD_WM8400=y | ||
3248 | CONFIG_MFD_WM831X=y | ||
3249 | CONFIG_MFD_WM831X_I2C=y | ||
3250 | CONFIG_MFD_WM831X_SPI=y | ||
3251 | CONFIG_MFD_WM8350=y | ||
3252 | CONFIG_MFD_WM8350_I2C=y | ||
3253 | CONFIG_MFD_WM8994=y | ||
3254 | CONFIG_VEXPRESS_CONFIG=y | ||
3255 | CONFIG_REGULATOR=y | ||
3256 | # CONFIG_REGULATOR_DEBUG is not set | ||
3257 | CONFIG_REGULATOR_FIXED_VOLTAGE=m | ||
3258 | CONFIG_REGULATOR_VIRTUAL_CONSUMER=m | ||
3259 | CONFIG_REGULATOR_USERSPACE_CONSUMER=m | ||
3260 | CONFIG_REGULATOR_88PM800=m | ||
3261 | CONFIG_REGULATOR_88PM8607=y | ||
3262 | CONFIG_REGULATOR_AD5398=m | ||
3263 | CONFIG_REGULATOR_ANATOP=m | ||
3264 | CONFIG_REGULATOR_AAT2870=m | ||
3265 | CONFIG_REGULATOR_AB3100=m | ||
3266 | CONFIG_REGULATOR_AS3711=m | ||
3267 | CONFIG_REGULATOR_AS3722=m | ||
3268 | CONFIG_REGULATOR_DA903X=m | ||
3269 | CONFIG_REGULATOR_DA9052=m | ||
3270 | CONFIG_REGULATOR_DA9055=m | ||
3271 | CONFIG_REGULATOR_DA9063=m | ||
3272 | CONFIG_REGULATOR_DA9210=m | ||
3273 | CONFIG_REGULATOR_FAN53555=m | ||
3274 | CONFIG_REGULATOR_GPIO=m | ||
3275 | CONFIG_REGULATOR_ISL6271A=m | ||
3276 | CONFIG_REGULATOR_LP3971=m | ||
3277 | CONFIG_REGULATOR_LP3972=m | ||
3278 | CONFIG_REGULATOR_LP872X=y | ||
3279 | CONFIG_REGULATOR_LP8755=m | ||
3280 | CONFIG_REGULATOR_LP8788=y | ||
3281 | CONFIG_REGULATOR_MAX1586=m | ||
3282 | CONFIG_REGULATOR_MAX8649=m | ||
3283 | CONFIG_REGULATOR_MAX8660=m | ||
3284 | CONFIG_REGULATOR_MAX8907=m | ||
3285 | CONFIG_REGULATOR_MAX8925=m | ||
3286 | CONFIG_REGULATOR_MAX8952=m | ||
3287 | CONFIG_REGULATOR_MAX8973=m | ||
3288 | CONFIG_REGULATOR_MAX8997=m | ||
3289 | CONFIG_REGULATOR_MAX8998=m | ||
3290 | CONFIG_REGULATOR_MAX77686=m | ||
3291 | CONFIG_REGULATOR_MAX77693=m | ||
3292 | CONFIG_REGULATOR_MC13XXX_CORE=m | ||
3293 | CONFIG_REGULATOR_MC13783=m | ||
3294 | CONFIG_REGULATOR_MC13892=m | ||
3295 | CONFIG_REGULATOR_PALMAS=m | ||
3296 | CONFIG_REGULATOR_PCF50633=m | ||
3297 | CONFIG_REGULATOR_PFUZE100=m | ||
3298 | CONFIG_REGULATOR_RC5T583=m | ||
3299 | # CONFIG_REGULATOR_S2MPS11 is not set | ||
3300 | CONFIG_REGULATOR_S5M8767=m | ||
3301 | CONFIG_REGULATOR_TPS51632=m | ||
3302 | CONFIG_REGULATOR_TPS6105X=m | ||
3303 | CONFIG_REGULATOR_TPS62360=m | ||
3304 | CONFIG_REGULATOR_TPS65023=m | ||
3305 | CONFIG_REGULATOR_TPS6507X=m | ||
3306 | CONFIG_REGULATOR_TPS65090=m | ||
3307 | CONFIG_REGULATOR_TPS65217=m | ||
3308 | CONFIG_REGULATOR_TPS6524X=m | ||
3309 | CONFIG_REGULATOR_TPS6586X=m | ||
3310 | CONFIG_REGULATOR_TPS65910=m | ||
3311 | CONFIG_REGULATOR_TPS65912=m | ||
3312 | CONFIG_REGULATOR_TPS80031=m | ||
3313 | CONFIG_REGULATOR_VEXPRESS=m | ||
3314 | CONFIG_REGULATOR_WM831X=m | ||
3315 | CONFIG_REGULATOR_WM8350=m | ||
3316 | CONFIG_REGULATOR_WM8400=m | ||
3317 | CONFIG_REGULATOR_WM8994=m | ||
3318 | CONFIG_MEDIA_SUPPORT=m | ||
3319 | |||
3320 | # | ||
3321 | # Multimedia core support | ||
3322 | # | ||
3323 | CONFIG_MEDIA_CAMERA_SUPPORT=y | ||
3324 | CONFIG_MEDIA_ANALOG_TV_SUPPORT=y | ||
3325 | CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y | ||
3326 | CONFIG_MEDIA_RADIO_SUPPORT=y | ||
3327 | CONFIG_MEDIA_RC_SUPPORT=y | ||
3328 | # CONFIG_MEDIA_CONTROLLER is not set | ||
3329 | CONFIG_VIDEO_DEV=m | ||
3330 | CONFIG_VIDEO_V4L2=m | ||
3331 | # CONFIG_VIDEO_ADV_DEBUG is not set | ||
3332 | # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set | ||
3333 | CONFIG_VIDEO_TUNER=m | ||
3334 | CONFIG_V4L2_MEM2MEM_DEV=m | ||
3335 | CONFIG_VIDEOBUF_GEN=m | ||
3336 | CONFIG_VIDEOBUF_DMA_SG=m | ||
3337 | CONFIG_VIDEOBUF_VMALLOC=m | ||
3338 | CONFIG_VIDEOBUF_DMA_CONTIG=m | ||
3339 | CONFIG_VIDEOBUF_DVB=m | ||
3340 | CONFIG_VIDEOBUF2_CORE=m | ||
3341 | CONFIG_VIDEOBUF2_MEMOPS=m | ||
3342 | CONFIG_VIDEOBUF2_DMA_CONTIG=m | ||
3343 | CONFIG_VIDEOBUF2_VMALLOC=m | ||
3344 | CONFIG_VIDEO_V4L2_INT_DEVICE=m | ||
3345 | CONFIG_DVB_CORE=m | ||
3346 | CONFIG_DVB_NET=y | ||
3347 | CONFIG_TTPCI_EEPROM=m | ||
3348 | CONFIG_DVB_MAX_ADAPTERS=8 | ||
3349 | CONFIG_DVB_DYNAMIC_MINORS=y | ||
3350 | |||
3351 | # | ||
3352 | # Media drivers | ||
3353 | # | ||
3354 | CONFIG_RC_CORE=m | ||
3355 | CONFIG_RC_MAP=m | ||
3356 | CONFIG_RC_DECODERS=y | ||
3357 | CONFIG_LIRC=m | ||
3358 | CONFIG_IR_LIRC_CODEC=m | ||
3359 | CONFIG_IR_NEC_DECODER=m | ||
3360 | CONFIG_IR_RC5_DECODER=m | ||
3361 | CONFIG_IR_RC6_DECODER=m | ||
3362 | CONFIG_IR_JVC_DECODER=m | ||
3363 | CONFIG_IR_SONY_DECODER=m | ||
3364 | CONFIG_IR_RC5_SZ_DECODER=m | ||
3365 | CONFIG_IR_SANYO_DECODER=m | ||
3366 | CONFIG_IR_MCE_KBD_DECODER=m | ||
3367 | CONFIG_RC_DEVICES=y | ||
3368 | CONFIG_RC_LOOPBACK=m | ||
3369 | CONFIG_IR_GPIO_CIR=m | ||
3370 | CONFIG_MEDIA_PCI_SUPPORT=y | ||
3371 | |||
3372 | # | ||
3373 | # Media capture support | ||
3374 | # | ||
3375 | |||
3376 | # | ||
3377 | # Media capture/analog TV support | ||
3378 | # | ||
3379 | CONFIG_VIDEO_IVTV=m | ||
3380 | CONFIG_VIDEO_FB_IVTV=m | ||
3381 | CONFIG_VIDEO_HEXIUM_GEMINI=m | ||
3382 | CONFIG_VIDEO_HEXIUM_ORION=m | ||
3383 | CONFIG_VIDEO_MXB=m | ||
3384 | |||
3385 | # | ||
3386 | # Media capture/analog/hybrid TV support | ||
3387 | # | ||
3388 | CONFIG_VIDEO_CX18=m | ||
3389 | CONFIG_VIDEO_CX25821=m | ||
3390 | CONFIG_VIDEO_CX88=m | ||
3391 | CONFIG_VIDEO_CX88_BLACKBIRD=m | ||
3392 | CONFIG_VIDEO_CX88_DVB=m | ||
3393 | CONFIG_VIDEO_CX88_ENABLE_VP3054=y | ||
3394 | CONFIG_VIDEO_CX88_VP3054=m | ||
3395 | CONFIG_VIDEO_CX88_MPEG=m | ||
3396 | CONFIG_VIDEO_BT848=m | ||
3397 | CONFIG_DVB_BT8XX=m | ||
3398 | CONFIG_VIDEO_SAA7134=m | ||
3399 | CONFIG_VIDEO_SAA7134_RC=y | ||
3400 | CONFIG_VIDEO_SAA7134_DVB=m | ||
3401 | CONFIG_VIDEO_SAA7164=m | ||
3402 | |||
3403 | # | ||
3404 | # Media digital TV PCI Adapters | ||
3405 | # | ||
3406 | CONFIG_DVB_AV7110=m | ||
3407 | CONFIG_DVB_AV7110_OSD=y | ||
3408 | CONFIG_DVB_BUDGET_CORE=m | ||
3409 | CONFIG_DVB_BUDGET=m | ||
3410 | CONFIG_DVB_BUDGET_CI=m | ||
3411 | CONFIG_DVB_BUDGET_AV=m | ||
3412 | CONFIG_DVB_BUDGET_PATCH=m | ||
3413 | CONFIG_DVB_B2C2_FLEXCOP_PCI=m | ||
3414 | # CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set | ||
3415 | CONFIG_DVB_PLUTO2=m | ||
3416 | CONFIG_DVB_DM1105=m | ||
3417 | CONFIG_DVB_PT1=m | ||
3418 | CONFIG_MANTIS_CORE=m | ||
3419 | CONFIG_DVB_MANTIS=m | ||
3420 | CONFIG_DVB_HOPPER=m | ||
3421 | CONFIG_DVB_NGENE=m | ||
3422 | CONFIG_DVB_DDBRIDGE=m | ||
3423 | CONFIG_V4L_PLATFORM_DRIVERS=y | ||
3424 | CONFIG_VIDEO_CAFE_CCIC=m | ||
3425 | CONFIG_VIDEO_TIMBERDALE=m | ||
3426 | CONFIG_SOC_CAMERA=m | ||
3427 | CONFIG_SOC_CAMERA_SCALE_CROP=m | ||
3428 | CONFIG_SOC_CAMERA_PLATFORM=m | ||
3429 | CONFIG_VIDEO_RCAR_VIN=m | ||
3430 | CONFIG_VIDEO_SH_MOBILE_CSI2=m | ||
3431 | CONFIG_VIDEO_SH_MOBILE_CEU=m | ||
3432 | CONFIG_V4L_MEM2MEM_DRIVERS=y | ||
3433 | CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m | ||
3434 | CONFIG_VIDEO_SH_VEU=m | ||
3435 | CONFIG_V4L_TEST_DRIVERS=y | ||
3436 | CONFIG_VIDEO_VIVI=m | ||
3437 | CONFIG_VIDEO_MEM2MEM_TESTDEV=m | ||
3438 | |||
3439 | # | ||
3440 | # Supported MMC/SDIO adapters | ||
3441 | # | ||
3442 | CONFIG_SMS_SDIO_DRV=m | ||
3443 | CONFIG_MEDIA_PARPORT_SUPPORT=y | ||
3444 | CONFIG_VIDEO_BWQCAM=m | ||
3445 | CONFIG_VIDEO_CQCAM=m | ||
3446 | CONFIG_VIDEO_W9966=m | ||
3447 | CONFIG_RADIO_ADAPTERS=y | ||
3448 | CONFIG_RADIO_TEA575X=m | ||
3449 | CONFIG_RADIO_SI470X=y | ||
3450 | CONFIG_I2C_SI470X=m | ||
3451 | CONFIG_RADIO_MAXIRADIO=m | ||
3452 | CONFIG_I2C_SI4713=m | ||
3453 | CONFIG_RADIO_SI4713=m | ||
3454 | CONFIG_RADIO_TEA5764=m | ||
3455 | CONFIG_RADIO_SAA7706H=m | ||
3456 | CONFIG_RADIO_TEF6862=m | ||
3457 | CONFIG_RADIO_TIMBERDALE=m | ||
3458 | CONFIG_RADIO_WL1273=m | ||
3459 | |||
3460 | # | ||
3461 | # Texas Instruments WL128x FM driver (ST based) | ||
3462 | # | ||
3463 | CONFIG_RADIO_WL128X=m | ||
3464 | |||
3465 | # | ||
3466 | # Supported FireWire (IEEE 1394) Adapters | ||
3467 | # | ||
3468 | CONFIG_DVB_FIREDTV=m | ||
3469 | CONFIG_DVB_FIREDTV_INPUT=y | ||
3470 | CONFIG_MEDIA_COMMON_OPTIONS=y | ||
3471 | |||
3472 | # | ||
3473 | # common driver options | ||
3474 | # | ||
3475 | CONFIG_VIDEO_CX2341X=m | ||
3476 | CONFIG_VIDEO_BTCX=m | ||
3477 | CONFIG_VIDEO_TVEEPROM=m | ||
3478 | CONFIG_DVB_B2C2_FLEXCOP=m | ||
3479 | CONFIG_VIDEO_SAA7146=m | ||
3480 | CONFIG_VIDEO_SAA7146_VV=m | ||
3481 | CONFIG_SMS_SIANO_MDTV=m | ||
3482 | CONFIG_SMS_SIANO_RC=y | ||
3483 | |||
3484 | # | ||
3485 | # Media ancillary drivers (tuners, sensors, i2c, frontends) | ||
3486 | # | ||
3487 | CONFIG_MEDIA_SUBDRV_AUTOSELECT=y | ||
3488 | CONFIG_MEDIA_ATTACH=y | ||
3489 | CONFIG_VIDEO_IR_I2C=m | ||
3490 | |||
3491 | # | ||
3492 | # Audio decoders, processors and mixers | ||
3493 | # | ||
3494 | CONFIG_VIDEO_TVAUDIO=m | ||
3495 | CONFIG_VIDEO_TDA7432=m | ||
3496 | CONFIG_VIDEO_TDA9840=m | ||
3497 | CONFIG_VIDEO_TEA6415C=m | ||
3498 | CONFIG_VIDEO_TEA6420=m | ||
3499 | CONFIG_VIDEO_MSP3400=m | ||
3500 | CONFIG_VIDEO_CS5345=m | ||
3501 | CONFIG_VIDEO_CS53L32A=m | ||
3502 | CONFIG_VIDEO_WM8775=m | ||
3503 | CONFIG_VIDEO_WM8739=m | ||
3504 | CONFIG_VIDEO_VP27SMPX=m | ||
3505 | |||
3506 | # | ||
3507 | # RDS decoders | ||
3508 | # | ||
3509 | CONFIG_VIDEO_SAA6588=m | ||
3510 | |||
3511 | # | ||
3512 | # Video decoders | ||
3513 | # | ||
3514 | CONFIG_VIDEO_ADV7180=m | ||
3515 | CONFIG_VIDEO_SAA711X=m | ||
3516 | |||
3517 | # | ||
3518 | # Video and audio decoders | ||
3519 | # | ||
3520 | CONFIG_VIDEO_SAA717X=m | ||
3521 | CONFIG_VIDEO_CX25840=m | ||
3522 | |||
3523 | # | ||
3524 | # Video encoders | ||
3525 | # | ||
3526 | CONFIG_VIDEO_SAA7127=m | ||
3527 | |||
3528 | # | ||
3529 | # Camera sensor devices | ||
3530 | # | ||
3531 | CONFIG_VIDEO_OV7670=m | ||
3532 | |||
3533 | # | ||
3534 | # Flash devices | ||
3535 | # | ||
3536 | |||
3537 | # | ||
3538 | # Video improvement chips | ||
3539 | # | ||
3540 | CONFIG_VIDEO_UPD64031A=m | ||
3541 | CONFIG_VIDEO_UPD64083=m | ||
3542 | |||
3543 | # | ||
3544 | # Miscellaneous helper chips | ||
3545 | # | ||
3546 | CONFIG_VIDEO_M52790=m | ||
3547 | |||
3548 | # | ||
3549 | # Sensors used on soc_camera driver | ||
3550 | # | ||
3551 | |||
3552 | # | ||
3553 | # soc_camera sensor drivers | ||
3554 | # | ||
3555 | CONFIG_SOC_CAMERA_IMX074=m | ||
3556 | CONFIG_SOC_CAMERA_MT9M001=m | ||
3557 | CONFIG_SOC_CAMERA_MT9M111=m | ||
3558 | CONFIG_SOC_CAMERA_MT9T031=m | ||
3559 | CONFIG_SOC_CAMERA_MT9T112=m | ||
3560 | CONFIG_SOC_CAMERA_MT9V022=m | ||
3561 | CONFIG_SOC_CAMERA_OV2640=m | ||
3562 | CONFIG_SOC_CAMERA_OV5642=m | ||
3563 | CONFIG_SOC_CAMERA_OV6650=m | ||
3564 | CONFIG_SOC_CAMERA_OV772X=m | ||
3565 | CONFIG_SOC_CAMERA_OV9640=m | ||
3566 | CONFIG_SOC_CAMERA_OV9740=m | ||
3567 | CONFIG_SOC_CAMERA_RJ54N1=m | ||
3568 | CONFIG_SOC_CAMERA_TW9910=m | ||
3569 | CONFIG_MEDIA_TUNER=m | ||
3570 | CONFIG_MEDIA_TUNER_SIMPLE=m | ||
3571 | CONFIG_MEDIA_TUNER_TDA8290=m | ||
3572 | CONFIG_MEDIA_TUNER_TDA827X=m | ||
3573 | CONFIG_MEDIA_TUNER_TDA18271=m | ||
3574 | CONFIG_MEDIA_TUNER_TDA9887=m | ||
3575 | CONFIG_MEDIA_TUNER_TEA5761=m | ||
3576 | CONFIG_MEDIA_TUNER_TEA5767=m | ||
3577 | CONFIG_MEDIA_TUNER_MT20XX=m | ||
3578 | CONFIG_MEDIA_TUNER_MT2131=m | ||
3579 | CONFIG_MEDIA_TUNER_XC2028=m | ||
3580 | CONFIG_MEDIA_TUNER_XC5000=m | ||
3581 | CONFIG_MEDIA_TUNER_XC4000=m | ||
3582 | CONFIG_MEDIA_TUNER_MXL5005S=m | ||
3583 | CONFIG_MEDIA_TUNER_MC44S803=m | ||
3584 | |||
3585 | # | ||
3586 | # Multistandard (satellite) frontends | ||
3587 | # | ||
3588 | CONFIG_DVB_STB0899=m | ||
3589 | CONFIG_DVB_STB6100=m | ||
3590 | CONFIG_DVB_STV090x=m | ||
3591 | CONFIG_DVB_STV6110x=m | ||
3592 | |||
3593 | # | ||
3594 | # Multistandard (cable + terrestrial) frontends | ||
3595 | # | ||
3596 | CONFIG_DVB_DRXK=m | ||
3597 | CONFIG_DVB_TDA18271C2DD=m | ||
3598 | |||
3599 | # | ||
3600 | # DVB-S (satellite) frontends | ||
3601 | # | ||
3602 | CONFIG_DVB_CX24110=m | ||
3603 | CONFIG_DVB_CX24123=m | ||
3604 | CONFIG_DVB_MT312=m | ||
3605 | CONFIG_DVB_ZL10036=m | ||
3606 | CONFIG_DVB_ZL10039=m | ||
3607 | CONFIG_DVB_S5H1420=m | ||
3608 | CONFIG_DVB_STV0288=m | ||
3609 | CONFIG_DVB_STB6000=m | ||
3610 | CONFIG_DVB_STV0299=m | ||
3611 | CONFIG_DVB_STV0900=m | ||
3612 | CONFIG_DVB_TDA8083=m | ||
3613 | CONFIG_DVB_TDA10086=m | ||
3614 | CONFIG_DVB_TDA8261=m | ||
3615 | CONFIG_DVB_VES1X93=m | ||
3616 | CONFIG_DVB_TUNER_ITD1000=m | ||
3617 | CONFIG_DVB_TUNER_CX24113=m | ||
3618 | CONFIG_DVB_TDA826X=m | ||
3619 | CONFIG_DVB_TUA6100=m | ||
3620 | CONFIG_DVB_CX24116=m | ||
3621 | CONFIG_DVB_SI21XX=m | ||
3622 | CONFIG_DVB_TS2020=m | ||
3623 | CONFIG_DVB_DS3000=m | ||
3624 | CONFIG_DVB_MB86A16=m | ||
3625 | |||
3626 | # | ||
3627 | # DVB-T (terrestrial) frontends | ||
3628 | # | ||
3629 | CONFIG_DVB_SP8870=m | ||
3630 | CONFIG_DVB_SP887X=m | ||
3631 | CONFIG_DVB_CX22702=m | ||
3632 | CONFIG_DVB_L64781=m | ||
3633 | CONFIG_DVB_TDA1004X=m | ||
3634 | CONFIG_DVB_NXT6000=m | ||
3635 | CONFIG_DVB_MT352=m | ||
3636 | CONFIG_DVB_ZL10353=m | ||
3637 | CONFIG_DVB_TDA10048=m | ||
3638 | |||
3639 | # | ||
3640 | # DVB-C (cable) frontends | ||
3641 | # | ||
3642 | CONFIG_DVB_VES1820=m | ||
3643 | CONFIG_DVB_TDA10021=m | ||
3644 | CONFIG_DVB_TDA10023=m | ||
3645 | CONFIG_DVB_STV0297=m | ||
3646 | |||
3647 | # | ||
3648 | # ATSC (North American/Korean Terrestrial/Cable DTV) frontends | ||
3649 | # | ||
3650 | CONFIG_DVB_NXT200X=m | ||
3651 | CONFIG_DVB_OR51211=m | ||
3652 | CONFIG_DVB_OR51132=m | ||
3653 | CONFIG_DVB_BCM3510=m | ||
3654 | CONFIG_DVB_LGDT330X=m | ||
3655 | CONFIG_DVB_LGDT3305=m | ||
3656 | CONFIG_DVB_S5H1409=m | ||
3657 | CONFIG_DVB_S5H1411=m | ||
3658 | |||
3659 | # | ||
3660 | # ISDB-T (terrestrial) frontends | ||
3661 | # | ||
3662 | |||
3663 | # | ||
3664 | # Digital terrestrial only tuners/PLL | ||
3665 | # | ||
3666 | CONFIG_DVB_PLL=m | ||
3667 | |||
3668 | # | ||
3669 | # SEC control devices for DVB-S | ||
3670 | # | ||
3671 | CONFIG_DVB_LNBP21=m | ||
3672 | CONFIG_DVB_ISL6405=m | ||
3673 | CONFIG_DVB_ISL6421=m | ||
3674 | CONFIG_DVB_ISL6423=m | ||
3675 | CONFIG_DVB_TDA665x=m | ||
3676 | |||
3677 | # | ||
3678 | # Tools to develop new frontends | ||
3679 | # | ||
3680 | # CONFIG_DVB_DUMMY_FE is not set | ||
3681 | |||
3682 | # | ||
3683 | # Graphics support | ||
3684 | # | ||
3685 | CONFIG_VGA_ARB=y | ||
3686 | CONFIG_VGA_ARB_MAX_GPUS=16 | ||
3687 | CONFIG_DRM=m | ||
3688 | CONFIG_DRM_KMS_HELPER=m | ||
3689 | CONFIG_DRM_KMS_FB_HELPER=y | ||
3690 | CONFIG_DRM_LOAD_EDID_FIRMWARE=y | ||
3691 | CONFIG_DRM_TTM=m | ||
3692 | |||
3693 | # | ||
3694 | # I2C encoder or helper chips | ||
3695 | # | ||
3696 | CONFIG_DRM_I2C_CH7006=m | ||
3697 | CONFIG_DRM_I2C_SIL164=m | ||
3698 | CONFIG_DRM_I2C_NXP_TDA998X=m | ||
3699 | CONFIG_DRM_TDFX=m | ||
3700 | CONFIG_DRM_R128=m | ||
3701 | CONFIG_DRM_RADEON=m | ||
3702 | CONFIG_DRM_RADEON_UMS=y | ||
3703 | CONFIG_DRM_NOUVEAU=m | ||
3704 | CONFIG_NOUVEAU_DEBUG=5 | ||
3705 | CONFIG_NOUVEAU_DEBUG_DEFAULT=3 | ||
3706 | CONFIG_DRM_NOUVEAU_BACKLIGHT=y | ||
3707 | CONFIG_DRM_MGA=m | ||
3708 | CONFIG_DRM_VIA=m | ||
3709 | CONFIG_DRM_SAVAGE=m | ||
3710 | CONFIG_DRM_VMWGFX=m | ||
3711 | CONFIG_DRM_VMWGFX_FBCON=y | ||
3712 | CONFIG_DRM_AST=m | ||
3713 | # CONFIG_DRM_MGAG200 is not set | ||
3714 | CONFIG_DRM_CIRRUS_QEMU=m | ||
3715 | CONFIG_DRM_QXL=m | ||
3716 | CONFIG_VGASTATE=m | ||
3717 | CONFIG_VIDEO_OUTPUT_CONTROL=m | ||
3718 | CONFIG_HDMI=y | ||
3719 | CONFIG_FB=y | ||
3720 | CONFIG_FIRMWARE_EDID=y | ||
3721 | CONFIG_FB_DDC=m | ||
3722 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
3723 | CONFIG_FB_CFB_FILLRECT=y | ||
3724 | CONFIG_FB_CFB_COPYAREA=y | ||
3725 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
3726 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
3727 | CONFIG_FB_SYS_FILLRECT=m | ||
3728 | CONFIG_FB_SYS_COPYAREA=m | ||
3729 | CONFIG_FB_SYS_IMAGEBLIT=m | ||
3730 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
3731 | CONFIG_FB_SYS_FOPS=m | ||
3732 | CONFIG_FB_DEFERRED_IO=y | ||
3733 | CONFIG_FB_SVGALIB=m | ||
3734 | # CONFIG_FB_MACMODES is not set | ||
3735 | CONFIG_FB_BACKLIGHT=y | ||
3736 | CONFIG_FB_MODE_HELPERS=y | ||
3737 | CONFIG_FB_TILEBLITTING=y | ||
3738 | |||
3739 | # | ||
3740 | # Frame buffer hardware drivers | ||
3741 | # | ||
3742 | CONFIG_FB_CIRRUS=m | ||
3743 | CONFIG_FB_PM2=m | ||
3744 | CONFIG_FB_PM2_FIFO_DISCONNECT=y | ||
3745 | CONFIG_FB_CYBER2000=m | ||
3746 | CONFIG_FB_CYBER2000_DDC=y | ||
3747 | CONFIG_FB_ASILIANT=y | ||
3748 | CONFIG_FB_IMSTT=y | ||
3749 | CONFIG_FB_UVESA=m | ||
3750 | CONFIG_FB_S1D13XXX=m | ||
3751 | CONFIG_FB_NVIDIA=m | ||
3752 | CONFIG_FB_NVIDIA_I2C=y | ||
3753 | # CONFIG_FB_NVIDIA_DEBUG is not set | ||
3754 | CONFIG_FB_NVIDIA_BACKLIGHT=y | ||
3755 | CONFIG_FB_RIVA=m | ||
3756 | CONFIG_FB_RIVA_I2C=y | ||
3757 | # CONFIG_FB_RIVA_DEBUG is not set | ||
3758 | CONFIG_FB_RIVA_BACKLIGHT=y | ||
3759 | CONFIG_FB_I740=m | ||
3760 | CONFIG_FB_MATROX=m | ||
3761 | CONFIG_FB_MATROX_MILLENIUM=y | ||
3762 | CONFIG_FB_MATROX_MYSTIQUE=y | ||
3763 | CONFIG_FB_MATROX_G=y | ||
3764 | CONFIG_FB_MATROX_I2C=m | ||
3765 | CONFIG_FB_MATROX_MAVEN=m | ||
3766 | CONFIG_FB_RADEON=m | ||
3767 | CONFIG_FB_RADEON_I2C=y | ||
3768 | CONFIG_FB_RADEON_BACKLIGHT=y | ||
3769 | # CONFIG_FB_RADEON_DEBUG is not set | ||
3770 | CONFIG_FB_ATY128=m | ||
3771 | CONFIG_FB_ATY128_BACKLIGHT=y | ||
3772 | CONFIG_FB_ATY=m | ||
3773 | CONFIG_FB_ATY_CT=y | ||
3774 | # CONFIG_FB_ATY_GENERIC_LCD is not set | ||
3775 | CONFIG_FB_ATY_GX=y | ||
3776 | CONFIG_FB_ATY_BACKLIGHT=y | ||
3777 | CONFIG_FB_S3=m | ||
3778 | CONFIG_FB_S3_DDC=y | ||
3779 | CONFIG_FB_SAVAGE=m | ||
3780 | CONFIG_FB_SAVAGE_I2C=y | ||
3781 | # CONFIG_FB_SAVAGE_ACCEL is not set | ||
3782 | CONFIG_FB_SIS=m | ||
3783 | CONFIG_FB_SIS_300=y | ||
3784 | CONFIG_FB_SIS_315=y | ||
3785 | CONFIG_FB_NEOMAGIC=m | ||
3786 | CONFIG_FB_KYRO=m | ||
3787 | CONFIG_FB_3DFX=m | ||
3788 | CONFIG_FB_3DFX_ACCEL=y | ||
3789 | CONFIG_FB_3DFX_I2C=y | ||
3790 | CONFIG_FB_VOODOO1=m | ||
3791 | CONFIG_FB_VT8623=m | ||
3792 | CONFIG_FB_TRIDENT=m | ||
3793 | CONFIG_FB_ARK=m | ||
3794 | CONFIG_FB_PM3=m | ||
3795 | CONFIG_FB_CARMINE=m | ||
3796 | CONFIG_FB_CARMINE_DRAM_EVAL=y | ||
3797 | # CONFIG_CARMINE_DRAM_CUSTOM is not set | ||
3798 | CONFIG_FB_TMIO=m | ||
3799 | CONFIG_FB_TMIO_ACCELL=y | ||
3800 | CONFIG_FB_SM501=m | ||
3801 | CONFIG_FB_GOLDFISH=m | ||
3802 | # CONFIG_FB_VIRTUAL is not set | ||
3803 | CONFIG_XEN_FBDEV_FRONTEND=m | ||
3804 | CONFIG_FB_METRONOME=m | ||
3805 | CONFIG_FB_MB862XX=m | ||
3806 | CONFIG_FB_MB862XX_PCI_GDC=y | ||
3807 | CONFIG_FB_MB862XX_I2C=y | ||
3808 | CONFIG_FB_BROADSHEET=m | ||
3809 | CONFIG_FB_AUO_K190X=m | ||
3810 | CONFIG_FB_AUO_K1900=m | ||
3811 | CONFIG_FB_AUO_K1901=m | ||
3812 | CONFIG_FB_SIMPLE=y | ||
3813 | CONFIG_EXYNOS_VIDEO=y | ||
3814 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
3815 | CONFIG_LCD_CLASS_DEVICE=m | ||
3816 | CONFIG_LCD_L4F00242T03=m | ||
3817 | CONFIG_LCD_LMS283GF05=m | ||
3818 | CONFIG_LCD_LTV350QV=m | ||
3819 | CONFIG_LCD_ILI922X=m | ||
3820 | CONFIG_LCD_ILI9320=m | ||
3821 | CONFIG_LCD_TDO24M=m | ||
3822 | CONFIG_LCD_VGG2432A4=m | ||
3823 | CONFIG_LCD_PLATFORM=m | ||
3824 | CONFIG_LCD_S6E63M0=m | ||
3825 | CONFIG_LCD_LD9040=m | ||
3826 | CONFIG_LCD_AMS369FG06=m | ||
3827 | CONFIG_LCD_LMS501KF03=m | ||
3828 | CONFIG_LCD_HX8357=m | ||
3829 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | ||
3830 | CONFIG_BACKLIGHT_ATMEL_PWM=m | ||
3831 | CONFIG_BACKLIGHT_GENERIC=m | ||
3832 | CONFIG_BACKLIGHT_LM3533=m | ||
3833 | CONFIG_BACKLIGHT_PWM=m | ||
3834 | CONFIG_BACKLIGHT_DA903X=m | ||
3835 | CONFIG_BACKLIGHT_DA9052=m | ||
3836 | CONFIG_BACKLIGHT_MAX8925=m | ||
3837 | CONFIG_BACKLIGHT_WM831X=m | ||
3838 | CONFIG_BACKLIGHT_ADP5520=m | ||
3839 | CONFIG_BACKLIGHT_ADP8860=m | ||
3840 | CONFIG_BACKLIGHT_ADP8870=m | ||
3841 | CONFIG_BACKLIGHT_88PM860X=m | ||
3842 | CONFIG_BACKLIGHT_PCF50633=m | ||
3843 | CONFIG_BACKLIGHT_AAT2870=m | ||
3844 | CONFIG_BACKLIGHT_LM3630A=m | ||
3845 | CONFIG_BACKLIGHT_LM3639=m | ||
3846 | CONFIG_BACKLIGHT_LP855X=m | ||
3847 | CONFIG_BACKLIGHT_LP8788=m | ||
3848 | CONFIG_BACKLIGHT_TPS65217=m | ||
3849 | CONFIG_BACKLIGHT_AS3711=m | ||
3850 | CONFIG_BACKLIGHT_GPIO=m | ||
3851 | CONFIG_BACKLIGHT_LV5207LP=m | ||
3852 | CONFIG_BACKLIGHT_BD6107=m | ||
3853 | |||
3854 | # | ||
3855 | # Console display driver support | ||
3856 | # | ||
3857 | # CONFIG_VGA_CONSOLE is not set | ||
3858 | CONFIG_DUMMY_CONSOLE=y | ||
3859 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
3860 | CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y | ||
3861 | CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y | ||
3862 | # CONFIG_LOGO is not set | ||
3863 | CONFIG_FB_SSD1307=m | ||
3864 | # CONFIG_SOUND is not set | ||
3865 | |||
3866 | # | ||
3867 | # HID support | ||
3868 | # | ||
3869 | CONFIG_HID=m | ||
3870 | CONFIG_HID_BATTERY_STRENGTH=y | ||
3871 | CONFIG_HIDRAW=y | ||
3872 | CONFIG_UHID=m | ||
3873 | CONFIG_HID_GENERIC=m | ||
3874 | |||
3875 | # | ||
3876 | # Special HID drivers | ||
3877 | # | ||
3878 | CONFIG_HID_A4TECH=m | ||
3879 | CONFIG_HID_ACRUX=m | ||
3880 | CONFIG_HID_ACRUX_FF=y | ||
3881 | CONFIG_HID_APPLE=m | ||
3882 | CONFIG_HID_AUREAL=m | ||
3883 | CONFIG_HID_BELKIN=m | ||
3884 | CONFIG_HID_CHERRY=m | ||
3885 | CONFIG_HID_CHICONY=m | ||
3886 | CONFIG_HID_CYPRESS=m | ||
3887 | CONFIG_HID_DRAGONRISE=m | ||
3888 | CONFIG_DRAGONRISE_FF=y | ||
3889 | CONFIG_HID_EMS_FF=m | ||
3890 | CONFIG_HID_ELECOM=m | ||
3891 | CONFIG_HID_EZKEY=m | ||
3892 | CONFIG_HID_KEYTOUCH=m | ||
3893 | CONFIG_HID_KYE=m | ||
3894 | CONFIG_HID_UCLOGIC=m | ||
3895 | CONFIG_HID_WALTOP=m | ||
3896 | CONFIG_HID_GYRATION=m | ||
3897 | CONFIG_HID_ICADE=m | ||
3898 | CONFIG_HID_TWINHAN=m | ||
3899 | CONFIG_HID_KENSINGTON=m | ||
3900 | CONFIG_HID_LCPOWER=m | ||
3901 | CONFIG_HID_LENOVO_TPKBD=m | ||
3902 | CONFIG_HID_LOGITECH=m | ||
3903 | CONFIG_HID_LOGITECH_DJ=m | ||
3904 | CONFIG_LOGITECH_FF=y | ||
3905 | CONFIG_LOGIRUMBLEPAD2_FF=y | ||
3906 | CONFIG_LOGIG940_FF=y | ||
3907 | CONFIG_LOGIWHEELS_FF=y | ||
3908 | CONFIG_HID_MAGICMOUSE=m | ||
3909 | CONFIG_HID_MICROSOFT=m | ||
3910 | CONFIG_HID_MONTEREY=m | ||
3911 | CONFIG_HID_MULTITOUCH=m | ||
3912 | CONFIG_HID_ORTEK=m | ||
3913 | CONFIG_HID_PANTHERLORD=m | ||
3914 | CONFIG_PANTHERLORD_FF=y | ||
3915 | CONFIG_HID_PETALYNX=m | ||
3916 | CONFIG_HID_PICOLCD=m | ||
3917 | CONFIG_HID_PICOLCD_FB=y | ||
3918 | CONFIG_HID_PICOLCD_BACKLIGHT=y | ||
3919 | CONFIG_HID_PICOLCD_LCD=y | ||
3920 | CONFIG_HID_PICOLCD_LEDS=y | ||
3921 | CONFIG_HID_PICOLCD_CIR=y | ||
3922 | CONFIG_HID_PRIMAX=m | ||
3923 | CONFIG_HID_SAITEK=m | ||
3924 | CONFIG_HID_SAMSUNG=m | ||
3925 | CONFIG_HID_SPEEDLINK=m | ||
3926 | CONFIG_HID_STEELSERIES=m | ||
3927 | CONFIG_HID_SUNPLUS=m | ||
3928 | CONFIG_HID_GREENASIA=m | ||
3929 | CONFIG_GREENASIA_FF=y | ||
3930 | CONFIG_HID_SMARTJOYPLUS=m | ||
3931 | CONFIG_SMARTJOYPLUS_FF=y | ||
3932 | CONFIG_HID_TIVO=m | ||
3933 | CONFIG_HID_TOPSEED=m | ||
3934 | CONFIG_HID_THINGM=m | ||
3935 | CONFIG_HID_THRUSTMASTER=m | ||
3936 | CONFIG_THRUSTMASTER_FF=y | ||
3937 | CONFIG_HID_WACOM=m | ||
3938 | CONFIG_HID_WIIMOTE=m | ||
3939 | CONFIG_HID_XINMO=m | ||
3940 | CONFIG_HID_ZEROPLUS=m | ||
3941 | CONFIG_ZEROPLUS_FF=y | ||
3942 | CONFIG_HID_ZYDACRON=m | ||
3943 | CONFIG_HID_SENSOR_HUB=m | ||
3944 | |||
3945 | # | ||
3946 | # I2C HID support | ||
3947 | # | ||
3948 | CONFIG_I2C_HID=m | ||
3949 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | ||
3950 | # CONFIG_USB_SUPPORT is not set | ||
3951 | CONFIG_UWB=m | ||
3952 | CONFIG_UWB_WHCI=m | ||
3953 | CONFIG_MMC=y | ||
3954 | # CONFIG_MMC_DEBUG is not set | ||
3955 | # CONFIG_MMC_UNSAFE_RESUME is not set | ||
3956 | # CONFIG_MMC_CLKGATE is not set | ||
3957 | |||
3958 | # | ||
3959 | # MMC/SD/SDIO Card Drivers | ||
3960 | # | ||
3961 | CONFIG_MMC_BLOCK=y | ||
3962 | CONFIG_MMC_BLOCK_MINORS=8 | ||
3963 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
3964 | CONFIG_SDIO_UART=m | ||
3965 | # CONFIG_MMC_TEST is not set | ||
3966 | |||
3967 | # | ||
3968 | # MMC/SD/SDIO Host Controller Drivers | ||
3969 | # | ||
3970 | CONFIG_MMC_ARMMMCI=y | ||
3971 | CONFIG_MMC_SDHCI=m | ||
3972 | CONFIG_MMC_SDHCI_PCI=m | ||
3973 | CONFIG_MMC_RICOH_MMC=y | ||
3974 | CONFIG_MMC_SDHCI_PLTFM=m | ||
3975 | CONFIG_MMC_SDHCI_PXAV3=m | ||
3976 | CONFIG_MMC_SDHCI_PXAV2=m | ||
3977 | CONFIG_MMC_TIFM_SD=m | ||
3978 | CONFIG_MMC_SPI=m | ||
3979 | CONFIG_MMC_CB710=m | ||
3980 | CONFIG_MMC_VIA_SDMMC=m | ||
3981 | CONFIG_MMC_REALTEK_PCI=m | ||
3982 | CONFIG_MEMSTICK=m | ||
3983 | # CONFIG_MEMSTICK_DEBUG is not set | ||
3984 | |||
3985 | # | ||
3986 | # MemoryStick drivers | ||
3987 | # | ||
3988 | # CONFIG_MEMSTICK_UNSAFE_RESUME is not set | ||
3989 | CONFIG_MSPRO_BLOCK=m | ||
3990 | CONFIG_MS_BLOCK=m | ||
3991 | |||
3992 | # | ||
3993 | # MemoryStick Host Controller Drivers | ||
3994 | # | ||
3995 | CONFIG_MEMSTICK_TIFM_MS=m | ||
3996 | CONFIG_MEMSTICK_JMICRON_38X=m | ||
3997 | CONFIG_MEMSTICK_R592=m | ||
3998 | CONFIG_MEMSTICK_REALTEK_PCI=m | ||
3999 | CONFIG_NEW_LEDS=y | ||
4000 | CONFIG_LEDS_CLASS=y | ||
4001 | |||
4002 | # | ||
4003 | # LED drivers | ||
4004 | # | ||
4005 | CONFIG_LEDS_88PM860X=m | ||
4006 | CONFIG_LEDS_ATMEL_PWM=m | ||
4007 | CONFIG_LEDS_LM3530=m | ||
4008 | CONFIG_LEDS_LM3533=m | ||
4009 | CONFIG_LEDS_LM3642=m | ||
4010 | CONFIG_LEDS_PCA9532=m | ||
4011 | CONFIG_LEDS_PCA9532_GPIO=y | ||
4012 | CONFIG_LEDS_GPIO=m | ||
4013 | CONFIG_LEDS_LP3944=m | ||
4014 | CONFIG_LEDS_LP55XX_COMMON=m | ||
4015 | CONFIG_LEDS_LP5521=m | ||
4016 | CONFIG_LEDS_LP5523=m | ||
4017 | CONFIG_LEDS_LP5562=m | ||
4018 | CONFIG_LEDS_LP8501=m | ||
4019 | CONFIG_LEDS_LP8788=m | ||
4020 | CONFIG_LEDS_PCA955X=m | ||
4021 | CONFIG_LEDS_PCA963X=m | ||
4022 | CONFIG_LEDS_PCA9685=m | ||
4023 | CONFIG_LEDS_WM831X_STATUS=m | ||
4024 | CONFIG_LEDS_WM8350=m | ||
4025 | CONFIG_LEDS_DA903X=m | ||
4026 | CONFIG_LEDS_DA9052=m | ||
4027 | CONFIG_LEDS_DAC124S085=m | ||
4028 | CONFIG_LEDS_PWM=m | ||
4029 | CONFIG_LEDS_REGULATOR=m | ||
4030 | CONFIG_LEDS_BD2802=m | ||
4031 | CONFIG_LEDS_LT3593=m | ||
4032 | CONFIG_LEDS_ADP5520=m | ||
4033 | CONFIG_LEDS_MC13783=m | ||
4034 | CONFIG_LEDS_TCA6507=m | ||
4035 | CONFIG_LEDS_MAX8997=m | ||
4036 | CONFIG_LEDS_LM355x=m | ||
4037 | CONFIG_LEDS_OT200=m | ||
4038 | CONFIG_LEDS_BLINKM=m | ||
4039 | |||
4040 | # | ||
4041 | # LED Triggers | ||
4042 | # | ||
4043 | CONFIG_LEDS_TRIGGERS=y | ||
4044 | CONFIG_LEDS_TRIGGER_TIMER=m | ||
4045 | CONFIG_LEDS_TRIGGER_ONESHOT=m | ||
4046 | CONFIG_LEDS_TRIGGER_HEARTBEAT=m | ||
4047 | CONFIG_LEDS_TRIGGER_BACKLIGHT=m | ||
4048 | CONFIG_LEDS_TRIGGER_CPU=y | ||
4049 | CONFIG_LEDS_TRIGGER_GPIO=m | ||
4050 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=m | ||
4051 | |||
4052 | # | ||
4053 | # iptables trigger is under Netfilter config (LED target) | ||
4054 | # | ||
4055 | CONFIG_LEDS_TRIGGER_TRANSIENT=m | ||
4056 | CONFIG_LEDS_TRIGGER_CAMERA=m | ||
4057 | # CONFIG_ACCESSIBILITY is not set | ||
4058 | CONFIG_INFINIBAND=m | ||
4059 | CONFIG_INFINIBAND_USER_MAD=m | ||
4060 | CONFIG_INFINIBAND_USER_ACCESS=m | ||
4061 | CONFIG_INFINIBAND_USER_MEM=y | ||
4062 | CONFIG_INFINIBAND_ADDR_TRANS=y | ||
4063 | CONFIG_INFINIBAND_MTHCA=m | ||
4064 | # CONFIG_INFINIBAND_MTHCA_DEBUG is not set | ||
4065 | CONFIG_INFINIBAND_QIB=m | ||
4066 | CONFIG_INFINIBAND_AMSO1100=m | ||
4067 | # CONFIG_INFINIBAND_AMSO1100_DEBUG is not set | ||
4068 | CONFIG_INFINIBAND_CXGB3=m | ||
4069 | # CONFIG_INFINIBAND_CXGB3_DEBUG is not set | ||
4070 | CONFIG_INFINIBAND_CXGB4=m | ||
4071 | CONFIG_MLX4_INFINIBAND=m | ||
4072 | CONFIG_MLX5_INFINIBAND=m | ||
4073 | CONFIG_INFINIBAND_NES=m | ||
4074 | # CONFIG_INFINIBAND_NES_DEBUG is not set | ||
4075 | CONFIG_INFINIBAND_OCRDMA=m | ||
4076 | CONFIG_INFINIBAND_IPOIB=m | ||
4077 | CONFIG_INFINIBAND_IPOIB_CM=y | ||
4078 | # CONFIG_INFINIBAND_IPOIB_DEBUG is not set | ||
4079 | CONFIG_INFINIBAND_SRP=m | ||
4080 | CONFIG_INFINIBAND_SRPT=m | ||
4081 | CONFIG_INFINIBAND_ISER=m | ||
4082 | CONFIG_INFINIBAND_ISERT=m | ||
4083 | CONFIG_RTC_LIB=y | ||
4084 | CONFIG_RTC_CLASS=y | ||
4085 | CONFIG_RTC_HCTOSYS=y | ||
4086 | CONFIG_RTC_SYSTOHC=y | ||
4087 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
4088 | # CONFIG_RTC_DEBUG is not set | ||
4089 | |||
4090 | # | ||
4091 | # RTC interfaces | ||
4092 | # | ||
4093 | CONFIG_RTC_INTF_SYSFS=y | ||
4094 | CONFIG_RTC_INTF_PROC=y | ||
4095 | CONFIG_RTC_INTF_DEV=y | ||
4096 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
4097 | # CONFIG_RTC_DRV_TEST is not set | ||
4098 | |||
4099 | # | ||
4100 | # I2C RTC drivers | ||
4101 | # | ||
4102 | CONFIG_RTC_DRV_88PM860X=m | ||
4103 | CONFIG_RTC_DRV_88PM80X=m | ||
4104 | CONFIG_RTC_DRV_AS3722=m | ||
4105 | CONFIG_RTC_DRV_DS1307=m | ||
4106 | CONFIG_RTC_DRV_DS1374=m | ||
4107 | CONFIG_RTC_DRV_DS1672=m | ||
4108 | CONFIG_RTC_DRV_DS3232=m | ||
4109 | CONFIG_RTC_DRV_LP8788=m | ||
4110 | CONFIG_RTC_DRV_MAX6900=m | ||
4111 | CONFIG_RTC_DRV_MAX8907=m | ||
4112 | CONFIG_RTC_DRV_MAX8925=m | ||
4113 | CONFIG_RTC_DRV_MAX8998=m | ||
4114 | CONFIG_RTC_DRV_MAX8997=m | ||
4115 | CONFIG_RTC_DRV_MAX77686=m | ||
4116 | CONFIG_RTC_DRV_RS5C372=m | ||
4117 | CONFIG_RTC_DRV_ISL1208=m | ||
4118 | CONFIG_RTC_DRV_ISL12022=m | ||
4119 | CONFIG_RTC_DRV_X1205=m | ||
4120 | CONFIG_RTC_DRV_PALMAS=m | ||
4121 | CONFIG_RTC_DRV_PCF2127=m | ||
4122 | CONFIG_RTC_DRV_PCF8523=m | ||
4123 | CONFIG_RTC_DRV_PCF8563=m | ||
4124 | CONFIG_RTC_DRV_PCF8583=m | ||
4125 | CONFIG_RTC_DRV_M41T80=m | ||
4126 | CONFIG_RTC_DRV_M41T80_WDT=y | ||
4127 | CONFIG_RTC_DRV_BQ32K=m | ||
4128 | CONFIG_RTC_DRV_TPS6586X=m | ||
4129 | CONFIG_RTC_DRV_TPS65910=m | ||
4130 | CONFIG_RTC_DRV_TPS80031=m | ||
4131 | CONFIG_RTC_DRV_RC5T583=m | ||
4132 | CONFIG_RTC_DRV_S35390A=m | ||
4133 | CONFIG_RTC_DRV_FM3130=m | ||
4134 | CONFIG_RTC_DRV_RX8581=m | ||
4135 | CONFIG_RTC_DRV_RX8025=m | ||
4136 | CONFIG_RTC_DRV_EM3027=m | ||
4137 | CONFIG_RTC_DRV_RV3029C2=m | ||
4138 | CONFIG_RTC_DRV_S5M=m | ||
4139 | |||
4140 | # | ||
4141 | # SPI RTC drivers | ||
4142 | # | ||
4143 | CONFIG_RTC_DRV_M41T93=m | ||
4144 | CONFIG_RTC_DRV_M41T94=m | ||
4145 | CONFIG_RTC_DRV_DS1305=m | ||
4146 | CONFIG_RTC_DRV_DS1390=m | ||
4147 | CONFIG_RTC_DRV_MAX6902=m | ||
4148 | CONFIG_RTC_DRV_R9701=m | ||
4149 | CONFIG_RTC_DRV_RS5C348=m | ||
4150 | CONFIG_RTC_DRV_DS3234=m | ||
4151 | CONFIG_RTC_DRV_PCF2123=m | ||
4152 | CONFIG_RTC_DRV_RX4581=m | ||
4153 | |||
4154 | # | ||
4155 | # Platform RTC drivers | ||
4156 | # | ||
4157 | CONFIG_RTC_DRV_DS1286=m | ||
4158 | CONFIG_RTC_DRV_DS1511=m | ||
4159 | CONFIG_RTC_DRV_DS1553=m | ||
4160 | CONFIG_RTC_DRV_DS1742=m | ||
4161 | CONFIG_RTC_DRV_DA9052=m | ||
4162 | CONFIG_RTC_DRV_DA9055=m | ||
4163 | CONFIG_RTC_DRV_STK17TA8=m | ||
4164 | CONFIG_RTC_DRV_M48T86=m | ||
4165 | CONFIG_RTC_DRV_M48T35=m | ||
4166 | CONFIG_RTC_DRV_M48T59=m | ||
4167 | CONFIG_RTC_DRV_MSM6242=m | ||
4168 | CONFIG_RTC_DRV_BQ4802=m | ||
4169 | CONFIG_RTC_DRV_RP5C01=m | ||
4170 | CONFIG_RTC_DRV_V3020=m | ||
4171 | CONFIG_RTC_DRV_DS2404=m | ||
4172 | CONFIG_RTC_DRV_WM831X=m | ||
4173 | CONFIG_RTC_DRV_WM8350=m | ||
4174 | CONFIG_RTC_DRV_PCF50633=m | ||
4175 | CONFIG_RTC_DRV_AB3100=m | ||
4176 | |||
4177 | # | ||
4178 | # on-CPU RTC drivers | ||
4179 | # | ||
4180 | CONFIG_RTC_DRV_XGENE=y | ||
4181 | CONFIG_RTC_DRV_PL030=m | ||
4182 | CONFIG_RTC_DRV_PL031=m | ||
4183 | CONFIG_RTC_DRV_MC13XXX=m | ||
4184 | CONFIG_RTC_DRV_SNVS=m | ||
4185 | CONFIG_RTC_DRV_MOXART=m | ||
4186 | |||
4187 | # | ||
4188 | # HID Sensor RTC drivers | ||
4189 | # | ||
4190 | CONFIG_DMADEVICES=y | ||
4191 | # CONFIG_DMADEVICES_DEBUG is not set | ||
4192 | |||
4193 | # | ||
4194 | # DMA Devices | ||
4195 | # | ||
4196 | CONFIG_AMBA_PL08X=y | ||
4197 | CONFIG_DW_DMAC_CORE=m | ||
4198 | CONFIG_DW_DMAC=m | ||
4199 | CONFIG_DW_DMAC_PCI=m | ||
4200 | CONFIG_TIMB_DMA=m | ||
4201 | CONFIG_PL330_DMA=m | ||
4202 | CONFIG_DMA_ENGINE=y | ||
4203 | CONFIG_DMA_VIRTUAL_CHANNELS=y | ||
4204 | CONFIG_DMA_OF=y | ||
4205 | |||
4206 | # | ||
4207 | # DMA Clients | ||
4208 | # | ||
4209 | # CONFIG_ASYNC_TX_DMA is not set | ||
4210 | # CONFIG_DMATEST is not set | ||
4211 | CONFIG_AUXDISPLAY=y | ||
4212 | CONFIG_UIO=m | ||
4213 | CONFIG_UIO_CIF=m | ||
4214 | CONFIG_UIO_PDRV_GENIRQ=m | ||
4215 | CONFIG_UIO_DMEM_GENIRQ=m | ||
4216 | CONFIG_UIO_AEC=m | ||
4217 | CONFIG_UIO_SERCOS3=m | ||
4218 | CONFIG_UIO_PCI_GENERIC=m | ||
4219 | CONFIG_UIO_NETX=m | ||
4220 | CONFIG_UIO_MF624=m | ||
4221 | CONFIG_VIRT_DRIVERS=y | ||
4222 | CONFIG_VIRTIO=y | ||
4223 | |||
4224 | # | ||
4225 | # Virtio drivers | ||
4226 | # | ||
4227 | CONFIG_VIRTIO_PCI=m | ||
4228 | CONFIG_VIRTIO_BALLOON=y | ||
4229 | CONFIG_VIRTIO_MMIO=y | ||
4230 | CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y | ||
4231 | |||
4232 | # | ||
4233 | # Microsoft Hyper-V guest support | ||
4234 | # | ||
4235 | |||
4236 | # | ||
4237 | # Xen driver support | ||
4238 | # | ||
4239 | CONFIG_XEN_BALLOON=y | ||
4240 | CONFIG_XEN_SCRUB_PAGES=y | ||
4241 | CONFIG_XEN_DEV_EVTCHN=m | ||
4242 | CONFIG_XEN_BACKEND=y | ||
4243 | CONFIG_XENFS=m | ||
4244 | CONFIG_XEN_COMPAT_XENFS=y | ||
4245 | CONFIG_XEN_SYS_HYPERVISOR=y | ||
4246 | CONFIG_XEN_XENBUS_FRONTEND=y | ||
4247 | CONFIG_XEN_GNTDEV=m | ||
4248 | CONFIG_XEN_GRANT_DEV_ALLOC=m | ||
4249 | CONFIG_SWIOTLB_XEN=y | ||
4250 | CONFIG_XEN_PRIVCMD=m | ||
4251 | CONFIG_STAGING=y | ||
4252 | CONFIG_ET131X=m | ||
4253 | CONFIG_ECHO=m | ||
4254 | CONFIG_COMEDI=m | ||
4255 | # CONFIG_COMEDI_DEBUG is not set | ||
4256 | CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048 | ||
4257 | CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480 | ||
4258 | CONFIG_COMEDI_MISC_DRIVERS=y | ||
4259 | CONFIG_COMEDI_KCOMEDILIB=m | ||
4260 | CONFIG_COMEDI_BOND=m | ||
4261 | CONFIG_COMEDI_TEST=m | ||
4262 | CONFIG_COMEDI_PARPORT=m | ||
4263 | CONFIG_COMEDI_SERIAL2002=m | ||
4264 | CONFIG_COMEDI_SKEL=m | ||
4265 | CONFIG_COMEDI_ISA_DRIVERS=y | ||
4266 | CONFIG_COMEDI_PCL711=m | ||
4267 | CONFIG_COMEDI_PCL724=m | ||
4268 | CONFIG_COMEDI_PCL726=m | ||
4269 | CONFIG_COMEDI_PCL730=m | ||
4270 | CONFIG_COMEDI_PCM3724=m | ||
4271 | CONFIG_COMEDI_AMPLC_DIO200_ISA=m | ||
4272 | CONFIG_COMEDI_AMPLC_PC236_ISA=m | ||
4273 | CONFIG_COMEDI_AMPLC_PC263_ISA=m | ||
4274 | CONFIG_COMEDI_RTI800=m | ||
4275 | CONFIG_COMEDI_RTI802=m | ||
4276 | CONFIG_COMEDI_DAS16M1=m | ||
4277 | CONFIG_COMEDI_DAS08_ISA=m | ||
4278 | CONFIG_COMEDI_DAS800=m | ||
4279 | CONFIG_COMEDI_DAS6402=m | ||
4280 | CONFIG_COMEDI_DT2801=m | ||
4281 | CONFIG_COMEDI_DT2811=m | ||
4282 | CONFIG_COMEDI_DT2814=m | ||
4283 | CONFIG_COMEDI_DT2815=m | ||
4284 | CONFIG_COMEDI_DT2817=m | ||
4285 | CONFIG_COMEDI_DMM32AT=m | ||
4286 | CONFIG_COMEDI_UNIOXX5=m | ||
4287 | CONFIG_COMEDI_FL512=m | ||
4288 | CONFIG_COMEDI_AIO_AIO12_8=m | ||
4289 | CONFIG_COMEDI_AIO_IIRO_16=m | ||
4290 | CONFIG_COMEDI_II_PCI20KC=m | ||
4291 | CONFIG_COMEDI_C6XDIGIO=m | ||
4292 | CONFIG_COMEDI_MPC624=m | ||
4293 | CONFIG_COMEDI_ADQ12B=m | ||
4294 | CONFIG_COMEDI_NI_AT_AO=m | ||
4295 | CONFIG_COMEDI_NI_ATMIO=m | ||
4296 | CONFIG_COMEDI_NI_ATMIO16D=m | ||
4297 | CONFIG_COMEDI_NI_LABPC_ISA=m | ||
4298 | CONFIG_COMEDI_PCMAD=m | ||
4299 | CONFIG_COMEDI_PCMDA12=m | ||
4300 | CONFIG_COMEDI_PCMMIO=m | ||
4301 | CONFIG_COMEDI_PCMUIO=m | ||
4302 | CONFIG_COMEDI_MULTIQ3=m | ||
4303 | CONFIG_COMEDI_POC=m | ||
4304 | CONFIG_COMEDI_S526=m | ||
4305 | CONFIG_COMEDI_PCI_DRIVERS=y | ||
4306 | CONFIG_COMEDI_8255_PCI=m | ||
4307 | CONFIG_COMEDI_ADDI_WATCHDOG=m | ||
4308 | CONFIG_COMEDI_ADDI_APCI_035=m | ||
4309 | CONFIG_COMEDI_ADDI_APCI_1032=m | ||
4310 | CONFIG_COMEDI_ADDI_APCI_1500=m | ||
4311 | CONFIG_COMEDI_ADDI_APCI_1516=m | ||
4312 | CONFIG_COMEDI_ADDI_APCI_1564=m | ||
4313 | CONFIG_COMEDI_ADDI_APCI_16XX=m | ||
4314 | CONFIG_COMEDI_ADDI_APCI_2032=m | ||
4315 | CONFIG_COMEDI_ADDI_APCI_2200=m | ||
4316 | CONFIG_COMEDI_ADDI_APCI_3501=m | ||
4317 | CONFIG_COMEDI_ADDI_APCI_3XXX=m | ||
4318 | CONFIG_COMEDI_ADL_PCI6208=m | ||
4319 | CONFIG_COMEDI_ADL_PCI7X3X=m | ||
4320 | CONFIG_COMEDI_ADL_PCI8164=m | ||
4321 | CONFIG_COMEDI_ADL_PCI9111=m | ||
4322 | CONFIG_COMEDI_ADV_PCI1710=m | ||
4323 | CONFIG_COMEDI_ADV_PCI1723=m | ||
4324 | CONFIG_COMEDI_ADV_PCI1724=m | ||
4325 | CONFIG_COMEDI_ADV_PCI_DIO=m | ||
4326 | CONFIG_COMEDI_AMPLC_DIO200_PCI=m | ||
4327 | CONFIG_COMEDI_AMPLC_PC236_PCI=m | ||
4328 | CONFIG_COMEDI_AMPLC_PC263_PCI=m | ||
4329 | CONFIG_COMEDI_AMPLC_PCI224=m | ||
4330 | CONFIG_COMEDI_AMPLC_PCI230=m | ||
4331 | CONFIG_COMEDI_CONTEC_PCI_DIO=m | ||
4332 | CONFIG_COMEDI_DAS08_PCI=m | ||
4333 | CONFIG_COMEDI_DT3000=m | ||
4334 | CONFIG_COMEDI_DYNA_PCI10XX=m | ||
4335 | CONFIG_COMEDI_GSC_HPDI=m | ||
4336 | CONFIG_COMEDI_ICP_MULTI=m | ||
4337 | CONFIG_COMEDI_DAQBOARD2000=m | ||
4338 | CONFIG_COMEDI_JR3_PCI=m | ||
4339 | CONFIG_COMEDI_KE_COUNTER=m | ||
4340 | CONFIG_COMEDI_CB_PCIDAS64=m | ||
4341 | CONFIG_COMEDI_CB_PCIDAS=m | ||
4342 | CONFIG_COMEDI_CB_PCIDDA=m | ||
4343 | CONFIG_COMEDI_CB_PCIMDAS=m | ||
4344 | CONFIG_COMEDI_CB_PCIMDDA=m | ||
4345 | CONFIG_COMEDI_ME4000=m | ||
4346 | CONFIG_COMEDI_ME_DAQ=m | ||
4347 | CONFIG_COMEDI_NI_6527=m | ||
4348 | CONFIG_COMEDI_NI_65XX=m | ||
4349 | CONFIG_COMEDI_NI_660X=m | ||
4350 | CONFIG_COMEDI_NI_670X=m | ||
4351 | CONFIG_COMEDI_NI_LABPC_PCI=m | ||
4352 | CONFIG_COMEDI_NI_PCIDIO=m | ||
4353 | CONFIG_COMEDI_NI_PCIMIO=m | ||
4354 | CONFIG_COMEDI_RTD520=m | ||
4355 | CONFIG_COMEDI_S626=m | ||
4356 | CONFIG_COMEDI_MITE=m | ||
4357 | CONFIG_COMEDI_NI_TIOCMD=m | ||
4358 | CONFIG_COMEDI_8255=m | ||
4359 | CONFIG_COMEDI_FC=m | ||
4360 | CONFIG_COMEDI_AMPLC_DIO200=m | ||
4361 | CONFIG_COMEDI_AMPLC_PC236=m | ||
4362 | CONFIG_COMEDI_DAS08=m | ||
4363 | CONFIG_COMEDI_NI_LABPC=m | ||
4364 | CONFIG_COMEDI_NI_TIO=m | ||
4365 | CONFIG_PANEL=m | ||
4366 | CONFIG_PANEL_PARPORT=0 | ||
4367 | CONFIG_PANEL_PROFILE=5 | ||
4368 | # CONFIG_PANEL_CHANGE_MESSAGE is not set | ||
4369 | CONFIG_R8187SE=m | ||
4370 | CONFIG_RTLLIB=m | ||
4371 | CONFIG_RTLLIB_CRYPTO_CCMP=m | ||
4372 | CONFIG_RTLLIB_CRYPTO_TKIP=m | ||
4373 | CONFIG_RTLLIB_CRYPTO_WEP=m | ||
4374 | CONFIG_RTL8192E=m | ||
4375 | CONFIG_R8821AE=m | ||
4376 | CONFIG_IDE_PHISON=m | ||
4377 | CONFIG_VT6655=m | ||
4378 | CONFIG_DX_SEP=m | ||
4379 | |||
4380 | # | ||
4381 | # IIO staging drivers | ||
4382 | # | ||
4383 | |||
4384 | # | ||
4385 | # Accelerometers | ||
4386 | # | ||
4387 | CONFIG_ADIS16201=m | ||
4388 | CONFIG_ADIS16203=m | ||
4389 | CONFIG_ADIS16204=m | ||
4390 | CONFIG_ADIS16209=m | ||
4391 | CONFIG_ADIS16220=m | ||
4392 | CONFIG_ADIS16240=m | ||
4393 | # CONFIG_LIS3L02DQ is not set | ||
4394 | CONFIG_SCA3000=m | ||
4395 | |||
4396 | # | ||
4397 | # Analog to digital converters | ||
4398 | # | ||
4399 | CONFIG_AD7291=m | ||
4400 | CONFIG_AD7606=m | ||
4401 | CONFIG_AD7606_IFACE_PARALLEL=m | ||
4402 | CONFIG_AD7606_IFACE_SPI=m | ||
4403 | CONFIG_AD799X=m | ||
4404 | CONFIG_AD799X_RING_BUFFER=y | ||
4405 | CONFIG_AD7780=m | ||
4406 | CONFIG_AD7816=m | ||
4407 | CONFIG_AD7192=m | ||
4408 | CONFIG_AD7280=m | ||
4409 | |||
4410 | # | ||
4411 | # Analog digital bi-direction converters | ||
4412 | # | ||
4413 | CONFIG_ADT7316=m | ||
4414 | CONFIG_ADT7316_SPI=m | ||
4415 | CONFIG_ADT7316_I2C=m | ||
4416 | |||
4417 | # | ||
4418 | # Capacitance to digital converters | ||
4419 | # | ||
4420 | CONFIG_AD7150=m | ||
4421 | CONFIG_AD7152=m | ||
4422 | CONFIG_AD7746=m | ||
4423 | |||
4424 | # | ||
4425 | # Direct Digital Synthesis | ||
4426 | # | ||
4427 | CONFIG_AD5930=m | ||
4428 | CONFIG_AD9832=m | ||
4429 | CONFIG_AD9834=m | ||
4430 | CONFIG_AD9850=m | ||
4431 | CONFIG_AD9852=m | ||
4432 | CONFIG_AD9910=m | ||
4433 | CONFIG_AD9951=m | ||
4434 | |||
4435 | # | ||
4436 | # Digital gyroscope sensors | ||
4437 | # | ||
4438 | CONFIG_ADIS16060=m | ||
4439 | |||
4440 | # | ||
4441 | # Network Analyzer, Impedance Converters | ||
4442 | # | ||
4443 | CONFIG_AD5933=m | ||
4444 | |||
4445 | # | ||
4446 | # Light sensors | ||
4447 | # | ||
4448 | CONFIG_SENSORS_ISL29018=m | ||
4449 | CONFIG_SENSORS_ISL29028=m | ||
4450 | CONFIG_TSL2583=m | ||
4451 | CONFIG_TSL2x7x=m | ||
4452 | |||
4453 | # | ||
4454 | # Magnetometer sensors | ||
4455 | # | ||
4456 | CONFIG_SENSORS_HMC5843=m | ||
4457 | |||
4458 | # | ||
4459 | # Active energy metering IC | ||
4460 | # | ||
4461 | CONFIG_ADE7753=m | ||
4462 | CONFIG_ADE7754=m | ||
4463 | CONFIG_ADE7758=m | ||
4464 | CONFIG_ADE7759=m | ||
4465 | CONFIG_ADE7854=m | ||
4466 | CONFIG_ADE7854_I2C=m | ||
4467 | CONFIG_ADE7854_SPI=m | ||
4468 | |||
4469 | # | ||
4470 | # Resolver to digital converters | ||
4471 | # | ||
4472 | CONFIG_AD2S90=m | ||
4473 | CONFIG_AD2S1200=m | ||
4474 | CONFIG_AD2S1210=m | ||
4475 | |||
4476 | # | ||
4477 | # Triggers - standalone | ||
4478 | # | ||
4479 | CONFIG_IIO_PERIODIC_RTC_TRIGGER=m | ||
4480 | CONFIG_IIO_SIMPLE_DUMMY=m | ||
4481 | # CONFIG_IIO_SIMPLE_DUMMY_EVENTS is not set | ||
4482 | # CONFIG_IIO_SIMPLE_DUMMY_BUFFER is not set | ||
4483 | CONFIG_ZSMALLOC=y | ||
4484 | CONFIG_ZRAM=m | ||
4485 | # CONFIG_ZRAM_DEBUG is not set | ||
4486 | CONFIG_FB_SM7XX=m | ||
4487 | CONFIG_CRYSTALHD=m | ||
4488 | CONFIG_CXT1E1=m | ||
4489 | CONFIG_SBE_PMCC4_NCOMM=y | ||
4490 | CONFIG_FB_XGI=m | ||
4491 | CONFIG_SBE_2T3E3=m | ||
4492 | CONFIG_FT1000=m | ||
4493 | |||
4494 | # | ||
4495 | # Speakup console speech | ||
4496 | # | ||
4497 | CONFIG_SPEAKUP=m | ||
4498 | CONFIG_SPEAKUP_SYNTH_ACNTSA=m | ||
4499 | CONFIG_SPEAKUP_SYNTH_APOLLO=m | ||
4500 | CONFIG_SPEAKUP_SYNTH_AUDPTR=m | ||
4501 | CONFIG_SPEAKUP_SYNTH_BNS=m | ||
4502 | CONFIG_SPEAKUP_SYNTH_DECTLK=m | ||
4503 | CONFIG_SPEAKUP_SYNTH_DECEXT=m | ||
4504 | CONFIG_SPEAKUP_SYNTH_LTLK=m | ||
4505 | CONFIG_SPEAKUP_SYNTH_SOFT=m | ||
4506 | CONFIG_SPEAKUP_SYNTH_SPKOUT=m | ||
4507 | CONFIG_SPEAKUP_SYNTH_TXPRT=m | ||
4508 | CONFIG_SPEAKUP_SYNTH_DUMMY=m | ||
4509 | CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m | ||
4510 | CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m | ||
4511 | CONFIG_STAGING_MEDIA=y | ||
4512 | CONFIG_DVB_CXD2099=m | ||
4513 | CONFIG_VIDEO_DT3155=m | ||
4514 | # CONFIG_DT3155_CCIR is not set | ||
4515 | CONFIG_DT3155_STREAMING=y | ||
4516 | CONFIG_LIRC_STAGING=y | ||
4517 | CONFIG_LIRC_BT829=m | ||
4518 | CONFIG_LIRC_PARALLEL=m | ||
4519 | CONFIG_LIRC_SERIAL=m | ||
4520 | CONFIG_LIRC_SERIAL_TRANSMITTER=y | ||
4521 | CONFIG_LIRC_SIR=m | ||
4522 | CONFIG_LIRC_ZILOG=m | ||
4523 | |||
4524 | # | ||
4525 | # Android | ||
4526 | # | ||
4527 | # CONFIG_ANDROID is not set | ||
4528 | CONFIG_WIMAX_GDM72XX=m | ||
4529 | CONFIG_WIMAX_GDM72XX_QOS=y | ||
4530 | CONFIG_WIMAX_GDM72XX_K_MODE=y | ||
4531 | CONFIG_WIMAX_GDM72XX_WIMAX2=y | ||
4532 | CONFIG_WIMAX_GDM72XX_SDIO=y | ||
4533 | CONFIG_NET_VENDOR_SILICOM=y | ||
4534 | CONFIG_SBYPASS=m | ||
4535 | CONFIG_BPCTL=m | ||
4536 | CONFIG_DGRP=m | ||
4537 | CONFIG_FIREWIRE_SERIAL=m | ||
4538 | CONFIG_MTD_SPINAND_MT29F=m | ||
4539 | CONFIG_MTD_SPINAND_ONDIEECC=y | ||
4540 | CONFIG_LUSTRE_FS=m | ||
4541 | CONFIG_LUSTRE_OBD_MAX_IOCTL_BUFFER=8192 | ||
4542 | # CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK is not set | ||
4543 | CONFIG_LUSTRE_TRANSLATE_ERRNOS=y | ||
4544 | CONFIG_LUSTRE_LLITE_LLOOP=y | ||
4545 | CONFIG_LNET=m | ||
4546 | CONFIG_LNET_MAX_PAYLOAD=1048576 | ||
4547 | CONFIG_LNET_SELFTEST=m | ||
4548 | CONFIG_LNET_XPRT_IB=m | ||
4549 | CONFIG_XILLYBUS=m | ||
4550 | CONFIG_XILLYBUS_PCIE=m | ||
4551 | CONFIG_XILLYBUS_OF=m | ||
4552 | CONFIG_DGNC=m | ||
4553 | CONFIG_DGAP=m | ||
4554 | CONFIG_CLKDEV_LOOKUP=y | ||
4555 | CONFIG_HAVE_CLK_PREPARE=y | ||
4556 | CONFIG_COMMON_CLK=y | ||
4557 | |||
4558 | # | ||
4559 | # Common Clock Framework | ||
4560 | # | ||
4561 | # CONFIG_COMMON_CLK_DEBUG is not set | ||
4562 | CONFIG_COMMON_CLK_WM831X=m | ||
4563 | CONFIG_COMMON_CLK_VERSATILE=y | ||
4564 | CONFIG_COMMON_CLK_MAX77686=m | ||
4565 | CONFIG_COMMON_CLK_SI5351=m | ||
4566 | CONFIG_COMMON_CLK_S2MPS11=m | ||
4567 | CONFIG_CLK_TWL6040=m | ||
4568 | CONFIG_COMMON_CLK_XGENE=y | ||
4569 | |||
4570 | # | ||
4571 | # Hardware Spinlock drivers | ||
4572 | # | ||
4573 | CONFIG_CLKSRC_OF=y | ||
4574 | CONFIG_ARM_ARCH_TIMER=y | ||
4575 | CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y | ||
4576 | CONFIG_MAILBOX=y | ||
4577 | CONFIG_PL320_MBOX=y | ||
4578 | # CONFIG_IOMMU_SUPPORT is not set | ||
4579 | |||
4580 | # | ||
4581 | # Remoteproc drivers | ||
4582 | # | ||
4583 | CONFIG_REMOTEPROC=m | ||
4584 | CONFIG_STE_MODEM_RPROC=m | ||
4585 | |||
4586 | # | ||
4587 | # Rpmsg drivers | ||
4588 | # | ||
4589 | CONFIG_PM_DEVFREQ=y | ||
4590 | |||
4591 | # | ||
4592 | # DEVFREQ Governors | ||
4593 | # | ||
4594 | CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y | ||
4595 | CONFIG_DEVFREQ_GOV_PERFORMANCE=y | ||
4596 | CONFIG_DEVFREQ_GOV_POWERSAVE=y | ||
4597 | CONFIG_DEVFREQ_GOV_USERSPACE=y | ||
4598 | |||
4599 | # | ||
4600 | # DEVFREQ Drivers | ||
4601 | # | ||
4602 | CONFIG_EXTCON=y | ||
4603 | |||
4604 | # | ||
4605 | # Extcon Device Drivers | ||
4606 | # | ||
4607 | CONFIG_OF_EXTCON=y | ||
4608 | CONFIG_EXTCON_GPIO=m | ||
4609 | CONFIG_EXTCON_ADC_JACK=m | ||
4610 | CONFIG_EXTCON_MAX77693=m | ||
4611 | CONFIG_EXTCON_MAX8997=m | ||
4612 | CONFIG_EXTCON_PALMAS=m | ||
4613 | CONFIG_MEMORY=y | ||
4614 | CONFIG_IIO=m | ||
4615 | CONFIG_IIO_BUFFER=y | ||
4616 | CONFIG_IIO_BUFFER_CB=y | ||
4617 | CONFIG_IIO_KFIFO_BUF=m | ||
4618 | CONFIG_IIO_TRIGGERED_BUFFER=m | ||
4619 | CONFIG_IIO_TRIGGER=y | ||
4620 | CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 | ||
4621 | |||
4622 | # | ||
4623 | # Accelerometers | ||
4624 | # | ||
4625 | CONFIG_BMA180=m | ||
4626 | CONFIG_HID_SENSOR_ACCEL_3D=m | ||
4627 | CONFIG_IIO_ST_ACCEL_3AXIS=m | ||
4628 | CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m | ||
4629 | CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m | ||
4630 | CONFIG_KXSD9=m | ||
4631 | |||
4632 | # | ||
4633 | # Analog to digital converters | ||
4634 | # | ||
4635 | CONFIG_AD_SIGMA_DELTA=m | ||
4636 | CONFIG_AD7266=m | ||
4637 | CONFIG_AD7298=m | ||
4638 | CONFIG_AD7476=m | ||
4639 | CONFIG_AD7791=m | ||
4640 | CONFIG_AD7793=m | ||
4641 | CONFIG_AD7887=m | ||
4642 | CONFIG_AD7923=m | ||
4643 | CONFIG_EXYNOS_ADC=y | ||
4644 | CONFIG_LP8788_ADC=y | ||
4645 | CONFIG_MAX1363=m | ||
4646 | CONFIG_MCP320X=m | ||
4647 | CONFIG_MCP3422=m | ||
4648 | CONFIG_NAU7802=m | ||
4649 | CONFIG_TI_ADC081C=m | ||
4650 | |||
4651 | # | ||
4652 | # Amplifiers | ||
4653 | # | ||
4654 | CONFIG_AD8366=m | ||
4655 | |||
4656 | # | ||
4657 | # Hid Sensor IIO Common | ||
4658 | # | ||
4659 | CONFIG_HID_SENSOR_IIO_COMMON=m | ||
4660 | CONFIG_HID_SENSOR_IIO_TRIGGER=m | ||
4661 | CONFIG_IIO_ST_SENSORS_I2C=m | ||
4662 | CONFIG_IIO_ST_SENSORS_SPI=m | ||
4663 | CONFIG_IIO_ST_SENSORS_CORE=m | ||
4664 | |||
4665 | # | ||
4666 | # Digital to analog converters | ||
4667 | # | ||
4668 | CONFIG_AD5064=m | ||
4669 | CONFIG_AD5360=m | ||
4670 | CONFIG_AD5380=m | ||
4671 | CONFIG_AD5421=m | ||
4672 | CONFIG_AD5446=m | ||
4673 | CONFIG_AD5449=m | ||
4674 | CONFIG_AD5504=m | ||
4675 | CONFIG_AD5624R_SPI=m | ||
4676 | CONFIG_AD5686=m | ||
4677 | CONFIG_AD5755=m | ||
4678 | CONFIG_AD5764=m | ||
4679 | CONFIG_AD5791=m | ||
4680 | CONFIG_AD7303=m | ||
4681 | CONFIG_MAX517=m | ||
4682 | CONFIG_MCP4725=m | ||
4683 | |||
4684 | # | ||
4685 | # Frequency Synthesizers DDS/PLL | ||
4686 | # | ||
4687 | |||
4688 | # | ||
4689 | # Clock Generator/Distribution | ||
4690 | # | ||
4691 | CONFIG_AD9523=m | ||
4692 | |||
4693 | # | ||
4694 | # Phase-Locked Loop (PLL) frequency synthesizers | ||
4695 | # | ||
4696 | CONFIG_ADF4350=m | ||
4697 | |||
4698 | # | ||
4699 | # Digital gyroscope sensors | ||
4700 | # | ||
4701 | CONFIG_ADIS16080=m | ||
4702 | CONFIG_ADIS16130=m | ||
4703 | CONFIG_ADIS16136=m | ||
4704 | CONFIG_ADIS16260=m | ||
4705 | CONFIG_ADXRS450=m | ||
4706 | CONFIG_HID_SENSOR_GYRO_3D=m | ||
4707 | CONFIG_IIO_ST_GYRO_3AXIS=m | ||
4708 | CONFIG_IIO_ST_GYRO_I2C_3AXIS=m | ||
4709 | CONFIG_IIO_ST_GYRO_SPI_3AXIS=m | ||
4710 | CONFIG_ITG3200=m | ||
4711 | |||
4712 | # | ||
4713 | # Inertial measurement units | ||
4714 | # | ||
4715 | CONFIG_ADIS16400=m | ||
4716 | CONFIG_ADIS16480=m | ||
4717 | CONFIG_IIO_ADIS_LIB=m | ||
4718 | CONFIG_IIO_ADIS_LIB_BUFFER=y | ||
4719 | CONFIG_INV_MPU6050_IIO=m | ||
4720 | |||
4721 | # | ||
4722 | # Light sensors | ||
4723 | # | ||
4724 | CONFIG_ADJD_S311=m | ||
4725 | CONFIG_APDS9300=m | ||
4726 | CONFIG_CM36651=m | ||
4727 | CONFIG_GP2AP020A00F=m | ||
4728 | CONFIG_HID_SENSOR_ALS=m | ||
4729 | CONFIG_SENSORS_LM3533=m | ||
4730 | CONFIG_TCS3472=m | ||
4731 | CONFIG_SENSORS_TSL2563=m | ||
4732 | CONFIG_TSL4531=m | ||
4733 | CONFIG_VCNL4000=m | ||
4734 | |||
4735 | # | ||
4736 | # Magnetometer sensors | ||
4737 | # | ||
4738 | CONFIG_AK8975=m | ||
4739 | CONFIG_MAG3110=m | ||
4740 | CONFIG_HID_SENSOR_MAGNETOMETER_3D=m | ||
4741 | CONFIG_IIO_ST_MAGN_3AXIS=m | ||
4742 | CONFIG_IIO_ST_MAGN_I2C_3AXIS=m | ||
4743 | CONFIG_IIO_ST_MAGN_SPI_3AXIS=m | ||
4744 | |||
4745 | # | ||
4746 | # Triggers - standalone | ||
4747 | # | ||
4748 | CONFIG_IIO_INTERRUPT_TRIGGER=m | ||
4749 | CONFIG_IIO_SYSFS_TRIGGER=m | ||
4750 | |||
4751 | # | ||
4752 | # Pressure sensors | ||
4753 | # | ||
4754 | CONFIG_IIO_ST_PRESS=m | ||
4755 | CONFIG_IIO_ST_PRESS_I2C=m | ||
4756 | CONFIG_IIO_ST_PRESS_SPI=m | ||
4757 | |||
4758 | # | ||
4759 | # Temperature sensors | ||
4760 | # | ||
4761 | CONFIG_TMP006=m | ||
4762 | CONFIG_VME_BUS=m | ||
4763 | |||
4764 | # | ||
4765 | # VME Bridge Drivers | ||
4766 | # | ||
4767 | |||
4768 | # | ||
4769 | # VME Board Drivers | ||
4770 | # | ||
4771 | CONFIG_VMIVME_7805=m | ||
4772 | |||
4773 | # | ||
4774 | # VME Device Drivers | ||
4775 | # | ||
4776 | CONFIG_VME_USER=m | ||
4777 | CONFIG_VME_PIO2=m | ||
4778 | CONFIG_PWM=y | ||
4779 | CONFIG_PWM_SYSFS=y | ||
4780 | CONFIG_PWM_PCA9685=m | ||
4781 | CONFIG_IRQCHIP=y | ||
4782 | CONFIG_ARM_GIC=y | ||
4783 | CONFIG_IPACK_BUS=m | ||
4784 | CONFIG_BOARD_TPCI200=m | ||
4785 | CONFIG_SERIAL_IPOCTAL=m | ||
4786 | CONFIG_RESET_CONTROLLER=y | ||
4787 | CONFIG_FMC=m | ||
4788 | CONFIG_FMC_FAKEDEV=m | ||
4789 | CONFIG_FMC_TRIVIAL=m | ||
4790 | CONFIG_FMC_WRITE_EEPROM=m | ||
4791 | CONFIG_FMC_CHARDEV=m | ||
4792 | |||
4793 | # | ||
4794 | # PHY Subsystem | ||
4795 | # | ||
4796 | CONFIG_GENERIC_PHY=y | ||
4797 | # CONFIG_PHY_EXYNOS_MIPI_VIDEO is not set | ||
4798 | CONFIG_PHY_EXYNOS_DP_VIDEO=m | ||
4799 | CONFIG_PHY_XGENE=y | ||
4800 | CONFIG_POWERCAP=y | ||
4801 | |||
4802 | # | ||
4803 | # Frame Manager support | ||
4804 | # | ||
4805 | CONFIG_FSL_FMAN=y | ||
4806 | # CONFIG_FSL_FMAN_TEST is not set | ||
4807 | |||
4808 | # | ||
4809 | # FMAN Processor support | ||
4810 | # | ||
4811 | CONFIG_FMAN_P3040_P4080_P5020=y | ||
4812 | # CONFIG_FMAN_P1023 is not set | ||
4813 | # CONFIG_FMAN_RESOURCE_ALLOCATION_ALGORITHM is not set | ||
4814 | # CONFIG_FMAN_MIB_CNT_OVF_IRQ_EN is not set | ||
4815 | |||
4816 | # | ||
4817 | # File systems | ||
4818 | # | ||
4819 | # CONFIG_EXT2_FS is not set | ||
4820 | # CONFIG_EXT3_FS is not set | ||
4821 | CONFIG_EXT4_FS=y | ||
4822 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
4823 | CONFIG_EXT4_FS_POSIX_ACL=y | ||
4824 | CONFIG_EXT4_FS_SECURITY=y | ||
4825 | # CONFIG_EXT4_DEBUG is not set | ||
4826 | CONFIG_JBD2=y | ||
4827 | # CONFIG_JBD2_DEBUG is not set | ||
4828 | CONFIG_FS_MBCACHE=y | ||
4829 | CONFIG_REISERFS_FS=m | ||
4830 | # CONFIG_REISERFS_CHECK is not set | ||
4831 | # CONFIG_REISERFS_PROC_INFO is not set | ||
4832 | CONFIG_REISERFS_FS_XATTR=y | ||
4833 | CONFIG_REISERFS_FS_POSIX_ACL=y | ||
4834 | CONFIG_REISERFS_FS_SECURITY=y | ||
4835 | CONFIG_JFS_FS=m | ||
4836 | CONFIG_JFS_POSIX_ACL=y | ||
4837 | CONFIG_JFS_SECURITY=y | ||
4838 | # CONFIG_JFS_DEBUG is not set | ||
4839 | CONFIG_JFS_STATISTICS=y | ||
4840 | CONFIG_XFS_FS=m | ||
4841 | CONFIG_XFS_QUOTA=y | ||
4842 | CONFIG_XFS_POSIX_ACL=y | ||
4843 | CONFIG_XFS_RT=y | ||
4844 | # CONFIG_XFS_WARN is not set | ||
4845 | # CONFIG_XFS_DEBUG is not set | ||
4846 | CONFIG_GFS2_FS=m | ||
4847 | CONFIG_GFS2_FS_LOCKING_DLM=y | ||
4848 | CONFIG_OCFS2_FS=m | ||
4849 | CONFIG_OCFS2_FS_O2CB=m | ||
4850 | CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m | ||
4851 | CONFIG_OCFS2_FS_STATS=y | ||
4852 | CONFIG_OCFS2_DEBUG_MASKLOG=y | ||
4853 | # CONFIG_OCFS2_DEBUG_FS is not set | ||
4854 | CONFIG_BTRFS_FS=m | ||
4855 | CONFIG_BTRFS_FS_POSIX_ACL=y | ||
4856 | # CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set | ||
4857 | # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set | ||
4858 | # CONFIG_BTRFS_DEBUG is not set | ||
4859 | # CONFIG_BTRFS_ASSERT is not set | ||
4860 | CONFIG_NILFS2_FS=m | ||
4861 | CONFIG_FS_POSIX_ACL=y | ||
4862 | CONFIG_EXPORTFS=y | ||
4863 | CONFIG_FILE_LOCKING=y | ||
4864 | CONFIG_FSNOTIFY=y | ||
4865 | CONFIG_DNOTIFY=y | ||
4866 | CONFIG_INOTIFY_USER=y | ||
4867 | CONFIG_FANOTIFY=y | ||
4868 | CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y | ||
4869 | CONFIG_QUOTA=y | ||
4870 | CONFIG_QUOTA_NETLINK_INTERFACE=y | ||
4871 | # CONFIG_PRINT_QUOTA_WARNING is not set | ||
4872 | # CONFIG_QUOTA_DEBUG is not set | ||
4873 | CONFIG_QUOTA_TREE=m | ||
4874 | CONFIG_QFMT_V1=m | ||
4875 | CONFIG_QFMT_V2=m | ||
4876 | CONFIG_QUOTACTL=y | ||
4877 | CONFIG_AUTOFS4_FS=m | ||
4878 | CONFIG_FUSE_FS=y | ||
4879 | CONFIG_CUSE=m | ||
4880 | CONFIG_OVERLAYFS_FS=m | ||
4881 | CONFIG_GENERIC_ACL=y | ||
4882 | |||
4883 | # | ||
4884 | # Caches | ||
4885 | # | ||
4886 | CONFIG_FSCACHE=m | ||
4887 | CONFIG_FSCACHE_STATS=y | ||
4888 | # CONFIG_FSCACHE_HISTOGRAM is not set | ||
4889 | # CONFIG_FSCACHE_DEBUG is not set | ||
4890 | # CONFIG_FSCACHE_OBJECT_LIST is not set | ||
4891 | CONFIG_CACHEFILES=m | ||
4892 | # CONFIG_CACHEFILES_DEBUG is not set | ||
4893 | # CONFIG_CACHEFILES_HISTOGRAM is not set | ||
4894 | |||
4895 | # | ||
4896 | # CD-ROM/DVD Filesystems | ||
4897 | # | ||
4898 | CONFIG_ISO9660_FS=m | ||
4899 | CONFIG_JOLIET=y | ||
4900 | CONFIG_ZISOFS=y | ||
4901 | CONFIG_UDF_FS=m | ||
4902 | CONFIG_UDF_NLS=y | ||
4903 | |||
4904 | # | ||
4905 | # DOS/FAT/NT Filesystems | ||
4906 | # | ||
4907 | CONFIG_FAT_FS=y | ||
4908 | CONFIG_MSDOS_FS=m | ||
4909 | CONFIG_VFAT_FS=y | ||
4910 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
4911 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
4912 | CONFIG_NTFS_FS=m | ||
4913 | # CONFIG_NTFS_DEBUG is not set | ||
4914 | # CONFIG_NTFS_RW is not set | ||
4915 | |||
4916 | # | ||
4917 | # Pseudo filesystems | ||
4918 | # | ||
4919 | CONFIG_PROC_FS=y | ||
4920 | CONFIG_PROC_KCORE=y | ||
4921 | CONFIG_PROC_SYSCTL=y | ||
4922 | CONFIG_PROC_PAGE_MONITOR=y | ||
4923 | CONFIG_SYSFS=y | ||
4924 | CONFIG_TMPFS=y | ||
4925 | CONFIG_TMPFS_POSIX_ACL=y | ||
4926 | CONFIG_TMPFS_XATTR=y | ||
4927 | CONFIG_HUGETLBFS=y | ||
4928 | CONFIG_HUGETLB_PAGE=y | ||
4929 | CONFIG_CONFIGFS_FS=m | ||
4930 | CONFIG_MISC_FILESYSTEMS=y | ||
4931 | CONFIG_ADFS_FS=m | ||
4932 | # CONFIG_ADFS_FS_RW is not set | ||
4933 | CONFIG_AFFS_FS=m | ||
4934 | CONFIG_ECRYPT_FS=y | ||
4935 | CONFIG_ECRYPT_FS_MESSAGING=y | ||
4936 | CONFIG_HFS_FS=m | ||
4937 | CONFIG_HFSPLUS_FS=m | ||
4938 | CONFIG_HFSPLUS_FS_POSIX_ACL=y | ||
4939 | CONFIG_BEFS_FS=m | ||
4940 | # CONFIG_BEFS_DEBUG is not set | ||
4941 | CONFIG_BFS_FS=m | ||
4942 | CONFIG_EFS_FS=m | ||
4943 | CONFIG_JFFS2_FS=m | ||
4944 | CONFIG_JFFS2_FS_DEBUG=0 | ||
4945 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
4946 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
4947 | # CONFIG_JFFS2_SUMMARY is not set | ||
4948 | # CONFIG_JFFS2_FS_XATTR is not set | ||
4949 | CONFIG_JFFS2_COMPRESSION_OPTIONS=y | ||
4950 | CONFIG_JFFS2_ZLIB=y | ||
4951 | CONFIG_JFFS2_LZO=y | ||
4952 | CONFIG_JFFS2_RTIME=y | ||
4953 | # CONFIG_JFFS2_RUBIN is not set | ||
4954 | # CONFIG_JFFS2_CMODE_NONE is not set | ||
4955 | # CONFIG_JFFS2_CMODE_PRIORITY is not set | ||
4956 | # CONFIG_JFFS2_CMODE_SIZE is not set | ||
4957 | CONFIG_JFFS2_CMODE_FAVOURLZO=y | ||
4958 | CONFIG_UBIFS_FS=m | ||
4959 | # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set | ||
4960 | CONFIG_UBIFS_FS_LZO=y | ||
4961 | CONFIG_UBIFS_FS_ZLIB=y | ||
4962 | # CONFIG_LOGFS is not set | ||
4963 | CONFIG_CRAMFS=m | ||
4964 | CONFIG_SQUASHFS=m | ||
4965 | # CONFIG_SQUASHFS_FILE_CACHE is not set | ||
4966 | CONFIG_SQUASHFS_FILE_DIRECT=y | ||
4967 | # CONFIG_SQUASHFS_DECOMP_SINGLE is not set | ||
4968 | # CONFIG_SQUASHFS_DECOMP_MULTI is not set | ||
4969 | CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y | ||
4970 | CONFIG_SQUASHFS_XATTR=y | ||
4971 | CONFIG_SQUASHFS_ZLIB=y | ||
4972 | CONFIG_SQUASHFS_LZO=y | ||
4973 | CONFIG_SQUASHFS_XZ=y | ||
4974 | # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set | ||
4975 | # CONFIG_SQUASHFS_EMBEDDED is not set | ||
4976 | CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 | ||
4977 | CONFIG_VXFS_FS=m | ||
4978 | CONFIG_MINIX_FS=m | ||
4979 | CONFIG_OMFS_FS=m | ||
4980 | CONFIG_HPFS_FS=m | ||
4981 | CONFIG_QNX4FS_FS=m | ||
4982 | CONFIG_QNX6FS_FS=m | ||
4983 | # CONFIG_QNX6FS_DEBUG is not set | ||
4984 | CONFIG_ROMFS_FS=m | ||
4985 | CONFIG_ROMFS_BACKED_BY_BLOCK=y | ||
4986 | # CONFIG_ROMFS_BACKED_BY_MTD is not set | ||
4987 | # CONFIG_ROMFS_BACKED_BY_BOTH is not set | ||
4988 | CONFIG_ROMFS_ON_BLOCK=y | ||
4989 | CONFIG_PSTORE=y | ||
4990 | # CONFIG_PSTORE_CONSOLE is not set | ||
4991 | CONFIG_PSTORE_RAM=m | ||
4992 | CONFIG_SYSV_FS=m | ||
4993 | CONFIG_UFS_FS=m | ||
4994 | # CONFIG_UFS_FS_WRITE is not set | ||
4995 | # CONFIG_UFS_DEBUG is not set | ||
4996 | CONFIG_EXOFS_FS=m | ||
4997 | # CONFIG_EXOFS_DEBUG is not set | ||
4998 | CONFIG_F2FS_FS=m | ||
4999 | CONFIG_F2FS_STAT_FS=y | ||
5000 | CONFIG_F2FS_FS_XATTR=y | ||
5001 | CONFIG_F2FS_FS_POSIX_ACL=y | ||
5002 | CONFIG_F2FS_FS_SECURITY=y | ||
5003 | # CONFIG_F2FS_CHECK_FS is not set | ||
5004 | CONFIG_ORE=m | ||
5005 | CONFIG_NETWORK_FILESYSTEMS=y | ||
5006 | CONFIG_NFS_FS=y | ||
5007 | CONFIG_NFS_V2=y | ||
5008 | CONFIG_NFS_V3=y | ||
5009 | CONFIG_NFS_V3_ACL=y | ||
5010 | CONFIG_NFS_V4=y | ||
5011 | CONFIG_NFS_SWAP=y | ||
5012 | CONFIG_NFS_V4_1=y | ||
5013 | CONFIG_NFS_V4_2=y | ||
5014 | CONFIG_PNFS_FILE_LAYOUT=y | ||
5015 | CONFIG_PNFS_BLOCK=y | ||
5016 | CONFIG_PNFS_OBJLAYOUT=m | ||
5017 | CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org" | ||
5018 | CONFIG_NFS_V4_1_MIGRATION=y | ||
5019 | CONFIG_NFS_V4_SECURITY_LABEL=y | ||
5020 | CONFIG_ROOT_NFS=y | ||
5021 | # CONFIG_NFS_USE_LEGACY_DNS is not set | ||
5022 | CONFIG_NFS_USE_KERNEL_DNS=y | ||
5023 | CONFIG_NFS_DEBUG=y | ||
5024 | CONFIG_NFSD=m | ||
5025 | CONFIG_NFSD_V2_ACL=y | ||
5026 | CONFIG_NFSD_V3=y | ||
5027 | CONFIG_NFSD_V3_ACL=y | ||
5028 | CONFIG_NFSD_V4=y | ||
5029 | CONFIG_NFSD_V4_SECURITY_LABEL=y | ||
5030 | # CONFIG_NFSD_FAULT_INJECTION is not set | ||
5031 | CONFIG_LOCKD=y | ||
5032 | CONFIG_LOCKD_V4=y | ||
5033 | CONFIG_NFS_ACL_SUPPORT=y | ||
5034 | CONFIG_NFS_COMMON=y | ||
5035 | CONFIG_SUNRPC=y | ||
5036 | CONFIG_SUNRPC_GSS=y | ||
5037 | CONFIG_SUNRPC_BACKCHANNEL=y | ||
5038 | CONFIG_SUNRPC_XPRT_RDMA=m | ||
5039 | CONFIG_SUNRPC_SWAP=y | ||
5040 | CONFIG_RPCSEC_GSS_KRB5=m | ||
5041 | CONFIG_SUNRPC_DEBUG=y | ||
5042 | CONFIG_CEPH_FS=m | ||
5043 | CONFIG_CEPH_FSCACHE=y | ||
5044 | CONFIG_CIFS=m | ||
5045 | CONFIG_CIFS_STATS=y | ||
5046 | # CONFIG_CIFS_STATS2 is not set | ||
5047 | CONFIG_CIFS_WEAK_PW_HASH=y | ||
5048 | CONFIG_CIFS_UPCALL=y | ||
5049 | CONFIG_CIFS_XATTR=y | ||
5050 | CONFIG_CIFS_POSIX=y | ||
5051 | CONFIG_CIFS_ACL=y | ||
5052 | CONFIG_CIFS_DEBUG=y | ||
5053 | # CONFIG_CIFS_DEBUG2 is not set | ||
5054 | CONFIG_CIFS_DFS_UPCALL=y | ||
5055 | CONFIG_CIFS_SMB2=y | ||
5056 | CONFIG_CIFS_FSCACHE=y | ||
5057 | CONFIG_NCP_FS=m | ||
5058 | CONFIG_NCPFS_PACKET_SIGNING=y | ||
5059 | CONFIG_NCPFS_IOCTL_LOCKING=y | ||
5060 | CONFIG_NCPFS_STRONG=y | ||
5061 | CONFIG_NCPFS_NFS_NS=y | ||
5062 | CONFIG_NCPFS_OS2_NS=y | ||
5063 | # CONFIG_NCPFS_SMALLDOS is not set | ||
5064 | CONFIG_NCPFS_NLS=y | ||
5065 | CONFIG_NCPFS_EXTRAS=y | ||
5066 | CONFIG_CODA_FS=m | ||
5067 | CONFIG_AFS_FS=m | ||
5068 | # CONFIG_AFS_DEBUG is not set | ||
5069 | # CONFIG_AFS_FSCACHE is not set | ||
5070 | CONFIG_9P_FS=m | ||
5071 | # CONFIG_9P_FSCACHE is not set | ||
5072 | CONFIG_9P_FS_POSIX_ACL=y | ||
5073 | CONFIG_9P_FS_SECURITY=y | ||
5074 | CONFIG_NLS=y | ||
5075 | CONFIG_NLS_DEFAULT="utf8" | ||
5076 | CONFIG_NLS_CODEPAGE_437=y | ||
5077 | CONFIG_NLS_CODEPAGE_737=m | ||
5078 | CONFIG_NLS_CODEPAGE_775=m | ||
5079 | CONFIG_NLS_CODEPAGE_850=m | ||
5080 | CONFIG_NLS_CODEPAGE_852=m | ||
5081 | CONFIG_NLS_CODEPAGE_855=m | ||
5082 | CONFIG_NLS_CODEPAGE_857=m | ||
5083 | CONFIG_NLS_CODEPAGE_860=m | ||
5084 | CONFIG_NLS_CODEPAGE_861=m | ||
5085 | CONFIG_NLS_CODEPAGE_862=m | ||
5086 | CONFIG_NLS_CODEPAGE_863=m | ||
5087 | CONFIG_NLS_CODEPAGE_864=m | ||
5088 | CONFIG_NLS_CODEPAGE_865=m | ||
5089 | CONFIG_NLS_CODEPAGE_866=m | ||
5090 | CONFIG_NLS_CODEPAGE_869=m | ||
5091 | CONFIG_NLS_CODEPAGE_936=m | ||
5092 | CONFIG_NLS_CODEPAGE_950=m | ||
5093 | CONFIG_NLS_CODEPAGE_932=m | ||
5094 | CONFIG_NLS_CODEPAGE_949=m | ||
5095 | CONFIG_NLS_CODEPAGE_874=m | ||
5096 | CONFIG_NLS_ISO8859_8=m | ||
5097 | CONFIG_NLS_CODEPAGE_1250=m | ||
5098 | CONFIG_NLS_CODEPAGE_1251=m | ||
5099 | CONFIG_NLS_ASCII=m | ||
5100 | CONFIG_NLS_ISO8859_1=m | ||
5101 | CONFIG_NLS_ISO8859_2=m | ||
5102 | CONFIG_NLS_ISO8859_3=m | ||
5103 | CONFIG_NLS_ISO8859_4=m | ||
5104 | CONFIG_NLS_ISO8859_5=m | ||
5105 | CONFIG_NLS_ISO8859_6=m | ||
5106 | CONFIG_NLS_ISO8859_7=m | ||
5107 | CONFIG_NLS_ISO8859_9=m | ||
5108 | CONFIG_NLS_ISO8859_13=m | ||
5109 | CONFIG_NLS_ISO8859_14=m | ||
5110 | CONFIG_NLS_ISO8859_15=m | ||
5111 | CONFIG_NLS_KOI8_R=m | ||
5112 | CONFIG_NLS_KOI8_U=m | ||
5113 | CONFIG_NLS_MAC_ROMAN=m | ||
5114 | CONFIG_NLS_MAC_CELTIC=m | ||
5115 | CONFIG_NLS_MAC_CENTEURO=m | ||
5116 | CONFIG_NLS_MAC_CROATIAN=m | ||
5117 | CONFIG_NLS_MAC_CYRILLIC=m | ||
5118 | CONFIG_NLS_MAC_GAELIC=m | ||
5119 | CONFIG_NLS_MAC_GREEK=m | ||
5120 | CONFIG_NLS_MAC_ICELAND=m | ||
5121 | CONFIG_NLS_MAC_INUIT=m | ||
5122 | CONFIG_NLS_MAC_ROMANIAN=m | ||
5123 | CONFIG_NLS_MAC_TURKISH=m | ||
5124 | CONFIG_NLS_UTF8=m | ||
5125 | CONFIG_DLM=m | ||
5126 | # CONFIG_DLM_DEBUG is not set | ||
5127 | CONFIG_HAVE_KVM_IRQCHIP=y | ||
5128 | CONFIG_KVM_MMIO=y | ||
5129 | CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y | ||
5130 | CONFIG_VIRTUALIZATION=y | ||
5131 | CONFIG_KVM=y | ||
5132 | CONFIG_KVM_ARM_HOST=y | ||
5133 | CONFIG_KVM_ARM_MAX_VCPUS=4 | ||
5134 | CONFIG_KVM_ARM_VGIC=y | ||
5135 | CONFIG_KVM_ARM_TIMER=y | ||
5136 | |||
5137 | # | ||
5138 | # Kernel hacking | ||
5139 | # | ||
5140 | |||
5141 | # | ||
5142 | # printk and dmesg options | ||
5143 | # | ||
5144 | CONFIG_PRINTK_TIME=y | ||
5145 | CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 | ||
5146 | CONFIG_BOOT_PRINTK_DELAY=y | ||
5147 | CONFIG_DYNAMIC_DEBUG=y | ||
5148 | |||
5149 | # | ||
5150 | # Compile-time checks and compiler options | ||
5151 | # | ||
5152 | CONFIG_DEBUG_INFO=y | ||
5153 | # CONFIG_DEBUG_INFO_REDUCED is not set | ||
5154 | # CONFIG_ENABLE_WARN_DEPRECATED is not set | ||
5155 | # CONFIG_ENABLE_MUST_CHECK is not set | ||
5156 | CONFIG_FRAME_WARN=1024 | ||
5157 | # CONFIG_STRIP_ASM_SYMS is not set | ||
5158 | # CONFIG_READABLE_ASM is not set | ||
5159 | CONFIG_UNUSED_SYMBOLS=y | ||
5160 | CONFIG_DEBUG_FS=y | ||
5161 | # CONFIG_HEADERS_CHECK is not set | ||
5162 | # CONFIG_DEBUG_SECTION_MISMATCH is not set | ||
5163 | CONFIG_ARCH_WANT_FRAME_POINTERS=y | ||
5164 | CONFIG_FRAME_POINTER=y | ||
5165 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
5166 | CONFIG_MAGIC_SYSRQ=y | ||
5167 | CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 | ||
5168 | CONFIG_DEBUG_KERNEL=y | ||
5169 | |||
5170 | # | ||
5171 | # Memory Debugging | ||
5172 | # | ||
5173 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
5174 | # CONFIG_DEBUG_OBJECTS is not set | ||
5175 | # CONFIG_SLUB_DEBUG_ON is not set | ||
5176 | # CONFIG_SLUB_STATS is not set | ||
5177 | CONFIG_HAVE_DEBUG_KMEMLEAK=y | ||
5178 | # CONFIG_DEBUG_KMEMLEAK is not set | ||
5179 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
5180 | # CONFIG_DEBUG_VM is not set | ||
5181 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
5182 | # CONFIG_DEBUG_PER_CPU_MAPS is not set | ||
5183 | # CONFIG_DEBUG_SHIRQ is not set | ||
5184 | |||
5185 | # | ||
5186 | # Debug Lockups and Hangs | ||
5187 | # | ||
5188 | CONFIG_LOCKUP_DETECTOR=y | ||
5189 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
5190 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
5191 | CONFIG_DETECT_HUNG_TASK=y | ||
5192 | CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 | ||
5193 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
5194 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
5195 | # CONFIG_PANIC_ON_OOPS is not set | ||
5196 | CONFIG_PANIC_ON_OOPS_VALUE=0 | ||
5197 | CONFIG_SCHED_DEBUG=y | ||
5198 | CONFIG_SCHEDSTATS=y | ||
5199 | CONFIG_TIMER_STATS=y | ||
5200 | |||
5201 | # | ||
5202 | # Lock Debugging (spinlocks, mutexes, etc...) | ||
5203 | # | ||
5204 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
5205 | # CONFIG_RT_MUTEX_TESTER is not set | ||
5206 | # CONFIG_DEBUG_SPINLOCK is not set | ||
5207 | # CONFIG_DEBUG_MUTEXES is not set | ||
5208 | # CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set | ||
5209 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
5210 | # CONFIG_PROVE_LOCKING is not set | ||
5211 | # CONFIG_LOCK_STAT is not set | ||
5212 | # CONFIG_DEBUG_ATOMIC_SLEEP is not set | ||
5213 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
5214 | CONFIG_STACKTRACE=y | ||
5215 | # CONFIG_DEBUG_KOBJECT is not set | ||
5216 | CONFIG_HAVE_DEBUG_BUGVERBOSE=y | ||
5217 | CONFIG_DEBUG_BUGVERBOSE=y | ||
5218 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
5219 | # CONFIG_DEBUG_LIST is not set | ||
5220 | # CONFIG_DEBUG_SG is not set | ||
5221 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
5222 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
5223 | |||
5224 | # | ||
5225 | # RCU Debugging | ||
5226 | # | ||
5227 | # CONFIG_SPARSE_RCU_POINTER is not set | ||
5228 | # CONFIG_RCU_TORTURE_TEST is not set | ||
5229 | CONFIG_RCU_CPU_STALL_TIMEOUT=60 | ||
5230 | # CONFIG_RCU_CPU_STALL_INFO is not set | ||
5231 | # CONFIG_RCU_TRACE is not set | ||
5232 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
5233 | CONFIG_NOTIFIER_ERROR_INJECTION=m | ||
5234 | CONFIG_CPU_NOTIFIER_ERROR_INJECT=m | ||
5235 | # CONFIG_FAULT_INJECTION is not set | ||
5236 | CONFIG_NOP_TRACER=y | ||
5237 | CONFIG_TRACER_MAX_TRACE=y | ||
5238 | CONFIG_TRACE_CLOCK=y | ||
5239 | CONFIG_RING_BUFFER=y | ||
5240 | CONFIG_EVENT_TRACING=y | ||
5241 | CONFIG_CONTEXT_SWITCH_TRACER=y | ||
5242 | CONFIG_TRACING=y | ||
5243 | CONFIG_GENERIC_TRACER=y | ||
5244 | CONFIG_TRACING_SUPPORT=y | ||
5245 | CONFIG_FTRACE=y | ||
5246 | # CONFIG_IRQSOFF_TRACER is not set | ||
5247 | CONFIG_SCHED_TRACER=y | ||
5248 | CONFIG_TRACER_SNAPSHOT=y | ||
5249 | # CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set | ||
5250 | CONFIG_BRANCH_PROFILE_NONE=y | ||
5251 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
5252 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
5253 | CONFIG_BLK_DEV_IO_TRACE=y | ||
5254 | # CONFIG_PROBE_EVENTS is not set | ||
5255 | # CONFIG_FTRACE_STARTUP_TEST is not set | ||
5256 | # CONFIG_RING_BUFFER_BENCHMARK is not set | ||
5257 | # CONFIG_RING_BUFFER_STARTUP_TEST is not set | ||
5258 | |||
5259 | # | ||
5260 | # Runtime Testing | ||
5261 | # | ||
5262 | # CONFIG_LKDTM is not set | ||
5263 | # CONFIG_TEST_LIST_SORT is not set | ||
5264 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
5265 | CONFIG_RBTREE_TEST=m | ||
5266 | CONFIG_INTERVAL_TREE_TEST=m | ||
5267 | CONFIG_PERCPU_TEST=m | ||
5268 | CONFIG_ATOMIC64_SELFTEST=y | ||
5269 | CONFIG_ASYNC_RAID6_TEST=m | ||
5270 | CONFIG_TEST_STRING_HELPERS=m | ||
5271 | CONFIG_TEST_KSTRTOX=m | ||
5272 | # CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set | ||
5273 | # CONFIG_DMA_API_DEBUG is not set | ||
5274 | # CONFIG_SAMPLES is not set | ||
5275 | CONFIG_EARLY_PRINTK=y | ||
5276 | # CONFIG_PID_IN_CONTEXTIDR is not set | ||
5277 | |||
5278 | # | ||
5279 | # Security options | ||
5280 | # | ||
5281 | CONFIG_KEYS=y | ||
5282 | CONFIG_PERSISTENT_KEYRINGS=y | ||
5283 | CONFIG_BIG_KEYS=y | ||
5284 | CONFIG_TRUSTED_KEYS=y | ||
5285 | CONFIG_ENCRYPTED_KEYS=y | ||
5286 | # CONFIG_KEYS_DEBUG_PROC_KEYS is not set | ||
5287 | # CONFIG_SECURITY_DMESG_RESTRICT is not set | ||
5288 | CONFIG_SECURITY=y | ||
5289 | CONFIG_SECURITYFS=y | ||
5290 | CONFIG_SECURITY_NETWORK=y | ||
5291 | # CONFIG_SECURITY_NETWORK_XFRM is not set | ||
5292 | CONFIG_SECURITY_PATH=y | ||
5293 | CONFIG_LSM_MMAP_MIN_ADDR=0 | ||
5294 | CONFIG_SECURITY_SELINUX=y | ||
5295 | CONFIG_SECURITY_SELINUX_BOOTPARAM=y | ||
5296 | CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0 | ||
5297 | CONFIG_SECURITY_SELINUX_DISABLE=y | ||
5298 | CONFIG_SECURITY_SELINUX_DEVELOP=y | ||
5299 | CONFIG_SECURITY_SELINUX_AVC_STATS=y | ||
5300 | CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 | ||
5301 | # CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set | ||
5302 | CONFIG_SECURITY_SMACK=y | ||
5303 | CONFIG_SECURITY_TOMOYO=y | ||
5304 | CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 | ||
5305 | CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024 | ||
5306 | # CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set | ||
5307 | CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init" | ||
5308 | CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init" | ||
5309 | CONFIG_SECURITY_APPARMOR=y | ||
5310 | CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1 | ||
5311 | # CONFIG_SECURITY_APPARMOR_STATS is not set | ||
5312 | CONFIG_SECURITY_APPARMOR_UNCONFINED_INIT=y | ||
5313 | CONFIG_SECURITY_APPARMOR_HASH=y | ||
5314 | CONFIG_SECURITY_YAMA=y | ||
5315 | CONFIG_SECURITY_YAMA_STACKED=y | ||
5316 | CONFIG_INTEGRITY=y | ||
5317 | CONFIG_INTEGRITY_SIGNATURE=y | ||
5318 | CONFIG_INTEGRITY_AUDIT=y | ||
5319 | CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y | ||
5320 | CONFIG_IMA=y | ||
5321 | CONFIG_IMA_MEASURE_PCR_IDX=10 | ||
5322 | CONFIG_IMA_LSM_RULES=y | ||
5323 | # CONFIG_IMA_TEMPLATE is not set | ||
5324 | CONFIG_IMA_NG_TEMPLATE=y | ||
5325 | # CONFIG_IMA_SIG_TEMPLATE is not set | ||
5326 | CONFIG_IMA_DEFAULT_TEMPLATE="ima-ng" | ||
5327 | CONFIG_IMA_DEFAULT_HASH_SHA1=y | ||
5328 | # CONFIG_IMA_DEFAULT_HASH_SHA256 is not set | ||
5329 | # CONFIG_IMA_DEFAULT_HASH_SHA512 is not set | ||
5330 | # CONFIG_IMA_DEFAULT_HASH_WP512 is not set | ||
5331 | CONFIG_IMA_DEFAULT_HASH="sha1" | ||
5332 | CONFIG_IMA_APPRAISE=y | ||
5333 | CONFIG_EVM=y | ||
5334 | CONFIG_EVM_HMAC_VERSION=2 | ||
5335 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set | ||
5336 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
5337 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
5338 | CONFIG_DEFAULT_SECURITY_APPARMOR=y | ||
5339 | # CONFIG_DEFAULT_SECURITY_YAMA is not set | ||
5340 | # CONFIG_DEFAULT_SECURITY_DAC is not set | ||
5341 | CONFIG_DEFAULT_SECURITY="apparmor" | ||
5342 | CONFIG_XOR_BLOCKS=m | ||
5343 | CONFIG_ASYNC_CORE=m | ||
5344 | CONFIG_ASYNC_MEMCPY=m | ||
5345 | CONFIG_ASYNC_XOR=m | ||
5346 | CONFIG_ASYNC_PQ=m | ||
5347 | CONFIG_ASYNC_RAID6_RECOV=m | ||
5348 | CONFIG_CRYPTO=y | ||
5349 | |||
5350 | # | ||
5351 | # Crypto core or helper | ||
5352 | # | ||
5353 | CONFIG_CRYPTO_ALGAPI=y | ||
5354 | CONFIG_CRYPTO_ALGAPI2=y | ||
5355 | CONFIG_CRYPTO_AEAD=m | ||
5356 | CONFIG_CRYPTO_AEAD2=y | ||
5357 | CONFIG_CRYPTO_BLKCIPHER=y | ||
5358 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
5359 | CONFIG_CRYPTO_HASH=y | ||
5360 | CONFIG_CRYPTO_HASH2=y | ||
5361 | CONFIG_CRYPTO_RNG=y | ||
5362 | CONFIG_CRYPTO_RNG2=y | ||
5363 | CONFIG_CRYPTO_PCOMP=m | ||
5364 | CONFIG_CRYPTO_PCOMP2=y | ||
5365 | CONFIG_CRYPTO_MANAGER=y | ||
5366 | CONFIG_CRYPTO_MANAGER2=y | ||
5367 | CONFIG_CRYPTO_USER=m | ||
5368 | CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y | ||
5369 | CONFIG_CRYPTO_GF128MUL=m | ||
5370 | CONFIG_CRYPTO_NULL=m | ||
5371 | CONFIG_CRYPTO_PCRYPT=m | ||
5372 | CONFIG_CRYPTO_WORKQUEUE=y | ||
5373 | CONFIG_CRYPTO_CRYPTD=m | ||
5374 | CONFIG_CRYPTO_AUTHENC=m | ||
5375 | CONFIG_CRYPTO_TEST=m | ||
5376 | |||
5377 | # | ||
5378 | # Authenticated Encryption with Associated Data | ||
5379 | # | ||
5380 | CONFIG_CRYPTO_CCM=m | ||
5381 | CONFIG_CRYPTO_GCM=m | ||
5382 | CONFIG_CRYPTO_SEQIV=m | ||
5383 | |||
5384 | # | ||
5385 | # Block modes | ||
5386 | # | ||
5387 | CONFIG_CRYPTO_CBC=y | ||
5388 | CONFIG_CRYPTO_CTR=m | ||
5389 | CONFIG_CRYPTO_CTS=m | ||
5390 | CONFIG_CRYPTO_ECB=y | ||
5391 | CONFIG_CRYPTO_LRW=m | ||
5392 | CONFIG_CRYPTO_PCBC=m | ||
5393 | CONFIG_CRYPTO_XTS=m | ||
5394 | |||
5395 | # | ||
5396 | # Hash modes | ||
5397 | # | ||
5398 | CONFIG_CRYPTO_CMAC=m | ||
5399 | CONFIG_CRYPTO_HMAC=y | ||
5400 | CONFIG_CRYPTO_XCBC=m | ||
5401 | CONFIG_CRYPTO_VMAC=m | ||
5402 | |||
5403 | # | ||
5404 | # Digest | ||
5405 | # | ||
5406 | CONFIG_CRYPTO_CRC32C=y | ||
5407 | CONFIG_CRYPTO_CRC32=m | ||
5408 | CONFIG_CRYPTO_CRCT10DIF=y | ||
5409 | CONFIG_CRYPTO_GHASH=m | ||
5410 | CONFIG_CRYPTO_MD4=m | ||
5411 | CONFIG_CRYPTO_MD5=y | ||
5412 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
5413 | CONFIG_CRYPTO_RMD128=m | ||
5414 | CONFIG_CRYPTO_RMD160=m | ||
5415 | CONFIG_CRYPTO_RMD256=m | ||
5416 | CONFIG_CRYPTO_RMD320=m | ||
5417 | CONFIG_CRYPTO_SHA1=y | ||
5418 | CONFIG_CRYPTO_SHA256=y | ||
5419 | CONFIG_CRYPTO_SHA512=y | ||
5420 | CONFIG_CRYPTO_TGR192=m | ||
5421 | CONFIG_CRYPTO_WP512=m | ||
5422 | |||
5423 | # | ||
5424 | # Ciphers | ||
5425 | # | ||
5426 | CONFIG_CRYPTO_AES=y | ||
5427 | CONFIG_CRYPTO_ANUBIS=m | ||
5428 | CONFIG_CRYPTO_ARC4=m | ||
5429 | CONFIG_CRYPTO_BLOWFISH=m | ||
5430 | CONFIG_CRYPTO_BLOWFISH_COMMON=m | ||
5431 | CONFIG_CRYPTO_CAMELLIA=m | ||
5432 | CONFIG_CRYPTO_CAST_COMMON=m | ||
5433 | CONFIG_CRYPTO_CAST5=m | ||
5434 | CONFIG_CRYPTO_CAST6=m | ||
5435 | CONFIG_CRYPTO_DES=m | ||
5436 | CONFIG_CRYPTO_FCRYPT=m | ||
5437 | CONFIG_CRYPTO_KHAZAD=m | ||
5438 | CONFIG_CRYPTO_SALSA20=m | ||
5439 | CONFIG_CRYPTO_SEED=m | ||
5440 | CONFIG_CRYPTO_SERPENT=m | ||
5441 | CONFIG_CRYPTO_TEA=m | ||
5442 | CONFIG_CRYPTO_TWOFISH=m | ||
5443 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
5444 | |||
5445 | # | ||
5446 | # Compression | ||
5447 | # | ||
5448 | CONFIG_CRYPTO_DEFLATE=m | ||
5449 | CONFIG_CRYPTO_ZLIB=m | ||
5450 | CONFIG_CRYPTO_LZO=y | ||
5451 | CONFIG_CRYPTO_LZ4=m | ||
5452 | CONFIG_CRYPTO_LZ4HC=m | ||
5453 | |||
5454 | # | ||
5455 | # Random Number Generation | ||
5456 | # | ||
5457 | CONFIG_CRYPTO_ANSI_CPRNG=m | ||
5458 | CONFIG_CRYPTO_USER_API=m | ||
5459 | CONFIG_CRYPTO_USER_API_HASH=m | ||
5460 | CONFIG_CRYPTO_USER_API_SKCIPHER=m | ||
5461 | CONFIG_CRYPTO_HASH_INFO=y | ||
5462 | CONFIG_CRYPTO_HW=y | ||
5463 | CONFIG_ASYMMETRIC_KEY_TYPE=y | ||
5464 | CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y | ||
5465 | CONFIG_PUBLIC_KEY_ALGO_RSA=y | ||
5466 | CONFIG_X509_CERTIFICATE_PARSER=y | ||
5467 | CONFIG_BINARY_PRINTF=y | ||
5468 | |||
5469 | # | ||
5470 | # Library routines | ||
5471 | # | ||
5472 | CONFIG_RAID6_PQ=m | ||
5473 | CONFIG_BITREVERSE=y | ||
5474 | CONFIG_RATIONAL=y | ||
5475 | CONFIG_GENERIC_NET_UTILS=y | ||
5476 | CONFIG_GENERIC_PCI_IOMAP=y | ||
5477 | CONFIG_GENERIC_IOMAP=y | ||
5478 | CONFIG_GENERIC_IO=y | ||
5479 | CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y | ||
5480 | CONFIG_CRC_CCITT=m | ||
5481 | CONFIG_CRC16=y | ||
5482 | CONFIG_CRC_T10DIF=y | ||
5483 | CONFIG_CRC_ITU_T=m | ||
5484 | CONFIG_CRC32=y | ||
5485 | # CONFIG_CRC32_SELFTEST is not set | ||
5486 | CONFIG_CRC32_SLICEBY8=y | ||
5487 | # CONFIG_CRC32_SLICEBY4 is not set | ||
5488 | # CONFIG_CRC32_SARWATE is not set | ||
5489 | # CONFIG_CRC32_BIT is not set | ||
5490 | CONFIG_CRC7=m | ||
5491 | CONFIG_LIBCRC32C=m | ||
5492 | CONFIG_CRC8=m | ||
5493 | CONFIG_AUDIT_GENERIC=y | ||
5494 | # CONFIG_RANDOM32_SELFTEST is not set | ||
5495 | CONFIG_ZLIB_INFLATE=y | ||
5496 | CONFIG_ZLIB_DEFLATE=y | ||
5497 | CONFIG_LZO_COMPRESS=y | ||
5498 | CONFIG_LZO_DECOMPRESS=y | ||
5499 | CONFIG_LZ4_COMPRESS=m | ||
5500 | CONFIG_LZ4HC_COMPRESS=m | ||
5501 | CONFIG_LZ4_DECOMPRESS=y | ||
5502 | CONFIG_XZ_DEC=y | ||
5503 | CONFIG_XZ_DEC_X86=y | ||
5504 | CONFIG_XZ_DEC_POWERPC=y | ||
5505 | CONFIG_XZ_DEC_IA64=y | ||
5506 | CONFIG_XZ_DEC_ARM=y | ||
5507 | CONFIG_XZ_DEC_ARMTHUMB=y | ||
5508 | CONFIG_XZ_DEC_SPARC=y | ||
5509 | CONFIG_XZ_DEC_BCJ=y | ||
5510 | CONFIG_XZ_DEC_TEST=m | ||
5511 | CONFIG_DECOMPRESS_GZIP=y | ||
5512 | CONFIG_DECOMPRESS_BZIP2=y | ||
5513 | CONFIG_DECOMPRESS_LZMA=y | ||
5514 | CONFIG_DECOMPRESS_XZ=y | ||
5515 | CONFIG_DECOMPRESS_LZO=y | ||
5516 | CONFIG_DECOMPRESS_LZ4=y | ||
5517 | CONFIG_GENERIC_ALLOCATOR=y | ||
5518 | CONFIG_REED_SOLOMON=m | ||
5519 | CONFIG_REED_SOLOMON_ENC8=y | ||
5520 | CONFIG_REED_SOLOMON_DEC8=y | ||
5521 | CONFIG_REED_SOLOMON_DEC16=y | ||
5522 | CONFIG_BCH=m | ||
5523 | CONFIG_BCH_CONST_PARAMS=y | ||
5524 | CONFIG_TEXTSEARCH=y | ||
5525 | CONFIG_TEXTSEARCH_KMP=m | ||
5526 | CONFIG_TEXTSEARCH_BM=m | ||
5527 | CONFIG_TEXTSEARCH_FSM=m | ||
5528 | CONFIG_BTREE=y | ||
5529 | CONFIG_ASSOCIATIVE_ARRAY=y | ||
5530 | CONFIG_HAS_IOMEM=y | ||
5531 | CONFIG_HAS_DMA=y | ||
5532 | CONFIG_CHECK_SIGNATURE=y | ||
5533 | CONFIG_CPU_RMAP=y | ||
5534 | CONFIG_DQL=y | ||
5535 | CONFIG_NLATTR=y | ||
5536 | CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y | ||
5537 | CONFIG_LRU_CACHE=m | ||
5538 | CONFIG_AVERAGE=y | ||
5539 | CONFIG_CLZ_TAB=y | ||
5540 | CONFIG_CORDIC=m | ||
5541 | CONFIG_DDR=y | ||
5542 | CONFIG_MPILIB=y | ||
5543 | CONFIG_SIGNATURE=y | ||
5544 | CONFIG_OID_REGISTRY=y | ||
5545 | CONFIG_FONT_SUPPORT=y | ||
5546 | # CONFIG_FONTS is not set | ||
5547 | CONFIG_FONT_8x8=y | ||
5548 | CONFIG_FONT_8x16=y | ||
diff --git a/recipes-kernel/linux/linux-proliant-m400/proliant-m400.dts b/recipes-kernel/linux/linux-proliant-m400/proliant-m400.dts new file mode 100644 index 0000000..efc8157 --- /dev/null +++ b/recipes-kernel/linux/linux-proliant-m400/proliant-m400.dts | |||
@@ -0,0 +1,775 @@ | |||
1 | /dts-v1/; | ||
2 | |||
3 | / { | ||
4 | #size-cells = <0x2>; | ||
5 | #address-cells = <0x2>; | ||
6 | interrupt-parent = <0x1>; | ||
7 | compatible = "apm,mustang", "apm,xgene-storm"; | ||
8 | model = "HP ProLiant m400 Server Cartridge"; | ||
9 | copyright = "Hewlett-Packard Development Company, L.P."; | ||
10 | serial-number = "CN7416V02J"; | ||
11 | |||
12 | memory { | ||
13 | reg = <0x40 0x0 0x8 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>; | ||
14 | device_type = "memory"; | ||
15 | }; | ||
16 | |||
17 | chosen { | ||
18 | bootargs = "console=ttyS0,115200n8 ro"; | ||
19 | linux,initrd-start = <0x47 0xeef28000>; | ||
20 | linux,initrd-end = <0x47 0xeffffaf6>; | ||
21 | }; | ||
22 | |||
23 | soc { | ||
24 | ranges; | ||
25 | #size-cells = <0x2>; | ||
26 | #address-cells = <0x2>; | ||
27 | compatible = "simple-bus"; | ||
28 | |||
29 | crypto@1f250000 { | ||
30 | interrupts = <0x0 0x85 0x4>; | ||
31 | slave_info = <0x1 0x0 0x2 0x20 0x8>; | ||
32 | slave_name = "SEC"; | ||
33 | clocks = <0x10 0x0>; | ||
34 | #clock-cells = <0x1>; | ||
35 | reg = <0x0 0x1f250000 0x0 0x10000>; | ||
36 | compatible = "apm,xgene-crypto"; | ||
37 | device_type = "crypto"; | ||
38 | }; | ||
39 | |||
40 | gpio_keys_polled { | ||
41 | autorepeat; | ||
42 | poll-interval = <0x64>; | ||
43 | #size-cells = <0x0>; | ||
44 | #address-cells = <0x1>; | ||
45 | compatible = "gpio-keys-polled"; | ||
46 | |||
47 | button@1 { | ||
48 | gpios = <0x18 0x17 0x1>; | ||
49 | linux,input-type = <0x1>; | ||
50 | linux,code = <0x74>; | ||
51 | label = "Power button"; | ||
52 | }; | ||
53 | }; | ||
54 | |||
55 | gpio_poweroff { | ||
56 | gpios = <0x18 0x18 0x0>; | ||
57 | compatible = "gpio-poweroff"; | ||
58 | }; | ||
59 | |||
60 | dwgpio@1c024000 { | ||
61 | reg-io-width = <0x4>; | ||
62 | #size-cells = <0x0>; | ||
63 | #address-cells = <0x1>; | ||
64 | reg = <0x0 0x1c024000 0x0 0x1000>; | ||
65 | compatible = "snps,dw-apb-gpio"; | ||
66 | |||
67 | gpio-controller@0 { | ||
68 | phandle = <0x18>; | ||
69 | linux,phandle = <0x18>; | ||
70 | reg = <0x0>; | ||
71 | snps,nr-gpios = <0x20>; | ||
72 | #gpio-cells = <0x2>; | ||
73 | gpio-controller; | ||
74 | compatible = "snps,dw-apb-gpio-port"; | ||
75 | }; | ||
76 | }; | ||
77 | |||
78 | ethernet@17020000 { | ||
79 | phy-mode = "rgmii"; | ||
80 | phyid = <0x3>; | ||
81 | max-frame-size = <0x233a>; | ||
82 | local-mac-address = <0x0 0x11 0x3a 0x8a 0x5a 0x78>; | ||
83 | clocks = <0x17 0x0>; | ||
84 | #clock-cells = <0x1>; | ||
85 | interrupts = <0x0 0x38 0x4 0x0 0x39 0x4 0x0 0x3a 0x4>; | ||
86 | slave-name = "RGMII"; | ||
87 | reg = <0x0 0x17020000 0x0 0x30 0x0 0x17020000 0x0 0x10000 0x0 0x17020000 0x0 0x20>; | ||
88 | status = "na"; | ||
89 | compatible = "apm,xgene-enet"; | ||
90 | }; | ||
91 | |||
92 | qmtm@17030000 { | ||
93 | clocks = <0x16 0x0>; | ||
94 | #clock-cells = <0x1>; | ||
95 | status = "ok"; | ||
96 | interrupts = <0x0 0x40 0x4 0x0 0x3c 0x4>; | ||
97 | slave-name = "CPU_QMTM3"; | ||
98 | reg = <0x0 0x17030000 0x0 0x10000 0x0 0x10000000 0x0 0x400000>; | ||
99 | compatible = "apm,xgene-qmtm-lite"; | ||
100 | }; | ||
101 | |||
102 | sata@1a800000 { | ||
103 | phy-names = "sata-phy"; | ||
104 | phys = <0x15 0x0>; | ||
105 | clocks = <0x14 0x0>; | ||
106 | status = "ok"; | ||
107 | interrupts = <0x0 0x88 0x4>; | ||
108 | reg = <0x0 0x1a800000 0x0 0x1000 0x0 0x1f230000 0x0 0x1000 0x0 0x1f23d000 0x0 0x1000 0x0 0x1f23e000 0x0 0x1000 0x0 0x1c000200 0x0 0x100>; | ||
109 | compatible = "apm,xgene-ahci"; | ||
110 | }; | ||
111 | |||
112 | sata@1a400000 { | ||
113 | phy-names = "sata-phy"; | ||
114 | phys = <0x13 0x0>; | ||
115 | clocks = <0x12 0x0>; | ||
116 | status = "disabled"; | ||
117 | interrupts = <0x0 0x87 0x4>; | ||
118 | reg = <0x0 0x1a400000 0x0 0x1000 0x0 0x1f220000 0x0 0x1000 0x0 0x1f22d000 0x0 0x1000 0x0 0x1f22e000 0x0 0x1000 0x0 0x1c000200 0x0 0x100 0x0 0x1f227000 0x0 0x1000>; | ||
119 | compatible = "apm,xgene-ahci"; | ||
120 | }; | ||
121 | |||
122 | sata@1a000000 { | ||
123 | phy-names = "sata-phy"; | ||
124 | phys = <0x11 0x0>; | ||
125 | clocks = <0x10 0x0>; | ||
126 | status = "disabled"; | ||
127 | interrupts = <0x0 0x86 0x4>; | ||
128 | reg = <0x0 0x1a000000 0x0 0x1000 0x0 0x1f210000 0x0 0x1000 0x0 0x1f21d000 0x0 0x1000 0x0 0x1f21e000 0x0 0x1000 0x0 0x1f217000 0x0 0x1000>; | ||
129 | compatible = "apm,xgene-ahci"; | ||
130 | }; | ||
131 | |||
132 | phy@1f23a000 { | ||
133 | phandle = <0x15>; | ||
134 | linux,phandle = <0x15>; | ||
135 | apm,tx-amplitude-A3 = <0x19fa0 0x19fa0 0x19fa0 0x19fa0 0x19fa0 0x19fa0>; | ||
136 | apm,tx-post-cursor-A3 = <0x2c6f0 0x2c6f0 0x2c6f0 0x2c6f0 0x2c6f0 0x2c6f0>; | ||
137 | apm,tx-pre-cursor2-A3 = <0x0 0x0 0x0 0x0 0x0 0x0>; | ||
138 | apm,tx-pre-cursor1-A3 = <0x8e30 0x8e30 0x8e30 0x8e30 0x8e30 0x8e30>; | ||
139 | apm,tx-equalizer-A3 = <0x1 0x1 0x1 0x1 0x1 0x1>; | ||
140 | apm,tx-eye-tuning-A3 = <0x1 0xa 0xa 0x2 0xa 0xa>; | ||
141 | apm,tx-boost-gain-A3 = <0x1e 0x1e 0x1e 0x1e 0x1e 0x1e>; | ||
142 | apm,tx-boost-gain-ssd-A3 = <0x2 0x2 0x2 0x2 0x2 0x2>; | ||
143 | status = "ok"; | ||
144 | clocks = <0xf 0x0>; | ||
145 | #phy-cells = <0x1>; | ||
146 | reg = <0x0 0x1f23a000 0x0 0x100>; | ||
147 | compatible = "apm,xgene-phy"; | ||
148 | }; | ||
149 | |||
150 | phy@1f22a000 { | ||
151 | phandle = <0x13>; | ||
152 | linux,phandle = <0x13>; | ||
153 | apm,tx-amplitude-A3 = <0x19fa0 0x19fa0 0x19fa0 0x19fa0 0x19fa0 0x19fa0>; | ||
154 | apm,tx-post-cursor-A3 = <0x2c6f0 0x2c6f0 0x2c6f0 0x2c6f0 0x2c6f0 0x2c6f0>; | ||
155 | apm,tx-pre-cursor2-A3 = <0x0 0x0 0x0 0x0 0x0 0x0>; | ||
156 | apm,tx-pre-cursor1-A3 = <0x8e30 0x8e30 0x8e30 0x8e30 0x8e30 0x8e30>; | ||
157 | apm,tx-equalizer-A3 = <0x1 0x1 0x1 0x1 0x1 0x1>; | ||
158 | apm,tx-eye-tuning-A3 = <0x1 0xa 0xa 0x2 0xa 0xa>; | ||
159 | apm,tx-boost-gain-A3 = <0x1e 0x1e 0x1e 0x1e 0x1e 0x1e>; | ||
160 | apm,tx-boost-gain-ssd-A3 = <0x2 0x2 0x2 0x2 0x2 0x2>; | ||
161 | status = "disabled"; | ||
162 | clocks = <0xe 0x0>; | ||
163 | #phy-cells = <0x1>; | ||
164 | reg = <0x0 0x1f22a000 0x0 0x100>; | ||
165 | compatible = "apm,xgene-phy"; | ||
166 | }; | ||
167 | |||
168 | phy@1f21a000 { | ||
169 | phandle = <0x11>; | ||
170 | linux,phandle = <0x11>; | ||
171 | apm,tx-amplitude-A3 = <0x19fa0 0x19fa0 0x19fa0 0x19fa0 0x19fa0 0x19fa0>; | ||
172 | apm,tx-post-cursor-A3 = <0x2c6f0 0x2c6f0 0x2c6f0 0x2c6f0 0x2c6f0 0x2c6f0>; | ||
173 | apm,tx-pre-cursor2-A3 = <0x0 0x0 0x0 0x0 0x0 0x0>; | ||
174 | apm,tx-pre-cursor1-A3 = <0x8e30 0x8e30 0x8e30 0x8e30 0x8e30 0x8e30>; | ||
175 | apm,tx-equalizer-A3 = <0x1 0x1 0x1 0x1 0x1 0x1>; | ||
176 | apm,tx-eye-tuning-A3 = <0xa 0xa 0xa 0xa 0xa 0xa>; | ||
177 | apm,tx-boost-gain-A3 = <0x1e 0x1e 0x1e 0x1e 0x1e 0x1e>; | ||
178 | apm,tx-boost-gain-ssd-A3 = <0x2 0x2 0x2 0x2 0x2 0x2>; | ||
179 | status = "disabled"; | ||
180 | clocks = <0xd 0x0>; | ||
181 | #phy-cells = <0x1>; | ||
182 | reg = <0x0 0x1f21a000 0x0 0x100>; | ||
183 | compatible = "apm,xgene-phy"; | ||
184 | }; | ||
185 | |||
186 | reboot@17000014 { | ||
187 | mask = <0x1>; | ||
188 | offset = <0x14>; | ||
189 | regmap = <0xc>; | ||
190 | compatible = "syscon-reboot"; | ||
191 | }; | ||
192 | |||
193 | slimpro@10540000 { | ||
194 | interrupts = <0x0 0x0 0x4 0x0 0x1 0x4 0x0 0x2 0x4 0x0 0x3 0x4 0x0 0x4 0x4 0x0 0x5 0x4 0x0 0x6 0x4 0x0 0x7 0x4 0x0 0x8 0x4 0x0 0x9 0x4>; | ||
195 | reg = <0x0 0x10540000 0x0 0xa000>; | ||
196 | compatible = "apm,xgene-slimpro-mbox"; | ||
197 | }; | ||
198 | |||
199 | serial@1c021000 { | ||
200 | status = "ok"; | ||
201 | interrupts = <0x0 0x4d 0x4>; | ||
202 | interrupt-parent = <0x1>; | ||
203 | clock-frequency = <0x2faf080>; | ||
204 | reg-shift = <0x2>; | ||
205 | reg = <0x0 0x1c021000 0x0 0x1000>; | ||
206 | hw-flow-control; | ||
207 | auto-flow-control; | ||
208 | fifo-size = <0x10>; | ||
209 | compatible = "snps,dw-apb-uart", "ns16550a"; | ||
210 | device_type = "serial"; | ||
211 | }; | ||
212 | |||
213 | serial@1c020000 { | ||
214 | status = "disabled"; | ||
215 | interrupts = <0x0 0x4c 0x4>; | ||
216 | interrupt-parent = <0x1>; | ||
217 | clock-frequency = <0x2faf080>; | ||
218 | reg-shift = <0x2>; | ||
219 | reg = <0x0 0x1c020000 0x0 0x1000>; | ||
220 | auto-flow-control; | ||
221 | fifo-size = <0x10>; | ||
222 | compatible = "snps,dw-apb-uart", "ns16550a"; | ||
223 | device_type = "serial"; | ||
224 | }; | ||
225 | |||
226 | rtc@10510000 { | ||
227 | clocks = <0xb 0x0>; | ||
228 | #clock-cells = <0x1>; | ||
229 | interrupts = <0x0 0x46 0x4>; | ||
230 | reg = <0x0 0x10510000 0x0 0x400>; | ||
231 | compatible = "apm,xgene-rtc"; | ||
232 | device_type = "rtc"; | ||
233 | }; | ||
234 | |||
235 | pcie@1f510000 { | ||
236 | clocks = <0xa 0x0>; | ||
237 | interrupt-map = <0x0 0x0 0x0 0x1 0x1 0x0 0xda 0x1 0x0 0x0 0x0 0x2 0x1 0x0 0xdb 0x1 0x0 0x0 0x0 0x3 0x1 0x0 0xdc 0x1 0x0 0x0 0x0 0x4 0x1 0x0 0xdd 0x1>; | ||
238 | interrupt-map-mask = <0x0 0x0 0x0 0x7>; | ||
239 | interrupts = <0x0 0x10 0x4>; | ||
240 | ib-ranges-ep = <0x2000000 0x0 0x0 0x0 0x0 0x0 0x400000 0x2000000 0x0 0x0 0x0 0x0 0x0 0x400000 0x2000000 0x0 0x79000000 0x0 0x79000000 0x0 0x100000>; | ||
241 | ib-ranges = <0x42000000 0x40 0x0 0x40 0x0 0x40 0x0 0x0 0x0 0x79000000 0x0 0x79000000 0x0 0x800000>; | ||
242 | dma-ranges = <0x42000000 0x40 0x0 0x40 0x0 0x40 0x0 0x0 0x0 0x79000000 0x0 0x79000000 0x0 0x800000>; | ||
243 | ranges = <0x1000000 0x0 0x0 0xc0 0x0 0x0 0x10000 0x2000000 0x0 0x10000000 0xc0 0x10000000 0x0 0x80000000>; | ||
244 | reg-names = "csr", "cfg"; | ||
245 | reg = <0x0 0x1f510000 0x0 0x10000 0xc0 0xd0000000 0x0 0x200000>; | ||
246 | serdes-diff-clk = <0x0>; | ||
247 | link_speed = <0x2>; | ||
248 | link_width = <0x4>; | ||
249 | port = <0x4>; | ||
250 | #address-cells = <0x3>; | ||
251 | #size-cells = <0x2>; | ||
252 | #interrupt-cells = <0x1>; | ||
253 | compatible = "apm,xgene-pcie"; | ||
254 | device_type = "pci"; | ||
255 | status = "na"; | ||
256 | }; | ||
257 | |||
258 | pcie@1f500000 { | ||
259 | clocks = <0x9 0x0>; | ||
260 | interrupt-map = <0x0 0x0 0x0 0x1 0x1 0x0 0xd4 0x1 0x0 0x0 0x0 0x2 0x1 0x0 0xd5 0x1 0x0 0x0 0x0 0x3 0x1 0x0 0xd6 0x1 0x0 0x0 0x0 0x4 0x1 0x0 0xd7 0x1>; | ||
261 | interrupt-map-mask = <0x0 0x0 0x0 0x7>; | ||
262 | interrupts = <0x0 0x10 0x4>; | ||
263 | ib-ranges-ep = <0x2000000 0x0 0x0 0x0 0x0 0x0 0x400000 0x2000000 0x0 0x0 0x0 0x0 0x0 0x400000 0x2000000 0x0 0x79000000 0x0 0x79000000 0x0 0x100000>; | ||
264 | ib-ranges = <0x42000000 0x40 0x0 0x40 0x0 0x40 0x0 0x0 0x0 0x79000000 0x0 0x79000000 0x0 0x800000>; | ||
265 | dma-ranges = <0x42000000 0x40 0x0 0x40 0x0 0x40 0x0 0x0 0x0 0x79000000 0x0 0x79000000 0x0 0x800000>; | ||
266 | ranges = <0x1000000 0x0 0x0 0xa0 0x0 0x0 0x10000 0x2000000 0x0 0x10000000 0xa0 0x10000000 0x0 0x80000000>; | ||
267 | reg-names = "csr", "cfg"; | ||
268 | reg = <0x0 0x1f500000 0x0 0x10000 0xa0 0xd0000000 0x0 0x200000>; | ||
269 | serdes-diff-clk = <0x0>; | ||
270 | link_speed = <0x2>; | ||
271 | link_width = <0x8>; | ||
272 | port = <0x3>; | ||
273 | #address-cells = <0x3>; | ||
274 | #size-cells = <0x2>; | ||
275 | #interrupt-cells = <0x1>; | ||
276 | compatible = "apm,xgene-pcie"; | ||
277 | device_type = "pci"; | ||
278 | status = "ok"; | ||
279 | reset_gpio = <0xffffffff>; | ||
280 | }; | ||
281 | |||
282 | pcie@1f2d0000 { | ||
283 | clocks = <0x8 0x0>; | ||
284 | interrupt-map = <0x0 0x0 0x0 0x1 0x1 0x0 0xce 0x1 0x0 0x0 0x0 0x2 0x1 0x0 0xcf 0x1 0x0 0x0 0x0 0x3 0x1 0x0 0xd0 0x1 0x0 0x0 0x0 0x4 0x1 0x0 0xd1 0x1>; | ||
285 | interrupt-map-mask = <0x0 0x0 0x0 0x7>; | ||
286 | interrupts = <0x0 0x10 0x4>; | ||
287 | ib-ranges-ep = <0x2000000 0x0 0x0 0x0 0x0 0x0 0x400000 0x2000000 0x0 0x0 0x0 0x0 0x0 0x400000 0x2000000 0x0 0x79000000 0x0 0x79000000 0x0 0x100000>; | ||
288 | ib-ranges = <0x42000000 0x40 0x0 0x40 0x0 0x40 0x0 0x0 0x0 0x79000000 0x0 0x79000000 0x0 0x800000>; | ||
289 | dma-ranges = <0x42000000 0x40 0x0 0x40 0x0 0x40 0x0 0x0 0x0 0x79000000 0x0 0x79000000 0x0 0x800000>; | ||
290 | ranges = <0x1000000 0x0 0x0 0x90 0x0 0x0 0x10000 0x2000000 0x0 0x10000000 0x90 0x10000000 0x0 0x80000000>; | ||
291 | reg-names = "csr", "cfg"; | ||
292 | reg = <0x0 0x1f2d0000 0x0 0x10000 0x90 0xd0000000 0x0 0x200000>; | ||
293 | serdes-diff-clk = <0x0>; | ||
294 | link_speed = <0x2>; | ||
295 | link_width = <0x1>; | ||
296 | port = <0x2>; | ||
297 | #address-cells = <0x3>; | ||
298 | #size-cells = <0x2>; | ||
299 | #interrupt-cells = <0x1>; | ||
300 | compatible = "apm,xgene-pcie"; | ||
301 | device_type = "pci"; | ||
302 | status = "na"; | ||
303 | }; | ||
304 | |||
305 | pcie@1f2c0000 { | ||
306 | clocks = <0x7 0x0>; | ||
307 | interrupt-map = <0x0 0x0 0x0 0x1 0x1 0x0 0xc8 0x1 0x0 0x0 0x0 0x2 0x1 0x0 0xc9 0x1 0x0 0x0 0x0 0x3 0x1 0x0 0xca 0x1 0x0 0x0 0x0 0x4 0x1 0x0 0xcb 0x1>; | ||
308 | interrupt-map-mask = <0x0 0x0 0x0 0x7>; | ||
309 | interrupts = <0x0 0x10 0x4>; | ||
310 | ib-ranges-ep = <0x2000000 0x0 0x0 0x0 0x0 0x0 0x400000 0x2000000 0x0 0x0 0x0 0x0 0x0 0x400000 0x2000000 0x0 0x79000000 0x0 0x79000000 0x0 0x100000>; | ||
311 | ib-ranges = <0x42000000 0x40 0x0 0x40 0x0 0x40 0x0 0x0 0x0 0x79000000 0x0 0x79000000 0x0 0x800000>; | ||
312 | dma-ranges = <0x42000000 0x40 0x0 0x40 0x0 0x40 0x0 0x0 0x0 0x79000000 0x0 0x79000000 0x0 0x800000>; | ||
313 | ranges = <0x1000000 0x0 0x0 0xd0 0x0 0x0 0x10000 0x2000000 0x0 0x10000000 0xd0 0x10000000 0x0 0x80000000>; | ||
314 | reg-names = "csr", "cfg"; | ||
315 | reg = <0x0 0x1f2c0000 0x0 0x10000 0xd0 0xd0000000 0x0 0x200000>; | ||
316 | serdes-diff-clk = <0x0>; | ||
317 | link_speed = <0x3>; | ||
318 | link_width = <0x4>; | ||
319 | port = <0x1>; | ||
320 | #address-cells = <0x3>; | ||
321 | #size-cells = <0x2>; | ||
322 | #interrupt-cells = <0x1>; | ||
323 | compatible = "apm,xgene-pcie"; | ||
324 | device_type = "pci"; | ||
325 | status = "na"; | ||
326 | }; | ||
327 | |||
328 | pcie@1f2b0000 { | ||
329 | clocks = <0x6 0x0>; | ||
330 | interrupt-map = <0x0 0x0 0x0 0x1 0x1 0x0 0xc2 0x1 0x0 0x0 0x0 0x2 0x1 0x0 0xc3 0x1 0x0 0x0 0x0 0x3 0x1 0x0 0xc4 0x1 0x0 0x0 0x0 0x4 0x1 0x0 0xc5 0x1>; | ||
331 | interrupt-map-mask = <0x0 0x0 0x0 0x7>; | ||
332 | interrupts = <0x0 0x10 0x4>; | ||
333 | ib-ranges-ep = <0x2000000 0x0 0x0 0x0 0x0 0x0 0x400000 0x2000000 0x0 0x0 0x0 0x0 0x0 0x400000 0x2000000 0x0 0x79000000 0x0 0x79000000 0x0 0x100000>; | ||
334 | ib-ranges = <0x42000000 0x40 0x0 0x40 0x0 0x40 0x0 0x0 0x0 0x79000000 0x0 0x79000000 0x0 0x800000>; | ||
335 | dma-ranges = <0x42000000 0x40 0x0 0x40 0x0 0x40 0x0 0x0 0x0 0x79000000 0x0 0x79000000 0x0 0x800000>; | ||
336 | ranges = <0x1000000 0x0 0x0 0xe0 0x0 0x0 0x10000 0x2000000 0x0 0x10000000 0xe0 0x10000000 0x0 0x80000000>; | ||
337 | reg-names = "csr", "cfg"; | ||
338 | reg = <0x0 0x1f2b0000 0x0 0x10000 0xe0 0xd0000000 0x0 0x200000>; | ||
339 | serdes-diff-clk = <0x0>; | ||
340 | link_speed = <0x3>; | ||
341 | link_width = <0x4>; | ||
342 | reset_gpio = <0x19>; | ||
343 | port = <0x0>; | ||
344 | #address-cells = <0x3>; | ||
345 | #size-cells = <0x2>; | ||
346 | #interrupt-cells = <0x1>; | ||
347 | compatible = "apm,xgene-pcie"; | ||
348 | device_type = "pci"; | ||
349 | status = "na"; | ||
350 | }; | ||
351 | |||
352 | msi@79000000 { | ||
353 | interrupts = <0x0 0x10 0x4 0x0 0x11 0x4 0x0 0x12 0x4 0x0 0x13 0x4 0x0 0x14 0x4 0x0 0x15 0x4 0x0 0x16 0x4 0x0 0x17 0x4 0x0 0x18 0x4 0x0 0x19 0x4 0x0 0x1a 0x4 0x0 0x1b 0x4 0x0 0x1c 0x4 0x0 0x1d 0x4 0x0 0x1e 0x4 0x0 0x1f 0x4>; | ||
354 | msi-available-ranges = <0x0 0x1000>; | ||
355 | reg = <0x0 0x79000000 0x0 0x900000>; | ||
356 | compatible = "xgene,gic-msi"; | ||
357 | }; | ||
358 | |||
359 | clocks { | ||
360 | ranges; | ||
361 | #size-cells = <0x2>; | ||
362 | #address-cells = <0x2>; | ||
363 | |||
364 | gpioclk@1f2ac000 { | ||
365 | phandle = <0x27>; | ||
366 | linux,phandle = <0x27>; | ||
367 | clock-output-names = "gpioclk"; | ||
368 | enable-mask = <0x4>; | ||
369 | enable-offset = <0x8>; | ||
370 | csr-mask = <0x4>; | ||
371 | csr-offset = <0x0>; | ||
372 | reg-names = "csr-reg"; | ||
373 | reg = <0x0 0x1f2ac000 0x0 0x1000>; | ||
374 | clock-names = "ahbclk"; | ||
375 | clocks = <0x6 0x0>; | ||
376 | #clock-cells = <0x1>; | ||
377 | compatible = "apm,xgene-device-clock"; | ||
378 | }; | ||
379 | |||
380 | pcie4clk@1f51c000 { | ||
381 | phandle = <0xa>; | ||
382 | linux,phandle = <0xa>; | ||
383 | clock-output-names = "pcie4clk"; | ||
384 | reg-names = "csr-reg"; | ||
385 | reg = <0x0 0x1f51c000 0x0 0x1000>; | ||
386 | clocks = <0x4 0x0>; | ||
387 | #clock-cells = <0x1>; | ||
388 | compatible = "apm,xgene-device-clock"; | ||
389 | status = "disabled"; | ||
390 | }; | ||
391 | |||
392 | pcie3clk@1f50c000 { | ||
393 | phandle = <0x9>; | ||
394 | linux,phandle = <0x9>; | ||
395 | clock-output-names = "pcie3clk"; | ||
396 | reg-names = "csr-reg"; | ||
397 | reg = <0x0 0x1f50c000 0x0 0x1000>; | ||
398 | clocks = <0x4 0x0>; | ||
399 | #clock-cells = <0x1>; | ||
400 | compatible = "apm,xgene-device-clock"; | ||
401 | status = "ok"; | ||
402 | }; | ||
403 | |||
404 | pcie2clk@1f2dc000 { | ||
405 | phandle = <0x8>; | ||
406 | linux,phandle = <0x8>; | ||
407 | clock-output-names = "pcie2clk"; | ||
408 | reg-names = "csr-reg"; | ||
409 | reg = <0x0 0x1f2dc000 0x0 0x1000>; | ||
410 | clocks = <0x4 0x0>; | ||
411 | #clock-cells = <0x1>; | ||
412 | compatible = "apm,xgene-device-clock"; | ||
413 | status = "disabled"; | ||
414 | }; | ||
415 | |||
416 | pcie1clk@1f2cc000 { | ||
417 | phandle = <0x7>; | ||
418 | linux,phandle = <0x7>; | ||
419 | clock-output-names = "pcie1clk"; | ||
420 | reg-names = "csr-reg"; | ||
421 | reg = <0x0 0x1f2cc000 0x0 0x1000>; | ||
422 | clocks = <0x4 0x0>; | ||
423 | #clock-cells = <0x1>; | ||
424 | compatible = "apm,xgene-device-clock"; | ||
425 | status = "ok"; | ||
426 | }; | ||
427 | |||
428 | pcie0clk@1f2bc000 { | ||
429 | phandle = <0x6>; | ||
430 | linux,phandle = <0x6>; | ||
431 | clock-output-names = "pcie0clk"; | ||
432 | reg-names = "csr-reg"; | ||
433 | reg = <0x0 0x1f2bc000 0x0 0x1000>; | ||
434 | clocks = <0x4 0x0>; | ||
435 | #clock-cells = <0x1>; | ||
436 | compatible = "apm,xgene-device-clock"; | ||
437 | status = "ok"; | ||
438 | }; | ||
439 | |||
440 | rtcclk@17000000 { | ||
441 | phandle = <0xb>; | ||
442 | linux,phandle = <0xb>; | ||
443 | clock-output-names = "rtcclk"; | ||
444 | enable-mask = <0x2>; | ||
445 | enable-offset = <0x10>; | ||
446 | csr-mask = <0x2>; | ||
447 | csr-offset = <0xc>; | ||
448 | reg-names = "csr-reg"; | ||
449 | reg = <0x0 0x17000000 0x0 0x2000>; | ||
450 | clock-names = "socplldiv2"; | ||
451 | clocks = <0x4 0x0>; | ||
452 | #clock-cells = <0x1>; | ||
453 | compatible = "apm,xgene-device-clock"; | ||
454 | }; | ||
455 | |||
456 | sata45clk@1f23c000 { | ||
457 | phandle = <0x14>; | ||
458 | linux,phandle = <0x14>; | ||
459 | enable-mask = <0x39>; | ||
460 | enable-offset = <0x0>; | ||
461 | csr-mask = <0x5>; | ||
462 | csr-offset = <0x4>; | ||
463 | clock-output-names = "sata45clk"; | ||
464 | reg-names = "csr-reg"; | ||
465 | reg = <0x0 0x1f23c000 0x0 0x1000>; | ||
466 | clocks = <0x4 0x0>; | ||
467 | #clock-cells = <0x1>; | ||
468 | compatible = "apm,xgene-device-clock"; | ||
469 | }; | ||
470 | |||
471 | sata23clk@1f22c000 { | ||
472 | phandle = <0x12>; | ||
473 | linux,phandle = <0x12>; | ||
474 | enable-mask = <0x39>; | ||
475 | enable-offset = <0x0>; | ||
476 | csr-mask = <0x5>; | ||
477 | csr-offset = <0x4>; | ||
478 | clock-output-names = "sata23clk"; | ||
479 | reg-names = "csr-reg"; | ||
480 | reg = <0x0 0x1f22c000 0x0 0x1000>; | ||
481 | clocks = <0x4 0x0>; | ||
482 | #clock-cells = <0x1>; | ||
483 | compatible = "apm,xgene-device-clock"; | ||
484 | }; | ||
485 | |||
486 | sata01clk@1f21c000 { | ||
487 | phandle = <0x10>; | ||
488 | linux,phandle = <0x10>; | ||
489 | enable-mask = <0x39>; | ||
490 | enable-offset = <0x0>; | ||
491 | csr-mask = <0x5>; | ||
492 | csr-offset = <0x4>; | ||
493 | clock-output-names = "sata01clk"; | ||
494 | reg-names = "csr-reg"; | ||
495 | reg = <0x0 0x1f21c000 0x0 0x1000>; | ||
496 | clocks = <0x4 0x0>; | ||
497 | #clock-cells = <0x1>; | ||
498 | compatible = "apm,xgene-device-clock"; | ||
499 | }; | ||
500 | |||
501 | sataphy1clk@1f23c000 { | ||
502 | phandle = <0xf>; | ||
503 | linux,phandle = <0xf>; | ||
504 | enable-mask = <0x6>; | ||
505 | enable-offset = <0x0>; | ||
506 | csr-mask = <0x3a>; | ||
507 | csr-offset = <0x4>; | ||
508 | status = "ok"; | ||
509 | clock-output-names = "sataphy3clk"; | ||
510 | reg-names = "csr-reg"; | ||
511 | reg = <0x0 0x1f23c000 0x0 0x1000>; | ||
512 | clocks = <0x4 0x0>; | ||
513 | #clock-cells = <0x1>; | ||
514 | compatible = "apm,xgene-device-clock"; | ||
515 | }; | ||
516 | |||
517 | sataphy1clk@1f22c000 { | ||
518 | phandle = <0xe>; | ||
519 | linux,phandle = <0xe>; | ||
520 | enable-mask = <0x6>; | ||
521 | enable-offset = <0x0>; | ||
522 | csr-mask = <0x3a>; | ||
523 | csr-offset = <0x4>; | ||
524 | status = "ok"; | ||
525 | clock-output-names = "sataphy2clk"; | ||
526 | reg-names = "csr-reg"; | ||
527 | reg = <0x0 0x1f22c000 0x0 0x1000>; | ||
528 | clocks = <0x4 0x0>; | ||
529 | #clock-cells = <0x1>; | ||
530 | compatible = "apm,xgene-device-clock"; | ||
531 | }; | ||
532 | |||
533 | sataphy1clk@1f21c000 { | ||
534 | phandle = <0xd>; | ||
535 | linux,phandle = <0xd>; | ||
536 | enable-mask = <0x6>; | ||
537 | enable-offset = <0x0>; | ||
538 | csr-mask = <0x0>; | ||
539 | csr-offset = <0x4>; | ||
540 | status = "disabled"; | ||
541 | clock-output-names = "sataphy1clk"; | ||
542 | reg-names = "csr-reg"; | ||
543 | reg = <0x0 0x1f21c000 0x0 0x1000>; | ||
544 | clocks = <0x4 0x0>; | ||
545 | #clock-cells = <0x1>; | ||
546 | compatible = "apm,xgene-device-clock"; | ||
547 | }; | ||
548 | |||
549 | eth8clk { | ||
550 | phandle = <0x17>; | ||
551 | linux,phandle = <0x17>; | ||
552 | clock-output-names = "eth8clk"; | ||
553 | reg-names = "csr-reg"; | ||
554 | reg = <0x0 0x1702c000 0x0 0x1000>; | ||
555 | clock-names = "eth8clk"; | ||
556 | clocks = <0x5 0x0>; | ||
557 | #clock-cells = <0x1>; | ||
558 | compatible = "apm,xgene-device-clock"; | ||
559 | }; | ||
560 | |||
561 | ethclk { | ||
562 | phandle = <0x5>; | ||
563 | linux,phandle = <0x5>; | ||
564 | clock-output-names = "ethclk"; | ||
565 | divider-shift = <0x0>; | ||
566 | divider-width = <0x9>; | ||
567 | divider-offset = <0x238>; | ||
568 | reg-names = "div-reg"; | ||
569 | reg = <0x0 0x17000000 0x0 0x1000>; | ||
570 | clock-names = "ethclk"; | ||
571 | clocks = <0x4 0x0>; | ||
572 | #clock-cells = <0x1>; | ||
573 | compatible = "apm,xgene-device-clock"; | ||
574 | }; | ||
575 | |||
576 | qmlclk { | ||
577 | phandle = <0x16>; | ||
578 | linux,phandle = <0x16>; | ||
579 | enable-mask = <0x3>; | ||
580 | enable-offset = <0x8>; | ||
581 | csr-mask = <0x3>; | ||
582 | csr-offset = <0x0>; | ||
583 | status = "ok"; | ||
584 | clock-output-names = "qmlclk"; | ||
585 | reg-names = "csr-reg"; | ||
586 | reg = <0x0 0x1703c000 0x0 0x1000>; | ||
587 | clock-names = "socplldiv2"; | ||
588 | clocks = <0x4 0x0>; | ||
589 | #clock-cells = <0x1>; | ||
590 | compatible = "apm,xgene-device-clock"; | ||
591 | }; | ||
592 | |||
593 | socplldiv2 { | ||
594 | phandle = <0x4>; | ||
595 | linux,phandle = <0x4>; | ||
596 | clock-output-names = "socpll"; | ||
597 | clock-div = <0x2>; | ||
598 | clock-mult = <0x1>; | ||
599 | clock-names = "socplldiv2"; | ||
600 | clocks = <0x3 0x0>; | ||
601 | #clock-cells = <0x1>; | ||
602 | compatible = "fixed-factor-clock"; | ||
603 | }; | ||
604 | |||
605 | socpll@17000120 { | ||
606 | phandle = <0x3>; | ||
607 | linux,phandle = <0x3>; | ||
608 | type = <0x1>; | ||
609 | clock-output-names = "socpll"; | ||
610 | reg = <0x0 0x17000120 0x0 0x1000>; | ||
611 | clock-names = "refclk"; | ||
612 | clocks = <0x2 0x0>; | ||
613 | #clock-cells = <0x1>; | ||
614 | compatible = "apm,xgene-socpll-clock"; | ||
615 | }; | ||
616 | |||
617 | pcppll@17000100 { | ||
618 | type = <0x0>; | ||
619 | clock-output-names = "pcppll"; | ||
620 | reg = <0x0 0x17000100 0x0 0x1000>; | ||
621 | clock-names = "refclk"; | ||
622 | clocks = <0x2 0x0>; | ||
623 | #clock-cells = <0x1>; | ||
624 | compatible = "apm,xgene-pcppll-clock"; | ||
625 | }; | ||
626 | |||
627 | refclk { | ||
628 | phandle = <0x2>; | ||
629 | linux,phandle = <0x2>; | ||
630 | clock-output-names = "refclk"; | ||
631 | clock-frequency = <0x5f5e100>; | ||
632 | #clock-cells = <0x1>; | ||
633 | compatible = "fixed-clock"; | ||
634 | }; | ||
635 | }; | ||
636 | |||
637 | system-clk-controller@17000000 { | ||
638 | phandle = <0xc>; | ||
639 | linux,phandle = <0xc>; | ||
640 | reg = <0x0 0x17000000 0x0 0x400>; | ||
641 | compatible = "apm,xgene-scu", "syscon"; | ||
642 | }; | ||
643 | }; | ||
644 | |||
645 | timer { | ||
646 | clock-frequency = <0x2faf080>; | ||
647 | interrupts = <0x1 0x0 0xff04 0x1 0xd 0xff04 0x1 0xe 0xff04 0x1 0xf 0xff04>; | ||
648 | compatible = "arm,armv8-timer"; | ||
649 | }; | ||
650 | |||
651 | pmu { | ||
652 | interrupts = <0x1 0xc 0xff04>; | ||
653 | compatible = "arm,armv8-pmuv3"; | ||
654 | }; | ||
655 | |||
656 | interrupt-controller@78010000 { | ||
657 | phandle = <0x1>; | ||
658 | linux,phandle = <0x1>; | ||
659 | interrupts = <0x1 0x9 0xf04>; | ||
660 | reg = <0x0 0x78010000 0x0 0x1000 0x0 0x78020000 0x0 0x1000 0x0 0x78040000 0x0 0x2000 0x0 0x78060000 0x0 0x2000>; | ||
661 | interrupt-controller; | ||
662 | #interrupt-cells = <0x3>; | ||
663 | compatible = "arm,cortex-a15-gic"; | ||
664 | }; | ||
665 | |||
666 | cpus { | ||
667 | #size-cells = <0x0>; | ||
668 | #address-cells = <0x2>; | ||
669 | |||
670 | cpu@301 { | ||
671 | cpu-release-addr = <0x40 0xfff8>; | ||
672 | enable-method = "spin-table"; | ||
673 | reg = <0x0 0x301>; | ||
674 | compatible = "apm,potenza", "arm,armv8"; | ||
675 | device_type = "cpu"; | ||
676 | }; | ||
677 | |||
678 | cpu@300 { | ||
679 | cpu-release-addr = <0x40 0xfff8>; | ||
680 | enable-method = "spin-table"; | ||
681 | reg = <0x0 0x300>; | ||
682 | compatible = "apm,potenza", "arm,armv8"; | ||
683 | device_type = "cpu"; | ||
684 | }; | ||
685 | |||
686 | cpu@201 { | ||
687 | cpu-release-addr = <0x40 0xfff8>; | ||
688 | enable-method = "spin-table"; | ||
689 | reg = <0x0 0x201>; | ||
690 | compatible = "apm,potenza", "arm,armv8"; | ||
691 | device_type = "cpu"; | ||
692 | }; | ||
693 | |||
694 | cpu@200 { | ||
695 | cpu-release-addr = <0x40 0xfff8>; | ||
696 | enable-method = "spin-table"; | ||
697 | reg = <0x0 0x200>; | ||
698 | compatible = "apm,potenza", "arm,armv8"; | ||
699 | device_type = "cpu"; | ||
700 | }; | ||
701 | |||
702 | cpu@101 { | ||
703 | cpu-release-addr = <0x40 0xfff8>; | ||
704 | enable-method = "spin-table"; | ||
705 | reg = <0x0 0x101>; | ||
706 | compatible = "apm,potenza", "arm,armv8"; | ||
707 | device_type = "cpu"; | ||
708 | }; | ||
709 | |||
710 | cpu@100 { | ||
711 | cpu-release-addr = <0x40 0xfff8>; | ||
712 | enable-method = "spin-table"; | ||
713 | reg = <0x0 0x100>; | ||
714 | compatible = "apm,potenza", "arm,armv8"; | ||
715 | device_type = "cpu"; | ||
716 | }; | ||
717 | |||
718 | cpu@001 { | ||
719 | cpu-release-addr = <0x40 0xfff8>; | ||
720 | enable-method = "spin-table"; | ||
721 | reg = <0x0 0x1>; | ||
722 | compatible = "apm,potenza", "arm,armv8"; | ||
723 | device_type = "cpu"; | ||
724 | }; | ||
725 | |||
726 | cpu@000 { | ||
727 | cpu-release-addr = <0x40 0xfff8>; | ||
728 | enable-method = "spin-table"; | ||
729 | reg = <0x0 0x0>; | ||
730 | compatible = "apm,potenza", "arm,armv8"; | ||
731 | device_type = "cpu"; | ||
732 | }; | ||
733 | }; | ||
734 | |||
735 | rom { | ||
736 | |||
737 | boot-rom { | ||
738 | BootROM-version = "U02"; | ||
739 | }; | ||
740 | }; | ||
741 | |||
742 | sl1500 { | ||
743 | compatible = "hp,moonshot"; | ||
744 | |||
745 | node { | ||
746 | device_type = "hp,sl1500-node"; | ||
747 | id = [31 00]; | ||
748 | serial-number = "CN7416V02J"; | ||
749 | uuid = "C69C5311-CB25-594A-9D73-56064A71BF4C"; | ||
750 | boot-time = "2014-11-13T06:03:45"; | ||
751 | boot-adjust = "47"; | ||
752 | }; | ||
753 | |||
754 | cartridge { | ||
755 | device_type = "hp,sl1500-cartridge"; | ||
756 | id = "37"; | ||
757 | serial-number = "CN7416V02J"; | ||
758 | product-name = "ProLiant m400 Server Cartridge"; | ||
759 | product-id = "721717-B21"; | ||
760 | asset-tag = [00]; | ||
761 | cpld = "04"; | ||
762 | rom-sysid = "U02"; | ||
763 | rom-date = "07/14/2014"; | ||
764 | }; | ||
765 | |||
766 | chassis { | ||
767 | device_type = "hp,sl1500-chassis"; | ||
768 | serial-number = "MX241200GX"; | ||
769 | asset-tag = [00]; | ||
770 | timezone-gmtoff = [30 00]; | ||
771 | timezone = "Europe/London"; | ||
772 | timezone-data = "GMT-0:00BST-01:00:00,M3.5.0/01:00:00,M10.5.0/01:00:00"; | ||
773 | }; | ||
774 | }; | ||
775 | }; | ||
diff --git a/recipes-kernel/linux/linux-qoriq-cgl-prt_3.12.bbappend b/recipes-kernel/linux/linux-qoriq-cgl-prt_3.12.bbappend new file mode 100644 index 0000000..f9311e9 --- /dev/null +++ b/recipes-kernel/linux/linux-qoriq-cgl-prt_3.12.bbappend | |||
@@ -0,0 +1 @@ | |||
require recipes-kernel/linux/linux-qoriq-common.inc | |||
diff --git a/recipes-kernel/linux/linux-qoriq-common.inc b/recipes-kernel/linux/linux-qoriq-common.inc new file mode 100644 index 0000000..cbf16e3 --- /dev/null +++ b/recipes-kernel/linux/linux-qoriq-common.inc | |||
@@ -0,0 +1,57 @@ | |||
1 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | ||
2 | |||
3 | SRC_URI += "file://b4860-hard_irq_disable-bug.patch \ | ||
4 | file://0001-sdhci-fix-Timeout-error-messages.patch \ | ||
5 | file://powerpc-fsl-booke64-Set-vmemmap_psize-to-4K.patch \ | ||
6 | file://cfg/00013-localversion.cfg \ | ||
7 | file://cfg/00006-with_modules.cfg \ | ||
8 | file://cfg/00001-embedded.cfg \ | ||
9 | file://cfg/00012-preempt.cfg \ | ||
10 | file://cfg/00002-root_nfs.cfg \ | ||
11 | file://cfg/00029-devtmpfs.cfg \ | ||
12 | file://cfg/00021-bootlogd.cfg \ | ||
13 | file://cfg/00022-mtd_tests.cfg \ | ||
14 | file://cfg/00030-latencytop.cfg \ | ||
15 | file://cfg/00026-ltp.cfg \ | ||
16 | file://cfg/00003-fuse.cfg \ | ||
17 | file://cfg/00034-cpusets.cfg \ | ||
18 | file://cfg/00032-dpa.cfg \ | ||
19 | file://cfg/00033-kprobes.cfg \ | ||
20 | file://cfg/00019-i2c.cfg \ | ||
21 | file://cfg/00027-lttng.cfg \ | ||
22 | file://cfg/00025-powertop.cfg \ | ||
23 | file://cfg/00004-systemtap.cfg \ | ||
24 | file://cfg/00014-kgdb.cfg \ | ||
25 | file://cfg/00049-gpio.cfg \ | ||
26 | " | ||
27 | |||
28 | STAGING_KERNEL_FEATURES="\ | ||
29 | cfg/00013-localversion.cfg \ | ||
30 | cfg/00006-with_modules.cfg \ | ||
31 | cfg/00001-embedded.cfg \ | ||
32 | cfg/00012-preempt.cfg \ | ||
33 | cfg/00002-root_nfs.cfg \ | ||
34 | cfg/00029-devtmpfs.cfg \ | ||
35 | cfg/00021-bootlogd.cfg \ | ||
36 | cfg/00022-mtd_tests.cfg \ | ||
37 | cfg/00030-latencytop.cfg \ | ||
38 | cfg/00026-ltp.cfg \ | ||
39 | cfg/00003-fuse.cfg \ | ||
40 | cfg/00034-cpusets.cfg \ | ||
41 | " | ||
42 | |||
43 | STAGING_KERNEL_FEATURES_append_p2020rdb="cfg/00015-uio.cfg" | ||
44 | |||
45 | DELTA_KERNEL_DEFCONFIG += " ${STAGING_KERNEL_FEATURES} \ | ||
46 | cfg/00032-dpa.cfg \ | ||
47 | cfg/00033-kprobes.cfg \ | ||
48 | cfg/00019-i2c.cfg \ | ||
49 | cfg/00027-lttng.cfg \ | ||
50 | cfg/00025-powertop.cfg \ | ||
51 | cfg/00004-systemtap.cfg \ | ||
52 | cfg/00014-kgdb.cfg \ | ||
53 | cfg/00049-gpio.cfg \ | ||
54 | " | ||
55 | |||
56 | require recipes-kernel/linux/staging-kernel.inc | ||
57 | require recipes-kernel/linux/pramfs-3.12.inc | ||
diff --git a/recipes-kernel/linux/linux-qoriq-prt_3.12.bbappend b/recipes-kernel/linux/linux-qoriq-prt_3.12.bbappend new file mode 100644 index 0000000..f9311e9 --- /dev/null +++ b/recipes-kernel/linux/linux-qoriq-prt_3.12.bbappend | |||
@@ -0,0 +1 @@ | |||
require recipes-kernel/linux/linux-qoriq-common.inc | |||
diff --git a/recipes-kernel/linux/linux-qoriq_3.12.bbappend b/recipes-kernel/linux/linux-qoriq_3.12.bbappend new file mode 100644 index 0000000..f9311e9 --- /dev/null +++ b/recipes-kernel/linux/linux-qoriq_3.12.bbappend | |||
@@ -0,0 +1 @@ | |||
require recipes-kernel/linux/linux-qoriq-common.inc | |||
diff --git a/recipes-kernel/linux/linux-xlnx_3.8.bbappend b/recipes-kernel/linux/linux-xlnx_3.8.bbappend new file mode 100644 index 0000000..02ff3e4 --- /dev/null +++ b/recipes-kernel/linux/linux-xlnx_3.8.bbappend | |||
@@ -0,0 +1,23 @@ | |||
1 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | ||
2 | |||
3 | SRC_URI_append = "file://cfg/00014-kgdb.cfg \ | ||
4 | file://cfg/00027-lttng.cfg \ | ||
5 | file://cfg/00028-perf.cfg \ | ||
6 | file://cfg/00025-powertop.cfg \ | ||
7 | file://cfg/00004-systemtap.cfg \ | ||
8 | file://cfg/00003-fuse.cfg \ | ||
9 | file://cfg/00034-cpusets.cfg \ | ||
10 | file://Check_correct_namespace_when_spoofing_pid_over_SCM_RIGHTS.patch \ | ||
11 | file://HID_CVE_patches/0001-HID-validate-HID-report-id-size.patch \ | ||
12 | file://HID_CVE_patches/0002-HID-provide-a-helper-for-validating-hid-reports.patch \ | ||
13 | file://HID_CVE_patches/0003-HID-zeroplus-validate-output-report-details.patch \ | ||
14 | file://HID_CVE_patches/0006-HID-pantherlord-validate-output-report-details.patch \ | ||
15 | file://HID_CVE_patches/0007-HID-LG-validate-HID-output-report-details.patch \ | ||
16 | file://HID_CVE_patches/0008-HID-lenovo-tpkbd-validate-output-report-details.patch \ | ||
17 | file://HID_CVE_patches/0009-HID-logitech-dj-validate-output-report-details.patch \ | ||
18 | file://HID_CVE_patches/0010-HID-ntrig-validate-feature-report-details.patch \ | ||
19 | file://HID_CVE_patches/0012-HID-sensor-hub-validate-feature-report-details.patch \ | ||
20 | file://HID_CVE_patches/0013-HID-picolcd_core-validate-output-report-details.patch \ | ||
21 | file://HID_CVE_patches/0014-HID-check-for-NULL-field-when-setting-values.patch \ | ||
22 | " | ||
23 | |||
diff --git a/recipes-kernel/linux/linux-yocto_3.10.bbappend b/recipes-kernel/linux/linux-yocto_3.10.bbappend new file mode 100644 index 0000000..88d0885 --- /dev/null +++ b/recipes-kernel/linux/linux-yocto_3.10.bbappend | |||
@@ -0,0 +1,9 @@ | |||
1 | require linux-enea.inc | ||
2 | |||
3 | SRC_URI += "file://cfg/00031-igb_drv.cfg \ | ||
4 | file://cfg/00014-kgdb.cfg \ | ||
5 | file://cfg/00003-fuse.cfg \ | ||
6 | file://cfg/00024-preempt_romley-ivb.cfg \ | ||
7 | file://HID_CVE_patches/0005-HID-steelseries-validate-output-report-details.patch \ | ||
8 | file://HID_CVE_patches/0012-HID-sensor-hub-validate-feature-report-details.patch \ | ||
9 | " | ||
diff --git a/recipes-kernel/linux/linux-yocto_3.14.bbappend b/recipes-kernel/linux/linux-yocto_3.14.bbappend new file mode 100644 index 0000000..d06f299 --- /dev/null +++ b/recipes-kernel/linux/linux-yocto_3.14.bbappend | |||
@@ -0,0 +1,4 @@ | |||
1 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | ||
2 | |||
3 | SRC_URI += "file://HID_CVE_patches/0005-HID-steelseries-validate-output-report-details.patch \ | ||
4 | " | ||
diff --git a/recipes-kernel/linux/linux-yocto_3.8.bbappend b/recipes-kernel/linux/linux-yocto_3.8.bbappend new file mode 100644 index 0000000..cce31ab --- /dev/null +++ b/recipes-kernel/linux/linux-yocto_3.8.bbappend | |||
@@ -0,0 +1,21 @@ | |||
1 | require linux-enea.inc | ||
2 | |||
3 | SRC_URI += "file://cfg/00031-igb_drv.cfg \ | ||
4 | file://cfg/00014-kgdb.cfg \ | ||
5 | file://cfg/00003-fuse.cfg \ | ||
6 | file://Check_correct_namespace_when_spoofing_pid_over_SCM_RIGHTS.patch \ | ||
7 | file://HID_CVE_patches/0001-HID-validate-HID-report-id-size.patch \ | ||
8 | file://HID_CVE_patches/0002-HID-provide-a-helper-for-validating-hid-reports.patch \ | ||
9 | file://HID_CVE_patches/0003-HID-zeroplus-validate-output-report-details.patch \ | ||
10 | file://HID_CVE_patches/0004-HID-sony-validate-HID-output-report-details.patch \ | ||
11 | file://HID_CVE_patches/0005-HID-steelseries-validate-output-report-details.patch \ | ||
12 | file://HID_CVE_patches/0006-HID-pantherlord-validate-output-report-details.patch \ | ||
13 | file://HID_CVE_patches/0007-HID-LG-validate-HID-output-report-details.patch \ | ||
14 | file://HID_CVE_patches/0008-HID-lenovo-tpkbd-validate-output-report-details.patch \ | ||
15 | file://HID_CVE_patches/0009-HID-logitech-dj-validate-output-report-details.patch \ | ||
16 | file://HID_CVE_patches/0010-HID-ntrig-validate-feature-report-details.patch \ | ||
17 | file://HID_CVE_patches/0011-HID-multitouch-validate-indexes-details.patch \ | ||
18 | file://HID_CVE_patches/0012-HID-sensor-hub-validate-feature-report-details.patch \ | ||
19 | file://HID_CVE_patches/0013-HID-picolcd_core-validate-output-report-details.patch \ | ||
20 | file://HID_CVE_patches/0014-HID-check-for-NULL-field-when-setting-values.patch \ | ||
21 | " | ||
diff --git a/recipes-kernel/linux/pramfs-3.12.inc b/recipes-kernel/linux/pramfs-3.12.inc new file mode 100644 index 0000000..ec5775d --- /dev/null +++ b/recipes-kernel/linux/pramfs-3.12.inc | |||
@@ -0,0 +1,21 @@ | |||
1 | RRECOMMENDS_${PN} += "pramfs-init" | ||
2 | |||
3 | PRAMFS_VERSION = '1.5.1-3.12' | ||
4 | |||
5 | SRC_URI += "file://pramfs-${PRAMFS_VERSION}.tar.gz \ | ||
6 | file://cfg/00005-pramfs.cfg" | ||
7 | |||
8 | STAGING_KERNEL_FEATURES_append = " cfg/00005-pramfs.cfg" | ||
9 | |||
10 | do_apply_pramfs() { | ||
11 | # Apply PRAMFS patch | ||
12 | |||
13 | # Already done by bitbake -> | ||
14 | # tar xvf ${WORKDIR}/pramfs-${PRAMFS_VERSION}.tar.gz -C ${WORKDIR} | ||
15 | cd ${WORKDIR}/pramfs-${PRAMFS_VERSION}/ | ||
16 | ./patch-ker.sh ${S} | ||
17 | cd - | ||
18 | } | ||
19 | |||
20 | do_apply_pramfs[deptask] = "do_unpack" | ||
21 | addtask apply_pramfs after do_unpack before do_patch | ||
diff --git a/recipes-kernel/linux/scripts/proliant-m400-setup.sh b/recipes-kernel/linux/scripts/proliant-m400-setup.sh new file mode 100755 index 0000000..7edaf54 --- /dev/null +++ b/recipes-kernel/linux/scripts/proliant-m400-setup.sh | |||
@@ -0,0 +1,8 @@ | |||
1 | #!/bin/bash | ||
2 | echo '*** Info: Customizing for proliant m400, Linaro build environment' | ||
3 | echo 'BBMASK = "meta-enea/recipes-test/stress/"' >> conf/local.conf | ||
4 | echo 'GCCVERSION ?= "linaro-4.8"' >> conf/local.conf | ||
5 | echo 'SDKGCCVERSION ?= "linaro-4.8"' >> conf/local.conf | ||
6 | echo 'BINUVERSION ?= "linaro-2.24"' >> conf/local.conf | ||
7 | # Some options needed for Linaro images | ||
8 | echo 'PREFERRED_PROVIDER_jpeg = "libjpeg-turbo"' >> conf/local.conf | ||
diff --git a/recipes-kernel/linux/staging-kernel.inc b/recipes-kernel/linux/staging-kernel.inc new file mode 100644 index 0000000..3ef802d --- /dev/null +++ b/recipes-kernel/linux/staging-kernel.inc | |||
@@ -0,0 +1,133 @@ | |||
1 | # This .inc file allows building and deploying staging kernel + modules | ||
2 | # with defconfig + fragment cfgs | ||
3 | |||
4 | require kernel-configure.inc | ||
5 | |||
6 | STAGING_NAME ?= "RELEASE" | ||
7 | STAGING_KERNEL_FEATURES ?= "" | ||
8 | KERNEL_FEATURES ?= "" | ||
9 | MODULES_IMAGE_BASE_NAME = "modules-${PV}-${PR}-${MACHINE}" | ||
10 | EXTRA_OEMAKE_prepend_task-stagingkernel = "${PARALLEL_MAKE} " | ||
11 | |||
12 | do_stagingkernel () { | ||
13 | stagingkernel "${STAGING_KERNEL_FEATURES}" ${STAGING_NAME} | ||
14 | } | ||
15 | |||
16 | stagingkernel () { | ||
17 | |||
18 | configure_kernel "${KERNEL_DEFCONFIG}" "${1}" | ||
19 | |||
20 | # Copy defconfig to .config if .config does not exist. This allows | ||
21 | # recipes to manage the .config themselves in do_configure_prepend(). | ||
22 | if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then | ||
23 | cp "${WORKDIR}/defconfig" "${B}/.config" | ||
24 | fi | ||
25 | yes '' | oe_runmake oldconfig | ||
26 | |||
27 | if [ ! -z "${INITRAMFS_IMAGE}" ]; then | ||
28 | for img in cpio.gz cpio.lzo cpio.lzma cpio.xz; do | ||
29 | if [ -e "${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.$img" ]; then | ||
30 | cp "${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.$img" initramfs.$img | ||
31 | fi | ||
32 | done | ||
33 | fi | ||
34 | |||
35 | # | ||
36 | # Build this alternative kernel | ||
37 | # | ||
38 | |||
39 | kernel_do_compile | ||
40 | do_compile_kernelmodules | ||
41 | |||
42 | # | ||
43 | # First install the modules to deploy dir | ||
44 | # | ||
45 | unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE | ||
46 | if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then | ||
47 | oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" modules_install | ||
48 | else | ||
49 | bbnote "no modules to install" | ||
50 | fi | ||
51 | if [ -d "${D}/lib" ]; then | ||
52 | tar -cvzf ${DEPLOY_DIR_IMAGE}/${MODULES_IMAGE_BASE_NAME}-${2}.tgz -C ${D} lib | ||
53 | fi | ||
54 | rm -fr ${D}/lib | ||
55 | |||
56 | # | ||
57 | # Dont build any dtb:s for the staging kernel | ||
58 | # | ||
59 | |||
60 | # | ||
61 | # Drop the resulting images in the deploy dir | ||
62 | # | ||
63 | cd ${S} | ||
64 | install -d ${DEPLOY_DIR_IMAGE} | ||
65 | install -m 0644 ${KERNEL_OUTPUT} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}-${2}.bin | ||
66 | mv ${KERNEL_OUTPUT} ${KERNEL_OUTPUT}-${2} | ||
67 | |||
68 | # | ||
69 | # Install the final config alongside the images | ||
70 | # | ||
71 | cd ${S} | ||
72 | cp .config ${DEPLOY_DIR_IMAGE}/config-${PV}-${PR}-${MACHINE}-${2}.config | ||
73 | rm -f .config | ||
74 | |||
75 | # | ||
76 | # Create symlinks | ||
77 | # | ||
78 | cd ${DEPLOY_DIR_IMAGE} | ||
79 | rm -f ${KERNEL_IMAGE_SYMLINK_NAME}-${2}.bin | ||
80 | ln -sf ${KERNEL_IMAGE_BASE_NAME}-${2}.bin ${KERNEL_IMAGE_SYMLINK_NAME}-${2}.bin | ||
81 | |||
82 | rm -f config-${MACHINE}-${2}.config | ||
83 | ln -sf config-${PV}-${PR}-${MACHINE}-${2}.config config-${MACHINE}-${2}.config | ||
84 | |||
85 | } | ||
86 | |||
87 | do_stagingkernel[dirs] = "${DEPLOY_DIR_IMAGE} ${B}" | ||
88 | |||
89 | do_stagingkernel[depends] += "u-boot-mkimage-native:do_populate_sysroot virtual/${TARGET_PREFIX}gcc:do_populate_sysroot virtual/${TARGET_PREFIX}gcc:do_populate_sysroot libgcc:do_populate_sysroot" | ||
90 | |||
91 | addtask stagingkernel after do_patch before do_configure | ||
92 | |||
93 | # | ||
94 | # For reference, copy .config to deploy image | ||
95 | # | ||
96 | do_deploy_append () { | ||
97 | |||
98 | install -d ${DEPLOY_DIR_IMAGE} | ||
99 | |||
100 | # | ||
101 | # Drop the regular defconfig along side the others for consistency | ||
102 | # | ||
103 | cd ${S} | ||
104 | cp .config ${DEPLOY_DIR_IMAGE}/config-${PV}-${PR}-${MACHINE}.config | ||
105 | |||
106 | # | ||
107 | # add symlink | ||
108 | # | ||
109 | cd ${DEPLOY_DIR_IMAGE} | ||
110 | rm -f config-${MACHINE}.config | ||
111 | ln -s config-${PV}-${PR}-${MACHINE}.config config-${MACHINE}.config | ||
112 | |||
113 | } | ||
114 | |||
115 | # | ||
116 | # Clean staging kernel related files in deploy dir | ||
117 | # | ||
118 | do_cleanstagingkernel () { | ||
119 | |||
120 | cd ${DEPLOY_DIR_IMAGE} | ||
121 | rm -f *-${STAGING_NAME}.* | ||
122 | |||
123 | rm -f config-${PV}-${PR}-${MACHINE}.config | ||
124 | rm -f config-${MACHINE}.config | ||
125 | |||
126 | } | ||
127 | |||
128 | LDFLAGS="" | ||
129 | |||
130 | do_cleanstagingkernel[nostamp] = "1" | ||
131 | |||
132 | addtask cleanstagingkernel after do_cleansstate | ||
133 | |||
diff --git a/recipes-kernel/pramfs-init/files/pramfs_init b/recipes-kernel/pramfs-init/files/pramfs_init new file mode 100644 index 0000000..64c7bc2 --- /dev/null +++ b/recipes-kernel/pramfs-init/files/pramfs_init | |||
@@ -0,0 +1,80 @@ | |||
1 | #!/bin/sh | ||
2 | #set -e | ||
3 | |||
4 | echo "Setting up pramfs" | ||
5 | |||
6 | # ensure the required binaries are present | ||
7 | #[ -x /sbin/modprobe ] || exit 1 | ||
8 | [ -x /bin/mount ] || exit 1 | ||
9 | [ -x /bin/grep ] || exit 1 | ||
10 | [ -x /bin/cat ] || exit 1 | ||
11 | [ -x /bin/sed ] || exit 1 | ||
12 | |||
13 | #modprobe pramfs | ||
14 | mkdir -p /mnt/pram | ||
15 | |||
16 | case "$1" in | ||
17 | start) | ||
18 | # Figure out RAM for pramfs | ||
19 | # This requires a kernel cmdline resevation of PRAMFS physmem | ||
20 | # in format memmap=16M$0x7000000 | ||
21 | grep memmap /proc/cmdline > /dev/null | ||
22 | if [ $? -eq 0 ]; then | ||
23 | addr=$(sed 's/.*memmap=\([^ ]*\)\$\([^ ]*\).*/\2/' < /proc/cmdline) | ||
24 | size=$(sed 's/.*memmap=\([^ ]*\)\$\([^ ]*\).*/\1/' < /proc/cmdline) | ||
25 | |||
26 | if [ -d /seed ]; then | ||
27 | echo "Init new pramfs" | ||
28 | mount -t pramfs -o physaddr=$addr,init=$size,bs=1k none /mnt/pram > /dev/null 2>&1 | ||
29 | cp /seed/* /mnt/pram | ||
30 | echo "0" > /mnt/pram/kcount | ||
31 | else | ||
32 | echo "Mounting old pramfs" | ||
33 | mount -t pramfs -o physaddr=$addr,bs=1k none /mnt/pram > /dev/null 2>&1 | ||
34 | if [ $? -ne 0 ]; then | ||
35 | echo "Mounting old pramfs failed, zeroing" | ||
36 | mount -t pramfs -o physaddr=$addr,init=$size,bs=1k none /mnt/pram > /dev/null 2>&1 | ||
37 | if [ $? -ne 0 ]; then | ||
38 | echo "All attempts to mount pramfs has failed, exiting" | ||
39 | rm -fr /mnt/pram | ||
40 | exit 1 | ||
41 | fi | ||
42 | echo "0" > /mnt/pram/kcount | ||
43 | fi | ||
44 | fi | ||
45 | |||
46 | # echo "* Setting up kexec" | ||
47 | # kexec -l --reuse-cmdline --initrd=/mnt/pram/initramfs.cpio.gz /mnt/pram/vmlinuz | ||
48 | |||
49 | # Calculate number of boots | ||
50 | export KCOUNT=$(expr $(cat /mnt/pram/kcount) + 1) | ||
51 | echo $KCOUNT > /mnt/pram/kcount | ||
52 | else | ||
53 | KCOUNT="no-mem" | ||
54 | echo "Can't find memory area for pram fs" | ||
55 | rm -fr /mnt/pram | ||
56 | fi | ||
57 | |||
58 | echo "PRAMFS boot count: $KCOUNT" | ||
59 | # echo "kexec -e to kexec and keep persistent files in /mnt/pram" | ||
60 | ;; | ||
61 | stop) | ||
62 | echo | ||
63 | ;; | ||
64 | restart) | ||
65 | $0 stop | ||
66 | $0 start | ||
67 | ;; | ||
68 | *) | ||
69 | echo "usage: $0 { start | stop | restart }" >&2 | ||
70 | exit 1 | ||
71 | ;; | ||
72 | esac | ||
73 | |||
74 | exit 0 | ||
75 | |||
76 | |||
77 | |||
78 | |||
79 | |||
80 | |||
diff --git a/recipes-kernel/pramfs-init/pramfs-init_1.0.bb b/recipes-kernel/pramfs-init/pramfs-init_1.0.bb new file mode 100644 index 0000000..d9b36a7 --- /dev/null +++ b/recipes-kernel/pramfs-init/pramfs-init_1.0.bb | |||
@@ -0,0 +1,20 @@ | |||
1 | DESCRIPTION = "Pramfs init scripts" | ||
2 | SECTION = "init" | ||
3 | LICENSE = "BSD" | ||
4 | SRC_URI = "file://pramfs_init" | ||
5 | PR = "r0" | ||
6 | |||
7 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ | ||
8 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
9 | |||
10 | PACKAGE_ARCH = "all" | ||
11 | |||
12 | do_install() { | ||
13 | install -d ${D}${sysconfdir}/init.d/ | ||
14 | install -m 0755 ${WORKDIR}/pramfs_init ${D}${sysconfdir}/init.d/pramfs_init | ||
15 | } | ||
16 | |||
17 | inherit update-rc.d | ||
18 | |||
19 | INITSCRIPT_NAME = "pramfs_init" | ||
20 | INITSCRIPT_PARAMS = "start 99 5 2 . stop 19 0 1 6 ." | ||
diff --git a/recipes-test/benchtest-runner/benchtest-runner.bb b/recipes-test/benchtest-runner/benchtest-runner.bb new file mode 100644 index 0000000..864fb94 --- /dev/null +++ b/recipes-test/benchtest-runner/benchtest-runner.bb | |||
@@ -0,0 +1,23 @@ | |||
1 | |||
2 | LICENSE = "BSD" | ||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58" | ||
4 | DESCRIPTION = "Execute all benchmark scripts in current directory" | ||
5 | INHIBIT_DEFAULT_DEPS = "1" | ||
6 | |||
7 | SRC_URI = "file://benchtest-runner \ | ||
8 | " | ||
9 | |||
10 | BTEST_PATH = "${libdir}/${PN}" | ||
11 | |||
12 | FILES_${PN} = "${bindir}/benchtest-runner \ | ||
13 | ${BTEST_PATH}" | ||
14 | |||
15 | do_install () { | ||
16 | install -D ${WORKDIR}/benchtest-runner ${D}${bindir}/benchtest-runner | ||
17 | install -d ${D}${BTEST_PATH}/tests | ||
18 | } | ||
19 | |||
20 | do_patch[noexec] = "1" | ||
21 | do_configure[noexec] = "1" | ||
22 | do_compile[noexec] = "1" | ||
23 | do_build[noexec] = "1" | ||
diff --git a/recipes-test/benchtest-runner/files/benchtest-runner b/recipes-test/benchtest-runner/files/benchtest-runner new file mode 100644 index 0000000..5681d58 --- /dev/null +++ b/recipes-test/benchtest-runner/files/benchtest-runner | |||
@@ -0,0 +1,24 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | if [ -d /usr/lib/benchtest-runner/tests ]; then | ||
4 | cd /usr/lib/benchtest-runner/tests | ||
5 | elif [ -d /usr/lib32/benchtest-runner/tests ]; then | ||
6 | cd /usr/lib32/benchtest-runner/tests | ||
7 | elif [ -d /usr/lib64/benchtest-runner/tests ]; then | ||
8 | cd /usr/lib64/benchtest-runner/tests | ||
9 | else | ||
10 | echo "ERROR: Could not find directory containing benchmark tests" | ||
11 | exit 1 | ||
12 | fi | ||
13 | |||
14 | for x in `ls` | ||
15 | do | ||
16 | echo $x | ||
17 | if [[ -f $x ]]; then | ||
18 | date +%Y-%m-%dT%H:%M | ||
19 | echo "BEGIN: $x" | ||
20 | ./$x | ||
21 | echo "END: $x" | ||
22 | date +%Y-%m-%dT%H:%M | ||
23 | fi | ||
24 | done | ||
diff --git a/recipes-test/ddt-runner/ddt-runner.bb b/recipes-test/ddt-runner/ddt-runner.bb new file mode 100644 index 0000000..85abb4f --- /dev/null +++ b/recipes-test/ddt-runner/ddt-runner.bb | |||
@@ -0,0 +1,25 @@ | |||
1 | LICENSE = "BSD" | ||
2 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58" | ||
3 | DESCRIPTION = "Script to automatize Device Driver Tests" | ||
4 | INHIBIT_DEFAULT_DEPS = "1" | ||
5 | |||
6 | SRC_URI = "file://ddt-runner \ | ||
7 | file://scripts" | ||
8 | |||
9 | FILES_${PN} += "${libdir}/${PN}" | ||
10 | FILES_${PN} += "${bindir}/ddt-runner" | ||
11 | |||
12 | do_install () { | ||
13 | install -D ${WORKDIR}/ddt-runner ${D}${bindir}/ddt-runner | ||
14 | if [ -d "${WORKDIR}/scripts/${MACHINE}" ]; then | ||
15 | install -d ${D}${libdir}/${PN}/scripts | ||
16 | for file in ${WORKDIR}/scripts/${MACHINE}/* ; do | ||
17 | install $file ${D}${libdir}/${PN}/scripts | ||
18 | done | ||
19 | fi | ||
20 | } | ||
21 | |||
22 | do_patch[noexec] = "1" | ||
23 | do_configure[noexec] = "1" | ||
24 | do_compile[noexec] = "1" | ||
25 | do_build[noexec] = "1" | ||
diff --git a/recipes-test/ddt-runner/files/ddt-runner b/recipes-test/ddt-runner/files/ddt-runner new file mode 100644 index 0000000..4cf14f6 --- /dev/null +++ b/recipes-test/ddt-runner/files/ddt-runner | |||
@@ -0,0 +1,51 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | if [[ ! -d "/usr/lib/ddt-runner/scripts" ]]; then | ||
4 | echo "SKIP: No available driver testcase" | ||
5 | exit | ||
6 | fi | ||
7 | |||
8 | cd /usr/lib/ddt-runner/scripts | ||
9 | # 10 minutes until timeout | ||
10 | timeout=600 | ||
11 | |||
12 | # check once "check_freq" second(s) if script ended, in order to | ||
13 | # start new script, or kill the current if it timedout | ||
14 | check_freq=1 | ||
15 | |||
16 | killrunning () { | ||
17 | # get all pids | ||
18 | list_of_pids=$(ls /proc | grep [1-9][0-9]*) | ||
19 | |||
20 | # kill all processes with this process id as process group id, skip this process | ||
21 | for proc_id in ${list_of_pids[@]}; do | ||
22 | if [ $((proc_id)) -ne $$ ]; then | ||
23 | group_id=`cat "/proc/${proc_id}/stat" 2>/dev/null | sed -n '$s/.*) [^ ]* [^ ]* \([^ ]*\).*/\1/p'` | ||
24 | if [ $((group_id)) -eq $$ ]; then | ||
25 | kill -KILL $proc_id &> /dev/null | ||
26 | fi | ||
27 | fi | ||
28 | done | ||
29 | } | ||
30 | |||
31 | for x in * | ||
32 | do | ||
33 | if [[ -f $x ]]; then | ||
34 | date +%Y-%m-%dT%H:%M | ||
35 | echo "BEGIN: $x" | ||
36 | ./$x & | ||
37 | timer_count=0 | ||
38 | while [ $? -eq 0 ]; do | ||
39 | timer_count=$((timer_count + check_freq)) | ||
40 | if [ $timer_count -gt $timeout ]; then | ||
41 | killrunning | ||
42 | echo "FAIL: $x timed out, and it was killed" | ||
43 | break | ||
44 | fi | ||
45 | sleep $check_freq | ||
46 | kill -0 $! 2> /dev/null | ||
47 | done | ||
48 | echo "END: $x" | ||
49 | date +%Y-%m-%dT%H:%M | ||
50 | fi | ||
51 | done | ||
diff --git a/recipes-test/ddt-runner/files/scripts/acp3448v2/ethernet b/recipes-test/ddt-runner/files/scripts/acp3448v2/ethernet new file mode 100755 index 0000000..10a16b4 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/acp3448v2/ethernet | |||
@@ -0,0 +1,97 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # This script is used to test ethernet functionality for acp3448v2. | ||
4 | # | ||
5 | |||
6 | ethernet_interface="eth0" | ||
7 | ethernet_ping_ipaddr="172.21.3.22" | ||
8 | ethernet_ipaddr=$1 | ||
9 | |||
10 | IFCONFIG=`which ifconfig` | ||
11 | |||
12 | for((num=0; num<16; num++)); | ||
13 | do | ||
14 | ethernet_interface=eth$num | ||
15 | $IFCONFIG $ethernet_interface up | ||
16 | $IFCONFIG | grep $ethernet_interface | ||
17 | if [ $? -eq 0 ]; then | ||
18 | echo "PASS: $ethernet_interface is up" | ||
19 | break | ||
20 | fi | ||
21 | done | ||
22 | |||
23 | if [ $num -eq 16 ]; then | ||
24 | echo "FAIL: $ethernet_interface is not up" | ||
25 | exit 1 | ||
26 | fi | ||
27 | |||
28 | if [ "x$ethernet_ipaddr" != "x" ]; then | ||
29 | $IFCONFIG $ethernet_interface $ethernet_ipaddr | ||
30 | fi | ||
31 | |||
32 | $IFCONFIG $ethernet_interface |grep 'inet addr:' |sed -e 's@inet addr:@@' |sed q | awk '{print $1}' | ||
33 | if [ $? -ne 0 ]; then | ||
34 | echo "FAIL: ipaddr of $ethernet_interface setup failed" | ||
35 | exit 1 | ||
36 | else | ||
37 | echo "PASS: ipaddr of $ethernet_interface setup success" | ||
38 | fi | ||
39 | |||
40 | mindatasize=56 | ||
41 | maxdatasize=650 | ||
42 | stepsize=100 | ||
43 | iteration=1 | ||
44 | datasize=$mindatasize | ||
45 | logfile=`/bin/mktemp` | ||
46 | statistics=`/bin/mktemp` | ||
47 | error=0 | ||
48 | |||
49 | trap cleanup SIGHUP SIGINT SIGTERM | ||
50 | |||
51 | clean_tasks() { | ||
52 | echo "Executing clean up tasks" | ||
53 | rm -f $logfile $statistics | ||
54 | } | ||
55 | |||
56 | cleanup() { | ||
57 | echo "Aborting script execution" | ||
58 | clean_tasks | ||
59 | exit 0 | ||
60 | } | ||
61 | |||
62 | echo "start ping test for $ethernet_interface..." | ||
63 | |||
64 | while [ $datasize -le $maxdatasize ]; do | ||
65 | for i in `seq 1 $iteration`; do | ||
66 | ping -c 1 -s $datasize $ethernet_ping_ipaddr > $statistics | ||
67 | ping_err=`echo $?` | ||
68 | echo "" && cat $statistics | grep -r "PING" | ||
69 | cat $statistics | grep -r "received" | ||
70 | [ `echo $?` -eq 0 ] || packets_received=0 && \ | ||
71 | packets_received=`cat $statistics | \ | ||
72 | grep -r "received" | awk '{print$4}'` | ||
73 | |||
74 | # Evaluate possible errors on the ping operation | ||
75 | if [ $ping_err -ne 0 ] || [ $packets_received -eq 0 ]; then | ||
76 | error=1 | ||
77 | echo -e `cat $statistics | grep -r PING` >> $logfile | ||
78 | echo -e "Size: $datasize Iteration: $i\n" >> $logfile | ||
79 | fi | ||
80 | done | ||
81 | let datasize=$datasize+$stepsize | ||
82 | done | ||
83 | |||
84 | # Report failures | ||
85 | if [ $error -eq 1 ]; then | ||
86 | echo -e "=================== error report ===================\n" | ||
87 | cat $logfile | ||
88 | echo -e "====================================================\n" | ||
89 | clean_tasks | ||
90 | echo -e "FAIL: ping test for $ethernet_interface failed\n" | ||
91 | exit 1 | ||
92 | else | ||
93 | clean_tasks | ||
94 | echo -e "PASS: ping test for $ethernet_interface success\n" | ||
95 | fi | ||
96 | |||
97 | echo "PASS: $ethernet_interface test passed" exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/acp3448v2/flash b/recipes-test/ddt-runner/files/scripts/acp3448v2/flash new file mode 100755 index 0000000..30c5d06 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/acp3448v2/flash | |||
@@ -0,0 +1,45 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # This script is used to test flash driver function. | ||
4 | |||
5 | if part_num=`cat /proc/mtd | grep -c 'mtd'`; then | ||
6 | echo "PASS: show $part_num partitions" | ||
7 | else | ||
8 | echo "FAIL: show $part_num partitions" | ||
9 | fi | ||
10 | |||
11 | for((part=0; part<$part_num-1; part++)); | ||
12 | do | ||
13 | if [ $(mtd_debug info /dev/mtd$part | grep -c 'mtd.type') ]; then | ||
14 | echo "PASS: show partition $part debug info" | ||
15 | else | ||
16 | echo "FAIL: show partition $part debug info" | ||
17 | fi | ||
18 | done | ||
19 | |||
20 | let "test_part=part_num-2" | ||
21 | |||
22 | if [ $(flash_erase -j /dev/mtd${test_part} 0 0 | grep -c '100 % complete') ]; then | ||
23 | echo "PASS: erase and format partition ${test_part}" | ||
24 | else | ||
25 | echo "FAIL: erase and format partition ${test_part}" | ||
26 | fi | ||
27 | |||
28 | mkdir -p /mnt/flash | ||
29 | mount -t jffs2 /dev/mtdblock${test_part} /mnt/flash | ||
30 | if [ $? -eq 0 ]; then | ||
31 | echo "PASS: mount partition ${test_part} as /mnt/flash" | ||
32 | else | ||
33 | echo "FAIL: mount partition ${test_part} as /mnt/flash" | ||
34 | fi | ||
35 | |||
36 | cd /mnt/flash | ||
37 | touch test | ||
38 | if [ $(ls | grep -c 'test') ]; then | ||
39 | echo "PASS: touch a file on partition ${test_part}" | ||
40 | else | ||
41 | echo "FAIL: touch a file on partition ${test_part}" | ||
42 | fi | ||
43 | |||
44 | cd ~ | ||
45 | umount /mnt/flash | ||
diff --git a/recipes-test/ddt-runner/files/scripts/acp3448v2/pci-express b/recipes-test/ddt-runner/files/scripts/acp3448v2/pci-express new file mode 100755 index 0000000..b04485f --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/acp3448v2/pci-express | |||
@@ -0,0 +1,109 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | ethernet_interface="eth0" | ||
4 | ethernet_ping_ipaddr="172.21.3.22" | ||
5 | ethernet_ipaddr=$1 | ||
6 | |||
7 | #Intel Corporation 82574L Gigabit Network Card (intel e1000e) | ||
8 | vendor_id="8086" | ||
9 | product_id="10d3" | ||
10 | |||
11 | #find vendor id & product id | ||
12 | lspci -nn |grep $vendor_id:$product_id | ||
13 | if [ $? -ne 0 ]; then | ||
14 | echo "FAIL: pci-e ethernet card device does not exist" | ||
15 | exit 1 | ||
16 | else | ||
17 | echo "PASS: got pci-e ethernet card device" | ||
18 | fi | ||
19 | |||
20 | setpci -v -d $vendor_id:$product_id latency_timer=b0 | ||
21 | if [ $? -ne 0 ]; then | ||
22 | echo "FAIL: parameter changes to pci config space failed" | ||
23 | exit 1 | ||
24 | else | ||
25 | echo "PASS: parameter changes to pci config space success" | ||
26 | fi | ||
27 | |||
28 | IFCONFIG=`which ifconfig` | ||
29 | |||
30 | $IFCONFIG $ethernet_interface up | ||
31 | $IFCONFIG | grep $ethernet_interface | ||
32 | if [ $? -ne 0 ]; then | ||
33 | echo "FAIL: pci-e ethernet card device $ethernet_interface is not up" | ||
34 | exit 1 | ||
35 | else | ||
36 | echo "PASS: pci-e ethernet card device $ethernet_interface is up" | ||
37 | fi | ||
38 | |||
39 | if [ "x$ethernet_ipaddr" != "x" ]; then | ||
40 | $IFCONFIG $ethernet_interface $ethernet_ipaddr | ||
41 | fi | ||
42 | |||
43 | $IFCONFIG $ethernet_interface |grep 'inet addr:' |sed -e 's@inet addr:@@' |sed q | awk '{print $1}' | ||
44 | if [ $? -ne 0 ]; then | ||
45 | echo "FAIL: ipaddr of pci-e ethernet card device $ethernet_interface setup failed" | ||
46 | exit 1 | ||
47 | else | ||
48 | echo "PASS: ipaddr of pci-e ethernet card device $ethernet_interface setup success" | ||
49 | fi | ||
50 | |||
51 | mindatasize=56 | ||
52 | maxdatasize=650 | ||
53 | stepsize=100 | ||
54 | iteration=1 | ||
55 | datasize=$mindatasize | ||
56 | logfile=`/bin/mktemp` | ||
57 | statistics=`/bin/mktemp` | ||
58 | error=0 | ||
59 | |||
60 | trap cleanup SIGHUP SIGINT SIGTERM | ||
61 | |||
62 | clean_tasks() { | ||
63 | echo "Executing clean up tasks" | ||
64 | rm -f $logfile $statistics | ||
65 | } | ||
66 | |||
67 | cleanup() { | ||
68 | echo "Aborting script execution" | ||
69 | clean_tasks | ||
70 | exit 0 | ||
71 | } | ||
72 | |||
73 | echo "start ping test for pci-e ethernet card device $ethernet_interface..." | ||
74 | |||
75 | while [ $datasize -le $maxdatasize ]; do | ||
76 | for i in `seq 1 $iteration`; do | ||
77 | ping -c 1 -s $datasize $ethernet_ping_ipaddr > $statistics | ||
78 | ping_err=`echo $?` | ||
79 | echo "" && cat $statistics | grep -r "PING" | ||
80 | cat $statistics | grep -r "received" | ||
81 | [ `echo $?` -eq 0 ] || packets_received=0 && \ | ||
82 | packets_received=`cat $statistics | \ | ||
83 | grep -r "received" | awk '{print$4}'` | ||
84 | |||
85 | # Evaluate possible errors on the ping operation | ||
86 | if [ $ping_err -ne 0 ] || [ $packets_received -eq 0 ]; then | ||
87 | error=1 | ||
88 | echo -e `cat $statistics | grep -r PING` >> $logfile | ||
89 | echo -e "Size: $datasize Iteration: $i\n" >> $logfile | ||
90 | fi | ||
91 | done | ||
92 | let datasize=$datasize+$stepsize | ||
93 | done | ||
94 | |||
95 | # Report failures | ||
96 | if [ $error -eq 1 ]; then | ||
97 | echo -e "=================== error report ===================\n" | ||
98 | cat $logfile | ||
99 | echo -e "====================================================\n" | ||
100 | clean_tasks | ||
101 | echo -e "FAIL: ping test for pci-e ethernet card device $ethernet_interface failed\n" | ||
102 | exit 1 | ||
103 | else | ||
104 | clean_tasks | ||
105 | echo -e "PASS: ping test for pci-e ethernet card device $ethernet_interface success\n" | ||
106 | fi | ||
107 | |||
108 | echo "PASS: pci express test passed" | ||
109 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/acp3448v2/usb b/recipes-test/ddt-runner/files/scripts/acp3448v2/usb new file mode 100755 index 0000000..aad0226 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/acp3448v2/usb | |||
@@ -0,0 +1,100 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # This script is used to test usb functionality for acp3448v2. | ||
4 | # | ||
5 | |||
6 | result=0 | ||
7 | devpath="" | ||
8 | usbinfo="" | ||
9 | |||
10 | usbutils_is_installed=`which lsusb` | ||
11 | if [ -z $usbutils_is_installed ]; then | ||
12 | echo "FAIL: Cannot find lsusb" | ||
13 | exit 1 | ||
14 | fi | ||
15 | |||
16 | usbdev_num=`lsusb | grep -v root\ hub | wc -l` | ||
17 | if [ $usbdev_num -eq 0 ]; then | ||
18 | echo "FAIL: USB device is not connected" | ||
19 | exit 1 | ||
20 | else | ||
21 | echo "$usbdev_num USB device(s) connected" | ||
22 | fi | ||
23 | |||
24 | sd=`ls -l /dev/sd[^0-9] | awk '{print $5 $6 "," $10}'` | ||
25 | if [ -z "$sd" ]; then | ||
26 | echo "FAIL: find sd device" | ||
27 | exit 1 | ||
28 | else | ||
29 | echo "PASS: find sd device" | ||
30 | fi | ||
31 | |||
32 | HDPARM=`which hdparm` | ||
33 | if [ -z $HDPARM ]; then | ||
34 | result=$? | ||
35 | echo "FAIL: find hdparm" | ||
36 | fi | ||
37 | echo "PASS: find hdparm" | ||
38 | |||
39 | for s in $sd | ||
40 | do | ||
41 | devpath=`echo "$s" | awk -F "," '{print "/sys/dev/block/" $1 ":" $2}'` | ||
42 | usbinfo=`ls -l $devpath | grep usb` | ||
43 | |||
44 | if [ -z "$usbinfo" ] ; then | ||
45 | continue | ||
46 | fi | ||
47 | |||
48 | s=`echo "$s" | awk -F "," '{print $3}'` | ||
49 | |||
50 | echo "Testing $s" | ||
51 | $HDPARM -I $s | ||
52 | if [ $? -ne 0 ]; then | ||
53 | result=$? | ||
54 | echo "FAIL: $HDPARM -I $s Detailed/current information directly from $s" | ||
55 | else | ||
56 | echo "PASS: $HDPARM -I $s Detailed/current information directly from $s" | ||
57 | fi | ||
58 | |||
59 | $HDPARM -tT $s | ||
60 | if [ $? -ne 0 ]; then | ||
61 | result=$? | ||
62 | echo "FAIL: $HDPARM -tT $s Perform device/cache read timings on $s" | ||
63 | else | ||
64 | echo "PASS: $HDPARM -tT $s Perform device/cache read timings on $s" | ||
65 | fi | ||
66 | |||
67 | mkdir -p /mnt/usb_tmp | ||
68 | for partition in `ls "$s"[1-9]` | ||
69 | do | ||
70 | echo "Testing $partition" | ||
71 | |||
72 | mount "$partition" /mnt/usb_tmp | ||
73 | if [ $? -ne 0 ]; then | ||
74 | result=$? | ||
75 | echo "FAIL: mount $s" | ||
76 | else | ||
77 | echo "PASS: mount $s" | ||
78 | dd if=/dev/urandom of=/mnt/usb_tmp/writefile bs=1M count=50 | ||
79 | if [ $? -ne 0 ]; then | ||
80 | result=$? | ||
81 | echo "FAIL: write test on $s" | ||
82 | else | ||
83 | echo "PASS: write test on $s" | ||
84 | rm -f /mnt/usb_tmp/writefile | ||
85 | fi | ||
86 | dd if=$s of=/mnt/usb_tmp/readfile bs=1M count=10 | ||
87 | if [ $? -ne 0 ]; then | ||
88 | result=$? | ||
89 | echo "FAIL: read test on $s" | ||
90 | else | ||
91 | echo "PASS: read test on $s" | ||
92 | rm -f /mnt/usb_tmp/readfile | ||
93 | fi | ||
94 | umount /mnt/usb_tmp | ||
95 | fi | ||
96 | done | ||
97 | |||
98 | rm -fr /mnt/usb_tmp | ||
99 | done | ||
100 | exit $result | ||
diff --git a/recipes-test/ddt-runner/files/scripts/b4860qds-64b/ethernet b/recipes-test/ddt-runner/files/scripts/b4860qds-64b/ethernet new file mode 100755 index 0000000..5355f10 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/b4860qds-64b/ethernet | |||
@@ -0,0 +1,88 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | ethernet_interface="eth1" | ||
4 | ethernet_ping_ipaddr="172.21.3.22" | ||
5 | ethernet_ipaddr=$1 | ||
6 | |||
7 | IFCONFIG=`which ifconfig` | ||
8 | |||
9 | $IFCONFIG $ethernet_interface up | ||
10 | $IFCONFIG | grep $ethernet_interface | ||
11 | if [ $? -ne 0 ]; then | ||
12 | echo "FAIL: $ethernet_interface is not up" | ||
13 | exit 1 | ||
14 | else | ||
15 | echo "PASS: $ethernet_interface is up" | ||
16 | fi | ||
17 | |||
18 | if [ "x$ethernet_ipaddr" != "x" ]; then | ||
19 | $IFCONFIG $ethernet_interface $ethernet_ipaddr | ||
20 | fi | ||
21 | |||
22 | $IFCONFIG $ethernet_interface |grep 'inet addr:' |sed -e 's@inet addr:@@' |sed q | awk '{print $1}' | ||
23 | if [ $? -ne 0 ]; then | ||
24 | echo "FAIL: ipaddr of $ethernet_interface setup failed" | ||
25 | exit 1 | ||
26 | else | ||
27 | echo "PASS: ipaddr of $ethernet_interface setup success" | ||
28 | fi | ||
29 | |||
30 | mindatasize=56 | ||
31 | maxdatasize=650 | ||
32 | stepsize=100 | ||
33 | iteration=1 | ||
34 | datasize=$mindatasize | ||
35 | logfile=`/bin/mktemp` | ||
36 | statistics=`/bin/mktemp` | ||
37 | error=0 | ||
38 | |||
39 | trap cleanup SIGHUP SIGINT SIGTERM | ||
40 | |||
41 | clean_tasks() { | ||
42 | echo "Executing clean up tasks" | ||
43 | rm -f $logfile $statistics | ||
44 | } | ||
45 | |||
46 | cleanup() { | ||
47 | echo "Aborting script execution" | ||
48 | clean_tasks | ||
49 | exit 0 | ||
50 | } | ||
51 | |||
52 | echo "start ping test for $ethernet_interface..." | ||
53 | |||
54 | while [ $datasize -le $maxdatasize ]; do | ||
55 | for i in `seq 1 $iteration`; do | ||
56 | ping -c 1 -s $datasize $ethernet_ping_ipaddr > $statistics | ||
57 | ping_err=`echo $?` | ||
58 | echo "" && cat $statistics | grep -r "PING" | ||
59 | cat $statistics | grep -r "received" | ||
60 | [ `echo $?` -eq 0 ] || packets_received=0 && \ | ||
61 | packets_received=`cat $statistics | \ | ||
62 | grep -r "received" | awk '{print$4}'` | ||
63 | |||
64 | # Evaluate possible errors on the ping operation | ||
65 | if [ $ping_err -ne 0 ] || [ $packets_received -eq 0 ]; then | ||
66 | error=1 | ||
67 | echo -e `cat $statistics | grep -r PING` >> $logfile | ||
68 | echo -e "Size: $datasize Iteration: $i\n" >> $logfile | ||
69 | fi | ||
70 | done | ||
71 | let datasize=$datasize+$stepsize | ||
72 | done | ||
73 | |||
74 | # Report failures | ||
75 | if [ $error -eq 1 ]; then | ||
76 | echo -e "=================== error report ===================\n" | ||
77 | cat $logfile | ||
78 | echo -e "====================================================\n" | ||
79 | clean_tasks | ||
80 | echo -e "FAIL: ping test for $ethernet_interface failed\n" | ||
81 | exit 1 | ||
82 | else | ||
83 | clean_tasks | ||
84 | echo -e "PASS: ping test for $ethernet_interface success\n" | ||
85 | fi | ||
86 | |||
87 | echo "PASS: $ethernet_interface test passed" | ||
88 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/b4860qds-64b/flash b/recipes-test/ddt-runner/files/scripts/b4860qds-64b/flash new file mode 100755 index 0000000..5728b73 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/b4860qds-64b/flash | |||
@@ -0,0 +1,20 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # This script is used to test flash driver functionality. I removed the write | ||
4 | # operations since all partition are in use in b4860qds-64b and there might be | ||
5 | # possibility of corrupting data even if we backup in test script. | ||
6 | |||
7 | if part_num=`cat /proc/mtd | grep -c 'mtd'`; then | ||
8 | echo "PASS: show $part_num partitions" | ||
9 | else | ||
10 | echo "FAIL: show $part_num partitions" | ||
11 | fi | ||
12 | |||
13 | for((part=0; part<$part_num-1; part++)); | ||
14 | do | ||
15 | if [ $(mtd_debug info /dev/mtd$part | grep -c 'mtd.type') ]; then | ||
16 | echo "PASS: show partition $part debug info" | ||
17 | else | ||
18 | echo "FAIL: show partition $part debug info" | ||
19 | fi | ||
20 | done | ||
diff --git a/recipes-test/ddt-runner/files/scripts/b4860qds-64b/i2c b/recipes-test/ddt-runner/files/scripts/b4860qds-64b/i2c new file mode 100755 index 0000000..5b312b9 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/b4860qds-64b/i2c | |||
@@ -0,0 +1,24 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | if I2C_ADAPTERS=$(i2cdetect -l |wc -l); then | ||
4 | echo "PASS: found $I2C_ADAPTERS i2c adapters" | ||
5 | else | ||
6 | echo "FAIL: no i2c adapters found" | ||
7 | exit 1 | ||
8 | fi | ||
9 | |||
10 | if [ -z "$adapters" ]; then | ||
11 | adapters=0 | ||
12 | fi | ||
13 | |||
14 | while [ $adapters -lt $I2C_ADAPTERS ] | ||
15 | do | ||
16 | i2cdetect -y $adapters | ||
17 | if [ $? -ne 0 ]; then | ||
18 | echo "FAIL: detect i2c adapter $adapters failed" | ||
19 | else | ||
20 | echo "PASS: detect i2c adapter $adapters success" | ||
21 | fi | ||
22 | adapters=`expr $adapters + 1` | ||
23 | sleep 1 | ||
24 | done | ||
diff --git a/recipes-test/ddt-runner/files/scripts/b4860qds-64b/rtc b/recipes-test/ddt-runner/files/scripts/b4860qds-64b/rtc new file mode 100755 index 0000000..0d38293 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/b4860qds-64b/rtc | |||
@@ -0,0 +1,42 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | RTC_DEVICE="/dev/rtc" | ||
4 | |||
5 | if [ ! -e $RTC_DEVICE ]; then | ||
6 | echo "FAIL: rtc device does not exist" | ||
7 | exit 1 | ||
8 | else | ||
9 | echo "PASS: rtc device exists" | ||
10 | fi | ||
11 | |||
12 | /sbin/hwclock -f $RTC_DEVICE | ||
13 | if [ $? -ne 0 ]; then | ||
14 | echo "FAIL: rtc device open failed" | ||
15 | exit 1 | ||
16 | else | ||
17 | echo "PASS: rtc device open success" | ||
18 | fi | ||
19 | |||
20 | |||
21 | /sbin/hwclock --systohc | ||
22 | if [ $? -ne 0 ]; then | ||
23 | echo "FAIL: sync system clock and hardware clock failed" | ||
24 | exit 1 | ||
25 | else | ||
26 | echo "PASS: sync system clock and hardware clock success" | ||
27 | fi | ||
28 | |||
29 | RTC_TIME=$(/sbin/hwclock -r |awk '{print $4}') | ||
30 | echo $RTC_TIME | ||
31 | SYS_TIME=$(date +%m/%d/%Y-%X |awk '{print $1}' |awk -F- '{print $2}') | ||
32 | echo $SYS_TIME | ||
33 | |||
34 | if [ "$RTC_TIME" = "$SYS_TIME" ] ; then | ||
35 | echo "PASS: system time same with hardware time" | ||
36 | else | ||
37 | echo "FAIL: system time different with hardware time" | ||
38 | exit 1 | ||
39 | fi | ||
40 | |||
41 | echo "PASS: rtc test successful" | ||
42 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/b4860qds-64b/spi b/recipes-test/ddt-runner/files/scripts/b4860qds-64b/spi new file mode 100755 index 0000000..b03431e --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/b4860qds-64b/spi | |||
@@ -0,0 +1,48 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | #An spi flash M25P80 connect to b4860qds-64b cpu by spi bus, so the method | ||
4 | #is to read/write spi flash to verify whether the spi bus driver worked | ||
5 | #or not. | ||
6 | |||
7 | MTD_CHAR_DEVICE="/dev/mtd4" | ||
8 | MTD_BLOCK_DEVICE="/dev/mtdblock4" | ||
9 | |||
10 | if [ ! -e $MTD_CHAR_DEVICE ]; then | ||
11 | echo "FAIL: spi flash device $MTD_CHAR_DEVICE does not exist" | ||
12 | exit 1 | ||
13 | else | ||
14 | echo "PASS: spi flash device $MTD_CHAR_DEVICE exists" | ||
15 | fi | ||
16 | |||
17 | if [ ! -e $MTD_BLOCK_DEVICE ]; then | ||
18 | echo "FAIL: spi flash device $MTD_BLOCK_DEVICE does not exist" | ||
19 | exit 1 | ||
20 | else | ||
21 | echo "PASS: spi flash device $MTD_BLOCK_DEVICE exists" | ||
22 | fi | ||
23 | |||
24 | /usr/sbin/flash_erase -j $MTD_CHAR_DEVICE 0 0 | ||
25 | if [ $? -ne 0 ]; then | ||
26 | echo "FAIL: format spi flash device $MTD_BLOCK_DEVICE fail" | ||
27 | exit 1 | ||
28 | else | ||
29 | mkdir -p /mnt/spi | ||
30 | mount -t jffs2 $MTD_BLOCK_DEVICE /mnt/spi | ||
31 | if [ $? -ne 0 ]; then | ||
32 | echo "FAIL: mount spi flash device $MTD_BLOCK_DEVICE fail" | ||
33 | exit 1 | ||
34 | else | ||
35 | cp /bin/busybox /mnt/spi | ||
36 | ls /mnt/spi |grep busybox | ||
37 | if [ $? -ne 0 ]; then | ||
38 | echo "FAIL: read or write spi flash device $MTD_BLOCK_DEVICE fail" | ||
39 | exit 1 | ||
40 | else | ||
41 | umount $MTD_BLOCK_DEVICE | ||
42 | echo "PASS: read or write spi flash device $MTD_BLOCK_DEVICE success" | ||
43 | fi | ||
44 | fi | ||
45 | fi | ||
46 | |||
47 | echo "PASS: spi bus test passed" | ||
48 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/bsc9131rdb/ethernet b/recipes-test/ddt-runner/files/scripts/bsc9131rdb/ethernet new file mode 100755 index 0000000..df64e08 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/bsc9131rdb/ethernet | |||
@@ -0,0 +1,89 @@ | |||
1 | #!/bin/sh | ||
2 | # This script is used to test ethernet interface for bsc9131rdb. | ||
3 | |||
4 | ethernet_interface="eth0" | ||
5 | ethernet_ping_ipaddr="172.21.3.22" | ||
6 | ethernet_ipaddr=$1 | ||
7 | |||
8 | IFCONFIG=`which ifconfig` | ||
9 | |||
10 | $IFCONFIG $ethernet_interface up | ||
11 | $IFCONFIG | grep $ethernet_interface | ||
12 | if [ $? -ne 0 ]; then | ||
13 | echo "FAIL: $ethernet_interface is not up" | ||
14 | exit 1 | ||
15 | else | ||
16 | echo "PASS: $ethernet_interface is up" | ||
17 | fi | ||
18 | |||
19 | if [ "x$ethernet_ipaddr" != "x" ]; then | ||
20 | $IFCONFIG $ethernet_interface $ethernet_ipaddr | ||
21 | fi | ||
22 | |||
23 | $IFCONFIG $ethernet_interface |grep 'inet addr:' |sed -e 's@inet addr:@@' |sed q | awk '{print $1}' | ||
24 | if [ $? -ne 0 ]; then | ||
25 | echo "FAIL: ipaddr of $ethernet_interface setup failed" | ||
26 | exit 1 | ||
27 | else | ||
28 | echo "PASS: ipaddr of $ethernet_interface setup success" | ||
29 | fi | ||
30 | |||
31 | mindatasize=56 | ||
32 | maxdatasize=650 | ||
33 | stepsize=100 | ||
34 | iteration=1 | ||
35 | datasize=$mindatasize | ||
36 | logfile=`/bin/mktemp` | ||
37 | statistics=`/bin/mktemp` | ||
38 | error=0 | ||
39 | |||
40 | trap cleanup SIGHUP SIGINT SIGTERM | ||
41 | |||
42 | clean_tasks() { | ||
43 | echo "Executing clean up tasks" | ||
44 | rm -f $logfile $statistics | ||
45 | } | ||
46 | |||
47 | cleanup() { | ||
48 | echo "Aborting script execution" | ||
49 | clean_tasks | ||
50 | exit 0 | ||
51 | } | ||
52 | |||
53 | echo "start ping test for $ethernet_interface..." | ||
54 | |||
55 | while [ $datasize -le $maxdatasize ]; do | ||
56 | for i in `seq 1 $iteration`; do | ||
57 | ping -c 1 -s $datasize $ethernet_ping_ipaddr > $statistics | ||
58 | ping_err=`echo $?` | ||
59 | echo "" && cat $statistics | grep -r "PING" | ||
60 | cat $statistics | grep -r "received" | ||
61 | [ `echo $?` -eq 0 ] || packets_received=0 && \ | ||
62 | packets_received=`cat $statistics | \ | ||
63 | grep -r "received" | awk '{print$4}'` | ||
64 | |||
65 | # Evaluate possible errors on the ping operation | ||
66 | if [ $ping_err -ne 0 ] || [ $packets_received -eq 0 ]; then | ||
67 | error=1 | ||
68 | echo -e `cat $statistics | grep -r PING` >> $logfile | ||
69 | echo -e "Size: $datasize Iteration: $i\n" >> $logfile | ||
70 | fi | ||
71 | done | ||
72 | let datasize=$datasize+$stepsize | ||
73 | done | ||
74 | |||
75 | # Report failures | ||
76 | if [ $error -eq 1 ]; then | ||
77 | echo -e "=================== error report ===================\n" | ||
78 | cat $logfile | ||
79 | echo -e "====================================================\n" | ||
80 | clean_tasks | ||
81 | echo -e "FAIL: ping test for $ethernet_interface failed\n" | ||
82 | exit 1 | ||
83 | else | ||
84 | clean_tasks | ||
85 | echo -e "PASS: ping test for $ethernet_interface success\n" | ||
86 | fi | ||
87 | |||
88 | echo "PASS: $ethernet_interface test passed" | ||
89 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/bsc9131rdb/flash b/recipes-test/ddt-runner/files/scripts/bsc9131rdb/flash new file mode 100755 index 0000000..66631ba --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/bsc9131rdb/flash | |||
@@ -0,0 +1,48 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # This script is used to test flash driver functionality. I removed the tests | ||
4 | # which include write operations since all partition are in use in bsc9131rdb | ||
5 | # and there might be possibility of corrupting data even if we backup in test | ||
6 | # script. | ||
7 | |||
8 | if part_num=`cat /proc/mtd | grep -c 'mtd'`; then | ||
9 | echo "PASS: $part_num partitions found" | ||
10 | else | ||
11 | echo "FAIL: $part_num partitions found" | ||
12 | exit 1 | ||
13 | fi | ||
14 | |||
15 | for((part=0; part<$part_num; part++)); | ||
16 | do | ||
17 | if [ $(mtd_debug info /dev/mtd$part | grep -c 'mtd.type') ]; then | ||
18 | echo "PASS: show partition $part debug info" | ||
19 | else | ||
20 | echo "FAIL: show partition $part debug info" | ||
21 | exit 1 | ||
22 | fi | ||
23 | done | ||
24 | |||
25 | READ_TEST=`find / -name mtd_readtest.ko -print` | ||
26 | |||
27 | if [ ! -e $READ_TEST ]; then | ||
28 | echo "FAIL: $READ_TEST does not exist" | ||
29 | exit 1 | ||
30 | else | ||
31 | echo "PASS: $READ_TEST exists" | ||
32 | fi | ||
33 | |||
34 | for((part=0; part<$part_num; part++)); | ||
35 | do | ||
36 | dmesg -c > NULL | ||
37 | |||
38 | modprobe $READ_TEST dev=$part | ||
39 | |||
40 | bad_num=`dmesg | grep -c 'bad'` | ||
41 | if [ $bad_num -eq 0 ]; then | ||
42 | echo "PASS: read test for partition $part" | ||
43 | else | ||
44 | echo "FAIL: read test for partition $part" | ||
45 | fi | ||
46 | |||
47 | rmmod $READ_TEST | ||
48 | done | ||
diff --git a/recipes-test/ddt-runner/files/scripts/bsc9131rdb/i2c b/recipes-test/ddt-runner/files/scripts/bsc9131rdb/i2c new file mode 100755 index 0000000..c4acd8e --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/bsc9131rdb/i2c | |||
@@ -0,0 +1,75 @@ | |||
1 | #!/bin/sh | ||
2 | # This script is used to test i2c interface for bsc9131rdb | ||
3 | |||
4 | I2C_DETECT=`which i2cdetect` | ||
5 | if [ "x$I2C_DETECT" != "x" ]; then | ||
6 | echo "PASS: i2cdetect found" | ||
7 | else | ||
8 | echo "FAIL: i2cdetect not found" | ||
9 | exit 1 | ||
10 | fi | ||
11 | |||
12 | I2C_SET=`which i2cset` | ||
13 | if [ "x$I2C_SET" != "x" ]; then | ||
14 | echo "PASS: i2cset found" | ||
15 | else | ||
16 | echo "FAIL: i2cset not found" | ||
17 | exit 1 | ||
18 | fi | ||
19 | |||
20 | I2C_GET=`which i2cget` | ||
21 | if [ "x$I2C_GET" != "x" ]; then | ||
22 | echo "PASS: i2cget found" | ||
23 | else | ||
24 | echo "FAIL: i2cget not found" | ||
25 | exit 1 | ||
26 | fi | ||
27 | |||
28 | if I2C_ADAPTERS=`$I2C_DETECT -l |wc -l`; then | ||
29 | echo "PASS: $I2C_ADAPTERS i2c adapters found" | ||
30 | else | ||
31 | echo "FAIL: no i2c adapters found" | ||
32 | exit 1 | ||
33 | fi | ||
34 | |||
35 | adapters=0 | ||
36 | while [ $adapters -lt $I2C_ADAPTERS ] | ||
37 | do | ||
38 | $I2C_DETECT -y $adapters | ||
39 | if [ $? -ne 0 ]; then | ||
40 | echo "FAIL: detect i2c adapter $adapters fail" | ||
41 | else | ||
42 | echo "PASS: detect i2c adapter $adapters success" | ||
43 | fi | ||
44 | adapters=`expr $adapters + 1` | ||
45 | sleep 1 | ||
46 | done | ||
47 | |||
48 | # Area of bus:i2c-0 addr:0x52 is free to read and write | ||
49 | $I2C_SET -y 0 0x52 0 0x55 | ||
50 | if [ $? -eq 0 ]; then | ||
51 | echo "PASS: i2c_set -y 0 0x52 0 0x55 success" | ||
52 | else | ||
53 | echo "FAIL: i2c_set -y 0 0x52 0 0x55 fail" | ||
54 | fi | ||
55 | |||
56 | num=`$I2C_GET -y 0 0x52 0 | grep -c '0x55'` | ||
57 | if [ $num -eq 1 ]; then | ||
58 | echo "PASS: i2c_get -y 0 0x52 0 success" | ||
59 | else | ||
60 | echo "FAIL: i2c_get -y 0 0x52 0 fail" | ||
61 | fi | ||
62 | |||
63 | $I2C_SET -y 0 0x52 0 0xaa | ||
64 | if [ $? -eq 0 ]; then | ||
65 | echo "PASS: i2c_set -y 0 0x52 0 0xaa success" | ||
66 | else | ||
67 | echo "FAIL: i2c_set -y 0 0x52 0 0xaa fail" | ||
68 | fi | ||
69 | |||
70 | num=`$I2C_GET -y 0 0x52 0 | grep -c '0xaa'` | ||
71 | if [ $num -eq 1 ]; then | ||
72 | echo "PASS: i2c_get -y 0 0x52 0 success" | ||
73 | else | ||
74 | echo "FAIL: i2c_get -y 0 0x52 0 fail" | ||
75 | fi | ||
diff --git a/recipes-test/ddt-runner/files/scripts/bsc9131rdb/preempt_rt b/recipes-test/ddt-runner/files/scripts/bsc9131rdb/preempt_rt new file mode 100755 index 0000000..111cfa2 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/bsc9131rdb/preempt_rt | |||
@@ -0,0 +1,33 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | #This script is to test PREEMPT RT on target | ||
4 | # | ||
5 | |||
6 | uname -a | grep "PREEMPT RT" | ||
7 | if [ $? -ne 0 ]; then | ||
8 | echo "FAIL: The kernel include real-time patch" | ||
9 | echo 1 | ||
10 | fi | ||
11 | echo "PASS: The kernel include real-time patch" | ||
12 | |||
13 | ps | grep '\(\[irq/\)' | ||
14 | if [ $? -ne 0 ]; then | ||
15 | echo "FAIL: The IRQ handlers are treated by a patched kernel in kernel thread context." | ||
16 | exit 1 | ||
17 | fi | ||
18 | echo "PASS: The IRQ handlers are treated by a patched kernel in kernel thread context." | ||
19 | |||
20 | cyclictest -t5 -p 80 -i 10000 -l 100 | ||
21 | if [ $? -ne 0 ]; then | ||
22 | echo "FAIL: Test case: POSIX interval timer, Interval 10000 micro seconds,. 100 loops." | ||
23 | exit 1 | ||
24 | fi | ||
25 | echo "PASS: Test case: POSIX interval timer, Interval 10000 micro seconds,. 100 loops." | ||
26 | |||
27 | cyclictest -t5 -p 80 -n -i 10000 -l 100 | ||
28 | if [ $? -ne 0 ]; then | ||
29 | echo "FAIL: Test case: clock_nanosleep(TIME_ABSTIME), Interval 10000 micro seconds,. 100 loops." | ||
30 | exit 1 | ||
31 | fi | ||
32 | echo "PASS: Test case: clock_nanosleep(TIME_ABSTIME), Interval 10000 micro seconds,. 100 loops." | ||
33 | |||
diff --git a/recipes-test/ddt-runner/files/scripts/bsc9131rdb/spi b/recipes-test/ddt-runner/files/scripts/bsc9131rdb/spi new file mode 100755 index 0000000..3386d6c --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/bsc9131rdb/spi | |||
@@ -0,0 +1,56 @@ | |||
1 | #!/bin/sh | ||
2 | # This script is used to test spi flash functionality for bsc9131rdb. An spi | ||
3 | # flash M25P80 connect to bsc9131 cpu by spi bus, so the method is to read/write | ||
4 | # spi flash to verify whether the spi bus driver worked or not. | ||
5 | |||
6 | MTD_CHAR_DEVICE="/dev/mtd8" | ||
7 | MTD_BLOCK_DEVICE="/dev/mtdblock8" | ||
8 | |||
9 | FLASH_ERASE=`which flash_erase` | ||
10 | if [ "x$FLASH_ERASE" != "x" ]; then | ||
11 | echo "PASS: flash_erase found" | ||
12 | else | ||
13 | echo "FAIL: flash_erase not found" | ||
14 | exit 1 | ||
15 | fi | ||
16 | |||
17 | if [ ! -e $MTD_CHAR_DEVICE ]; then | ||
18 | echo "FAIL: spi flash device $MTD_CHAR_DEVICE does not exist" | ||
19 | exit 1 | ||
20 | else | ||
21 | echo "PASS: spi flash device $MTD_CHAR_DEVICE exists" | ||
22 | fi | ||
23 | |||
24 | if [ ! -e $MTD_BLOCK_DEVICE ]; then | ||
25 | echo "FAIL: spi flash device $MTD_BLOCK_DEVICE does not exist" | ||
26 | exit 1 | ||
27 | else | ||
28 | echo "PASS: spi flash device $MTD_BLOCK_DEVICE exists" | ||
29 | fi | ||
30 | |||
31 | $FLASH_ERASE -j $MTD_CHAR_DEVICE 0 0 | ||
32 | if [ $? -ne 0 ]; then | ||
33 | echo "FAIL: format spi flash device $MTD_BLOCK_DEVICE fail" | ||
34 | exit 1 | ||
35 | else | ||
36 | mkdir -p /mnt/spi | ||
37 | mount -t jffs2 $MTD_BLOCK_DEVICE /mnt/spi | ||
38 | if [ $? -ne 0 ]; then | ||
39 | echo "FAIL: mount spi flash device $MTD_BLOCK_DEVICE fail" | ||
40 | exit 1 | ||
41 | else | ||
42 | cp /bin/busybox /mnt/spi | ||
43 | file_num=`ls /mnt/spi |grep -c 'busybox'` | ||
44 | if [ $file_num -eq 1 ]; then | ||
45 | rm /mnt/spi/busybox | ||
46 | umount $MTD_BLOCK_DEVICE | ||
47 | echo "PASS: read or write spi flash device $MTD_BLOCK_DEVICE success" | ||
48 | else | ||
49 | echo "FAIL: read or write spi flash device $MTD_BLOCK_DEVICE fail" | ||
50 | exit 1 | ||
51 | fi | ||
52 | fi | ||
53 | fi | ||
54 | |||
55 | echo "PASS: spi bus test passed" | ||
56 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/bsc9131rdb/watchdog b/recipes-test/ddt-runner/files/scripts/bsc9131rdb/watchdog new file mode 100755 index 0000000..71429fc --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/bsc9131rdb/watchdog | |||
@@ -0,0 +1,64 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # This script is used to test watchdog functionality for bsc9131rdb. | ||
4 | |||
5 | WATCHDOG=`which watchdog` | ||
6 | if [ "x$WATCHDOG" != "x" ]; then | ||
7 | echo "PASS: watchdog found" | ||
8 | else | ||
9 | echo "FAIL: watchdog not found" | ||
10 | exit 1 | ||
11 | fi | ||
12 | |||
13 | WATCHDOG_CONF=/etc/watchdog.conf | ||
14 | if [ -f $WATCHDOG_CONF ]; then | ||
15 | echo "PASS: watchdog config file found" | ||
16 | sed -i '23,23 s/#//' $WATCHDOG_CONF | ||
17 | else | ||
18 | echo "FAIL: watchdog config file not found" | ||
19 | exit 1 | ||
20 | fi | ||
21 | |||
22 | $WATCHDOG -v /dev/watchdog | ||
23 | watchdog_thread=`ps | grep -c 'watchdog -v /dev/watchdog'` | ||
24 | if [ $watchdog_thread -eq 2 ]; then | ||
25 | echo "PASS: Watchdog daemon started successfully" | ||
26 | else | ||
27 | echo "FAIL: Failed to start watchdog daemon" | ||
28 | exit 1 | ||
29 | fi | ||
30 | |||
31 | sleep 5s | ||
32 | |||
33 | killall watchdog | ||
34 | |||
35 | retry=0 | ||
36 | while [ $retry -lt 10 ] | ||
37 | do | ||
38 | watchdog_thread=`ps | grep -c 'watchdog -v /dev/watchdog'` | ||
39 | if [ $watchdog_thread -eq 1 ]; then | ||
40 | echo "PASS: Watchdog daemon stopped successfully" | ||
41 | break; | ||
42 | fi | ||
43 | sleep 1s | ||
44 | retry=`expr $retry + 1` | ||
45 | done | ||
46 | |||
47 | if [ $retry -eq 10 ]; then | ||
48 | echo "FAIL: Failed to stop watchdog daemon" | ||
49 | fi | ||
50 | |||
51 | found=0 | ||
52 | while read line | ||
53 | do | ||
54 | result=`echo $line | grep -c 'still alive after 1 interval'` | ||
55 | if [ $result -eq 1 ]; then | ||
56 | echo "PASS: Watchdog is still alive after 1 interval" | ||
57 | found=1 | ||
58 | fi | ||
59 | done < /var/log/messages | ||
60 | |||
61 | if [ $found -eq 0 ]; then | ||
62 | echo "FAIL: Watchdog is not alive after 1 interval" | ||
63 | fi | ||
64 | |||
diff --git a/recipes-test/ddt-runner/files/scripts/bsc9132qds/ethernet b/recipes-test/ddt-runner/files/scripts/bsc9132qds/ethernet new file mode 100755 index 0000000..df64e08 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/bsc9132qds/ethernet | |||
@@ -0,0 +1,89 @@ | |||
1 | #!/bin/sh | ||
2 | # This script is used to test ethernet interface for bsc9131rdb. | ||
3 | |||
4 | ethernet_interface="eth0" | ||
5 | ethernet_ping_ipaddr="172.21.3.22" | ||
6 | ethernet_ipaddr=$1 | ||
7 | |||
8 | IFCONFIG=`which ifconfig` | ||
9 | |||
10 | $IFCONFIG $ethernet_interface up | ||
11 | $IFCONFIG | grep $ethernet_interface | ||
12 | if [ $? -ne 0 ]; then | ||
13 | echo "FAIL: $ethernet_interface is not up" | ||
14 | exit 1 | ||
15 | else | ||
16 | echo "PASS: $ethernet_interface is up" | ||
17 | fi | ||
18 | |||
19 | if [ "x$ethernet_ipaddr" != "x" ]; then | ||
20 | $IFCONFIG $ethernet_interface $ethernet_ipaddr | ||
21 | fi | ||
22 | |||
23 | $IFCONFIG $ethernet_interface |grep 'inet addr:' |sed -e 's@inet addr:@@' |sed q | awk '{print $1}' | ||
24 | if [ $? -ne 0 ]; then | ||
25 | echo "FAIL: ipaddr of $ethernet_interface setup failed" | ||
26 | exit 1 | ||
27 | else | ||
28 | echo "PASS: ipaddr of $ethernet_interface setup success" | ||
29 | fi | ||
30 | |||
31 | mindatasize=56 | ||
32 | maxdatasize=650 | ||
33 | stepsize=100 | ||
34 | iteration=1 | ||
35 | datasize=$mindatasize | ||
36 | logfile=`/bin/mktemp` | ||
37 | statistics=`/bin/mktemp` | ||
38 | error=0 | ||
39 | |||
40 | trap cleanup SIGHUP SIGINT SIGTERM | ||
41 | |||
42 | clean_tasks() { | ||
43 | echo "Executing clean up tasks" | ||
44 | rm -f $logfile $statistics | ||
45 | } | ||
46 | |||
47 | cleanup() { | ||
48 | echo "Aborting script execution" | ||
49 | clean_tasks | ||
50 | exit 0 | ||
51 | } | ||
52 | |||
53 | echo "start ping test for $ethernet_interface..." | ||
54 | |||
55 | while [ $datasize -le $maxdatasize ]; do | ||
56 | for i in `seq 1 $iteration`; do | ||
57 | ping -c 1 -s $datasize $ethernet_ping_ipaddr > $statistics | ||
58 | ping_err=`echo $?` | ||
59 | echo "" && cat $statistics | grep -r "PING" | ||
60 | cat $statistics | grep -r "received" | ||
61 | [ `echo $?` -eq 0 ] || packets_received=0 && \ | ||
62 | packets_received=`cat $statistics | \ | ||
63 | grep -r "received" | awk '{print$4}'` | ||
64 | |||
65 | # Evaluate possible errors on the ping operation | ||
66 | if [ $ping_err -ne 0 ] || [ $packets_received -eq 0 ]; then | ||
67 | error=1 | ||
68 | echo -e `cat $statistics | grep -r PING` >> $logfile | ||
69 | echo -e "Size: $datasize Iteration: $i\n" >> $logfile | ||
70 | fi | ||
71 | done | ||
72 | let datasize=$datasize+$stepsize | ||
73 | done | ||
74 | |||
75 | # Report failures | ||
76 | if [ $error -eq 1 ]; then | ||
77 | echo -e "=================== error report ===================\n" | ||
78 | cat $logfile | ||
79 | echo -e "====================================================\n" | ||
80 | clean_tasks | ||
81 | echo -e "FAIL: ping test for $ethernet_interface failed\n" | ||
82 | exit 1 | ||
83 | else | ||
84 | clean_tasks | ||
85 | echo -e "PASS: ping test for $ethernet_interface success\n" | ||
86 | fi | ||
87 | |||
88 | echo "PASS: $ethernet_interface test passed" | ||
89 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/bsc9132qds/flash b/recipes-test/ddt-runner/files/scripts/bsc9132qds/flash new file mode 100755 index 0000000..66631ba --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/bsc9132qds/flash | |||
@@ -0,0 +1,48 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # This script is used to test flash driver functionality. I removed the tests | ||
4 | # which include write operations since all partition are in use in bsc9131rdb | ||
5 | # and there might be possibility of corrupting data even if we backup in test | ||
6 | # script. | ||
7 | |||
8 | if part_num=`cat /proc/mtd | grep -c 'mtd'`; then | ||
9 | echo "PASS: $part_num partitions found" | ||
10 | else | ||
11 | echo "FAIL: $part_num partitions found" | ||
12 | exit 1 | ||
13 | fi | ||
14 | |||
15 | for((part=0; part<$part_num; part++)); | ||
16 | do | ||
17 | if [ $(mtd_debug info /dev/mtd$part | grep -c 'mtd.type') ]; then | ||
18 | echo "PASS: show partition $part debug info" | ||
19 | else | ||
20 | echo "FAIL: show partition $part debug info" | ||
21 | exit 1 | ||
22 | fi | ||
23 | done | ||
24 | |||
25 | READ_TEST=`find / -name mtd_readtest.ko -print` | ||
26 | |||
27 | if [ ! -e $READ_TEST ]; then | ||
28 | echo "FAIL: $READ_TEST does not exist" | ||
29 | exit 1 | ||
30 | else | ||
31 | echo "PASS: $READ_TEST exists" | ||
32 | fi | ||
33 | |||
34 | for((part=0; part<$part_num; part++)); | ||
35 | do | ||
36 | dmesg -c > NULL | ||
37 | |||
38 | modprobe $READ_TEST dev=$part | ||
39 | |||
40 | bad_num=`dmesg | grep -c 'bad'` | ||
41 | if [ $bad_num -eq 0 ]; then | ||
42 | echo "PASS: read test for partition $part" | ||
43 | else | ||
44 | echo "FAIL: read test for partition $part" | ||
45 | fi | ||
46 | |||
47 | rmmod $READ_TEST | ||
48 | done | ||
diff --git a/recipes-test/ddt-runner/files/scripts/bsc9132qds/i2c b/recipes-test/ddt-runner/files/scripts/bsc9132qds/i2c new file mode 100755 index 0000000..c4acd8e --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/bsc9132qds/i2c | |||
@@ -0,0 +1,75 @@ | |||
1 | #!/bin/sh | ||
2 | # This script is used to test i2c interface for bsc9131rdb | ||
3 | |||
4 | I2C_DETECT=`which i2cdetect` | ||
5 | if [ "x$I2C_DETECT" != "x" ]; then | ||
6 | echo "PASS: i2cdetect found" | ||
7 | else | ||
8 | echo "FAIL: i2cdetect not found" | ||
9 | exit 1 | ||
10 | fi | ||
11 | |||
12 | I2C_SET=`which i2cset` | ||
13 | if [ "x$I2C_SET" != "x" ]; then | ||
14 | echo "PASS: i2cset found" | ||
15 | else | ||
16 | echo "FAIL: i2cset not found" | ||
17 | exit 1 | ||
18 | fi | ||
19 | |||
20 | I2C_GET=`which i2cget` | ||
21 | if [ "x$I2C_GET" != "x" ]; then | ||
22 | echo "PASS: i2cget found" | ||
23 | else | ||
24 | echo "FAIL: i2cget not found" | ||
25 | exit 1 | ||
26 | fi | ||
27 | |||
28 | if I2C_ADAPTERS=`$I2C_DETECT -l |wc -l`; then | ||
29 | echo "PASS: $I2C_ADAPTERS i2c adapters found" | ||
30 | else | ||
31 | echo "FAIL: no i2c adapters found" | ||
32 | exit 1 | ||
33 | fi | ||
34 | |||
35 | adapters=0 | ||
36 | while [ $adapters -lt $I2C_ADAPTERS ] | ||
37 | do | ||
38 | $I2C_DETECT -y $adapters | ||
39 | if [ $? -ne 0 ]; then | ||
40 | echo "FAIL: detect i2c adapter $adapters fail" | ||
41 | else | ||
42 | echo "PASS: detect i2c adapter $adapters success" | ||
43 | fi | ||
44 | adapters=`expr $adapters + 1` | ||
45 | sleep 1 | ||
46 | done | ||
47 | |||
48 | # Area of bus:i2c-0 addr:0x52 is free to read and write | ||
49 | $I2C_SET -y 0 0x52 0 0x55 | ||
50 | if [ $? -eq 0 ]; then | ||
51 | echo "PASS: i2c_set -y 0 0x52 0 0x55 success" | ||
52 | else | ||
53 | echo "FAIL: i2c_set -y 0 0x52 0 0x55 fail" | ||
54 | fi | ||
55 | |||
56 | num=`$I2C_GET -y 0 0x52 0 | grep -c '0x55'` | ||
57 | if [ $num -eq 1 ]; then | ||
58 | echo "PASS: i2c_get -y 0 0x52 0 success" | ||
59 | else | ||
60 | echo "FAIL: i2c_get -y 0 0x52 0 fail" | ||
61 | fi | ||
62 | |||
63 | $I2C_SET -y 0 0x52 0 0xaa | ||
64 | if [ $? -eq 0 ]; then | ||
65 | echo "PASS: i2c_set -y 0 0x52 0 0xaa success" | ||
66 | else | ||
67 | echo "FAIL: i2c_set -y 0 0x52 0 0xaa fail" | ||
68 | fi | ||
69 | |||
70 | num=`$I2C_GET -y 0 0x52 0 | grep -c '0xaa'` | ||
71 | if [ $num -eq 1 ]; then | ||
72 | echo "PASS: i2c_get -y 0 0x52 0 success" | ||
73 | else | ||
74 | echo "FAIL: i2c_get -y 0 0x52 0 fail" | ||
75 | fi | ||
diff --git a/recipes-test/ddt-runner/files/scripts/bsc9132qds/preempt_rt b/recipes-test/ddt-runner/files/scripts/bsc9132qds/preempt_rt new file mode 100755 index 0000000..111cfa2 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/bsc9132qds/preempt_rt | |||
@@ -0,0 +1,33 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | #This script is to test PREEMPT RT on target | ||
4 | # | ||
5 | |||
6 | uname -a | grep "PREEMPT RT" | ||
7 | if [ $? -ne 0 ]; then | ||
8 | echo "FAIL: The kernel include real-time patch" | ||
9 | echo 1 | ||
10 | fi | ||
11 | echo "PASS: The kernel include real-time patch" | ||
12 | |||
13 | ps | grep '\(\[irq/\)' | ||
14 | if [ $? -ne 0 ]; then | ||
15 | echo "FAIL: The IRQ handlers are treated by a patched kernel in kernel thread context." | ||
16 | exit 1 | ||
17 | fi | ||
18 | echo "PASS: The IRQ handlers are treated by a patched kernel in kernel thread context." | ||
19 | |||
20 | cyclictest -t5 -p 80 -i 10000 -l 100 | ||
21 | if [ $? -ne 0 ]; then | ||
22 | echo "FAIL: Test case: POSIX interval timer, Interval 10000 micro seconds,. 100 loops." | ||
23 | exit 1 | ||
24 | fi | ||
25 | echo "PASS: Test case: POSIX interval timer, Interval 10000 micro seconds,. 100 loops." | ||
26 | |||
27 | cyclictest -t5 -p 80 -n -i 10000 -l 100 | ||
28 | if [ $? -ne 0 ]; then | ||
29 | echo "FAIL: Test case: clock_nanosleep(TIME_ABSTIME), Interval 10000 micro seconds,. 100 loops." | ||
30 | exit 1 | ||
31 | fi | ||
32 | echo "PASS: Test case: clock_nanosleep(TIME_ABSTIME), Interval 10000 micro seconds,. 100 loops." | ||
33 | |||
diff --git a/recipes-test/ddt-runner/files/scripts/bsc9132qds/sdhc b/recipes-test/ddt-runner/files/scripts/bsc9132qds/sdhc new file mode 100644 index 0000000..1530c64 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/bsc9132qds/sdhc | |||
@@ -0,0 +1,77 @@ | |||
1 | #!/bin/sh | ||
2 | # This script is used to test SDHC card functionality for bsc9132rdb | ||
3 | |||
4 | DEV="mmc0:e624" | ||
5 | |||
6 | if [ -f /sys/bus/mmc/drivers/mmcblk/bind ]; then | ||
7 | echo "PASS: /sys/bus/mmc/drivers/mmcblk/bind found" | ||
8 | else | ||
9 | echo "FAIL: /sys/bus/mmc/drivers/mmcblk/bind not found" | ||
10 | exit 1 | ||
11 | fi | ||
12 | |||
13 | if [ -f /sys/bus/mmc/drivers/mmcblk/unbind ]; then | ||
14 | echo "PASS: /sys/bus/mmc/drivers/mmcblk/unbind found" | ||
15 | else | ||
16 | echo "FAIL: /sys/bus/mmc/drivers/mmcblk/unbind not found" | ||
17 | exit 1 | ||
18 | fi | ||
19 | |||
20 | if [ -f /sys/bus/mmc/drivers/mmc_test/bind ]; then | ||
21 | echo "PASS: /sys/bus/mmc/drivers/mmc_test/bind found" | ||
22 | else | ||
23 | echo "FAIL: /sys/bus/mmc/drivers/mmc_test/bind not found" | ||
24 | exit 1 | ||
25 | fi | ||
26 | |||
27 | if [ -f /sys/bus/mmc/drivers/mmc_test/unbind ]; then | ||
28 | echo "PASS: /sys/bus/mmc/drivers/mmc_test/unbind found" | ||
29 | else | ||
30 | echo "FAIL: /sys/bus/mmc/drivers/mmc_test/unbind not found" | ||
31 | exit 1 | ||
32 | fi | ||
33 | |||
34 | mount -t debugfs none /sys/kernel/debug | ||
35 | if [ $? -eq 0 ]; then | ||
36 | echo "PASS: successfully mount /sys/kernel/debug" | ||
37 | else | ||
38 | echo "FAIL: failed to mount /sys/kernel/debug" | ||
39 | fi | ||
40 | |||
41 | echo $DEV > /sys/bus/mmc/drivers/mmcblk/unbind | ||
42 | if [ $? -eq 0 ]; then | ||
43 | echo "PASS: successfully unbind mmcblk driver" | ||
44 | else | ||
45 | echo "FAIL: failed to unbind mmcblk driver" | ||
46 | fi | ||
47 | |||
48 | echo $DEV > /sys/bus/mmc/drivers/mmc_test/bind | ||
49 | if [ $? -eq 0 ]; then | ||
50 | echo "PASS: successfully bind mmc_test driver" | ||
51 | else | ||
52 | echo "FAIL: failed to bind mmc_test driver" | ||
53 | fi | ||
54 | |||
55 | # echo 0 means test all supported test cases | ||
56 | fail_num=`echo 0 > /sys/kernel/debug/mmc0/mmc0\:e624/test | grep -E -c 'FAILED|ERROR'` | ||
57 | if [ $fail_num -eq 0 ]; then | ||
58 | echo "PASS: all test cases passed" | ||
59 | else | ||
60 | echo "FAIL: some test cases failed" | ||
61 | fi | ||
62 | |||
63 | cat /sys/kernel/debug/mmc0/mmc0\:e624/test | ||
64 | |||
65 | echo $DEV > /sys/bus/mmc/drivers/mmc_test/unbind | ||
66 | if [ $? -eq 0 ]; then | ||
67 | echo "PASS: successfully unbind mmc_test driver" | ||
68 | else | ||
69 | echo "FAIL: failed to unbind mmc_test driver" | ||
70 | fi | ||
71 | |||
72 | echo $DEV > /sys/bus/mmc/drivers/mmcblk/bind | ||
73 | if [ $? -eq 0 ]; then | ||
74 | echo "PASS: successfully bind mmcblk driver" | ||
75 | else | ||
76 | echo "FAIL: failed to bind mmcblk driver" | ||
77 | fi | ||
diff --git a/recipes-test/ddt-runner/files/scripts/bsc9132qds/spi b/recipes-test/ddt-runner/files/scripts/bsc9132qds/spi new file mode 100755 index 0000000..3386d6c --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/bsc9132qds/spi | |||
@@ -0,0 +1,56 @@ | |||
1 | #!/bin/sh | ||
2 | # This script is used to test spi flash functionality for bsc9131rdb. An spi | ||
3 | # flash M25P80 connect to bsc9131 cpu by spi bus, so the method is to read/write | ||
4 | # spi flash to verify whether the spi bus driver worked or not. | ||
5 | |||
6 | MTD_CHAR_DEVICE="/dev/mtd8" | ||
7 | MTD_BLOCK_DEVICE="/dev/mtdblock8" | ||
8 | |||
9 | FLASH_ERASE=`which flash_erase` | ||
10 | if [ "x$FLASH_ERASE" != "x" ]; then | ||
11 | echo "PASS: flash_erase found" | ||
12 | else | ||
13 | echo "FAIL: flash_erase not found" | ||
14 | exit 1 | ||
15 | fi | ||
16 | |||
17 | if [ ! -e $MTD_CHAR_DEVICE ]; then | ||
18 | echo "FAIL: spi flash device $MTD_CHAR_DEVICE does not exist" | ||
19 | exit 1 | ||
20 | else | ||
21 | echo "PASS: spi flash device $MTD_CHAR_DEVICE exists" | ||
22 | fi | ||
23 | |||
24 | if [ ! -e $MTD_BLOCK_DEVICE ]; then | ||
25 | echo "FAIL: spi flash device $MTD_BLOCK_DEVICE does not exist" | ||
26 | exit 1 | ||
27 | else | ||
28 | echo "PASS: spi flash device $MTD_BLOCK_DEVICE exists" | ||
29 | fi | ||
30 | |||
31 | $FLASH_ERASE -j $MTD_CHAR_DEVICE 0 0 | ||
32 | if [ $? -ne 0 ]; then | ||
33 | echo "FAIL: format spi flash device $MTD_BLOCK_DEVICE fail" | ||
34 | exit 1 | ||
35 | else | ||
36 | mkdir -p /mnt/spi | ||
37 | mount -t jffs2 $MTD_BLOCK_DEVICE /mnt/spi | ||
38 | if [ $? -ne 0 ]; then | ||
39 | echo "FAIL: mount spi flash device $MTD_BLOCK_DEVICE fail" | ||
40 | exit 1 | ||
41 | else | ||
42 | cp /bin/busybox /mnt/spi | ||
43 | file_num=`ls /mnt/spi |grep -c 'busybox'` | ||
44 | if [ $file_num -eq 1 ]; then | ||
45 | rm /mnt/spi/busybox | ||
46 | umount $MTD_BLOCK_DEVICE | ||
47 | echo "PASS: read or write spi flash device $MTD_BLOCK_DEVICE success" | ||
48 | else | ||
49 | echo "FAIL: read or write spi flash device $MTD_BLOCK_DEVICE fail" | ||
50 | exit 1 | ||
51 | fi | ||
52 | fi | ||
53 | fi | ||
54 | |||
55 | echo "PASS: spi bus test passed" | ||
56 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/bsc9132qds/watchdog b/recipes-test/ddt-runner/files/scripts/bsc9132qds/watchdog new file mode 100755 index 0000000..2beb8a6 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/bsc9132qds/watchdog | |||
@@ -0,0 +1,64 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # This script is used to test watchdog functionality for bsc9132qds. | ||
4 | |||
5 | WATCHDOG=`which watchdog` | ||
6 | if [ "x$WATCHDOG" != "x" ]; then | ||
7 | echo "PASS: watchdog found" | ||
8 | else | ||
9 | echo "FAIL: watchdog not found" | ||
10 | exit 1 | ||
11 | fi | ||
12 | |||
13 | WATCHDOG_CONF=/etc/watchdog.conf | ||
14 | if [ -f $WATCHDOG_CONF ]; then | ||
15 | echo "PASS: watchdog config file found" | ||
16 | sed -i '23,23 s/#//' $WATCHDOG_CONF | ||
17 | else | ||
18 | echo "FAIL: watchdog config file not found" | ||
19 | exit 1 | ||
20 | fi | ||
21 | |||
22 | $WATCHDOG -v /dev/watchdog | ||
23 | watchdog_thread=`ps | grep -c 'watchdog -v /dev/watchdog'` | ||
24 | if [ $watchdog_thread -eq 2 ]; then | ||
25 | echo "PASS: Watchdog daemon started successfully" | ||
26 | else | ||
27 | echo "FAIL: Failed to start watchdog daemon" | ||
28 | exit 1 | ||
29 | fi | ||
30 | |||
31 | sleep 5s | ||
32 | |||
33 | killall watchdog | ||
34 | |||
35 | retry=0 | ||
36 | while [ $retry -lt 10 ] | ||
37 | do | ||
38 | watchdog_thread=`ps | grep -c 'watchdog -v /dev/watchdog'` | ||
39 | if [ $watchdog_thread -eq 1 ]; then | ||
40 | echo "PASS: Watchdog daemon stopped successfully" | ||
41 | break; | ||
42 | fi | ||
43 | sleep 1s | ||
44 | retry=`expr $retry + 1` | ||
45 | done | ||
46 | |||
47 | if [ $retry -eq 10 ]; then | ||
48 | echo "FAIL: Failed to stop watchdog daemon" | ||
49 | fi | ||
50 | |||
51 | found=0 | ||
52 | while read line | ||
53 | do | ||
54 | result=`echo $line | grep -c 'still alive after 1 interval'` | ||
55 | if [ $result -eq 1 ]; then | ||
56 | echo "PASS: Watchdog is still alive after 1 interval" | ||
57 | found=1 | ||
58 | fi | ||
59 | done < /var/log/messages | ||
60 | |||
61 | if [ $found -eq 0 ]; then | ||
62 | echo "FAIL: Watchdog is not alive after 1 interval" | ||
63 | fi | ||
64 | |||
diff --git a/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/ethernet b/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/ethernet new file mode 100755 index 0000000..de1d427 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/ethernet | |||
@@ -0,0 +1,88 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | ethernet_interface="eth0" | ||
4 | #sestord02 ip address | ||
5 | ethernet_ping_ipaddr="172.21.3.22" | ||
6 | ethernet_ipaddr=$1 | ||
7 | |||
8 | IFCONFIG=`which ifconfig` | ||
9 | |||
10 | $IFCONFIG $ethernet_interface up | ||
11 | $IFCONFIG | grep $ethernet_interface | ||
12 | if [ $? -ne 0 ]; then | ||
13 | echo "FAIL: $ethernet_interface is not up" | ||
14 | exit 1 | ||
15 | else | ||
16 | echo "PASS: $ethernet_interface is up" | ||
17 | fi | ||
18 | |||
19 | if [ "x$ethernet_ipaddr" != "x" ]; then | ||
20 | $IFCONFIG $ethernet_interface $ethernet_ipaddr | ||
21 | fi | ||
22 | |||
23 | $IFCONFIG $ethernet_interface |grep 'inet addr:' |sed -e 's@inet addr:@@' |sed q | awk '{print $1}' | ||
24 | if [ $? -ne 0 ]; then | ||
25 | echo "FAIL: ipaddr of $ethernet_interface setup failed" | ||
26 | exit 1 | ||
27 | else | ||
28 | echo "PASS: ipaddr of $ethernet_interface setup success" | ||
29 | fi | ||
30 | |||
31 | mindatasize=56 | ||
32 | maxdatasize=650 | ||
33 | stepsize=100 | ||
34 | iteration=1 | ||
35 | datasize=$mindatasize | ||
36 | logfile=`/bin/mktemp` | ||
37 | statistics=`/bin/mktemp` | ||
38 | error=0 | ||
39 | |||
40 | trap cleanup SIGHUP SIGINT SIGTERM | ||
41 | |||
42 | clean_tasks() { | ||
43 | echo "Executing clean up tasks" | ||
44 | rm -f $logfile $statistics | ||
45 | } | ||
46 | |||
47 | cleanup() { | ||
48 | echo "Aborting script execution" | ||
49 | clean_tasks | ||
50 | exit 0 | ||
51 | } | ||
52 | |||
53 | echo "start ping test for $ethernet_interface..." | ||
54 | |||
55 | while [ $datasize -le $maxdatasize ]; do | ||
56 | for i in `seq 1 $iteration`; do | ||
57 | ping -c 1 -s $datasize $ethernet_ping_ipaddr > $statistics | ||
58 | ping_err=`echo $?` | ||
59 | echo "" && cat $statistics | grep -r "PING" | ||
60 | cat $statistics | grep -r "received" | ||
61 | [ `echo $?` -eq 0 ] || packets_received=0 && \ | ||
62 | packets_received=`cat $statistics | \ | ||
63 | grep -r "received" | awk '{print$4}'` | ||
64 | |||
65 | # Evaluate possible errors on the ping operation | ||
66 | if [ $ping_err -ne 0 ] || [ $packets_received -eq 0 ]; then | ||
67 | error=1 | ||
68 | echo -e `cat $statistics | grep -r PING` >> $logfile | ||
69 | echo -e "Size: $datasize Iteration: $i\n" >> $logfile | ||
70 | fi | ||
71 | done | ||
72 | let datasize=$datasize+$stepsize | ||
73 | done | ||
74 | |||
75 | # Report failures | ||
76 | if [ $error -eq 1 ]; then | ||
77 | echo -e "=================== error report ===================\n" | ||
78 | cat $logfile | ||
79 | echo -e "====================================================\n" | ||
80 | clean_tasks | ||
81 | echo -e "FAIL: ping test for $ethernet_interface failed\n" | ||
82 | exit 1 | ||
83 | else | ||
84 | clean_tasks | ||
85 | echo -e "PASS: ping test for $ethernet_interface success\n" | ||
86 | fi | ||
87 | |||
88 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/flash b/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/flash new file mode 100755 index 0000000..e108168 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/flash | |||
@@ -0,0 +1,49 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # This script is used to test flash driver functionality. I removed the write | ||
4 | # operations since all partition are in use in p2041rdb and there might be | ||
5 | # possibility of corrupting data even if we backup in test script. | ||
6 | |||
7 | if part_num=`cat /proc/mtd | grep -c 'mtd'`; then | ||
8 | echo "PASS: show $part_num partitions" | ||
9 | else | ||
10 | echo "FAIL: show $part_num partitions" | ||
11 | exit 1 | ||
12 | fi | ||
13 | |||
14 | for((part=0; part<$part_num; part++)); | ||
15 | do | ||
16 | if [ $(mtd_debug info /dev/mtd$part | grep -c 'mtd.type') ]; then | ||
17 | echo "PASS: show partition $part debug info" | ||
18 | else | ||
19 | echo "FAIL: show partition $part debug info" | ||
20 | exit 1 | ||
21 | fi | ||
22 | done | ||
23 | |||
24 | READ_TEST=`find / -name mtd_readtest.ko -print` | ||
25 | |||
26 | if [ ! -e "$READ_TEST" ]; then | ||
27 | echo "FAIL: mtd_readtest.ko does not exist" | ||
28 | exit 1 | ||
29 | else | ||
30 | echo "PASS: mtd_readtest.ko exists" | ||
31 | fi | ||
32 | |||
33 | for((part=0; part<$part_num; part++)); | ||
34 | do | ||
35 | dmesg -c | ||
36 | |||
37 | insmod $READ_TEST dev=$part | ||
38 | |||
39 | finish=`dmesg | grep -c 'mtd_readtest: finished'` | ||
40 | if [ $finish -eq 1 ]; then | ||
41 | echo "PASS: read test $part" | ||
42 | else | ||
43 | echo "FAIL: read test $part" | ||
44 | rmmod $READ_TEST | ||
45 | exit 1 | ||
46 | fi | ||
47 | |||
48 | rmmod $READ_TEST | ||
49 | done | ||
diff --git a/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/i2c b/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/i2c new file mode 100755 index 0000000..3801e9e --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/i2c | |||
@@ -0,0 +1,42 @@ | |||
1 | #!/bin/sh | ||
2 | # This script is used to test i2c bus functionality for p2041rdb board. | ||
3 | |||
4 | if I2C_ADAPTERS=$(i2cdetect -l |wc -l); then | ||
5 | echo "PASS: found $I2C_ADAPTERS i2c adapters" | ||
6 | else | ||
7 | echo "FAIL: no i2c adapters found" | ||
8 | exit 1 | ||
9 | fi | ||
10 | |||
11 | if [ -z "$adapters" ]; then | ||
12 | adapters=0 | ||
13 | fi | ||
14 | |||
15 | while [ $adapters -lt $I2C_ADAPTERS ] | ||
16 | do | ||
17 | i2cdetect -y $adapters | ||
18 | if [ $? -ne 0 ]; then | ||
19 | echo "FAIL: detect i2c adapter $adapters failed" | ||
20 | else | ||
21 | echo "PASS: detect i2c adapter $adapters success" | ||
22 | fi | ||
23 | adapters=`expr $adapters + 1` | ||
24 | sleep 1 | ||
25 | done | ||
26 | |||
27 | i2cdetect -y 0 | ||
28 | if [ $? -ne 0 ]; then | ||
29 | echo "FAIL: detect i2c bus 0 fail" | ||
30 | exit 1 | ||
31 | else | ||
32 | echo "PASS: detect i2c bus 0 success" | ||
33 | fi | ||
34 | |||
35 | #i2c bus 0, device address 0x52, DDR3 DIMM Socket 1, SPD EEPROM | ||
36 | i2cdump -f -y 0 0x52 |grep UG51U6400N8SU | ||
37 | if [ $? -ne 0 ]; then | ||
38 | echo "FAIL: read SPD EEPROM on i2c bus 0 fail" | ||
39 | exit 1 | ||
40 | else | ||
41 | echo "PASS: read SPD EEPROM on i2c bus 0 success" | ||
42 | fi | ||
diff --git a/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/pci-express b/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/pci-express new file mode 100755 index 0000000..33189f9 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/pci-express | |||
@@ -0,0 +1,109 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | ethernet_interface="eth0" | ||
4 | #sestord02 ip address | ||
5 | ethernet_ping_ipaddr="172.21.3.22" | ||
6 | ethernet_ipaddr=$1 | ||
7 | |||
8 | #Intel Corporation 82574L Gigabit Network Card (intel e1000e) | ||
9 | vendor_id="8086" | ||
10 | product_id="10d3" | ||
11 | |||
12 | #find vendor id & product id | ||
13 | lspci -nn |grep $vendor_id:$product_id | ||
14 | if [ $? -ne 0 ]; then | ||
15 | echo "FAIL: pci-e ethernet card device does not exist" | ||
16 | exit 1 | ||
17 | else | ||
18 | echo "PASS: got pci-e ethernet card device" | ||
19 | fi | ||
20 | |||
21 | setpci -v -d $vendor_id:$product_id latency_timer=b0 | ||
22 | if [ $? -ne 0 ]; then | ||
23 | echo "FAIL: parameter changes to pci config space failed" | ||
24 | exit 1 | ||
25 | else | ||
26 | echo "PASS: parameter changes to pci config space success" | ||
27 | fi | ||
28 | |||
29 | IFCONFIG=`which ifconfig` | ||
30 | |||
31 | $IFCONFIG $ethernet_interface up | ||
32 | $IFCONFIG | grep $ethernet_interface | ||
33 | if [ $? -ne 0 ]; then | ||
34 | echo "FAIL: pci-e ethernet card device $ethernet_interface is not up" | ||
35 | exit 1 | ||
36 | else | ||
37 | echo "PASS: pci-e ethernet card device $ethernet_interface is up" | ||
38 | fi | ||
39 | |||
40 | if [ "x$ethernet_ipaddr" != "x" ]; then | ||
41 | $IFCONFIG $ethernet_interface $ethernet_ipaddr | ||
42 | fi | ||
43 | |||
44 | $IFCONFIG $ethernet_interface |grep 'inet addr:' |sed -e 's@inet addr:@@' |sed q | awk '{print $1}' | ||
45 | if [ $? -ne 0 ]; then | ||
46 | echo "FAIL: ipaddr of pci-e ethernet card device $ethernet_interface setup failed" | ||
47 | exit 1 | ||
48 | else | ||
49 | echo "PASS: ipaddr of pci-e ethernet card device $ethernet_interface setup success" | ||
50 | fi | ||
51 | |||
52 | mindatasize=56 | ||
53 | maxdatasize=650 | ||
54 | stepsize=100 | ||
55 | iteration=1 | ||
56 | datasize=$mindatasize | ||
57 | logfile=`/bin/mktemp` | ||
58 | statistics=`/bin/mktemp` | ||
59 | error=0 | ||
60 | |||
61 | trap cleanup SIGHUP SIGINT SIGTERM | ||
62 | |||
63 | clean_tasks() { | ||
64 | echo "Executing clean up tasks" | ||
65 | rm -f $logfile $statistics | ||
66 | } | ||
67 | |||
68 | cleanup() { | ||
69 | echo "Aborting script execution" | ||
70 | clean_tasks | ||
71 | exit 0 | ||
72 | } | ||
73 | |||
74 | echo "start ping test for pci-e ethernet card device $ethernet_interface..." | ||
75 | |||
76 | while [ $datasize -le $maxdatasize ]; do | ||
77 | for i in `seq 1 $iteration`; do | ||
78 | ping -c 1 -s $datasize $ethernet_ping_ipaddr > $statistics | ||
79 | ping_err=`echo $?` | ||
80 | echo "" && cat $statistics | grep -r "PING" | ||
81 | cat $statistics | grep -r "received" | ||
82 | [ `echo $?` -eq 0 ] || packets_received=0 && \ | ||
83 | packets_received=`cat $statistics | \ | ||
84 | grep -r "received" | awk '{print$4}'` | ||
85 | |||
86 | # Evaluate possible errors on the ping operation | ||
87 | if [ $ping_err -ne 0 ] || [ $packets_received -eq 0 ]; then | ||
88 | error=1 | ||
89 | echo -e `cat $statistics | grep -r PING` >> $logfile | ||
90 | echo -e "Size: $datasize Iteration: $i\n" >> $logfile | ||
91 | fi | ||
92 | done | ||
93 | let datasize=$datasize+$stepsize | ||
94 | done | ||
95 | |||
96 | # Report failures | ||
97 | if [ $error -eq 1 ]; then | ||
98 | echo -e "=================== error report ===================\n" | ||
99 | cat $logfile | ||
100 | echo -e "====================================================\n" | ||
101 | clean_tasks | ||
102 | echo -e "FAIL: ping test for pci-e ethernet card device $ethernet_interface failed\n" | ||
103 | exit 1 | ||
104 | else | ||
105 | clean_tasks | ||
106 | echo -e "PASS: ping test for pci-e ethernet card device $ethernet_interface success\n" | ||
107 | fi | ||
108 | |||
109 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/rtc b/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/rtc new file mode 100755 index 0000000..0d38293 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/rtc | |||
@@ -0,0 +1,42 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | RTC_DEVICE="/dev/rtc" | ||
4 | |||
5 | if [ ! -e $RTC_DEVICE ]; then | ||
6 | echo "FAIL: rtc device does not exist" | ||
7 | exit 1 | ||
8 | else | ||
9 | echo "PASS: rtc device exists" | ||
10 | fi | ||
11 | |||
12 | /sbin/hwclock -f $RTC_DEVICE | ||
13 | if [ $? -ne 0 ]; then | ||
14 | echo "FAIL: rtc device open failed" | ||
15 | exit 1 | ||
16 | else | ||
17 | echo "PASS: rtc device open success" | ||
18 | fi | ||
19 | |||
20 | |||
21 | /sbin/hwclock --systohc | ||
22 | if [ $? -ne 0 ]; then | ||
23 | echo "FAIL: sync system clock and hardware clock failed" | ||
24 | exit 1 | ||
25 | else | ||
26 | echo "PASS: sync system clock and hardware clock success" | ||
27 | fi | ||
28 | |||
29 | RTC_TIME=$(/sbin/hwclock -r |awk '{print $4}') | ||
30 | echo $RTC_TIME | ||
31 | SYS_TIME=$(date +%m/%d/%Y-%X |awk '{print $1}' |awk -F- '{print $2}') | ||
32 | echo $SYS_TIME | ||
33 | |||
34 | if [ "$RTC_TIME" = "$SYS_TIME" ] ; then | ||
35 | echo "PASS: system time same with hardware time" | ||
36 | else | ||
37 | echo "FAIL: system time different with hardware time" | ||
38 | exit 1 | ||
39 | fi | ||
40 | |||
41 | echo "PASS: rtc test successful" | ||
42 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/sata b/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/sata new file mode 100755 index 0000000..43a4932 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/sata | |||
@@ -0,0 +1,81 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | #This script is to test sata devices on target | ||
4 | # | ||
5 | result=0 | ||
6 | devpath="" | ||
7 | satainfo="" | ||
8 | SD=`ls -l /dev/sd[^0-9] | awk '{print $5 $6 "," $10}'` | ||
9 | if [ -z "$SD" ]; then | ||
10 | echo "FAIL: find sata device" | ||
11 | exit 1 | ||
12 | else | ||
13 | echo "PASS: find sata device" | ||
14 | fi | ||
15 | HDPARM=`which hdparm` | ||
16 | if [ -z $HDPARM ]; then | ||
17 | result=$? | ||
18 | echo "FAIL: find hdparm" | ||
19 | fi | ||
20 | echo "PASS: find hdparm" | ||
21 | |||
22 | |||
23 | for s in $SD | ||
24 | do | ||
25 | devpath=`echo "$s" | awk -F "," '{print "/sys/dev/block/" $1 ":" $2}'` | ||
26 | satainfo=`ls -l $devpath | grep sata` | ||
27 | |||
28 | if [ -z "$satainfo" ] ; then | ||
29 | continue | ||
30 | fi | ||
31 | s=`echo "$s" | awk -F "," '{print $3}'` | ||
32 | |||
33 | echo "testing $s" | ||
34 | $HDPARM -I $s | ||
35 | if [ $? -ne 0 ]; then | ||
36 | result=$? | ||
37 | echo "FAIL: $HDPARM -I $s Detailed/current information directly from $s" | ||
38 | else | ||
39 | echo "PASS: $HDPARM -I $s Detailed/current information directly from $s" | ||
40 | fi | ||
41 | $HDPARM -tT $s | ||
42 | if [ $? -ne 0 ]; then | ||
43 | result=$? | ||
44 | echo "FAIL: $HDPARM -tT $s Perform device/cache read timings on $s" | ||
45 | else | ||
46 | echo "PASS: $HDPARM -tT $s Perform device/cache read timings on $s" | ||
47 | fi | ||
48 | |||
49 | |||
50 | mkdir -p /mnt/sata_tmp | ||
51 | for partition in `ls "$s"[1-9]` | ||
52 | do | ||
53 | mount "$partition" /mnt/sata_tmp | ||
54 | if [ $? -ne 0 ]; then | ||
55 | result=$? | ||
56 | echo "FAIL: Mount $s" | ||
57 | else | ||
58 | echo "PASS: Mount $s" | ||
59 | dd if=/dev/urandom of=/mnt/sata_tmp/writefile bs=1M count=50 | ||
60 | if [ $? -ne 0 ]; then | ||
61 | result=$? | ||
62 | echo "FAIL: write test on $s" | ||
63 | else | ||
64 | echo "PASS: write test on $s" | ||
65 | rm -f /mnt/sata_tmp/writefile | ||
66 | fi | ||
67 | dd if=$s of=/mnt/sata_tmp/readfile bs=1M count=10 | ||
68 | if [ $? -ne 0 ]; then | ||
69 | result=$? | ||
70 | echo "FAIL: read test on $s" | ||
71 | else | ||
72 | echo "PASS: read test on $s" | ||
73 | rm -f /mnt/sata_tmp/readfile | ||
74 | fi | ||
75 | umount /mnt/sata_tmp | ||
76 | fi | ||
77 | done | ||
78 | |||
79 | rm -fr /mnt/sata_tmp | ||
80 | done | ||
81 | exit $result | ||
diff --git a/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/sdhc b/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/sdhc new file mode 100755 index 0000000..b1bdab2 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/sdhc | |||
@@ -0,0 +1,40 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | #the content of SD will be lost by running this test case. | ||
4 | |||
5 | SDHC_DEVICE="/dev/mmcblk0p1" | ||
6 | |||
7 | if [ ! -e $SDHC_DEVICE ]; then | ||
8 | echo "FAIL: $SDHC_DEVICE does not exist" | ||
9 | exit 1 | ||
10 | else | ||
11 | echo "PASS: $SDHC_DEVICE device exists" | ||
12 | fi | ||
13 | |||
14 | mount |grep mmcblk0p1 | ||
15 | if [ $? -eq 0 ]; then | ||
16 | umount $SDHC_DEVICE | ||
17 | fi | ||
18 | |||
19 | /sbin/mkfs.ext2 $SDHC_DEVICE | ||
20 | if [ $? -ne 0 ]; then | ||
21 | echo "FAIL: format $SDHC_DEVICE fail" | ||
22 | exit 1 | ||
23 | else | ||
24 | mkdir -p /mnt/sdhc | ||
25 | mount $SDHC_DEVICE /mnt/sdhc | ||
26 | if [ $? -ne 0 ]; then | ||
27 | echo "FAIL: mount $SDHC_DEVICE fail" | ||
28 | exit 1 | ||
29 | else | ||
30 | cp /bin/busybox /mnt/sdhc | ||
31 | ls /mnt/sdhc |grep busybox | ||
32 | if [ $? -ne 0 ]; then | ||
33 | echo "FAIL: read or write $SDHC_DEVICE fail" | ||
34 | exit 1 | ||
35 | else | ||
36 | umount $SDHC_DEVICE | ||
37 | echo "PASS: read or write $SDHC_DEVICE success" | ||
38 | fi | ||
39 | fi | ||
40 | fi | ||
diff --git a/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/spi b/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/spi new file mode 100755 index 0000000..a601517 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/spi | |||
@@ -0,0 +1,48 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | #An spi flash M25P80 connect to b4860qds-64b cpu by spi bus, so the method | ||
4 | #is to read/write spi flash to verify whether the spi bus driver worked | ||
5 | #or not. | ||
6 | |||
7 | MTD_CHAR_DEVICE="/dev/mtd2" | ||
8 | MTD_BLOCK_DEVICE="/dev/mtdblock2" | ||
9 | |||
10 | if [ ! -e $MTD_CHAR_DEVICE ]; then | ||
11 | echo "FAIL: spi flash device $MTD_CHAR_DEVICE does not exist" | ||
12 | exit 1 | ||
13 | else | ||
14 | echo "PASS: spi flash device $MTD_CHAR_DEVICE exists" | ||
15 | fi | ||
16 | |||
17 | if [ ! -e $MTD_BLOCK_DEVICE ]; then | ||
18 | echo "FAIL: spi flash device $MTD_BLOCK_DEVICE does not exist" | ||
19 | exit 1 | ||
20 | else | ||
21 | echo "PASS: spi flash device $MTD_BLOCK_DEVICE exists" | ||
22 | fi | ||
23 | |||
24 | /usr/sbin/flash_erase -j $MTD_CHAR_DEVICE 0 0 | ||
25 | if [ $? -ne 0 ]; then | ||
26 | echo "FAIL: format spi flash device $MTD_BLOCK_DEVICE fail" | ||
27 | exit 1 | ||
28 | else | ||
29 | mkdir -p /mnt/spi | ||
30 | mount -t jffs2 $MTD_BLOCK_DEVICE /mnt/spi | ||
31 | if [ $? -ne 0 ]; then | ||
32 | echo "FAIL: mount spi flash device $MTD_BLOCK_DEVICE fail" | ||
33 | exit 1 | ||
34 | else | ||
35 | cp /bin/busybox /mnt/spi | ||
36 | ls /mnt/spi |grep busybox | ||
37 | if [ $? -ne 0 ]; then | ||
38 | echo "FAIL: read or write spi flash device $MTD_BLOCK_DEVICE fail" | ||
39 | exit 1 | ||
40 | else | ||
41 | umount $MTD_BLOCK_DEVICE | ||
42 | echo "PASS: read or write spi flash device $MTD_BLOCK_DEVICE success" | ||
43 | fi | ||
44 | fi | ||
45 | fi | ||
46 | |||
47 | echo "PASS: spi bus test passed" | ||
48 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/usb b/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/usb new file mode 100755 index 0000000..017287f --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/usb | |||
@@ -0,0 +1,48 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | #This script is to test usb devices on p2041rdb target | ||
4 | # | ||
5 | |||
6 | USB_DISK=`ls /dev/sd*[1-9] | sort | tail -n 1` | ||
7 | |||
8 | usbutils_is_installed=`which lsusb` | ||
9 | if [ -z $usbutils_is_installed ]; then | ||
10 | echo "FAIL: Cannot find lsusb" | ||
11 | exit 1 | ||
12 | else | ||
13 | echo "PASS: usbutils found" | ||
14 | fi | ||
15 | |||
16 | usbdev_num=`lsusb | grep -v root\ hub | wc -l` | ||
17 | if [ $usbdev_num -eq 0 ]; then | ||
18 | echo "FAIL: USB device is not connected" | ||
19 | exit 1 | ||
20 | else | ||
21 | echo "PASS: $usbdev_num USB device(s) connected" | ||
22 | fi | ||
23 | |||
24 | lsusb | grep -v root\ hub | ||
25 | mkdir -p /mnt/usb_ehci | ||
26 | mount $USB_DISK /mnt/usb_ehci | ||
27 | if [ $? -ne 0 ]; then | ||
28 | echo "FAIL: Mount USB device failed" | ||
29 | exit 1 | ||
30 | else | ||
31 | echo "PASS: Mount USB device succeed" | ||
32 | fi | ||
33 | |||
34 | echo "Begin test usb device..." | ||
35 | dd if=/dev/urandom of=/mnt/usb_ehci/testfile bs=1M count=50 | ||
36 | if [ $? -ne 0 ]; then | ||
37 | echo "FAIL: test failed" | ||
38 | rm -f /mnt/usb_ehci_testfile | ||
39 | umount /mnt/usb_ehci | ||
40 | rm -fr /mnt/usb_ehci | ||
41 | exit 1 | ||
42 | fi | ||
43 | |||
44 | echo "PASS: test succeed" | ||
45 | rm -f /mnt/usb_ehci_testfile | ||
46 | umount /mnt/usb_ehci | ||
47 | rm -fr /mnt/usb_ehci | ||
48 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/watchdog b/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/watchdog new file mode 100755 index 0000000..165bc12 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/imx6qsabrelite/watchdog | |||
@@ -0,0 +1,63 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # This script is used to test watchdog functionality for bsc9131rdb. | ||
4 | |||
5 | WATCHDOG=`which watchdog` | ||
6 | if [ "x$WATCHDOG" != "x" ]; then | ||
7 | echo "PASS: watchdog found" | ||
8 | else | ||
9 | echo "FAIL: watchdog not found" | ||
10 | exit 1 | ||
11 | fi | ||
12 | |||
13 | WATCHDOG_CONF=/etc/watchdog.conf | ||
14 | if [ -f $WATCHDOG_CONF ]; then | ||
15 | echo "PASS: watchdog config file found" | ||
16 | sed -i '23,23 s/#//' $WATCHDOG_CONF | ||
17 | else | ||
18 | echo "FAIL: watchdog config file not found" | ||
19 | exit 1 | ||
20 | fi | ||
21 | |||
22 | $WATCHDOG -v /dev/watchdog | ||
23 | watchdog_thread=`ps | grep -c 'watchdog -v /dev/watchdog'` | ||
24 | if [ $watchdog_thread -eq 2 ]; then | ||
25 | echo "PASS: Watchdog daemon started successfully" | ||
26 | else | ||
27 | echo "FAIL: Failed to start watchdog daemon" | ||
28 | exit 1 | ||
29 | fi | ||
30 | |||
31 | sleep 5s | ||
32 | |||
33 | killall watchdog | ||
34 | |||
35 | retry=0 | ||
36 | while [ $retry -lt 10 ] | ||
37 | do | ||
38 | watchdog_thread=`ps | grep -c 'watchdog -v /dev/watchdog'` | ||
39 | if [ $watchdog_thread -eq 1 ]; then | ||
40 | echo "PASS: Watchdog daemon stopped successfully" | ||
41 | break; | ||
42 | fi | ||
43 | sleep 1s | ||
44 | retry=`expr $retry + 1` | ||
45 | done | ||
46 | |||
47 | if [ $retry -eq 10 ]; then | ||
48 | echo "FAIL: Failed to stop watchdog daemon" | ||
49 | fi | ||
50 | |||
51 | found=0 | ||
52 | while read line | ||
53 | do | ||
54 | result=`echo $line | grep -c 'still alive after 1 interval'` | ||
55 | if [ $result -eq 1 ]; then | ||
56 | echo "PASS: Watchdog is still alive after 1 interval" | ||
57 | found=1 | ||
58 | fi | ||
59 | done < /var/log/messages | ||
60 | |||
61 | if [ $found -eq 0 ]; then | ||
62 | echo "FAIL: Watchdog is not alive after 1 interval" | ||
63 | fi | ||
diff --git a/recipes-test/ddt-runner/files/scripts/k2hk-evm/ethernet b/recipes-test/ddt-runner/files/scripts/k2hk-evm/ethernet new file mode 100755 index 0000000..08296e5 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/k2hk-evm/ethernet | |||
@@ -0,0 +1,88 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | ethernet_interface="eth1" | ||
4 | #sestord02 ip address | ||
5 | ethernet_ping_ipaddr="172.21.3.22" | ||
6 | ethernet_ipaddr=$1 | ||
7 | |||
8 | IFCONFIG=`which ifconfig` | ||
9 | |||
10 | $IFCONFIG $ethernet_interface up | ||
11 | $IFCONFIG | grep $ethernet_interface | ||
12 | if [ $? -ne 0 ]; then | ||
13 | echo "FAIL: $ethernet_interface is not up" | ||
14 | exit 1 | ||
15 | else | ||
16 | echo "PASS: $ethernet_interface is up" | ||
17 | fi | ||
18 | |||
19 | if [ "x$ethernet_ipaddr" != "x" ]; then | ||
20 | $IFCONFIG $ethernet_interface $ethernet_ipaddr | ||
21 | fi | ||
22 | |||
23 | $IFCONFIG $ethernet_interface |grep 'inet addr:' |sed -e 's@inet addr:@@' |sed q | awk '{print $1}' | ||
24 | if [ $? -ne 0 ]; then | ||
25 | echo "FAIL: ipaddr of $ethernet_interface setup failed" | ||
26 | exit 1 | ||
27 | else | ||
28 | echo "PASS: ipaddr of $ethernet_interface setup success" | ||
29 | fi | ||
30 | |||
31 | mindatasize=56 | ||
32 | maxdatasize=650 | ||
33 | stepsize=100 | ||
34 | iteration=1 | ||
35 | datasize=$mindatasize | ||
36 | logfile=`/bin/mktemp` | ||
37 | statistics=`/bin/mktemp` | ||
38 | error=0 | ||
39 | |||
40 | trap cleanup SIGHUP SIGINT SIGTERM | ||
41 | |||
42 | clean_tasks() { | ||
43 | echo "Executing clean up tasks" | ||
44 | rm -f $logfile $statistics | ||
45 | } | ||
46 | |||
47 | cleanup() { | ||
48 | echo "Aborting script execution" | ||
49 | clean_tasks | ||
50 | exit 0 | ||
51 | } | ||
52 | |||
53 | echo "start ping test for $ethernet_interface..." | ||
54 | |||
55 | while [ $datasize -le $maxdatasize ]; do | ||
56 | for i in `seq 1 $iteration`; do | ||
57 | ping -c 1 -s $datasize $ethernet_ping_ipaddr > $statistics | ||
58 | ping_err=`echo $?` | ||
59 | echo "" && cat $statistics | grep -r "PING" | ||
60 | cat $statistics | grep -r "received" | ||
61 | [ `echo $?` -eq 0 ] || packets_received=0 && \ | ||
62 | packets_received=`cat $statistics | \ | ||
63 | grep -r "received" | awk '{print$4}'` | ||
64 | |||
65 | # Evaluate possible errors on the ping operation | ||
66 | if [ $ping_err -ne 0 ] || [ $packets_received -eq 0 ]; then | ||
67 | error=1 | ||
68 | echo -e `cat $statistics | grep -r PING` >> $logfile | ||
69 | echo -e "Size: $datasize Iteration: $i\n" >> $logfile | ||
70 | fi | ||
71 | done | ||
72 | let datasize=$datasize+$stepsize | ||
73 | done | ||
74 | |||
75 | # Report failures | ||
76 | if [ $error -eq 1 ]; then | ||
77 | echo -e "=================== error report ===================\n" | ||
78 | cat $logfile | ||
79 | echo -e "====================================================\n" | ||
80 | clean_tasks | ||
81 | echo -e "FAIL: ping test for $ethernet_interface failed\n" | ||
82 | exit 1 | ||
83 | else | ||
84 | clean_tasks | ||
85 | echo -e "PASS: ping test for $ethernet_interface success\n" | ||
86 | fi | ||
87 | |||
88 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/k2hk-evm/flash b/recipes-test/ddt-runner/files/scripts/k2hk-evm/flash new file mode 100755 index 0000000..2bc0513 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/k2hk-evm/flash | |||
@@ -0,0 +1,49 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # This script is used to test flash driver functionality. I removed the write | ||
4 | # operations since all partition are in use in k2hk-evm and there might be | ||
5 | # possibility of corrupting data even if we backup in test script. | ||
6 | |||
7 | if part_num=`cat /proc/mtd | grep -c 'mtd'`; then | ||
8 | echo "PASS: show $part_num partitions" | ||
9 | else | ||
10 | echo "FAIL: show $part_num partitions" | ||
11 | exit 1 | ||
12 | fi | ||
13 | |||
14 | for((part=0; part<$part_num; part++)); | ||
15 | do | ||
16 | if [ $(mtd_debug info /dev/mtd$part | grep -c 'mtd.type') ]; then | ||
17 | echo "PASS: show partition $part debug info" | ||
18 | else | ||
19 | echo "FAIL: show partition $part debug info" | ||
20 | exit 1 | ||
21 | fi | ||
22 | done | ||
23 | |||
24 | READ_TEST=`find / -name mtd_readtest.ko -print` | ||
25 | |||
26 | if [ ! -e $READ_TEST ]; then | ||
27 | echo "FAIL: $READ_TEST does not exist" | ||
28 | exit 1 | ||
29 | else | ||
30 | echo "PASS: $READ_TEST exists" | ||
31 | fi | ||
32 | |||
33 | for((part=0; part<$part_num; part++)); | ||
34 | do | ||
35 | dmesg -c | ||
36 | |||
37 | insmod $READ_TEST dev=$part | ||
38 | |||
39 | finish=`dmesg | grep -c 'mtd_readtest: finished'` | ||
40 | if [ $finish -eq 1 ]; then | ||
41 | echo "PASS: read test $part" | ||
42 | else | ||
43 | echo "FAIL: read test $part" | ||
44 | rmmod $READ_TEST | ||
45 | exit 1 | ||
46 | fi | ||
47 | |||
48 | rmmod $READ_TEST | ||
49 | done | ||
diff --git a/recipes-test/ddt-runner/files/scripts/k2hk-evm/i2c b/recipes-test/ddt-runner/files/scripts/k2hk-evm/i2c new file mode 100755 index 0000000..03af421 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/k2hk-evm/i2c | |||
@@ -0,0 +1,42 @@ | |||
1 | #!/bin/sh | ||
2 | # This script is used to test i2c bus functionality for k2hk-evm board. | ||
3 | |||
4 | if I2C_ADAPTERS=$(i2cdetect -l |wc -l); then | ||
5 | echo "PASS: found $I2C_ADAPTERS i2c adapters" | ||
6 | else | ||
7 | echo "FAIL: no i2c adapters found" | ||
8 | exit 1 | ||
9 | fi | ||
10 | |||
11 | if [ -z "$adapters" ]; then | ||
12 | adapters=0 | ||
13 | fi | ||
14 | |||
15 | while [ $adapters -lt $I2C_ADAPTERS ] | ||
16 | do | ||
17 | i2cdetect -y $adapters | ||
18 | if [ $? -ne 0 ]; then | ||
19 | echo "FAIL: detect i2c adapter $adapters failed" | ||
20 | else | ||
21 | echo "PASS: detect i2c adapter $adapters success" | ||
22 | fi | ||
23 | adapters=`expr $adapters + 1` | ||
24 | sleep 1 | ||
25 | done | ||
26 | |||
27 | i2cdetect -y 0 | ||
28 | if [ $? -ne 0 ]; then | ||
29 | echo "FAIL: detect i2c bus 0 fail" | ||
30 | exit 1 | ||
31 | else | ||
32 | echo "PASS: detect i2c bus 0 success" | ||
33 | fi | ||
34 | |||
35 | #i2c bus 0, device address 0x52, DDR3 DIMM Socket 1, SPD EEPROM | ||
36 | i2cdump -f -y 0 0x52 |grep UG51U6400N8SU | ||
37 | if [ $? -ne 0 ]; then | ||
38 | echo "FAIL: read SPD EEPROM on i2c bus 0 fail" | ||
39 | exit 1 | ||
40 | else | ||
41 | echo "PASS: read SPD EEPROM on i2c bus 0 success" | ||
42 | fi | ||
diff --git a/recipes-test/ddt-runner/files/scripts/k2hk-evm/spi b/recipes-test/ddt-runner/files/scripts/k2hk-evm/spi new file mode 100755 index 0000000..a2bb9c7 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/k2hk-evm/spi | |||
@@ -0,0 +1,48 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | #An spi flash M25P80 connect to k2hk-evm cpu by spi bus, so the method | ||
4 | #is to read/write spi flash to verify whether the spi bus driver worked | ||
5 | #or not. | ||
6 | |||
7 | MTD_CHAR_DEVICE="/dev/mtd4" | ||
8 | MTD_BLOCK_DEVICE="/dev/mtdblock4" | ||
9 | |||
10 | if [ ! -e $MTD_CHAR_DEVICE ]; then | ||
11 | echo "FAIL: spi flash device $MTD_CHAR_DEVICE does not exist" | ||
12 | exit 1 | ||
13 | else | ||
14 | echo "PASS: spi flash device $MTD_CHAR_DEVICE exists" | ||
15 | fi | ||
16 | |||
17 | if [ ! -e $MTD_BLOCK_DEVICE ]; then | ||
18 | echo "FAIL: spi flash device $MTD_BLOCK_DEVICE does not exist" | ||
19 | exit 1 | ||
20 | else | ||
21 | echo "PASS: spi flash device $MTD_BLOCK_DEVICE exists" | ||
22 | fi | ||
23 | |||
24 | /usr/sbin/flash_erase -j $MTD_CHAR_DEVICE 0 0 | ||
25 | if [ $? -ne 0 ]; then | ||
26 | echo "FAIL: format spi flash device $MTD_BLOCK_DEVICE fail" | ||
27 | exit 1 | ||
28 | else | ||
29 | mkdir -p /mnt/spi | ||
30 | mount -t jffs2 $MTD_BLOCK_DEVICE /mnt/spi | ||
31 | if [ $? -ne 0 ]; then | ||
32 | echo "FAIL: mount spi flash device $MTD_BLOCK_DEVICE fail" | ||
33 | exit 1 | ||
34 | else | ||
35 | cp /bin/busybox /mnt/spi | ||
36 | ls /mnt/spi |grep busybox | ||
37 | if [ $? -ne 0 ]; then | ||
38 | echo "FAIL: read or write spi flash device $MTD_BLOCK_DEVICE fail" | ||
39 | exit 1 | ||
40 | else | ||
41 | umount $MTD_BLOCK_DEVICE | ||
42 | echo "PASS: read or write spi flash device $MTD_BLOCK_DEVICE success" | ||
43 | fi | ||
44 | fi | ||
45 | fi | ||
46 | |||
47 | echo "PASS: spi bus test passed" | ||
48 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p2020rdb/ethernet b/recipes-test/ddt-runner/files/scripts/p2020rdb/ethernet new file mode 100755 index 0000000..5355f10 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p2020rdb/ethernet | |||
@@ -0,0 +1,88 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | ethernet_interface="eth1" | ||
4 | ethernet_ping_ipaddr="172.21.3.22" | ||
5 | ethernet_ipaddr=$1 | ||
6 | |||
7 | IFCONFIG=`which ifconfig` | ||
8 | |||
9 | $IFCONFIG $ethernet_interface up | ||
10 | $IFCONFIG | grep $ethernet_interface | ||
11 | if [ $? -ne 0 ]; then | ||
12 | echo "FAIL: $ethernet_interface is not up" | ||
13 | exit 1 | ||
14 | else | ||
15 | echo "PASS: $ethernet_interface is up" | ||
16 | fi | ||
17 | |||
18 | if [ "x$ethernet_ipaddr" != "x" ]; then | ||
19 | $IFCONFIG $ethernet_interface $ethernet_ipaddr | ||
20 | fi | ||
21 | |||
22 | $IFCONFIG $ethernet_interface |grep 'inet addr:' |sed -e 's@inet addr:@@' |sed q | awk '{print $1}' | ||
23 | if [ $? -ne 0 ]; then | ||
24 | echo "FAIL: ipaddr of $ethernet_interface setup failed" | ||
25 | exit 1 | ||
26 | else | ||
27 | echo "PASS: ipaddr of $ethernet_interface setup success" | ||
28 | fi | ||
29 | |||
30 | mindatasize=56 | ||
31 | maxdatasize=650 | ||
32 | stepsize=100 | ||
33 | iteration=1 | ||
34 | datasize=$mindatasize | ||
35 | logfile=`/bin/mktemp` | ||
36 | statistics=`/bin/mktemp` | ||
37 | error=0 | ||
38 | |||
39 | trap cleanup SIGHUP SIGINT SIGTERM | ||
40 | |||
41 | clean_tasks() { | ||
42 | echo "Executing clean up tasks" | ||
43 | rm -f $logfile $statistics | ||
44 | } | ||
45 | |||
46 | cleanup() { | ||
47 | echo "Aborting script execution" | ||
48 | clean_tasks | ||
49 | exit 0 | ||
50 | } | ||
51 | |||
52 | echo "start ping test for $ethernet_interface..." | ||
53 | |||
54 | while [ $datasize -le $maxdatasize ]; do | ||
55 | for i in `seq 1 $iteration`; do | ||
56 | ping -c 1 -s $datasize $ethernet_ping_ipaddr > $statistics | ||
57 | ping_err=`echo $?` | ||
58 | echo "" && cat $statistics | grep -r "PING" | ||
59 | cat $statistics | grep -r "received" | ||
60 | [ `echo $?` -eq 0 ] || packets_received=0 && \ | ||
61 | packets_received=`cat $statistics | \ | ||
62 | grep -r "received" | awk '{print$4}'` | ||
63 | |||
64 | # Evaluate possible errors on the ping operation | ||
65 | if [ $ping_err -ne 0 ] || [ $packets_received -eq 0 ]; then | ||
66 | error=1 | ||
67 | echo -e `cat $statistics | grep -r PING` >> $logfile | ||
68 | echo -e "Size: $datasize Iteration: $i\n" >> $logfile | ||
69 | fi | ||
70 | done | ||
71 | let datasize=$datasize+$stepsize | ||
72 | done | ||
73 | |||
74 | # Report failures | ||
75 | if [ $error -eq 1 ]; then | ||
76 | echo -e "=================== error report ===================\n" | ||
77 | cat $logfile | ||
78 | echo -e "====================================================\n" | ||
79 | clean_tasks | ||
80 | echo -e "FAIL: ping test for $ethernet_interface failed\n" | ||
81 | exit 1 | ||
82 | else | ||
83 | clean_tasks | ||
84 | echo -e "PASS: ping test for $ethernet_interface success\n" | ||
85 | fi | ||
86 | |||
87 | echo "PASS: $ethernet_interface test passed" | ||
88 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p2020rdb/flash b/recipes-test/ddt-runner/files/scripts/p2020rdb/flash new file mode 100755 index 0000000..302e328 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p2020rdb/flash | |||
@@ -0,0 +1,20 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # This script is used to test flash driver functionality. I removed the write | ||
4 | # operations since all partition are in use in p2020rdb and there might be | ||
5 | # possibility of corrupting data even if we backup in test script. | ||
6 | |||
7 | if part_num=`cat /proc/mtd | grep -c 'mtd'`; then | ||
8 | echo "PASS: show $part_num partitions" | ||
9 | else | ||
10 | echo "FAIL: show $part_num partitions" | ||
11 | fi | ||
12 | |||
13 | for((part=0; part<$part_num-1; part++)); | ||
14 | do | ||
15 | if [ $(mtd_debug info /dev/mtd$part | grep -c 'mtd.type') ]; then | ||
16 | echo "PASS: show partition $part debug info" | ||
17 | else | ||
18 | echo "FAIL: show partition $part debug info" | ||
19 | fi | ||
20 | done | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p2020rdb/i2c b/recipes-test/ddt-runner/files/scripts/p2020rdb/i2c new file mode 100755 index 0000000..5b312b9 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p2020rdb/i2c | |||
@@ -0,0 +1,24 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | if I2C_ADAPTERS=$(i2cdetect -l |wc -l); then | ||
4 | echo "PASS: found $I2C_ADAPTERS i2c adapters" | ||
5 | else | ||
6 | echo "FAIL: no i2c adapters found" | ||
7 | exit 1 | ||
8 | fi | ||
9 | |||
10 | if [ -z "$adapters" ]; then | ||
11 | adapters=0 | ||
12 | fi | ||
13 | |||
14 | while [ $adapters -lt $I2C_ADAPTERS ] | ||
15 | do | ||
16 | i2cdetect -y $adapters | ||
17 | if [ $? -ne 0 ]; then | ||
18 | echo "FAIL: detect i2c adapter $adapters failed" | ||
19 | else | ||
20 | echo "PASS: detect i2c adapter $adapters success" | ||
21 | fi | ||
22 | adapters=`expr $adapters + 1` | ||
23 | sleep 1 | ||
24 | done | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p2020rdb/spi b/recipes-test/ddt-runner/files/scripts/p2020rdb/spi new file mode 100755 index 0000000..fc673ad --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p2020rdb/spi | |||
@@ -0,0 +1,48 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | #An spi flash M25P80 connect to p2020 cpu by spi bus, so the method | ||
4 | #is to read/write spi flash to verify whether the spi bus driver worked | ||
5 | #or not. | ||
6 | |||
7 | MTD_CHAR_DEVICE="/dev/mtd4" | ||
8 | MTD_BLOCK_DEVICE="/dev/mtdblock4" | ||
9 | |||
10 | if [ ! -e $MTD_CHAR_DEVICE ]; then | ||
11 | echo "FAIL: spi flash device $MTD_CHAR_DEVICE does not exist" | ||
12 | exit 1 | ||
13 | else | ||
14 | echo "PASS: spi flash device $MTD_CHAR_DEVICE exists" | ||
15 | fi | ||
16 | |||
17 | if [ ! -e $MTD_BLOCK_DEVICE ]; then | ||
18 | echo "FAIL: spi flash device $MTD_BLOCK_DEVICE does not exist" | ||
19 | exit 1 | ||
20 | else | ||
21 | echo "PASS: spi flash device $MTD_BLOCK_DEVICE exists" | ||
22 | fi | ||
23 | |||
24 | /usr/sbin/flash_erase -j $MTD_CHAR_DEVICE 0 0 | ||
25 | if [ $? -ne 0 ]; then | ||
26 | echo "FAIL: format spi flash device $MTD_BLOCK_DEVICE fail" | ||
27 | exit 1 | ||
28 | else | ||
29 | mkdir -p /mnt/spi | ||
30 | mount -t jffs2 $MTD_BLOCK_DEVICE /mnt/spi | ||
31 | if [ $? -ne 0 ]; then | ||
32 | echo "FAIL: mount spi flash device $MTD_BLOCK_DEVICE fail" | ||
33 | exit 1 | ||
34 | else | ||
35 | cp /bin/busybox /mnt/spi | ||
36 | ls /mnt/spi |grep busybox | ||
37 | if [ $? -ne 0 ]; then | ||
38 | echo "FAIL: read or write spi flash device $MTD_BLOCK_DEVICE fail" | ||
39 | exit 1 | ||
40 | else | ||
41 | umount $MTD_BLOCK_DEVICE | ||
42 | echo "PASS: read or write spi flash device $MTD_BLOCK_DEVICE success" | ||
43 | fi | ||
44 | fi | ||
45 | fi | ||
46 | |||
47 | echo "PASS: spi bus test passed" | ||
48 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p2020rdb/usb b/recipes-test/ddt-runner/files/scripts/p2020rdb/usb new file mode 100755 index 0000000..970e913 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p2020rdb/usb | |||
@@ -0,0 +1,100 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # This script is used to test usb functionality for p4080ds. | ||
4 | # | ||
5 | |||
6 | result=0 | ||
7 | devpath="" | ||
8 | usbinfo="" | ||
9 | |||
10 | usbutils_is_installed=`which lsusb` | ||
11 | if [ -z $usbutils_is_installed ]; then | ||
12 | echo "FAIL: Cannot find lsusb" | ||
13 | exit 1 | ||
14 | fi | ||
15 | |||
16 | usbdev_num=`lsusb | grep -v root\ hub | wc -l` | ||
17 | if [ $usbdev_num -eq 0 ]; then | ||
18 | echo "FAIL: USB device is not connected" | ||
19 | exit 1 | ||
20 | else | ||
21 | echo "$usbdev_num USB device(s) connected" | ||
22 | fi | ||
23 | |||
24 | sd=`ls -l /dev/sd[^0-9] | awk '{print $5 $6 "," $10}'` | ||
25 | if [ -z "$sd" ]; then | ||
26 | echo "FAIL: find sd device" | ||
27 | exit 1 | ||
28 | else | ||
29 | echo "PASS: find sd device" | ||
30 | fi | ||
31 | |||
32 | HDPARM=`which hdparm` | ||
33 | if [ -z $HDPARM ]; then | ||
34 | result=$? | ||
35 | echo "FAIL: find hdparm" | ||
36 | fi | ||
37 | echo "PASS: find hdparm" | ||
38 | |||
39 | for s in $sd | ||
40 | do | ||
41 | devpath=`echo "$s" | awk -F "," '{print "/sys/dev/block/" $1 ":" $2}'` | ||
42 | usbinfo=`ls -l $devpath | grep usb` | ||
43 | |||
44 | if [ -z "$usbinfo" ] ; then | ||
45 | continue | ||
46 | fi | ||
47 | |||
48 | s=`echo "$s" | awk -F "," '{print $3}'` | ||
49 | |||
50 | echo "Testing $s" | ||
51 | $HDPARM -I $s | ||
52 | if [ $? -ne 0 ]; then | ||
53 | result=$? | ||
54 | echo "FAIL: $HDPARM -I $s Detailed/current information directly from $s" | ||
55 | else | ||
56 | echo "PASS: $HDPARM -I $s Detailed/current information directly from $s" | ||
57 | fi | ||
58 | |||
59 | $HDPARM -tT $s | ||
60 | if [ $? -ne 0 ]; then | ||
61 | result=$? | ||
62 | echo "FAIL: $HDPARM -tT $s Perform device/cache read timings on $s" | ||
63 | else | ||
64 | echo "PASS: $HDPARM -tT $s Perform device/cache read timings on $s" | ||
65 | fi | ||
66 | |||
67 | mkdir -p /mnt/usb_tmp | ||
68 | for partition in `ls "$s"[1-9]` | ||
69 | do | ||
70 | echo "Testing $partition" | ||
71 | |||
72 | mount "$partition" /mnt/usb_tmp | ||
73 | if [ $? -ne 0 ]; then | ||
74 | result=$? | ||
75 | echo "FAIL: mount $s" | ||
76 | else | ||
77 | echo "PASS: mount $s" | ||
78 | dd if=/dev/urandom of=/mnt/usb_tmp/writefile bs=1M count=50 | ||
79 | if [ $? -ne 0 ]; then | ||
80 | result=$? | ||
81 | echo "FAIL: write test on $s" | ||
82 | else | ||
83 | echo "PASS: write test on $s" | ||
84 | rm -f /mnt/usb_tmp/writefile | ||
85 | fi | ||
86 | dd if=$s of=/mnt/usb_tmp/readfile bs=1M count=10 | ||
87 | if [ $? -ne 0 ]; then | ||
88 | result=$? | ||
89 | echo "FAIL: read test on $s" | ||
90 | else | ||
91 | echo "PASS: read test on $s" | ||
92 | rm -f /mnt/usb_tmp/readfile | ||
93 | fi | ||
94 | umount /mnt/usb_tmp | ||
95 | fi | ||
96 | done | ||
97 | |||
98 | rm -fr /mnt/usb_tmp | ||
99 | done | ||
100 | exit $result | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p2041rdb/ethernet b/recipes-test/ddt-runner/files/scripts/p2041rdb/ethernet new file mode 100755 index 0000000..0f2b4cf --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p2041rdb/ethernet | |||
@@ -0,0 +1,111 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | |||
4 | exit1() { | ||
5 | echo $@ >&2 | ||
6 | exit 1 | ||
7 | } | ||
8 | |||
9 | |||
10 | err() { | ||
11 | echo $@ >&2 | ||
12 | exit_status=1 | ||
13 | } | ||
14 | |||
15 | |||
16 | get_default_gw() { | ||
17 | echo $(route | grep default | awk '{ print $2 }') | ||
18 | } | ||
19 | |||
20 | |||
21 | test_eth_device() { | ||
22 | local readonly dev=$1 | ||
23 | local readonly ethernet_ping_ipaddr=$2 | ||
24 | local readonly MINDATASIZE=56 | ||
25 | local readonly MAXDATASIZE=650 | ||
26 | local readonly STEPSIZE=100 | ||
27 | local readonly ITERATION=2 | ||
28 | local datasize | ||
29 | local i | ||
30 | local ping_err | ||
31 | for i in `seq 1 $ITERATION`; do | ||
32 | datasize=$MINDATASIZE | ||
33 | while [ $datasize -le $MAXDATASIZE ]; do | ||
34 | ping -I $dev -c 1 -s $datasize $ethernet_ping_ipaddr > $STATISTICS | ||
35 | ping_err=$? | ||
36 | packets_received=`cat $STATISTICS | grep "received" | | ||
37 | awk '{print$4}'` | ||
38 | |||
39 | # Evaluate possible errors on the ping operation | ||
40 | if [ $ping_err -ne 0 ] || [ -z "$packets_received" ] || | ||
41 | [ $packets_received -eq 0 ]; then | ||
42 | err "FAIL: ping $ethernet_ping_ipaddr through $dev" | ||
43 | cat $STATISTICS >> $LOGFILE | ||
44 | echo "Size: $datasize Iteration: $i" >> $LOGFILE | ||
45 | fi | ||
46 | datasize=$((datasize+STEPSIZE)) | ||
47 | done | ||
48 | done | ||
49 | } | ||
50 | |||
51 | |||
52 | clean_tasks() { | ||
53 | echo "Executing clean up tasks" | ||
54 | rm -f $LOGFILE $STATISTICS | ||
55 | } | ||
56 | |||
57 | |||
58 | cleanup() { | ||
59 | echo "Aborting script execution" | ||
60 | clean_tasks | ||
61 | exit 1 | ||
62 | } | ||
63 | |||
64 | |||
65 | |||
66 | readonly LOGFILE=`/bin/mktemp` | ||
67 | readonly STATISTICS=`/bin/mktemp` | ||
68 | exit_status=0 | ||
69 | |||
70 | trap cleanup SIGHUP SIGINT SIGTERM | ||
71 | |||
72 | |||
73 | |||
74 | readonly DEF_GW=$(get_default_gw) | ||
75 | |||
76 | [ -n "$DEF_GW" ] && echo "Found default gw $DEF_GW" || | ||
77 | exit1 "FAIL: no default gw" | ||
78 | |||
79 | readonly S=: | ||
80 | readonly DEVS="$(route -n | tail -n +3 | sort -k8 -u | awk '{print $8"'$S'"$2}')" | ||
81 | |||
82 | if [ -n "$DEVS" ]; then | ||
83 | echo "Will test: $DEVS" | ||
84 | else | ||
85 | exit1 "FAIL: no ethernet devices to test" | ||
86 | fi | ||
87 | |||
88 | for iface_gw in $DEVS; do | ||
89 | iface=$(echo "$iface_gw" | sed -n 's/\(.*\)'$S'.*/\1/p') | ||
90 | gw=$(echo "$iface_gw" | sed -n 's/.*'$S'\(.*\)/\1/p') | ||
91 | if [ -z "$gw" ]; then | ||
92 | err "FAIL: no ethernet gateway for $iface" | ||
93 | else | ||
94 | [ "$gw" = 0.0.0.0 ] && gw="$DEF_GW" | ||
95 | echo "Testing $iface:$gw" | ||
96 | test_eth_device $iface $gw | ||
97 | fi | ||
98 | done | ||
99 | |||
100 | # Report failures | ||
101 | if [ $exit_status -ne 0 ]; then | ||
102 | echo "=================== error report ===================" | ||
103 | cat $LOGFILE | ||
104 | echo "====================================================" | ||
105 | echo "FAIL: ping test" | ||
106 | else | ||
107 | echo "PASS: ping test success" | ||
108 | fi | ||
109 | |||
110 | clean_tasks | ||
111 | exit $exit_status | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p2041rdb/flash b/recipes-test/ddt-runner/files/scripts/p2041rdb/flash new file mode 100755 index 0000000..2d10600 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p2041rdb/flash | |||
@@ -0,0 +1,49 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # This script is used to test flash driver functionality. I removed the write | ||
4 | # operations since all partition are in use in p2041rdb and there might be | ||
5 | # possibility of corrupting data even if we backup in test script. | ||
6 | |||
7 | if part_num=`cat /proc/mtd | grep -c 'mtd'`; then | ||
8 | echo "PASS: show $part_num partitions" | ||
9 | else | ||
10 | echo "FAIL: show $part_num partitions" | ||
11 | exit 1 | ||
12 | fi | ||
13 | |||
14 | for((part=0; part<$part_num; part++)); | ||
15 | do | ||
16 | if [ $(mtd_debug info /dev/mtd$part | grep -c 'mtd.type') ]; then | ||
17 | echo "PASS: show partition $part debug info" | ||
18 | else | ||
19 | echo "FAIL: show partition $part debug info" | ||
20 | exit 1 | ||
21 | fi | ||
22 | done | ||
23 | |||
24 | READ_TEST=`find / -name mtd_readtest.ko -print` | ||
25 | |||
26 | if [ ! -e $READ_TEST ]; then | ||
27 | echo "FAIL: $READ_TEST does not exist" | ||
28 | exit 1 | ||
29 | else | ||
30 | echo "PASS: $READ_TEST exists" | ||
31 | fi | ||
32 | |||
33 | for((part=0; part<$part_num; part++)); | ||
34 | do | ||
35 | dmesg -c | ||
36 | |||
37 | insmod $READ_TEST dev=$part | ||
38 | |||
39 | finish=`dmesg | grep -c 'mtd_readtest: finished'` | ||
40 | if [ $finish -eq 1 ]; then | ||
41 | echo "PASS: read test $part" | ||
42 | else | ||
43 | echo "FAIL: read test $part" | ||
44 | rmmod $READ_TEST | ||
45 | exit 1 | ||
46 | fi | ||
47 | |||
48 | rmmod $READ_TEST | ||
49 | done | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p2041rdb/i2c b/recipes-test/ddt-runner/files/scripts/p2041rdb/i2c new file mode 100755 index 0000000..58800ce --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p2041rdb/i2c | |||
@@ -0,0 +1,44 @@ | |||
1 | #!/bin/sh | ||
2 | # This script is used to test i2c bus functionality for p2041rdb board. | ||
3 | |||
4 | if I2C_ADAPTERS=$(i2cdetect -l |wc -l); then | ||
5 | echo "PASS: found $I2C_ADAPTERS i2c adapters" | ||
6 | else | ||
7 | echo "FAIL: no i2c adapters found" | ||
8 | exit 1 | ||
9 | fi | ||
10 | |||
11 | if [ -z "$adapters" ]; then | ||
12 | adapters=0 | ||
13 | fi | ||
14 | |||
15 | while [ $adapters -lt $I2C_ADAPTERS ] | ||
16 | do | ||
17 | i2cdetect -y $adapters | ||
18 | if [ $? -ne 0 ]; then | ||
19 | echo "FAIL: detect i2c adapter $adapters failed" | ||
20 | else | ||
21 | echo "PASS: detect i2c adapter $adapters success" | ||
22 | fi | ||
23 | adapters=`expr $adapters + 1` | ||
24 | sleep 1 | ||
25 | done | ||
26 | |||
27 | i2cdetect -y 0 | ||
28 | if [ $? -ne 0 ]; then | ||
29 | echo "FAIL: detect i2c bus 0 fail" | ||
30 | exit 1 | ||
31 | else | ||
32 | echo "PASS: detect i2c bus 0 success" | ||
33 | fi | ||
34 | |||
35 | #i2c bus 0, device address 0x52, DDR3 DIMM Socket 1, SPD EEPROM | ||
36 | i2cdump -f -y 0 0x52 |grep UG51U6400N8SU | ||
37 | if [ $? -ne 0 ]; then | ||
38 | echo "FAIL: read SPD EEPROM on i2c bus 0 fail" | ||
39 | exit 1 | ||
40 | else | ||
41 | echo "PASS: read SPD EEPROM on i2c bus 0 success" | ||
42 | fi | ||
43 | |||
44 | |||
diff --git a/recipes-test/ddt-runner/files/scripts/p2041rdb/pci-express b/recipes-test/ddt-runner/files/scripts/p2041rdb/pci-express new file mode 100755 index 0000000..91db286 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p2041rdb/pci-express | |||
@@ -0,0 +1,109 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | ethernet_interface="eth0" | ||
4 | #sestord02 ip address | ||
5 | ethernet_ping_ipaddr="172.21.3.22" | ||
6 | ethernet_ipaddr=$1 | ||
7 | |||
8 | #Intel Corporation 82574L Gigabit Network Card (intel e1000e) | ||
9 | vendor_id="8086" | ||
10 | product_id="10d3" | ||
11 | |||
12 | #find vendor id & product id | ||
13 | lspci -nn |grep $vendor_id:$product_id | ||
14 | if [ $? -ne 0 ]; then | ||
15 | echo "FAIL: pci-e ethernet card device does not exist" | ||
16 | exit 1 | ||
17 | else | ||
18 | echo "PASS: got pci-e ethernet card device" | ||
19 | fi | ||
20 | |||
21 | setpci -v -d $vendor_id:$product_id latency_timer=b0 | ||
22 | if [ $? -ne 0 ]; then | ||
23 | echo "FAIL: parameter changes to pci config space failed" | ||
24 | exit 1 | ||
25 | else | ||
26 | echo "PASS: parameter changes to pci config space success" | ||
27 | fi | ||
28 | |||
29 | IFCONFIG=`which ifconfig` | ||
30 | |||
31 | $IFCONFIG $ethernet_interface up | ||
32 | $IFCONFIG | grep $ethernet_interface | ||
33 | if [ $? -ne 0 ]; then | ||
34 | echo "FAIL: pci-e ethernet card device $ethernet_interface is not up" | ||
35 | exit 1 | ||
36 | else | ||
37 | echo "PASS: pci-e ethernet card device $ethernet_interface is up" | ||
38 | fi | ||
39 | |||
40 | if [ "x$ethernet_ipaddr" != "x" ]; then | ||
41 | $IFCONFIG $ethernet_interface $ethernet_ipaddr | ||
42 | fi | ||
43 | |||
44 | $IFCONFIG $ethernet_interface |grep 'inet addr:' |sed -e 's@inet addr:@@' |sed q | awk '{print $1}' | ||
45 | if [ $? -ne 0 ]; then | ||
46 | echo "FAIL: ipaddr of pci-e ethernet card device $ethernet_interface setup failed" | ||
47 | exit 1 | ||
48 | else | ||
49 | echo "PASS: ipaddr of pci-e ethernet card device $ethernet_interface setup success" | ||
50 | fi | ||
51 | |||
52 | mindatasize=56 | ||
53 | maxdatasize=650 | ||
54 | stepsize=100 | ||
55 | iteration=1 | ||
56 | datasize=$mindatasize | ||
57 | logfile=`/bin/mktemp` | ||
58 | statistics=`/bin/mktemp` | ||
59 | error=0 | ||
60 | |||
61 | trap cleanup SIGHUP SIGINT SIGTERM | ||
62 | |||
63 | clean_tasks() { | ||
64 | echo "Executing clean up tasks" | ||
65 | rm -f $logfile $statistics | ||
66 | } | ||
67 | |||
68 | cleanup() { | ||
69 | echo "Aborting script execution" | ||
70 | clean_tasks | ||
71 | exit 0 | ||
72 | } | ||
73 | |||
74 | echo "start ping test for pci-e ethernet card device $ethernet_interface..." | ||
75 | |||
76 | while [ $datasize -le $maxdatasize ]; do | ||
77 | for i in `seq 1 $iteration`; do | ||
78 | ping -c 1 -s $datasize $ethernet_ping_ipaddr > $statistics | ||
79 | ping_err=`echo $?` | ||
80 | echo "" && cat $statistics | grep -r "PING" | ||
81 | cat $statistics | grep -r "received" | ||
82 | [ `echo $?` -eq 0 ] || packets_received=0 && \ | ||
83 | packets_received=`cat $statistics | \ | ||
84 | grep -r "received" | awk '{print$4}'` | ||
85 | |||
86 | # Evaluate possible errors on the ping operation | ||
87 | if [ $ping_err -ne 0 ] || [ $packets_received -eq 0 ]; then | ||
88 | error=1 | ||
89 | echo -e `cat $statistics | grep -r PING` >> $logfile | ||
90 | echo -e "Size: $datasize Iteration: $i\n" >> $logfile | ||
91 | fi | ||
92 | done | ||
93 | let datasize=$datasize+$stepsize | ||
94 | done | ||
95 | |||
96 | # Report failures | ||
97 | if [ $error -eq 1 ]; then | ||
98 | echo -e "=================== error report ===================\n" | ||
99 | cat $logfile | ||
100 | echo -e "====================================================\n" | ||
101 | clean_tasks | ||
102 | echo -e "FAIL: ping test for pci-e ethernet card device $ethernet_interface failed\n" | ||
103 | exit 1 | ||
104 | else | ||
105 | clean_tasks | ||
106 | echo -e "PASS: ping test for pci-e ethernet card device $ethernet_interface success\n" | ||
107 | fi | ||
108 | |||
109 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p2041rdb/sata b/recipes-test/ddt-runner/files/scripts/p2041rdb/sata new file mode 100755 index 0000000..b7f1fab --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p2041rdb/sata | |||
@@ -0,0 +1,81 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | #This script is to test sata devices on target | ||
4 | # | ||
5 | result=0 | ||
6 | devpath="" | ||
7 | satainfo="" | ||
8 | SD=`ls -l /dev/sd[^0-9] | awk '{print $5 $6 "," $10}'` | ||
9 | if [ -z "$SD" ]; then | ||
10 | echo "FAIL: find sata device" | ||
11 | exit 1 | ||
12 | else | ||
13 | echo "PASS: find sata device" | ||
14 | fi | ||
15 | HDPARM=`which hdparm` | ||
16 | if [ -z $HDPARM ]; then | ||
17 | result=$? | ||
18 | echo "FAIL: find hdparm" | ||
19 | fi | ||
20 | echo "PASS: find hdparm" | ||
21 | |||
22 | |||
23 | for s in $SD | ||
24 | do | ||
25 | devpath=`echo "$s" | awk -F "," '{print "/sys/dev/block/" $1 ":" $2}'` | ||
26 | satainfo=`ls -l $devpath | grep sata` | ||
27 | |||
28 | if [ -z "$satainfo" ] ; then | ||
29 | continue | ||
30 | fi | ||
31 | s=`echo "$s" | awk -F "," '{print $3}'` | ||
32 | |||
33 | echo "testing $s" | ||
34 | $HDPARM -I $s | ||
35 | if [ $? -ne 0 ]; then | ||
36 | result=$? | ||
37 | echo "FAIL: $HDPARM -I $s Detailed/current information directly from $s" | ||
38 | else | ||
39 | echo "PASS: $HDPARM -I $s Detailed/current information directly from $s" | ||
40 | fi | ||
41 | $HDPARM -tT $s | ||
42 | if [ $? -ne 0 ]; then | ||
43 | result=$? | ||
44 | echo "FAIL: $HDPARM -tT $s Perform device/cache read timings on $s" | ||
45 | else | ||
46 | echo "PASS: $HDPARM -tT $s Perform device/cache read timings on $s" | ||
47 | fi | ||
48 | |||
49 | |||
50 | mkdir -p /mnt/sata_tmp | ||
51 | for partition in `ls "$s"[1-9]` | ||
52 | do | ||
53 | mount "$partition" /mnt/sata_tmp | ||
54 | if [ $? -ne 0 ]; then | ||
55 | result=$? | ||
56 | echo "FAIL: Mount $s" | ||
57 | else | ||
58 | echo "PASS: Mount $s" | ||
59 | dd if=/dev/urandom of=/mnt/sata_tmp/writefile bs=1M count=50 | ||
60 | if [ $? -ne 0 ]; then | ||
61 | result=$? | ||
62 | echo "FAIL: write test on $s" | ||
63 | else | ||
64 | echo "PASS: write test on $s" | ||
65 | rm -f /mnt/sata_tmp/writefile | ||
66 | fi | ||
67 | dd if=$s of=/mnt/sata_tmp/readfile bs=1M count=10 | ||
68 | if [ $? -ne 0 ]; then | ||
69 | result=$? | ||
70 | echo "FAIL: read test on $s" | ||
71 | else | ||
72 | echo "PASS: read test on $s" | ||
73 | rm -f /mnt/sata_tmp/readfile | ||
74 | fi | ||
75 | umount /mnt/sata_tmp | ||
76 | fi | ||
77 | done | ||
78 | |||
79 | rm -fr /mnt/sata_tmp | ||
80 | done | ||
81 | exit $result | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p2041rdb/sdhc b/recipes-test/ddt-runner/files/scripts/p2041rdb/sdhc new file mode 100755 index 0000000..bc3026b --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p2041rdb/sdhc | |||
@@ -0,0 +1,41 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | #the content of SD will be lost by running this test case. | ||
4 | |||
5 | SDHC_DEVICE="/dev/mmcblk0p1" | ||
6 | |||
7 | if [ ! -e $SDHC_DEVICE ]; then | ||
8 | echo "FAIL: $SDHC_DEVICE does not exist" | ||
9 | exit 1 | ||
10 | else | ||
11 | echo "PASS: $SDHC_DEVICE device exists" | ||
12 | fi | ||
13 | |||
14 | mount |grep mmcblk0p1 | ||
15 | if [ $? -eq 0 ]; then | ||
16 | umount $SDHC_DEVICE | ||
17 | fi | ||
18 | |||
19 | /sbin/mkfs.ext2 $SDHC_DEVICE | ||
20 | if [ $? -ne 0 ]; then | ||
21 | echo "FAIL: format $SDHC_DEVICE fail" | ||
22 | exit 1 | ||
23 | else | ||
24 | mkdir -p /mnt/sdhc | ||
25 | mount $SDHC_DEVICE /mnt/sdhc | ||
26 | if [ $? -ne 0 ]; then | ||
27 | echo "FAIL: mount $SDHC_DEVICE fail" | ||
28 | exit 1 | ||
29 | else | ||
30 | cp /bin/busybox /mnt/sdhc | ||
31 | ls /mnt/sdhc |grep busybox | ||
32 | if [ $? -ne 0 ]; then | ||
33 | echo "FAIL: read or write $SDHC_DEVICE fail" | ||
34 | exit 1 | ||
35 | else | ||
36 | umount $SDHC_DEVICE | ||
37 | echo "PASS: read or write $SDHC_DEVICE success" | ||
38 | fi | ||
39 | fi | ||
40 | fi | ||
41 | |||
diff --git a/recipes-test/ddt-runner/files/scripts/p2041rdb/tempsensors b/recipes-test/ddt-runner/files/scripts/p2041rdb/tempsensors new file mode 100755 index 0000000..036ccfa --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p2041rdb/tempsensors | |||
@@ -0,0 +1,60 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # This script checks that expected temperature sensors are available on pd2901, | ||
4 | # and that their reported values fall within a reasonable range. | ||
5 | |||
6 | # Expected available sensors | ||
7 | SENSORS="adt7461-i2c-0-4c" | ||
8 | |||
9 | # Default accepted temperature range | ||
10 | tempmin=20 | ||
11 | tempmax=80 | ||
12 | |||
13 | usage="Usage: $0 min max" | ||
14 | |||
15 | SENSORS_CMD=`which sensors` | ||
16 | if [ -z $SENSORS_CMD ]; then | ||
17 | echo "FAIL: Cannot find sensors command" | ||
18 | exit 1 | ||
19 | fi | ||
20 | |||
21 | if [ -n "$1" ]; then | ||
22 | if [ -z "$2" ]; then | ||
23 | echo $usage | ||
24 | echo "FAIL: No max value provided." | ||
25 | exit 1 | ||
26 | fi | ||
27 | tempmin=$1 | ||
28 | tempmax=$2 | ||
29 | if [ "$tempmin" -gt "$tempmax" ]; then | ||
30 | echo $usage | ||
31 | echo "FAIL: Invalid range provided (min > max)." | ||
32 | exit 1 | ||
33 | fi | ||
34 | fi | ||
35 | |||
36 | echo "Checking temperature sensor readings (valid range: $tempmin C - $tempmax C)" | ||
37 | |||
38 | for sensor in $SENSORS | ||
39 | do | ||
40 | sensorinfo=$($SENSORS_CMD $sensor) | ||
41 | if [ $? -ne 0 ]; then | ||
42 | echo "FAIL: Sensor $sensor not found" | ||
43 | exit 1 | ||
44 | fi | ||
45 | |||
46 | # Get temperature readings for each sensor (ignore decimals) | ||
47 | for temp in $($SENSORS_CMD $sensor | grep temp | awk -F'[+|.]' {'print $2'}) | ||
48 | do | ||
49 | if [ "$temp" -ge $tempmin ] && [ "$temp" -le $tempmax ]; then | ||
50 | echo $sensor ": " $temp " OK" | ||
51 | else | ||
52 | echo $sensor ": " $temp " NOK" | ||
53 | echo "FAIL: Temperature outside valid range." | ||
54 | exit 1 | ||
55 | fi | ||
56 | done | ||
57 | done | ||
58 | |||
59 | echo "PASS: temperature sensors" | ||
60 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p2041rdb/usb b/recipes-test/ddt-runner/files/scripts/p2041rdb/usb new file mode 100755 index 0000000..017287f --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p2041rdb/usb | |||
@@ -0,0 +1,48 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | #This script is to test usb devices on p2041rdb target | ||
4 | # | ||
5 | |||
6 | USB_DISK=`ls /dev/sd*[1-9] | sort | tail -n 1` | ||
7 | |||
8 | usbutils_is_installed=`which lsusb` | ||
9 | if [ -z $usbutils_is_installed ]; then | ||
10 | echo "FAIL: Cannot find lsusb" | ||
11 | exit 1 | ||
12 | else | ||
13 | echo "PASS: usbutils found" | ||
14 | fi | ||
15 | |||
16 | usbdev_num=`lsusb | grep -v root\ hub | wc -l` | ||
17 | if [ $usbdev_num -eq 0 ]; then | ||
18 | echo "FAIL: USB device is not connected" | ||
19 | exit 1 | ||
20 | else | ||
21 | echo "PASS: $usbdev_num USB device(s) connected" | ||
22 | fi | ||
23 | |||
24 | lsusb | grep -v root\ hub | ||
25 | mkdir -p /mnt/usb_ehci | ||
26 | mount $USB_DISK /mnt/usb_ehci | ||
27 | if [ $? -ne 0 ]; then | ||
28 | echo "FAIL: Mount USB device failed" | ||
29 | exit 1 | ||
30 | else | ||
31 | echo "PASS: Mount USB device succeed" | ||
32 | fi | ||
33 | |||
34 | echo "Begin test usb device..." | ||
35 | dd if=/dev/urandom of=/mnt/usb_ehci/testfile bs=1M count=50 | ||
36 | if [ $? -ne 0 ]; then | ||
37 | echo "FAIL: test failed" | ||
38 | rm -f /mnt/usb_ehci_testfile | ||
39 | umount /mnt/usb_ehci | ||
40 | rm -fr /mnt/usb_ehci | ||
41 | exit 1 | ||
42 | fi | ||
43 | |||
44 | echo "PASS: test succeed" | ||
45 | rm -f /mnt/usb_ehci_testfile | ||
46 | umount /mnt/usb_ehci | ||
47 | rm -fr /mnt/usb_ehci | ||
48 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p3041ds/ethernet b/recipes-test/ddt-runner/files/scripts/p3041ds/ethernet new file mode 100755 index 0000000..b350ddc --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p3041ds/ethernet | |||
@@ -0,0 +1,111 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | |||
4 | exit1() { | ||
5 | echo $@ >&2 | ||
6 | exit 1 | ||
7 | } | ||
8 | |||
9 | |||
10 | err() { | ||
11 | echo $@ >&2 | ||
12 | exit_status=1 | ||
13 | } | ||
14 | |||
15 | |||
16 | get_default_gw() { | ||
17 | echo $(route | grep default | awk '{ print $2 }') | ||
18 | } | ||
19 | |||
20 | |||
21 | test_eth_device() { | ||
22 | local readonly dev=$1 | ||
23 | local readonly ethernet_ping_ipaddr=$2 | ||
24 | local readonly MINDATASIZE=56 | ||
25 | local readonly MAXDATASIZE=650 | ||
26 | local readonly STEPSIZE=100 | ||
27 | local readonly ITERATION=2 | ||
28 | local datasize | ||
29 | local i | ||
30 | local ping_err | ||
31 | for i in `seq 1 $ITERATION`; do | ||
32 | datasize=$MINDATASIZE | ||
33 | while [ $datasize -le $MAXDATASIZE ]; do | ||
34 | ping -I $dev -c 1 -s $datasize $ethernet_ping_ipaddr > $STATISTICS | ||
35 | ping_err=$? | ||
36 | packets_received=`cat $STATISTICS | grep "received" | | ||
37 | awk '{print$4}'` | ||
38 | |||
39 | # Evaluate possible errors on the ping operation | ||
40 | if [ $ping_err -ne 0 ] || [ -z "$packets_received" ] || | ||
41 | [ $packets_received -eq 0 ]; then | ||
42 | err "FAIL: ping $ethernet_ping_ipaddr through $dev" | ||
43 | cat $STATISTICS >> $LOGFILE | ||
44 | echo "Size: $datasize Iteration: $i" >> $LOGFILE | ||
45 | fi | ||
46 | datasize=$((datasize+STEPSIZE)) | ||
47 | done | ||
48 | done | ||
49 | } | ||
50 | |||
51 | |||
52 | clean_tasks() { | ||
53 | echo "Executing clean up tasks" | ||
54 | rm -f $LOGFILE $STATISTICS | ||
55 | } | ||
56 | |||
57 | |||
58 | cleanup() { | ||
59 | echo "Aborting script execution" | ||
60 | clean_tasks | ||
61 | exit 1 | ||
62 | } | ||
63 | |||
64 | |||
65 | |||
66 | readonly LOGFILE=`/bin/mktemp` | ||
67 | readonly STATISTICS=`/bin/mktemp` | ||
68 | exit_status=0 | ||
69 | |||
70 | trap cleanup SIGHUP SIGINT SIGTERM | ||
71 | |||
72 | |||
73 | |||
74 | readonly DEF_GW=$(get_default_gw) | ||
75 | |||
76 | [ -n "$DEF_GW" ] && echo "Found default gw $DEF_GW" || | ||
77 | exit1 "FAIL: no default gw" | ||
78 | |||
79 | readonly S=: | ||
80 | readonly DEVS="$(route -n | tail -n +3 | sort -k8 -u | awk '{print $8"'$S'"$2}')" | ||
81 | |||
82 | if [ -n "$DEVS" ]; then | ||
83 | echo "Will test: $DEVS" | ||
84 | else | ||
85 | exit1 "FAIL: no ethernet devices to test" | ||
86 | fi | ||
87 | |||
88 | for iface_gw in $DEVS; do | ||
89 | iface=$(echo "$iface_gw" | sed -n 's/\(.*\)'$S'.*/\1/p') | ||
90 | gw=$(echo "$iface_gw" | sed -n 's/.*'$S'\(.*\)/\1/p') | ||
91 | if [ -z "$gw" ]; then | ||
92 | err "FAIL: no ethernet gateway for $iface" | ||
93 | else | ||
94 | [ "$gw" = 0.0.0.0 ] && gw="$DEF_GW" | ||
95 | echo "Testing $iface:$gw" | ||
96 | test_eth_device $iface $gw | ||
97 | fi | ||
98 | done | ||
99 | |||
100 | # Report failures | ||
101 | if [ $exit_status -ne 0 ]; then | ||
102 | echo "=================== error report ===================" | ||
103 | cat $LOGFILE | ||
104 | echo "====================================================" | ||
105 | echo "FAIL: ping test" | ||
106 | else | ||
107 | echo "PASS: ping test success" | ||
108 | fi | ||
109 | |||
110 | clean_tasks | ||
111 | exit $exit_status | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p3041ds/flash b/recipes-test/ddt-runner/files/scripts/p3041ds/flash new file mode 100755 index 0000000..12fe9b0 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p3041ds/flash | |||
@@ -0,0 +1,47 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # This script is used to test flash driver functionality. | ||
4 | |||
5 | if part_num=`cat /proc/mtd | grep -c 'mtd'`; then | ||
6 | echo "PASS: show $part_num partitions" | ||
7 | else | ||
8 | echo "FAIL: show $part_num partitions" | ||
9 | exit 1 | ||
10 | fi | ||
11 | |||
12 | for((part=0; part<$part_num; part++)); | ||
13 | do | ||
14 | if [ $(mtd_debug info /dev/mtd$part | grep -c 'mtd.type') ]; then | ||
15 | echo "PASS: show partition $part debug info" | ||
16 | else | ||
17 | echo "FAIL: show partition $part debug info" | ||
18 | exit 1 | ||
19 | fi | ||
20 | done | ||
21 | |||
22 | READ_TEST=`find / -name mtd_readtest.ko -print` | ||
23 | |||
24 | if [ ! -e $READ_TEST ]; then | ||
25 | echo "FAIL: $READ_TEST does not exist" | ||
26 | exit 1 | ||
27 | else | ||
28 | echo "PASS: $READ_TEST exists" | ||
29 | fi | ||
30 | |||
31 | for((part=0; part<$part_num; part++)); | ||
32 | do | ||
33 | dmesg -c | ||
34 | |||
35 | insmod $READ_TEST dev=$part | ||
36 | |||
37 | finish=`dmesg | grep -c 'mtd_readtest: finished'` | ||
38 | if [ $finish -eq 1 ]; then | ||
39 | echo "PASS: read test $part" | ||
40 | else | ||
41 | echo "FAIL: read test $part" | ||
42 | rmmod $READ_TEST | ||
43 | exit 1 | ||
44 | fi | ||
45 | |||
46 | rmmod $READ_TEST | ||
47 | done | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p3041ds/i2c b/recipes-test/ddt-runner/files/scripts/p3041ds/i2c new file mode 100755 index 0000000..8ee6d21 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p3041ds/i2c | |||
@@ -0,0 +1,42 @@ | |||
1 | #!/bin/sh | ||
2 | # This script is used to test i2c bus functionality for p3041ds board. | ||
3 | |||
4 | if I2C_ADAPTERS=$(i2cdetect -l |wc -l); then | ||
5 | echo "PASS: found $I2C_ADAPTERS i2c adapters" | ||
6 | else | ||
7 | echo "FAIL: no i2c adapters found" | ||
8 | exit 1 | ||
9 | fi | ||
10 | |||
11 | if [ -z "$adapters" ]; then | ||
12 | adapters=0 | ||
13 | fi | ||
14 | |||
15 | while [ $adapters -lt $I2C_ADAPTERS ] | ||
16 | do | ||
17 | i2cdetect -y $adapters | ||
18 | if [ $? -ne 0 ]; then | ||
19 | echo "FAIL: detect i2c adapter $adapters failed" | ||
20 | else | ||
21 | echo "PASS: detect i2c adapter $adapters success" | ||
22 | fi | ||
23 | adapters=`expr $adapters + 1` | ||
24 | sleep 1 | ||
25 | done | ||
26 | |||
27 | i2cdetect -y 0 | ||
28 | if [ $? -ne 0 ]; then | ||
29 | echo "FAIL: detect i2c bus 0 fail" | ||
30 | exit 1 | ||
31 | else | ||
32 | echo "PASS: detect i2c bus 0 success" | ||
33 | fi | ||
34 | |||
35 | #i2c bus 0, device address 0x51, EEPROM | ||
36 | i2cdump -f -y 0 0x51 | grep DCA1-13112 | ||
37 | if [ $? -ne 0 ]; then | ||
38 | echo "FAIL: read SPD EEPROM on i2c bus 0 fail" | ||
39 | exit 1 | ||
40 | else | ||
41 | echo "PASS: read SPD EEPROM on i2c bus 0 success" | ||
42 | fi | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p3041ds/pci-express b/recipes-test/ddt-runner/files/scripts/p3041ds/pci-express new file mode 100755 index 0000000..6648668 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p3041ds/pci-express | |||
@@ -0,0 +1,109 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | ethernet_interface="eth5" | ||
4 | #sestord02 ip address | ||
5 | ethernet_ping_ipaddr="172.21.3.22" | ||
6 | ethernet_ipaddr=$1 | ||
7 | |||
8 | #Intel Corporation 82574L Gigabit Network Card (intel e1000e) | ||
9 | vendor_id="8086" | ||
10 | product_id="10d3" | ||
11 | |||
12 | #find vendor id & product id | ||
13 | lspci -nn |grep $vendor_id:$product_id | ||
14 | if [ $? -ne 0 ]; then | ||
15 | echo "FAIL: pci-e ethernet card device does not exist" | ||
16 | exit 1 | ||
17 | else | ||
18 | echo "PASS: got pci-e ethernet card device" | ||
19 | fi | ||
20 | |||
21 | setpci -v -d $vendor_id:$product_id latency_timer=b0 | ||
22 | if [ $? -ne 0 ]; then | ||
23 | echo "FAIL: parameter changes to pci config space failed" | ||
24 | exit 1 | ||
25 | else | ||
26 | echo "PASS: parameter changes to pci config space success" | ||
27 | fi | ||
28 | |||
29 | IFCONFIG=`which ifconfig` | ||
30 | |||
31 | $IFCONFIG $ethernet_interface up | ||
32 | $IFCONFIG | grep $ethernet_interface | ||
33 | if [ $? -ne 0 ]; then | ||
34 | echo "FAIL: pci-e ethernet card device $ethernet_interface is not up" | ||
35 | exit 1 | ||
36 | else | ||
37 | echo "PASS: pci-e ethernet card device $ethernet_interface is up" | ||
38 | fi | ||
39 | |||
40 | if [ "x$ethernet_ipaddr" != "x" ]; then | ||
41 | $IFCONFIG $ethernet_interface $ethernet_ipaddr | ||
42 | fi | ||
43 | |||
44 | $IFCONFIG $ethernet_interface |grep 'inet addr:' |sed -e 's@inet addr:@@' |sed q | awk '{print $1}' | ||
45 | if [ $? -ne 0 ]; then | ||
46 | echo "FAIL: ipaddr of pci-e ethernet card device $ethernet_interface setup failed" | ||
47 | exit 1 | ||
48 | else | ||
49 | echo "PASS: ipaddr of pci-e ethernet card device $ethernet_interface setup success" | ||
50 | fi | ||
51 | |||
52 | mindatasize=56 | ||
53 | maxdatasize=650 | ||
54 | stepsize=100 | ||
55 | iteration=1 | ||
56 | datasize=$mindatasize | ||
57 | logfile=`/bin/mktemp` | ||
58 | statistics=`/bin/mktemp` | ||
59 | error=0 | ||
60 | |||
61 | trap cleanup SIGHUP SIGINT SIGTERM | ||
62 | |||
63 | clean_tasks() { | ||
64 | echo "Executing clean up tasks" | ||
65 | rm -f $logfile $statistics | ||
66 | } | ||
67 | |||
68 | cleanup() { | ||
69 | echo "Aborting script execution" | ||
70 | clean_tasks | ||
71 | exit 0 | ||
72 | } | ||
73 | |||
74 | echo "start ping test for pci-e ethernet card device $ethernet_interface..." | ||
75 | |||
76 | while [ $datasize -le $maxdatasize ]; do | ||
77 | for i in `seq 1 $iteration`; do | ||
78 | ping -c 1 -s $datasize $ethernet_ping_ipaddr > $statistics | ||
79 | ping_err=`echo $?` | ||
80 | echo "" && cat $statistics | grep -r "PING" | ||
81 | cat $statistics | grep -r "received" | ||
82 | [ `echo $?` -eq 0 ] || packets_received=0 && \ | ||
83 | packets_received=`cat $statistics | \ | ||
84 | grep -r "received" | awk '{print$4}'` | ||
85 | |||
86 | # Evaluate possible errors on the ping operation | ||
87 | if [ $ping_err -ne 0 ] || [ $packets_received -eq 0 ]; then | ||
88 | error=1 | ||
89 | echo -e `cat $statistics | grep -r PING` >> $logfile | ||
90 | echo -e "Size: $datasize Iteration: $i\n" >> $logfile | ||
91 | fi | ||
92 | done | ||
93 | let datasize=$datasize+$stepsize | ||
94 | done | ||
95 | |||
96 | # Report failures | ||
97 | if [ $error -eq 1 ]; then | ||
98 | echo -e "=================== error report ===================\n" | ||
99 | cat $logfile | ||
100 | echo -e "====================================================\n" | ||
101 | clean_tasks | ||
102 | echo -e "FAIL: ping test for pci-e ethernet card device $ethernet_interface failed\n" | ||
103 | exit 1 | ||
104 | else | ||
105 | clean_tasks | ||
106 | echo -e "PASS: ping test for pci-e ethernet card device $ethernet_interface success\n" | ||
107 | fi | ||
108 | |||
109 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p3041ds/sata b/recipes-test/ddt-runner/files/scripts/p3041ds/sata new file mode 100755 index 0000000..e996b41 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p3041ds/sata | |||
@@ -0,0 +1,80 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | #This script is to test sata devices on target | ||
4 | # | ||
5 | result=0 | ||
6 | devpath="" | ||
7 | satainfo="" | ||
8 | SD=`ls -l /dev/sd[^0-9] | awk '{print $5 $6 "," $10}'` | ||
9 | if [ -z "$SD" ]; then | ||
10 | echo "FAIL: find sata device" | ||
11 | exit 1 | ||
12 | else | ||
13 | echo "PASS: find sata device" | ||
14 | fi | ||
15 | HDPARM=`which hdparm` | ||
16 | if [ -z $HDPARM ]; then | ||
17 | result=$? | ||
18 | echo "FAIL: find hdparm" | ||
19 | fi | ||
20 | echo "PASS: find hdparm" | ||
21 | |||
22 | |||
23 | for s in $SD | ||
24 | do | ||
25 | devpath=`echo "$s" | awk -F "," '{print "/sys/dev/block/" $1 ":" $2}'` | ||
26 | satainfo=`ls -l $devpath | grep sata` | ||
27 | |||
28 | if [ -z "$satainfo" ] ; then | ||
29 | continue | ||
30 | fi | ||
31 | s=`echo "$s" | awk -F "," '{print $3}'` | ||
32 | |||
33 | echo "testing $s" | ||
34 | $HDPARM -I $s | ||
35 | if [ $? -ne 0 ]; then | ||
36 | result=$? | ||
37 | echo "FAIL: $HDPARM -I $s Detailed/current information directly from $s" | ||
38 | else | ||
39 | echo "PASS: $HDPARM -I $s Detailed/current information directly from $s" | ||
40 | fi | ||
41 | $HDPARM -tT $s | ||
42 | if [ $? -ne 0 ]; then | ||
43 | result=$? | ||
44 | echo "FAIL: $HDPARM -tT $s Perform device/cache read timings on $s" | ||
45 | else | ||
46 | echo "PASS: $HDPARM -tT $s Perform device/cache read timings on $s" | ||
47 | fi | ||
48 | |||
49 | mkdir -p /mnt/sata_tmp | ||
50 | for partition in `ls "$s"[1-9]` | ||
51 | do | ||
52 | mount "$partition" /mnt/sata_tmp | ||
53 | if [ $? -ne 0 ]; then | ||
54 | result=$? | ||
55 | echo "FAIL: Mount $s" | ||
56 | else | ||
57 | echo "PASS: Mount $s" | ||
58 | dd if=/dev/urandom of=/mnt/sata_tmp/writefile bs=1M count=50 | ||
59 | if [ $? -ne 0 ]; then | ||
60 | result=$? | ||
61 | echo "FAIL: write test on $s" | ||
62 | else | ||
63 | echo "PASS: write test on $s" | ||
64 | rm -f /mnt/sata_tmp/writefile | ||
65 | fi | ||
66 | dd if=$s of=/mnt/sata_tmp/readfile bs=1M count=10 | ||
67 | if [ $? -ne 0 ]; then | ||
68 | result=$? | ||
69 | echo "FAIL: read test on $s" | ||
70 | else | ||
71 | echo "PASS: read test on $s" | ||
72 | rm -f /mnt/sata_tmp/readfile | ||
73 | fi | ||
74 | umount /mnt/sata_tmp | ||
75 | fi | ||
76 | done | ||
77 | |||
78 | rm -fr /mnt/sata_tmp | ||
79 | done | ||
80 | exit $result | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p3041ds/sdhc b/recipes-test/ddt-runner/files/scripts/p3041ds/sdhc new file mode 100755 index 0000000..b1bdab2 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p3041ds/sdhc | |||
@@ -0,0 +1,40 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | #the content of SD will be lost by running this test case. | ||
4 | |||
5 | SDHC_DEVICE="/dev/mmcblk0p1" | ||
6 | |||
7 | if [ ! -e $SDHC_DEVICE ]; then | ||
8 | echo "FAIL: $SDHC_DEVICE does not exist" | ||
9 | exit 1 | ||
10 | else | ||
11 | echo "PASS: $SDHC_DEVICE device exists" | ||
12 | fi | ||
13 | |||
14 | mount |grep mmcblk0p1 | ||
15 | if [ $? -eq 0 ]; then | ||
16 | umount $SDHC_DEVICE | ||
17 | fi | ||
18 | |||
19 | /sbin/mkfs.ext2 $SDHC_DEVICE | ||
20 | if [ $? -ne 0 ]; then | ||
21 | echo "FAIL: format $SDHC_DEVICE fail" | ||
22 | exit 1 | ||
23 | else | ||
24 | mkdir -p /mnt/sdhc | ||
25 | mount $SDHC_DEVICE /mnt/sdhc | ||
26 | if [ $? -ne 0 ]; then | ||
27 | echo "FAIL: mount $SDHC_DEVICE fail" | ||
28 | exit 1 | ||
29 | else | ||
30 | cp /bin/busybox /mnt/sdhc | ||
31 | ls /mnt/sdhc |grep busybox | ||
32 | if [ $? -ne 0 ]; then | ||
33 | echo "FAIL: read or write $SDHC_DEVICE fail" | ||
34 | exit 1 | ||
35 | else | ||
36 | umount $SDHC_DEVICE | ||
37 | echo "PASS: read or write $SDHC_DEVICE success" | ||
38 | fi | ||
39 | fi | ||
40 | fi | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p3041ds/usb b/recipes-test/ddt-runner/files/scripts/p3041ds/usb new file mode 100755 index 0000000..e515ed5 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p3041ds/usb | |||
@@ -0,0 +1,48 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | #This script is to test usb devices on p3041rdb target | ||
4 | # | ||
5 | |||
6 | USB_DISK=`ls /dev/sd*[1-9] | sort | tail -n 1` | ||
7 | |||
8 | usbutils_is_installed=`which lsusb` | ||
9 | if [ -z $usbutils_is_installed ]; then | ||
10 | echo "FAIL: Cannot find lsusb" | ||
11 | exit 1 | ||
12 | else | ||
13 | echo "PASS: usbutils found" | ||
14 | fi | ||
15 | |||
16 | usbdev_num=`lsusb | grep -v root\ hub | wc -l` | ||
17 | if [ $usbdev_num -eq 0 ]; then | ||
18 | echo "FAIL: USB device is not connected" | ||
19 | exit 1 | ||
20 | else | ||
21 | echo "PASS: $usbdev_num USB device(s) connected" | ||
22 | fi | ||
23 | |||
24 | lsusb | grep -v root\ hub | ||
25 | mkdir -p /mnt/usb_ehci | ||
26 | mount $USB_DISK /mnt/usb_ehci | ||
27 | if [ $? -ne 0 ]; then | ||
28 | echo "FAIL: Mount USB device failed" | ||
29 | exit 1 | ||
30 | else | ||
31 | echo "PASS: Mount USB device succeed" | ||
32 | fi | ||
33 | |||
34 | echo "Begin test usb device..." | ||
35 | dd if=/dev/urandom of=/mnt/usb_ehci/testfile bs=1M count=50 | ||
36 | if [ $? -ne 0 ]; then | ||
37 | echo "FAIL: test failed" | ||
38 | rm -f /mnt/usb_ehci_testfile | ||
39 | umount /mnt/usb_ehci | ||
40 | rm -fr /mnt/usb_ehci | ||
41 | exit 1 | ||
42 | fi | ||
43 | |||
44 | echo "PASS: test succeed" | ||
45 | rm -f /mnt/usb_ehci_testfile | ||
46 | umount /mnt/usb_ehci | ||
47 | rm -fr /mnt/usb_ehci | ||
48 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p4080ds/ethernet b/recipes-test/ddt-runner/files/scripts/p4080ds/ethernet new file mode 100755 index 0000000..5355f10 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p4080ds/ethernet | |||
@@ -0,0 +1,88 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | ethernet_interface="eth1" | ||
4 | ethernet_ping_ipaddr="172.21.3.22" | ||
5 | ethernet_ipaddr=$1 | ||
6 | |||
7 | IFCONFIG=`which ifconfig` | ||
8 | |||
9 | $IFCONFIG $ethernet_interface up | ||
10 | $IFCONFIG | grep $ethernet_interface | ||
11 | if [ $? -ne 0 ]; then | ||
12 | echo "FAIL: $ethernet_interface is not up" | ||
13 | exit 1 | ||
14 | else | ||
15 | echo "PASS: $ethernet_interface is up" | ||
16 | fi | ||
17 | |||
18 | if [ "x$ethernet_ipaddr" != "x" ]; then | ||
19 | $IFCONFIG $ethernet_interface $ethernet_ipaddr | ||
20 | fi | ||
21 | |||
22 | $IFCONFIG $ethernet_interface |grep 'inet addr:' |sed -e 's@inet addr:@@' |sed q | awk '{print $1}' | ||
23 | if [ $? -ne 0 ]; then | ||
24 | echo "FAIL: ipaddr of $ethernet_interface setup failed" | ||
25 | exit 1 | ||
26 | else | ||
27 | echo "PASS: ipaddr of $ethernet_interface setup success" | ||
28 | fi | ||
29 | |||
30 | mindatasize=56 | ||
31 | maxdatasize=650 | ||
32 | stepsize=100 | ||
33 | iteration=1 | ||
34 | datasize=$mindatasize | ||
35 | logfile=`/bin/mktemp` | ||
36 | statistics=`/bin/mktemp` | ||
37 | error=0 | ||
38 | |||
39 | trap cleanup SIGHUP SIGINT SIGTERM | ||
40 | |||
41 | clean_tasks() { | ||
42 | echo "Executing clean up tasks" | ||
43 | rm -f $logfile $statistics | ||
44 | } | ||
45 | |||
46 | cleanup() { | ||
47 | echo "Aborting script execution" | ||
48 | clean_tasks | ||
49 | exit 0 | ||
50 | } | ||
51 | |||
52 | echo "start ping test for $ethernet_interface..." | ||
53 | |||
54 | while [ $datasize -le $maxdatasize ]; do | ||
55 | for i in `seq 1 $iteration`; do | ||
56 | ping -c 1 -s $datasize $ethernet_ping_ipaddr > $statistics | ||
57 | ping_err=`echo $?` | ||
58 | echo "" && cat $statistics | grep -r "PING" | ||
59 | cat $statistics | grep -r "received" | ||
60 | [ `echo $?` -eq 0 ] || packets_received=0 && \ | ||
61 | packets_received=`cat $statistics | \ | ||
62 | grep -r "received" | awk '{print$4}'` | ||
63 | |||
64 | # Evaluate possible errors on the ping operation | ||
65 | if [ $ping_err -ne 0 ] || [ $packets_received -eq 0 ]; then | ||
66 | error=1 | ||
67 | echo -e `cat $statistics | grep -r PING` >> $logfile | ||
68 | echo -e "Size: $datasize Iteration: $i\n" >> $logfile | ||
69 | fi | ||
70 | done | ||
71 | let datasize=$datasize+$stepsize | ||
72 | done | ||
73 | |||
74 | # Report failures | ||
75 | if [ $error -eq 1 ]; then | ||
76 | echo -e "=================== error report ===================\n" | ||
77 | cat $logfile | ||
78 | echo -e "====================================================\n" | ||
79 | clean_tasks | ||
80 | echo -e "FAIL: ping test for $ethernet_interface failed\n" | ||
81 | exit 1 | ||
82 | else | ||
83 | clean_tasks | ||
84 | echo -e "PASS: ping test for $ethernet_interface success\n" | ||
85 | fi | ||
86 | |||
87 | echo "PASS: $ethernet_interface test passed" | ||
88 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p4080ds/flash b/recipes-test/ddt-runner/files/scripts/p4080ds/flash new file mode 100755 index 0000000..19f95aa --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p4080ds/flash | |||
@@ -0,0 +1,20 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # This script is used to test flash driver functionality. I removed the write | ||
4 | # operations since all partition are in use in p4080ds and there might be | ||
5 | # possibility of corrupting data even if we backup in test script. | ||
6 | |||
7 | if part_num=`cat /proc/mtd | grep -c 'mtd'`; then | ||
8 | echo "PASS: show $part_num partitions" | ||
9 | else | ||
10 | echo "FAIL: show $part_num partitions" | ||
11 | fi | ||
12 | |||
13 | for((part=0; part<$part_num-1; part++)); | ||
14 | do | ||
15 | if [ $(mtd_debug info /dev/mtd$part | grep -c 'mtd.type') ]; then | ||
16 | echo "PASS: show partition $part debug info" | ||
17 | else | ||
18 | echo "FAIL: show partition $part debug info" | ||
19 | fi | ||
20 | done | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p4080ds/i2c b/recipes-test/ddt-runner/files/scripts/p4080ds/i2c new file mode 100755 index 0000000..5b312b9 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p4080ds/i2c | |||
@@ -0,0 +1,24 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | if I2C_ADAPTERS=$(i2cdetect -l |wc -l); then | ||
4 | echo "PASS: found $I2C_ADAPTERS i2c adapters" | ||
5 | else | ||
6 | echo "FAIL: no i2c adapters found" | ||
7 | exit 1 | ||
8 | fi | ||
9 | |||
10 | if [ -z "$adapters" ]; then | ||
11 | adapters=0 | ||
12 | fi | ||
13 | |||
14 | while [ $adapters -lt $I2C_ADAPTERS ] | ||
15 | do | ||
16 | i2cdetect -y $adapters | ||
17 | if [ $? -ne 0 ]; then | ||
18 | echo "FAIL: detect i2c adapter $adapters failed" | ||
19 | else | ||
20 | echo "PASS: detect i2c adapter $adapters success" | ||
21 | fi | ||
22 | adapters=`expr $adapters + 1` | ||
23 | sleep 1 | ||
24 | done | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p4080ds/rtc b/recipes-test/ddt-runner/files/scripts/p4080ds/rtc new file mode 100755 index 0000000..0d38293 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p4080ds/rtc | |||
@@ -0,0 +1,42 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | RTC_DEVICE="/dev/rtc" | ||
4 | |||
5 | if [ ! -e $RTC_DEVICE ]; then | ||
6 | echo "FAIL: rtc device does not exist" | ||
7 | exit 1 | ||
8 | else | ||
9 | echo "PASS: rtc device exists" | ||
10 | fi | ||
11 | |||
12 | /sbin/hwclock -f $RTC_DEVICE | ||
13 | if [ $? -ne 0 ]; then | ||
14 | echo "FAIL: rtc device open failed" | ||
15 | exit 1 | ||
16 | else | ||
17 | echo "PASS: rtc device open success" | ||
18 | fi | ||
19 | |||
20 | |||
21 | /sbin/hwclock --systohc | ||
22 | if [ $? -ne 0 ]; then | ||
23 | echo "FAIL: sync system clock and hardware clock failed" | ||
24 | exit 1 | ||
25 | else | ||
26 | echo "PASS: sync system clock and hardware clock success" | ||
27 | fi | ||
28 | |||
29 | RTC_TIME=$(/sbin/hwclock -r |awk '{print $4}') | ||
30 | echo $RTC_TIME | ||
31 | SYS_TIME=$(date +%m/%d/%Y-%X |awk '{print $1}' |awk -F- '{print $2}') | ||
32 | echo $SYS_TIME | ||
33 | |||
34 | if [ "$RTC_TIME" = "$SYS_TIME" ] ; then | ||
35 | echo "PASS: system time same with hardware time" | ||
36 | else | ||
37 | echo "FAIL: system time different with hardware time" | ||
38 | exit 1 | ||
39 | fi | ||
40 | |||
41 | echo "PASS: rtc test successful" | ||
42 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p4080ds/sdhc b/recipes-test/ddt-runner/files/scripts/p4080ds/sdhc new file mode 100755 index 0000000..31a7c2f --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p4080ds/sdhc | |||
@@ -0,0 +1,65 @@ | |||
1 | #!/bin/sh | ||
2 | # This script is used to test sdhc functionality for p4080ds. | ||
3 | # The content of SD will be lost by running this test case. | ||
4 | |||
5 | SDHC_DEVICE="/dev/mmcblk0" | ||
6 | SDHC_DEVICE_PART="/dev/mmcblk0p1" | ||
7 | SFDISK=`which sfdisk` | ||
8 | |||
9 | if [ -e $SDHC_DEVICE ]; then | ||
10 | echo "PASS: $SDHC_DEVICE device exists" | ||
11 | else | ||
12 | echo "FAIL: $SDHC_DEVICE does not exist" | ||
13 | exit 1 | ||
14 | fi | ||
15 | |||
16 | if [ -e $SDHC_DEVICE_PART ]; then | ||
17 | echo "PASS: $SDHC_DEVICE_PART device exists" | ||
18 | elif [ ! -z $SFDISK ]; then | ||
19 | |||
20 | echo "Try to create a partition" | ||
21 | |||
22 | $SFDISK $SDHC_DEVICE << EOF | ||
23 | ,,L | ||
24 | EOF | ||
25 | |||
26 | if [ -e $SDHC_DEVICE_PART ]; then | ||
27 | echo "PASS: $SDHC_DEVICE_PART device exists" | ||
28 | else | ||
29 | echo "FAIL: $SDHC_DEVICE_PART does not exist" | ||
30 | exit 1 | ||
31 | fi | ||
32 | |||
33 | else | ||
34 | echo "FAIL: $SDHC_DEVICE_PART does not exist" | ||
35 | exit 1 | ||
36 | fi | ||
37 | |||
38 | mount |grep mmcblk0p1 | ||
39 | if [ $? -eq 0 ]; then | ||
40 | umount $SDHC_DEVICE_PART | ||
41 | fi | ||
42 | |||
43 | /sbin/mkfs.ext2 $SDHC_DEVICE_PART | ||
44 | if [ $? -ne 0 ]; then | ||
45 | echo "FAIL: format $SDHC_DEVICE_PART fail" | ||
46 | exit 1 | ||
47 | else | ||
48 | mkdir -p /mnt/sdhc | ||
49 | mount $SDHC_DEVICE_PART /mnt/sdhc | ||
50 | if [ $? -ne 0 ]; then | ||
51 | echo "FAIL: mount $SDHC_DEVICE_PART fail" | ||
52 | exit 1 | ||
53 | else | ||
54 | cp /bin/busybox /mnt/sdhc | ||
55 | ls /mnt/sdhc |grep busybox | ||
56 | if [ $? -ne 0 ]; then | ||
57 | echo "FAIL: read or write $SDHC_DEVICE_PART fail" | ||
58 | exit 1 | ||
59 | else | ||
60 | umount $SDHC_DEVICE_PART | ||
61 | echo "PASS: read or write $SDHC_DEVICE_PART success" | ||
62 | fi | ||
63 | fi | ||
64 | fi | ||
65 | |||
diff --git a/recipes-test/ddt-runner/files/scripts/p4080ds/spi b/recipes-test/ddt-runner/files/scripts/p4080ds/spi new file mode 100755 index 0000000..b4df851 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p4080ds/spi | |||
@@ -0,0 +1,48 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | #An spi flash M25P80 connect to p4080 cpu by spi bus, so the method | ||
4 | #is to read/write spi flash to verify whether the spi bus driver worked | ||
5 | #or not. | ||
6 | |||
7 | MTD_CHAR_DEVICE="/dev/mtd4" | ||
8 | MTD_BLOCK_DEVICE="/dev/mtdblock4" | ||
9 | |||
10 | if [ ! -e $MTD_CHAR_DEVICE ]; then | ||
11 | echo "FAIL: spi flash device $MTD_CHAR_DEVICE does not exist" | ||
12 | exit 1 | ||
13 | else | ||
14 | echo "PASS: spi flash device $MTD_CHAR_DEVICE exists" | ||
15 | fi | ||
16 | |||
17 | if [ ! -e $MTD_BLOCK_DEVICE ]; then | ||
18 | echo "FAIL: spi flash device $MTD_BLOCK_DEVICE does not exist" | ||
19 | exit 1 | ||
20 | else | ||
21 | echo "PASS: spi flash device $MTD_BLOCK_DEVICE exists" | ||
22 | fi | ||
23 | |||
24 | /usr/sbin/flash_erase -j $MTD_CHAR_DEVICE 0 0 | ||
25 | if [ $? -ne 0 ]; then | ||
26 | echo "FAIL: format spi flash device $MTD_BLOCK_DEVICE fail" | ||
27 | exit 1 | ||
28 | else | ||
29 | mkdir -p /mnt/spi | ||
30 | mount -t jffs2 $MTD_BLOCK_DEVICE /mnt/spi | ||
31 | if [ $? -ne 0 ]; then | ||
32 | echo "FAIL: mount spi flash device $MTD_BLOCK_DEVICE fail" | ||
33 | exit 1 | ||
34 | else | ||
35 | cp /bin/busybox /mnt/spi | ||
36 | ls /mnt/spi |grep busybox | ||
37 | if [ $? -ne 0 ]; then | ||
38 | echo "FAIL: read or write spi flash device $MTD_BLOCK_DEVICE fail" | ||
39 | exit 1 | ||
40 | else | ||
41 | umount $MTD_BLOCK_DEVICE | ||
42 | echo "PASS: read or write spi flash device $MTD_BLOCK_DEVICE success" | ||
43 | fi | ||
44 | fi | ||
45 | fi | ||
46 | |||
47 | echo "PASS: spi bus test passed" | ||
48 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/p4080ds/usb b/recipes-test/ddt-runner/files/scripts/p4080ds/usb new file mode 100755 index 0000000..970e913 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/p4080ds/usb | |||
@@ -0,0 +1,100 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # This script is used to test usb functionality for p4080ds. | ||
4 | # | ||
5 | |||
6 | result=0 | ||
7 | devpath="" | ||
8 | usbinfo="" | ||
9 | |||
10 | usbutils_is_installed=`which lsusb` | ||
11 | if [ -z $usbutils_is_installed ]; then | ||
12 | echo "FAIL: Cannot find lsusb" | ||
13 | exit 1 | ||
14 | fi | ||
15 | |||
16 | usbdev_num=`lsusb | grep -v root\ hub | wc -l` | ||
17 | if [ $usbdev_num -eq 0 ]; then | ||
18 | echo "FAIL: USB device is not connected" | ||
19 | exit 1 | ||
20 | else | ||
21 | echo "$usbdev_num USB device(s) connected" | ||
22 | fi | ||
23 | |||
24 | sd=`ls -l /dev/sd[^0-9] | awk '{print $5 $6 "," $10}'` | ||
25 | if [ -z "$sd" ]; then | ||
26 | echo "FAIL: find sd device" | ||
27 | exit 1 | ||
28 | else | ||
29 | echo "PASS: find sd device" | ||
30 | fi | ||
31 | |||
32 | HDPARM=`which hdparm` | ||
33 | if [ -z $HDPARM ]; then | ||
34 | result=$? | ||
35 | echo "FAIL: find hdparm" | ||
36 | fi | ||
37 | echo "PASS: find hdparm" | ||
38 | |||
39 | for s in $sd | ||
40 | do | ||
41 | devpath=`echo "$s" | awk -F "," '{print "/sys/dev/block/" $1 ":" $2}'` | ||
42 | usbinfo=`ls -l $devpath | grep usb` | ||
43 | |||
44 | if [ -z "$usbinfo" ] ; then | ||
45 | continue | ||
46 | fi | ||
47 | |||
48 | s=`echo "$s" | awk -F "," '{print $3}'` | ||
49 | |||
50 | echo "Testing $s" | ||
51 | $HDPARM -I $s | ||
52 | if [ $? -ne 0 ]; then | ||
53 | result=$? | ||
54 | echo "FAIL: $HDPARM -I $s Detailed/current information directly from $s" | ||
55 | else | ||
56 | echo "PASS: $HDPARM -I $s Detailed/current information directly from $s" | ||
57 | fi | ||
58 | |||
59 | $HDPARM -tT $s | ||
60 | if [ $? -ne 0 ]; then | ||
61 | result=$? | ||
62 | echo "FAIL: $HDPARM -tT $s Perform device/cache read timings on $s" | ||
63 | else | ||
64 | echo "PASS: $HDPARM -tT $s Perform device/cache read timings on $s" | ||
65 | fi | ||
66 | |||
67 | mkdir -p /mnt/usb_tmp | ||
68 | for partition in `ls "$s"[1-9]` | ||
69 | do | ||
70 | echo "Testing $partition" | ||
71 | |||
72 | mount "$partition" /mnt/usb_tmp | ||
73 | if [ $? -ne 0 ]; then | ||
74 | result=$? | ||
75 | echo "FAIL: mount $s" | ||
76 | else | ||
77 | echo "PASS: mount $s" | ||
78 | dd if=/dev/urandom of=/mnt/usb_tmp/writefile bs=1M count=50 | ||
79 | if [ $? -ne 0 ]; then | ||
80 | result=$? | ||
81 | echo "FAIL: write test on $s" | ||
82 | else | ||
83 | echo "PASS: write test on $s" | ||
84 | rm -f /mnt/usb_tmp/writefile | ||
85 | fi | ||
86 | dd if=$s of=/mnt/usb_tmp/readfile bs=1M count=10 | ||
87 | if [ $? -ne 0 ]; then | ||
88 | result=$? | ||
89 | echo "FAIL: read test on $s" | ||
90 | else | ||
91 | echo "PASS: read test on $s" | ||
92 | rm -f /mnt/usb_tmp/readfile | ||
93 | fi | ||
94 | umount /mnt/usb_tmp | ||
95 | fi | ||
96 | done | ||
97 | |||
98 | rm -fr /mnt/usb_tmp | ||
99 | done | ||
100 | exit $result | ||
diff --git a/recipes-test/ddt-runner/files/scripts/pandaboard/ethernet b/recipes-test/ddt-runner/files/scripts/pandaboard/ethernet new file mode 100755 index 0000000..5355f10 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/pandaboard/ethernet | |||
@@ -0,0 +1,88 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | ethernet_interface="eth1" | ||
4 | ethernet_ping_ipaddr="172.21.3.22" | ||
5 | ethernet_ipaddr=$1 | ||
6 | |||
7 | IFCONFIG=`which ifconfig` | ||
8 | |||
9 | $IFCONFIG $ethernet_interface up | ||
10 | $IFCONFIG | grep $ethernet_interface | ||
11 | if [ $? -ne 0 ]; then | ||
12 | echo "FAIL: $ethernet_interface is not up" | ||
13 | exit 1 | ||
14 | else | ||
15 | echo "PASS: $ethernet_interface is up" | ||
16 | fi | ||
17 | |||
18 | if [ "x$ethernet_ipaddr" != "x" ]; then | ||
19 | $IFCONFIG $ethernet_interface $ethernet_ipaddr | ||
20 | fi | ||
21 | |||
22 | $IFCONFIG $ethernet_interface |grep 'inet addr:' |sed -e 's@inet addr:@@' |sed q | awk '{print $1}' | ||
23 | if [ $? -ne 0 ]; then | ||
24 | echo "FAIL: ipaddr of $ethernet_interface setup failed" | ||
25 | exit 1 | ||
26 | else | ||
27 | echo "PASS: ipaddr of $ethernet_interface setup success" | ||
28 | fi | ||
29 | |||
30 | mindatasize=56 | ||
31 | maxdatasize=650 | ||
32 | stepsize=100 | ||
33 | iteration=1 | ||
34 | datasize=$mindatasize | ||
35 | logfile=`/bin/mktemp` | ||
36 | statistics=`/bin/mktemp` | ||
37 | error=0 | ||
38 | |||
39 | trap cleanup SIGHUP SIGINT SIGTERM | ||
40 | |||
41 | clean_tasks() { | ||
42 | echo "Executing clean up tasks" | ||
43 | rm -f $logfile $statistics | ||
44 | } | ||
45 | |||
46 | cleanup() { | ||
47 | echo "Aborting script execution" | ||
48 | clean_tasks | ||
49 | exit 0 | ||
50 | } | ||
51 | |||
52 | echo "start ping test for $ethernet_interface..." | ||
53 | |||
54 | while [ $datasize -le $maxdatasize ]; do | ||
55 | for i in `seq 1 $iteration`; do | ||
56 | ping -c 1 -s $datasize $ethernet_ping_ipaddr > $statistics | ||
57 | ping_err=`echo $?` | ||
58 | echo "" && cat $statistics | grep -r "PING" | ||
59 | cat $statistics | grep -r "received" | ||
60 | [ `echo $?` -eq 0 ] || packets_received=0 && \ | ||
61 | packets_received=`cat $statistics | \ | ||
62 | grep -r "received" | awk '{print$4}'` | ||
63 | |||
64 | # Evaluate possible errors on the ping operation | ||
65 | if [ $ping_err -ne 0 ] || [ $packets_received -eq 0 ]; then | ||
66 | error=1 | ||
67 | echo -e `cat $statistics | grep -r PING` >> $logfile | ||
68 | echo -e "Size: $datasize Iteration: $i\n" >> $logfile | ||
69 | fi | ||
70 | done | ||
71 | let datasize=$datasize+$stepsize | ||
72 | done | ||
73 | |||
74 | # Report failures | ||
75 | if [ $error -eq 1 ]; then | ||
76 | echo -e "=================== error report ===================\n" | ||
77 | cat $logfile | ||
78 | echo -e "====================================================\n" | ||
79 | clean_tasks | ||
80 | echo -e "FAIL: ping test for $ethernet_interface failed\n" | ||
81 | exit 1 | ||
82 | else | ||
83 | clean_tasks | ||
84 | echo -e "PASS: ping test for $ethernet_interface success\n" | ||
85 | fi | ||
86 | |||
87 | echo "PASS: $ethernet_interface test passed" | ||
88 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/pandaboard/i2c b/recipes-test/ddt-runner/files/scripts/pandaboard/i2c new file mode 100755 index 0000000..5b312b9 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/pandaboard/i2c | |||
@@ -0,0 +1,24 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | if I2C_ADAPTERS=$(i2cdetect -l |wc -l); then | ||
4 | echo "PASS: found $I2C_ADAPTERS i2c adapters" | ||
5 | else | ||
6 | echo "FAIL: no i2c adapters found" | ||
7 | exit 1 | ||
8 | fi | ||
9 | |||
10 | if [ -z "$adapters" ]; then | ||
11 | adapters=0 | ||
12 | fi | ||
13 | |||
14 | while [ $adapters -lt $I2C_ADAPTERS ] | ||
15 | do | ||
16 | i2cdetect -y $adapters | ||
17 | if [ $? -ne 0 ]; then | ||
18 | echo "FAIL: detect i2c adapter $adapters failed" | ||
19 | else | ||
20 | echo "PASS: detect i2c adapter $adapters success" | ||
21 | fi | ||
22 | adapters=`expr $adapters + 1` | ||
23 | sleep 1 | ||
24 | done | ||
diff --git a/recipes-test/ddt-runner/files/scripts/pandaboard/rtc b/recipes-test/ddt-runner/files/scripts/pandaboard/rtc new file mode 100755 index 0000000..0d38293 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/pandaboard/rtc | |||
@@ -0,0 +1,42 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | RTC_DEVICE="/dev/rtc" | ||
4 | |||
5 | if [ ! -e $RTC_DEVICE ]; then | ||
6 | echo "FAIL: rtc device does not exist" | ||
7 | exit 1 | ||
8 | else | ||
9 | echo "PASS: rtc device exists" | ||
10 | fi | ||
11 | |||
12 | /sbin/hwclock -f $RTC_DEVICE | ||
13 | if [ $? -ne 0 ]; then | ||
14 | echo "FAIL: rtc device open failed" | ||
15 | exit 1 | ||
16 | else | ||
17 | echo "PASS: rtc device open success" | ||
18 | fi | ||
19 | |||
20 | |||
21 | /sbin/hwclock --systohc | ||
22 | if [ $? -ne 0 ]; then | ||
23 | echo "FAIL: sync system clock and hardware clock failed" | ||
24 | exit 1 | ||
25 | else | ||
26 | echo "PASS: sync system clock and hardware clock success" | ||
27 | fi | ||
28 | |||
29 | RTC_TIME=$(/sbin/hwclock -r |awk '{print $4}') | ||
30 | echo $RTC_TIME | ||
31 | SYS_TIME=$(date +%m/%d/%Y-%X |awk '{print $1}' |awk -F- '{print $2}') | ||
32 | echo $SYS_TIME | ||
33 | |||
34 | if [ "$RTC_TIME" = "$SYS_TIME" ] ; then | ||
35 | echo "PASS: system time same with hardware time" | ||
36 | else | ||
37 | echo "FAIL: system time different with hardware time" | ||
38 | exit 1 | ||
39 | fi | ||
40 | |||
41 | echo "PASS: rtc test successful" | ||
42 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/pandaboard/sdhc b/recipes-test/ddt-runner/files/scripts/pandaboard/sdhc new file mode 100755 index 0000000..e341ebc --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/pandaboard/sdhc | |||
@@ -0,0 +1,65 @@ | |||
1 | #!/bin/sh | ||
2 | # This script is used to test sdhc functionality for pandaboard. | ||
3 | # The content of SD will be lost by running this test case. | ||
4 | |||
5 | SDHC_DEVICE="/dev/mmcblk0" | ||
6 | SDHC_DEVICE_PART="/dev/mmcblk0p1" | ||
7 | SFDISK=`which sfdisk` | ||
8 | |||
9 | if [ -e $SDHC_DEVICE ]; then | ||
10 | echo "PASS: $SDHC_DEVICE device exists" | ||
11 | else | ||
12 | echo "FAIL: $SDHC_DEVICE does not exist" | ||
13 | exit 1 | ||
14 | fi | ||
15 | |||
16 | if [ -e $SDHC_DEVICE_PART ]; then | ||
17 | echo "PASS: $SDHC_DEVICE_PART device exists" | ||
18 | elif [ ! -z $SFDISK ]; then | ||
19 | |||
20 | echo "Try to create a partition" | ||
21 | |||
22 | $SFDISK $SDHC_DEVICE << EOF | ||
23 | ,,L | ||
24 | EOF | ||
25 | |||
26 | if [ -e $SDHC_DEVICE_PART ]; then | ||
27 | echo "PASS: $SDHC_DEVICE_PART device exists" | ||
28 | else | ||
29 | echo "FAIL: $SDHC_DEVICE_PART does not exist" | ||
30 | exit 1 | ||
31 | fi | ||
32 | |||
33 | else | ||
34 | echo "FAIL: $SDHC_DEVICE_PART does not exist" | ||
35 | exit 1 | ||
36 | fi | ||
37 | |||
38 | mount |grep mmcblk0p1 | ||
39 | if [ $? -eq 0 ]; then | ||
40 | umount $SDHC_DEVICE_PART | ||
41 | fi | ||
42 | |||
43 | /sbin/mkfs.ext2 $SDHC_DEVICE_PART | ||
44 | if [ $? -ne 0 ]; then | ||
45 | echo "FAIL: format $SDHC_DEVICE_PART fail" | ||
46 | exit 1 | ||
47 | else | ||
48 | mkdir -p /mnt/sdhc | ||
49 | mount $SDHC_DEVICE_PART /mnt/sdhc | ||
50 | if [ $? -ne 0 ]; then | ||
51 | echo "FAIL: mount $SDHC_DEVICE_PART fail" | ||
52 | exit 1 | ||
53 | else | ||
54 | cp /bin/busybox /mnt/sdhc | ||
55 | ls /mnt/sdhc |grep busybox | ||
56 | if [ $? -ne 0 ]; then | ||
57 | echo "FAIL: read or write $SDHC_DEVICE_PART fail" | ||
58 | exit 1 | ||
59 | else | ||
60 | umount $SDHC_DEVICE_PART | ||
61 | echo "PASS: read or write $SDHC_DEVICE_PART success" | ||
62 | fi | ||
63 | fi | ||
64 | fi | ||
65 | |||
diff --git a/recipes-test/ddt-runner/files/scripts/pandaboard/usb b/recipes-test/ddt-runner/files/scripts/pandaboard/usb new file mode 100755 index 0000000..15c417a --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/pandaboard/usb | |||
@@ -0,0 +1,100 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # This script is used to test usb functionality for romley-ivb. | ||
4 | # | ||
5 | |||
6 | result=0 | ||
7 | devpath="" | ||
8 | usbinfo="" | ||
9 | |||
10 | usbutils_is_installed=`which lsusb` | ||
11 | if [ -z $usbutils_is_installed ]; then | ||
12 | echo "FAIL: Cannot find lsusb" | ||
13 | exit 1 | ||
14 | fi | ||
15 | |||
16 | usbdev_num=`lsusb | grep -v root\ hub | wc -l` | ||
17 | if [ $usbdev_num -eq 0 ]; then | ||
18 | echo "FAIL: USB device is not connected" | ||
19 | exit 1 | ||
20 | else | ||
21 | echo "$usbdev_num USB device(s) connected" | ||
22 | fi | ||
23 | |||
24 | sd=`ls -l /dev/sd[^0-9] | awk '{print $5 $6 "," $10}'` | ||
25 | if [ -z "$sd" ]; then | ||
26 | echo "FAIL: find sd device" | ||
27 | exit 1 | ||
28 | else | ||
29 | echo "PASS: find sd device" | ||
30 | fi | ||
31 | |||
32 | HDPARM=`which hdparm` | ||
33 | if [ -z $HDPARM ]; then | ||
34 | result=$? | ||
35 | echo "FAIL: find hdparm" | ||
36 | fi | ||
37 | echo "PASS: find hdparm" | ||
38 | |||
39 | for s in $sd | ||
40 | do | ||
41 | devpath=`echo "$s" | awk -F "," '{print "/sys/dev/block/" $1 ":" $2}'` | ||
42 | usbinfo=`ls -l $devpath | grep usb` | ||
43 | |||
44 | if [ -z "$usbinfo" ] ; then | ||
45 | continue | ||
46 | fi | ||
47 | |||
48 | s=`echo "$s" | awk -F "," '{print $3}'` | ||
49 | |||
50 | echo "Testing $s" | ||
51 | $HDPARM -I $s | ||
52 | if [ $? -ne 0 ]; then | ||
53 | result=$? | ||
54 | echo "FAIL: $HDPARM -I $s Detailed/current information directly from $s" | ||
55 | else | ||
56 | echo "PASS: $HDPARM -I $s Detailed/current information directly from $s" | ||
57 | fi | ||
58 | |||
59 | $HDPARM -tT $s | ||
60 | if [ $? -ne 0 ]; then | ||
61 | result=$? | ||
62 | echo "FAIL: $HDPARM -tT $s Perform device/cache read timings on $s" | ||
63 | else | ||
64 | echo "PASS: $HDPARM -tT $s Perform device/cache read timings on $s" | ||
65 | fi | ||
66 | |||
67 | mkdir -p /mnt/usb_tmp | ||
68 | for partition in `ls "$s"[1-9]` | ||
69 | do | ||
70 | echo "Testing $partition" | ||
71 | |||
72 | mount "$partition" /mnt/usb_tmp | ||
73 | if [ $? -ne 0 ]; then | ||
74 | result=$? | ||
75 | echo "FAIL: mount $s" | ||
76 | else | ||
77 | echo "PASS: mount $s" | ||
78 | dd if=/dev/urandom of=/mnt/usb_tmp/writefile bs=1M count=50 | ||
79 | if [ $? -ne 0 ]; then | ||
80 | result=$? | ||
81 | echo "FAIL: write test on $s" | ||
82 | else | ||
83 | echo "PASS: write test on $s" | ||
84 | rm -f /mnt/usb_tmp/writefile | ||
85 | fi | ||
86 | dd if=$s of=/mnt/usb_tmp/readfile bs=1M count=10 | ||
87 | if [ $? -ne 0 ]; then | ||
88 | result=$? | ||
89 | echo "FAIL: read test on $s" | ||
90 | else | ||
91 | echo "PASS: read test on $s" | ||
92 | rm -f /mnt/usb_tmp/readfile | ||
93 | fi | ||
94 | umount /mnt/usb_tmp | ||
95 | fi | ||
96 | done | ||
97 | |||
98 | rm -fr /mnt/usb_tmp | ||
99 | done | ||
100 | exit $result | ||
diff --git a/recipes-test/ddt-runner/files/scripts/proliant-m800/ethernet b/recipes-test/ddt-runner/files/scripts/proliant-m800/ethernet new file mode 100755 index 0000000..5355f10 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/proliant-m800/ethernet | |||
@@ -0,0 +1,88 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | ethernet_interface="eth1" | ||
4 | ethernet_ping_ipaddr="172.21.3.22" | ||
5 | ethernet_ipaddr=$1 | ||
6 | |||
7 | IFCONFIG=`which ifconfig` | ||
8 | |||
9 | $IFCONFIG $ethernet_interface up | ||
10 | $IFCONFIG | grep $ethernet_interface | ||
11 | if [ $? -ne 0 ]; then | ||
12 | echo "FAIL: $ethernet_interface is not up" | ||
13 | exit 1 | ||
14 | else | ||
15 | echo "PASS: $ethernet_interface is up" | ||
16 | fi | ||
17 | |||
18 | if [ "x$ethernet_ipaddr" != "x" ]; then | ||
19 | $IFCONFIG $ethernet_interface $ethernet_ipaddr | ||
20 | fi | ||
21 | |||
22 | $IFCONFIG $ethernet_interface |grep 'inet addr:' |sed -e 's@inet addr:@@' |sed q | awk '{print $1}' | ||
23 | if [ $? -ne 0 ]; then | ||
24 | echo "FAIL: ipaddr of $ethernet_interface setup failed" | ||
25 | exit 1 | ||
26 | else | ||
27 | echo "PASS: ipaddr of $ethernet_interface setup success" | ||
28 | fi | ||
29 | |||
30 | mindatasize=56 | ||
31 | maxdatasize=650 | ||
32 | stepsize=100 | ||
33 | iteration=1 | ||
34 | datasize=$mindatasize | ||
35 | logfile=`/bin/mktemp` | ||
36 | statistics=`/bin/mktemp` | ||
37 | error=0 | ||
38 | |||
39 | trap cleanup SIGHUP SIGINT SIGTERM | ||
40 | |||
41 | clean_tasks() { | ||
42 | echo "Executing clean up tasks" | ||
43 | rm -f $logfile $statistics | ||
44 | } | ||
45 | |||
46 | cleanup() { | ||
47 | echo "Aborting script execution" | ||
48 | clean_tasks | ||
49 | exit 0 | ||
50 | } | ||
51 | |||
52 | echo "start ping test for $ethernet_interface..." | ||
53 | |||
54 | while [ $datasize -le $maxdatasize ]; do | ||
55 | for i in `seq 1 $iteration`; do | ||
56 | ping -c 1 -s $datasize $ethernet_ping_ipaddr > $statistics | ||
57 | ping_err=`echo $?` | ||
58 | echo "" && cat $statistics | grep -r "PING" | ||
59 | cat $statistics | grep -r "received" | ||
60 | [ `echo $?` -eq 0 ] || packets_received=0 && \ | ||
61 | packets_received=`cat $statistics | \ | ||
62 | grep -r "received" | awk '{print$4}'` | ||
63 | |||
64 | # Evaluate possible errors on the ping operation | ||
65 | if [ $ping_err -ne 0 ] || [ $packets_received -eq 0 ]; then | ||
66 | error=1 | ||
67 | echo -e `cat $statistics | grep -r PING` >> $logfile | ||
68 | echo -e "Size: $datasize Iteration: $i\n" >> $logfile | ||
69 | fi | ||
70 | done | ||
71 | let datasize=$datasize+$stepsize | ||
72 | done | ||
73 | |||
74 | # Report failures | ||
75 | if [ $error -eq 1 ]; then | ||
76 | echo -e "=================== error report ===================\n" | ||
77 | cat $logfile | ||
78 | echo -e "====================================================\n" | ||
79 | clean_tasks | ||
80 | echo -e "FAIL: ping test for $ethernet_interface failed\n" | ||
81 | exit 1 | ||
82 | else | ||
83 | clean_tasks | ||
84 | echo -e "PASS: ping test for $ethernet_interface success\n" | ||
85 | fi | ||
86 | |||
87 | echo "PASS: $ethernet_interface test passed" | ||
88 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/proliant-m800/i2c b/recipes-test/ddt-runner/files/scripts/proliant-m800/i2c new file mode 100755 index 0000000..5202950 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/proliant-m800/i2c | |||
@@ -0,0 +1,24 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | if I2C_ADAPTERS=$(i2cdetect -l |wc -l); then | ||
4 | echo "PASS: found $I2C_ADAPTERS i2c adapters" | ||
5 | else | ||
6 | echo "FAIL: no i2c adapters found" | ||
7 | exit 1 | ||
8 | fi | ||
9 | |||
10 | if [ -z "$adapters" ]; then | ||
11 | adapters=0 | ||
12 | fi | ||
13 | |||
14 | while [ $adapters -lt $I2C_ADAPTERS ] | ||
15 | do | ||
16 | i2cdetect -y $adapters | ||
17 | if [ $? -ne 0 ]; then | ||
18 | echo "FAIL: detect i2c adapter $adapters failed" | ||
19 | else | ||
20 | echo "PASS: detect i2c adapter $adapters success" | ||
21 | fi | ||
22 | adapters=`expr $adapters + 1` | ||
23 | sleep 1 | ||
24 | done | ||
diff --git a/recipes-test/ddt-runner/files/scripts/proliant-m800/sata b/recipes-test/ddt-runner/files/scripts/proliant-m800/sata new file mode 100755 index 0000000..25bf15a --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/proliant-m800/sata | |||
@@ -0,0 +1,81 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | #This script is to test sata devices on target | ||
4 | # | ||
5 | result=0 | ||
6 | devpath="" | ||
7 | satainfo="" | ||
8 | SD=`ls -l /dev/sd[^0-9] | awk '{print $5 $6 "," $10}'` | ||
9 | if [ -z "$SD" ]; then | ||
10 | echo "FAIL: find sata device" | ||
11 | exit 1 | ||
12 | else | ||
13 | echo "PASS: find sata device" | ||
14 | fi | ||
15 | HDPARM=`which hdparm` | ||
16 | if [ -z $HDPARM ]; then | ||
17 | result=$? | ||
18 | echo "FAIL: find hdparm" | ||
19 | fi | ||
20 | echo "PASS: find hdparm" | ||
21 | |||
22 | |||
23 | for s in $SD | ||
24 | do | ||
25 | devpath=`echo "$s" | awk -F "," '{print "/sys/dev/block/" $1 ":" $2}'` | ||
26 | satainfo=`ls -l $devpath | grep sata` | ||
27 | |||
28 | if [ -z "$satainfo" ] ; then | ||
29 | continue | ||
30 | fi | ||
31 | s=`echo "$s" | awk -F "," '{print $3}'` | ||
32 | |||
33 | echo "testing $s" | ||
34 | $HDPARM -I $s | ||
35 | if [ $? -ne 0 ]; then | ||
36 | result=$? | ||
37 | echo "FAIL: $HDPARM -I $s Detailed/current information directly from $s" | ||
38 | else | ||
39 | echo "PASS: $HDPARM -I $s Detailed/current information directly from $s" | ||
40 | fi | ||
41 | $HDPARM -tT $s | ||
42 | if [ $? -ne 0 ]; then | ||
43 | result=$? | ||
44 | echo "FAIL: $HDPARM -tT $s Perform device/cache read timings on $s" | ||
45 | else | ||
46 | echo "PASS: $HDPARM -tT $s Perform device/cache read timings on $s" | ||
47 | fi | ||
48 | |||
49 | |||
50 | mkdir -p /mnt/sata_tmp | ||
51 | for partition in `ls "$s"[1-9]` | ||
52 | do | ||
53 | mount "$partition" /mnt/sata_tmp | ||
54 | if [ $? -ne 0 ]; then | ||
55 | result=$? | ||
56 | echo "FAIL: Mount $s" | ||
57 | else | ||
58 | echo "PASS: Mount $s" | ||
59 | dd if=/dev/urandom of=/mnt/sata_tmp/writefile bs=1M count=50 | ||
60 | if [ $? -ne 0 ]; then | ||
61 | result=$? | ||
62 | echo "FAIL: write test on $s" | ||
63 | else | ||
64 | echo "PASS: write test on $s" | ||
65 | rm -f /mnt/sata_tmp/writefile | ||
66 | fi | ||
67 | dd if=$s of=/mnt/sata_tmp/readfile bs=1M count=10 | ||
68 | if [ $? -ne 0 ]; then | ||
69 | result=$? | ||
70 | echo "FAIL: read test on $s" | ||
71 | else | ||
72 | echo "PASS: read test on $s" | ||
73 | rm -f /mnt/sata_tmp/readfile | ||
74 | fi | ||
75 | umount /mnt/sata_tmp | ||
76 | fi | ||
77 | done | ||
78 | |||
79 | rm -fr /mnt/sata_tmp | ||
80 | done | ||
81 | exit $result | ||
diff --git a/recipes-test/ddt-runner/files/scripts/romley-ivb/ethernet b/recipes-test/ddt-runner/files/scripts/romley-ivb/ethernet new file mode 100755 index 0000000..5355f10 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/romley-ivb/ethernet | |||
@@ -0,0 +1,88 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | ethernet_interface="eth1" | ||
4 | ethernet_ping_ipaddr="172.21.3.22" | ||
5 | ethernet_ipaddr=$1 | ||
6 | |||
7 | IFCONFIG=`which ifconfig` | ||
8 | |||
9 | $IFCONFIG $ethernet_interface up | ||
10 | $IFCONFIG | grep $ethernet_interface | ||
11 | if [ $? -ne 0 ]; then | ||
12 | echo "FAIL: $ethernet_interface is not up" | ||
13 | exit 1 | ||
14 | else | ||
15 | echo "PASS: $ethernet_interface is up" | ||
16 | fi | ||
17 | |||
18 | if [ "x$ethernet_ipaddr" != "x" ]; then | ||
19 | $IFCONFIG $ethernet_interface $ethernet_ipaddr | ||
20 | fi | ||
21 | |||
22 | $IFCONFIG $ethernet_interface |grep 'inet addr:' |sed -e 's@inet addr:@@' |sed q | awk '{print $1}' | ||
23 | if [ $? -ne 0 ]; then | ||
24 | echo "FAIL: ipaddr of $ethernet_interface setup failed" | ||
25 | exit 1 | ||
26 | else | ||
27 | echo "PASS: ipaddr of $ethernet_interface setup success" | ||
28 | fi | ||
29 | |||
30 | mindatasize=56 | ||
31 | maxdatasize=650 | ||
32 | stepsize=100 | ||
33 | iteration=1 | ||
34 | datasize=$mindatasize | ||
35 | logfile=`/bin/mktemp` | ||
36 | statistics=`/bin/mktemp` | ||
37 | error=0 | ||
38 | |||
39 | trap cleanup SIGHUP SIGINT SIGTERM | ||
40 | |||
41 | clean_tasks() { | ||
42 | echo "Executing clean up tasks" | ||
43 | rm -f $logfile $statistics | ||
44 | } | ||
45 | |||
46 | cleanup() { | ||
47 | echo "Aborting script execution" | ||
48 | clean_tasks | ||
49 | exit 0 | ||
50 | } | ||
51 | |||
52 | echo "start ping test for $ethernet_interface..." | ||
53 | |||
54 | while [ $datasize -le $maxdatasize ]; do | ||
55 | for i in `seq 1 $iteration`; do | ||
56 | ping -c 1 -s $datasize $ethernet_ping_ipaddr > $statistics | ||
57 | ping_err=`echo $?` | ||
58 | echo "" && cat $statistics | grep -r "PING" | ||
59 | cat $statistics | grep -r "received" | ||
60 | [ `echo $?` -eq 0 ] || packets_received=0 && \ | ||
61 | packets_received=`cat $statistics | \ | ||
62 | grep -r "received" | awk '{print$4}'` | ||
63 | |||
64 | # Evaluate possible errors on the ping operation | ||
65 | if [ $ping_err -ne 0 ] || [ $packets_received -eq 0 ]; then | ||
66 | error=1 | ||
67 | echo -e `cat $statistics | grep -r PING` >> $logfile | ||
68 | echo -e "Size: $datasize Iteration: $i\n" >> $logfile | ||
69 | fi | ||
70 | done | ||
71 | let datasize=$datasize+$stepsize | ||
72 | done | ||
73 | |||
74 | # Report failures | ||
75 | if [ $error -eq 1 ]; then | ||
76 | echo -e "=================== error report ===================\n" | ||
77 | cat $logfile | ||
78 | echo -e "====================================================\n" | ||
79 | clean_tasks | ||
80 | echo -e "FAIL: ping test for $ethernet_interface failed\n" | ||
81 | exit 1 | ||
82 | else | ||
83 | clean_tasks | ||
84 | echo -e "PASS: ping test for $ethernet_interface success\n" | ||
85 | fi | ||
86 | |||
87 | echo "PASS: $ethernet_interface test passed" | ||
88 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/romley-ivb/rtc b/recipes-test/ddt-runner/files/scripts/romley-ivb/rtc new file mode 100755 index 0000000..0d38293 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/romley-ivb/rtc | |||
@@ -0,0 +1,42 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | RTC_DEVICE="/dev/rtc" | ||
4 | |||
5 | if [ ! -e $RTC_DEVICE ]; then | ||
6 | echo "FAIL: rtc device does not exist" | ||
7 | exit 1 | ||
8 | else | ||
9 | echo "PASS: rtc device exists" | ||
10 | fi | ||
11 | |||
12 | /sbin/hwclock -f $RTC_DEVICE | ||
13 | if [ $? -ne 0 ]; then | ||
14 | echo "FAIL: rtc device open failed" | ||
15 | exit 1 | ||
16 | else | ||
17 | echo "PASS: rtc device open success" | ||
18 | fi | ||
19 | |||
20 | |||
21 | /sbin/hwclock --systohc | ||
22 | if [ $? -ne 0 ]; then | ||
23 | echo "FAIL: sync system clock and hardware clock failed" | ||
24 | exit 1 | ||
25 | else | ||
26 | echo "PASS: sync system clock and hardware clock success" | ||
27 | fi | ||
28 | |||
29 | RTC_TIME=$(/sbin/hwclock -r |awk '{print $4}') | ||
30 | echo $RTC_TIME | ||
31 | SYS_TIME=$(date +%m/%d/%Y-%X |awk '{print $1}' |awk -F- '{print $2}') | ||
32 | echo $SYS_TIME | ||
33 | |||
34 | if [ "$RTC_TIME" = "$SYS_TIME" ] ; then | ||
35 | echo "PASS: system time same with hardware time" | ||
36 | else | ||
37 | echo "FAIL: system time different with hardware time" | ||
38 | exit 1 | ||
39 | fi | ||
40 | |||
41 | echo "PASS: rtc test successful" | ||
42 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/romley-ivb/sata b/recipes-test/ddt-runner/files/scripts/romley-ivb/sata new file mode 100755 index 0000000..25bf15a --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/romley-ivb/sata | |||
@@ -0,0 +1,81 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | #This script is to test sata devices on target | ||
4 | # | ||
5 | result=0 | ||
6 | devpath="" | ||
7 | satainfo="" | ||
8 | SD=`ls -l /dev/sd[^0-9] | awk '{print $5 $6 "," $10}'` | ||
9 | if [ -z "$SD" ]; then | ||
10 | echo "FAIL: find sata device" | ||
11 | exit 1 | ||
12 | else | ||
13 | echo "PASS: find sata device" | ||
14 | fi | ||
15 | HDPARM=`which hdparm` | ||
16 | if [ -z $HDPARM ]; then | ||
17 | result=$? | ||
18 | echo "FAIL: find hdparm" | ||
19 | fi | ||
20 | echo "PASS: find hdparm" | ||
21 | |||
22 | |||
23 | for s in $SD | ||
24 | do | ||
25 | devpath=`echo "$s" | awk -F "," '{print "/sys/dev/block/" $1 ":" $2}'` | ||
26 | satainfo=`ls -l $devpath | grep sata` | ||
27 | |||
28 | if [ -z "$satainfo" ] ; then | ||
29 | continue | ||
30 | fi | ||
31 | s=`echo "$s" | awk -F "," '{print $3}'` | ||
32 | |||
33 | echo "testing $s" | ||
34 | $HDPARM -I $s | ||
35 | if [ $? -ne 0 ]; then | ||
36 | result=$? | ||
37 | echo "FAIL: $HDPARM -I $s Detailed/current information directly from $s" | ||
38 | else | ||
39 | echo "PASS: $HDPARM -I $s Detailed/current information directly from $s" | ||
40 | fi | ||
41 | $HDPARM -tT $s | ||
42 | if [ $? -ne 0 ]; then | ||
43 | result=$? | ||
44 | echo "FAIL: $HDPARM -tT $s Perform device/cache read timings on $s" | ||
45 | else | ||
46 | echo "PASS: $HDPARM -tT $s Perform device/cache read timings on $s" | ||
47 | fi | ||
48 | |||
49 | |||
50 | mkdir -p /mnt/sata_tmp | ||
51 | for partition in `ls "$s"[1-9]` | ||
52 | do | ||
53 | mount "$partition" /mnt/sata_tmp | ||
54 | if [ $? -ne 0 ]; then | ||
55 | result=$? | ||
56 | echo "FAIL: Mount $s" | ||
57 | else | ||
58 | echo "PASS: Mount $s" | ||
59 | dd if=/dev/urandom of=/mnt/sata_tmp/writefile bs=1M count=50 | ||
60 | if [ $? -ne 0 ]; then | ||
61 | result=$? | ||
62 | echo "FAIL: write test on $s" | ||
63 | else | ||
64 | echo "PASS: write test on $s" | ||
65 | rm -f /mnt/sata_tmp/writefile | ||
66 | fi | ||
67 | dd if=$s of=/mnt/sata_tmp/readfile bs=1M count=10 | ||
68 | if [ $? -ne 0 ]; then | ||
69 | result=$? | ||
70 | echo "FAIL: read test on $s" | ||
71 | else | ||
72 | echo "PASS: read test on $s" | ||
73 | rm -f /mnt/sata_tmp/readfile | ||
74 | fi | ||
75 | umount /mnt/sata_tmp | ||
76 | fi | ||
77 | done | ||
78 | |||
79 | rm -fr /mnt/sata_tmp | ||
80 | done | ||
81 | exit $result | ||
diff --git a/recipes-test/ddt-runner/files/scripts/romley-ivb/usb b/recipes-test/ddt-runner/files/scripts/romley-ivb/usb new file mode 100755 index 0000000..15c417a --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/romley-ivb/usb | |||
@@ -0,0 +1,100 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # This script is used to test usb functionality for romley-ivb. | ||
4 | # | ||
5 | |||
6 | result=0 | ||
7 | devpath="" | ||
8 | usbinfo="" | ||
9 | |||
10 | usbutils_is_installed=`which lsusb` | ||
11 | if [ -z $usbutils_is_installed ]; then | ||
12 | echo "FAIL: Cannot find lsusb" | ||
13 | exit 1 | ||
14 | fi | ||
15 | |||
16 | usbdev_num=`lsusb | grep -v root\ hub | wc -l` | ||
17 | if [ $usbdev_num -eq 0 ]; then | ||
18 | echo "FAIL: USB device is not connected" | ||
19 | exit 1 | ||
20 | else | ||
21 | echo "$usbdev_num USB device(s) connected" | ||
22 | fi | ||
23 | |||
24 | sd=`ls -l /dev/sd[^0-9] | awk '{print $5 $6 "," $10}'` | ||
25 | if [ -z "$sd" ]; then | ||
26 | echo "FAIL: find sd device" | ||
27 | exit 1 | ||
28 | else | ||
29 | echo "PASS: find sd device" | ||
30 | fi | ||
31 | |||
32 | HDPARM=`which hdparm` | ||
33 | if [ -z $HDPARM ]; then | ||
34 | result=$? | ||
35 | echo "FAIL: find hdparm" | ||
36 | fi | ||
37 | echo "PASS: find hdparm" | ||
38 | |||
39 | for s in $sd | ||
40 | do | ||
41 | devpath=`echo "$s" | awk -F "," '{print "/sys/dev/block/" $1 ":" $2}'` | ||
42 | usbinfo=`ls -l $devpath | grep usb` | ||
43 | |||
44 | if [ -z "$usbinfo" ] ; then | ||
45 | continue | ||
46 | fi | ||
47 | |||
48 | s=`echo "$s" | awk -F "," '{print $3}'` | ||
49 | |||
50 | echo "Testing $s" | ||
51 | $HDPARM -I $s | ||
52 | if [ $? -ne 0 ]; then | ||
53 | result=$? | ||
54 | echo "FAIL: $HDPARM -I $s Detailed/current information directly from $s" | ||
55 | else | ||
56 | echo "PASS: $HDPARM -I $s Detailed/current information directly from $s" | ||
57 | fi | ||
58 | |||
59 | $HDPARM -tT $s | ||
60 | if [ $? -ne 0 ]; then | ||
61 | result=$? | ||
62 | echo "FAIL: $HDPARM -tT $s Perform device/cache read timings on $s" | ||
63 | else | ||
64 | echo "PASS: $HDPARM -tT $s Perform device/cache read timings on $s" | ||
65 | fi | ||
66 | |||
67 | mkdir -p /mnt/usb_tmp | ||
68 | for partition in `ls "$s"[1-9]` | ||
69 | do | ||
70 | echo "Testing $partition" | ||
71 | |||
72 | mount "$partition" /mnt/usb_tmp | ||
73 | if [ $? -ne 0 ]; then | ||
74 | result=$? | ||
75 | echo "FAIL: mount $s" | ||
76 | else | ||
77 | echo "PASS: mount $s" | ||
78 | dd if=/dev/urandom of=/mnt/usb_tmp/writefile bs=1M count=50 | ||
79 | if [ $? -ne 0 ]; then | ||
80 | result=$? | ||
81 | echo "FAIL: write test on $s" | ||
82 | else | ||
83 | echo "PASS: write test on $s" | ||
84 | rm -f /mnt/usb_tmp/writefile | ||
85 | fi | ||
86 | dd if=$s of=/mnt/usb_tmp/readfile bs=1M count=10 | ||
87 | if [ $? -ne 0 ]; then | ||
88 | result=$? | ||
89 | echo "FAIL: read test on $s" | ||
90 | else | ||
91 | echo "PASS: read test on $s" | ||
92 | rm -f /mnt/usb_tmp/readfile | ||
93 | fi | ||
94 | umount /mnt/usb_tmp | ||
95 | fi | ||
96 | done | ||
97 | |||
98 | rm -fr /mnt/usb_tmp | ||
99 | done | ||
100 | exit $result | ||
diff --git a/recipes-test/ddt-runner/files/scripts/zc702-zynq7/ethernet b/recipes-test/ddt-runner/files/scripts/zc702-zynq7/ethernet new file mode 100755 index 0000000..5355f10 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/zc702-zynq7/ethernet | |||
@@ -0,0 +1,88 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | ethernet_interface="eth1" | ||
4 | ethernet_ping_ipaddr="172.21.3.22" | ||
5 | ethernet_ipaddr=$1 | ||
6 | |||
7 | IFCONFIG=`which ifconfig` | ||
8 | |||
9 | $IFCONFIG $ethernet_interface up | ||
10 | $IFCONFIG | grep $ethernet_interface | ||
11 | if [ $? -ne 0 ]; then | ||
12 | echo "FAIL: $ethernet_interface is not up" | ||
13 | exit 1 | ||
14 | else | ||
15 | echo "PASS: $ethernet_interface is up" | ||
16 | fi | ||
17 | |||
18 | if [ "x$ethernet_ipaddr" != "x" ]; then | ||
19 | $IFCONFIG $ethernet_interface $ethernet_ipaddr | ||
20 | fi | ||
21 | |||
22 | $IFCONFIG $ethernet_interface |grep 'inet addr:' |sed -e 's@inet addr:@@' |sed q | awk '{print $1}' | ||
23 | if [ $? -ne 0 ]; then | ||
24 | echo "FAIL: ipaddr of $ethernet_interface setup failed" | ||
25 | exit 1 | ||
26 | else | ||
27 | echo "PASS: ipaddr of $ethernet_interface setup success" | ||
28 | fi | ||
29 | |||
30 | mindatasize=56 | ||
31 | maxdatasize=650 | ||
32 | stepsize=100 | ||
33 | iteration=1 | ||
34 | datasize=$mindatasize | ||
35 | logfile=`/bin/mktemp` | ||
36 | statistics=`/bin/mktemp` | ||
37 | error=0 | ||
38 | |||
39 | trap cleanup SIGHUP SIGINT SIGTERM | ||
40 | |||
41 | clean_tasks() { | ||
42 | echo "Executing clean up tasks" | ||
43 | rm -f $logfile $statistics | ||
44 | } | ||
45 | |||
46 | cleanup() { | ||
47 | echo "Aborting script execution" | ||
48 | clean_tasks | ||
49 | exit 0 | ||
50 | } | ||
51 | |||
52 | echo "start ping test for $ethernet_interface..." | ||
53 | |||
54 | while [ $datasize -le $maxdatasize ]; do | ||
55 | for i in `seq 1 $iteration`; do | ||
56 | ping -c 1 -s $datasize $ethernet_ping_ipaddr > $statistics | ||
57 | ping_err=`echo $?` | ||
58 | echo "" && cat $statistics | grep -r "PING" | ||
59 | cat $statistics | grep -r "received" | ||
60 | [ `echo $?` -eq 0 ] || packets_received=0 && \ | ||
61 | packets_received=`cat $statistics | \ | ||
62 | grep -r "received" | awk '{print$4}'` | ||
63 | |||
64 | # Evaluate possible errors on the ping operation | ||
65 | if [ $ping_err -ne 0 ] || [ $packets_received -eq 0 ]; then | ||
66 | error=1 | ||
67 | echo -e `cat $statistics | grep -r PING` >> $logfile | ||
68 | echo -e "Size: $datasize Iteration: $i\n" >> $logfile | ||
69 | fi | ||
70 | done | ||
71 | let datasize=$datasize+$stepsize | ||
72 | done | ||
73 | |||
74 | # Report failures | ||
75 | if [ $error -eq 1 ]; then | ||
76 | echo -e "=================== error report ===================\n" | ||
77 | cat $logfile | ||
78 | echo -e "====================================================\n" | ||
79 | clean_tasks | ||
80 | echo -e "FAIL: ping test for $ethernet_interface failed\n" | ||
81 | exit 1 | ||
82 | else | ||
83 | clean_tasks | ||
84 | echo -e "PASS: ping test for $ethernet_interface success\n" | ||
85 | fi | ||
86 | |||
87 | echo "PASS: $ethernet_interface test passed" | ||
88 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/zc702-zynq7/flash b/recipes-test/ddt-runner/files/scripts/zc702-zynq7/flash new file mode 100755 index 0000000..7fa897c --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/zc702-zynq7/flash | |||
@@ -0,0 +1,20 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # This script is used to test flash driver functionality. I removed the write | ||
4 | # operations since all partition are in use in zc702-zynq7 and there might be | ||
5 | # possibility of corrupting data even if we backup in test script. | ||
6 | |||
7 | if part_num=`cat /proc/mtd | grep -c 'mtd'`; then | ||
8 | echo "PASS: show $part_num partitions" | ||
9 | else | ||
10 | echo "FAIL: show $part_num partitions" | ||
11 | fi | ||
12 | |||
13 | for((part=0; part<$part_num-1; part++)); | ||
14 | do | ||
15 | if [ $(mtd_debug info /dev/mtd$part | grep -c 'mtd.type') ]; then | ||
16 | echo "PASS: show partition $part debug info" | ||
17 | else | ||
18 | echo "FAIL: show partition $part debug info" | ||
19 | fi | ||
20 | done | ||
diff --git a/recipes-test/ddt-runner/files/scripts/zc702-zynq7/i2c b/recipes-test/ddt-runner/files/scripts/zc702-zynq7/i2c new file mode 100755 index 0000000..5b312b9 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/zc702-zynq7/i2c | |||
@@ -0,0 +1,24 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | if I2C_ADAPTERS=$(i2cdetect -l |wc -l); then | ||
4 | echo "PASS: found $I2C_ADAPTERS i2c adapters" | ||
5 | else | ||
6 | echo "FAIL: no i2c adapters found" | ||
7 | exit 1 | ||
8 | fi | ||
9 | |||
10 | if [ -z "$adapters" ]; then | ||
11 | adapters=0 | ||
12 | fi | ||
13 | |||
14 | while [ $adapters -lt $I2C_ADAPTERS ] | ||
15 | do | ||
16 | i2cdetect -y $adapters | ||
17 | if [ $? -ne 0 ]; then | ||
18 | echo "FAIL: detect i2c adapter $adapters failed" | ||
19 | else | ||
20 | echo "PASS: detect i2c adapter $adapters success" | ||
21 | fi | ||
22 | adapters=`expr $adapters + 1` | ||
23 | sleep 1 | ||
24 | done | ||
diff --git a/recipes-test/ddt-runner/files/scripts/zc702-zynq7/rtc b/recipes-test/ddt-runner/files/scripts/zc702-zynq7/rtc new file mode 100755 index 0000000..0d38293 --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/zc702-zynq7/rtc | |||
@@ -0,0 +1,42 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | RTC_DEVICE="/dev/rtc" | ||
4 | |||
5 | if [ ! -e $RTC_DEVICE ]; then | ||
6 | echo "FAIL: rtc device does not exist" | ||
7 | exit 1 | ||
8 | else | ||
9 | echo "PASS: rtc device exists" | ||
10 | fi | ||
11 | |||
12 | /sbin/hwclock -f $RTC_DEVICE | ||
13 | if [ $? -ne 0 ]; then | ||
14 | echo "FAIL: rtc device open failed" | ||
15 | exit 1 | ||
16 | else | ||
17 | echo "PASS: rtc device open success" | ||
18 | fi | ||
19 | |||
20 | |||
21 | /sbin/hwclock --systohc | ||
22 | if [ $? -ne 0 ]; then | ||
23 | echo "FAIL: sync system clock and hardware clock failed" | ||
24 | exit 1 | ||
25 | else | ||
26 | echo "PASS: sync system clock and hardware clock success" | ||
27 | fi | ||
28 | |||
29 | RTC_TIME=$(/sbin/hwclock -r |awk '{print $4}') | ||
30 | echo $RTC_TIME | ||
31 | SYS_TIME=$(date +%m/%d/%Y-%X |awk '{print $1}' |awk -F- '{print $2}') | ||
32 | echo $SYS_TIME | ||
33 | |||
34 | if [ "$RTC_TIME" = "$SYS_TIME" ] ; then | ||
35 | echo "PASS: system time same with hardware time" | ||
36 | else | ||
37 | echo "FAIL: system time different with hardware time" | ||
38 | exit 1 | ||
39 | fi | ||
40 | |||
41 | echo "PASS: rtc test successful" | ||
42 | exit 0 | ||
diff --git a/recipes-test/ddt-runner/files/scripts/zc702-zynq7/sdhc b/recipes-test/ddt-runner/files/scripts/zc702-zynq7/sdhc new file mode 100755 index 0000000..e341ebc --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/zc702-zynq7/sdhc | |||
@@ -0,0 +1,65 @@ | |||
1 | #!/bin/sh | ||
2 | # This script is used to test sdhc functionality for pandaboard. | ||
3 | # The content of SD will be lost by running this test case. | ||
4 | |||
5 | SDHC_DEVICE="/dev/mmcblk0" | ||
6 | SDHC_DEVICE_PART="/dev/mmcblk0p1" | ||
7 | SFDISK=`which sfdisk` | ||
8 | |||
9 | if [ -e $SDHC_DEVICE ]; then | ||
10 | echo "PASS: $SDHC_DEVICE device exists" | ||
11 | else | ||
12 | echo "FAIL: $SDHC_DEVICE does not exist" | ||
13 | exit 1 | ||
14 | fi | ||
15 | |||
16 | if [ -e $SDHC_DEVICE_PART ]; then | ||
17 | echo "PASS: $SDHC_DEVICE_PART device exists" | ||
18 | elif [ ! -z $SFDISK ]; then | ||
19 | |||
20 | echo "Try to create a partition" | ||
21 | |||
22 | $SFDISK $SDHC_DEVICE << EOF | ||
23 | ,,L | ||
24 | EOF | ||
25 | |||
26 | if [ -e $SDHC_DEVICE_PART ]; then | ||
27 | echo "PASS: $SDHC_DEVICE_PART device exists" | ||
28 | else | ||
29 | echo "FAIL: $SDHC_DEVICE_PART does not exist" | ||
30 | exit 1 | ||
31 | fi | ||
32 | |||
33 | else | ||
34 | echo "FAIL: $SDHC_DEVICE_PART does not exist" | ||
35 | exit 1 | ||
36 | fi | ||
37 | |||
38 | mount |grep mmcblk0p1 | ||
39 | if [ $? -eq 0 ]; then | ||
40 | umount $SDHC_DEVICE_PART | ||
41 | fi | ||
42 | |||
43 | /sbin/mkfs.ext2 $SDHC_DEVICE_PART | ||
44 | if [ $? -ne 0 ]; then | ||
45 | echo "FAIL: format $SDHC_DEVICE_PART fail" | ||
46 | exit 1 | ||
47 | else | ||
48 | mkdir -p /mnt/sdhc | ||
49 | mount $SDHC_DEVICE_PART /mnt/sdhc | ||
50 | if [ $? -ne 0 ]; then | ||
51 | echo "FAIL: mount $SDHC_DEVICE_PART fail" | ||
52 | exit 1 | ||
53 | else | ||
54 | cp /bin/busybox /mnt/sdhc | ||
55 | ls /mnt/sdhc |grep busybox | ||
56 | if [ $? -ne 0 ]; then | ||
57 | echo "FAIL: read or write $SDHC_DEVICE_PART fail" | ||
58 | exit 1 | ||
59 | else | ||
60 | umount $SDHC_DEVICE_PART | ||
61 | echo "PASS: read or write $SDHC_DEVICE_PART success" | ||
62 | fi | ||
63 | fi | ||
64 | fi | ||
65 | |||
diff --git a/recipes-test/ddt-runner/files/scripts/zc702-zynq7/spi b/recipes-test/ddt-runner/files/scripts/zc702-zynq7/spi new file mode 100755 index 0000000..15df9bc --- /dev/null +++ b/recipes-test/ddt-runner/files/scripts/zc702-zynq7/spi | |||
@@ -0,0 +1,48 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | #An spi flash M25P80 connect to pandaboard cpu by spi bus, so the method | ||
4 | #is to read/write spi flash to verify whether the spi bus driver worked | ||
5 | #or not. | ||
6 | |||
7 | MTD_CHAR_DEVICE="/dev/mtd4" | ||
8 | MTD_BLOCK_DEVICE="/dev/mtdblock4" | ||
9 | |||
10 | if [ ! -e $MTD_CHAR_DEVICE ]; then | ||
11 | echo "FAIL: spi flash device $MTD_CHAR_DEVICE does not exist" | ||
12 | exit 1 | ||
13 | else | ||
14 | echo "PASS: spi flash device $MTD_CHAR_DEVICE exists" | ||
15 | fi | ||
16 | |||
17 | if [ ! -e $MTD_BLOCK_DEVICE ]; then | ||
18 | echo "FAIL: spi flash device $MTD_BLOCK_DEVICE does not exist" | ||
19 | exit 1 | ||
20 | else | ||
21 | echo "PASS: spi flash device $MTD_BLOCK_DEVICE exists" | ||
22 | fi | ||
23 | |||
24 | /usr/sbin/flash_erase -j $MTD_CHAR_DEVICE 0 0 | ||
25 | if [ $? -ne 0 ]; then | ||
26 | echo "FAIL: format spi flash device $MTD_BLOCK_DEVICE fail" | ||
27 | exit 1 | ||
28 | else | ||
29 | mkdir -p /mnt/spi | ||
30 | mount -t jffs2 $MTD_BLOCK_DEVICE /mnt/spi | ||
31 | if [ $? -ne 0 ]; then | ||
32 | echo "FAIL: mount spi flash device $MTD_BLOCK_DEVICE fail" | ||
33 | exit 1 | ||
34 | else | ||
35 | cp /bin/busybox /mnt/spi | ||
36 | ls /mnt/spi |grep busybox | ||
37 | if [ $? -ne 0 ]; then | ||
38 | echo "FAIL: read or write spi flash device $MTD_BLOCK_DEVICE fail" | ||
39 | exit 1 | ||
40 | else | ||
41 | umount $MTD_BLOCK_DEVICE | ||
42 | echo "PASS: read or write spi flash device $MTD_BLOCK_DEVICE success" | ||
43 | fi | ||
44 | fi | ||
45 | fi | ||
46 | |||
47 | echo "PASS: spi bus test passed" | ||
48 | exit 0 | ||
diff --git a/recipes-test/perf-networking/files/perf-networking b/recipes-test/perf-networking/files/perf-networking new file mode 100755 index 0000000..f865374 --- /dev/null +++ b/recipes-test/perf-networking/files/perf-networking | |||
@@ -0,0 +1,14 @@ | |||
1 | #!/bin/sh | ||
2 | server_ip="172.24.0.50" | ||
3 | |||
4 | if ping -c1 $server_ip > /dev/null | ||
5 | then | ||
6 | netperf -H $server_ip -t TCP_STREAM | ||
7 | netperf -H $server_ip -t TCP_MAERTS | ||
8 | netperf -H $server_ip -t TCP_RR | ||
9 | netperf -H $server_ip -t TCP_CRR | ||
10 | netperf -H $server_ip -t UDP_STREAM | ||
11 | netperf -H $server_ip -t UDP_RR | ||
12 | else | ||
13 | echo "Error: Server is down!" | ||
14 | fi | ||
diff --git a/recipes-test/perf-networking/perf-networking_1.0.bb b/recipes-test/perf-networking/perf-networking_1.0.bb new file mode 100644 index 0000000..aa32a7d --- /dev/null +++ b/recipes-test/perf-networking/perf-networking_1.0.bb | |||
@@ -0,0 +1,19 @@ | |||
1 | SUMMARY = "A simple shell script to run network performance tests" | ||
2 | DESCRIPTION = "The perf-networking package installs the perf-networking \ | ||
3 | shell script which runs tests using the netperf package" | ||
4 | SRC_URI += "file://perf-networking" | ||
5 | |||
6 | LICENSE = "MIT" | ||
7 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ | ||
8 | file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
9 | |||
10 | RDEPENDS_${PN}= "netperf" | ||
11 | |||
12 | do_install () { | ||
13 | install -D ${WORKDIR}/perf-networking ${D}${bindir}/perf-networking | ||
14 | } | ||
15 | |||
16 | do_patch[noexec] = "1" | ||
17 | do_configure[noexec] = "1" | ||
18 | do_compile[noexec] = "1" | ||
19 | do_build[noexec] = "1" | ||
diff --git a/recipes-test/rt-bmark/rt-bmark.bb b/recipes-test/rt-bmark/rt-bmark.bb new file mode 100644 index 0000000..efd56a2 --- /dev/null +++ b/recipes-test/rt-bmark/rt-bmark.bb | |||
@@ -0,0 +1,23 @@ | |||
1 | LICENSE = "BSD" | ||
2 | LIC_FILES_CHKSUM = "file://README;md5=0db98e009b4bd9c1d6e074f701c9f9dd" | ||
3 | DESCRIPTION = "RT Benachmarks" | ||
4 | INHIBIT_DEFAULT_DEPS = "1" | ||
5 | |||
6 | SRCREV = "189a84fc3112afba2f7bee28dcec3ea75c86e34a" | ||
7 | SRC_URI = "git://gitlab.enea.se/thomas.lundstrom/rt-benchmarks.git;protocol=http" | ||
8 | |||
9 | TEST_SCRIPT_DIR = "${libdir}/benchtest-runner/tests" | ||
10 | |||
11 | FILES_${PN} += " ${TEST_SCRIPT_DIR}" | ||
12 | |||
13 | RDEPENDS_${PN} += " stress rt-tests python" | ||
14 | |||
15 | do_install () { | ||
16 | mkdir -p ${D}${TEST_SCRIPT_DIR} | ||
17 | install ${WORKDIR}/git/rt_bmark ${D}${TEST_SCRIPT_DIR} | ||
18 | } | ||
19 | |||
20 | do_patch[noexec] = "1" | ||
21 | do_configure[noexec] = "1" | ||
22 | do_compile[noexec] = "1" | ||
23 | do_build[noexec] = "1" | ||
diff --git a/recipes-test/stress/files/stress-itemx-after-item-only.patch b/recipes-test/stress/files/stress-itemx-after-item-only.patch new file mode 100644 index 0000000..5ef40bb --- /dev/null +++ b/recipes-test/stress/files/stress-itemx-after-item-only.patch | |||
@@ -0,0 +1,55 @@ | |||
1 | stress: fix documentation build failure on Fedora | ||
2 | |||
3 | Building the documentation for stress failed due to errors like this | ||
4 | one: | ||
5 | stress.texi:68: @itemx must follow @item | ||
6 | |||
7 | Upstream-Status: Submitted [Amos Waterland <apw@debian.org>] | ||
8 | |||
9 | Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> | ||
10 | --- a/doc/stress.texi 2005-03-10 02:16:02.000000000 +0100 | ||
11 | +++ b/doc/stress.texi 2014-04-17 17:10:25.826749256 +0200 | ||
12 | @@ -65,7 +65,7 @@ | ||
13 | @itemx --help | ||
14 | Show help information. | ||
15 | |||
16 | -@itemx --version | ||
17 | +@item --version | ||
18 | Show version information. | ||
19 | |||
20 | @item -v | ||
21 | @@ -84,7 +84,7 @@ | ||
22 | @itemx --timeout @var{secs} | ||
23 | Time out after @var{secs} seconds. | ||
24 | |||
25 | -@itemx --backoff @var{usecs} | ||
26 | +@item --backoff @var{usecs} | ||
27 | Wait for factor of @var{usecs} microseconds before starting work. | ||
28 | |||
29 | @item -c @var{forks} | ||
30 | @@ -99,10 +99,10 @@ | ||
31 | @itemx --vm @var{forks} | ||
32 | Spawn @var{forks} processes each spinning on @samp{malloc()}. | ||
33 | |||
34 | -@itemx --vm-bytes @var{bytes} | ||
35 | +@item --vm-bytes @var{bytes} | ||
36 | Allocate @var{bytes} number of bytes. The default is 1. | ||
37 | |||
38 | -@itemx --vm-hang | ||
39 | +@item --vm-hang | ||
40 | Instruct each vm hog process to go to sleep after allocating memory. This | ||
41 | contrasts with their normal behavior, which is to free the memory and | ||
42 | reallocate @emph{ad infinitum}. This is useful for simulating low memory | ||
43 | @@ -117,10 +117,10 @@ | ||
44 | @itemx --hdd @var{forks} | ||
45 | Spawn @var{forks} processes each spinning on @samp{write()}. | ||
46 | |||
47 | -@itemx --hdd-bytes @var{bytes} | ||
48 | +@item --hdd-bytes @var{bytes} | ||
49 | Write @var{bytes} number of bytes. The default is 1GB. | ||
50 | |||
51 | -@itemx --hdd-noclean | ||
52 | +@item --hdd-noclean | ||
53 | Do not unlink file(s) to which random ASCII data is written. | ||
54 | |||
55 | @end table | ||
diff --git a/recipes-test/stress/stress_1.0.4.bb b/recipes-test/stress/stress_1.0.4.bb new file mode 100644 index 0000000..af69de4 --- /dev/null +++ b/recipes-test/stress/stress_1.0.4.bb | |||
@@ -0,0 +1,13 @@ | |||
1 | inherit autotools | ||
2 | |||
3 | HOMEPAGE = "http://people.seas.harvard.edu/~apw/stress/" | ||
4 | DESCRIPTION = "stress is a deliberately simple workload generator for POSIX systems. It imposes a configurable amount of CPU, memory, I/O, and disk stress on the system. It is written in C, and is free software licensed under the GPLv2." | ||
5 | |||
6 | LICENSE = "GPLv2+" | ||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | ||
8 | |||
9 | SRC_URI="http://people.seas.harvard.edu/~apw/stress/stress-${PV}.tar.gz;name=tar \ | ||
10 | file://stress-itemx-after-item-only.patch" | ||
11 | |||
12 | SRC_URI[tar.md5sum] = "890a4236dd1656792f3ef9a190cf99ef" | ||
13 | SRC_URI[tar.sha256sum] = "057e4fc2a7706411e1014bf172e4f94b63a12f18412378fca8684ca92408825b" | ||
diff --git a/recipes-test/systest-runner/files/systest-runner b/recipes-test/systest-runner/files/systest-runner new file mode 100644 index 0000000..13ad005 --- /dev/null +++ b/recipes-test/systest-runner/files/systest-runner | |||
@@ -0,0 +1,30 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | while true; do | ||
4 | if [ -d /usr/lib/systest-runner/tests ]; then | ||
5 | cd /usr/lib/systest-runner/tests >/dev/null | ||
6 | break | ||
7 | fi | ||
8 | if [ -d /usr/lib32/systest-runner/tests ]; then | ||
9 | cd /usr/lib32/systest-runner/tests >/dev/null | ||
10 | break | ||
11 | fi | ||
12 | if [ -d /usr/lib64/systest-runner/tests ]; then | ||
13 | cd /usr/lib64/systest-runner/tests >/dev/null | ||
14 | break | ||
15 | fi | ||
16 | break | ||
17 | done | ||
18 | |||
19 | for x in * | ||
20 | do | ||
21 | echo $x | ||
22 | if [[ -f $x ]]; then | ||
23 | date +%Y-%m-%dT%H:%M | ||
24 | echo "BEGIN: $x" | ||
25 | ./$x | ||
26 | echo "END: $x" | ||
27 | date +%Y-%m-%dT%H:%M | ||
28 | fi | ||
29 | done | ||
30 | |||
diff --git a/recipes-test/systest-runner/files/tests/ltp b/recipes-test/systest-runner/files/tests/ltp new file mode 100755 index 0000000..ebdc32f --- /dev/null +++ b/recipes-test/systest-runner/files/tests/ltp | |||
@@ -0,0 +1,23 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | cd /opt/ltp >/dev/null | ||
4 | addgroup nobody | ||
5 | sed -i -e "/mounts | sort -b$/s/$/ | grep -v deleted/" ./testscripts/test_fs_bind.sh | ||
6 | |||
7 | logname=`date +"%Y_%m_%d_%H_%M_%S"`".log" | ||
8 | ./runltp -p -d /tmp -l $logname | ||
9 | |||
10 | if [ ! -d ./results ]; then | ||
11 | echo "FAIL: no result found" | ||
12 | exit 1 | ||
13 | fi | ||
14 | |||
15 | cat ./results/$logname | while read line | ||
16 | do | ||
17 | resultLine=`echo $line | grep -c -E "PASS|FAIL"` | ||
18 | if [ $resultLine -eq 1 ]; then | ||
19 | testcase=`echo $line | awk '{print $1}'` | ||
20 | result=`echo $line | awk '{print $2}'` | ||
21 | echo "$result: $testcase" | ||
22 | fi | ||
23 | done | ||
diff --git a/recipes-test/systest-runner/files/tests/perf-network b/recipes-test/systest-runner/files/tests/perf-network new file mode 100755 index 0000000..28d88d5 --- /dev/null +++ b/recipes-test/systest-runner/files/tests/perf-network | |||
@@ -0,0 +1,13 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | logname=`date +"%Y_%m_%d_%H_%M_%S"`".log" | ||
4 | perf-networking |tee /tmp/$logname | ||
5 | |||
6 | if grep -Fq "Error:" /tmp/$logname | ||
7 | then | ||
8 | echo "FAIL: Test failed" | ||
9 | exit 1 | ||
10 | else | ||
11 | echo "PASS: Performed the netperf tests" | ||
12 | exit 0 | ||
13 | fi | ||
diff --git a/recipes-test/systest-runner/files/tests/posixtest b/recipes-test/systest-runner/files/tests/posixtest new file mode 100755 index 0000000..cf92261 --- /dev/null +++ b/recipes-test/systest-runner/files/tests/posixtest | |||
@@ -0,0 +1,40 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | printit() { | ||
4 | echo "" | ||
5 | sed -i -e "s|FAILED:|FAIL:|g" -e "s|UNRESOLVED:|FAIL:|g" -e "s|UNSUPPORTED:|SKIP:|g" -e "s|UNTESTED:|SKIP:|g" $1 | ||
6 | cat $1 | while read line | ||
7 | do | ||
8 | resultLine=`echo $line | grep -c -E "PASS|FAIL"` | ||
9 | if [ $resultLine -eq 1 ]; then | ||
10 | testcase=`echo $line | awk -F: '{print $1}'` | ||
11 | result=`echo $line | awk -F: '{print $3}'` | ||
12 | if [ -n "$testcase" ] && [ -n "$result" ]; then | ||
13 | echo "$result: $testcase" | ||
14 | fi | ||
15 | fi | ||
16 | done | ||
17 | } | ||
18 | |||
19 | cd /opt/ltp/testcases/open_posix_testsuite >/dev/null | ||
20 | |||
21 | make test | ||
22 | |||
23 | FILES=$(find . -name "logfile.*-test") | ||
24 | for f in $FILES | ||
25 | do | ||
26 | printit $f | ||
27 | done | ||
28 | |||
29 | printf "\n\nRunning POSIX Option Group Feature Tests" | ||
30 | printf "\n========================================\n" | ||
31 | |||
32 | ./bin/run-all-posix-option-group-tests.sh | ||
33 | |||
34 | FILES=$(find . -name "logfile") | ||
35 | for f in $FILES | ||
36 | do | ||
37 | printit $f | ||
38 | done | ||
39 | |||
40 | |||
diff --git a/recipes-test/systest-runner/systest-runner.bb b/recipes-test/systest-runner/systest-runner.bb new file mode 100644 index 0000000..2ae040e --- /dev/null +++ b/recipes-test/systest-runner/systest-runner.bb | |||
@@ -0,0 +1,29 @@ | |||
1 | |||
2 | LICENSE = "BSD" | ||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58" | ||
4 | DESCRIPTION = "Execute all scripts under systest-runner/tests folder" | ||
5 | INHIBIT_DEFAULT_DEPS = "1" | ||
6 | |||
7 | SRC_URI = "file://systest-runner \ | ||
8 | file://tests/ltp \ | ||
9 | file://tests/perf-network \ | ||
10 | file://tests/posixtest \ | ||
11 | " | ||
12 | |||
13 | STEST_PATH="${libdir}/${PN}" | ||
14 | |||
15 | FILES_${PN} +="${STEST_PATH}" | ||
16 | FILES_${PN} += "${bindir}/systest-runner" | ||
17 | |||
18 | do_install () { | ||
19 | install -D ${WORKDIR}/systest-runner ${D}${bindir}/systest-runner | ||
20 | install -d ${D}${STEST_PATH}/tests | ||
21 | for file in ${WORKDIR}/tests/* ; do | ||
22 | install $file ${D}${STEST_PATH}/tests | ||
23 | done | ||
24 | } | ||
25 | |||
26 | do_patch[noexec] = "1" | ||
27 | do_configure[noexec] = "1" | ||
28 | do_compile[noexec] = "1" | ||
29 | do_build[noexec] = "1" | ||