diff options
396 files changed, 8793 insertions, 0 deletions
diff --git a/bsp/denverton/denverton.cfg b/bsp/denverton/denverton.cfg new file mode 100644 index 0000000..eff35e6 --- /dev/null +++ b/bsp/denverton/denverton.cfg | |||
@@ -0,0 +1,26 @@ | |||
1 | CONFIG_IRQ_REMAP=y | ||
2 | CONFIG_X86_X2APIC=y | ||
3 | CONFIG_HAVE_INTEL_TXT=y | ||
4 | CONFIG_NUMA=y | ||
5 | CONFIG_AMD_NUMA=y | ||
6 | CONFIG_X86_64_ACPI_NUMA=y | ||
7 | CONFIG_NODES_SPAN_OTHER_NODES=y | ||
8 | CONFIG_NUMA_EMU=y | ||
9 | CONFIG_NODES_SHIFT=6 | ||
10 | CONFIG_NEED_MULTIPLE_NODES=y | ||
11 | CONFIG_USE_PERCPU_NUMA_NODE_ID=y | ||
12 | CONFIG_ACPI_NUMA=y | ||
13 | CONFIG_PCI_PRI=y | ||
14 | CONFIG_PCI_PASID=y | ||
15 | CONFIG_IOMMU_API=y | ||
16 | CONFIG_IOMMU_IOVA=y | ||
17 | CONFIG_AMD_IOMMU=y | ||
18 | CONFIG_INTEL_IOMMU=y | ||
19 | CONFIG_INTEL_IOMMU_DEFAULT_ON=n | ||
20 | CONFIG_INTEL_IOMMU_FLOPPY_WA=y | ||
21 | CONFIG_MEMORY=y | ||
22 | CONFIG_KVM_DEVICE_ASSIGNMENT=y | ||
23 | CONFIG_AMD_IOMMU_STATS=y | ||
24 | CONFIG_AMD_IOMMU_V2=y | ||
25 | CONFIG_CRYPTO_RSA=y | ||
26 | CONFIG_SERIAL_8250_MID=y | ||
diff --git a/bsp/denverton/denverton.scc b/bsp/denverton/denverton.scc new file mode 100644 index 0000000..c703120 --- /dev/null +++ b/bsp/denverton/denverton.scc | |||
@@ -0,0 +1 @@ | |||
kconf hardware denverton.cfg | |||
diff --git a/cfg/net/ip_nf_y.cfg b/cfg/net/ip_nf_y.cfg new file mode 100644 index 0000000..33ea2bf --- /dev/null +++ b/cfg/net/ip_nf_y.cfg | |||
@@ -0,0 +1,6 @@ | |||
1 | CONFIG_NF_NAT_IPV4=y | ||
2 | CONFIG_IP_NF_IPTABLES=y | ||
3 | CONFIG_IP_NF_NAT=y | ||
4 | CONFIG_IP_NF_TARGET_MASQUERADE=y | ||
5 | # CONFIG_IP_NF_TARGET_NETMAP is not set | ||
6 | # CONFIG_IP_NF_TARGET_REDIRECT is not set | ||
diff --git a/cfg/net/ip_nf_y.scc b/cfg/net/ip_nf_y.scc new file mode 100644 index 0000000..cc32112 --- /dev/null +++ b/cfg/net/ip_nf_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable Netfilter (IPv4) options as built-in" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware ip_nf_y.cfg | ||
diff --git a/features/6lowpan/6lowpan_n.cfg b/features/6lowpan/6lowpan_n.cfg new file mode 100644 index 0000000..1bf0778 --- /dev/null +++ b/features/6lowpan/6lowpan_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_6LOWPAN=n | |||
diff --git a/features/6lowpan/6lowpan_n.scc b/features/6lowpan/6lowpan_n.scc new file mode 100644 index 0000000..826fdc2 --- /dev/null +++ b/features/6lowpan/6lowpan_n.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable 6LoWPAN support" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware 6lowpan_n.cfg | ||
diff --git a/features/accelerometers/accelerometers_n.cfg b/features/accelerometers/accelerometers_n.cfg new file mode 100644 index 0000000..ed8fb8a --- /dev/null +++ b/features/accelerometers/accelerometers_n.cfg | |||
@@ -0,0 +1,30 @@ | |||
1 | # | ||
2 | # Accelerometers | ||
3 | # | ||
4 | CONFIG_BMA180=n | ||
5 | # CONFIG_BMA220 is not set | ||
6 | CONFIG_BMC150_ACCEL=n | ||
7 | CONFIG_BMC150_ACCEL_I2C=n | ||
8 | CONFIG_BMC150_ACCEL_SPI=n | ||
9 | # CONFIG_DMARD09 is not set | ||
10 | CONFIG_HID_SENSOR_ACCEL_3D=n | ||
11 | CONFIG_IIO_ST_ACCEL_3AXIS=n | ||
12 | CONFIG_IIO_ST_ACCEL_I2C_3AXIS=n | ||
13 | CONFIG_IIO_ST_ACCEL_SPI_3AXIS=n | ||
14 | CONFIG_KXSD9=n | ||
15 | CONFIG_KXSD9_SPI=n | ||
16 | CONFIG_KXSD9_I2C=n | ||
17 | # CONFIG_KXCJK1013 is not set | ||
18 | # CONFIG_MC3230 is not set | ||
19 | CONFIG_MMA7455=n | ||
20 | CONFIG_MMA7455_I2C=n | ||
21 | # CONFIG_MMA7455_SPI is not set | ||
22 | # CONFIG_MMA7660 is not set | ||
23 | CONFIG_MMA8452=n | ||
24 | CONFIG_MMA9551_CORE=n | ||
25 | CONFIG_MMA9551=n | ||
26 | CONFIG_MMA9553=n | ||
27 | # CONFIG_MXC4005 is not set | ||
28 | # CONFIG_MXC6255 is not set | ||
29 | # CONFIG_STK8312 is not set | ||
30 | # CONFIG_STK8BA50 is not set | ||
diff --git a/features/accelerometers/accelerometers_n.scc b/features/accelerometers/accelerometers_n.scc new file mode 100644 index 0000000..22a8b40 --- /dev/null +++ b/features/accelerometers/accelerometers_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options required for accelerometer support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware accelerometers_n.cfg | ||
diff --git a/features/acp/acp_n.cfg b/features/acp/acp_n.cfg new file mode 100644 index 0000000..2310724 --- /dev/null +++ b/features/acp/acp_n.cfg | |||
@@ -0,0 +1,21 @@ | |||
1 | # | ||
2 | # ACP (Audio CoProcessor) Configuration | ||
3 | # | ||
4 | # CONFIG_DRM_NOUVEAU is not set | ||
5 | CONFIG_DRM_I915=n | ||
6 | # CONFIG_DRM_I915_ALPHA_SUPPORT is not set | ||
7 | CONFIG_DRM_I915_CAPTURE_ERROR=n | ||
8 | CONFIG_DRM_I915_COMPRESS_ERROR=n | ||
9 | CONFIG_DRM_I915_USERPTR=n | ||
10 | # CONFIG_DRM_I915_GVT is not set | ||
11 | # CONFIG_DRM_VGEM is not set | ||
12 | # CONFIG_DRM_VMWGFX is not set | ||
13 | # CONFIG_DRM_GMA500 is not set | ||
14 | # CONFIG_DRM_UDL is not set | ||
15 | # CONFIG_DRM_AST is not set | ||
16 | # CONFIG_DRM_MGAG200 is not set | ||
17 | CONFIG_DRM_CIRRUS_QEMU=n | ||
18 | # CONFIG_DRM_QXL is not set | ||
19 | # CONFIG_DRM_BOCHS is not set | ||
20 | # CONFIG_DRM_VIRTIO_GPU is not set | ||
21 | CONFIG_DRM_PANEL=n | ||
diff --git a/features/acp/acp_n.scc b/features/acp/acp_n.scc new file mode 100644 index 0000000..054be43 --- /dev/null +++ b/features/acp/acp_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for Audio CoProcessor support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware acp_n.cfg | ||
diff --git a/features/acpi/acpi_n.cfg b/features/acpi/acpi_n.cfg new file mode 100644 index 0000000..b2271f5 --- /dev/null +++ b/features/acpi/acpi_n.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | CONFIG_ACPI_SLEEP=n | ||
2 | CONFIG_ACPI_AC=n | ||
3 | CONFIG_ACPI_BATTERY=n | ||
4 | CONFIG_ACPI_FAN=m | ||
diff --git a/features/acpi/acpi_n.scc b/features/acpi/acpi_n.scc new file mode 100644 index 0000000..499cbc1 --- /dev/null +++ b/features/acpi/acpi_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for some ACPI modules support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware acpi_n.cfg | ||
diff --git a/features/agp/agp_n.cfg b/features/agp/agp_n.cfg new file mode 100644 index 0000000..4d17963 --- /dev/null +++ b/features/agp/agp_n.cfg | |||
@@ -0,0 +1,6 @@ | |||
1 | CONFIG_AGP=n | ||
2 | # CONFIG_AGP_AMD64 is not set | ||
3 | CONFIG_AGP_INTEL=n | ||
4 | # CONFIG_AGP_SIS is not set | ||
5 | # CONFIG_AGP_VIA is not set | ||
6 | CONFIG_INTEL_GTT=n | ||
diff --git a/features/agp/agp_n.scc b/features/agp/agp_n.scc new file mode 100644 index 0000000..104f4a2 --- /dev/null +++ b/features/agp/agp_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for AGP (Accelerated Graphics Port) support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware agp_n.cfg | ||
diff --git a/features/ata/ata_n.cfg b/features/ata/ata_n.cfg new file mode 100644 index 0000000..6082af2 --- /dev/null +++ b/features/ata/ata_n.cfg | |||
@@ -0,0 +1,59 @@ | |||
1 | CONFIG_IDE=n | ||
2 | |||
3 | # | ||
4 | # Please see Documentation/ide/ide.txt for help/info on IDE drives | ||
5 | # | ||
6 | CONFIG_IDE_XFER_MODE=n | ||
7 | CONFIG_IDE_ATAPI=n | ||
8 | # CONFIG_BLK_DEV_IDE_SATA is not set | ||
9 | CONFIG_IDE_GD=n | ||
10 | CONFIG_IDE_GD_ATA=n | ||
11 | # CONFIG_IDE_GD_ATAPI is not set | ||
12 | CONFIG_BLK_DEV_IDECD=n | ||
13 | CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=n | ||
14 | # CONFIG_BLK_DEV_IDETAPE is not set | ||
15 | # CONFIG_BLK_DEV_IDEACPI is not set | ||
16 | # CONFIG_IDE_TASK_IOCTL is not set | ||
17 | CONFIG_IDE_PROC_FS=n | ||
18 | |||
19 | # | ||
20 | # IDE chipset support/bugfixes | ||
21 | # | ||
22 | # CONFIG_IDE_GENERIC is not set | ||
23 | # CONFIG_BLK_DEV_PLATFORM is not set | ||
24 | # CONFIG_BLK_DEV_CMD640 is not set | ||
25 | # CONFIG_BLK_DEV_IDEPNP is not set | ||
26 | CONFIG_BLK_DEV_IDEDMA_SFF=n | ||
27 | |||
28 | # | ||
29 | # PCI IDE chipsets support | ||
30 | # | ||
31 | CONFIG_BLK_DEV_IDEPCI=n | ||
32 | CONFIG_IDEPCI_PCIBUS_ORDER=n | ||
33 | # CONFIG_BLK_DEV_GENERIC is not set | ||
34 | # CONFIG_BLK_DEV_OPTI621 is not set | ||
35 | # CONFIG_BLK_DEV_RZ1000 is not set | ||
36 | CONFIG_BLK_DEV_IDEDMA_PCI=n | ||
37 | # CONFIG_BLK_DEV_AEC62XX is not set | ||
38 | # CONFIG_BLK_DEV_ALI15X3 is not set | ||
39 | # CONFIG_BLK_DEV_AMD74XX is not set | ||
40 | # CONFIG_BLK_DEV_ATIIXP is not set | ||
41 | # CONFIG_BLK_DEV_CMD64X is not set | ||
42 | # CONFIG_BLK_DEV_TRIFLEX is not set | ||
43 | # CONFIG_BLK_DEV_HPT366 is not set | ||
44 | # CONFIG_BLK_DEV_JMICRON is not set | ||
45 | CONFIG_BLK_DEV_PIIX=n | ||
46 | # CONFIG_BLK_DEV_IT8172 is not set | ||
47 | # CONFIG_BLK_DEV_IT8213 is not set | ||
48 | # CONFIG_BLK_DEV_IT821X is not set | ||
49 | # CONFIG_BLK_DEV_NS87415 is not set | ||
50 | # CONFIG_BLK_DEV_PDC202XX_OLD is not set | ||
51 | # CONFIG_BLK_DEV_PDC202XX_NEW is not set | ||
52 | # CONFIG_BLK_DEV_SVWKS is not set | ||
53 | # CONFIG_BLK_DEV_SIIMAGE is not set | ||
54 | # CONFIG_BLK_DEV_SIS5513 is not set | ||
55 | # CONFIG_BLK_DEV_SLC90E66 is not set | ||
56 | # CONFIG_BLK_DEV_TRM290 is not set | ||
57 | # CONFIG_BLK_DEV_VIA82CXXX is not set | ||
58 | # CONFIG_BLK_DEV_TC86C001 is not set | ||
59 | CONFIG_BLK_DEV_IDEDMA=n | ||
diff --git a/features/ata/ata_n.scc b/features/ata/ata_n.scc new file mode 100644 index 0000000..d70f60f --- /dev/null +++ b/features/ata/ata_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for ATA support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware ata_n.cfg | ||
diff --git a/features/backlight/backlight_n.cfg b/features/backlight/backlight_n.cfg new file mode 100644 index 0000000..0358efe --- /dev/null +++ b/features/backlight/backlight_n.cfg | |||
@@ -0,0 +1,30 @@ | |||
1 | CONFIG_BACKLIGHT_LCD_SUPPORT=n | ||
2 | CONFIG_LCD_CLASS_DEVICE=n | ||
3 | # CONFIG_LCD_L4F00242T03 is not set | ||
4 | # CONFIG_LCD_LMS283GF05 is not set | ||
5 | # CONFIG_LCD_LTV350QV is not set | ||
6 | # CONFIG_LCD_ILI922X is not set | ||
7 | # CONFIG_LCD_ILI9320 is not set | ||
8 | # CONFIG_LCD_TDO24M is not set | ||
9 | # CONFIG_LCD_VGG2432A4 is not set | ||
10 | # CONFIG_LCD_PLATFORM is not set | ||
11 | # CONFIG_LCD_S6E63M0 is not set | ||
12 | # CONFIG_LCD_LD9040 is not set | ||
13 | # CONFIG_LCD_AMS369FG06 is not set | ||
14 | # CONFIG_LCD_LMS501KF03 is not set | ||
15 | # CONFIG_LCD_HX8357 is not set | ||
16 | CONFIG_BACKLIGHT_CLASS_DEVICE=n | ||
17 | CONFIG_BACKLIGHT_GENERIC=n | ||
18 | # CONFIG_BACKLIGHT_PWM is not set | ||
19 | # CONFIG_BACKLIGHT_APPLE is not set | ||
20 | # CONFIG_BACKLIGHT_PM8941_WLED is not set | ||
21 | # CONFIG_BACKLIGHT_SAHARA is not set | ||
22 | # CONFIG_BACKLIGHT_ADP8860 is not set | ||
23 | # CONFIG_BACKLIGHT_ADP8870 is not set | ||
24 | # CONFIG_BACKLIGHT_LM3630A is not set | ||
25 | # CONFIG_BACKLIGHT_LM3639 is not set | ||
26 | # CONFIG_BACKLIGHT_LP855X is not set | ||
27 | # CONFIG_BACKLIGHT_GPIO is not set | ||
28 | # CONFIG_BACKLIGHT_LV5207LP is not set | ||
29 | # CONFIG_BACKLIGHT_BD6107 is not set | ||
30 | # CONFIG_VGASTATE is not set | ||
diff --git a/features/backlight/backlight_n.scc b/features/backlight/backlight_n.scc new file mode 100644 index 0000000..96620d5 --- /dev/null +++ b/features/backlight/backlight_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options required for backlight support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware backlight_n.cfg | ||
diff --git a/features/bcma/bcma_n.cfg b/features/bcma/bcma_n.cfg new file mode 100644 index 0000000..ad052a3 --- /dev/null +++ b/features/bcma/bcma_n.cfg | |||
@@ -0,0 +1,9 @@ | |||
1 | # | ||
2 | # Broadcom specific AMBA | ||
3 | # | ||
4 | CONFIG_BCMA=n | ||
5 | CONFIG_BCMA_HOST_PCI_POSSIBLE=n | ||
6 | CONFIG_BCMA_HOST_PCI=n | ||
7 | # CONFIG_BCMA_HOST_SOC is not set | ||
8 | CONFIG_BCMA_DRIVER_PCI=n | ||
9 | CONFIG_BCMA_DRIVER_GMAC_CMN=n | ||
diff --git a/features/bcma/bcma_n.scc b/features/bcma/bcma_n.scc new file mode 100644 index 0000000..9cd6a4b --- /dev/null +++ b/features/bcma/bcma_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable bcma support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware bcma_n.cfg | ||
diff --git a/features/blkdev/net_blk_dev.cfg b/features/blkdev/net_blk_dev.cfg new file mode 100644 index 0000000..af37685 --- /dev/null +++ b/features/blkdev/net_blk_dev.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_BLK_DEV_NBD=y | |||
diff --git a/features/blkdev/net_blk_dev.scc b/features/blkdev/net_blk_dev.scc new file mode 100644 index 0000000..6dac9fa --- /dev/null +++ b/features/blkdev/net_blk_dev.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable network block device" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware net_blk_dev.cfg | ||
diff --git a/features/bluetooth/bluetooth_n.cfg b/features/bluetooth/bluetooth_n.cfg new file mode 100644 index 0000000..28995fb --- /dev/null +++ b/features/bluetooth/bluetooth_n.cfg | |||
@@ -0,0 +1,28 @@ | |||
1 | CONFIG_BT=n | ||
2 | CONFIG_BT_BREDR=n | ||
3 | CONFIG_BT_RFCOMM=n | ||
4 | CONFIG_BT_RFCOMM_TTY=n | ||
5 | CONFIG_BT_BNEP=n | ||
6 | CONFIG_BT_BNEP_MC_FILTER=n | ||
7 | CONFIG_BT_BNEP_PROTO_FILTER=n | ||
8 | CONFIG_BT_CMTP=n | ||
9 | CONFIG_BT_HIDP=n | ||
10 | CONFIG_BT_HS=n | ||
11 | CONFIG_BT_LE=n | ||
12 | CONFIG_BT_6LOWPAN=n | ||
13 | # CONFIG_BT_LEDS is not set | ||
14 | CONFIG_BT_DEBUGFS=n | ||
15 | |||
16 | # | ||
17 | # Bluetooth device drivers | ||
18 | # | ||
19 | CONFIG_BT_INTEL=n | ||
20 | CONFIG_BT_BCM=n | ||
21 | CONFIG_BT_RTL=n | ||
22 | CONFIG_BT_HCIBTUSB=n | ||
23 | CONFIG_BT_HCIBTUSB_BCM=n | ||
24 | CONFIG_BT_HCIBTUSB_RTL=n | ||
25 | CONFIG_BT_HCIUART=n | ||
26 | CONFIG_BT_HCIUART_H4=n | ||
27 | CONFIG_BT_HCIUART_INTEL=n | ||
28 | |||
diff --git a/features/bluetooth/bluetooth_n.scc b/features/bluetooth/bluetooth_n.scc new file mode 100644 index 0000000..5f53820 --- /dev/null +++ b/features/bluetooth/bluetooth_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for bluetooth support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware bluetooth_n.cfg | ||
diff --git a/features/btrfs/btrfs_m.cfg b/features/btrfs/btrfs_m.cfg new file mode 100644 index 0000000..3b4d425 --- /dev/null +++ b/features/btrfs/btrfs_m.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_BTRFS_FS=m | |||
diff --git a/features/btrfs/btrfs_m.scc b/features/btrfs/btrfs_m.scc new file mode 100644 index 0000000..4827556 --- /dev/null +++ b/features/btrfs/btrfs_m.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Build BTRFS support as a module" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware btrfs_m.cfg | ||
diff --git a/features/btrfs/btrfs_n.cfg b/features/btrfs/btrfs_n.cfg new file mode 100644 index 0000000..7322f27 --- /dev/null +++ b/features/btrfs/btrfs_n.cfg | |||
@@ -0,0 +1,8 @@ | |||
1 | CONFIG_BTRFS_FS=n | ||
2 | CONFIG_BTRFS_FS_POSIX_ACL=n | ||
3 | # CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set | ||
4 | # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set | ||
5 | # CONFIG_BTRFS_DEBUG is not set | ||
6 | # CONFIG_BTRFS_ASSERT is not set | ||
7 | CONFIG_XOR_BLOCKS=n | ||
8 | CONFIG_RAID6_PQ=n | ||
diff --git a/features/btrfs/btrfs_n.scc b/features/btrfs/btrfs_n.scc new file mode 100644 index 0000000..638f87f --- /dev/null +++ b/features/btrfs/btrfs_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable btrfs support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware btrfs_n.cfg | ||
diff --git a/features/bug_support/bug_support_n.cfg b/features/bug_support/bug_support_n.cfg new file mode 100644 index 0000000..97e29f4 --- /dev/null +++ b/features/bug_support/bug_support_n.cfg | |||
@@ -0,0 +1,3 @@ | |||
1 | CONFIG_BUG=n | ||
2 | CONFIG_GENERIC_BUG=n | ||
3 | CONFIG_GENERIC_BUG_RELATIVE_POINTERS=n | ||
diff --git a/features/bug_support/bug_support_n.scc b/features/bug_support/bug_support_n.scc new file mode 100644 index 0000000..47d46ab --- /dev/null +++ b/features/bug_support/bug_support_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for BUG support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware bug_support_n.cfg | ||
diff --git a/features/bus/pci_cnb20le_n.cfg b/features/bus/pci_cnb20le_n.cfg new file mode 100644 index 0000000..a75dcef --- /dev/null +++ b/features/bus/pci_cnb20le_n.cfg | |||
@@ -0,0 +1 @@ | |||
# CONFIG_PCI_CNB20LE_QUIRK is not set | |||
diff --git a/features/bus/pci_cnb20le_n.scc b/features/bus/pci_cnb20le_n.scc new file mode 100644 index 0000000..c5da613 --- /dev/null +++ b/features/bus/pci_cnb20le_n.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable support for CNB20LE chipset" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware pci_cnb20le_n.cfg | ||
diff --git a/features/cdrom/cdrom_m.cfg b/features/cdrom/cdrom_m.cfg new file mode 100644 index 0000000..ed950ce --- /dev/null +++ b/features/cdrom/cdrom_m.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | CONFIG_BLK_DEV_SR=m | ||
2 | |||
3 | # Automatically set to =y by CONFIG_BLK_DEV_SR | ||
4 | CONFIG_BLK_DEV_SR_VENDOR=y | ||
diff --git a/features/cdrom/cdrom_m.scc b/features/cdrom/cdrom_m.scc new file mode 100644 index 0000000..b744381 --- /dev/null +++ b/features/cdrom/cdrom_m.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable cd-rom support as a module" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware cdrom_m.cfg | ||
diff --git a/features/cdrom/cdrom_n.cfg b/features/cdrom/cdrom_n.cfg new file mode 100644 index 0000000..f945aee --- /dev/null +++ b/features/cdrom/cdrom_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_BLK_DEV_SR=n | |||
diff --git a/features/cdrom/cdrom_n.scc b/features/cdrom/cdrom_n.scc new file mode 100644 index 0000000..ce2aec2 --- /dev/null +++ b/features/cdrom/cdrom_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for cd-rom support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware cdrom_n.cfg | ||
diff --git a/features/cdrom/isofs_m.cfg b/features/cdrom/isofs_m.cfg new file mode 100644 index 0000000..7ca997e --- /dev/null +++ b/features/cdrom/isofs_m.cfg | |||
@@ -0,0 +1,5 @@ | |||
1 | CONFIG_ISO9660_FS=m | ||
2 | # CONFIG_JOLIET is not set | ||
3 | |||
4 | # Automatically selected by CONFIG_ISO9660_FS | ||
5 | CONFIG_ZISOFS=y | ||
diff --git a/features/cdrom/isofs_m.scc b/features/cdrom/isofs_m.scc new file mode 100644 index 0000000..a091913 --- /dev/null +++ b/features/cdrom/isofs_m.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable ISO fs as module" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware isofs_m.cfg | ||
diff --git a/features/cdrom_fs/cdrom_fs_n.cfg b/features/cdrom_fs/cdrom_fs_n.cfg new file mode 100644 index 0000000..e24a54b --- /dev/null +++ b/features/cdrom_fs/cdrom_fs_n.cfg | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_ISO9660_FS=n | ||
2 | CONFIG_ZISOFS=n | ||
diff --git a/features/cdrom_fs/cdrom_fs_n.scc b/features/cdrom_fs/cdrom_fs_n.scc new file mode 100644 index 0000000..e848b5d --- /dev/null +++ b/features/cdrom_fs/cdrom_fs_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for cd-rom file system support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware cdrom_fs_n.cfg | ||
diff --git a/features/cgroupdbg/cgroupdbg_n.cfg b/features/cgroupdbg/cgroupdbg_n.cfg new file mode 100644 index 0000000..653593c --- /dev/null +++ b/features/cgroupdbg/cgroupdbg_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_CGROUP_DEBUG=n | |||
diff --git a/features/cgroupdbg/cgroupdbg_n.scc b/features/cgroupdbg/cgroupdbg_n.scc new file mode 100644 index 0000000..2fdeabe --- /dev/null +++ b/features/cgroupdbg/cgroupdbg_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for cgroup debug support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware cgroupdbg_n.cfg | ||
diff --git a/features/cgroups/cpusets.cfg b/features/cgroups/cpusets.cfg new file mode 100644 index 0000000..17e63f8 --- /dev/null +++ b/features/cgroups/cpusets.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | CONFIG_CGROUPS=y | ||
2 | CONFIG_CPUSETS=y | ||
3 | CONFIG_CGROUP_PERF=y | ||
4 | CONFIG_RCU_NOCB_CPU=y | ||
diff --git a/features/cgroups/cpusets.scc b/features/cgroups/cpusets.scc new file mode 100644 index 0000000..ff0e8e8 --- /dev/null +++ b/features/cgroups/cpusets.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable CPU isolation" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware cpusets.cfg | ||
diff --git a/features/compilechecks/compilechecks_n.cfg b/features/compilechecks/compilechecks_n.cfg new file mode 100644 index 0000000..87263f0 --- /dev/null +++ b/features/compilechecks/compilechecks_n.cfg | |||
@@ -0,0 +1,6 @@ | |||
1 | CONFIG_ENABLE_WARN_DEPRECATED=n | ||
2 | CONFIG_ENABLE_MUST_CHECK=n | ||
3 | CONFIG_UNUSED_SYMBOLS=n | ||
4 | CONFIG_DEBUG_FS=n | ||
5 | CONFIG_SECTION_MISMATCH_WARN_ONLY=n | ||
6 | CONFIG_FRAME_POINTER=n | ||
diff --git a/features/compilechecks/compilechecks_n.scc b/features/compilechecks/compilechecks_n.scc new file mode 100644 index 0000000..cd3c68a --- /dev/null +++ b/features/compilechecks/compilechecks_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable compile checks support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware compilechecks_n.cfg | ||
diff --git a/features/cpu_freq/cpu_freq_n.cfg b/features/cpu_freq/cpu_freq_n.cfg new file mode 100644 index 0000000..51a9713 --- /dev/null +++ b/features/cpu_freq/cpu_freq_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_CPU_FREQ=n | |||
diff --git a/features/cpu_freq/cpu_freq_n.scc b/features/cpu_freq/cpu_freq_n.scc new file mode 100644 index 0000000..b38ee5f --- /dev/null +++ b/features/cpu_freq/cpu_freq_n.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable CPU frequency scaling" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware cpu_freq_n.cfg | ||
diff --git a/features/dca/dca_y.cfg b/features/dca/dca_y.cfg new file mode 100644 index 0000000..85b3620 --- /dev/null +++ b/features/dca/dca_y.cfg | |||
@@ -0,0 +1,5 @@ | |||
1 | CONFIG_INTEL_IOATDMA=y | ||
2 | CONFIG_DCA=y | ||
3 | |||
4 | CONFIG_IGB_DCA=y | ||
5 | CONFIG_IXGBE_DCA=y | ||
diff --git a/features/dca/dca_y.scc b/features/dca/dca_y.scc new file mode 100644 index 0000000..a73b2a4 --- /dev/null +++ b/features/dca/dca_y.scc | |||
@@ -0,0 +1,6 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable DCA for IOATDMA capable devices" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf hardware dca_y.cfg | ||
5 | |||
6 | include cfg/dmaengine.scc | ||
diff --git a/features/debug/debug_kernel_n.cfg b/features/debug/debug_kernel_n.cfg new file mode 100644 index 0000000..38f20a7 --- /dev/null +++ b/features/debug/debug_kernel_n.cfg | |||
@@ -0,0 +1,7 @@ | |||
1 | CONFIG_DEBUG_INFO=n | ||
2 | CONFIG_PCI_DEBUG=n | ||
3 | CONFIG_PCIEASPM_DEBUG=n | ||
4 | CONFIG_PNP_DEBUG_MESSAGES=n | ||
5 | CONFIG_SCHED_DEBUG=n | ||
6 | CONFIG_DEBUG_PREEMPT=n | ||
7 | CONFIG_X86_DEBUG_FPU=n | ||
diff --git a/features/debug/debug_kernel_n.scc b/features/debug/debug_kernel_n.scc new file mode 100644 index 0000000..5910f2e --- /dev/null +++ b/features/debug/debug_kernel_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for kernel debug support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware debug_kernel_n.cfg | ||
diff --git a/features/debug/debug_kernel_y.cfg b/features/debug/debug_kernel_y.cfg new file mode 100644 index 0000000..29399ad --- /dev/null +++ b/features/debug/debug_kernel_y.cfg | |||
@@ -0,0 +1,8 @@ | |||
1 | CONFIG_DEBUG_KERNEL=y | ||
2 | CONFIG_DEBUG_INFO=y | ||
3 | CONFIG_PCI_DEBUG=y | ||
4 | CONFIG_PCIEASPM_DEBUG=y | ||
5 | CONFIG_PNP_DEBUG_MESSAGES=y | ||
6 | CONFIG_SCHED_DEBUG=y | ||
7 | CONFIG_DEBUG_PREEMPT=y | ||
8 | CONFIG_X86_DEBUG_FPU=y | ||
diff --git a/features/debug/debug_kernel_y.scc b/features/debug/debug_kernel_y.scc new file mode 100644 index 0000000..899e2e2 --- /dev/null +++ b/features/debug/debug_kernel_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable options required for kernel debug support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware debug_kernel_y.cfg | ||
diff --git a/features/devcoredump/devcoredump_n.cfg b/features/devcoredump/devcoredump_n.cfg new file mode 100644 index 0000000..26c3403 --- /dev/null +++ b/features/devcoredump/devcoredump_n.cfg | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_WANT_DEV_COREDUMP=n | ||
2 | CONFIG_DEV_COREDUMP=n | ||
diff --git a/features/devcoredump/devcoredump_n.scc b/features/devcoredump/devcoredump_n.scc new file mode 100644 index 0000000..8e5b6d1 --- /dev/null +++ b/features/devcoredump/devcoredump_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for dev core dump support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware devcoredump_n.cfg | ||
diff --git a/features/devcoredump/devcoredump_y.cfg b/features/devcoredump/devcoredump_y.cfg new file mode 100644 index 0000000..6a3d3c2 --- /dev/null +++ b/features/devcoredump/devcoredump_y.cfg | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_WANT_DEV_COREDUMP=y | ||
2 | CONFIG_DEV_COREDUMP=y | ||
diff --git a/features/devcoredump/devcoredump_y.scc b/features/devcoredump/devcoredump_y.scc new file mode 100644 index 0000000..6a3d3c2 --- /dev/null +++ b/features/devcoredump/devcoredump_y.scc | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_WANT_DEV_COREDUMP=y | ||
2 | CONFIG_DEV_COREDUMP=y | ||
diff --git a/features/display/display_n.cfg b/features/display/display_n.cfg new file mode 100644 index 0000000..3061f36 --- /dev/null +++ b/features/display/display_n.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | # | ||
2 | # Display Panels | ||
3 | # | ||
4 | CONFIG_DRM_BRIDGE=n | ||
diff --git a/features/display/display_n.scc b/features/display/display_n.scc new file mode 100644 index 0000000..1558d48 --- /dev/null +++ b/features/display/display_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Diable options for display support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware display_n.cfg | ||
diff --git a/features/dmiid/dmiid_n.cfg b/features/dmiid/dmiid_n.cfg new file mode 100644 index 0000000..61c1980 --- /dev/null +++ b/features/dmiid/dmiid_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_DMIID=n | |||
diff --git a/features/dmiid/dmiid_n.scc b/features/dmiid/dmiid_n.scc new file mode 100644 index 0000000..470d344 --- /dev/null +++ b/features/dmiid/dmiid_n.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable DMIID support" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware dmiid_n.cfg | ||
diff --git a/features/drm/drm_n.cfg b/features/drm/drm_n.cfg new file mode 100644 index 0000000..121f26d --- /dev/null +++ b/features/drm/drm_n.cfg | |||
@@ -0,0 +1,9 @@ | |||
1 | CONFIG_DRM=n | ||
2 | CONFIG_DRM_MIPI_DSI=n | ||
3 | # CONFIG_DRM_DP_AUX_CHARDEV is not set | ||
4 | # CONFIG_DRM_DEBUG_MM is not set | ||
5 | CONFIG_DRM_KMS_HELPER=n | ||
6 | CONFIG_DRM_KMS_FB_HELPER=n | ||
7 | CONFIG_DRM_FBDEV_EMULATION=n | ||
8 | # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set | ||
9 | CONFIG_DRM_TTM=n | ||
diff --git a/features/drm/drm_n.scc b/features/drm/drm_n.scc new file mode 100644 index 0000000..8c7ebba --- /dev/null +++ b/features/drm/drm_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Diable options for Direct Rendering Manager support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware drm_n.cfg | ||
diff --git a/features/elf_core_support/elf_core_support_n.cfg b/features/elf_core_support/elf_core_support_n.cfg new file mode 100644 index 0000000..7225ff0 --- /dev/null +++ b/features/elf_core_support/elf_core_support_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_ELF_CORE=n | |||
diff --git a/features/elf_core_support/elf_core_support_n.scc b/features/elf_core_support/elf_core_support_n.scc new file mode 100644 index 0000000..bad2ee7 --- /dev/null +++ b/features/elf_core_support/elf_core_support_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for ELF core support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware elf_core_support_n.cfg | ||
diff --git a/features/firewire/firewire_m.cfg b/features/firewire/firewire_m.cfg new file mode 100644 index 0000000..5131c4d --- /dev/null +++ b/features/firewire/firewire_m.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | CONFIG_FIREWIRE=m | ||
2 | CONFIG_FIREWIRE_OHCI=m | ||
3 | CONFIG_FIREWIRE_SBP2=m | ||
4 | CONFIG_FIREWIRE_NET=m | ||
diff --git a/features/firewire/firewire_m.scc b/features/firewire/firewire_m.scc new file mode 100644 index 0000000..e4227da --- /dev/null +++ b/features/firewire/firewire_m.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable in kernel FireWire support" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware firewire_m.cfg | ||
diff --git a/features/framebuffer/framebuffer_n.cfg b/features/framebuffer/framebuffer_n.cfg new file mode 100644 index 0000000..6634335 --- /dev/null +++ b/features/framebuffer/framebuffer_n.cfg | |||
@@ -0,0 +1,64 @@ | |||
1 | # | ||
2 | # Frame buffer Devices | ||
3 | # | ||
4 | CONFIG_FB=n | ||
5 | # CONFIG_FIRMWARE_EDID is not set | ||
6 | CONFIG_FB_CMDLINE=n | ||
7 | CONFIG_FB_NOTIFY=n | ||
8 | # CONFIG_FB_DDC is not set | ||
9 | CONFIG_FB_BOOT_VESA_SUPPORT=n | ||
10 | CONFIG_FB_CFB_FILLRECT=n | ||
11 | CONFIG_FB_CFB_COPYAREA=n | ||
12 | CONFIG_FB_CFB_IMAGEBLIT=n | ||
13 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
14 | CONFIG_FB_SYS_FILLRECT=n | ||
15 | CONFIG_FB_SYS_COPYAREA=n | ||
16 | CONFIG_FB_SYS_IMAGEBLIT=n | ||
17 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
18 | CONFIG_FB_SYS_FOPS=n | ||
19 | CONFIG_FB_DEFERRED_IO=n | ||
20 | # CONFIG_FB_SVGALIB is not set | ||
21 | # CONFIG_FB_MACMODES is not set | ||
22 | # CONFIG_FB_BACKLIGHT is not set | ||
23 | CONFIG_FB_MODE_HELPERS=n | ||
24 | # CONFIG_FB_TILEBLITTING is not set | ||
25 | # | ||
26 | # Frame buffer hardware drivers | ||
27 | # | ||
28 | # CONFIG_FB_CIRRUS is not set | ||
29 | # CONFIG_FB_PM2 is not set | ||
30 | # CONFIG_FB_CYBER2000 is not set | ||
31 | # CONFIG_FB_ARC is not set | ||
32 | # CONFIG_FB_ASILIANT is not set | ||
33 | # CONFIG_FB_IMSTT is not set | ||
34 | # CONFIG_FB_VGA16 is not set | ||
35 | CONFIG_FB_UVESA=n | ||
36 | CONFIG_FB_VESA=n | ||
37 | CONFIG_FB_EFI=n | ||
38 | # CONFIG_FB_N411 is not set | ||
39 | # CONFIG_FB_HGA is not set | ||
40 | # CONFIG_FB_OPENCORES is not set | ||
41 | # CONFIG_FB_S1D13XXX is not set | ||
42 | # CONFIG_FB_NVIDIA is not set | ||
43 | # CONFIG_FB_RIVA is not set | ||
44 | # CONFIG_FB_I740 is not set | ||
45 | # CONFIG_FB_LE80578 is not set | ||
46 | # CONFIG_FB_MATROX is not set | ||
47 | # CONFIG_FB_RADEON is not set | ||
48 | # CONFIG_FB_ATY128 is not set | ||
49 | # CONFIG_FB_ATY is not set | ||
50 | # CONFIG_FB_S3 is not set | ||
51 | # CONFIG_FB_SAVAGE is not set | ||
52 | # CONFIG_FB_SIS is not set | ||
53 | # CONFIG_FB_VIA is not set | ||
54 | # CONFIG_FB_NEOMAGIC is not set | ||
55 | # CONFIG_FB_KYRO is not set | ||
56 | # CONFIG_FB_3DFX is not set | ||
57 | # CONFIG_FB_VOODOO1 is not set | ||
58 | # CONFIG_FB_VT8623 is not set | ||
59 | # CONFIG_FB_TRIDENT is not set | ||
60 | # CONFIG_FB_ARK is not set | ||
61 | # CONFIG_FB_PM3 is not set | ||
62 | # CONFIG_FB_CARMINE is not set | ||
63 | CONFIG_FRAMEBUFFER_CONSOLE=n | ||
64 | CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=n | ||
diff --git a/features/framebuffer/framebuffer_n.scc b/features/framebuffer/framebuffer_n.scc new file mode 100644 index 0000000..d00ea02 --- /dev/null +++ b/features/framebuffer/framebuffer_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for frame buffer support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware framebuffer_n.cfg | ||
diff --git a/features/ftrace/ftrace_n.cfg b/features/ftrace/ftrace_n.cfg new file mode 100644 index 0000000..4df86f2 --- /dev/null +++ b/features/ftrace/ftrace_n.cfg | |||
@@ -0,0 +1,29 @@ | |||
1 | CONFIG_FTRACE=n | ||
2 | CONFIG_FUNCTION_TRACER=n | ||
3 | CONFIG_FUNCTION_GRAPH_TRACER=n | ||
4 | # CONFIG_IRQSOFF_TRACER is not set | ||
5 | # CONFIG_PREEMPT_TRACER is not set | ||
6 | # CONFIG_SCHED_TRACER is not set | ||
7 | # CONFIG_HWLAT_TRACER is not set | ||
8 | CONFIG_FTRACE_SYSCALLS=n | ||
9 | # CONFIG_TRACER_SNAPSHOT is not set | ||
10 | CONFIG_BRANCH_PROFILE_NONE=n | ||
11 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
12 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
13 | # CONFIG_STACK_TRACER is not set | ||
14 | CONFIG_BLK_DEV_IO_TRACE=n | ||
15 | CONFIG_KPROBE_EVENT=n | ||
16 | CONFIG_UPROBE_EVENT=n | ||
17 | CONFIG_PROBE_EVENTS=n | ||
18 | CONFIG_DYNAMIC_FTRACE=n | ||
19 | CONFIG_DYNAMIC_FTRACE_WITH_REGS=n | ||
20 | # CONFIG_FUNCTION_PROFILER is not set | ||
21 | CONFIG_FTRACE_MCOUNT_RECORD=n | ||
22 | # CONFIG_FTRACE_STARTUP_TEST is not set | ||
23 | # CONFIG_MMIOTRACE is not set | ||
24 | # CONFIG_HIST_TRIGGERS is not set | ||
25 | # CONFIG_TRACEPOINT_BENCHMARK is not set | ||
26 | # CONFIG_RING_BUFFER_BENCHMARK is not set | ||
27 | # CONFIG_RING_BUFFER_STARTUP_TEST is not set | ||
28 | # CONFIG_TRACE_ENUM_MAP_FILE is not set | ||
29 | CONFIG_TRACING_EVENTS_GPIO=n | ||
diff --git a/features/ftrace/ftrace_n.scc b/features/ftrace/ftrace_n.scc new file mode 100644 index 0000000..a9ba75f --- /dev/null +++ b/features/ftrace/ftrace_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for ftrace support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware ftrace_n.cfg | ||
diff --git a/features/ftrace/ftrace_y.cfg b/features/ftrace/ftrace_y.cfg new file mode 100644 index 0000000..8685263 --- /dev/null +++ b/features/ftrace/ftrace_y.cfg | |||
@@ -0,0 +1,12 @@ | |||
1 | CONFIG_DYNAMIC_FTRACE=y | ||
2 | CONFIG_DEBUG_FS=y | ||
3 | CONFIG_FTRACE=y | ||
4 | CONFIG_FUNCTION_TRACER=y | ||
5 | CONFIG_FUNCTION_GRAPH_TRACER=y | ||
6 | CONFIG_IRQSOFF_TRACER=y | ||
7 | CONFIG_PREEMPT_TRACER=y | ||
8 | CONFIG_SCHED_TRACER=y | ||
9 | CONFIG_STACK_TRACER=y | ||
10 | CONFIG_BLK_DEV_IO_TRACE=y | ||
11 | CONFIG_FUNCTION_PROFILER=y | ||
12 | CONFIG_FTRACE_MCOUNT_RECORD=y | ||
diff --git a/features/ftrace/ftrace_y.scc b/features/ftrace/ftrace_y.scc new file mode 100644 index 0000000..47deba6 --- /dev/null +++ b/features/ftrace/ftrace_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable options required for ftrace support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware ftrace_y.cfg | ||
diff --git a/features/hdmi/hdmi_n.cfg b/features/hdmi/hdmi_n.cfg new file mode 100644 index 0000000..97e7a97 --- /dev/null +++ b/features/hdmi/hdmi_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_HDMI=n | |||
diff --git a/features/hdmi/hdmi_n.scc b/features/hdmi/hdmi_n.scc new file mode 100644 index 0000000..c8324d1 --- /dev/null +++ b/features/hdmi/hdmi_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for hdmi support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware hdmi_n.cfg | ||
diff --git a/features/hid/hid_n.cfg b/features/hid/hid_n.cfg new file mode 100644 index 0000000..be0133e --- /dev/null +++ b/features/hid/hid_n.cfg | |||
@@ -0,0 +1,89 @@ | |||
1 | CONFIG_HID=n | ||
2 | # CONFIG_HID_BATTERY_STRENGTH is not set | ||
3 | # CONFIG_HIDRAW is not set | ||
4 | # CONFIG_UHID is not set | ||
5 | CONFIG_HID_GENERIC=n | ||
6 | |||
7 | # | ||
8 | # Special HID drivers | ||
9 | # | ||
10 | CONFIG_HID_A4TECH=n | ||
11 | # CONFIG_HID_ACRUX is not set | ||
12 | CONFIG_HID_APPLE=n | ||
13 | # CONFIG_HID_APPLEIR is not set | ||
14 | # CONFIG_HID_AUREAL is not set | ||
15 | CONFIG_HID_BELKIN=n | ||
16 | # CONFIG_HID_BETOP_FF is not set | ||
17 | CONFIG_HID_CHERRY=n | ||
18 | CONFIG_HID_CHICONY=n | ||
19 | # CONFIG_HID_CORSAIR is not set | ||
20 | # CONFIG_HID_CMEDIA is not set | ||
21 | # CONFIG_HID_CP2112 is not set | ||
22 | CONFIG_HID_CYPRESS=n | ||
23 | # CONFIG_HID_DRAGONRISE is not set | ||
24 | # CONFIG_HID_EMS_FF is not set | ||
25 | # CONFIG_HID_ELECOM is not set | ||
26 | # CONFIG_HID_ELO is not set | ||
27 | CONFIG_HID_EZKEY=n | ||
28 | # CONFIG_HID_GEMBIRD is not set | ||
29 | # CONFIG_HID_GFRM is not set | ||
30 | # CONFIG_HID_HOLTEK is not set | ||
31 | # CONFIG_HID_GT683R is not set | ||
32 | # CONFIG_HID_KEYTOUCH is not set | ||
33 | # CONFIG_HID_KYE is not set | ||
34 | # CONFIG_HID_UCLOGIC is not set | ||
35 | # CONFIG_HID_WALTOP is not set | ||
36 | # CONFIG_HID_GYRATION is not set | ||
37 | # CONFIG_HID_ICADE is not set | ||
38 | # CONFIG_HID_TWINHAN is not set | ||
39 | CONFIG_HID_KENSINGTON=n | ||
40 | # CONFIG_HID_LCPOWER is not set | ||
41 | # CONFIG_HID_LED is not set | ||
42 | # CONFIG_HID_LENOVO is not set | ||
43 | CONFIG_HID_LOGITECH=n | ||
44 | # CONFIG_HID_LOGITECH_HIDPP is not set | ||
45 | # CONFIG_LOGITECH_FF is not set | ||
46 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | ||
47 | # CONFIG_LOGIG940_FF is not set | ||
48 | # CONFIG_LOGIWHEELS_FF is not set | ||
49 | # CONFIG_HID_MAGICMOUSE is not set | ||
50 | CONFIG_HID_MICROSOFT=n | ||
51 | CONFIG_HID_MONTEREY=n | ||
52 | # CONFIG_HID_MULTITOUCH is not set | ||
53 | # CONFIG_HID_NTRIG is not set | ||
54 | # CONFIG_HID_ORTEK is not set | ||
55 | # CONFIG_HID_PANTHERLORD is not set | ||
56 | # CONFIG_HID_PENMOUNT is not set | ||
57 | # CONFIG_HID_PETALYNX is not set | ||
58 | # CONFIG_HID_PICOLCD is not set | ||
59 | # CONFIG_HID_PLANTRONICS is not set | ||
60 | # CONFIG_HID_PRIMAX is not set | ||
61 | # CONFIG_HID_ROCCAT is not set | ||
62 | # CONFIG_HID_SAITEK is not set | ||
63 | # CONFIG_HID_SAMSUNG is not set | ||
64 | # CONFIG_HID_SONY is not set | ||
65 | # CONFIG_HID_SPEEDLINK is not set | ||
66 | # CONFIG_HID_STEELSERIES is not set | ||
67 | # CONFIG_HID_SUNPLUS is not set | ||
68 | # CONFIG_HID_RMI is not set | ||
69 | # CONFIG_HID_GREENASIA is not set | ||
70 | # CONFIG_HID_SMARTJOYPLUS is not set | ||
71 | # CONFIG_HID_TIVO is not set | ||
72 | # CONFIG_HID_TOPSEED is not set | ||
73 | # CONFIG_HID_THINGM is not set | ||
74 | # CONFIG_HID_THRUSTMASTER is not set | ||
75 | CONFIG_HID_WACOM=n | ||
76 | # CONFIG_HID_WIIMOTE is not set | ||
77 | # CONFIG_HID_XINMO is not set | ||
78 | # CONFIG_HID_ZEROPLUS is not set | ||
79 | # CONFIG_HID_ZYDACRON is not set | ||
80 | CONFIG_HID_SENSOR_HUB=n | ||
81 | # CONFIG_HID_SENSOR_CUSTOM_SENSOR is not set | ||
82 | # CONFIG_HID_ALPS is not set | ||
83 | |||
84 | # | ||
85 | # USB HID support | ||
86 | # | ||
87 | CONFIG_USB_HID=n | ||
88 | # CONFIG_HID_PID is not set | ||
89 | CONFIG_USB_HIDDEV=n | ||
diff --git a/features/hid/hid_n.scc b/features/hid/hid_n.scc new file mode 100644 index 0000000..d9ea88b --- /dev/null +++ b/features/hid/hid_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for HID support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware hid_n.cfg | ||
diff --git a/features/hid/keyboard_m.cfg b/features/hid/keyboard_m.cfg new file mode 100644 index 0000000..8f2104c --- /dev/null +++ b/features/hid/keyboard_m.cfg | |||
@@ -0,0 +1,161 @@ | |||
1 | CONFIG_INPUT_KEYBOARD=y | ||
2 | # CONFIG_KEYBOARD_ADC is not set | ||
3 | # CONFIG_KEYBOARD_ADP5588 is not set | ||
4 | # CONFIG_KEYBOARD_ADP5589 is not set | ||
5 | CONFIG_KEYBOARD_ATKBD=m | ||
6 | # CONFIG_KEYBOARD_QT1070 is not set | ||
7 | # CONFIG_KEYBOARD_QT2160 is not set | ||
8 | # CONFIG_KEYBOARD_LKKBD is not set | ||
9 | # CONFIG_KEYBOARD_GPIO is not set | ||
10 | # CONFIG_KEYBOARD_GPIO_POLLED is not set | ||
11 | # CONFIG_KEYBOARD_TCA6416 is not set | ||
12 | # CONFIG_KEYBOARD_TCA8418 is not set | ||
13 | # CONFIG_KEYBOARD_MATRIX is not set | ||
14 | # CONFIG_KEYBOARD_LM8323 is not set | ||
15 | # CONFIG_KEYBOARD_LM8333 is not set | ||
16 | # CONFIG_KEYBOARD_MAX7359 is not set | ||
17 | # CONFIG_KEYBOARD_MCS is not set | ||
18 | # CONFIG_KEYBOARD_MPR121 is not set | ||
19 | # CONFIG_KEYBOARD_NEWTON is not set | ||
20 | # CONFIG_KEYBOARD_OPENCORES is not set | ||
21 | # CONFIG_KEYBOARD_SAMSUNG is not set | ||
22 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
23 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
24 | CONFIG_KEYBOARD_XTKBD=m | ||
25 | CONFIG_INPUT_MISC=y | ||
26 | # CONFIG_INPUT_AD714X is not set | ||
27 | # CONFIG_INPUT_BMA150 is not set | ||
28 | # CONFIG_INPUT_E3X0_BUTTON is not set | ||
29 | # CONFIG_INPUT_MMA8450 is not set | ||
30 | # CONFIG_INPUT_MPU3050 is not set | ||
31 | # CONFIG_INPUT_APANEL is not set | ||
32 | # CONFIG_INPUT_GP2A is not set | ||
33 | # CONFIG_INPUT_GPIO_BEEPER is not set | ||
34 | # CONFIG_INPUT_GPIO_TILT_POLLED is not set | ||
35 | # CONFIG_INPUT_GPIO_DECODER is not set | ||
36 | # CONFIG_INPUT_ATLAS_BTNS is not set | ||
37 | # CONFIG_INPUT_ATI_REMOTE2 is not set | ||
38 | # CONFIG_INPUT_KEYSPAN_REMOTE is not set | ||
39 | # CONFIG_INPUT_KXTJ9 is not set | ||
40 | # CONFIG_INPUT_POWERMATE is not set | ||
41 | # CONFIG_INPUT_YEALINK is not set | ||
42 | # CONFIG_INPUT_CM109 is not set | ||
43 | # CONFIG_INPUT_UINPUT is not set | ||
44 | # CONFIG_INPUT_PCF8574 is not set | ||
45 | # CONFIG_INPUT_PWM_BEEPER is not set | ||
46 | # CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set | ||
47 | # CONFIG_INPUT_ADXL34X is not set | ||
48 | # CONFIG_INPUT_IMS_PCU is not set | ||
49 | # CONFIG_INPUT_CMA3000 is not set | ||
50 | # CONFIG_INPUT_IDEAPAD_SLIDEBAR is not set | ||
51 | # CONFIG_INPUT_DRV260X_HAPTICS is not set | ||
52 | # CONFIG_INPUT_DRV2665_HAPTICS is not set | ||
53 | # CONFIG_INPUT_DRV2667_HAPTICS is not set | ||
54 | CONFIG_SERIO=m | ||
55 | CONFIG_SERIO_I8042=m | ||
56 | CONFIG_SERIO_SERPORT=m | ||
57 | # CONFIG_SERIO_CT82C710 is not set | ||
58 | # CONFIG_SERIO_PARKBD is not set | ||
59 | CONFIG_SERIO_PCIPS2=m | ||
60 | CONFIG_SERIO_LIBPS2=m | ||
61 | # CONFIG_SERIO_RAW is not set | ||
62 | # CONFIG_SERIO_ALTERA_PS2 is not set | ||
63 | # CONFIG_SERIO_PS2MULT is not set | ||
64 | # CONFIG_SERIO_ARC_PS2 is not set | ||
65 | # CONFIG_USERIO is not set | ||
66 | CONFIG_HSI=y | ||
67 | CONFIG_HSI_BOARDINFO=y | ||
68 | |||
69 | # | ||
70 | # HSI controllers | ||
71 | # | ||
72 | |||
73 | # | ||
74 | # HSI clients | ||
75 | # | ||
76 | # CONFIG_HSI_CHAR is not set | ||
77 | CONFIG_HID=m | ||
78 | # CONFIG_HID_BATTERY_STRENGTH is not set | ||
79 | # CONFIG_HIDRAW is not set | ||
80 | # CONFIG_UHID is not set | ||
81 | CONFIG_HID_GENERIC=m | ||
82 | |||
83 | # | ||
84 | # Special HID drivers | ||
85 | # | ||
86 | # CONFIG_HID_A4TECH is not set | ||
87 | # CONFIG_HID_ACRUX is not set | ||
88 | # CONFIG_HID_APPLE is not set | ||
89 | # CONFIG_HID_APPLEIR is not set | ||
90 | # CONFIG_HID_ASUS is not set | ||
91 | # CONFIG_HID_AUREAL is not set | ||
92 | # CONFIG_HID_BELKIN is not set | ||
93 | # CONFIG_HID_BETOP_FF is not set | ||
94 | # CONFIG_HID_CHERRY is not set | ||
95 | # CONFIG_HID_CHICONY is not set | ||
96 | # CONFIG_HID_CORSAIR is not set | ||
97 | # CONFIG_HID_CMEDIA is not set | ||
98 | # CONFIG_HID_CP2112 is not set | ||
99 | # CONFIG_HID_CYPRESS is not set | ||
100 | # CONFIG_HID_DRAGONRISE is not set | ||
101 | # CONFIG_HID_EMS_FF is not set | ||
102 | # CONFIG_HID_ELECOM is not set | ||
103 | # CONFIG_HID_ELO is not set | ||
104 | # CONFIG_HID_EZKEY is not set | ||
105 | # CONFIG_HID_GEMBIRD is not set | ||
106 | # CONFIG_HID_GFRM is not set | ||
107 | # CONFIG_HID_HOLTEK is not set | ||
108 | # CONFIG_HID_GT683R is not set | ||
109 | # CONFIG_HID_KEYTOUCH is not set | ||
110 | # CONFIG_HID_KYE is not set | ||
111 | # CONFIG_HID_UCLOGIC is not set | ||
112 | # CONFIG_HID_WALTOP is not set | ||
113 | # CONFIG_HID_GYRATION is not set | ||
114 | # CONFIG_HID_ICADE is not set | ||
115 | # CONFIG_HID_TWINHAN is not set | ||
116 | # CONFIG_HID_KENSINGTON is not set | ||
117 | # CONFIG_HID_LCPOWER is not set | ||
118 | # CONFIG_HID_LED is not set | ||
119 | # CONFIG_HID_LENOVO is not set | ||
120 | # CONFIG_HID_LOGITECH is not set | ||
121 | # CONFIG_HID_MAGICMOUSE is not set | ||
122 | # CONFIG_HID_MICROSOFT is not set | ||
123 | # CONFIG_HID_MONTEREY is not set | ||
124 | # CONFIG_HID_MULTITOUCH is not set | ||
125 | # CONFIG_HID_NTRIG is not set | ||
126 | # CONFIG_HID_ORTEK is not set | ||
127 | # CONFIG_HID_PANTHERLORD is not set | ||
128 | # CONFIG_HID_PENMOUNT is not set | ||
129 | # CONFIG_HID_PETALYNX is not set | ||
130 | # CONFIG_HID_PICOLCD is not set | ||
131 | # CONFIG_HID_PLANTRONICS is not set | ||
132 | # CONFIG_HID_PRIMAX is not set | ||
133 | # CONFIG_HID_ROCCAT is not set | ||
134 | # CONFIG_HID_SAITEK is not set | ||
135 | # CONFIG_HID_SAMSUNG is not set | ||
136 | # CONFIG_HID_SONY is not set | ||
137 | # CONFIG_HID_SPEEDLINK is not set | ||
138 | # CONFIG_HID_STEELSERIES is not set | ||
139 | # CONFIG_HID_SUNPLUS is not set | ||
140 | # CONFIG_HID_RMI is not set | ||
141 | # CONFIG_HID_GREENASIA is not set | ||
142 | # CONFIG_HID_SMARTJOYPLUS is not set | ||
143 | # CONFIG_HID_TIVO is not set | ||
144 | # CONFIG_HID_TOPSEED is not set | ||
145 | # CONFIG_HID_THINGM is not set | ||
146 | # CONFIG_HID_THRUSTMASTER is not set | ||
147 | # CONFIG_HID_WACOM is not set | ||
148 | # CONFIG_HID_WIIMOTE is not set | ||
149 | # CONFIG_HID_XINMO is not set | ||
150 | # CONFIG_HID_ZEROPLUS is not set | ||
151 | # CONFIG_HID_ZYDACRON is not set | ||
152 | # CONFIG_HID_SENSOR_HUB is not set | ||
153 | # CONFIG_HID_ALPS is not set | ||
154 | CONFIG_USB_HID=m | ||
155 | # CONFIG_USB_HIDDEV is not set | ||
156 | CONFIG_USB_KBD=m | ||
157 | CONFIG_I2C_HID=m | ||
158 | CONFIG_INTEL_ISH_HID=m | ||
159 | # CONFIG_LEDS_CLEVO_MAIL is not set | ||
160 | # CONFIG_RTC_DRV_HID_SENSOR_TIME is not set | ||
161 | # CONFIG_HP_ACCEL is not set | ||
diff --git a/features/hid/keyboard_m.scc b/features/hid/keyboard_m.scc new file mode 100644 index 0000000..9943cb7 --- /dev/null +++ b/features/hid/keyboard_m.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable as module Keyboard support" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware keyboard_m.cfg | ||
diff --git a/features/hidsensor/hidsensor_n.cfg b/features/hidsensor/hidsensor_n.cfg new file mode 100644 index 0000000..cc5b461 --- /dev/null +++ b/features/hidsensor/hidsensor_n.cfg | |||
@@ -0,0 +1,5 @@ | |||
1 | CONFIG_HID_SENSOR_IIO_COMMON=n | ||
2 | CONFIG_HID_SENSOR_IIO_TRIGGER=n | ||
3 | CONFIG_HID_SENSOR_GYRO_3D=n | ||
4 | CONFIG_HID_SENSOR_ALS=n | ||
5 | CONFIG_HID_SENSOR_MAGNETOMETER_3D=n | ||
diff --git a/features/hidsensor/hidsensor_n.scc b/features/hidsensor/hidsensor_n.scc new file mode 100644 index 0000000..53a0b9d --- /dev/null +++ b/features/hidsensor/hidsensor_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for HID sensor support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware hidsensor_n.cfg | ||
diff --git a/features/hsi/hsi_m.cfg b/features/hsi/hsi_m.cfg new file mode 100644 index 0000000..16e6dd3 --- /dev/null +++ b/features/hsi/hsi_m.cfg | |||
@@ -0,0 +1,20 @@ | |||
1 | CONFIG_SPMI=m | ||
2 | CONFIG_HSI=m | ||
3 | CONFIG_HSI_BOARDINFO=y | ||
4 | |||
5 | # | ||
6 | # HSI controllers | ||
7 | # | ||
8 | |||
9 | # | ||
10 | # HSI clients | ||
11 | # | ||
12 | CONFIG_HSI_CHAR=m | ||
13 | # CONFIG_QCOM_SPMI_IADC is not set | ||
14 | # CONFIG_QCOM_SPMI_VADC is not set | ||
15 | CONFIG_LIBNVDIMM=m | ||
16 | CONFIG_BLK_DEV_PMEM=m | ||
17 | CONFIG_ND_BLK=m | ||
18 | CONFIG_ND_CLAIM=y | ||
19 | CONFIG_ND_BTT=m | ||
20 | CONFIG_BTT=y | ||
diff --git a/features/hsi/hsi_m.scc b/features/hsi/hsi_m.scc new file mode 100644 index 0000000..304f5a0 --- /dev/null +++ b/features/hsi/hsi_m.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable in kernel HSI (High Speed Synchronous Serial Interface) support" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware hsi_m.cfg | ||
diff --git a/features/hugetlb/thp_n.cfg b/features/hugetlb/thp_n.cfg new file mode 100644 index 0000000..81718bb --- /dev/null +++ b/features/hugetlb/thp_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_TRANSPARENT_HUGEPAGE=n | |||
diff --git a/features/hugetlb/thp_n.scc b/features/hugetlb/thp_n.scc new file mode 100644 index 0000000..49436e7 --- /dev/null +++ b/features/hugetlb/thp_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable transparent huge pages" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware thp_y.cfg | ||
diff --git a/features/hugetlb/thp_y.cfg b/features/hugetlb/thp_y.cfg new file mode 100644 index 0000000..75d999c --- /dev/null +++ b/features/hugetlb/thp_y.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_TRANSPARENT_HUGEPAGE=y | |||
diff --git a/features/hugetlb/thp_y.scc b/features/hugetlb/thp_y.scc new file mode 100644 index 0000000..d3dc20f --- /dev/null +++ b/features/hugetlb/thp_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable transparent huge pages" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware thp_y.cfg | ||
diff --git a/features/hwmon/hwmon_n.cfg b/features/hwmon/hwmon_n.cfg new file mode 100644 index 0000000..617d8f5 --- /dev/null +++ b/features/hwmon/hwmon_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_HWMON=n | |||
diff --git a/features/hwmon/hwmon_n.scc b/features/hwmon/hwmon_n.scc new file mode 100644 index 0000000..633a107 --- /dev/null +++ b/features/hwmon/hwmon_n.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable hardware monitor support" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware hwmon_n.cfg | ||
diff --git a/features/i2csupport/i2csupport_n.cfg b/features/i2csupport/i2csupport_n.cfg new file mode 100644 index 0000000..30c4a3e --- /dev/null +++ b/features/i2csupport/i2csupport_n.cfg | |||
@@ -0,0 +1,80 @@ | |||
1 | CONFIG_REGMAP=n | ||
2 | CONFIG_REGMAP_I2C=n | ||
3 | # | ||
4 | # EEPROM support | ||
5 | # | ||
6 | CONFIG_EEPROM_AT24=n | ||
7 | # | ||
8 | # I2C support | ||
9 | # | ||
10 | CONFIG_I2C=n | ||
11 | CONFIG_ACPI_I2C_OPREGION=n | ||
12 | CONFIG_I2C_BOARDINFO=n | ||
13 | CONFIG_I2C_COMPAT=n | ||
14 | # CONFIG_I2C_CHARDEV is not set | ||
15 | # CONFIG_I2C_MUX is not set | ||
16 | CONFIG_I2C_HELPER_AUTO=n | ||
17 | CONFIG_I2C_SMBUS=n | ||
18 | |||
19 | # | ||
20 | # I2C Hardware Bus support | ||
21 | # | ||
22 | |||
23 | # | ||
24 | # PC SMBus host controller drivers | ||
25 | # | ||
26 | # CONFIG_I2C_ALI1535 is not set | ||
27 | # CONFIG_I2C_ALI1563 is not set | ||
28 | # CONFIG_I2C_ALI15X3 is not set | ||
29 | # CONFIG_I2C_AMD756 is not set | ||
30 | # CONFIG_I2C_AMD8111 is not set | ||
31 | CONFIG_I2C_I801=n | ||
32 | # CONFIG_I2C_ISCH is not set | ||
33 | # CONFIG_I2C_ISMT is not set | ||
34 | # CONFIG_I2C_PIIX4 is not set | ||
35 | # CONFIG_I2C_NFORCE2 is not set | ||
36 | # CONFIG_I2C_SIS5595 is not set | ||
37 | # CONFIG_I2C_SIS630 is not set | ||
38 | # CONFIG_I2C_SIS96X is not set | ||
39 | # CONFIG_I2C_VIA is not set | ||
40 | # CONFIG_I2C_VIAPRO is not set | ||
41 | |||
42 | # | ||
43 | # ACPI drivers | ||
44 | # | ||
45 | # CONFIG_I2C_SCMI is not set | ||
46 | |||
47 | # | ||
48 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
49 | # | ||
50 | # CONFIG_I2C_DESIGNWARE_PLATFORM is not set | ||
51 | # CONFIG_I2C_DESIGNWARE_PCI is not set | ||
52 | # CONFIG_I2C_EMEV2 is not set | ||
53 | # CONFIG_I2C_OCORES is not set | ||
54 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
55 | # CONFIG_I2C_PXA_PCI is not set | ||
56 | # CONFIG_I2C_SIMTEC is not set | ||
57 | # CONFIG_I2C_XILINX is not set | ||
58 | |||
59 | # | ||
60 | # External I2C/SMBus adapter drivers | ||
61 | # | ||
62 | # CONFIG_I2C_DIOLAN_U2C is not set | ||
63 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
64 | # CONFIG_I2C_ROBOTFUZZ_OSIF is not set | ||
65 | # CONFIG_I2C_TAOS_EVM is not set | ||
66 | # CONFIG_I2C_TINY_USB is not set | ||
67 | |||
68 | # | ||
69 | # Other I2C/SMBus bus drivers | ||
70 | # | ||
71 | # CONFIG_I2C_STUB is not set | ||
72 | # CONFIG_I2C_SLAVE is not set | ||
73 | # CONFIG_I2C_DEBUG_CORE is not set | ||
74 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
75 | # CONFIG_I2C_DEBUG_BUS is not set | ||
76 | |||
77 | # | ||
78 | # SPI RTC drivers | ||
79 | # | ||
80 | CONFIG_RTC_I2C_AND_SPI=n | ||
diff --git a/features/i2csupport/i2csupport_n.scc b/features/i2csupport/i2csupport_n.scc new file mode 100644 index 0000000..ca127b1 --- /dev/null +++ b/features/i2csupport/i2csupport_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable i2c support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware i2csupport_n.cfg | ||
diff --git a/features/ide/ide_m.cfg b/features/ide/ide_m.cfg new file mode 100644 index 0000000..b0236eb --- /dev/null +++ b/features/ide/ide_m.cfg | |||
@@ -0,0 +1,41 @@ | |||
1 | # | ||
2 | # Protocols | ||
3 | # | ||
4 | CONFIG_PARIDE=m | ||
5 | |||
6 | # | ||
7 | # Parallel IDE high-level drivers | ||
8 | # | ||
9 | CONFIG_PARIDE_PD=m | ||
10 | CONFIG_PARIDE_PCD=m | ||
11 | CONFIG_PARIDE_PF=m | ||
12 | |||
13 | |||
14 | CONFIG_IDE=m | ||
15 | |||
16 | # | ||
17 | # Please see Documentation/ide/ide.txt for help/info on IDE drives | ||
18 | # | ||
19 | CONFIG_IDE_XFER_MODE=y | ||
20 | CONFIG_IDE_ATAPI=y | ||
21 | CONFIG_IDE_GD=m | ||
22 | CONFIG_IDE_GD_ATA=y | ||
23 | CONFIG_BLK_DEV_IDECD=m | ||
24 | CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y | ||
25 | CONFIG_IDE_PROC_FS=y | ||
26 | |||
27 | # | ||
28 | # IDE chipset support/bugfixes | ||
29 | # | ||
30 | CONFIG_IDE_GENERIC=m | ||
31 | CONFIG_BLK_DEV_PLATFORM=m | ||
32 | CONFIG_BLK_DEV_IDEDMA_SFF=y | ||
33 | |||
34 | # | ||
35 | # PCI IDE chipsets support | ||
36 | # | ||
37 | CONFIG_BLK_DEV_IDEPCI=y | ||
38 | CONFIG_BLK_DEV_GENERIC=m | ||
39 | CONFIG_BLK_DEV_IDEDMA_PCI=y | ||
40 | CONFIG_BLK_DEV_PIIX=m | ||
41 | CONFIG_BLK_DEV_IDEDMA=y | ||
diff --git a/features/ide/ide_m.scc b/features/ide/ide_m.scc new file mode 100644 index 0000000..614e94d --- /dev/null +++ b/features/ide/ide_m.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable IDE support as modules" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware ide_m.cfg | ||
diff --git a/features/ieee802154/ieee802154_n.cfg b/features/ieee802154/ieee802154_n.cfg new file mode 100644 index 0000000..36f6f2b --- /dev/null +++ b/features/ieee802154/ieee802154_n.cfg | |||
@@ -0,0 +1,6 @@ | |||
1 | CONFIG_IEEE802154=n | ||
2 | # CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set | ||
3 | CONFIG_IEEE802154_SOCKET=n | ||
4 | CONFIG_IEEE802154_6LOWPAN=n | ||
5 | # CONFIG_MAC802154 is not set | ||
6 | CONFIG_IEEE802154_DRIVERS=n | ||
diff --git a/features/ieee802154/ieee802154_n.scc b/features/ieee802154/ieee802154_n.scc new file mode 100644 index 0000000..fc68bf8 --- /dev/null +++ b/features/ieee802154/ieee802154_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for IEEE802154 support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware ieee802154_n.cfg | ||
diff --git a/features/inclinometer/inclinometer_n.cfg b/features/inclinometer/inclinometer_n.cfg new file mode 100644 index 0000000..0c8247b --- /dev/null +++ b/features/inclinometer/inclinometer_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_HID_SENSOR_INCLINOMETER_3D=n | |||
diff --git a/features/inclinometer/inclinometer_n.scc b/features/inclinometer/inclinometer_n.scc new file mode 100644 index 0000000..5898da2 --- /dev/null +++ b/features/inclinometer/inclinometer_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for Inclinometer support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware inclinometer_n.cfg | ||
diff --git a/features/input/input_n.cfg b/features/input/input_n.cfg new file mode 100644 index 0000000..ee422f2 --- /dev/null +++ b/features/input/input_n.cfg | |||
@@ -0,0 +1,3 @@ | |||
1 | CONFIG_SERIO=n | ||
2 | CONFIG_INPUT_LEDS=n | ||
3 | CONFIG_INPUT_EVDEV=n | ||
diff --git a/features/input/input_n.scc b/features/input/input_n.scc new file mode 100644 index 0000000..16aaa94 --- /dev/null +++ b/features/input/input_n.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable inputs" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware input_n.cfg | ||
diff --git a/features/intel-e1xxxx/e100_m.cfg b/features/intel-e1xxxx/e100_m.cfg new file mode 100644 index 0000000..676b909 --- /dev/null +++ b/features/intel-e1xxxx/e100_m.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_E100=m | |||
diff --git a/features/intel-e1xxxx/e100_m.scc b/features/intel-e1xxxx/e100_m.scc new file mode 100644 index 0000000..42730b4 --- /dev/null +++ b/features/intel-e1xxxx/e100_m.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Build E100 support as a module" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware e100_m.cfg | ||
diff --git a/features/intel-e1xxxx/e100_n.cfg b/features/intel-e1xxxx/e100_n.cfg new file mode 100644 index 0000000..dab91be --- /dev/null +++ b/features/intel-e1xxxx/e100_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_E100=n | |||
diff --git a/features/intel-e1xxxx/e100_n.scc b/features/intel-e1xxxx/e100_n.scc new file mode 100644 index 0000000..bdf9995 --- /dev/null +++ b/features/intel-e1xxxx/e100_n.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Build E100 support as a module" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware e100_n.cfg | ||
diff --git a/features/intel-e1xxxx/e1xxxx_m.cfg b/features/intel-e1xxxx/e1xxxx_m.cfg new file mode 100644 index 0000000..c05e8c6 --- /dev/null +++ b/features/intel-e1xxxx/e1xxxx_m.cfg | |||
@@ -0,0 +1,3 @@ | |||
1 | CONFIG_E1000=m | ||
2 | CONFIG_E1000E=m | ||
3 | CONFIG_E1000E_HWTS=m | ||
diff --git a/features/intel-e1xxxx/e1xxxx_m.scc b/features/intel-e1xxxx/e1xxxx_m.scc new file mode 100644 index 0000000..d8a8f16 --- /dev/null +++ b/features/intel-e1xxxx/e1xxxx_m.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Build E1xxxx drivers as modules" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware e1xxxx_m.cfg | ||
diff --git a/features/intel-e1xxxx/e1xxxx_n.cfg b/features/intel-e1xxxx/e1xxxx_n.cfg new file mode 100644 index 0000000..d12c714 --- /dev/null +++ b/features/intel-e1xxxx/e1xxxx_n.cfg | |||
@@ -0,0 +1,3 @@ | |||
1 | CONFIG_E1000=n | ||
2 | CONFIG_E1000E=n | ||
3 | CONFIG_E1000E_HWTS=n | ||
diff --git a/features/intel-e1xxxx/e1xxxx_n.scc b/features/intel-e1xxxx/e1xxxx_n.scc new file mode 100644 index 0000000..3d2b0f1 --- /dev/null +++ b/features/intel-e1xxxx/e1xxxx_n.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Build E1xxxx drivers as modules" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware e1xxxx_n.cfg | ||
diff --git a/features/isdn/isdn_n.cfg b/features/isdn/isdn_n.cfg new file mode 100644 index 0000000..d17ce70 --- /dev/null +++ b/features/isdn/isdn_n.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | CONFIG_ISDN=n | ||
2 | # CONFIG_ISDN_I4L is not set | ||
3 | CONFIG_ISDN_CAPI=n | ||
4 | CONFIG_CAPI_TRACE=n | ||
diff --git a/features/isdn/isdn_n.scc b/features/isdn/isdn_n.scc new file mode 100644 index 0000000..53404e7 --- /dev/null +++ b/features/isdn/isdn_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable isdn support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware isdn_n.cfg | ||
diff --git a/features/isofs/isofs.cfg b/features/isofs/isofs.cfg new file mode 100644 index 0000000..c14eb11 --- /dev/null +++ b/features/isofs/isofs.cfg | |||
@@ -0,0 +1,10 @@ | |||
1 | CONFIG_ISO9660_FS=y | ||
2 | CONFIG_JOLIET=y | ||
3 | CONFIG_ZISOFS=y | ||
4 | CONFIG_UDF_FS=y | ||
5 | CONFIG_UDF_NLS=y | ||
6 | CONFIG_FAT_FS=y | ||
7 | CONFIG_VFAT_FS=y | ||
8 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
9 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
10 | CONFIG_CRC_ITU_T=y | ||
diff --git a/features/isofs/isofs.scc b/features/isofs/isofs.scc new file mode 100644 index 0000000..93ca615 --- /dev/null +++ b/features/isofs/isofs.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable ISO FS for CD-ROM support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware isofs.cfg | ||
diff --git a/features/ixgbe/ixgbe_m.cfg b/features/ixgbe/ixgbe_m.cfg new file mode 100644 index 0000000..88d48ce --- /dev/null +++ b/features/ixgbe/ixgbe_m.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | CONFIG_IXGB=m | ||
2 | CONFIG_IXGBE=m | ||
3 | CONFIG_IXGBEVF=m | ||
4 | CONFIG_DCA=y | ||
diff --git a/features/ixgbe/ixgbe_m.scc b/features/ixgbe/ixgbe_m.scc new file mode 100644 index 0000000..25cd537 --- /dev/null +++ b/features/ixgbe/ixgbe_m.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Build IXGB and IXGBE support as a modules" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf hardware ixgbe_m.cfg | ||
diff --git a/features/ixgbe/ixgbe_y.cfg b/features/ixgbe/ixgbe_y.cfg new file mode 100644 index 0000000..d3921c8 --- /dev/null +++ b/features/ixgbe/ixgbe_y.cfg | |||
@@ -0,0 +1,5 @@ | |||
1 | CONFIG_MDIO=y | ||
2 | CONFIG_IXGB=y | ||
3 | CONFIG_IXGBE=y | ||
4 | CONFIG_IXGBEVF=y | ||
5 | CONFIG_DCA=y | ||
diff --git a/features/ixgbe/ixgbe_y.scc b/features/ixgbe/ixgbe_y.scc new file mode 100644 index 0000000..2225085 --- /dev/null +++ b/features/ixgbe/ixgbe_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable Intel 10g ports" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf hardware ixgbe_y.cfg | ||
diff --git a/features/ixgbevf/ixgbevf_y.cfg b/features/ixgbevf/ixgbevf_y.cfg new file mode 100644 index 0000000..26ca642 --- /dev/null +++ b/features/ixgbevf/ixgbevf_y.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_IXGBEVF=y | |||
diff --git a/features/ixgbevf/ixgbevf_y.scc b/features/ixgbevf/ixgbevf_y.scc new file mode 100644 index 0000000..4772d88 --- /dev/null +++ b/features/ixgbevf/ixgbevf_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable virtual functions for Intel 10G ports" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf hardware ixgbevf_y.cfg | ||
diff --git a/features/kernel_xz_compression/kernel_xz_compression_y.cfg b/features/kernel_xz_compression/kernel_xz_compression_y.cfg new file mode 100644 index 0000000..1179508 --- /dev/null +++ b/features/kernel_xz_compression/kernel_xz_compression_y.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_KERNEL_XZ=y | |||
diff --git a/features/kernel_xz_compression/kernel_xz_compression_y.scc b/features/kernel_xz_compression/kernel_xz_compression_y.scc new file mode 100644 index 0000000..f695613 --- /dev/null +++ b/features/kernel_xz_compression/kernel_xz_compression_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable XZ kernel compression" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware kernel_xz_compression_y.cfg | ||
diff --git a/features/keyboard/keyboard_n.cfg b/features/keyboard/keyboard_n.cfg new file mode 100644 index 0000000..fdfba5e --- /dev/null +++ b/features/keyboard/keyboard_n.cfg | |||
@@ -0,0 +1,25 @@ | |||
1 | CONFIG_INPUT_KEYBOARD=n | ||
2 | # CONFIG_KEYBOARD_ADC is not set | ||
3 | # CONFIG_KEYBOARD_ADP5588 is not set | ||
4 | # CONFIG_KEYBOARD_ADP5589 is not set | ||
5 | CONFIG_KEYBOARD_ATKBD=n | ||
6 | # CONFIG_KEYBOARD_QT1070 is not set | ||
7 | # CONFIG_KEYBOARD_QT2160 is not set | ||
8 | # CONFIG_KEYBOARD_LKKBD is not set | ||
9 | CONFIG_KEYBOARD_GPIO=n | ||
10 | # CONFIG_KEYBOARD_GPIO_POLLED is not set | ||
11 | # CONFIG_KEYBOARD_TCA6416 is not set | ||
12 | # CONFIG_KEYBOARD_TCA8418 is not set | ||
13 | # CONFIG_KEYBOARD_MATRIX is not set | ||
14 | # CONFIG_KEYBOARD_LM8323 is not set | ||
15 | # CONFIG_KEYBOARD_LM8333 is not set | ||
16 | # CONFIG_KEYBOARD_MAX7359 is not set | ||
17 | # CONFIG_KEYBOARD_MCS is not set | ||
18 | # CONFIG_KEYBOARD_MPR121 is not set | ||
19 | # CONFIG_KEYBOARD_NEWTON is not set | ||
20 | # CONFIG_KEYBOARD_OPENCORES is not set | ||
21 | # CONFIG_KEYBOARD_SAMSUNG is not set | ||
22 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
23 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
24 | # CONFIG_KEYBOARD_XTKBD is not set | ||
25 | CONFIG_SERIO_I8042=m | ||
diff --git a/features/keyboard/keyboard_n.scc b/features/keyboard/keyboard_n.scc new file mode 100644 index 0000000..8d2076b --- /dev/null +++ b/features/keyboard/keyboard_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for Input Keyboard support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware keyboard_n.cfg | ||
diff --git a/features/kgdb/kgdb_n.cfg b/features/kgdb/kgdb_n.cfg new file mode 100644 index 0000000..d07c288 --- /dev/null +++ b/features/kgdb/kgdb_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_KGDB=n | |||
diff --git a/features/kgdb/kgdb_n.scc b/features/kgdb/kgdb_n.scc new file mode 100644 index 0000000..4b5b0a1 --- /dev/null +++ b/features/kgdb/kgdb_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable options required for kgdb support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware kgdb_n.cfg | ||
diff --git a/features/kgdb/kgdb_y.cfg b/features/kgdb/kgdb_y.cfg new file mode 100644 index 0000000..636ded5 --- /dev/null +++ b/features/kgdb/kgdb_y.cfg | |||
@@ -0,0 +1,9 @@ | |||
1 | # depends | ||
2 | CONFIG_EXPERIMENTAL=y | ||
3 | |||
4 | # configs | ||
5 | CONFIG_CONSOLE_POLL=y | ||
6 | CONFIG_KGDB=y | ||
7 | CONFIG_KGDB_SERIAL_CONSOLE=y | ||
8 | CONFIG_KGDB_KDB=y | ||
9 | CONFIG_MAGIC_SYSRQ=y | ||
diff --git a/features/kgdb/kgdb_y.scc b/features/kgdb/kgdb_y.scc new file mode 100644 index 0000000..17cb245 --- /dev/null +++ b/features/kgdb/kgdb_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable options required for kgdb support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware kgdb_y.cfg | ||
diff --git a/features/kprobes/kprobes_n.cfg b/features/kprobes/kprobes_n.cfg new file mode 100644 index 0000000..c29ee6a --- /dev/null +++ b/features/kprobes/kprobes_n.cfg | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_KPROBES=n | ||
2 | CONFIG_KRETPROBES=n | ||
diff --git a/features/kprobes/kprobes_n.scc b/features/kprobes/kprobes_n.scc new file mode 100644 index 0000000..d33e96b --- /dev/null +++ b/features/kprobes/kprobes_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for kprobes support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware kprobes_n.cfg | ||
diff --git a/features/ksm/ksm_n.cfg b/features/ksm/ksm_n.cfg new file mode 100644 index 0000000..129dd85 --- /dev/null +++ b/features/ksm/ksm_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_KSM=n | |||
diff --git a/features/ksm/ksm_n.scc b/features/ksm/ksm_n.scc new file mode 100644 index 0000000..dd84ae5 --- /dev/null +++ b/features/ksm/ksm_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable Kernel Samepage Merging" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware ksm_n.cfg | ||
diff --git a/features/ksm/ksm_y.cfg b/features/ksm/ksm_y.cfg new file mode 100644 index 0000000..757efcb --- /dev/null +++ b/features/ksm/ksm_y.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_KSM=y | |||
diff --git a/features/ksm/ksm_y.scc b/features/ksm/ksm_y.scc new file mode 100644 index 0000000..dfcf60e --- /dev/null +++ b/features/ksm/ksm_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable Kernel Samepage Merging" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware ksm_y.cfg | ||
diff --git a/features/kvm/guest_kvm_y.cfg b/features/kvm/guest_kvm_y.cfg new file mode 100644 index 0000000..95dfb75 --- /dev/null +++ b/features/kvm/guest_kvm_y.cfg | |||
@@ -0,0 +1,12 @@ | |||
1 | HYPERVISOR_GUEST=y | ||
2 | CONFIG_KVM_GUEST=y | ||
3 | CONFIG_KVM_DEBUG_FS=n | ||
4 | CONFIG_PARAVIRT_TIME_ACCOUNTING=y | ||
5 | CONFIG_PARAVIRT_CLOCK=y | ||
6 | CONFIG_PARAVIRT=y | ||
7 | CONFIG_PARAVIRT_DEBUG=n | ||
8 | CONFIG_PARAVIRT_SPINLOCKS=y | ||
9 | CONFIG_QUEUED_LOCK_STAT=y | ||
10 | |||
11 | CONFIG_SERIAL_8250=y | ||
12 | CONFIG_SERIAL_8250_CONSOLE=y | ||
diff --git a/features/kvm/guest_kvm_y.scc b/features/kvm/guest_kvm_y.scc new file mode 100644 index 0000000..d95413f --- /dev/null +++ b/features/kvm/guest_kvm_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable KVM guest support" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware guest_kvm_y.cfg | ||
diff --git a/features/kvm/guest_n.cfg b/features/kvm/guest_n.cfg new file mode 100644 index 0000000..2a046f8 --- /dev/null +++ b/features/kvm/guest_n.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | HYPERVISOR_GUEST=n | ||
2 | CONFIG_PARAVIRT=n | ||
3 | CONFIG_KVM_GUEST=n | ||
4 | CONFIG_VIRTIO=n | ||
diff --git a/features/kvm/guest_n.scc b/features/kvm/guest_n.scc new file mode 100644 index 0000000..71020d6 --- /dev/null +++ b/features/kvm/guest_n.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable guest support" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware guest_n.cfg | ||
5 | |||
diff --git a/features/kvm/host_n.cfg b/features/kvm/host_n.cfg new file mode 100644 index 0000000..9c1302a --- /dev/null +++ b/features/kvm/host_n.cfg | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_VIRTUALIZATION=n | ||
2 | CONFIG_VHOST=n | ||
diff --git a/features/kvm/host_n.scc b/features/kvm/host_n.scc new file mode 100644 index 0000000..b4b3cde --- /dev/null +++ b/features/kvm/host_n.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable guest support" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware host_n.cfg | ||
5 | |||
diff --git a/features/kvm/qemu-kvm_m.cfg b/features/kvm/qemu-kvm_m.cfg new file mode 100644 index 0000000..14e6582 --- /dev/null +++ b/features/kvm/qemu-kvm_m.cfg | |||
@@ -0,0 +1,30 @@ | |||
1 | CONFIG_HIGH_RES_TIMERS=y | ||
2 | CONFIG_HAVE_KVM=y | ||
3 | CONFIG_VIRTUALIZATION=y | ||
4 | CONFIG_PREEMPT_NOTIFIERS=y | ||
5 | CONFIG_MMU_NOTIFIER=y | ||
6 | CONFIG_ANON_INODES=y | ||
7 | CONFIG_HAVE_KVM_IRQCHIP=y | ||
8 | CONFIG_HAVE_KVM_IRQFD=y | ||
9 | CONFIG_IRQ_BYPASS_MANAGER=y | ||
10 | CONFIG_HAVE_KVM_IRQ_BYPASS=y | ||
11 | CONFIG_HAVE_KVM_IRQ_ROUTING=y | ||
12 | CONFIG_HAVE_KVM_EVENTFD=y | ||
13 | CONFIG_KVM_ASYNC_PF=y | ||
14 | CONFIG_USER_RETURN_NOTIFIER=y | ||
15 | CONFIG_KVM_MMIO=y | ||
16 | CONFIG_TASKSTATS=y | ||
17 | CONFIG_TASK_DELAY_ACCT=y | ||
18 | CONFIG_PERF_EVENTS=y | ||
19 | CONFIG_HAVE_KVM_MSI=y | ||
20 | CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y | ||
21 | CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y | ||
22 | CONFIG_KVM_VFIO=y | ||
23 | CONFIG_SRCU=y | ||
24 | |||
25 | CONFIG_KVM=m | ||
26 | CONFIG_KVM_INTEL=m | ||
27 | CONFIG_KVM_AMD=m | ||
28 | CONFIG_KVM_MMU_AUDIT=n | ||
29 | CONFIG_KVM_DEVICE_ASSIGNMENT=n | ||
30 | |||
diff --git a/features/kvm/qemu-kvm_m.scc b/features/kvm/qemu-kvm_m.scc new file mode 100644 index 0000000..ad21fa1 --- /dev/null +++ b/features/kvm/qemu-kvm_m.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable KVM host support" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware qemu-kvm_m.cfg | ||
diff --git a/features/kvm/virtFS_y.cfg b/features/kvm/virtFS_y.cfg new file mode 100644 index 0000000..c9fefa1 --- /dev/null +++ b/features/kvm/virtFS_y.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | CONFIG_NET_9P=y | ||
2 | CONFIG_NET_9P_VIRTIO=y | ||
3 | CONFIG_9P_FS=y | ||
4 | CONFIG_9P_FS_POSIX_ACL=y | ||
diff --git a/features/kvm/virtFS_y.scc b/features/kvm/virtFS_y.scc new file mode 100644 index 0000000..a3fd078 --- /dev/null +++ b/features/kvm/virtFS_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable Plan 9 folder sharing over Virtio - I/O virtualization framework" | ||
2 | define KFEATURE_COMPATIBILITY arch | ||
3 | |||
4 | kconf non-hardware virtFS_y.cfg | ||
diff --git a/features/kvm/virtio_balloon_y.cfg b/features/kvm/virtio_balloon_y.cfg new file mode 100644 index 0000000..25119df --- /dev/null +++ b/features/kvm/virtio_balloon_y.cfg | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_VIRTIO=y | ||
2 | CONFIG_VIRTIO_BALLOON=y | ||
diff --git a/features/kvm/virtio_balloon_y.scc b/features/kvm/virtio_balloon_y.scc new file mode 100644 index 0000000..a4f0b97 --- /dev/null +++ b/features/kvm/virtio_balloon_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "virtio support memory ballooning)" | ||
2 | define KFEATURE_COMPATIBILITY arch | ||
3 | |||
4 | kconf non-hardware virtio_balloon_y.cfg | ||
diff --git a/features/kvm/virtio_caif_y.cfg b/features/kvm/virtio_caif_y.cfg new file mode 100644 index 0000000..2af936b --- /dev/null +++ b/features/kvm/virtio_caif_y.cfg | |||
@@ -0,0 +1,5 @@ | |||
1 | CONFIG_CAIF=y | ||
2 | CONFIG_HAS_DMA=y | ||
3 | CONFIG_VHOST_RING=y | ||
4 | CONFIG_VIRTIO=y | ||
5 | CONFIG_CAIF_VIRTIO=y | ||
diff --git a/features/kvm/virtio_caif_y.scc b/features/kvm/virtio_caif_y.scc new file mode 100644 index 0000000..04d5ac4 --- /dev/null +++ b/features/kvm/virtio_caif_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "CAIF virtio transport driver" | ||
2 | define KFEATURE_COMPATIBILITY arch | ||
3 | |||
4 | kconf non-hardware guest_caif_y.cfg | ||
diff --git a/features/kvm/virtio_input_y.cfg b/features/kvm/virtio_input_y.cfg new file mode 100644 index 0000000..e83d993 --- /dev/null +++ b/features/kvm/virtio_input_y.cfg | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_VIRTIO=y | ||
2 | CONFIG_VIRTIO_INPUT=y | ||
diff --git a/features/kvm/virtio_input_y.scc b/features/kvm/virtio_input_y.scc new file mode 100644 index 0000000..b3e3a9a --- /dev/null +++ b/features/kvm/virtio_input_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "virtio support for input(keyboard, mice...) devices" | ||
2 | define KFEATURE_COMPATIBILITY arch | ||
3 | |||
4 | kconf non-hardware virtio_input_y.cfg | ||
diff --git a/features/kvm/virtio_pci_legacy_y.cfg b/features/kvm/virtio_pci_legacy_y.cfg new file mode 100644 index 0000000..4df21c5 --- /dev/null +++ b/features/kvm/virtio_pci_legacy_y.cfg | |||
@@ -0,0 +1,3 @@ | |||
1 | CONFIG_VIRTIO=y | ||
2 | CONFIG_VIRTIO_PCI=y | ||
3 | CONFIG_VIRTIO_PCI_LEGACY=y | ||
diff --git a/features/kvm/virtio_pci_legacy_y.scc b/features/kvm/virtio_pci_legacy_y.scc new file mode 100644 index 0000000..fcdf9e4 --- /dev/null +++ b/features/kvm/virtio_pci_legacy_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "virtio support for leagacy PCI devices" | ||
2 | define KFEATURE_COMPATIBILITY arch | ||
3 | |||
4 | kconf non-hardware virtio_pci_legacy_y.cfg | ||
diff --git a/features/kvm/virtio_y.cfg b/features/kvm/virtio_y.cfg new file mode 100644 index 0000000..ff97d75 --- /dev/null +++ b/features/kvm/virtio_y.cfg | |||
@@ -0,0 +1,28 @@ | |||
1 | CONFIG_VIRTIO=y | ||
2 | |||
3 | CONFIG_VIRTIO_PCI=y | ||
4 | CONFIG_VIRTIO_PCI_LEGACY=n | ||
5 | CONFIG_MIPS_PCI_VIRTIO=n | ||
6 | |||
7 | CONFIG_VIRTIO_NET=y | ||
8 | CONFIG_VIRTIO_BLK=y | ||
9 | CONFIG_SCSI_VIRTIO=y | ||
10 | |||
11 | CONFIG_VIRTIO_CONSOLE=y | ||
12 | |||
13 | CONFIG_VIRTIO_MMIO=y | ||
14 | CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=n | ||
15 | |||
16 | CONFIG_VIRTIO_BALLOON=n | ||
17 | CONFIG_VIRTIO_INPUT=n | ||
18 | |||
19 | CONFIG_HW_RANDOM_VIRTIO=m | ||
20 | |||
21 | CONFIG_CAIF_VIRTIO=n | ||
22 | CONFIG_RPMSG_VIRTIO=n | ||
23 | |||
24 | CONFIG_VSOCKETS=m | ||
25 | CONFIG_VIRTIO_VSOCKETS_COMMON=m | ||
26 | CONFIG_VIRTIO_VSOCKETS=m | ||
27 | |||
28 | CONFIG_DRM_VIRTIO_GPU=m | ||
diff --git a/features/kvm/virtio_y.scc b/features/kvm/virtio_y.scc new file mode 100644 index 0000000..a80cfa4 --- /dev/null +++ b/features/kvm/virtio_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "virtio support (core,pci,ring,net,blk,mmio)" | ||
2 | define KFEATURE_COMPATIBILITY arch | ||
3 | |||
4 | kconf non-hardware virtio_y.cfg | ||
diff --git a/features/latencytop/latencytop_y.cfg b/features/latencytop/latencytop_y.cfg new file mode 100644 index 0000000..abf5d3b --- /dev/null +++ b/features/latencytop/latencytop_y.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | CONFIG_KALLSYMS_ALL=y | ||
2 | CONFIG_SCHED_DEBUG=y | ||
3 | CONFIG_SCHEDSTATS=y | ||
4 | CONFIG_LATENCYTOP=y | ||
diff --git a/features/latencytop/latencytop_y.scc b/features/latencytop/latencytop_y.scc new file mode 100644 index 0000000..23f8bab --- /dev/null +++ b/features/latencytop/latencytop_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable options required for latencytop support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware latencytop_y.cfg | ||
diff --git a/features/loopdev/loopdev_n.cfg b/features/loopdev/loopdev_n.cfg new file mode 100644 index 0000000..c8d2992 --- /dev/null +++ b/features/loopdev/loopdev_n.cfg | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_BLK_DEV_LOOP=n | ||
2 | CONFIG_BLK_DEV_CRYPTOLOOP=n | ||
diff --git a/features/loopdev/loopdev_n.scc b/features/loopdev/loopdev_n.scc new file mode 100644 index 0000000..3446f2f --- /dev/null +++ b/features/loopdev/loopdev_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable loopdev support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware loopdev_n.cfg | ||
diff --git a/features/lowlatency/hz_1000.cfg b/features/lowlatency/hz_1000.cfg new file mode 100644 index 0000000..cfe38e6 --- /dev/null +++ b/features/lowlatency/hz_1000.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | |||
2 | CONFIG_HZ_1000=y | ||
3 | CONFIG_HZ=1000 | ||
4 | |||
diff --git a/features/lowlatency/lowlatency_y.scc b/features/lowlatency/lowlatency_y.scc new file mode 100644 index 0000000..eaf745a --- /dev/null +++ b/features/lowlatency/lowlatency_y.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable low latency kernel configuration" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware preempt.cfg | ||
5 | kconf non-hardware hz_1000.cfg | ||
diff --git a/features/lowlatency/preempt.cfg b/features/lowlatency/preempt.cfg new file mode 100644 index 0000000..a3bbe94 --- /dev/null +++ b/features/lowlatency/preempt.cfg | |||
@@ -0,0 +1,5 @@ | |||
1 | CONFIG_IRQ_FORCED_THREADING=y | ||
2 | CONFIG_PREEMPT_RCU=y | ||
3 | |||
4 | CONFIG_PREEMPT=y | ||
5 | CONFIG_PREEMPT_COUNT=y | ||
diff --git a/features/lttng/lttng_y.cfg b/features/lttng/lttng_y.cfg new file mode 100644 index 0000000..1334194 --- /dev/null +++ b/features/lttng/lttng_y.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/features/lttng/lttng_y.scc b/features/lttng/lttng_y.scc new file mode 100644 index 0000000..2e41b90 --- /dev/null +++ b/features/lttng/lttng_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable options required for lttng support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware lttng_y.cfg | ||
diff --git a/features/lxc/lxc_y.cfg b/features/lxc/lxc_y.cfg new file mode 100644 index 0000000..8710044 --- /dev/null +++ b/features/lxc/lxc_y.cfg | |||
@@ -0,0 +1,42 @@ | |||
1 | CONFIG_NAMESPACES=y | ||
2 | CONFIG_UTS_NS=y | ||
3 | CONFIG_IPC_NS=y | ||
4 | CONFIG_PID_NS=y | ||
5 | CONFIG_USER_NS=y | ||
6 | CONFIG_NET_NS=y | ||
7 | DEVPTS_MULTIPLE_INSTANCES=y | ||
8 | |||
9 | CONFIG_CGROUPS=y | ||
10 | CONFIG_CGROUP_NS=y | ||
11 | CONFIG_CGROUP_DEVICE=y | ||
12 | CONFIG_CGROUP_SCHED=y | ||
13 | CONFIG_CGROUP_CPUACCT=y | ||
14 | CONFIG_CGROUP_MEM_RES_CTLR=y | ||
15 | CONFIG_CPUSETS=y | ||
16 | |||
17 | CONFIG_VETH=y | ||
18 | CONFIG_MACVLAN=y | ||
19 | CONFIG_VLAN_8021Q=y | ||
20 | CONFIG_BRIDGE=y | ||
21 | CONFIG_NETFILTER_ADVANCED=y | ||
22 | CONFIG_NF_NAT_IPV4=y | ||
23 | CONFIG_IP_NF_TARGET_MASQUERADE=y | ||
24 | CONFIG_NF_DEFRAG_IPV6=y | ||
25 | CONFIG_NF_CONNTRACK_IPV6=y | ||
26 | CONFIG_NF_NAT_IPV6=y | ||
27 | CONFIG_NF_NAT_MASQUERADE_IPV6=y | ||
28 | CONFIG_IP6_NF_IPTABLES=y | ||
29 | CONFIG_IP6_NF_NAT=y | ||
30 | CONFIG_IP6_NF_TARGET_MASQUERADE=y | ||
31 | # CONFIG_IP6_NF_TARGET_NPT is not set | ||
32 | CONFIG_NETFILTER_XT_TARGET_CHECKSUM=y | ||
33 | CONFIG_FUSE_FS=y | ||
34 | |||
35 | CONFIG_CHECKPOINT_RESTORE=y | ||
36 | CONFIG_FHANDLE=y | ||
37 | CONFIG_EVENTFD=y | ||
38 | CONFIG_EPOLL=y | ||
39 | CONFIG_UNIX_DIAG=y | ||
40 | CONFIG_INET_DIAG=y | ||
41 | CONFIG_PACKET_DIAG=y | ||
42 | CONFIG_NETLINK_DIAG=y | ||
diff --git a/features/lxc/lxc_y.scc b/features/lxc/lxc_y.scc new file mode 100644 index 0000000..7c7930b --- /dev/null +++ b/features/lxc/lxc_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable LXC support as required by lxc-checkconfig" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware lxc_y.cfg | ||
diff --git a/features/mdio/mdio_m.cfg b/features/mdio/mdio_m.cfg new file mode 100644 index 0000000..c2915e9 --- /dev/null +++ b/features/mdio/mdio_m.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_MDIO=m | |||
diff --git a/features/mdio/mdio_m.scc b/features/mdio/mdio_m.scc new file mode 100644 index 0000000..654555e --- /dev/null +++ b/features/mdio/mdio_m.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Build MDIO support as a module" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware mdio_m.cfg | ||
diff --git a/features/media/media_n.cfg b/features/media/media_n.cfg new file mode 100644 index 0000000..b84e11e --- /dev/null +++ b/features/media/media_n.cfg | |||
@@ -0,0 +1,592 @@ | |||
1 | CONFIG_MEDIA_SUPPORT=n | ||
2 | |||
3 | |||
4 | # | ||
5 | # Multimedia core support | ||
6 | # | ||
7 | CONFIG_MEDIA_CAMERA_SUPPORT=n | ||
8 | CONFIG_MEDIA_ANALOG_TV_SUPPORT=n | ||
9 | CONFIG_MEDIA_DIGITAL_TV_SUPPORT=n | ||
10 | CONFIG_MEDIA_RADIO_SUPPORT=n | ||
11 | # CONFIG_MEDIA_SDR_SUPPORT is not set | ||
12 | CONFIG_MEDIA_RC_SUPPORT=n | ||
13 | CONFIG_MEDIA_CONTROLLER=n | ||
14 | # CONFIG_MEDIA_CONTROLLER_DVB is not set | ||
15 | CONFIG_VIDEO_DEV=n | ||
16 | CONFIG_VIDEO_V4L2_SUBDEV_API=n | ||
17 | CONFIG_VIDEO_V4L2=n | ||
18 | # CONFIG_VIDEO_ADV_DEBUG is not set | ||
19 | # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set | ||
20 | # CONFIG_VIDEO_PCI_SKELETON is not set | ||
21 | CONFIG_VIDEO_TUNER=n | ||
22 | CONFIG_V4L2_MEM2MEM_DEV=n | ||
23 | CONFIG_VIDEOBUF_GEN=n | ||
24 | CONFIG_VIDEOBUF_DMA_SG=n | ||
25 | CONFIG_VIDEOBUF_VMALLOC=n | ||
26 | CONFIG_VIDEOBUF_DVB=n | ||
27 | CONFIG_VIDEOBUF2_CORE=n | ||
28 | CONFIG_VIDEOBUF2_MEMOPS=n | ||
29 | CONFIG_VIDEOBUF2_DMA_CONTIG=n | ||
30 | CONFIG_VIDEOBUF2_VMALLOC=n | ||
31 | CONFIG_VIDEOBUF2_DMA_SG=n | ||
32 | CONFIG_VIDEOBUF2_DVB=n | ||
33 | CONFIG_DVB_CORE=n | ||
34 | CONFIG_DVB_NET=n | ||
35 | CONFIG_TTPCI_EEPROM=n | ||
36 | CONFIG_DVB_MAX_ADAPTERS=8 | ||
37 | CONFIG_DVB_DYNAMIC_MINORS=n | ||
38 | |||
39 | # Media drivers | ||
40 | # | ||
41 | CONFIG_RC_CORE=n | ||
42 | CONFIG_RC_MAP=n | ||
43 | CONFIG_RC_DECODERS=n | ||
44 | CONFIG_LIRC=n | ||
45 | CONFIG_IR_LIRC_CODEC=n | ||
46 | CONFIG_IR_NEC_DECODER=n | ||
47 | CONFIG_IR_RC5_DECODER=n | ||
48 | CONFIG_IR_RC6_DECODER=n | ||
49 | CONFIG_IR_JVC_DECODER=n | ||
50 | CONFIG_IR_SONY_DECODER=n | ||
51 | CONFIG_IR_SANYO_DECODER=n | ||
52 | CONFIG_IR_SHARP_DECODER=n | ||
53 | CONFIG_IR_MCE_KBD_DECODER=n | ||
54 | CONFIG_IR_XMP_DECODER=n | ||
55 | # CONFIG_RC_DEVICES is not set | ||
56 | CONFIG_MEDIA_USB_SUPPORT=n | ||
57 | |||
58 | # | ||
59 | # Webcam devices | ||
60 | # | ||
61 | CONFIG_USB_VIDEO_CLASS=n | ||
62 | CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=n | ||
63 | CONFIG_USB_GSPCA=n | ||
64 | CONFIG_USB_M5602=n | ||
65 | CONFIG_USB_STV06XX=n | ||
66 | CONFIG_USB_GL860=n | ||
67 | CONFIG_USB_GSPCA_BENQ=n | ||
68 | CONFIG_USB_GSPCA_CONEX=n | ||
69 | CONFIG_USB_GSPCA_CPIA1=n | ||
70 | # CONFIG_USB_GSPCA_DTCS033 is not set | ||
71 | CONFIG_USB_GSPCA_ETOMS=n | ||
72 | CONFIG_USB_GSPCA_FINEPIX=n | ||
73 | CONFIG_USB_GSPCA_JEILINJ=n | ||
74 | CONFIG_USB_GSPCA_JL2005BCD=n | ||
75 | CONFIG_USB_GSPCA_KINECT=n | ||
76 | CONFIG_USB_GSPCA_KONICA=n | ||
77 | CONFIG_USB_GSPCA_MARS=n | ||
78 | CONFIG_USB_GSPCA_MR97310A=n | ||
79 | CONFIG_USB_GSPCA_NW80X=n | ||
80 | CONFIG_USB_GSPCA_OV519=n | ||
81 | CONFIG_USB_GSPCA_OV534=n | ||
82 | CONFIG_USB_GSPCA_OV534_9=n | ||
83 | CONFIG_USB_GSPCA_PAC207=n | ||
84 | CONFIG_USB_GSPCA_PAC7302=n | ||
85 | CONFIG_USB_GSPCA_PAC7311=n | ||
86 | CONFIG_USB_GSPCA_SE401=n | ||
87 | CONFIG_USB_GSPCA_SN9C2028=n | ||
88 | CONFIG_USB_GSPCA_SN9C20X=n | ||
89 | CONFIG_USB_GSPCA_SONIXB=n | ||
90 | CONFIG_USB_GSPCA_SONIXJ=n | ||
91 | CONFIG_USB_GSPCA_SPCA500=n | ||
92 | CONFIG_USB_GSPCA_SPCA501=n | ||
93 | CONFIG_USB_GSPCA_SPCA505=n | ||
94 | CONFIG_USB_GSPCA_SPCA506=n | ||
95 | CONFIG_USB_GSPCA_SPCA508=n | ||
96 | CONFIG_USB_GSPCA_SPCA561=n | ||
97 | CONFIG_USB_GSPCA_SPCA1528=n | ||
98 | CONFIG_USB_GSPCA_SQ905=n | ||
99 | CONFIG_USB_GSPCA_SQ905C=n | ||
100 | CONFIG_USB_GSPCA_SQ930X=n | ||
101 | CONFIG_USB_GSPCA_STK014=n | ||
102 | # CONFIG_USB_GSPCA_STK1135 is not set | ||
103 | CONFIG_USB_GSPCA_STV0680=n | ||
104 | CONFIG_USB_GSPCA_SUNPLUS=n | ||
105 | CONFIG_USB_GSPCA_T613=n | ||
106 | CONFIG_USB_GSPCA_TOPRO=n | ||
107 | # CONFIG_USB_GSPCA_TOUPTEK is not set | ||
108 | CONFIG_USB_GSPCA_TV8532=n | ||
109 | CONFIG_USB_GSPCA_VC032X=n | ||
110 | CONFIG_USB_GSPCA_VICAM=n | ||
111 | CONFIG_USB_GSPCA_XIRLINK_CIT=n | ||
112 | CONFIG_USB_GSPCA_ZC3XX=n | ||
113 | CONFIG_USB_PWC=n | ||
114 | # CONFIG_USB_PWC_DEBUG is not set | ||
115 | CONFIG_USB_PWC_INPUT_EVDEV=n | ||
116 | CONFIG_VIDEO_CPIA2=n | ||
117 | # CONFIG_USB_ZR364XX is not set | ||
118 | CONFIG_USB_STKWEBCAM=n | ||
119 | CONFIG_USB_S2255=n | ||
120 | # CONFIG_VIDEO_USBTV is not set | ||
121 | |||
122 | # | ||
123 | # Analog TV USB devices | ||
124 | # | ||
125 | CONFIG_VIDEO_PVRUSB2=n | ||
126 | CONFIG_VIDEO_PVRUSB2_SYSFS=n | ||
127 | CONFIG_VIDEO_PVRUSB2_DVB=n | ||
128 | # CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set | ||
129 | CONFIG_VIDEO_HDPVR=n | ||
130 | CONFIG_VIDEO_USBVISION=n | ||
131 | CONFIG_VIDEO_STK1160_COMMON=n | ||
132 | # CONFIG_VIDEO_STK1160_AC97 is not set | ||
133 | CONFIG_VIDEO_STK1160=n | ||
134 | # CONFIG_VIDEO_GO7007 is not set | ||
135 | |||
136 | # | ||
137 | # Analog/digital TV USB devices | ||
138 | # | ||
139 | CONFIG_VIDEO_AU0828=n | ||
140 | CONFIG_VIDEO_AU0828_V4L2=n | ||
141 | # CONFIG_VIDEO_AU0828_RC is not set | ||
142 | CONFIG_VIDEO_CX231XX=n | ||
143 | CONFIG_VIDEO_CX231XX_RC=n | ||
144 | CONFIG_VIDEO_CX231XX_ALSA=n | ||
145 | CONFIG_VIDEO_CX231XX_DVB=n | ||
146 | CONFIG_VIDEO_TM6000=n | ||
147 | CONFIG_VIDEO_TM6000_ALSA=n | ||
148 | CONFIG_VIDEO_TM6000_DVB=n | ||
149 | |||
150 | # | ||
151 | # Digital TV USB devices | ||
152 | # | ||
153 | CONFIG_DVB_USB=n | ||
154 | # CONFIG_DVB_USB_DEBUG is not set | ||
155 | CONFIG_DVB_USB_DIB3000MC=n | ||
156 | CONFIG_DVB_USB_A800=n | ||
157 | CONFIG_DVB_USB_DIBUSB_MB=n | ||
158 | # CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set | ||
159 | CONFIG_DVB_USB_DIBUSB_MC=n | ||
160 | CONFIG_DVB_USB_DIB0700=n | ||
161 | CONFIG_DVB_USB_UMT_010=n | ||
162 | CONFIG_DVB_USB_CXUSB=n | ||
163 | CONFIG_DVB_USB_M920X=n | ||
164 | CONFIG_DVB_USB_DIGITV=n | ||
165 | CONFIG_DVB_USB_VP7045=n | ||
166 | CONFIG_DVB_USB_VP702X=n | ||
167 | CONFIG_DVB_USB_GP8PSK=n | ||
168 | CONFIG_DVB_USB_NOVA_T_USB2=n | ||
169 | CONFIG_DVB_USB_TTUSB2=n | ||
170 | CONFIG_DVB_USB_DTT200U=n | ||
171 | CONFIG_DVB_USB_OPERA1=n | ||
172 | CONFIG_DVB_USB_AF9005=n | ||
173 | CONFIG_DVB_USB_AF9005_REMOTE=n | ||
174 | CONFIG_DVB_USB_PCTV452E=n | ||
175 | CONFIG_DVB_USB_DW2102=n | ||
176 | CONFIG_DVB_USB_CINERGY_T2=n | ||
177 | CONFIG_DVB_USB_DTV5100=n | ||
178 | CONFIG_DVB_USB_FRIIO=n | ||
179 | CONFIG_DVB_USB_AZ6027=n | ||
180 | CONFIG_DVB_USB_TECHNISAT_USB2=n | ||
181 | CONFIG_DVB_USB_V2=n | ||
182 | CONFIG_DVB_USB_AF9015=n | ||
183 | CONFIG_DVB_USB_AF9035=n | ||
184 | CONFIG_DVB_USB_ANYSEE=n | ||
185 | CONFIG_DVB_USB_AU6610=n | ||
186 | CONFIG_DVB_USB_AZ6007=n | ||
187 | CONFIG_DVB_USB_CE6230=n | ||
188 | CONFIG_DVB_USB_EC168=n | ||
189 | CONFIG_DVB_USB_GL861=n | ||
190 | CONFIG_DVB_USB_LME2510=n | ||
191 | CONFIG_DVB_USB_MXL111SF=n | ||
192 | CONFIG_DVB_USB_RTL28XXU=n | ||
193 | # CONFIG_DVB_USB_DVBSKY is not set | ||
194 | CONFIG_DVB_TTUSB_BUDGET=n | ||
195 | CONFIG_DVB_TTUSB_DEC=n | ||
196 | CONFIG_SMS_USB_DRV=n | ||
197 | CONFIG_DVB_B2C2_FLEXCOP_USB=n | ||
198 | # CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set | ||
199 | # CONFIG_DVB_AS102 is not set | ||
200 | # | ||
201 | # Webcam, TV (analog/digital) USB devices | ||
202 | # | ||
203 | CONFIG_VIDEO_EM28XX=n | ||
204 | CONFIG_VIDEO_EM28XX_V4L2=n | ||
205 | CONFIG_VIDEO_EM28XX_ALSA=n | ||
206 | CONFIG_VIDEO_EM28XX_DVB=n | ||
207 | CONFIG_VIDEO_EM28XX_RC=n | ||
208 | CONFIG_MEDIA_PCI_SUPPORT=n | ||
209 | |||
210 | # | ||
211 | # Media capture support | ||
212 | # | ||
213 | # CONFIG_VIDEO_SOLO6X10 is not set | ||
214 | # CONFIG_VIDEO_TW5864 is not set | ||
215 | # CONFIG_VIDEO_TW68 is not set | ||
216 | # CONFIG_VIDEO_TW686X is not set | ||
217 | CONFIG_VIDEO_ZORAN=n | ||
218 | CONFIG_VIDEO_ZORAN_DC30=n | ||
219 | CONFIG_VIDEO_ZORAN_ZR36060=n | ||
220 | # CONFIG_VIDEO_ZORAN_BUZ is not set | ||
221 | CONFIG_VIDEO_ZORAN_DC10=n | ||
222 | CONFIG_VIDEO_ZORAN_LML33=n | ||
223 | CONFIG_VIDEO_ZORAN_LML33R10=n | ||
224 | CONFIG_VIDEO_ZORAN_AVS6EYES=n | ||
225 | |||
226 | # | ||
227 | # Media capture/analog TV support | ||
228 | # | ||
229 | CONFIG_VIDEO_IVTV=n | ||
230 | CONFIG_VIDEO_IVTV_ALSA=n | ||
231 | CONFIG_VIDEO_FB_IVTV=n | ||
232 | CONFIG_VIDEO_HEXIUM_GEMINI=n | ||
233 | CONFIG_VIDEO_HEXIUM_ORION=n | ||
234 | CONFIG_VIDEO_MXB=n | ||
235 | # CONFIG_VIDEO_DT3155 is not set | ||
236 | |||
237 | # | ||
238 | # Media capture/analog/hybrid TV support | ||
239 | # | ||
240 | CONFIG_VIDEO_CX18=n | ||
241 | CONFIG_VIDEO_CX18_ALSA=n | ||
242 | CONFIG_VIDEO_CX23885=n | ||
243 | CONFIG_MEDIA_ALTERA_CI=n | ||
244 | CONFIG_VIDEO_CX25821=n | ||
245 | CONFIG_VIDEO_CX25821_ALSA=n | ||
246 | CONFIG_VIDEO_CX88=n | ||
247 | CONFIG_VIDEO_CX88_ALSA=n | ||
248 | CONFIG_VIDEO_CX88_BLACKBIRD=n | ||
249 | CONFIG_VIDEO_CX88_DVB=n | ||
250 | CONFIG_VIDEO_CX88_ENABLE_VP3054=n | ||
251 | CONFIG_VIDEO_CX88_VP3054=n | ||
252 | CONFIG_VIDEO_CX88_MPEG=n | ||
253 | CONFIG_VIDEO_BT848=n | ||
254 | CONFIG_DVB_BT8XX=n | ||
255 | CONFIG_VIDEO_SAA7134=n | ||
256 | CONFIG_VIDEO_SAA7134_ALSA=n | ||
257 | CONFIG_VIDEO_SAA7134_RC=n | ||
258 | CONFIG_VIDEO_SAA7134_DVB=n | ||
259 | CONFIG_VIDEO_SAA7164=n | ||
260 | |||
261 | # | ||
262 | # Media digital TV PCI Adapters | ||
263 | # | ||
264 | CONFIG_DVB_AV7110_IR=n | ||
265 | CONFIG_DVB_AV7110=n | ||
266 | CONFIG_DVB_AV7110_OSD=n | ||
267 | CONFIG_DVB_BUDGET_CORE=n | ||
268 | CONFIG_DVB_BUDGET=n | ||
269 | CONFIG_DVB_BUDGET_CI=n | ||
270 | CONFIG_DVB_BUDGET_AV=n | ||
271 | CONFIG_DVB_BUDGET_PATCH=n | ||
272 | CONFIG_DVB_B2C2_FLEXCOP_PCI=n | ||
273 | # CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set | ||
274 | CONFIG_DVB_PLUTO2=n | ||
275 | CONFIG_DVB_DM1105=n | ||
276 | CONFIG_DVB_PT1=n | ||
277 | # CONFIG_DVB_PT3 is not set | ||
278 | CONFIG_MANTIS_CORE=n | ||
279 | CONFIG_DVB_MANTIS=n | ||
280 | CONFIG_DVB_HOPPER=n | ||
281 | CONFIG_DVB_NGENE=n | ||
282 | CONFIG_DVB_DDBRIDGE=n | ||
283 | # CONFIG_DVB_SMIPCIE is not set | ||
284 | # CONFIG_DVB_NETUP_UNIDVB is not set | ||
285 | # CONFIG_V4L_PLATFORM_DRIVERS is not set | ||
286 | CONFIG_V4L_MEM2MEM_DRIVERS=n | ||
287 | CONFIG_VIDEO_MEM2MEM_DEINTERLACE=n | ||
288 | # CONFIG_VIDEO_SH_VEU is not set | ||
289 | # CONFIG_V4L_TEST_DRIVERS is not set | ||
290 | # CONFIG_DVB_PLATFORM_DRIVERS is not set | ||
291 | |||
292 | # | ||
293 | # Supported MMC/SDIO adapters | ||
294 | # | ||
295 | # CONFIG_SMS_SDIO_DRV is not set | ||
296 | CONFIG_RADIO_ADAPTERS=n | ||
297 | CONFIG_RADIO_TEA575X=n | ||
298 | CONFIG_RADIO_SI470X=n | ||
299 | CONFIG_USB_SI470X=n | ||
300 | CONFIG_I2C_SI470X=n | ||
301 | CONFIG_RADIO_SI4713=n | ||
302 | # CONFIG_USB_SI4713 is not set | ||
303 | # CONFIG_PLATFORM_SI4713 is not set | ||
304 | CONFIG_I2C_SI4713=n | ||
305 | CONFIG_USB_MR800=n | ||
306 | CONFIG_USB_DSBR=n | ||
307 | CONFIG_RADIO_MAXIRADIO=n | ||
308 | CONFIG_RADIO_SHARK=n | ||
309 | CONFIG_RADIO_SHARK2=n | ||
310 | CONFIG_USB_KEENE=n | ||
311 | # CONFIG_USB_RAREMONO is not set | ||
312 | # CONFIG_USB_MA901 is not set | ||
313 | CONFIG_RADIO_TEA5764=n | ||
314 | CONFIG_RADIO_SAA7706H=n | ||
315 | CONFIG_RADIO_TEF6862=n | ||
316 | CONFIG_RADIO_WL1273=n | ||
317 | |||
318 | # | ||
319 | # Texas Instruments WL128x FM driver (ST based) | ||
320 | # | ||
321 | CONFIG_MEDIA_COMMON_OPTIONS=n | ||
322 | |||
323 | # | ||
324 | # common driver options | ||
325 | # | ||
326 | CONFIG_VIDEO_CX2341X=n | ||
327 | CONFIG_VIDEO_TVEEPROM=n | ||
328 | CONFIG_CYPRESS_FIRMWARE=n | ||
329 | CONFIG_DVB_B2C2_FLEXCOP=n | ||
330 | CONFIG_VIDEO_SAA7146=n | ||
331 | CONFIG_VIDEO_SAA7146_VV=n | ||
332 | CONFIG_SMS_SIANO_MDTV=n | ||
333 | CONFIG_SMS_SIANO_RC=n | ||
334 | |||
335 | # | ||
336 | # Media ancillary drivers (tuners, sensors, i2c, spi, frontends) | ||
337 | # | ||
338 | CONFIG_MEDIA_SUBDRV_AUTOSELECT=n | ||
339 | CONFIG_MEDIA_ATTACH=n | ||
340 | CONFIG_VIDEO_IR_I2C=n | ||
341 | |||
342 | # | ||
343 | # Audio decoders, processors and mixers | ||
344 | # | ||
345 | CONFIG_VIDEO_TVAUDIO=n | ||
346 | CONFIG_VIDEO_TDA7432=n | ||
347 | CONFIG_VIDEO_TDA9840=n | ||
348 | CONFIG_VIDEO_TEA6415C=n | ||
349 | CONFIG_VIDEO_TEA6420=n | ||
350 | CONFIG_VIDEO_MSP3400=n | ||
351 | CONFIG_VIDEO_CS3308=n | ||
352 | CONFIG_VIDEO_CS5345=n | ||
353 | CONFIG_VIDEO_CS53L32A=n | ||
354 | CONFIG_VIDEO_WM8775=n | ||
355 | CONFIG_VIDEO_WM8739=n | ||
356 | CONFIG_VIDEO_VP27SMPX=n | ||
357 | |||
358 | # | ||
359 | # RDS decoders | ||
360 | # | ||
361 | CONFIG_VIDEO_SAA6588=n | ||
362 | |||
363 | # | ||
364 | # Video decoders | ||
365 | # | ||
366 | CONFIG_VIDEO_BT819=n | ||
367 | CONFIG_VIDEO_BT856=n | ||
368 | CONFIG_VIDEO_BT866=n | ||
369 | CONFIG_VIDEO_KS0127=n | ||
370 | CONFIG_VIDEO_SAA7110=n | ||
371 | CONFIG_VIDEO_SAA711X=n | ||
372 | CONFIG_VIDEO_TVP5150=n | ||
373 | CONFIG_VIDEO_VPX3220=n | ||
374 | |||
375 | # | ||
376 | # Video and audio decoders | ||
377 | # | ||
378 | CONFIG_VIDEO_SAA717X=n | ||
379 | CONFIG_VIDEO_CX25840=n | ||
380 | |||
381 | # | ||
382 | # Video encoders | ||
383 | # | ||
384 | CONFIG_VIDEO_SAA7127=n | ||
385 | CONFIG_VIDEO_ADV7170=n | ||
386 | CONFIG_VIDEO_ADV7175=n | ||
387 | |||
388 | # | ||
389 | # Camera sensor devices | ||
390 | # | ||
391 | CONFIG_VIDEO_MT9V011=n | ||
392 | |||
393 | # | ||
394 | # Flash devices | ||
395 | # | ||
396 | |||
397 | # | ||
398 | # Video improvement chips | ||
399 | # | ||
400 | CONFIG_VIDEO_UPD64031A=n | ||
401 | CONFIG_VIDEO_UPD64083=n | ||
402 | |||
403 | # | ||
404 | # Audio/Video compression chips | ||
405 | # | ||
406 | CONFIG_VIDEO_SAA6752HS=n | ||
407 | |||
408 | # | ||
409 | # Miscellaneous helper chips | ||
410 | # | ||
411 | CONFIG_VIDEO_M52790=n | ||
412 | |||
413 | # | ||
414 | # Sensors used on soc_camera driver | ||
415 | # | ||
416 | CONFIG_MEDIA_TUNER=n | ||
417 | CONFIG_MEDIA_TUNER_SIMPLE=n | ||
418 | CONFIG_MEDIA_TUNER_TDA8290=n | ||
419 | CONFIG_MEDIA_TUNER_TDA827X=n | ||
420 | CONFIG_MEDIA_TUNER_TDA18271=n | ||
421 | CONFIG_MEDIA_TUNER_TDA9887=n | ||
422 | CONFIG_MEDIA_TUNER_TEA5761=n | ||
423 | CONFIG_MEDIA_TUNER_TEA5767=n | ||
424 | CONFIG_MEDIA_TUNER_MT20XX=n | ||
425 | CONFIG_MEDIA_TUNER_MT2060=n | ||
426 | CONFIG_MEDIA_TUNER_MT2063=n | ||
427 | CONFIG_MEDIA_TUNER_MT2266=n | ||
428 | CONFIG_MEDIA_TUNER_MT2131=n | ||
429 | CONFIG_MEDIA_TUNER_QT1010=n | ||
430 | CONFIG_MEDIA_TUNER_XC2028=n | ||
431 | CONFIG_MEDIA_TUNER_XC5000=n | ||
432 | CONFIG_MEDIA_TUNER_XC4000=n | ||
433 | CONFIG_MEDIA_TUNER_MXL5005S=n | ||
434 | CONFIG_MEDIA_TUNER_MXL5007T=n | ||
435 | CONFIG_MEDIA_TUNER_MC44S803=n | ||
436 | CONFIG_MEDIA_TUNER_MAX2165=n | ||
437 | CONFIG_MEDIA_TUNER_TDA18218=n | ||
438 | CONFIG_MEDIA_TUNER_FC0011=n | ||
439 | CONFIG_MEDIA_TUNER_FC0012=n | ||
440 | CONFIG_MEDIA_TUNER_FC0013=n | ||
441 | CONFIG_MEDIA_TUNER_TDA18212=n | ||
442 | CONFIG_MEDIA_TUNER_E4000=n | ||
443 | CONFIG_MEDIA_TUNER_FC2580=n | ||
444 | CONFIG_MEDIA_TUNER_M88RS6000T=n | ||
445 | CONFIG_MEDIA_TUNER_TUA9001=n | ||
446 | CONFIG_MEDIA_TUNER_SI2157=n | ||
447 | CONFIG_MEDIA_TUNER_IT913X=n | ||
448 | CONFIG_MEDIA_TUNER_R820T=n | ||
449 | CONFIG_MEDIA_TUNER_QM1D1C0042=n | ||
450 | |||
451 | # | ||
452 | # Multistandard (satellite) frontends | ||
453 | # | ||
454 | CONFIG_DVB_STB0899=n | ||
455 | CONFIG_DVB_STB6100=n | ||
456 | CONFIG_DVB_STV090x=n | ||
457 | CONFIG_DVB_STV6110x=n | ||
458 | CONFIG_DVB_M88DS3103=n | ||
459 | |||
460 | # | ||
461 | # Multistandard (cable + terrestrial) frontends | ||
462 | # | ||
463 | CONFIG_DVB_DRXK=n | ||
464 | CONFIG_DVB_TDA18271C2DD=n | ||
465 | CONFIG_DVB_SI2165=n | ||
466 | CONFIG_DVB_MN88472=n | ||
467 | CONFIG_DVB_MN88473=n | ||
468 | |||
469 | # | ||
470 | # DVB-S (satellite) frontends | ||
471 | # | ||
472 | CONFIG_DVB_CX24110=n | ||
473 | CONFIG_DVB_CX24123=n | ||
474 | CONFIG_DVB_MT312=n | ||
475 | CONFIG_DVB_ZL10036=n | ||
476 | CONFIG_DVB_ZL10039=n | ||
477 | CONFIG_DVB_S5H1420=n | ||
478 | CONFIG_DVB_STV0288=n | ||
479 | CONFIG_DVB_STB6000=n | ||
480 | CONFIG_DVB_STV0299=n | ||
481 | CONFIG_DVB_STV6110=n | ||
482 | CONFIG_DVB_STV0900=n | ||
483 | CONFIG_DVB_TDA8083=n | ||
484 | CONFIG_DVB_TDA10086=n | ||
485 | CONFIG_DVB_TDA8261=n | ||
486 | CONFIG_DVB_VES1X93=n | ||
487 | CONFIG_DVB_TUNER_ITD1000=n | ||
488 | CONFIG_DVB_TUNER_CX24113=n | ||
489 | CONFIG_DVB_TDA826X=n | ||
490 | CONFIG_DVB_TUA6100=n | ||
491 | CONFIG_DVB_CX24116=n | ||
492 | CONFIG_DVB_CX24117=n | ||
493 | CONFIG_DVB_CX24120=n | ||
494 | CONFIG_DVB_SI21XX=n | ||
495 | CONFIG_DVB_TS2020=n | ||
496 | CONFIG_DVB_DS3000=n | ||
497 | CONFIG_DVB_MB86A16=n | ||
498 | CONFIG_DVB_TDA10071=n | ||
499 | |||
500 | # | ||
501 | # DVB-T (terrestrial) frontends | ||
502 | # | ||
503 | CONFIG_DVB_SP8870=n | ||
504 | CONFIG_DVB_SP887X=n | ||
505 | CONFIG_DVB_CX22700=n | ||
506 | CONFIG_DVB_CX22702=n | ||
507 | CONFIG_DVB_DRXD=n | ||
508 | CONFIG_DVB_L64781=n | ||
509 | CONFIG_DVB_TDA1004X=n | ||
510 | CONFIG_DVB_NXT6000=n | ||
511 | CONFIG_DVB_MT352=n | ||
512 | CONFIG_DVB_ZL10353=n | ||
513 | CONFIG_DVB_DIB3000MB=n | ||
514 | CONFIG_DVB_DIB3000MC=n | ||
515 | CONFIG_DVB_DIB7000M=n | ||
516 | CONFIG_DVB_DIB7000P=n | ||
517 | CONFIG_DVB_TDA10048=n | ||
518 | CONFIG_DVB_AF9013=n | ||
519 | CONFIG_DVB_EC100=n | ||
520 | CONFIG_DVB_STV0367=n | ||
521 | CONFIG_DVB_CXD2820R=n | ||
522 | CONFIG_DVB_RTL2830=n | ||
523 | CONFIG_DVB_RTL2832=n | ||
524 | CONFIG_DVB_SI2168=n | ||
525 | # CONFIG_DVB_AS102_FE is not set | ||
526 | CONFIG_DVB_GP8PSK_FE=n | ||
527 | |||
528 | # | ||
529 | # DVB-C (cable) frontends | ||
530 | # | ||
531 | CONFIG_DVB_VES1820=n | ||
532 | CONFIG_DVB_TDA10021=n | ||
533 | CONFIG_DVB_TDA10023=n | ||
534 | CONFIG_DVB_STV0297=n | ||
535 | |||
536 | # | ||
537 | # ATSC (North American/Korean Terrestrial/Cable DTV) frontends | ||
538 | # | ||
539 | CONFIG_DVB_NXT200X=n | ||
540 | CONFIG_DVB_OR51211=n | ||
541 | CONFIG_DVB_OR51132=n | ||
542 | CONFIG_DVB_BCM3510=n | ||
543 | CONFIG_DVB_LGDT330X=n | ||
544 | CONFIG_DVB_LGDT3305=n | ||
545 | CONFIG_DVB_LGDT3306A=n | ||
546 | CONFIG_DVB_LG2160=n | ||
547 | CONFIG_DVB_S5H1409=n | ||
548 | CONFIG_DVB_AU8522=n | ||
549 | CONFIG_DVB_AU8522_DTV=n | ||
550 | CONFIG_DVB_AU8522_V4L=n | ||
551 | CONFIG_DVB_S5H1411=n | ||
552 | |||
553 | # | ||
554 | # ISDB-T (terrestrial) frontends | ||
555 | # | ||
556 | CONFIG_DVB_S921=n | ||
557 | CONFIG_DVB_DIB8000=n | ||
558 | CONFIG_DVB_MB86A20S=n | ||
559 | |||
560 | # | ||
561 | # ISDB-S (satellite) & ISDB-T (terrestrial) frontends | ||
562 | # | ||
563 | CONFIG_DVB_TC90522=n | ||
564 | |||
565 | # | ||
566 | # Digital terrestrial only tuners/PLL | ||
567 | # | ||
568 | CONFIG_DVB_PLL=n | ||
569 | CONFIG_DVB_TUNER_DIB0070=n | ||
570 | CONFIG_DVB_TUNER_DIB0090=n | ||
571 | |||
572 | # | ||
573 | # SEC control devices for DVB-S | ||
574 | # | ||
575 | CONFIG_DVB_DRX39XYJ=n | ||
576 | CONFIG_DVB_LNBP21=n | ||
577 | CONFIG_DVB_LNBP22=n | ||
578 | CONFIG_DVB_ISL6405=n | ||
579 | CONFIG_DVB_ISL6421=n | ||
580 | CONFIG_DVB_ISL6423=n | ||
581 | CONFIG_DVB_A8293=n | ||
582 | CONFIG_DVB_LGS8GXX=n | ||
583 | CONFIG_DVB_ATBM8830=n | ||
584 | CONFIG_DVB_TDA665x=n | ||
585 | CONFIG_DVB_IX2505V=n | ||
586 | CONFIG_DVB_M88RS2000=n | ||
587 | CONFIG_DVB_AF9033=n | ||
588 | |||
589 | # | ||
590 | # Tools to develop new frontends | ||
591 | # | ||
592 | CONFIG_DVB_DUMMY_FE=n | ||
diff --git a/features/media/media_n.scc b/features/media/media_n.scc new file mode 100644 index 0000000..8e9b66e --- /dev/null +++ b/features/media/media_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for media support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware media_n.cfg | ||
diff --git a/features/memorydbg/memorydbg_n.cfg b/features/memorydbg/memorydbg_n.cfg new file mode 100644 index 0000000..fb92cde --- /dev/null +++ b/features/memorydbg/memorydbg_n.cfg | |||
@@ -0,0 +1,8 @@ | |||
1 | CONFIG_DEBUG_KMEMLEAK=n | ||
2 | CONFIG_DEBUG_STACK_USAGE=n | ||
3 | CONFIG_DEBUG_VM=n | ||
4 | CONFIG_DEBUG_VIRTUAL=n | ||
5 | CONFIG_DEBUG_MEMORY_INIT=n | ||
6 | CONFIG_DEBUG_PER_CPU_MAPS=n | ||
7 | CONFIG_DEBUG_STACKOVERFLOW=n | ||
8 | CONFIG_KMEMCHECK=n | ||
diff --git a/features/memorydbg/memorydbg_n.scc b/features/memorydbg/memorydbg_n.scc new file mode 100644 index 0000000..1e960c3 --- /dev/null +++ b/features/memorydbg/memorydbg_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for memory debug support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware memorydbg_n.cfg | ||
diff --git a/features/memorydbg/memorydbg_y.cfg b/features/memorydbg/memorydbg_y.cfg new file mode 100644 index 0000000..b92e7d4 --- /dev/null +++ b/features/memorydbg/memorydbg_y.cfg | |||
@@ -0,0 +1,9 @@ | |||
1 | CONFIG_DEBUG_KMEMLEAK=y | ||
2 | CONFIG_DEBUG_STACK_USAGE=y | ||
3 | CONFIG_DEBUG_VM=y | ||
4 | CONFIG_DEBUG_VIRTUAL=y | ||
5 | CONFIG_DEBUG_MEMORY_INIT=y | ||
6 | CONFIG_DEBUG_PER_CPU_MAPS=y | ||
7 | CONFIG_DEBUG_STACKOVERFLOW=y | ||
8 | CONFIG_KMEMCHECK=y | ||
9 | |||
diff --git a/features/memorydbg/memorydbg_y.scc b/features/memorydbg/memorydbg_y.scc new file mode 100644 index 0000000..88ce3bf --- /dev/null +++ b/features/memorydbg/memorydbg_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable options for memory debug support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware memorydbg_y.cfg | ||
diff --git a/features/mii/mii_m.cfg b/features/mii/mii_m.cfg new file mode 100644 index 0000000..b7d4f65 --- /dev/null +++ b/features/mii/mii_m.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_MII=m | |||
diff --git a/features/mii/mii_m.scc b/features/mii/mii_m.scc new file mode 100644 index 0000000..4899cc5 --- /dev/null +++ b/features/mii/mii_m.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Build MII support as a module" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware mii_m.cfg | ||
diff --git a/features/misc/misc_n.cfg b/features/misc/misc_n.cfg new file mode 100644 index 0000000..998643a --- /dev/null +++ b/features/misc/misc_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_INPUT_MISC=n | |||
diff --git a/features/misc/misc_n.scc b/features/misc/misc_n.scc new file mode 100644 index 0000000..5bd65fe --- /dev/null +++ b/features/misc/misc_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for misc support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware misc_n.cfg | ||
diff --git a/features/mmc/mmc_n.cfg b/features/mmc/mmc_n.cfg new file mode 100644 index 0000000..552d5f8 --- /dev/null +++ b/features/mmc/mmc_n.cfg | |||
@@ -0,0 +1,29 @@ | |||
1 | CONFIG_MMC=n | ||
2 | # | ||
3 | # MMC/SD/SDIO Card Drivers | ||
4 | # | ||
5 | CONFIG_MMC_BLOCK=n | ||
6 | CONFIG_MMC_BLOCK_MINORS=8 | ||
7 | CONFIG_MMC_BLOCK_BOUNCE=n | ||
8 | # CONFIG_SDIO_UART is not set | ||
9 | # CONFIG_MMC_TEST is not set | ||
10 | |||
11 | # | ||
12 | # MMC/SD/SDIO Host Controller Drivers | ||
13 | # | ||
14 | CONFIG_MMC_SDHCI=n | ||
15 | CONFIG_MMC_SDHCI_PCI=n | ||
16 | CONFIG_MMC_RICOH_MMC=n | ||
17 | CONFIG_MMC_SDHCI_ACPI=n | ||
18 | CONFIG_MMC_SDHCI_PLTFM=n | ||
19 | # CONFIG_MMC_WBSD is not set | ||
20 | # CONFIG_MMC_TIFM_SD is not set | ||
21 | # CONFIG_MMC_SPI is not set | ||
22 | # CONFIG_MMC_CB710 is not set | ||
23 | # CONFIG_MMC_VIA_SDMMC is not set | ||
24 | # CONFIG_MMC_VUB300 is not set | ||
25 | # CONFIG_MMC_USHC is not set | ||
26 | # CONFIG_MMC_USDHI6ROL0 is not set | ||
27 | # CONFIG_MMC_TOSHIBA_PCI is not set | ||
28 | # CONFIG_MMC_MTK is not set | ||
29 | # CONFIG_MEMSTICK is not set | ||
diff --git a/features/mmc/mmc_n.scc b/features/mmc/mmc_n.scc new file mode 100644 index 0000000..16442ec --- /dev/null +++ b/features/mmc/mmc_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for mmc/sd-card support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware mmc_n.cfg | ||
diff --git a/features/mmc/mmc_sd_m.cfg b/features/mmc/mmc_sd_m.cfg new file mode 100644 index 0000000..706c2ad --- /dev/null +++ b/features/mmc/mmc_sd_m.cfg | |||
@@ -0,0 +1,136 @@ | |||
1 | CONFIG_MTD=m | ||
2 | # CONFIG_MTD_TESTS is not set | ||
3 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
4 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
5 | # CONFIG_MTD_AR7_PARTS is not set | ||
6 | |||
7 | # | ||
8 | # User Modules And Translation Layers | ||
9 | # | ||
10 | # CONFIG_MTD_BLOCK is not set | ||
11 | # CONFIG_MTD_BLOCK_RO is not set | ||
12 | # CONFIG_FTL is not set | ||
13 | # CONFIG_NFTL is not set | ||
14 | # CONFIG_INFTL is not set | ||
15 | # CONFIG_RFD_FTL is not set | ||
16 | # CONFIG_SSFDC is not set | ||
17 | # CONFIG_SM_FTL is not set | ||
18 | # CONFIG_MTD_OOPS is not set | ||
19 | # CONFIG_MTD_SWAP is not set | ||
20 | # CONFIG_MTD_PARTITIONED_MASTER is not set | ||
21 | |||
22 | # | ||
23 | # RAM/ROM/Flash chip drivers | ||
24 | # | ||
25 | # CONFIG_MTD_CFI is not set | ||
26 | # CONFIG_MTD_JEDECPROBE is not set | ||
27 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
28 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
29 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
30 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
31 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
32 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
33 | CONFIG_MTD_CFI_I1=y | ||
34 | CONFIG_MTD_CFI_I2=y | ||
35 | # CONFIG_MTD_CFI_I4 is not set | ||
36 | # CONFIG_MTD_CFI_I8 is not set | ||
37 | # CONFIG_MTD_RAM is not set | ||
38 | # CONFIG_MTD_ROM is not set | ||
39 | # CONFIG_MTD_ABSENT is not set | ||
40 | |||
41 | # | ||
42 | # Mapping drivers for chip access | ||
43 | # | ||
44 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
45 | # CONFIG_MTD_INTEL_VR_NOR is not set | ||
46 | # CONFIG_MTD_PLATRAM is not set | ||
47 | |||
48 | # | ||
49 | # Self-contained MTD device drivers | ||
50 | # | ||
51 | # CONFIG_MTD_PMC551 is not set | ||
52 | # CONFIG_MTD_DATAFLASH is not set | ||
53 | # CONFIG_MTD_SST25L is not set | ||
54 | # CONFIG_MTD_SLRAM is not set | ||
55 | # CONFIG_MTD_PHRAM is not set | ||
56 | # CONFIG_MTD_MTDRAM is not set | ||
57 | # CONFIG_MTD_BLOCK2MTD is not set | ||
58 | |||
59 | # | ||
60 | # Disk-On-Chip Device Drivers | ||
61 | # | ||
62 | # CONFIG_MTD_DOCG3 is not set | ||
63 | # CONFIG_MTD_NAND is not set | ||
64 | # CONFIG_MTD_ONENAND is not set | ||
65 | |||
66 | # | ||
67 | # LPDDR & LPDDR2 PCM memory drivers | ||
68 | # | ||
69 | # CONFIG_MTD_LPDDR is not set | ||
70 | # CONFIG_MTD_SPI_NOR is not set | ||
71 | # CONFIG_MTD_UBI is not set | ||
72 | CONFIG_TIFM_CORE=m | ||
73 | CONFIG_TIFM_7XX1=m | ||
74 | CONFIG_CB710_CORE=m | ||
75 | # CONFIG_CB710_DEBUG is not set | ||
76 | CONFIG_CB710_DEBUG_ASSUMPTIONS=y | ||
77 | # CONFIG_INTEL_MEI_SPD is not set | ||
78 | CONFIG_RPMB=m | ||
79 | # CONFIG_RPMB_INTF_DEV is not set | ||
80 | CONFIG_MMC=m | ||
81 | # CONFIG_MMC_DEBUG is not set | ||
82 | |||
83 | # | ||
84 | # MMC/SD/SDIO Card Drivers | ||
85 | # | ||
86 | CONFIG_MMC_BLOCK=m | ||
87 | CONFIG_MMC_BLOCK_MINORS=8 | ||
88 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
89 | CONFIG_SDIO_UART=m | ||
90 | # CONFIG_MMC_TEST is not set | ||
91 | |||
92 | # | ||
93 | # MMC/SD/SDIO Host Controller Drivers | ||
94 | # | ||
95 | CONFIG_MMC_SDHCI=m | ||
96 | CONFIG_MMC_SDHCI_PCI=m | ||
97 | # CONFIG_MMC_RICOH_MMC is not set | ||
98 | CONFIG_MMC_SDHCI_ACPI=m | ||
99 | CONFIG_MMC_SDHCI_PLTFM=m | ||
100 | CONFIG_MMC_WBSD=m | ||
101 | CONFIG_MMC_TIFM_SD=m | ||
102 | CONFIG_MMC_SPI=m | ||
103 | CONFIG_MMC_CB710=m | ||
104 | CONFIG_MMC_VIA_SDMMC=m | ||
105 | CONFIG_MMC_VUB300=m | ||
106 | CONFIG_MMC_USHC=m | ||
107 | CONFIG_MMC_USDHI6ROL0=m | ||
108 | CONFIG_MMC_TOSHIBA_PCI=m | ||
109 | CONFIG_MMC_MTK=m | ||
110 | CONFIG_MEMSTICK=m | ||
111 | # CONFIG_MEMSTICK_DEBUG is not set | ||
112 | |||
113 | # | ||
114 | # MemoryStick drivers | ||
115 | # | ||
116 | # CONFIG_MEMSTICK_UNSAFE_RESUME is not set | ||
117 | CONFIG_MSPRO_BLOCK=m | ||
118 | CONFIG_MS_BLOCK=m | ||
119 | |||
120 | # | ||
121 | # MemoryStick Host Controller Drivers | ||
122 | # | ||
123 | CONFIG_MEMSTICK_TIFM_MS=m | ||
124 | CONFIG_MEMSTICK_JMICRON_38X=m | ||
125 | CONFIG_MEMSTICK_R592=m | ||
126 | # CONFIG_LEDS_TRIGGER_MTD is not set | ||
127 | CONFIG_LIBNVDIMM=m | ||
128 | CONFIG_BLK_DEV_PMEM=m | ||
129 | CONFIG_ND_BLK=m | ||
130 | CONFIG_ND_CLAIM=y | ||
131 | CONFIG_ND_BTT=m | ||
132 | CONFIG_BTT=y | ||
133 | # CONFIG_JFFS2_FS is not set | ||
134 | # CONFIG_ROMFS_BACKED_BY_MTD is not set | ||
135 | # CONFIG_ROMFS_BACKED_BY_BOTH is not set | ||
136 | CONFIG_CRC7=m | ||
diff --git a/features/mmc/mmc_sd_m.scc b/features/mmc/mmc_sd_m.scc new file mode 100644 index 0000000..95d54a7 --- /dev/null +++ b/features/mmc/mmc_sd_m.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable MMC/SD support as modules" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware mmc_sd_m.cfg | ||
diff --git a/features/mmc/mmc_sd_y.cfg b/features/mmc/mmc_sd_y.cfg new file mode 100644 index 0000000..79bb712 --- /dev/null +++ b/features/mmc/mmc_sd_y.cfg | |||
@@ -0,0 +1,136 @@ | |||
1 | CONFIG_MTD=y | ||
2 | # CONFIG_MTD_TESTS is not set | ||
3 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
4 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
5 | # CONFIG_MTD_AR7_PARTS is not set | ||
6 | |||
7 | # | ||
8 | # User Modules And Translation Layers | ||
9 | # | ||
10 | # CONFIG_MTD_BLOCK is not set | ||
11 | # CONFIG_MTD_BLOCK_RO is not set | ||
12 | # CONFIG_FTL is not set | ||
13 | # CONFIG_NFTL is not set | ||
14 | # CONFIG_INFTL is not set | ||
15 | # CONFIG_RFD_FTL is not set | ||
16 | # CONFIG_SSFDC is not set | ||
17 | # CONFIG_SM_FTL is not set | ||
18 | # CONFIG_MTD_OOPS is not set | ||
19 | # CONFIG_MTD_SWAP is not set | ||
20 | # CONFIG_MTD_PARTITIONED_MASTER is not set | ||
21 | |||
22 | # | ||
23 | # RAM/ROM/Flash chip drivers | ||
24 | # | ||
25 | # CONFIG_MTD_CFI is not set | ||
26 | # CONFIG_MTD_JEDECPROBE is not set | ||
27 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
28 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
29 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
30 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
31 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
32 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
33 | CONFIG_MTD_CFI_I1=y | ||
34 | CONFIG_MTD_CFI_I2=y | ||
35 | # CONFIG_MTD_CFI_I4 is not set | ||
36 | # CONFIG_MTD_CFI_I8 is not set | ||
37 | # CONFIG_MTD_RAM is not set | ||
38 | # CONFIG_MTD_ROM is not set | ||
39 | # CONFIG_MTD_ABSENT is not set | ||
40 | |||
41 | # | ||
42 | # Mapping drivers for chip access | ||
43 | # | ||
44 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
45 | # CONFIG_MTD_INTEL_VR_NOR is not set | ||
46 | # CONFIG_MTD_PLATRAM is not set | ||
47 | |||
48 | # | ||
49 | # Self-contained MTD device drivers | ||
50 | # | ||
51 | # CONFIG_MTD_PMC551 is not set | ||
52 | # CONFIG_MTD_DATAFLASH is not set | ||
53 | # CONFIG_MTD_SST25L is not set | ||
54 | # CONFIG_MTD_SLRAM is not set | ||
55 | # CONFIG_MTD_PHRAM is not set | ||
56 | # CONFIG_MTD_MTDRAM is not set | ||
57 | # CONFIG_MTD_BLOCK2MTD is not set | ||
58 | |||
59 | # | ||
60 | # Disk-On-Chip Device Drivers | ||
61 | # | ||
62 | # CONFIG_MTD_DOCG3 is not set | ||
63 | # CONFIG_MTD_NAND is not set | ||
64 | # CONFIG_MTD_ONENAND is not set | ||
65 | |||
66 | # | ||
67 | # LPDDR & LPDDR2 PCM memory drivers | ||
68 | # | ||
69 | # CONFIG_MTD_LPDDR is not set | ||
70 | # CONFIG_MTD_SPI_NOR is not set | ||
71 | # CONFIG_MTD_UBI is not set | ||
72 | CONFIG_TIFM_CORE=y | ||
73 | CONFIG_TIFM_7XX1=y | ||
74 | CONFIG_CB710_CORE=y | ||
75 | # CONFIG_CB710_DEBUG is not set | ||
76 | CONFIG_CB710_DEBUG_ASSUMPTIONS=y | ||
77 | # CONFIG_INTEL_MEI_SPD is not set | ||
78 | CONFIG_RPMB=y | ||
79 | # CONFIG_RPMB_INTF_DEV is not set | ||
80 | CONFIG_MMC=y | ||
81 | # CONFIG_MMC_DEBUG is not set | ||
82 | |||
83 | # | ||
84 | # MMC/SD/SDIO Card Drivers | ||
85 | # | ||
86 | CONFIG_MMC_BLOCK=y | ||
87 | CONFIG_MMC_BLOCK_MINORS=8 | ||
88 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
89 | CONFIG_SDIO_UART=y | ||
90 | # CONFIG_MMC_TEST is not set | ||
91 | |||
92 | # | ||
93 | # MMC/SD/SDIO Host Controller Drivers | ||
94 | # | ||
95 | CONFIG_MMC_SDHCI=y | ||
96 | CONFIG_MMC_SDHCI_PCI=y | ||
97 | # CONFIG_MMC_RICOH_MMC is not set | ||
98 | CONFIG_MMC_SDHCI_ACPI=y | ||
99 | CONFIG_MMC_SDHCI_PLTFM=y | ||
100 | CONFIG_MMC_WBSD=y | ||
101 | CONFIG_MMC_TIFM_SD=y | ||
102 | CONFIG_MMC_SPI=y | ||
103 | CONFIG_MMC_CB710=y | ||
104 | CONFIG_MMC_VIA_SDMMC=y | ||
105 | CONFIG_MMC_VUB300=y | ||
106 | CONFIG_MMC_USHC=y | ||
107 | CONFIG_MMC_USDHI6ROL0=y | ||
108 | CONFIG_MMC_TOSHIBA_PCI=y | ||
109 | CONFIG_MMC_MTK=y | ||
110 | CONFIG_MEMSTICK=y | ||
111 | # CONFIG_MEMSTICK_DEBUG is not set | ||
112 | |||
113 | # | ||
114 | # MemoryStick drivers | ||
115 | # | ||
116 | # CONFIG_MEMSTICK_UNSAFE_RESUME is not set | ||
117 | CONFIG_MSPRO_BLOCK=y | ||
118 | CONFIG_MS_BLOCK=y | ||
119 | |||
120 | # | ||
121 | # MemoryStick Host Controller Drivers | ||
122 | # | ||
123 | CONFIG_MEMSTICK_TIFM_MS=y | ||
124 | CONFIG_MEMSTICK_JMICRON_38X=y | ||
125 | CONFIG_MEMSTICK_R592=y | ||
126 | # CONFIG_LEDS_TRIGGER_MTD is not set | ||
127 | CONFIG_LIBNVDIMM=y | ||
128 | CONFIG_BLK_DEV_PMEM=y | ||
129 | CONFIG_ND_BLK=y | ||
130 | CONFIG_ND_CLAIM=y | ||
131 | CONFIG_ND_BTT=y | ||
132 | CONFIG_BTT=y | ||
133 | # CONFIG_JFFS2_FS is not set | ||
134 | # CONFIG_ROMFS_BACKED_BY_MTD is not set | ||
135 | # CONFIG_ROMFS_BACKED_BY_BOTH is not set | ||
136 | CONFIG_CRC7=y | ||
diff --git a/features/mmc/mmc_sd_y.scc b/features/mmc/mmc_sd_y.scc new file mode 100644 index 0000000..bf345d4 --- /dev/null +++ b/features/mmc/mmc_sd_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable MMC/SD support in kernel" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware mmc_sd_y.cfg | ||
diff --git a/features/mouse/mouse_n.cfg b/features/mouse/mouse_n.cfg new file mode 100644 index 0000000..8e25ad8 --- /dev/null +++ b/features/mouse/mouse_n.cfg | |||
@@ -0,0 +1,22 @@ | |||
1 | CONFIG_INPUT_MOUSE=n | ||
2 | CONFIG_MOUSE_PS2=n | ||
3 | CONFIG_MOUSE_PS2_ALPS=n | ||
4 | CONFIG_MOUSE_PS2_BYD=n | ||
5 | CONFIG_MOUSE_PS2_LOGIPS2PP=n | ||
6 | CONFIG_MOUSE_PS2_SYNAPTICS=n | ||
7 | CONFIG_MOUSE_PS2_CYPRESS=n | ||
8 | CONFIG_MOUSE_PS2_LIFEBOOK=n | ||
9 | CONFIG_MOUSE_PS2_TRACKPOINT=n | ||
10 | # CONFIG_MOUSE_PS2_ELANTECH is not set | ||
11 | # CONFIG_MOUSE_PS2_SENTELIC is not set | ||
12 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set | ||
13 | CONFIG_MOUSE_PS2_FOCALTECH=n | ||
14 | # CONFIG_MOUSE_SERIAL is not set | ||
15 | # CONFIG_MOUSE_APPLETOUCH is not set | ||
16 | # CONFIG_MOUSE_BCM5974 is not set | ||
17 | # CONFIG_MOUSE_CYAPA is not set | ||
18 | # CONFIG_MOUSE_ELAN_I2C is not set | ||
19 | # CONFIG_MOUSE_VSXXXAA is not set | ||
20 | # CONFIG_MOUSE_GPIO is not set | ||
21 | # CONFIG_MOUSE_SYNAPTICS_I2C is not set | ||
22 | # CONFIG_MOUSE_SYNAPTICS_USB is not set | ||
diff --git a/features/mouse/mouse_n.scc b/features/mouse/mouse_n.scc new file mode 100644 index 0000000..cda210e --- /dev/null +++ b/features/mouse/mouse_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for mouse support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware mouse_n.cfg | ||
diff --git a/features/mousedev/mousedev_n.cfg b/features/mousedev/mousedev_n.cfg new file mode 100644 index 0000000..40bcfc7 --- /dev/null +++ b/features/mousedev/mousedev_n.cfg | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_INPUT_MOUSEDEV=n | ||
2 | CONFIG_INPUT_MOUSEDEV_PSAUX=n | ||
diff --git a/features/mousedev/mousedev_n.scc b/features/mousedev/mousedev_n.scc new file mode 100644 index 0000000..f18e410 --- /dev/null +++ b/features/mousedev/mousedev_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for mouse device support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware mousedev_n.cfg | ||
diff --git a/features/msdos_fat_nt_fs/msdos_fat_nt_fs_n.cfg b/features/msdos_fat_nt_fs/msdos_fat_nt_fs_n.cfg new file mode 100644 index 0000000..0b5ca51 --- /dev/null +++ b/features/msdos_fat_nt_fs/msdos_fat_nt_fs_n.cfg | |||
@@ -0,0 +1,12 @@ | |||
1 | # | ||
2 | # DOS/FAT/NT Filesystems | ||
3 | # | ||
4 | CONFIG_FAT_FS=n | ||
5 | CONFIG_MSDOS_FS=n | ||
6 | CONFIG_VFAT_FS=n | ||
7 | # CONFIG_VFAT_FS_NO_DUALNAMES is not set | ||
8 | #CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
9 | #CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
10 | # CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES is not set | ||
11 | # CONFIG_FAT_DEFAULT_UTF8 is not set | ||
12 | # CONFIG_NTFS_FS is not set | ||
diff --git a/features/msdos_fat_nt_fs/msdos_fat_nt_fs_n.scc b/features/msdos_fat_nt_fs/msdos_fat_nt_fs_n.scc new file mode 100644 index 0000000..49aecac --- /dev/null +++ b/features/msdos_fat_nt_fs/msdos_fat_nt_fs_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable msdos_fat_nt_fs support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware msdos_fat_nt_fs_n.cfg | ||
diff --git a/features/mtd/mtd_y.cfg b/features/mtd/mtd_y.cfg new file mode 100644 index 0000000..c817fb1 --- /dev/null +++ b/features/mtd/mtd_y.cfg | |||
@@ -0,0 +1,120 @@ | |||
1 | CONFIG_MTD=y | ||
2 | # CONFIG_MTD_TESTS is not set | ||
3 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
4 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
5 | # CONFIG_MTD_AR7_PARTS is not set | ||
6 | |||
7 | # | ||
8 | # User Modules And Translation Layers | ||
9 | # | ||
10 | CONFIG_MTD_BLKDEVS=y | ||
11 | # CONFIG_MTD_BLOCK is not set | ||
12 | # CONFIG_MTD_BLOCK_RO is not set | ||
13 | CONFIG_FTL=y | ||
14 | CONFIG_NFTL=y | ||
15 | CONFIG_NFTL_RW=y | ||
16 | CONFIG_INFTL=y | ||
17 | CONFIG_RFD_FTL=y | ||
18 | CONFIG_SSFDC=y | ||
19 | CONFIG_SM_FTL=y | ||
20 | # CONFIG_MTD_OOPS is not set | ||
21 | # CONFIG_MTD_SWAP is not set | ||
22 | # CONFIG_MTD_PARTITIONED_MASTER is not set | ||
23 | |||
24 | # | ||
25 | # RAM/ROM/Flash chip drivers | ||
26 | # | ||
27 | CONFIG_MTD_CFI=y | ||
28 | CONFIG_MTD_JEDECPROBE=y | ||
29 | CONFIG_MTD_GEN_PROBE=y | ||
30 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
31 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
32 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
33 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
34 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
35 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
36 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
37 | CONFIG_MTD_CFI_I1=y | ||
38 | CONFIG_MTD_CFI_I2=y | ||
39 | # CONFIG_MTD_CFI_I4 is not set | ||
40 | # CONFIG_MTD_CFI_I8 is not set | ||
41 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
42 | # CONFIG_MTD_CFI_AMDSTD is not set | ||
43 | # CONFIG_MTD_CFI_STAA is not set | ||
44 | CONFIG_MTD_CFI_UTIL=y | ||
45 | # CONFIG_MTD_RAM is not set | ||
46 | # CONFIG_MTD_ROM is not set | ||
47 | # CONFIG_MTD_ABSENT is not set | ||
48 | |||
49 | # | ||
50 | # Mapping drivers for chip access | ||
51 | # | ||
52 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
53 | # CONFIG_MTD_PHYSMAP is not set | ||
54 | # CONFIG_MTD_AMD76XROM is not set | ||
55 | # CONFIG_MTD_ICHXROM is not set | ||
56 | # CONFIG_MTD_ESB2ROM is not set | ||
57 | # CONFIG_MTD_CK804XROM is not set | ||
58 | # CONFIG_MTD_SCB2_FLASH is not set | ||
59 | # CONFIG_MTD_NETtel is not set | ||
60 | # CONFIG_MTD_L440GX is not set | ||
61 | # CONFIG_MTD_INTEL_VR_NOR is not set | ||
62 | # CONFIG_MTD_PLATRAM is not set | ||
63 | |||
64 | # | ||
65 | # Self-contained MTD device drivers | ||
66 | # | ||
67 | # CONFIG_MTD_PMC551 is not set | ||
68 | # CONFIG_MTD_DATAFLASH is not set | ||
69 | # CONFIG_MTD_M25P80 is not set | ||
70 | # CONFIG_MTD_SST25L is not set | ||
71 | # CONFIG_MTD_SLRAM is not set | ||
72 | # CONFIG_MTD_PHRAM is not set | ||
73 | # CONFIG_MTD_MTDRAM is not set | ||
74 | # CONFIG_MTD_BLOCK2MTD is not set | ||
75 | |||
76 | # | ||
77 | # Disk-On-Chip Device Drivers | ||
78 | # | ||
79 | # CONFIG_MTD_DOCG3 is not set | ||
80 | CONFIG_MTD_NAND_ECC=y | ||
81 | CONFIG_MTD_NAND_ECC_SMC=y | ||
82 | CONFIG_MTD_NAND=y | ||
83 | # CONFIG_MTD_NAND_ECC_BCH is not set | ||
84 | # CONFIG_MTD_SM_COMMON is not set | ||
85 | # CONFIG_MTD_NAND_DENALI_PCI is not set | ||
86 | # CONFIG_MTD_NAND_GPIO is not set | ||
87 | # CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set | ||
88 | CONFIG_MTD_NAND_IDS=y | ||
89 | # CONFIG_MTD_NAND_RICOH is not set | ||
90 | # CONFIG_MTD_NAND_DISKONCHIP is not set | ||
91 | # CONFIG_MTD_NAND_DOCG4 is not set | ||
92 | # CONFIG_MTD_NAND_CAFE is not set | ||
93 | # CONFIG_MTD_NAND_NANDSIM is not set | ||
94 | # CONFIG_MTD_NAND_PLATFORM is not set | ||
95 | # CONFIG_MTD_NAND_HISI504 is not set | ||
96 | # CONFIG_MTD_NAND_MTK is not set | ||
97 | CONFIG_MTD_ONENAND=y | ||
98 | # CONFIG_MTD_ONENAND_VERIFY_WRITE is not set | ||
99 | # CONFIG_MTD_ONENAND_GENERIC is not set | ||
100 | # CONFIG_MTD_ONENAND_OTP is not set | ||
101 | # CONFIG_MTD_ONENAND_2X_PROGRAM is not set | ||
102 | |||
103 | # | ||
104 | # LPDDR & LPDDR2 PCM memory drivers | ||
105 | # | ||
106 | # CONFIG_MTD_LPDDR is not set | ||
107 | CONFIG_MTD_SPI_NOR=y | ||
108 | # CONFIG_MTD_MT81xx_NOR is not set | ||
109 | CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y | ||
110 | CONFIG_MTD_UBI=y | ||
111 | CONFIG_MTD_UBI_WL_THRESHOLD=4096 | ||
112 | CONFIG_MTD_UBI_BEB_LIMIT=20 | ||
113 | # CONFIG_MTD_UBI_FASTMAP is not set | ||
114 | # CONFIG_MTD_UBI_GLUEBI is not set | ||
115 | # CONFIG_MTD_UBI_BLOCK is not set | ||
116 | # CONFIG_LEDS_TRIGGER_MTD is not set | ||
117 | # CONFIG_JFFS2_FS is not set | ||
118 | # CONFIG_UBIFS_FS is not set | ||
119 | # CONFIG_ROMFS_BACKED_BY_MTD is not set | ||
120 | # CONFIG_ROMFS_BACKED_BY_BOTH is not set | ||
diff --git a/features/mtd/mtd_y.scc b/features/mtd/mtd_y.scc new file mode 100644 index 0000000..306de3f --- /dev/null +++ b/features/mtd/mtd_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable in kernel MTD support" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware mtd_y.cfg | ||
diff --git a/features/net/ipv6/sit/sit_n.cfg b/features/net/ipv6/sit/sit_n.cfg new file mode 100644 index 0000000..65e2141 --- /dev/null +++ b/features/net/ipv6/sit/sit_n.cfg | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_INET_TUNNEL=m | ||
2 | # CONFIG_IPV6_SIT is not set | ||
diff --git a/features/net/ipv6/sit/sit_n.scc b/features/net/ipv6/sit/sit_n.scc new file mode 100644 index 0000000..82a6890 --- /dev/null +++ b/features/net/ipv6/sit/sit_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable SIT interface" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware sit_n.cfg | ||
diff --git a/features/netblkdev/netblkdev_n.cfg b/features/netblkdev/netblkdev_n.cfg new file mode 100644 index 0000000..fb81129 --- /dev/null +++ b/features/netblkdev/netblkdev_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_BLK_DEV_NBD=n | |||
diff --git a/features/netblkdev/netblkdev_n.scc b/features/netblkdev/netblkdev_n.scc new file mode 100644 index 0000000..e2efac9 --- /dev/null +++ b/features/netblkdev/netblkdev_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable netblkdev support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware netblkdev_n.cfg | ||
diff --git a/features/netconsole/netconsole_n.cfg b/features/netconsole/netconsole_n.cfg new file mode 100644 index 0000000..f74f073 --- /dev/null +++ b/features/netconsole/netconsole_n.cfg | |||
@@ -0,0 +1,3 @@ | |||
1 | CONFIG_NETCONSOLE=n | ||
2 | CONFIG_NETPOLL=n | ||
3 | CONFIG_NET_POLL_CONTROLLER=n | ||
diff --git a/features/netconsole/netconsole_n.scc b/features/netconsole/netconsole_n.scc new file mode 100644 index 0000000..b6c54da --- /dev/null +++ b/features/netconsole/netconsole_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable netconsole support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware netconsole_n.cfg | ||
diff --git a/features/netdevices/netdevices_n.cfg b/features/netdevices/netdevices_n.cfg new file mode 100644 index 0000000..9413d2a --- /dev/null +++ b/features/netdevices/netdevices_n.cfg | |||
@@ -0,0 +1,147 @@ | |||
1 | CONFIG_NET_VENDOR_3COM=n | ||
2 | # CONFIG_VORTEX is not set | ||
3 | CONFIG_TYPHOON=n | ||
4 | CONFIG_NET_VENDOR_ADAPTEC=n | ||
5 | # CONFIG_ADAPTEC_STARFIRE is not set | ||
6 | CONFIG_NET_VENDOR_AGERE=n | ||
7 | # CONFIG_ET131X is not set | ||
8 | CONFIG_NET_VENDOR_ALTEON=n | ||
9 | # CONFIG_ACENIC is not set | ||
10 | CONFIG_NET_VENDOR_AMAZON=n | ||
11 | # CONFIG_ENA_ETHERNET is not set | ||
12 | CONFIG_NET_VENDOR_AMD=n | ||
13 | # CONFIG_AMD8111_ETH is not set | ||
14 | CONFIG_PCNET32=n | ||
15 | CONFIG_NET_VENDOR_ARC=n | ||
16 | CONFIG_NET_VENDOR_ATHEROS=n | ||
17 | CONFIG_ATL2=n | ||
18 | CONFIG_ATL1=n | ||
19 | CONFIG_ATL1E=n | ||
20 | CONFIG_ATL1C=n | ||
21 | CONFIG_ALX=n | ||
22 | CONFIG_NET_CADENCE=n | ||
23 | # CONFIG_MACB is not set | ||
24 | CONFIG_NET_VENDOR_BROADCOM=n | ||
25 | # CONFIG_B44 is not set | ||
26 | # CONFIG_BCMGENET is not set | ||
27 | # CONFIG_BNX2 is not set | ||
28 | # CONFIG_CNIC is not set | ||
29 | CONFIG_TIGON3=n | ||
30 | CONFIG_BNX2X=n | ||
31 | CONFIG_BNX2X_SRIOV=n | ||
32 | CONFIG_BNXT=n | ||
33 | CONFIG_BNXT_SRIOV=n | ||
34 | CONFIG_NET_VENDOR_BROCADE=n | ||
35 | # CONFIG_BNA is not set | ||
36 | CONFIG_NET_VENDOR_CAVIUM=n | ||
37 | # CONFIG_THUNDER_NIC_PF is not set | ||
38 | # CONFIG_THUNDER_NIC_VF is not set | ||
39 | # CONFIG_THUNDER_NIC_BGX is not set | ||
40 | # CONFIG_THUNDER_NIC_RGX is not set | ||
41 | # CONFIG_LIQUIDIO is not set | ||
42 | CONFIG_NET_VENDOR_CHELSIO=n | ||
43 | # CONFIG_CHELSIO_T1 is not set | ||
44 | # CONFIG_CHELSIO_T3 is not set | ||
45 | # CONFIG_CHELSIO_T4 is not set | ||
46 | # CONFIG_CHELSIO_T4VF is not set | ||
47 | CONFIG_NET_VENDOR_CISCO=n | ||
48 | # CONFIG_ENIC is not set | ||
49 | CONFIG_NET_VENDOR_DEC=n | ||
50 | # CONFIG_NET_TULIP is not set | ||
51 | CONFIG_NET_VENDOR_DLINK=n | ||
52 | CONFIG_DL2K=n | ||
53 | # CONFIG_SUNDANCE is not set | ||
54 | CONFIG_NET_VENDOR_EMULEX=n | ||
55 | # CONFIG_BE2NET is not set | ||
56 | CONFIG_NET_VENDOR_EZCHIP=n | ||
57 | CONFIG_NET_VENDOR_EXAR=n | ||
58 | # CONFIG_S2IO is not set | ||
59 | # CONFIG_VXGE is not set | ||
60 | CONFIG_NET_VENDOR_HP=n | ||
61 | # CONFIG_HP100 is not set | ||
62 | CONFIG_NET_VENDOR_MARVELL=n | ||
63 | # CONFIG_MVMDIO is not set | ||
64 | # CONFIG_MVNETA_BM is not set | ||
65 | CONFIG_SKGE=n | ||
66 | # CONFIG_SKGE_DEBUG is not set | ||
67 | # CONFIG_SKGE_GENESIS is not set | ||
68 | CONFIG_SKY2=n | ||
69 | # CONFIG_SKY2_DEBUG is not set | ||
70 | CONFIG_NET_VENDOR_MELLANOX=n | ||
71 | # CONFIG_MLX4_EN is not set | ||
72 | # CONFIG_MLX4_CORE is not set | ||
73 | # CONFIG_MLX5_CORE is not set | ||
74 | # CONFIG_MLXSW_CORE is not set | ||
75 | CONFIG_NET_VENDOR_MICREL=n | ||
76 | # CONFIG_KS8842 is not set | ||
77 | # CONFIG_KS8851 is not set | ||
78 | # CONFIG_KS8851_MLL is not set | ||
79 | # CONFIG_KSZ884X_PCI is not set | ||
80 | CONFIG_NET_VENDOR_MICROCHIP=n | ||
81 | # CONFIG_ENC28J60 is not set | ||
82 | # CONFIG_ENCX24J600 is not set | ||
83 | CONFIG_NET_VENDOR_MYRI=n | ||
84 | # CONFIG_MYRI10GE is not set | ||
85 | CONFIG_NET_VENDOR_NATSEMI=n | ||
86 | # CONFIG_NATSEMI is not set | ||
87 | # CONFIG_NS83820 is not set | ||
88 | CONFIG_NET_VENDOR_NETRONOME=n | ||
89 | # CONFIG_NFP_NETVF is not set | ||
90 | CONFIG_NET_VENDOR_8390=n | ||
91 | # CONFIG_NE2K_PCI is not set | ||
92 | CONFIG_NET_VENDOR_NVIDIA=n | ||
93 | # CONFIG_FORCEDETH is not set | ||
94 | CONFIG_NET_VENDOR_OKI=n | ||
95 | CONFIG_NET_VENDOR_QLOGIC=n | ||
96 | # CONFIG_QLA3XXX is not set | ||
97 | # CONFIG_QLCNIC is not set | ||
98 | # CONFIG_QLGE is not set | ||
99 | # CONFIG_NETXEN_NIC is not set | ||
100 | # CONFIG_QED is not set | ||
101 | CONFIG_NET_VENDOR_QUALCOMM=n | ||
102 | # CONFIG_QCOM_EMAC is not set | ||
103 | CONFIG_NET_VENDOR_REALTEK=n | ||
104 | # CONFIG_ATP is not set | ||
105 | CONFIG_8139CP=n | ||
106 | CONFIG_8139TOO=n | ||
107 | CONFIG_8139TOO_PIO=n | ||
108 | # CONFIG_8139TOO_TUNE_TWISTER is not set | ||
109 | # CONFIG_8139TOO_8129 is not set | ||
110 | # CONFIG_8139_OLD_RX_RESET is not set | ||
111 | CONFIG_R8169=n | ||
112 | CONFIG_NET_VENDOR_RENESAS=n | ||
113 | CONFIG_NET_VENDOR_RDC=n | ||
114 | # CONFIG_R6040 is not set | ||
115 | CONFIG_NET_VENDOR_ROCKER=n | ||
116 | CONFIG_NET_VENDOR_SAMSUNG=n | ||
117 | # CONFIG_SXGBE_ETH is not set | ||
118 | CONFIG_NET_VENDOR_SEEQ=n | ||
119 | CONFIG_NET_VENDOR_SILAN=n | ||
120 | # CONFIG_SC92031 is not set | ||
121 | CONFIG_NET_VENDOR_SIS=n | ||
122 | # CONFIG_SIS900 is not set | ||
123 | # CONFIG_SIS190 is not set | ||
124 | CONFIG_NET_VENDOR_SMSC=n | ||
125 | # CONFIG_EPIC100 is not set | ||
126 | # CONFIG_SMSC911X is not set | ||
127 | # CONFIG_SMSC9420 is not set | ||
128 | CONFIG_NET_VENDOR_STMICRO=n | ||
129 | # CONFIG_STMMAC_ETH is not set | ||
130 | CONFIG_NET_VENDOR_SUN=n | ||
131 | # CONFIG_HAPPYMEAL is not set | ||
132 | # CONFIG_SUNGEM is not set | ||
133 | # CONFIG_CASSINI is not set | ||
134 | # CONFIG_NIU is not set | ||
135 | CONFIG_NET_PACKET_ENGINE=n | ||
136 | CONFIG_NET_VENDOR_SYNOPSYS=n | ||
137 | CONFIG_NET_VENDOR_TEHUTI=n | ||
138 | # CONFIG_TEHUTI is not set | ||
139 | CONFIG_NET_VENDOR_TI=n | ||
140 | # CONFIG_TI_CPSW_ALE is not set | ||
141 | # CONFIG_TLAN is not set | ||
142 | CONFIG_NET_VENDOR_VIA=n | ||
143 | # CONFIG_VIA_RHINE is not set | ||
144 | # CONFIG_VIA_VELOCITY is not set | ||
145 | CONFIG_NET_VENDOR_WIZNET=n | ||
146 | # CONFIG_WIZNET_W5100 is not set | ||
147 | # CONFIG_WIZNET_W5300 is not set | ||
diff --git a/features/netdevices/netdevices_n.scc b/features/netdevices/netdevices_n.scc new file mode 100644 index 0000000..b0af6aa --- /dev/null +++ b/features/netdevices/netdevices_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for NET devices support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware netdevices_n.cfg | ||
diff --git a/features/netfilter/ct_m.cfg b/features/netfilter/ct_m.cfg new file mode 100644 index 0000000..9b469c0 --- /dev/null +++ b/features/netfilter/ct_m.cfg | |||
@@ -0,0 +1,11 @@ | |||
1 | CONFIG_NETFILTER=y | ||
2 | CONFIG_NETFILTER_ADVANCED=y | ||
3 | CONFIG_NF_CONNTRACK=y | ||
4 | |||
5 | CONFIG_NETFILTER_XTABLES=y | ||
6 | |||
7 | CONFIG_IP_NF_IPTABLES=y | ||
8 | CONFIG_IP_NF_RAW=m | ||
9 | CONFIG_NETFILTER_XT_TARGET_CT=m | ||
10 | |||
11 | CONFIG_NF_CONNTRACK_ZONES=y | ||
diff --git a/features/netfilter/ct_m.scc b/features/netfilter/ct_m.scc new file mode 100644 index 0000000..3eadf1f --- /dev/null +++ b/features/netfilter/ct_m.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Support for CT target in iptables" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware ct_m.cfg | ||
diff --git a/features/netfilter/ip_vs_m.cfg b/features/netfilter/ip_vs_m.cfg new file mode 100644 index 0000000..a4ae33d --- /dev/null +++ b/features/netfilter/ip_vs_m.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | CONFIG_NF_CONNTRACK=y | ||
2 | CONFIG_IP_VS=m | ||
3 | |||
4 | |||
diff --git a/features/netfilter/ip_vs_m.scc b/features/netfilter/ip_vs_m.scc new file mode 100644 index 0000000..8be3313 --- /dev/null +++ b/features/netfilter/ip_vs_m.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "IP Virtual Server support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware ip_vs_m.cfg | ||
diff --git a/features/netfilter/ipset_m.cfg b/features/netfilter/ipset_m.cfg new file mode 100644 index 0000000..830a880 --- /dev/null +++ b/features/netfilter/ipset_m.cfg | |||
@@ -0,0 +1,9 @@ | |||
1 | CONFIG_NETFILTER=y | ||
2 | |||
3 | CONFIG_IP_SET=m | ||
4 | CONFIG_IP_SET_HASH_NET=m | ||
5 | |||
6 | CONFIG_NETFILTER_ADVANCED=y | ||
7 | CONFIG_NETFILTER_XTABLES=y | ||
8 | |||
9 | CONFIG_NETFILTER_XT_SET=m | ||
diff --git a/features/netfilter/ipset_m.scc b/features/netfilter/ipset_m.scc new file mode 100644 index 0000000..eb2a52b --- /dev/null +++ b/features/netfilter/ipset_m.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Support for IP sets" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware ipset_m.cfg | ||
diff --git a/features/netfilter/netfilter_n.cfg b/features/netfilter/netfilter_n.cfg new file mode 100644 index 0000000..aebe7a9 --- /dev/null +++ b/features/netfilter/netfilter_n.cfg | |||
@@ -0,0 +1,222 @@ | |||
1 | CONFIG_IP_ROUTE_CLASSID=n | ||
2 | CONFIG_NETFILTER=n | ||
3 | # CONFIG_NETFILTER_DEBUG is not set | ||
4 | CONFIG_NETFILTER_ADVANCED=n | ||
5 | CONFIG_BRIDGE_NETFILTER=n | ||
6 | |||
7 | # | ||
8 | # Core Netfilter Configuration | ||
9 | # | ||
10 | CONFIG_NETFILTER_INGRESS=n | ||
11 | CONFIG_NETFILTER_NETLINK=n | ||
12 | # CONFIG_NETFILTER_NETLINK_ACCT is not set | ||
13 | CONFIG_NETFILTER_NETLINK_QUEUE=n | ||
14 | CONFIG_NETFILTER_NETLINK_LOG=n | ||
15 | CONFIG_NF_CONNTRACK=n | ||
16 | CONFIG_NF_CONNTRACK_MARK=n | ||
17 | # CONFIG_NF_CONNTRACK_ZONES is not set | ||
18 | CONFIG_NF_CONNTRACK_PROCFS=n | ||
19 | # CONFIG_NF_CONNTRACK_EVENTS is not set | ||
20 | # CONFIG_NF_CONNTRACK_TIMEOUT is not set | ||
21 | # CONFIG_NF_CONNTRACK_TIMESTAMP is not set | ||
22 | # CONFIG_NF_CT_PROTO_DCCP is not set | ||
23 | CONFIG_NF_CT_PROTO_GRE=n | ||
24 | CONFIG_NF_CT_PROTO_SCTP=n | ||
25 | CONFIG_NF_CT_PROTO_UDPLITE=n | ||
26 | CONFIG_NF_CONNTRACK_AMANDA=n | ||
27 | CONFIG_NF_CONNTRACK_FTP=n | ||
28 | CONFIG_NF_CONNTRACK_H323=n | ||
29 | CONFIG_NF_CONNTRACK_IRC=n | ||
30 | CONFIG_NF_CONNTRACK_BROADCAST=n | ||
31 | CONFIG_NF_CONNTRACK_NETBIOS_NS=n | ||
32 | # CONFIG_NF_CONNTRACK_SNMP is not set | ||
33 | CONFIG_NF_CONNTRACK_PPTP=n | ||
34 | CONFIG_NF_CONNTRACK_SANE=n | ||
35 | CONFIG_NF_CONNTRACK_SIP=n | ||
36 | CONFIG_NF_CONNTRACK_TFTP=n | ||
37 | CONFIG_NF_CT_NETLINK=n | ||
38 | # CONFIG_NF_CT_NETLINK_TIMEOUT is not set | ||
39 | # CONFIG_NETFILTER_NETLINK_GLUE_CT is not set | ||
40 | CONFIG_NF_NAT=n | ||
41 | CONFIG_NF_NAT_NEEDED=n | ||
42 | CONFIG_NF_NAT_PROTO_UDPLITE=n | ||
43 | CONFIG_NF_NAT_PROTO_SCTP=n | ||
44 | CONFIG_NF_NAT_AMANDA=n | ||
45 | CONFIG_NF_NAT_FTP=n | ||
46 | CONFIG_NF_NAT_IRC=n | ||
47 | CONFIG_NF_NAT_SIP=n | ||
48 | CONFIG_NF_NAT_TFTP=n | ||
49 | # CONFIG_NF_NAT_REDIRECT is not set | ||
50 | # CONFIG_NF_TABLES is not set | ||
51 | CONFIG_NETFILTER_XTABLES=n | ||
52 | |||
53 | # | ||
54 | # Xtables combined modules | ||
55 | # | ||
56 | CONFIG_NETFILTER_XT_MARK=n | ||
57 | CONFIG_NETFILTER_XT_CONNMARK=n | ||
58 | |||
59 | # | ||
60 | # Xtables targets | ||
61 | # | ||
62 | CONFIG_NETFILTER_XT_TARGET_CHECKSUM=n | ||
63 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=n | ||
64 | CONFIG_NETFILTER_XT_TARGET_CONNMARK=n | ||
65 | CONFIG_NETFILTER_XT_TARGET_CT=n | ||
66 | CONFIG_NETFILTER_XT_TARGET_DSCP=n | ||
67 | CONFIG_NETFILTER_XT_TARGET_HL=n | ||
68 | # CONFIG_NETFILTER_XT_TARGET_HMARK is not set | ||
69 | # CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set | ||
70 | # CONFIG_NETFILTER_XT_TARGET_LOG is not set | ||
71 | CONFIG_NETFILTER_XT_TARGET_MARK=n | ||
72 | CONFIG_NETFILTER_XT_NAT=n | ||
73 | # CONFIG_NETFILTER_XT_TARGET_NETMAP is not set | ||
74 | CONFIG_NETFILTER_XT_TARGET_NFLOG=n | ||
75 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=n | ||
76 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=n | ||
77 | # CONFIG_NETFILTER_XT_TARGET_RATEEST is not set | ||
78 | # CONFIG_NETFILTER_XT_TARGET_REDIRECT is not set | ||
79 | # CONFIG_NETFILTER_XT_TARGET_TEE is not set | ||
80 | # CONFIG_NETFILTER_XT_TARGET_TPROXY is not set | ||
81 | CONFIG_NETFILTER_XT_TARGET_TRACE=n | ||
82 | CONFIG_NETFILTER_XT_TARGET_TCPMSS=n | ||
83 | # CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set | ||
84 | |||
85 | # | ||
86 | # Xtables matches | ||
87 | # | ||
88 | CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=n | ||
89 | # CONFIG_NETFILTER_XT_MATCH_BPF is not set | ||
90 | # CONFIG_NETFILTER_XT_MATCH_CGROUP is not set | ||
91 | # CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set | ||
92 | CONFIG_NETFILTER_XT_MATCH_COMMENT=n | ||
93 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=n | ||
94 | # CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set | ||
95 | CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=n | ||
96 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=n | ||
97 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=n | ||
98 | # CONFIG_NETFILTER_XT_MATCH_CPU is not set | ||
99 | CONFIG_NETFILTER_XT_MATCH_DCCP=n | ||
100 | # CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set | ||
101 | CONFIG_NETFILTER_XT_MATCH_DSCP=n | ||
102 | CONFIG_NETFILTER_XT_MATCH_ECN=n | ||
103 | CONFIG_NETFILTER_XT_MATCH_ESP=n | ||
104 | CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=n | ||
105 | CONFIG_NETFILTER_XT_MATCH_HELPER=n | ||
106 | CONFIG_NETFILTER_XT_MATCH_HL=n | ||
107 | # CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set | ||
108 | # CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set | ||
109 | # CONFIG_NETFILTER_XT_MATCH_L2TP is not set | ||
110 | CONFIG_NETFILTER_XT_MATCH_LENGTH=n | ||
111 | CONFIG_NETFILTER_XT_MATCH_LIMIT=n | ||
112 | CONFIG_NETFILTER_XT_MATCH_MAC=n | ||
113 | CONFIG_NETFILTER_XT_MATCH_MARK=n | ||
114 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=n | ||
115 | # CONFIG_NETFILTER_XT_MATCH_NFACCT is not set | ||
116 | # CONFIG_NETFILTER_XT_MATCH_OSF is not set | ||
117 | # CONFIG_NETFILTER_XT_MATCH_OWNER is not set | ||
118 | CONFIG_NETFILTER_XT_MATCH_POLICY=n | ||
119 | # CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set | ||
120 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=n | ||
121 | CONFIG_NETFILTER_XT_MATCH_QUOTA=n | ||
122 | # CONFIG_NETFILTER_XT_MATCH_RATEEST is not set | ||
123 | CONFIG_NETFILTER_XT_MATCH_REALM=n | ||
124 | # CONFIG_NETFILTER_XT_MATCH_RECENT is not set | ||
125 | CONFIG_NETFILTER_XT_MATCH_SCTP=n | ||
126 | # CONFIG_NETFILTER_XT_MATCH_SOCKET is not set | ||
127 | CONFIG_NETFILTER_XT_MATCH_STATE=n | ||
128 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=n | ||
129 | CONFIG_NETFILTER_XT_MATCH_STRING=n | ||
130 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=n | ||
131 | # CONFIG_NETFILTER_XT_MATCH_TIME is not set | ||
132 | CONFIG_NETFILTER_XT_MATCH_U32=n | ||
133 | # CONFIG_IP_SET is not set | ||
134 | # CONFIG_IP_VS is not set | ||
135 | |||
136 | # | ||
137 | # IP: Netfilter Configuration | ||
138 | # | ||
139 | CONFIG_NF_DEFRAG_IPV4=n | ||
140 | CONFIG_NF_CONNTRACK_IPV4=n | ||
141 | # CONFIG_NF_DUP_IPV4 is not set | ||
142 | # CONFIG_NF_LOG_ARP is not set | ||
143 | # CONFIG_NF_LOG_IPV4 is not set | ||
144 | CONFIG_NF_REJECT_IPV4=n | ||
145 | CONFIG_NF_NAT_IPV4=n | ||
146 | CONFIG_NF_NAT_MASQUERADE_IPV4=n | ||
147 | CONFIG_NF_NAT_PROTO_GRE=n | ||
148 | CONFIG_NF_NAT_PPTP=n | ||
149 | CONFIG_NF_NAT_H323=n | ||
150 | CONFIG_IP_NF_IPTABLES=n | ||
151 | CONFIG_IP_NF_MATCH_AH=n | ||
152 | CONFIG_IP_NF_MATCH_ECN=n | ||
153 | # CONFIG_IP_NF_MATCH_RPFILTER is not set | ||
154 | CONFIG_IP_NF_MATCH_TTL=n | ||
155 | CONFIG_IP_NF_FILTER=n | ||
156 | CONFIG_IP_NF_TARGET_REJECT=n | ||
157 | # CONFIG_IP_NF_TARGET_SYNPROXY is not set | ||
158 | CONFIG_IP_NF_NAT=n | ||
159 | CONFIG_IP_NF_TARGET_MASQUERADE=n | ||
160 | # CONFIG_IP_NF_TARGET_NETMAP is not set | ||
161 | # CONFIG_IP_NF_TARGET_REDIRECT is not set | ||
162 | CONFIG_IP_NF_MANGLE=n | ||
163 | CONFIG_IP_NF_TARGET_CLUSTERIP=n | ||
164 | CONFIG_IP_NF_TARGET_ECN=n | ||
165 | CONFIG_IP_NF_TARGET_TTL=n | ||
166 | CONFIG_IP_NF_RAW=n | ||
167 | # CONFIG_IP_NF_SECURITY is not set | ||
168 | CONFIG_IP_NF_ARPTABLES=n | ||
169 | CONFIG_IP_NF_ARPFILTER=n | ||
170 | CONFIG_IP_NF_ARP_MANGLE=n | ||
171 | |||
172 | # | ||
173 | # IPv6: Netfilter Configuration | ||
174 | # | ||
175 | CONFIG_NF_DEFRAG_IPV6=n | ||
176 | CONFIG_NF_CONNTRACK_IPV6=n | ||
177 | # CONFIG_NF_DUP_IPV6 is not set | ||
178 | # CONFIG_NF_REJECT_IPV6 is not set | ||
179 | # CONFIG_NF_LOG_IPV6 is not set | ||
180 | CONFIG_NF_NAT_IPV6=n | ||
181 | CONFIG_NF_NAT_MASQUERADE_IPV6=n | ||
182 | CONFIG_IP6_NF_IPTABLES=n | ||
183 | # CONFIG_IP6_NF_MATCH_AH is not set | ||
184 | CONFIG_IP6_NF_MATCH_EUI64=n | ||
185 | CONFIG_IP6_NF_MATCH_FRAG=n | ||
186 | CONFIG_IP6_NF_MATCH_OPTS=n | ||
187 | CONFIG_IP6_NF_MATCH_HL=n | ||
188 | CONFIG_IP6_NF_MATCH_IPV6HEADER=n | ||
189 | # CONFIG_IP6_NF_MATCH_MH is not set | ||
190 | # CONFIG_IP6_NF_MATCH_RPFILTER is not set | ||
191 | CONFIG_IP6_NF_MATCH_RT=n | ||
192 | # CONFIG_IP6_NF_TARGET_HL is not set | ||
193 | CONFIG_IP6_NF_FILTER=n | ||
194 | # CONFIG_IP6_NF_TARGET_REJECT is not set | ||
195 | # CONFIG_IP6_NF_TARGET_SYNPROXY is not set | ||
196 | CONFIG_IP6_NF_MANGLE=n | ||
197 | CONFIG_IP6_NF_RAW=n | ||
198 | # CONFIG_IP6_NF_SECURITY is not set | ||
199 | CONFIG_IP6_NF_NAT=n | ||
200 | CONFIG_IP6_NF_TARGET_MASQUERADE=n | ||
201 | # CONFIG_IP6_NF_TARGET_NPT is not set | ||
202 | CONFIG_BRIDGE_NF_EBTABLES=n | ||
203 | CONFIG_BRIDGE_EBT_BROUTE=n | ||
204 | CONFIG_BRIDGE_EBT_T_FILTER=n | ||
205 | CONFIG_BRIDGE_EBT_T_NAT=n | ||
206 | CONFIG_BRIDGE_EBT_802_3=n | ||
207 | CONFIG_BRIDGE_EBT_AMONG=n | ||
208 | CONFIG_BRIDGE_EBT_ARP=n | ||
209 | CONFIG_BRIDGE_EBT_IP=n | ||
210 | CONFIG_BRIDGE_EBT_IP6=n | ||
211 | CONFIG_BRIDGE_EBT_LIMIT=n | ||
212 | CONFIG_BRIDGE_EBT_MARK=n | ||
213 | CONFIG_BRIDGE_EBT_PKTTYPE=n | ||
214 | CONFIG_BRIDGE_EBT_STP=n | ||
215 | CONFIG_BRIDGE_EBT_VLAN=n | ||
216 | CONFIG_BRIDGE_EBT_ARPREPLY=n | ||
217 | CONFIG_BRIDGE_EBT_DNAT=n | ||
218 | CONFIG_BRIDGE_EBT_MARK_T=n | ||
219 | CONFIG_BRIDGE_EBT_REDIRECT=n | ||
220 | CONFIG_BRIDGE_EBT_SNAT=n | ||
221 | CONFIG_BRIDGE_EBT_LOG=n | ||
222 | CONFIG_BRIDGE_EBT_NFLOG=n | ||
diff --git a/features/netfilter/netfilter_n.scc b/features/netfilter/netfilter_n.scc new file mode 100644 index 0000000..279aa21 --- /dev/null +++ b/features/netfilter/netfilter_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable netfilter and conn tracking" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware netfilter_n.cfg | ||
diff --git a/features/netfilter/netfilter_y.cfg b/features/netfilter/netfilter_y.cfg new file mode 100644 index 0000000..b1c310e --- /dev/null +++ b/features/netfilter/netfilter_y.cfg | |||
@@ -0,0 +1,10 @@ | |||
1 | CONFIG_NF_CONNTRACK=y | ||
2 | CONFIG_NF_CONNTRACK_IPV4=y | ||
3 | CONFIG_NF_NAT=y | ||
4 | CONFIG_NETFILTER_XTABLES=y | ||
5 | CONFIG_NETFILTER_XT_NAT=y | ||
6 | CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y | ||
7 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y | ||
8 | CONFIG_NF_DEFRAG_IPV4=y | ||
9 | CONFIG_NF_CONNTRACK_IPV4=y | ||
10 | CONFIG_NF_NAT_IPV4=y | ||
diff --git a/features/netfilter/netfilter_y.scc b/features/netfilter/netfilter_y.scc new file mode 100644 index 0000000..f0e2e01 --- /dev/null +++ b/features/netfilter/netfilter_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable netfilter + conn tracking as built-in modules" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware netfilter_y.cfg | ||
diff --git a/features/netfilter/physdev_m.cfg b/features/netfilter/physdev_m.cfg new file mode 100644 index 0000000..fb42ad0 --- /dev/null +++ b/features/netfilter/physdev_m.cfg | |||
@@ -0,0 +1,8 @@ | |||
1 | CONFIG_NETFILTER=y | ||
2 | CONFIG_NETFILTER_ADVANCED=y | ||
3 | |||
4 | CONFIG_BRIDGE=y | ||
5 | CONFIG_BRIDGE_NETFILTER=y | ||
6 | |||
7 | CONFIG_NETFILTER_XTABLES=y | ||
8 | CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m | ||
diff --git a/features/netfilter/physdev_m.scc b/features/netfilter/physdev_m.scc new file mode 100644 index 0000000..31f207b --- /dev/null +++ b/features/netfilter/physdev_m.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Support for physdev packet matching" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware physdev_m.cfg | ||
diff --git a/features/netfilter/raw_m.cfg b/features/netfilter/raw_m.cfg new file mode 100644 index 0000000..221a7bf --- /dev/null +++ b/features/netfilter/raw_m.cfg | |||
@@ -0,0 +1,3 @@ | |||
1 | CONFIG_NETFILTER=y | ||
2 | CONFIG_IP_NF_IPTABLES=y | ||
3 | CONFIG_IP_NF_RAW=m | ||
diff --git a/features/netfilter/raw_m.scc b/features/netfilter/raw_m.scc new file mode 100644 index 0000000..3daf6a8 --- /dev/null +++ b/features/netfilter/raw_m.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Support for iptables raw table" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware raw_m.cfg | ||
diff --git a/features/nfc/nfc_n.cfg b/features/nfc/nfc_n.cfg new file mode 100644 index 0000000..428d0eb --- /dev/null +++ b/features/nfc/nfc_n.cfg | |||
@@ -0,0 +1,40 @@ | |||
1 | CONFIG_NFC=n | ||
2 | CONFIG_NFC_DIGITAL=n | ||
3 | CONFIG_NFC_NCI=n | ||
4 | CONFIG_NFC_NCI_SPI=n | ||
5 | # CONFIG_NFC_NCI_UART is not set | ||
6 | CONFIG_NFC_HCI=n | ||
7 | CONFIG_NFC_SHDLC=n | ||
8 | |||
9 | # | ||
10 | # Near Field Communication (NFC) devices | ||
11 | # | ||
12 | CONFIG_NFC_TRF7970A=n | ||
13 | CONFIG_NFC_MEI_PHY=n | ||
14 | # CONFIG_NFC_SIM is not set | ||
15 | CONFIG_NFC_PORT100=n | ||
16 | CONFIG_NFC_FDP=n | ||
17 | CONFIG_NFC_FDP_I2C=n | ||
18 | CONFIG_NFC_PN544=n | ||
19 | CONFIG_NFC_PN544_I2C=n | ||
20 | CONFIG_NFC_PN544_MEI=n | ||
21 | CONFIG_NFC_PN533=n | ||
22 | CONFIG_NFC_PN533_USB=n | ||
23 | CONFIG_NFC_PN533_I2C=n | ||
24 | CONFIG_NFC_MICROREAD=n | ||
25 | CONFIG_NFC_MICROREAD_I2C=n | ||
26 | CONFIG_NFC_MICROREAD_MEI=n | ||
27 | CONFIG_NFC_MRVL=n | ||
28 | CONFIG_NFC_MRVL_USB=n | ||
29 | CONFIG_NFC_MRVL_I2C=n | ||
30 | CONFIG_NFC_MRVL_SPI=n | ||
31 | CONFIG_NFC_ST21NFCA=n | ||
32 | CONFIG_NFC_ST21NFCA_I2C=n | ||
33 | CONFIG_NFC_ST_NCI=n | ||
34 | CONFIG_NFC_ST_NCI_I2C=n | ||
35 | CONFIG_NFC_ST_NCI_SPI=n | ||
36 | CONFIG_NFC_NXP_NCI=n | ||
37 | CONFIG_NFC_NXP_NCI_I2C=n | ||
38 | CONFIG_NFC_S3FWRN5=n | ||
39 | CONFIG_NFC_S3FWRN5_I2C=n | ||
40 | CONFIG_NFC_ST95HF=n | ||
diff --git a/features/nfc/nfc_n.scc b/features/nfc/nfc_n.scc new file mode 100644 index 0000000..f957501 --- /dev/null +++ b/features/nfc/nfc_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for nfc support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware nfc_n.cfg | ||
diff --git a/features/nfs/nfs_n.cfg b/features/nfs/nfs_n.cfg new file mode 100644 index 0000000..a8e60a3 --- /dev/null +++ b/features/nfs/nfs_n.cfg | |||
@@ -0,0 +1,44 @@ | |||
1 | CONFIG_NETWORK_FILESYSTEMS=n | ||
2 | CONFIG_NFS_FS=n | ||
3 | CONFIG_NFS_V2=n | ||
4 | #CONFIG_NFS_DEF_FILE_IO_SIZE=4096 | ||
5 | CONFIG_NFS_V3=n | ||
6 | # CONFIG_NFS_V3_ACL is not set | ||
7 | CONFIG_NFS_V4=n | ||
8 | # CONFIG_NFS_SWAP is not set | ||
9 | # CONFIG_NFS_V4_1 is not set | ||
10 | CONFIG_ROOT_NFS=n | ||
11 | # CONFIG_NFS_USE_LEGACY_DNS is not set | ||
12 | CONFIG_NFS_USE_KERNEL_DNS=n | ||
13 | CONFIG_NFSD=n | ||
14 | CONFIG_NFSD_V3=n | ||
15 | # CONFIG_NFSD_V3_ACL is not set | ||
16 | CONFIG_NFSD_V4=n | ||
17 | # CONFIG_NFSD_BLOCKLAYOUT is not set | ||
18 | # CONFIG_NFSD_SCSILAYOUT is not set | ||
19 | # CONFIG_NFSD_FLEXFILELAYOUT is not set | ||
20 | # CONFIG_NFSD_V4_SECURITY_LABEL is not set | ||
21 | # CONFIG_NFSD_FAULT_INJECTION is not set | ||
22 | CONFIG_GRACE_PERIOD=n | ||
23 | CONFIG_LOCKD=n | ||
24 | CONFIG_LOCKD_V4=n | ||
25 | CONFIG_NFS_COMMON=n | ||
26 | CONFIG_SUNRPC=n | ||
27 | CONFIG_SUNRPC_GSS=n | ||
28 | CONFIG_RPCSEC_GSS_KRB5=n | ||
29 | # CONFIG_SUNRPC_DEBUG is not set | ||
30 | # CONFIG_CEPH_FS is not set | ||
31 | CONFIG_CIFS=n | ||
32 | # CONFIG_CIFS_STATS is not set | ||
33 | # CONFIG_CIFS_WEAK_PW_HASH is not set | ||
34 | # CONFIG_CIFS_UPCALL is not set | ||
35 | CONFIG_CIFS_XATTR=n | ||
36 | CONFIG_CIFS_POSIX=n | ||
37 | # CONFIG_CIFS_ACL is not set | ||
38 | CONFIG_CIFS_DEBUG=n | ||
39 | # CONFIG_CIFS_DEBUG2 is not set | ||
40 | # CONFIG_CIFS_DFS_UPCALL is not set | ||
41 | # CONFIG_CIFS_SMB2 is not set | ||
42 | # CONFIG_NCP_FS is not set | ||
43 | # CONFIG_CODA_FS is not set | ||
44 | # CONFIG_AFS_FS is not set | ||
diff --git a/features/nfs/nfs_n.scc b/features/nfs/nfs_n.scc new file mode 100644 index 0000000..4cec9a7 --- /dev/null +++ b/features/nfs/nfs_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable nfs support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware nfs_n.cfg | ||
diff --git a/features/numa/numa_x86_y.cfg b/features/numa/numa_x86_y.cfg new file mode 100644 index 0000000..2c26323 --- /dev/null +++ b/features/numa/numa_x86_y.cfg | |||
@@ -0,0 +1,6 @@ | |||
1 | CONFIG_NUMA=y | ||
2 | CONFIG_AMD_NUMA=y | ||
3 | CONFIG_X86_64_ACPI_NUMA=y | ||
4 | CONFIG_NUMA_EMU=y | ||
5 | CONFIG_USE_PERCPU_NUMA_NODE_ID=y | ||
6 | CONFIG_ACPI_NUMA=y | ||
diff --git a/features/numa/numa_x86_y.scc b/features/numa/numa_x86_y.scc new file mode 100644 index 0000000..a5d3587 --- /dev/null +++ b/features/numa/numa_x86_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable in kernel NUMA support - x86 specific" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware numa_x86_y.cfg | ||
diff --git a/features/nvme/nvme.cfg b/features/nvme/nvme.cfg new file mode 100644 index 0000000..4dca776 --- /dev/null +++ b/features/nvme/nvme.cfg | |||
@@ -0,0 +1,30 @@ | |||
1 | CONFIG_NVME_CORE=y | ||
2 | CONFIG_BLK_DEV_NVME=y | ||
3 | # CONFIG_BLK_DEV_NVME_SCSI is not set | ||
4 | |||
5 | |||
6 | |||
7 | CONFIG_PCI_CNB20LE_QUIRK=y | ||
8 | CONFIG_HOTPLUG_PCI_PCIE=y | ||
9 | CONFIG_PCIE_ECRC=y | ||
10 | CONFIG_PCIEAER_INJECT=y | ||
11 | CONFIG_PCIEASPM_DEBUG=y | ||
12 | CONFIG_PCIE_DPC=y | ||
13 | CONFIG_PCI_DEBUG=y | ||
14 | CONFIG_PCI_REALLOC_ENABLE_AUTO=y | ||
15 | CONFIG_PCI_STUB=y | ||
16 | CONFIG_PCI_PRI=y | ||
17 | CONFIG_HOTPLUG_PCI_ACPI=y | ||
18 | # CONFIG_HOTPLUG_PCI_ACPI_IBM is not set | ||
19 | CONFIG_HOTPLUG_PCI_CPCI=y | ||
20 | # CONFIG_HOTPLUG_PCI_CPCI_ZT5550 is not set | ||
21 | # CONFIG_HOTPLUG_PCI_CPCI_GENERIC is not set | ||
22 | CONFIG_PCIE_DW_PLAT=y | ||
23 | CONFIG_PCIE_DW=y | ||
24 | CONFIG_BLK_DEV_PCIESSD_MTIP32XX=y | ||
25 | CONFIG_SATA_AHCI_PLATFORM=y | ||
26 | CONFIG_SATA_ACARD_AHCI=y | ||
27 | CONFIG_NVM=y | ||
28 | CONFIG_NVM_DEBUG=y | ||
29 | CONFIG_NVM_GENNVM=y | ||
30 | CONFIG_NVM_RRPC=y | ||
diff --git a/features/nvme/nvme.scc b/features/nvme/nvme.scc new file mode 100644 index 0000000..b9c7115 --- /dev/null +++ b/features/nvme/nvme.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable NVMe" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware nvme.cfg | ||
diff --git a/features/openvswitch/ingress_policy.cfg b/features/openvswitch/ingress_policy.cfg new file mode 100644 index 0000000..e0e09a5 --- /dev/null +++ b/features/openvswitch/ingress_policy.cfg | |||
@@ -0,0 +1,3 @@ | |||
1 | NET_CLS_BASIC=m | ||
2 | NET_ACT_POLICE=m | ||
3 | CONFIG_NET_SCH_INGRESS=m | ||
diff --git a/features/openvswitch/kernel_ovs.scc b/features/openvswitch/kernel_ovs.scc new file mode 100644 index 0000000..2e3c131 --- /dev/null +++ b/features/openvswitch/kernel_ovs.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable in kernel OpenvSwitch module" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | include features/openvswitch/openvswitch_support.scc | ||
5 | kconf non-hardware openvswitch.cfg | ||
diff --git a/features/openvswitch/openvswitch.cfg b/features/openvswitch/openvswitch.cfg new file mode 100644 index 0000000..82b61f8 --- /dev/null +++ b/features/openvswitch/openvswitch.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_OPENVSWITCH=m | |||
diff --git a/features/openvswitch/openvswitch_support.scc b/features/openvswitch/openvswitch_support.scc new file mode 100644 index 0000000..59d5f36 --- /dev/null +++ b/features/openvswitch/openvswitch_support.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable OpenvSwitch support dependencies in kernel" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware ingress_policy.cfg | ||
5 | kconf non-hardware tun.cfg | ||
diff --git a/features/openvswitch/tun.cfg b/features/openvswitch/tun.cfg new file mode 100644 index 0000000..12009e3 --- /dev/null +++ b/features/openvswitch/tun.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_TUN=m | |||
diff --git a/features/oprofile/oprofile_y.cfg b/features/oprofile/oprofile_y.cfg new file mode 100644 index 0000000..4dc6de9 --- /dev/null +++ b/features/oprofile/oprofile_y.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | CONFIG_PROFILING=y | ||
2 | CONFIG_OPROFILE=y | ||
3 | CONFIG_RING_BUFFER_ALLOW_SWAP=y | ||
4 | CONFIG_PROFILE_ALL_BRANCHES=y | ||
diff --git a/features/oprofile/oprofile_y.scc b/features/oprofile/oprofile_y.scc new file mode 100644 index 0000000..8e1b9ed --- /dev/null +++ b/features/oprofile/oprofile_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable options required for oprofile support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware oprofile_y.cfg | ||
diff --git a/features/overlayfs/overlayfs_m.cfg b/features/overlayfs/overlayfs_m.cfg new file mode 100644 index 0000000..b30428d --- /dev/null +++ b/features/overlayfs/overlayfs_m.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_OVERLAY_FS=m | |||
diff --git a/features/overlayfs/overlayfs_m.scc b/features/overlayfs/overlayfs_m.scc new file mode 100644 index 0000000..7d4491c --- /dev/null +++ b/features/overlayfs/overlayfs_m.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Build overlay FS support as a module" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware overlayfs_m.cfg | ||
diff --git a/features/parport/parport_n.cfg b/features/parport/parport_n.cfg new file mode 100644 index 0000000..1e35578 --- /dev/null +++ b/features/parport/parport_n.cfg | |||
@@ -0,0 +1,8 @@ | |||
1 | CONFIG_PARPORT=n | ||
2 | CONFIG_PARPORT_PC=n | ||
3 | # CONFIG_PARPORT_SERIAL is not set | ||
4 | # CONFIG_PARPORT_PC_FIFO is not set | ||
5 | # CONFIG_PARPORT_PC_SUPERIO is not set | ||
6 | # CONFIG_PARPORT_GSC is not set | ||
7 | # CONFIG_PARPORT_AX88796 is not set | ||
8 | # CONFIG_PARPORT_1284 is not set | ||
diff --git a/features/parport/parport_n.scc b/features/parport/parport_n.scc new file mode 100644 index 0000000..bed7632 --- /dev/null +++ b/features/parport/parport_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable parport support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware parport_n.cfg | ||
diff --git a/features/pci/pci_iov_m.cfg b/features/pci/pci_iov_m.cfg new file mode 100644 index 0000000..c52af46 --- /dev/null +++ b/features/pci/pci_iov_m.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_PCI_IOV=y | |||
diff --git a/features/pci/pci_iov_m.scc b/features/pci/pci_iov_m.scc new file mode 100644 index 0000000..1612c3c --- /dev/null +++ b/features/pci/pci_iov_m.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable PCI I/O access" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware pci_iov_m.cfg | ||
diff --git a/features/pci/pci_iov_y.cfg b/features/pci/pci_iov_y.cfg new file mode 100644 index 0000000..c52af46 --- /dev/null +++ b/features/pci/pci_iov_y.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_PCI_IOV=y | |||
diff --git a/features/pci/pci_iov_y.scc b/features/pci/pci_iov_y.scc new file mode 100644 index 0000000..685f058 --- /dev/null +++ b/features/pci/pci_iov_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable PCI I/O access" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware pci_iov_y.cfg | ||
diff --git a/features/pcimodules/pcimodules_n.cfg b/features/pcimodules/pcimodules_n.cfg new file mode 100644 index 0000000..48fa2a1 --- /dev/null +++ b/features/pcimodules/pcimodules_n.cfg | |||
@@ -0,0 +1,19 @@ | |||
1 | CONFIG_PCI_CNB20LE_QUIRK=n | ||
2 | CONFIG_HOTPLUG_PCI_PCIE=n | ||
3 | CONFIG_PCIEASPM_DEBUG=n | ||
4 | CONFIG_PCI_DEBUG=n | ||
5 | CONFIG_PCI_REALLOC_ENABLE_AUTO=n | ||
6 | CONFIG_PCI_STUB=m | ||
7 | CONFIG_PCI_PRI=n | ||
8 | CONFIG_HOTPLUG_PCI=n | ||
9 | CONFIG_HOTPLUG_PCI_ACPI=n | ||
10 | # CONFIG_HOTPLUG_PCI_ACPI_IBM is not set | ||
11 | CONFIG_HOTPLUG_PCI_CPCI=n | ||
12 | # CONFIG_HOTPLUG_PCI_CPCI_ZT5550 is not set | ||
13 | # CONFIG_HOTPLUG_PCI_CPCI_GENERIC is not set | ||
14 | # CONFIG_HOTPLUG_PCI_SHPC is not set | ||
15 | # | ||
16 | # PCI host controller drivers | ||
17 | # | ||
18 | CONFIG_PCIE_DW_PLAT=n | ||
19 | CONFIG_PCIE_DW=n | ||
diff --git a/features/pcimodules/pcimodules_n.scc b/features/pcimodules/pcimodules_n.scc new file mode 100644 index 0000000..6cad0c5 --- /dev/null +++ b/features/pcimodules/pcimodules_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable pcimodules support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware pcimodules_n.cfg | ||
diff --git a/features/pcspkr/pcspkr_n.cfg b/features/pcspkr/pcspkr_n.cfg new file mode 100644 index 0000000..abd7e6f --- /dev/null +++ b/features/pcspkr/pcspkr_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_PCSPKR_PLATFORM=n | |||
diff --git a/features/pcspkr/pcspkr_n.scc b/features/pcspkr/pcspkr_n.scc new file mode 100644 index 0000000..5cab151 --- /dev/null +++ b/features/pcspkr/pcspkr_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for PC speaker support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware pcspkr_n.cfg | ||
diff --git a/features/perf/perf_n.cfg b/features/perf/perf_n.cfg new file mode 100644 index 0000000..8392495 --- /dev/null +++ b/features/perf/perf_n.cfg | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_CGROUP_PERF=n | ||
2 | CONFIG_PERF_EVENTS=n | ||
diff --git a/features/perf/perf_n.scc b/features/perf/perf_n.scc new file mode 100644 index 0000000..4c5ebaf --- /dev/null +++ b/features/perf/perf_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options required for perf support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware perf_n.cfg | ||
diff --git a/features/perf/perf_y.cfg b/features/perf/perf_y.cfg new file mode 100644 index 0000000..5fddec0 --- /dev/null +++ b/features/perf/perf_y.cfg | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_CGROUP_PERF=y | ||
2 | CONFIG_PERF_EVENTS=y | ||
diff --git a/features/perf/perf_y.scc b/features/perf/perf_y.scc new file mode 100644 index 0000000..173baf5 --- /dev/null +++ b/features/perf/perf_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable options required for perf support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware perf_y.cfg | ||
diff --git a/features/power_supply/power_supply_n.cfg b/features/power_supply/power_supply_n.cfg new file mode 100644 index 0000000..92dec05 --- /dev/null +++ b/features/power_supply/power_supply_n.cfg | |||
@@ -0,0 +1 @@ | |||
ONFIG_POWER_SUPPLY=n | |||
diff --git a/features/power_supply/power_supply_n.scc b/features/power_supply/power_supply_n.scc new file mode 100644 index 0000000..81bce6b --- /dev/null +++ b/features/power_supply/power_supply_n.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable power supply support" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware power_supply_n.cfg | ||
diff --git a/features/powermanagement/powermanagement_n.cfg b/features/powermanagement/powermanagement_n.cfg new file mode 100644 index 0000000..6248144 --- /dev/null +++ b/features/powermanagement/powermanagement_n.cfg | |||
@@ -0,0 +1,15 @@ | |||
1 | CONFIG_PM=n | ||
2 | CONFIG_SUSPEND=n | ||
3 | CONFIG_SUSPEND_FREEZER=n | ||
4 | CONFIG_PM_SLEEP=n | ||
5 | CONFIG_PM_SLEEP_SMP=n | ||
6 | # CONFIG_PM_AUTOSLEEP is not set | ||
7 | # CONFIG_PM_WAKELOCKS is not set | ||
8 | CONFIG_PM_DEBUG=n | ||
9 | CONFIG_PM_ADVANCED_DEBUG=n | ||
10 | # CONFIG_PM_TEST_SUSPEND is not set | ||
11 | CONFIG_PM_SLEEP_DEBUG=n | ||
12 | # CONFIG_PM_TRACE_RTC is not set | ||
13 | # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set | ||
14 | CONFIG_ACPI_SLEEP=n | ||
15 | CONFIG_VT_CONSOLE_SLEEP=n | ||
diff --git a/features/powermanagement/powermanagement_n.scc b/features/powermanagement/powermanagement_n.scc new file mode 100644 index 0000000..23a2be8 --- /dev/null +++ b/features/powermanagement/powermanagement_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for power management support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware powermanagement_n.cfg | ||
diff --git a/features/ppp/ppp_n.cfg b/features/ppp/ppp_n.cfg new file mode 100644 index 0000000..04d84a8 --- /dev/null +++ b/features/ppp/ppp_n.cfg | |||
@@ -0,0 +1,10 @@ | |||
1 | CONFIG_PPP=n | ||
2 | CONFIG_PPP_BSDCOMP=n | ||
3 | CONFIG_PPP_DEFLATE=n | ||
4 | CONFIG_PPP_FILTER=n | ||
5 | # CONFIG_PPP_MPPE is not set | ||
6 | CONFIG_PPP_MULTILINK=n | ||
7 | CONFIG_PPPOE=n | ||
8 | # CONFIG_PPTP is not set | ||
9 | CONFIG_PPP_ASYNC=n | ||
10 | CONFIG_PPP_SYNC_TTY=n | ||
diff --git a/features/ppp/ppp_n.scc b/features/ppp/ppp_n.scc new file mode 100644 index 0000000..3d6a8db --- /dev/null +++ b/features/ppp/ppp_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable ppp support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware ppp_n.cfg | ||
diff --git a/features/printk/printk_n.cfg b/features/printk/printk_n.cfg new file mode 100644 index 0000000..7f0df22 --- /dev/null +++ b/features/printk/printk_n.cfg | |||
@@ -0,0 +1,3 @@ | |||
1 | CONFIG_PRINTK=n | ||
2 | CONFIG_PRINTK_NMI=n | ||
3 | CONFIG_X86_VERBOSE_BOOTUP=n | ||
diff --git a/features/printk/printk_n.scc b/features/printk/printk_n.scc new file mode 100644 index 0000000..3068ffe --- /dev/null +++ b/features/printk/printk_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for printk support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware printk_n.cfg | ||
diff --git a/features/printk/printk_y.cfg b/features/printk/printk_y.cfg new file mode 100644 index 0000000..0fcc9f0 --- /dev/null +++ b/features/printk/printk_y.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | CONFIG_PRINTK=y | ||
2 | CONFIG_PRINTK_NMI=y | ||
3 | CONFIG_EARLY_PRINTK=y | ||
4 | CONFIG_X86_VERBOSE_BOOTUP=y | ||
diff --git a/features/printk/printk_y.scc b/features/printk/printk_y.scc new file mode 100644 index 0000000..7274316 --- /dev/null +++ b/features/printk/printk_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable options for printk support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware printk_y.cfg | ||
diff --git a/features/prockcore/prockcore_n.cfg b/features/prockcore/prockcore_n.cfg new file mode 100644 index 0000000..aa9e6a4 --- /dev/null +++ b/features/prockcore/prockcore_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_PROC_KCORE=n | |||
diff --git a/features/prockcore/prockcore_n.scc b/features/prockcore/prockcore_n.scc new file mode 100644 index 0000000..a2651b5 --- /dev/null +++ b/features/prockcore/prockcore_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable prockcore support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware prockcore_n.cfg | ||
diff --git a/features/rcu/rcu_nocb_y.cfg b/features/rcu/rcu_nocb_y.cfg new file mode 100644 index 0000000..8a00738 --- /dev/null +++ b/features/rcu/rcu_nocb_y.cfg | |||
@@ -0,0 +1,3 @@ | |||
1 | CONFIG_NO_HZ_FULL=y | ||
2 | CONFIG_RCU_EXPERT=y | ||
3 | CONFIG_RCU_NOCB_CPU=y | ||
diff --git a/features/rcu/rcu_nocb_y.scc b/features/rcu/rcu_nocb_y.scc new file mode 100644 index 0000000..dd99a93 --- /dev/null +++ b/features/rcu/rcu_nocb_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable offloading RCU callback processing on specified CPUs" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware rcu_nocb_y.cfg | ||
diff --git a/features/rcudbg/rcudbg_n.cfg b/features/rcudbg/rcudbg_n.cfg new file mode 100644 index 0000000..6d122fd --- /dev/null +++ b/features/rcudbg/rcudbg_n.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | CONFIG_RCU_PERF_TEST=n | ||
2 | CONFIG_RCU_TORTURE_TEST=n | ||
3 | CONFIG_RCU_TRACE=n | ||
4 | CONFIG_RCU_EQS_DEBUG=n | ||
diff --git a/features/rcudbg/rcudbg_n.scc b/features/rcudbg/rcudbg_n.scc new file mode 100644 index 0000000..4d29d10 --- /dev/null +++ b/features/rcudbg/rcudbg_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for RCU debug support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware rcudbg_n.cfg | ||
diff --git a/features/rcudbg/rcudbg_y.cfg b/features/rcudbg/rcudbg_y.cfg new file mode 100644 index 0000000..5a12884 --- /dev/null +++ b/features/rcudbg/rcudbg_y.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | CONFIG_RCU_PERF_TEST=y | ||
2 | CONFIG_RCU_TORTURE_TEST=y | ||
3 | CONFIG_RCU_TRACE=y | ||
4 | CONFIG_RCU_EQS_DEBUG=y | ||
diff --git a/features/rcudbg/rcudbg_y.scc b/features/rcudbg/rcudbg_y.scc new file mode 100644 index 0000000..06c8f66 --- /dev/null +++ b/features/rcudbg/rcudbg_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable options for RCU debug support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware rcudbg_y.cfg | ||
diff --git a/features/reduced_kernel_footprint/reduced_kernel_footprint.scc b/features/reduced_kernel_footprint/reduced_kernel_footprint.scc new file mode 100644 index 0000000..b1c7e4b --- /dev/null +++ b/features/reduced_kernel_footprint/reduced_kernel_footprint.scc | |||
@@ -0,0 +1,66 @@ | |||
1 | # Add standard kernel configuration and XZ kernel compression | ||
2 | include features/std_kernel/std_kernel_y.scc | ||
3 | |||
4 | # Remove all unnecessary kernel feature | ||
5 | include features/accelerometers/accelerometers_n.scc | ||
6 | include features/acp/acp_n.scc | ||
7 | include features/acpi/acpi_n.scc | ||
8 | include features/agp/agp_n.scc | ||
9 | include features/ata/ata_n.scc | ||
10 | include features/backlight/backlight_n.scc | ||
11 | include features/bug_support/bug_support_n.scc | ||
12 | include features/bluetooth/bluetooth_n.scc | ||
13 | include features/bus/pci_cnb20le_n.scc | ||
14 | include features/cdrom/cdrom_n.scc | ||
15 | include features/cdrom_fs/cdrom_fs_n.scc | ||
16 | include features/cgroupdbg/cgroupdbg_n.scc | ||
17 | include features/debug/debug_kernel_n.scc | ||
18 | include features/devcoredump/devcoredump_n.scc | ||
19 | include features/display/display_n.scc | ||
20 | include features/drm/drm_n.scc | ||
21 | include features/elf_core_support/elf_core_support_n.scc | ||
22 | include features/framebuffer/framebuffer_n.scc | ||
23 | include features/ftrace/ftrace_n.scc | ||
24 | include features/hdmi/hdmi_n.scc | ||
25 | include features/hid/hid_n.scc | ||
26 | include features/hidsensor/hidsensor_n.scc | ||
27 | include features/ieee802154/ieee802154_n.scc | ||
28 | include features/inclinometer/inclinometer_n.scc | ||
29 | include features/input/input_n.scc | ||
30 | include features/keyboard/keyboard_n.scc | ||
31 | include features/kgdb/kgdb_n.scc | ||
32 | include features/kprobes/kprobes_n.scc | ||
33 | include features/media/media_n.scc | ||
34 | include features/memorydbg/memorydbg_n.scc | ||
35 | include features/misc/misc_n.scc | ||
36 | include features/mmc/mmc_n.scc | ||
37 | include features/mouse/mouse_n.scc | ||
38 | include features/mousedev/mousedev_n.scc | ||
39 | include features/netdevices/netdevices_n.scc | ||
40 | include features/net/ipv6/sit/sit_n.scc | ||
41 | include features/nfc/nfc_n.scc | ||
42 | include features/powermanagement/powermanagement_n.scc | ||
43 | include features/pcspkr/pcspkr_n.scc | ||
44 | include features/rcudbg/rcudbg_n.scc | ||
45 | include features/rfkill/rfkill_n.scc | ||
46 | include features/runtimetest/runtimetest_n.scc | ||
47 | include features/sound/sound_n.scc | ||
48 | include features/staging/staging_n.scc | ||
49 | include features/tablet/tablet_n.scc | ||
50 | include features/touchscreen/touchscreen_n.scc | ||
51 | include features/tracing/tracing_n.scc | ||
52 | include features/usbGadget/usbgadget_n.scc | ||
53 | include features/wireless/wireless_n.scc | ||
54 | include features/wlan/wlan_n.scc | ||
55 | |||
56 | # Added as loadable module | ||
57 | include features/btrfs/btrfs_m.scc | ||
58 | include features/intel-e1xxxx/e100_m.scc | ||
59 | include features/intel-e1xxxx/e1xxxx_m.scc | ||
60 | include features/ixgbe/ixgbe_m.scc | ||
61 | include features/mdio/mdio_m.scc | ||
62 | include features/mii/mii_m.scc | ||
63 | include features/overlayfs/overlayfs_m.scc | ||
64 | include features/usbnet/usbnet_m.scc | ||
65 | include features/usbsupport/usbsupport_m.scc | ||
66 | include features/xor_blocks/xor_blocks_m.scc | ||
diff --git a/features/reduced_kernel_footprint_guest/reduced_kernel_footprint_guest.scc b/features/reduced_kernel_footprint_guest/reduced_kernel_footprint_guest.scc new file mode 100644 index 0000000..7fae6cd --- /dev/null +++ b/features/reduced_kernel_footprint_guest/reduced_kernel_footprint_guest.scc | |||
@@ -0,0 +1,75 @@ | |||
1 | # Add standard kernel configuration and XZ kernel compression | ||
2 | include features/std_kernel/std_kernel_y.scc | ||
3 | |||
4 | # Disable unnecessary modules | ||
5 | include features/bcma/bcma_n.scc | ||
6 | include features/btrfs/btrfs_n.scc | ||
7 | include features/compilechecks/compilechecks_n.scc | ||
8 | include features/i2csupport/i2csupport_n.scc | ||
9 | include features/isdn/isdn_n.scc | ||
10 | include features/loopdev/loopdev_n.scc | ||
11 | include features/msdos_fat_nt_fs/msdos_fat_nt_fs_n.scc | ||
12 | include features/netblkdev/netblkdev_n.scc | ||
13 | include features/netconsole/netconsole_n.scc | ||
14 | include features/netfilter/netfilter_n.scc | ||
15 | include features/nfs/nfs_n.scc | ||
16 | include features/parport/parport_n.scc | ||
17 | include features/pcimodules/pcimodules_n.scc | ||
18 | include features/ppp/ppp_n.scc | ||
19 | include features/prockcore/prockcore_n.scc | ||
20 | include features/serio/serio_n.scc | ||
21 | include features/slip/slip_n.scc | ||
22 | include features/bug_support/bug_support_n.scc | ||
23 | include features/powermanagement/powermanagement_n.scc | ||
24 | include features/acpi/acpi_n.scc | ||
25 | include features/cpu_freq/cpu_freq_n.scc | ||
26 | include features/bluetooth/bluetooth_n.scc | ||
27 | include features/wireless/wireless_n.scc | ||
28 | include features/rfkill/rfkill_n.scc | ||
29 | include features/6lowpan/6lowpan_n.scc | ||
30 | include features/netdevices/netdevices_n.scc | ||
31 | include features/media/media_n.scc | ||
32 | include features/nfc/nfc_n.scc | ||
33 | include features/sound/sound_n.scc | ||
34 | include features/usbnet/usbnet_n.scc | ||
35 | include features/i2csupport/i2csupport_n.scc | ||
36 | include features/serio/serio_n.scc | ||
37 | include features/tablet/tablet_n.scc | ||
38 | include features/mouse/mouse_n.scc | ||
39 | include features/mousedev/mousedev_n.scc | ||
40 | include features/keyboard/keyboard_n.scc | ||
41 | include features/input/input_n.scc | ||
42 | include features/wlan/wlan_n.scc | ||
43 | include features/ftrace/ftrace_n.scc | ||
44 | include features/debug/debug_kernel_n.scc | ||
45 | include features/ata/ata_n.scc | ||
46 | include features/cdrom/cdrom_n.scc | ||
47 | include features/power_supply/power_supply_n.scc | ||
48 | include features/hwmon/hwmon_n.scc | ||
49 | include features/thermal/thermal_n.scc | ||
50 | include features/usbsupport/usbsupport_n.scc | ||
51 | include features/touchscreen/touchscreen_n.scc | ||
52 | include features/udev/udev_n.scc | ||
53 | include features/kprobes/kprobes_n.scc | ||
54 | include features/acp/acp_n.scc | ||
55 | include features/agp/agp_n.scc | ||
56 | include features/backlight/backlight_n.scc | ||
57 | include features/cdrom_fs/cdrom_fs_n.scc | ||
58 | include features/cgroupdbg/cgroupdbg_n.scc | ||
59 | include features/display/display_n.scc | ||
60 | include features/drm/drm_n.scc | ||
61 | include features/elf_core_support/elf_core_support_n.scc | ||
62 | include features/framebuffer/framebuffer_n.scc | ||
63 | include features/hdmi/hdmi_n.scc | ||
64 | include features/hid/hid_n.scc | ||
65 | include features/kprobes/kprobes_n.scc | ||
66 | include features/mmc/mmc_n.scc | ||
67 | include features/pcspkr/pcspkr_n.scc | ||
68 | include features/watchdog/watchdog_n.scc | ||
69 | include features/vga/vga_n.scc | ||
70 | include features/intel-e1xxxx/e100_n.scc | ||
71 | include features/x86_platform/x86_platform_n.scc | ||
72 | include features/memorydbg/memorydbg_n.scc | ||
73 | include features/perf/perf_n.cfg | ||
74 | include features/kgdb/kgdb_n.cfg | ||
75 | include features/dmiid/dmiid_n.cfg | ||
diff --git a/features/rfkill/rfkill_n.cfg b/features/rfkill/rfkill_n.cfg new file mode 100644 index 0000000..b8de3ec --- /dev/null +++ b/features/rfkill/rfkill_n.cfg | |||
@@ -0,0 +1,3 @@ | |||
1 | CONFIG_RFKILL=n | ||
2 | CONFIG_RFKILL_LEDS=n | ||
3 | CONFIG_RFKILL_INPUT=n | ||
diff --git a/features/rfkill/rfkill_n.scc b/features/rfkill/rfkill_n.scc new file mode 100644 index 0000000..b432c9f --- /dev/null +++ b/features/rfkill/rfkill_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for rfkill support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware rfkill_n.cfg | ||
diff --git a/features/runtimetest/runtimetest_n.cfg b/features/runtimetest/runtimetest_n.cfg new file mode 100644 index 0000000..35ef82b --- /dev/null +++ b/features/runtimetest/runtimetest_n.cfg | |||
@@ -0,0 +1,5 @@ | |||
1 | CONFIG_TEST_LIST_SORT=n | ||
2 | CONFIG_BACKTRACE_SELF_TEST=n | ||
3 | CONFIG_RBTREE_TEST=n | ||
4 | CONFIG_INTERVAL_TREE_TEST=n | ||
5 | CONFIG_PERCPU_TEST=n | ||
diff --git a/features/runtimetest/runtimetest_n.scc b/features/runtimetest/runtimetest_n.scc new file mode 100644 index 0000000..cc25b0b --- /dev/null +++ b/features/runtimetest/runtimetest_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for runtime test support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware runtimetest_n.cfg | ||
diff --git a/features/scsi/scsi_m.cfg b/features/scsi/scsi_m.cfg new file mode 100644 index 0000000..bb7a9a2 --- /dev/null +++ b/features/scsi/scsi_m.cfg | |||
@@ -0,0 +1,5 @@ | |||
1 | CONFIG_BLK_DEV_SD=m | ||
2 | CONFIG_BLK_DEV_SR=m | ||
3 | |||
4 | # Automatically set to =y by CONFIG_BLK_DEV_SR | ||
5 | CONFIG_BLK_DEV_SR_VENDOR=y | ||
diff --git a/features/scsi/scsi_m.scc b/features/scsi/scsi_m.scc new file mode 100644 index 0000000..5c64d79 --- /dev/null +++ b/features/scsi/scsi_m.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable SCSI support as module" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware scsi_m.cfg | ||
diff --git a/features/scsi/scsi_y.cfg b/features/scsi/scsi_y.cfg new file mode 100644 index 0000000..e52d277 --- /dev/null +++ b/features/scsi/scsi_y.cfg | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_SCSI=y | ||
2 | CONFIG_BLK_DEV_SD=y | ||
diff --git a/features/scsi/scsi_y.scc b/features/scsi/scsi_y.scc new file mode 100644 index 0000000..aca2e19 --- /dev/null +++ b/features/scsi/scsi_y.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Set SCSI block device support as built in" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware scsi_y.cfg | ||
diff --git a/features/serio/serio_n.cfg b/features/serio/serio_n.cfg new file mode 100644 index 0000000..c505fdd --- /dev/null +++ b/features/serio/serio_n.cfg | |||
@@ -0,0 +1,15 @@ | |||
1 | # | ||
2 | # Hardware I/O ports | ||
3 | # | ||
4 | CONFIG_SERIO=n | ||
5 | CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=n | ||
6 | CONFIG_SERIO_I8042=n | ||
7 | CONFIG_SERIO_SERPORT=n | ||
8 | # CONFIG_SERIO_CT82C710 is not set | ||
9 | # CONFIG_SERIO_PCIPS2 is not set | ||
10 | # CONFIG_SERIO_LIBPS2 is not set | ||
11 | # CONFIG_SERIO_RAW is not set | ||
12 | # CONFIG_SERIO_ALTERA_PS2 is not set | ||
13 | # CONFIG_SERIO_PS2MULT is not set | ||
14 | # CONFIG_SERIO_ARC_PS2 is not set | ||
15 | # CONFIG_USERIO is not set | ||
diff --git a/features/serio/serio_n.scc b/features/serio/serio_n.scc new file mode 100644 index 0000000..389bf1e --- /dev/null +++ b/features/serio/serio_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable serio support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware serio_n.cfg | ||
diff --git a/features/slip/slip_n.cfg b/features/slip/slip_n.cfg new file mode 100644 index 0000000..b5cbd33 --- /dev/null +++ b/features/slip/slip_n.cfg | |||
@@ -0,0 +1,5 @@ | |||
1 | CONFIG_SLIP=n | ||
2 | CONFIG_SLHC=n | ||
3 | CONFIG_SLIP_COMPRESSED=n | ||
4 | CONFIG_SLIP_SMART=n | ||
5 | CONFIG_SLIP_MODE_SLIP6=n | ||
diff --git a/features/slip/slip_n.scc b/features/slip/slip_n.scc new file mode 100644 index 0000000..27b54c8 --- /dev/null +++ b/features/slip/slip_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable slip support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware slip_n.cfg | ||
diff --git a/features/sound/sound_n.cfg b/features/sound/sound_n.cfg new file mode 100644 index 0000000..1b78ce9 --- /dev/null +++ b/features/sound/sound_n.cfg | |||
@@ -0,0 +1,291 @@ | |||
1 | CONFIG_SOUND=n | ||
2 | # CONFIG_SOUND_OSS_CORE is not set | ||
3 | CONFIG_SND=n | ||
4 | CONFIG_SND_TIMER=n | ||
5 | CONFIG_SND_PCM=n | ||
6 | CONFIG_SND_PCM_ELD=n | ||
7 | CONFIG_SND_HWDEP=n | ||
8 | CONFIG_SND_RAWMIDI=n | ||
9 | CONFIG_SND_COMPRESS_OFFLOAD=n | ||
10 | CONFIG_SND_JACK=n | ||
11 | CONFIG_SND_JACK_INPUT_DEV=n | ||
12 | CONFIG_SND_SEQUENCER=n | ||
13 | # CONFIG_SND_SEQ_DUMMY is not set | ||
14 | # CONFIG_SND_MIXER_OSS is not set | ||
15 | # CONFIG_SND_PCM_OSS is not set | ||
16 | CONFIG_SND_PCM_TIMER=n | ||
17 | # CONFIG_SND_SEQUENCER_OSS is not set | ||
18 | CONFIG_SND_HRTIMER=n | ||
19 | CONFIG_SND_SEQ_HRTIMER_DEFAULT=n | ||
20 | CONFIG_SND_DYNAMIC_MINORS=n | ||
21 | CONFIG_SND_MAX_CARDS=32 | ||
22 | # CONFIG_SND_SUPPORT_OLD_API is not set | ||
23 | CONFIG_SND_PROC_FS=n | ||
24 | CONFIG_SND_VERBOSE_PROCFS=n | ||
25 | # CONFIG_SND_VERBOSE_PRINTK is not set | ||
26 | # CONFIG_SND_DEBUG is not set | ||
27 | CONFIG_SND_VMASTER=n | ||
28 | CONFIG_SND_DMA_SGBUF=n | ||
29 | CONFIG_SND_RAWMIDI_SEQ=n | ||
30 | CONFIG_SND_OPL3_LIB_SEQ=n | ||
31 | # CONFIG_SND_OPL4_LIB_SEQ is not set | ||
32 | # CONFIG_SND_SBAWE_SEQ is not set | ||
33 | CONFIG_SND_EMU10K1_SEQ=n | ||
34 | CONFIG_SND_MPU401_UART=n | ||
35 | CONFIG_SND_OPL3_LIB=n | ||
36 | CONFIG_SND_AC97_CODEC=n | ||
37 | CONFIG_SND_DRIVERS=n | ||
38 | # CONFIG_SND_PCSP is not set | ||
39 | # CONFIG_SND_DUMMY is not set | ||
40 | CONFIG_SND_ALOOP=n | ||
41 | # CONFIG_SND_VIRMIDI is not set | ||
42 | # CONFIG_SND_MTPAV is not set | ||
43 | # CONFIG_SND_MTS64 is not set | ||
44 | # CONFIG_SND_SERIAL_U16550 is not set | ||
45 | # CONFIG_SND_MPU401 is not set | ||
46 | # CONFIG_SND_PORTMAN2X4 is not set | ||
47 | CONFIG_SND_AC97_POWER_SAVE=n | ||
48 | CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 | ||
49 | CONFIG_SND_PCI=n | ||
50 | # CONFIG_SND_AD1889 is not set | ||
51 | # CONFIG_SND_ALS300 is not set | ||
52 | # CONFIG_SND_ALS4000 is not set | ||
53 | # CONFIG_SND_ALI5451 is not set | ||
54 | # CONFIG_SND_ASIHPI is not set | ||
55 | CONFIG_SND_ATIIXP=n | ||
56 | CONFIG_SND_ATIIXP_MODEM=n | ||
57 | # CONFIG_SND_AU8810 is not set | ||
58 | # CONFIG_SND_AU8820 is not set | ||
59 | # CONFIG_SND_AU8830 is not set | ||
60 | # CONFIG_SND_AW2 is not set | ||
61 | # CONFIG_SND_AZT3328 is not set | ||
62 | # CONFIG_SND_BT87X is not set | ||
63 | CONFIG_SND_CA0106=n | ||
64 | CONFIG_SND_CMIPCI=n | ||
65 | CONFIG_SND_OXYGEN_LIB=n | ||
66 | CONFIG_SND_OXYGEN=n | ||
67 | # CONFIG_SND_CS4281 is not set | ||
68 | # CONFIG_SND_CS46XX is not set | ||
69 | CONFIG_SND_CTXFI=n | ||
70 | # CONFIG_SND_DARLA20 is not set | ||
71 | # CONFIG_SND_GINA20 is not set | ||
72 | # CONFIG_SND_LAYLA20 is not set | ||
73 | |||
74 | # CONFIG_SND_INDIGODJ is not set | ||
75 | # CONFIG_SND_INDIGOIOX is not set | ||
76 | # CONFIG_SND_INDIGODJX is not set | ||
77 | CONFIG_SND_EMU10K1=n | ||
78 | CONFIG_SND_EMU10K1X=n | ||
79 | # CONFIG_SND_ENS1370 is not set | ||
80 | # CONFIG_SND_ENS1371 is not set | ||
81 | # CONFIG_SND_ES1938 is not set | ||
82 | # CONFIG_SND_ES1968 is not set | ||
83 | # CONFIG_SND_FM801 is not set | ||
84 | CONFIG_SND_HDSP=n | ||
85 | CONFIG_SND_HDSPM=n | ||
86 | CONFIG_SND_ICE1712=n | ||
87 | CONFIG_SND_ICE1724=n | ||
88 | CONFIG_SND_INTEL8X0=n | ||
89 | # CONFIG_SND_INTEL8X0M is not set | ||
90 | # CONFIG_SND_KORG1212 is not set | ||
91 | # CONFIG_SND_LOLA is not set | ||
92 | # CONFIG_SND_LX6464ES is not set | ||
93 | # CONFIG_SND_MAESTRO3 is not set | ||
94 | # CONFIG_SND_MIXART is not set | ||
95 | # CONFIG_SND_NM256 is not set | ||
96 | # CONFIG_SND_PCXHR is not set | ||
97 | |||
98 | # HD-Audio | ||
99 | # | ||
100 | CONFIG_SND_HDA=n | ||
101 | CONFIG_SND_HDA_INTEL=n | ||
102 | # CONFIG_SND_HDA_HWDEP is not set | ||
103 | # CONFIG_SND_HDA_RECONFIG is not set | ||
104 | # CONFIG_SND_HDA_INPUT_BEEP is not set | ||
105 | # CONFIG_SND_HDA_PATCH_LOADER is not set | ||
106 | CONFIG_SND_HDA_CODEC_REALTEK=n | ||
107 | CONFIG_SND_HDA_CODEC_ANALOG=n | ||
108 | CONFIG_SND_HDA_CODEC_SIGMATEL=n | ||
109 | CONFIG_SND_HDA_CODEC_VIA=n | ||
110 | CONFIG_SND_HDA_CODEC_HDMI=n | ||
111 | CONFIG_SND_HDA_CODEC_CIRRUS=n | ||
112 | CONFIG_SND_HDA_CODEC_CONEXANT=n | ||
113 | CONFIG_SND_HDA_CODEC_CA0110=n | ||
114 | CONFIG_SND_HDA_CODEC_CA0132=n | ||
115 | # CONFIG_SND_HDA_CODEC_CA0132_DSP is not set | ||
116 | CONFIG_SND_HDA_CODEC_CMEDIA=n | ||
117 | CONFIG_SND_HDA_CODEC_SI3054=n | ||
118 | CONFIG_SND_HDA_GENERIC=n | ||
119 | CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 | ||
120 | CONFIG_SND_HDA_CORE=n | ||
121 | CONFIG_SND_HDA_DSP_LOADER=n | ||
122 | CONFIG_SND_HDA_I915=n | ||
123 | CONFIG_SND_HDA_EXT_CORE=n | ||
124 | CONFIG_SND_HDA_PREALLOC_SIZE=64 | ||
125 | CONFIG_SND_SPI=n | ||
126 | CONFIG_SND_USB=n | ||
127 | CONFIG_SND_USB_AUDIO=n | ||
128 | # CONFIG_SND_USB_UA101 is not set | ||
129 | CONFIG_SND_USB_USX2Y=n | ||
130 | # CONFIG_SND_USB_CAIAQ is not set | ||
131 | CONFIG_SND_USB_US122L=n | ||
132 | # CONFIG_SND_USB_6FIRE is not set | ||
133 | CONFIG_SND_USB_HIFACE=n | ||
134 | # CONFIG_SND_BCD2000 is not set | ||
135 | # CONFIG_SND_USB_POD is not set | ||
136 | # CONFIG_SND_USB_PODHD is not set | ||
137 | # CONFIG_SND_USB_TONEPORT is not set | ||
138 | # CONFIG_SND_USB_VARIAX is not set | ||
139 | CONFIG_SND_SOC=n | ||
140 | CONFIG_SND_SOC_AC97_BUS=n | ||
141 | CONFIG_SND_SOC_COMPRESS=n | ||
142 | CONFIG_SND_SOC_TOPOLOGY=n | ||
143 | CONFIG_SND_SOC_AMD_ACP=n | ||
144 | # CONFIG_SND_ATMEL_SOC is not set | ||
145 | # CONFIG_SND_DESIGNWARE_I2S is not set | ||
146 | |||
147 | # | ||
148 | # Common SoC Audio options for Freescale CPUs: | ||
149 | # | ||
150 | # CONFIG_SND_SOC_FSL_ASRC is not set | ||
151 | # CONFIG_SND_SOC_FSL_SAI is not set | ||
152 | # CONFIG_SND_SOC_FSL_SSI is not set | ||
153 | # CONFIG_SND_SOC_FSL_SPDIF is not set | ||
154 | # CONFIG_SND_SOC_FSL_ESAI is not set | ||
155 | # CONFIG_SND_SOC_IMX_AUDMUX is not set | ||
156 | # CONFIG_SND_SOC_IMG is not set | ||
157 | CONFIG_SND_SST_MFLD_PLATFORM=n | ||
158 | CONFIG_SND_SST_IPC=n | ||
159 | CONFIG_SND_SST_IPC_ACPI=n | ||
160 | CONFIG_SND_SOC_INTEL_SST=n | ||
161 | CONFIG_SND_SOC_INTEL_SST_FIRMWARE=n | ||
162 | CONFIG_SND_SOC_INTEL_SST_ACPI=n | ||
163 | CONFIG_SND_SOC_INTEL_SST_MATCH=n | ||
164 | CONFIG_SND_SOC_INTEL_HASWELL=n | ||
165 | CONFIG_SND_SOC_INTEL_HASWELL_MACH=n | ||
166 | CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH=n | ||
167 | # CONFIG_SND_SOC_INTEL_BXT_FLORIDA_MACH is not set | ||
168 | CONFIG_SND_SOC_INTEL_BXT_RT298_MACH=n | ||
169 | # CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH is not set | ||
170 | CONFIG_SND_SOC_INTEL_BROADWELL_MACH=n | ||
171 | CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=n | ||
172 | CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=n | ||
173 | CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=n | ||
174 | CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=n | ||
175 | CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=n | ||
176 | CONFIG_SND_SOC_INTEL_SKYLAKE=n | ||
177 | CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=n | ||
178 | CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH=n | ||
179 | CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH=n | ||
180 | # CONFIG_SND_SOC_XTFPGA_I2S is not set | ||
181 | CONFIG_SND_SOC_I2C_AND_SPI=n | ||
182 | |||
183 | # | ||
184 | # CODEC drivers | ||
185 | # | ||
186 | CONFIG_SND_SOC_AC97_CODEC=n | ||
187 | # CONFIG_SND_SOC_ADAU1701 is not set | ||
188 | # CONFIG_SND_SOC_ADAU7002 is not set | ||
189 | CONFIG_SND_SOC_AK4104=n | ||
190 | CONFIG_SND_SOC_AK4554=n | ||
191 | CONFIG_SND_SOC_AK4613=n | ||
192 | CONFIG_SND_SOC_AK4642=n | ||
193 | CONFIG_SND_SOC_AK5386=n | ||
194 | CONFIG_SND_SOC_ALC5623=n | ||
195 | # CONFIG_SND_SOC_BT_SCO is not set | ||
196 | CONFIG_SND_SOC_CS35L32=n | ||
197 | CONFIG_SND_SOC_CS35L33=n | ||
198 | CONFIG_SND_SOC_CS42L51=n | ||
199 | CONFIG_SND_SOC_CS42L51_I2C=n | ||
200 | CONFIG_SND_SOC_CS42L52=n | ||
201 | CONFIG_SND_SOC_CS42L56=n | ||
202 | CONFIG_SND_SOC_CS42L73=n | ||
203 | CONFIG_SND_SOC_CS4265=n | ||
204 | CONFIG_SND_SOC_CS4270=n | ||
205 | CONFIG_SND_SOC_CS4271=n | ||
206 | CONFIG_SND_SOC_CS4271_I2C=n | ||
207 | CONFIG_SND_SOC_CS4271_SPI=n | ||
208 | CONFIG_SND_SOC_CS42XX8=n | ||
209 | CONFIG_SND_SOC_CS42XX8_I2C=n | ||
210 | CONFIG_SND_SOC_CS4349=n | ||
211 | CONFIG_SND_SOC_CS53L30=n | ||
212 | CONFIG_SND_SOC_DA7219=n | ||
213 | CONFIG_SND_SOC_DMIC=n | ||
214 | # CONFIG_SND_SOC_ES8328 is not set | ||
215 | # CONFIG_SND_SOC_GTM601 is not set | ||
216 | CONFIG_SND_SOC_HDAC_HDMI=n | ||
217 | # CONFIG_SND_SOC_INNO_RK3036 is not set | ||
218 | CONFIG_SND_SOC_MAX98090=n | ||
219 | CONFIG_SND_SOC_MAX98357A=n | ||
220 | # CONFIG_SND_SOC_MAX98504 is not set | ||
221 | # CONFIG_SND_SOC_MAX9860 is not set | ||
222 | CONFIG_SND_SOC_PCM1681=n | ||
223 | CONFIG_SND_SOC_PCM179X=n | ||
224 | CONFIG_SND_SOC_PCM179X_I2C=n | ||
225 | CONFIG_SND_SOC_PCM179X_SPI=n | ||
226 | CONFIG_SND_SOC_PCM3168A=n | ||
227 | CONFIG_SND_SOC_PCM3168A_I2C=n | ||
228 | CONFIG_SND_SOC_PCM3168A_SPI=n | ||
229 | CONFIG_SND_SOC_PCM512x=n | ||
230 | CONFIG_SND_SOC_PCM512x_I2C=n | ||
231 | CONFIG_SND_SOC_PCM512x_SPI=n | ||
232 | CONFIG_SND_SOC_RL6231=n | ||
233 | CONFIG_SND_SOC_RL6347A=n | ||
234 | CONFIG_SND_SOC_RT286=n | ||
235 | CONFIG_SND_SOC_RT298=n | ||
236 | CONFIG_SND_SOC_RT5616=n | ||
237 | CONFIG_SND_SOC_RT5631=n | ||
238 | CONFIG_SND_SOC_RT5640=n | ||
239 | CONFIG_SND_SOC_RT5645=n | ||
240 | CONFIG_SND_SOC_RT5651=n | ||
241 | CONFIG_SND_SOC_RT5663=n | ||
242 | CONFIG_SND_SOC_RT5670=n | ||
243 | # CONFIG_SND_SOC_RT5677_SPI is not set | ||
244 | # CONFIG_SND_SOC_SGTL5000 is not set | ||
245 | # CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set | ||
246 | CONFIG_SND_SOC_SPDIF=n | ||
247 | # CONFIG_SND_SOC_SSM2602_SPI is not set | ||
248 | # CONFIG_SND_SOC_SSM2602_I2C is not set | ||
249 | CONFIG_SND_SOC_SSM4567=n | ||
250 | # CONFIG_SND_SOC_STA32X is not set | ||
251 | # CONFIG_SND_SOC_STA350 is not set | ||
252 | # CONFIG_SND_SOC_STI_SAS is not set | ||
253 | # CONFIG_SND_SOC_TAS2552 is not set | ||
254 | # CONFIG_SND_SOC_TAS5086 is not set | ||
255 | # CONFIG_SND_SOC_TAS571X is not set | ||
256 | # CONFIG_SND_SOC_TAS5720 is not set | ||
257 | # CONFIG_SND_SOC_TFA9879 is not set | ||
258 | # CONFIG_SND_SOC_TLV320AIC23_I2C is not set | ||
259 | # CONFIG_SND_SOC_TLV320AIC23_SPI is not set | ||
260 | CONFIG_SND_SOC_TLV320AIC31XX=n | ||
261 | CONFIG_SND_SOC_TLV320AIC3X=n | ||
262 | CONFIG_SND_SOC_TS3A227E=n | ||
263 | CONFIG_SND_SOC_WM8510=n | ||
264 | CONFIG_SND_SOC_WM8523=n | ||
265 | CONFIG_SND_SOC_WM8580=n | ||
266 | CONFIG_SND_SOC_WM8711=n | ||
267 | CONFIG_SND_SOC_WM8728=n | ||
268 | CONFIG_SND_SOC_WM8731=n | ||
269 | CONFIG_SND_SOC_WM8737=n | ||
270 | CONFIG_SND_SOC_WM8741=n | ||
271 | CONFIG_SND_SOC_WM8750=n | ||
272 | CONFIG_SND_SOC_WM8753=n | ||
273 | CONFIG_SND_SOC_WM8770=n | ||
274 | CONFIG_SND_SOC_WM8776=n | ||
275 | CONFIG_SND_SOC_WM8804=n | ||
276 | CONFIG_SND_SOC_WM8804_I2C=n | ||
277 | CONFIG_SND_SOC_WM8804_SPI=n | ||
278 | CONFIG_SND_SOC_WM8903=n | ||
279 | CONFIG_SND_SOC_WM8960=n | ||
280 | CONFIG_SND_SOC_WM8962=n | ||
281 | CONFIG_SND_SOC_WM8974=n | ||
282 | CONFIG_SND_SOC_WM8978=n | ||
283 | CONFIG_SND_SOC_WM8985=n | ||
284 | # CONFIG_SND_SOC_NAU8810 is not set | ||
285 | CONFIG_SND_SOC_NAU8825=n | ||
286 | CONFIG_SND_SOC_TPA6130A2=n | ||
287 | CONFIG_SND_SIMPLE_CARD_UTILS=n | ||
288 | CONFIG_SND_SIMPLE_CARD=n | ||
289 | # CONFIG_SOUND_PRIME is not set | ||
290 | CONFIG_AC97_BUS=n | ||
291 | |||
diff --git a/features/sound/sound_n.scc b/features/sound/sound_n.scc new file mode 100644 index 0000000..492c5f1 --- /dev/null +++ b/features/sound/sound_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for sound support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware sound_n.cfg | ||
diff --git a/features/staging/staging_n.cfg b/features/staging/staging_n.cfg new file mode 100644 index 0000000..953cb8e --- /dev/null +++ b/features/staging/staging_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_STAGING=n | |||
diff --git a/features/staging/staging_n.scc b/features/staging/staging_n.scc new file mode 100644 index 0000000..68bb566 --- /dev/null +++ b/features/staging/staging_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for staging driver support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware staging_n.cfg | ||
diff --git a/features/std_kernel/std_kernel_y.cfg b/features/std_kernel/std_kernel_y.cfg new file mode 100644 index 0000000..ffb9dca --- /dev/null +++ b/features/std_kernel/std_kernel_y.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_EXPERT=y | |||
diff --git a/features/std_kernel/std_kernel_y.scc b/features/std_kernel/std_kernel_y.scc new file mode 100644 index 0000000..6e1806b --- /dev/null +++ b/features/std_kernel/std_kernel_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable expert options for kernel configuration" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware std_kernel_y.cfg | ||
diff --git a/features/systemtap/systemtap_y.cfg b/features/systemtap/systemtap_y.cfg new file mode 100644 index 0000000..c858a5c --- /dev/null +++ b/features/systemtap/systemtap_y.cfg | |||
@@ -0,0 +1,5 @@ | |||
1 | CONFIG_KPROBES=y | ||
2 | CONFIG_RELAY=y | ||
3 | CONFIG_DEBUG_FS=y | ||
4 | CONFIG_MODULES=y | ||
5 | CONFIG_MODULE_UNLOAD=y | ||
diff --git a/features/systemtap/systemtap_y.scc b/features/systemtap/systemtap_y.scc new file mode 100644 index 0000000..ab4e758 --- /dev/null +++ b/features/systemtap/systemtap_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable options required for systemtap support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware systemtap_y.cfg | ||
diff --git a/features/tablet/tablet_n.cfg b/features/tablet/tablet_n.cfg new file mode 100644 index 0000000..84855db --- /dev/null +++ b/features/tablet/tablet_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_INPUT_TABLET=n | |||
diff --git a/features/tablet/tablet_n.scc b/features/tablet/tablet_n.scc new file mode 100644 index 0000000..5f0f5a2 --- /dev/null +++ b/features/tablet/tablet_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for tablet input support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware tablet_n.cfg | ||
diff --git a/features/thermal/thermal_n.cfg b/features/thermal/thermal_n.cfg new file mode 100644 index 0000000..faa4970 --- /dev/null +++ b/features/thermal/thermal_n.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | CONFIG_THERMAL=n | ||
2 | CONFIG_THERMAL_WRITABLE_TRIPS=n | ||
3 | CONFIG_THERMAL_GOV_USER_SPACE=n | ||
4 | CONFIG_X86_PKG_TEMP_THERMAL=n | ||
diff --git a/features/thermal/thermal_n.scc b/features/thermal/thermal_n.scc new file mode 100644 index 0000000..cccc945 --- /dev/null +++ b/features/thermal/thermal_n.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable thermal sysfs support" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware thermal_n.cfg | ||
diff --git a/features/touchscreen/touchscreen_n.cfg b/features/touchscreen/touchscreen_n.cfg new file mode 100644 index 0000000..1630480 --- /dev/null +++ b/features/touchscreen/touchscreen_n.cfg | |||
@@ -0,0 +1,22 @@ | |||
1 | CONFIG_INPUT_TOUCHSCREEN=n | ||
2 | CONFIG_TOUCHSCREEN_PROPERTIES=n | ||
3 | |||
4 | CONFIG_TOUCHSCREEN_USB_COMPOSITE=n | ||
5 | CONFIG_TOUCHSCREEN_USB_EGALAX=n | ||
6 | CONFIG_TOUCHSCREEN_USB_PANJIT=n | ||
7 | CONFIG_TOUCHSCREEN_USB_3M=n | ||
8 | CONFIG_TOUCHSCREEN_USB_ITM=n | ||
9 | CONFIG_TOUCHSCREEN_USB_ETURBO=n | ||
10 | CONFIG_TOUCHSCREEN_USB_GUNZE=n | ||
11 | CONFIG_TOUCHSCREEN_USB_DMC_TSC10=n | ||
12 | CONFIG_TOUCHSCREEN_USB_IRTOUCH=n | ||
13 | CONFIG_TOUCHSCREEN_USB_IDEALTEK=n | ||
14 | CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=n | ||
15 | CONFIG_TOUCHSCREEN_USB_GOTOP=n | ||
16 | CONFIG_TOUCHSCREEN_USB_JASTEC=n | ||
17 | CONFIG_TOUCHSCREEN_USB_ELO=n | ||
18 | CONFIG_TOUCHSCREEN_USB_E2I=n | ||
19 | CONFIG_TOUCHSCREEN_USB_ZYTRONIC=n | ||
20 | CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=n | ||
21 | CONFIG_TOUCHSCREEN_USB_NEXIO=n | ||
22 | CONFIG_TOUCHSCREEN_USB_EASYTOUCH=n | ||
diff --git a/features/touchscreen/touchscreen_n.scc b/features/touchscreen/touchscreen_n.scc new file mode 100644 index 0000000..f03252b --- /dev/null +++ b/features/touchscreen/touchscreen_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for touchscreen input support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware touchscreen_n.cfg | ||
diff --git a/features/tracing/tracing_n.cfg b/features/tracing/tracing_n.cfg new file mode 100644 index 0000000..3f020a8 --- /dev/null +++ b/features/tracing/tracing_n.cfg | |||
@@ -0,0 +1,7 @@ | |||
1 | CONFIG_NOP_TRACER=n | ||
2 | CONFIG_TRACE_CLOCK=n | ||
3 | CONFIG_RING_BUFFER=n | ||
4 | CONFIG_EVENT_TRACING=n | ||
5 | CONFIG_CONTEXT_SWITCH_TRACER=n | ||
6 | CONFIG_TRACING=n | ||
7 | CONFIG_GENERIC_TRACER=n | ||
diff --git a/features/tracing/tracing_n.scc b/features/tracing/tracing_n.scc new file mode 100644 index 0000000..1a6657a --- /dev/null +++ b/features/tracing/tracing_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for tracing support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware tracing_n.cfg | ||
diff --git a/features/tracing/tracing_y.cfg b/features/tracing/tracing_y.cfg new file mode 100644 index 0000000..5fad689 --- /dev/null +++ b/features/tracing/tracing_y.cfg | |||
@@ -0,0 +1,7 @@ | |||
1 | CONFIG_NOP_TRACER=y | ||
2 | CONFIG_TRACE_CLOCK=y | ||
3 | CONFIG_RING_BUFFER=y | ||
4 | CONFIG_EVENT_TRACING=y | ||
5 | CONFIG_CONTEXT_SWITCH_TRACER=y | ||
6 | CONFIG_TRACING=y | ||
7 | CONFIG_GENERIC_TRACER=y | ||
diff --git a/features/tracing/tracing_y.scc b/features/tracing/tracing_y.scc new file mode 100644 index 0000000..be15540 --- /dev/null +++ b/features/tracing/tracing_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable options for tracing support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware tracing_n.cfg | ||
diff --git a/features/udev/udev.cfg b/features/udev/udev.cfg new file mode 100644 index 0000000..08dc3b0 --- /dev/null +++ b/features/udev/udev.cfg | |||
@@ -0,0 +1,28 @@ | |||
1 | CONFIG_DEVTMPFS=y | ||
2 | CONFIG_CGROUPS=y | ||
3 | CONFIG_INOTIFY_USER=y | ||
4 | CONFIG_SIGNALFD=y | ||
5 | CONFIG_TIMERFD=y | ||
6 | CONFIG_EPOLL=y | ||
7 | CONFIG_NET=y | ||
8 | CONFIG_SYSFS=y | ||
9 | CONFIG_PROC_FS=y | ||
10 | CONFIG_FHANDLE=y | ||
11 | |||
12 | CONFIG_SYSFS_DEPRECATED=n | ||
13 | |||
14 | CONFIG_UEVENT_HELPER_PATH="" | ||
15 | |||
16 | CONFIG_FW_LOADER_USER_HELPER=n | ||
17 | |||
18 | CONFIG_DMIID=y | ||
19 | |||
20 | CONFIG_BLK_DEV_BSG=y | ||
21 | |||
22 | CONFIG_NET_NS=y | ||
23 | CONFIG_DEVPTS_MULTIPLE_INSTANCES=y | ||
24 | CONFIG_USER_NS=y | ||
25 | |||
26 | CONFIG_CGROUP_SCHED=y | ||
27 | CONFIG_FAIR_GROUP_SCHED=y | ||
28 | CONFIG_CFS_BANDWIDTH=y | ||
diff --git a/features/udev/udev.scc b/features/udev/udev.scc new file mode 100644 index 0000000..089ca2e --- /dev/null +++ b/features/udev/udev.scc | |||
@@ -0,0 +1,7 @@ | |||
1 | define KFEATURE_DESCRIPTION "UDEV specific kernel configs: https://github.com/systemd/systemd/blob/master/README" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware udev.cfg | ||
5 | kconf non-hardware udev_crypto.cfg | ||
6 | kconf non-hardware udev_uefi.cfg | ||
7 | kconf non-hardware udev_opt.cfg | ||
diff --git a/features/udev/udev_crypto.cfg b/features/udev/udev_crypto.cfg new file mode 100644 index 0000000..1e0be79 --- /dev/null +++ b/features/udev/udev_crypto.cfg | |||
@@ -0,0 +1,3 @@ | |||
1 | CONFIG_CRYPTO_USER_API_HASH=y | ||
2 | CONFIG_CRYPTO_HMAC=y | ||
3 | CONFIG_CRYPTO_SHA256=y | ||
diff --git a/features/udev/udev_crypto.scc b/features/udev/udev_crypto.scc new file mode 100644 index 0000000..9c019a6 --- /dev/null +++ b/features/udev/udev_crypto.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "UDEV kernels config to support crypto" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware udev_crypto.cfg | ||
diff --git a/features/udev/udev_n.cfg b/features/udev/udev_n.cfg new file mode 100644 index 0000000..ef9e6d4 --- /dev/null +++ b/features/udev/udev_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_UEVENT_HELPER=n | |||
diff --git a/features/udev/udev_n.scc b/features/udev/udev_n.scc new file mode 100644 index 0000000..bfaa194 --- /dev/null +++ b/features/udev/udev_n.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable udev support" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware udev_n.cfg | ||
diff --git a/features/udev/udev_opt.cfg b/features/udev/udev_opt.cfg new file mode 100644 index 0000000..d08e36a --- /dev/null +++ b/features/udev/udev_opt.cfg | |||
@@ -0,0 +1,10 @@ | |||
1 | CONFIG_IPV6=y | ||
2 | CONFIG_AUTOFS4_FS=y | ||
3 | CONFIG_TMPFS_XATTR=y | ||
4 | CONFIG_TMPFS_POSIX_ACL=y | ||
5 | CONFIG_EXT4_POSIX_ACL=y | ||
6 | CONFIG_XFS_ACL=y | ||
7 | CONFIG_BTRFS_FS_POSIX_ACL=y | ||
8 | CONFIG_SECCOMP=y | ||
9 | CONFIG_SECCOMP_FILTER=y | ||
10 | CONFIG_CHECKPOINT_RESTORE=y | ||
diff --git a/features/udev/udev_opt.scc b/features/udev/udev_opt.scc new file mode 100644 index 0000000..dc1b86a --- /dev/null +++ b/features/udev/udev_opt.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Optional UDEV kernel configs" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware udev_opt.cfg | ||
diff --git a/features/udev/udev_uefi.cfg b/features/udev/udev_uefi.cfg new file mode 100644 index 0000000..ec2aa3e --- /dev/null +++ b/features/udev/udev_uefi.cfg | |||
@@ -0,0 +1,2 @@ | |||
1 | CONFIG_EFIVAR_FS=y | ||
2 | CONFIG_EFI_PARTITION=y | ||
diff --git a/features/udev/udev_uefi.scc b/features/udev/udev_uefi.scc new file mode 100644 index 0000000..bda289e --- /dev/null +++ b/features/udev/udev_uefi.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "kernel configs for UDEV with UEFI support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware udev_uefi.cfg | ||
diff --git a/features/uio/uio_pci_m.cfg b/features/uio/uio_pci_m.cfg new file mode 100644 index 0000000..46f7ab7 --- /dev/null +++ b/features/uio/uio_pci_m.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_UIO_PCI_GENERIC=m | |||
diff --git a/features/uio/uio_pci_m.scc b/features/uio/uio_pci_m.scc new file mode 100644 index 0000000..5103637 --- /dev/null +++ b/features/uio/uio_pci_m.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable user space I/O access" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware uio_pci_m.cfg | ||
diff --git a/features/usb/ohci_m.cfg b/features/usb/ohci_m.cfg new file mode 100644 index 0000000..4b21a91 --- /dev/null +++ b/features/usb/ohci_m.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | CONFIG_USB_OHCI_HCD=m | ||
2 | CONFIG_USB_OHCI_HCD_PCI=m | ||
3 | CONFIG_USB_OHCI_HCD_PLATFORM=m | ||
4 | CONFIG_USB_UHCI_HCD=m | ||
diff --git a/features/usb/ohci_m.scc b/features/usb/ohci_m.scc new file mode 100644 index 0000000..43544cb --- /dev/null +++ b/features/usb/ohci_m.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable OHCI as module" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware ohci_m.cfg | ||
diff --git a/features/usb/usb_storage_m.cfg b/features/usb/usb_storage_m.cfg new file mode 100644 index 0000000..c99c095 --- /dev/null +++ b/features/usb/usb_storage_m.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_USB_STORAGE=m | |||
diff --git a/features/usb/usb_storage_m.scc b/features/usb/usb_storage_m.scc new file mode 100644 index 0000000..c4c0ebf --- /dev/null +++ b/features/usb/usb_storage_m.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable USB storage as module" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware usb_storage_m.cfg | ||
diff --git a/features/usbGadget/usbgadget_m.cfg b/features/usbGadget/usbgadget_m.cfg new file mode 100644 index 0000000..d777248 --- /dev/null +++ b/features/usbGadget/usbgadget_m.cfg | |||
@@ -0,0 +1,154 @@ | |||
1 | CONFIG_PARPORT_NOT_PC=y | ||
2 | CONFIG_USB_C67X00_HCD=m | ||
3 | CONFIG_USB_OXU210HP_HCD=m | ||
4 | CONFIG_USB_ISP116X_HCD=m | ||
5 | CONFIG_USB_ISP1362_HCD=m | ||
6 | CONFIG_USB_FOTG210_HCD=m | ||
7 | CONFIG_USB_MAX3421_HCD=m | ||
8 | CONFIG_USB_SL811_HCD=m | ||
9 | # CONFIG_USB_SL811_HCD_ISO is not set | ||
10 | CONFIG_USB_R8A66597_HCD=m | ||
11 | CONFIG_USB_ACM=m | ||
12 | CONFIG_USB_WDM=m | ||
13 | CONFIG_USB_STORAGE_REALTEK=m | ||
14 | CONFIG_USB_STORAGE_DATAFAB=m | ||
15 | CONFIG_USB_STORAGE_FREECOM=m | ||
16 | CONFIG_USB_STORAGE_ISD200=m | ||
17 | CONFIG_USB_STORAGE_USBAT=m | ||
18 | CONFIG_USB_STORAGE_SDDR09=m | ||
19 | CONFIG_USB_STORAGE_SDDR55=m | ||
20 | CONFIG_USB_STORAGE_JUMPSHOT=m | ||
21 | CONFIG_USB_STORAGE_ALAUDA=m | ||
22 | CONFIG_USB_STORAGE_ONETOUCH=m | ||
23 | CONFIG_USB_STORAGE_KARMA=m | ||
24 | CONFIG_USB_STORAGE_CYPRESS_ATACB=m | ||
25 | CONFIG_USB_STORAGE_ENE_UB6250=m | ||
26 | CONFIG_USB_UAS=m | ||
27 | CONFIG_USB_USS720=m | ||
28 | CONFIG_USB_SERIAL=m | ||
29 | # CONFIG_USB_SERIAL_GENERIC is not set | ||
30 | # CONFIG_USB_SERIAL_SIMPLE is not set | ||
31 | # CONFIG_USB_SERIAL_AIRCABLE is not set | ||
32 | # CONFIG_USB_SERIAL_ARK3116 is not set | ||
33 | # CONFIG_USB_SERIAL_BELKIN is not set | ||
34 | # CONFIG_USB_SERIAL_CH341 is not set | ||
35 | # CONFIG_USB_SERIAL_WHITEHEAT is not set | ||
36 | # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set | ||
37 | # CONFIG_USB_SERIAL_CP210X is not set | ||
38 | # CONFIG_USB_SERIAL_CYPRESS_M8 is not set | ||
39 | # CONFIG_USB_SERIAL_EMPEG is not set | ||
40 | # CONFIG_USB_SERIAL_FTDI_SIO is not set | ||
41 | # CONFIG_USB_SERIAL_VISOR is not set | ||
42 | # CONFIG_USB_SERIAL_IPAQ is not set | ||
43 | # CONFIG_USB_SERIAL_IR is not set | ||
44 | # CONFIG_USB_SERIAL_EDGEPORT is not set | ||
45 | # CONFIG_USB_SERIAL_EDGEPORT_TI is not set | ||
46 | # CONFIG_USB_SERIAL_F81232 is not set | ||
47 | # CONFIG_USB_SERIAL_GARMIN is not set | ||
48 | # CONFIG_USB_SERIAL_IPW is not set | ||
49 | # CONFIG_USB_SERIAL_IUU is not set | ||
50 | # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set | ||
51 | # CONFIG_USB_SERIAL_KEYSPAN is not set | ||
52 | # CONFIG_USB_SERIAL_KLSI is not set | ||
53 | # CONFIG_USB_SERIAL_KOBIL_SCT is not set | ||
54 | # CONFIG_USB_SERIAL_MCT_U232 is not set | ||
55 | # CONFIG_USB_SERIAL_METRO is not set | ||
56 | # CONFIG_USB_SERIAL_MOS7720 is not set | ||
57 | # CONFIG_USB_SERIAL_MOS7840 is not set | ||
58 | # CONFIG_USB_SERIAL_MXUPORT is not set | ||
59 | # CONFIG_USB_SERIAL_NAVMAN is not set | ||
60 | # CONFIG_USB_SERIAL_PL2303 is not set | ||
61 | # CONFIG_USB_SERIAL_OTI6858 is not set | ||
62 | # CONFIG_USB_SERIAL_QCAUX is not set | ||
63 | # CONFIG_USB_SERIAL_QUALCOMM is not set | ||
64 | # CONFIG_USB_SERIAL_SPCP8X5 is not set | ||
65 | # CONFIG_USB_SERIAL_SAFE is not set | ||
66 | # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set | ||
67 | # CONFIG_USB_SERIAL_SYMBOL is not set | ||
68 | # CONFIG_USB_SERIAL_TI is not set | ||
69 | # CONFIG_USB_SERIAL_CYBERJACK is not set | ||
70 | # CONFIG_USB_SERIAL_XIRCOM is not set | ||
71 | # CONFIG_USB_SERIAL_OPTION is not set | ||
72 | # CONFIG_USB_SERIAL_OMNINET is not set | ||
73 | # CONFIG_USB_SERIAL_OPTICON is not set | ||
74 | # CONFIG_USB_SERIAL_XSENS_MT is not set | ||
75 | # CONFIG_USB_SERIAL_WISHBONE is not set | ||
76 | # CONFIG_USB_SERIAL_SSU100 is not set | ||
77 | # CONFIG_USB_SERIAL_QT2 is not set | ||
78 | # CONFIG_USB_SERIAL_DEBUG is not set | ||
79 | CONFIG_USB_LCD=m | ||
80 | CONFIG_USB_SISUSBVGA=m | ||
81 | # CONFIG_USB_SISUSBVGA_CON is not set | ||
82 | CONFIG_USB_LD=m | ||
83 | CONFIG_USB_IOWARRIOR=m | ||
84 | CONFIG_USB_HSIC_USB3503=m | ||
85 | CONFIG_USB_HSIC_USB4604=m | ||
86 | CONFIG_UCSI=m | ||
87 | CONFIG_USB_GADGET=m | ||
88 | # CONFIG_USB_GADGET_DEBUG is not set | ||
89 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | ||
90 | # CONFIG_USB_GADGET_DEBUG_FS is not set | ||
91 | CONFIG_USB_GADGET_VBUS_DRAW=2 | ||
92 | CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 | ||
93 | # CONFIG_U_SERIAL_CONSOLE is not set | ||
94 | |||
95 | # | ||
96 | # USB Peripheral Controller | ||
97 | # | ||
98 | CONFIG_USB_FOTG210_UDC=m | ||
99 | CONFIG_USB_GR_UDC=m | ||
100 | CONFIG_USB_R8A66597=m | ||
101 | CONFIG_USB_PXA27X=m | ||
102 | CONFIG_USB_MV_UDC=m | ||
103 | CONFIG_USB_MV_U3D=m | ||
104 | CONFIG_USB_M66592=m | ||
105 | CONFIG_USB_BDC_UDC=m | ||
106 | |||
107 | # | ||
108 | # Platform Support | ||
109 | # | ||
110 | CONFIG_USB_BDC_PCI=m | ||
111 | CONFIG_USB_AMD5536UDC=m | ||
112 | CONFIG_USB_NET2272=m | ||
113 | # CONFIG_USB_NET2272_DMA is not set | ||
114 | CONFIG_USB_NET2280=m | ||
115 | CONFIG_USB_GOKU=m | ||
116 | CONFIG_USB_EG20T=m | ||
117 | # CONFIG_USB_DUMMY_HCD is not set | ||
118 | CONFIG_USB_LIBCOMPOSITE=m | ||
119 | CONFIG_USB_F_ACM=m | ||
120 | CONFIG_USB_U_SERIAL=m | ||
121 | CONFIG_USB_U_ETHER=m | ||
122 | CONFIG_USB_F_SERIAL=m | ||
123 | CONFIG_USB_F_OBEX=m | ||
124 | CONFIG_USB_F_NCM=m | ||
125 | CONFIG_USB_F_ECM=m | ||
126 | CONFIG_USB_F_EEM=m | ||
127 | CONFIG_USB_F_SUBSET=m | ||
128 | CONFIG_USB_F_RNDIS=m | ||
129 | CONFIG_USB_F_MASS_STORAGE=m | ||
130 | CONFIG_USB_F_FS=m | ||
131 | CONFIG_USB_F_HID=m | ||
132 | # CONFIG_USB_CONFIGFS is not set | ||
133 | # CONFIG_USB_ZERO is not set | ||
134 | CONFIG_USB_ETH=m | ||
135 | CONFIG_USB_ETH_RNDIS=y | ||
136 | CONFIG_USB_ETH_EEM=y | ||
137 | CONFIG_USB_G_NCM=m | ||
138 | CONFIG_USB_GADGETFS=m | ||
139 | CONFIG_USB_FUNCTIONFS=m | ||
140 | CONFIG_USB_FUNCTIONFS_ETH=y | ||
141 | CONFIG_USB_FUNCTIONFS_RNDIS=y | ||
142 | CONFIG_USB_FUNCTIONFS_GENERIC=y | ||
143 | CONFIG_USB_MASS_STORAGE=m | ||
144 | CONFIG_USB_G_SERIAL=m | ||
145 | # CONFIG_USB_G_PRINTER is not set | ||
146 | CONFIG_USB_CDC_COMPOSITE=m | ||
147 | CONFIG_USB_G_ACM_MS=m | ||
148 | CONFIG_USB_G_MULTI=m | ||
149 | CONFIG_USB_G_MULTI_RNDIS=y | ||
150 | CONFIG_USB_G_MULTI_CDC=y | ||
151 | CONFIG_USB_G_HID=m | ||
152 | # CONFIG_USB_G_DBGP is not set | ||
153 | CONFIG_USB_ULPI_BUS=m | ||
154 | # CONFIG_PHY_TUSB1210 is not set | ||
diff --git a/features/usbGadget/usbgadget_m.scc b/features/usbGadget/usbgadget_m.scc new file mode 100644 index 0000000..dbe157b --- /dev/null +++ b/features/usbGadget/usbgadget_m.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable USB devices support as modules" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware usbgadget_m.cfg | ||
diff --git a/features/usbGadget/usbgadget_n.cfg b/features/usbGadget/usbgadget_n.cfg new file mode 100644 index 0000000..76364be --- /dev/null +++ b/features/usbGadget/usbgadget_n.cfg | |||
@@ -0,0 +1,6 @@ | |||
1 | CONFIG_USB_F_UAC2=n | ||
2 | CONFIG_USB_F_UVC=n | ||
3 | CONFIG_USB_F_MIDI=n | ||
4 | CONFIG_USB_AUDIO=n | ||
5 | CONFIG_USB_MIDI_GADGET=n | ||
6 | CONFIG_USB_G_WEBCAM=n | ||
diff --git a/features/usbGadget/usbgadget_n.scc b/features/usbGadget/usbgadget_n.scc new file mode 100644 index 0000000..8a47594 --- /dev/null +++ b/features/usbGadget/usbgadget_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for usb gadget support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware usbgadget_n.cfg | ||
diff --git a/features/usbnet/usb_phy_m.cfg b/features/usbnet/usb_phy_m.cfg new file mode 100644 index 0000000..b00f83b --- /dev/null +++ b/features/usbnet/usb_phy_m.cfg | |||
@@ -0,0 +1,4 @@ | |||
1 | CONFIG_GENERIC_PHY=y | ||
2 | CONFIG_PHY_PXA_28NM_HSIC=m | ||
3 | CONFIG_PHY_PXA_28NM_USB2=m | ||
4 | CONFIG_BCM_KONA_USB2_PHY=m | ||
diff --git a/features/usbnet/usb_phy_m.scc b/features/usbnet/usb_phy_m.scc new file mode 100644 index 0000000..592d750 --- /dev/null +++ b/features/usbnet/usb_phy_m.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable support for USB PHY" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware usb_phy_m.cfg | ||
diff --git a/features/usbnet/usbnet_m.cfg b/features/usbnet/usbnet_m.cfg new file mode 100644 index 0000000..a62deff --- /dev/null +++ b/features/usbnet/usbnet_m.cfg | |||
@@ -0,0 +1,88 @@ | |||
1 | CONFIG_USB_USBNET=m | ||
2 | CONFIG_USB_NET_DRIVERS=m | ||
3 | CONFIG_MICROCHIP_PHY=m | ||
4 | CONFIG_USB_CATC=m | ||
5 | CONFIG_USB_KAWETH=m | ||
6 | CONFIG_USB_PEGASUS=m | ||
7 | CONFIG_USB_RTL8150=m | ||
8 | CONFIG_USB_RTL8152=m | ||
9 | CONFIG_USB_LAN78XX=m | ||
10 | CONFIG_USB_NET_AX8817X=m | ||
11 | CONFIG_USB_NET_AX88179_178A=m | ||
12 | CONFIG_USB_NET_CDCETHER=m | ||
13 | CONFIG_USB_NET_CDC_EEM=m | ||
14 | CONFIG_USB_NET_CDC_NCM=m | ||
15 | CONFIG_USB_NET_HUAWEI_CDC_NCM=m | ||
16 | CONFIG_USB_NET_CDC_MBIM=m | ||
17 | CONFIG_USB_NET_DM9601=m | ||
18 | CONFIG_USB_NET_SR9700=m | ||
19 | CONFIG_USB_NET_SR9800=m | ||
20 | CONFIG_USB_NET_SMSC75XX=m | ||
21 | CONFIG_USB_NET_SMSC95XX=m | ||
22 | CONFIG_USB_NET_GL620A=m | ||
23 | CONFIG_USB_NET_NET1080=m | ||
24 | CONFIG_USB_NET_PLUSB=m | ||
25 | CONFIG_USB_NET_MCS7830=m | ||
26 | CONFIG_USB_NET_RNDIS_HOST=m | ||
27 | CONFIG_USB_NET_ZAURUS=m | ||
28 | CONFIG_USB_NET_CX82310_ETH=m | ||
29 | CONFIG_USB_NET_KALMIA=m | ||
30 | CONFIG_USB_NET_QMI_WWAN=m | ||
31 | CONFIG_USB_NET_INT51X1=m | ||
32 | CONFIG_USB_SIERRA_NET=m | ||
33 | CONFIG_USB_VL600=m | ||
34 | CONFIG_USB_NET_CH9200=m | ||
35 | CONFIG_USB_ACM=m | ||
36 | CONFIG_USB_WDM=m | ||
37 | CONFIG_USB_GADGET=m | ||
38 | # CONFIG_USB_GADGET_DEBUG is not set | ||
39 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | ||
40 | # CONFIG_USB_GADGET_DEBUG_FS is not set | ||
41 | CONFIG_USB_GADGET_VBUS_DRAW=2 | ||
42 | CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 | ||
43 | # | ||
44 | # USB Peripheral Controller | ||
45 | # | ||
46 | # CONFIG_USB_FOTG210_UDC is not set | ||
47 | # CONFIG_USB_GR_UDC is not set | ||
48 | # CONFIG_USB_R8A66597 is not set | ||
49 | # CONFIG_USB_PXA27X is not set | ||
50 | # CONFIG_USB_MV_UDC is not set | ||
51 | # CONFIG_USB_MV_U3D is not set | ||
52 | # CONFIG_USB_M66592 is not set | ||
53 | # CONFIG_USB_BDC_UDC is not set | ||
54 | # CONFIG_USB_AMD5536UDC is not set | ||
55 | # CONFIG_USB_NET2272 is not set | ||
56 | # CONFIG_USB_NET2280 is not set | ||
57 | # CONFIG_USB_GOKU is not set | ||
58 | # CONFIG_USB_EG20T is not set | ||
59 | # CONFIG_USB_DUMMY_HCD is not set | ||
60 | CONFIG_USB_LIBCOMPOSITE=m | ||
61 | CONFIG_USB_F_ACM=m | ||
62 | CONFIG_USB_U_SERIAL=m | ||
63 | CONFIG_USB_U_ETHER=m | ||
64 | CONFIG_USB_F_SERIAL=m | ||
65 | CONFIG_USB_F_OBEX=m | ||
66 | CONFIG_USB_F_NCM=m | ||
67 | CONFIG_USB_F_ECM=m | ||
68 | CONFIG_USB_F_EEM=m | ||
69 | CONFIG_USB_F_SUBSET=m | ||
70 | CONFIG_USB_F_RNDIS=m | ||
71 | CONFIG_USB_F_MASS_STORAGE=m | ||
72 | # CONFIG_USB_CONFIGFS is not set | ||
73 | # CONFIG_USB_ZERO is not set | ||
74 | CONFIG_USB_ETH=m | ||
75 | CONFIG_USB_ETH_RNDIS=y | ||
76 | CONFIG_USB_ETH_EEM=y | ||
77 | CONFIG_USB_G_NCM=m | ||
78 | # CONFIG_USB_GADGETFS is not set | ||
79 | # CONFIG_USB_FUNCTIONFS is not set | ||
80 | # CONFIG_USB_MASS_STORAGE is not set | ||
81 | CONFIG_USB_G_SERIAL=m | ||
82 | # CONFIG_USB_G_PRINTER is not set | ||
83 | CONFIG_USB_CDC_COMPOSITE=m | ||
84 | CONFIG_USB_G_ACM_MS=m | ||
85 | # CONFIG_USB_G_MULTI is not set | ||
86 | # CONFIG_USB_G_HID is not set | ||
87 | # CONFIG_USB_G_DBGP is not set | ||
88 | # CONFIG_USB_CATC is not set | ||
diff --git a/features/usbnet/usbnet_m.scc b/features/usbnet/usbnet_m.scc new file mode 100644 index 0000000..62749f3 --- /dev/null +++ b/features/usbnet/usbnet_m.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Add usb network device support as module" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware usbnet_m.cfg | ||
diff --git a/features/usbnet/usbnet_n.cfg b/features/usbnet/usbnet_n.cfg new file mode 100644 index 0000000..ad9eb03 --- /dev/null +++ b/features/usbnet/usbnet_n.cfg | |||
@@ -0,0 +1,43 @@ | |||
1 | CONFIG_USB_NET_DRIVERS=n | ||
2 | # CONFIG_USB_CATC is not set | ||
3 | CONFIG_USB_KAWETH=n | ||
4 | CONFIG_USB_PEGASUS=n | ||
5 | CONFIG_USB_RTL8150=n | ||
6 | CONFIG_USB_RTL8152=n | ||
7 | # CONFIG_USB_LAN78XX is not set | ||
8 | CONFIG_USB_USBNET=n | ||
9 | CONFIG_USB_NET_AX8817X=n | ||
10 | CONFIG_USB_NET_AX88179_178A=n | ||
11 | CONFIG_USB_NET_CDCETHER=n | ||
12 | CONFIG_USB_NET_CDC_EEM=n | ||
13 | CONFIG_USB_NET_CDC_NCM=n | ||
14 | # CONFIG_USB_NET_HUAWEI_CDC_NCM is not set | ||
15 | # CONFIG_USB_NET_CDC_MBIM is not set | ||
16 | CONFIG_USB_NET_DM9601=n | ||
17 | # CONFIG_USB_NET_SR9700 is not set | ||
18 | # CONFIG_USB_NET_SR9800 is not set | ||
19 | CONFIG_USB_NET_SMSC75XX=n | ||
20 | CONFIG_USB_NET_SMSC95XX=n | ||
21 | # CONFIG_USB_NET_GL620A is not set | ||
22 | CONFIG_USB_NET_NET1080=n | ||
23 | # CONFIG_USB_NET_PLUSB is not set | ||
24 | CONFIG_USB_NET_MCS7830=n | ||
25 | # CONFIG_USB_NET_RNDIS_HOST is no set | ||
26 | CONFIG_USB_NET_CDC_SUBSET_ENABLE=n | ||
27 | CONFIG_USB_NET_CDC_SUBSET=n | ||
28 | CONFIG_USB_ALI_M5632=n | ||
29 | CONFIG_USB_AN2720=n | ||
30 | CONFIG_USB_BELKIN=n | ||
31 | CONFIG_USB_ARMLINUX=n | ||
32 | # CONFIG_USB_EPSON2888 is not set | ||
33 | CONFIG_USB_KC2190=n | ||
34 | CONFIG_USB_NET_ZAURUS=n | ||
35 | # CONFIG_USB_NET_CX82310_ETH is not set | ||
36 | # CONFIG_USB_NET_KALMIA is not set | ||
37 | # CONFIG_USB_NET_QMI_WWAN is not set | ||
38 | # CONFIG_USB_HSO is not set | ||
39 | # CONFIG_USB_NET_INT51X1 is not set | ||
40 | # CONFIG_USB_IPHETH is not set | ||
41 | # CONFIG_USB_SIERRA_NET is not set | ||
42 | # CONFIG_USB_VL600 is not set | ||
43 | # CONFIG_USB_NET_CH9200 is not set | ||
diff --git a/features/usbnet/usbnet_n.scc b/features/usbnet/usbnet_n.scc new file mode 100644 index 0000000..7adb0a1 --- /dev/null +++ b/features/usbnet/usbnet_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for usb network device support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware usbnet_n.cfg | ||
diff --git a/features/usbsupport/usbsupport_m.cfg b/features/usbsupport/usbsupport_m.cfg new file mode 100644 index 0000000..6a19564 --- /dev/null +++ b/features/usbsupport/usbsupport_m.cfg | |||
@@ -0,0 +1,270 @@ | |||
1 | CONFIG_USB_SUPPORT=y | ||
2 | CONFIG_USB_COMMON=m | ||
3 | CONFIG_USB_ARCH_HAS_HCD=y | ||
4 | CONFIG_USB=m | ||
5 | # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set | ||
6 | |||
7 | # | ||
8 | # Miscellaneous USB options | ||
9 | # | ||
10 | CONFIG_USB_DEFAULT_PERSIST=y | ||
11 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
12 | # CONFIG_USB_OTG is not set | ||
13 | # CONFIG_USB_OTG_WHITELIST is not set | ||
14 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
15 | # CONFIG_USB_LEDS_TRIGGER_USBPORT is not set | ||
16 | # CONFIG_USB_MON is not set | ||
17 | # CONFIG_USB_WUSB_CBAF is not set | ||
18 | |||
19 | # | ||
20 | # USB Host Controller Drivers | ||
21 | # | ||
22 | # CONFIG_USB_C67X00_HCD is not set | ||
23 | CONFIG_USB_XHCI_HCD=m | ||
24 | CONFIG_USB_XHCI_PCI=m | ||
25 | CONFIG_USB_XHCI_PLATFORM=m | ||
26 | CONFIG_USB_EHCI_HCD=m | ||
27 | CONFIG_USB_EHCI_ROOT_HUB_TT=n | ||
28 | CONFIG_USB_EHCI_TT_NEWSCHED=y | ||
29 | CONFIG_USB_EHCI_PCI=m | ||
30 | CONFIG_USB_EHCI_HCD_PLATFORM=m | ||
31 | # CONFIG_USB_OXU210HP_HCD is not set | ||
32 | # CONFIG_USB_ISP116X_HCD is not set | ||
33 | # CONFIG_USB_ISP1362_HCD is not set | ||
34 | # CONFIG_USB_FOTG210_HCD is not set | ||
35 | # CONFIG_USB_MAX3421_HCD is not set | ||
36 | CONFIG_USB_OHCI_HCD=n | ||
37 | CONFIG_USB_OHCI_HCD_PCI=n | ||
38 | # CONFIG_USB_OHCI_HCD_PLATFORM is not set | ||
39 | CONFIG_USB_UHCI_HCD=n | ||
40 | # CONFIG_USB_SL811_HCD is not set | ||
41 | # CONFIG_USB_R8A66597_HCD is not set | ||
42 | # CONFIG_USB_HCD_BCMA is not set | ||
43 | # CONFIG_USB_HCD_TEST_MODE is not set | ||
44 | |||
45 | # | ||
46 | # USB Device Class drivers | ||
47 | # | ||
48 | CONFIG_USB_ACM=n | ||
49 | # CONFIG_USB_PRINTER is not set | ||
50 | CONFIG_USB_WDM=n | ||
51 | # CONFIG_USB_TMC is not set | ||
52 | |||
53 | # | ||
54 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may | ||
55 | # | ||
56 | |||
57 | # | ||
58 | # also be needed; see USB_STORAGE Help for more info | ||
59 | # | ||
60 | CONFIG_USB_STORAGE=n | ||
61 | # CONFIG_USB_STORAGE_DEBUG is not set | ||
62 | # CONFIG_USB_STORAGE_REALTEK is not set | ||
63 | # CONFIG_USB_STORAGE_DATAFAB is not set | ||
64 | # CONFIG_USB_STORAGE_FREECOM is not set | ||
65 | # CONFIG_USB_STORAGE_ISD200 is not set | ||
66 | # CONFIG_USB_STORAGE_USBAT is not set | ||
67 | # CONFIG_USB_STORAGE_SDDR09 is not set | ||
68 | # CONFIG_USB_STORAGE_SDDR55 is not set | ||
69 | # CONFIG_USB_STORAGE_JUMPSHOT is not set | ||
70 | # CONFIG_USB_STORAGE_ALAUDA is not set | ||
71 | # CONFIG_USB_STORAGE_ONETOUCH is not set | ||
72 | # CONFIG_USB_STORAGE_KARMA is not set | ||
73 | # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set | ||
74 | # CONFIG_USB_STORAGE_ENE_UB6250 is not set | ||
75 | # CONFIG_USB_UAS is not set | ||
76 | |||
77 | # | ||
78 | # USB Imaging devices | ||
79 | # | ||
80 | # CONFIG_USB_MDC800 is not set | ||
81 | # CONFIG_USB_MICROTEK is not set | ||
82 | # CONFIG_USBIP_CORE is not set | ||
83 | # CONFIG_USB_MUSB_HDRC is not set | ||
84 | CONFIG_USB_DWC3=n | ||
85 | # CONFIG_USB_DWC3_HOST is not set | ||
86 | CONFIG_USB_DWC3_GADGET=n | ||
87 | # CONFIG_USB_DWC3_DUAL_ROLE is not set | ||
88 | |||
89 | # | ||
90 | # Platform Glue Driver Support | ||
91 | # | ||
92 | CONFIG_USB_DWC3_PCI=n | ||
93 | CONFIG_USB_DWC2=n | ||
94 | # CONFIG_USB_DWC2_HOST is not set | ||
95 | |||
96 | # | ||
97 | # Gadget/Dual-role mode requires USB Gadget support to be enabled | ||
98 | # | ||
99 | # CONFIG_USB_DWC2_PERIPHERAL is not set | ||
100 | CONFIG_USB_DWC2_DUAL_ROLE=n | ||
101 | CONFIG_USB_DWC2_PCI=n | ||
102 | # CONFIG_USB_DWC2_DEBUG is not set | ||
103 | # CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set | ||
104 | # CONFIG_USB_CHIPIDEA is not set | ||
105 | # CONFIG_USB_ISP1760 is not set | ||
106 | |||
107 | # | ||
108 | # USB port drivers | ||
109 | # | ||
110 | # CONFIG_USB_USS720 is not set | ||
111 | CONFIG_USB_SERIAL=n | ||
112 | CONFIG_USB_SERIAL_CONSOLE=n | ||
113 | CONFIG_USB_SERIAL_GENERIC=n | ||
114 | # CONFIG_USB_SERIAL_SIMPLE is not set | ||
115 | # CONFIG_USB_SERIAL_AIRCABLE is not set | ||
116 | # CONFIG_USB_SERIAL_ARK3116 is not set | ||
117 | # CONFIG_USB_SERIAL_BELKIN is not set | ||
118 | # CONFIG_USB_SERIAL_CH341 is not set | ||
119 | # CONFIG_USB_SERIAL_WHITEHEAT is not set | ||
120 | # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set | ||
121 | # CONFIG_USB_SERIAL_CP210X is not set | ||
122 | # CONFIG_USB_SERIAL_CYPRESS_M8 is not set | ||
123 | # CONFIG_USB_SERIAL_EMPEG is not set | ||
124 | CONFIG_USB_SERIAL_FTDI_SIO=n | ||
125 | # CONFIG_USB_SERIAL_VISOR is not set | ||
126 | # CONFIG_USB_SERIAL_IPAQ is not set | ||
127 | # CONFIG_USB_SERIAL_IR is not set | ||
128 | # CONFIG_USB_SERIAL_EDGEPORT is not set | ||
129 | # CONFIG_USB_SERIAL_EDGEPORT_TI is not set | ||
130 | # CONFIG_USB_SERIAL_F81232 is not set | ||
131 | # CONFIG_USB_SERIAL_GARMIN is not set | ||
132 | # CONFIG_USB_SERIAL_IPW is not set | ||
133 | # CONFIG_USB_SERIAL_IUU is not set | ||
134 | # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set | ||
135 | # CONFIG_USB_SERIAL_KEYSPAN is not set | ||
136 | # CONFIG_USB_SERIAL_KLSI is not set | ||
137 | # CONFIG_USB_SERIAL_KOBIL_SCT is not set | ||
138 | # CONFIG_USB_SERIAL_MCT_U232 is not set | ||
139 | # CONFIG_USB_SERIAL_METRO is not set | ||
140 | # CONFIG_USB_SERIAL_MOS7720 is not set | ||
141 | # CONFIG_USB_SERIAL_MOS7840 is not set | ||
142 | # CONFIG_USB_SERIAL_MXUPORT is not set | ||
143 | # CONFIG_USB_SERIAL_NAVMAN is not set | ||
144 | CONFIG_USB_SERIAL_PL2303=n | ||
145 | # CONFIG_USB_SERIAL_OTI6858 is not set | ||
146 | # CONFIG_USB_SERIAL_QCAUX is not set | ||
147 | # CONFIG_USB_SERIAL_QUALCOMM is not set | ||
148 | # CONFIG_USB_SERIAL_SPCP8X5 is not set | ||
149 | # CONFIG_USB_SERIAL_SAFE is not set | ||
150 | # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set | ||
151 | # CONFIG_USB_SERIAL_SYMBOL is not set | ||
152 | # CONFIG_USB_SERIAL_TI is not set | ||
153 | # CONFIG_USB_SERIAL_CYBERJACK is not set | ||
154 | # CONFIG_USB_SERIAL_XIRCOM is not set | ||
155 | # CONFIG_USB_SERIAL_OPTION is not set | ||
156 | # CONFIG_USB_SERIAL_OMNINET is not set | ||
157 | # CONFIG_USB_SERIAL_OPTICON is not set | ||
158 | # CONFIG_USB_SERIAL_XSENS_MT is not set | ||
159 | # CONFIG_USB_SERIAL_WISHBONE is not set | ||
160 | # CONFIG_USB_SERIAL_SSU100 is not set | ||
161 | # CONFIG_USB_SERIAL_QT2 is not set | ||
162 | # CONFIG_USB_SERIAL_DEBUG is not set | ||
163 | |||
164 | # | ||
165 | # USB Miscellaneous drivers | ||
166 | # | ||
167 | # CONFIG_USB_EMI62 is not set | ||
168 | # CONFIG_USB_EMI26 is not set | ||
169 | # CONFIG_USB_ADUTUX is not set | ||
170 | # CONFIG_USB_SEVSEG is not set | ||
171 | # CONFIG_USB_RIO500 is not set | ||
172 | # CONFIG_USB_LEGOTOWER is not set | ||
173 | # CONFIG_USB_LCD is not set | ||
174 | # CONFIG_USB_CYPRESS_CY7C63 is not set | ||
175 | # CONFIG_USB_CYTHERM is not set | ||
176 | # CONFIG_USB_IDMOUSE is not set | ||
177 | # CONFIG_USB_FTDI_ELAN is not set | ||
178 | # CONFIG_USB_APPLEDISPLAY is not set | ||
179 | # CONFIG_USB_SISUSBVGA is not set | ||
180 | # CONFIG_USB_LD is not set | ||
181 | # CONFIG_USB_TRANCEVIBRATOR is not set | ||
182 | # CONFIG_USB_IOWARRIOR is not set | ||
183 | # CONFIG_USB_TEST is not set | ||
184 | # CONFIG_USB_EHSET_TEST_FIXTURE is not set | ||
185 | # CONFIG_USB_ISIGHTFW is not set | ||
186 | # CONFIG_USB_YUREX is not set | ||
187 | CONFIG_USB_EZUSB_FX2=n | ||
188 | # CONFIG_USB_HSIC_USB3503 is not set | ||
189 | # CONFIG_USB_HSIC_USB4604 is not set | ||
190 | # CONFIG_USB_LINK_LAYER_TEST is not set | ||
191 | # CONFIG_USB_CHAOSKEY is not set | ||
192 | # CONFIG_UCSI is not set | ||
193 | |||
194 | # | ||
195 | # USB Physical Layer drivers | ||
196 | # | ||
197 | CONFIG_USB_PHY=n | ||
198 | CONFIG_NOP_USB_XCEIV=n | ||
199 | # CONFIG_USB_GPIO_VBUS is not set | ||
200 | # CONFIG_USB_ISP1301 is not set | ||
201 | CONFIG_USB_GADGET=n | ||
202 | # CONFIG_USB_GADGET_DEBUG is not set | ||
203 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | ||
204 | # CONFIG_USB_GADGET_DEBUG_FS is not set | ||
205 | CONFIG_USB_GADGET_VBUS_DRAW=2 | ||
206 | CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 | ||
207 | # CONFIG_U_SERIAL_CONSOLE is not set | ||
208 | |||
209 | # | ||
210 | # USB Peripheral Controller | ||
211 | # | ||
212 | # CONFIG_USB_FOTG210_UDC is not set | ||
213 | # CONFIG_USB_GR_UDC is not set | ||
214 | # CONFIG_USB_R8A66597 is not set | ||
215 | # CONFIG_USB_PXA27X is not set | ||
216 | # CONFIG_USB_MV_UDC is not set | ||
217 | # CONFIG_USB_MV_U3D is not set | ||
218 | # CONFIG_USB_M66592 is not set | ||
219 | # CONFIG_USB_BDC_UDC is not set | ||
220 | # CONFIG_USB_AMD5536UDC is not set | ||
221 | # CONFIG_USB_NET2272 is not set | ||
222 | # CONFIG_USB_NET2280 is not set | ||
223 | # CONFIG_USB_GOKU is not set | ||
224 | # CONFIG_USB_EG20T is not set | ||
225 | # CONFIG_USB_DUMMY_HCD is not set | ||
226 | CONFIG_USB_LIBCOMPOSITE=n | ||
227 | CONFIG_USB_F_ACM=n | ||
228 | CONFIG_USB_F_SS_LB=n | ||
229 | CONFIG_USB_U_SERIAL=n | ||
230 | CONFIG_USB_U_ETHER=n | ||
231 | CONFIG_USB_F_SERIAL=n | ||
232 | CONFIG_USB_F_OBEX=n | ||
233 | CONFIG_USB_F_NCM=n | ||
234 | CONFIG_USB_F_ECM=n | ||
235 | CONFIG_USB_F_SUBSET=n | ||
236 | CONFIG_USB_F_RNDIS=n | ||
237 | CONFIG_USB_F_MASS_STORAGE=n | ||
238 | CONFIG_USB_F_FS=n | ||
239 | CONFIG_USB_F_HID=n | ||
240 | CONFIG_USB_F_PRINTER=n | ||
241 | # CONFIG_USB_CONFIGFS is not set | ||
242 | CONFIG_USB_ZERO=n | ||
243 | CONFIG_USB_ETH=n | ||
244 | CONFIG_USB_ETH_RNDIS=n | ||
245 | # CONFIG_USB_ETH_EEM is not set | ||
246 | CONFIG_USB_G_NCM=n | ||
247 | CONFIG_USB_GADGETFS=n | ||
248 | CONFIG_USB_FUNCTIONFS=n | ||
249 | # CONFIG_USB_FUNCTIONFS_ETH is not set | ||
250 | # CONFIG_USB_FUNCTIONFS_RNDIS is not set | ||
251 | CONFIG_USB_FUNCTIONFS_GENERIC=n | ||
252 | CONFIG_USB_MASS_STORAGE=n | ||
253 | CONFIG_USB_G_SERIAL=n | ||
254 | CONFIG_USB_G_PRINTER=n | ||
255 | CONFIG_USB_CDC_COMPOSITE=n | ||
256 | CONFIG_USB_G_ACM_MS=n | ||
257 | CONFIG_USB_G_MULTI=n | ||
258 | CONFIG_USB_G_MULTI_RNDIS=n | ||
259 | # CONFIG_USB_G_MULTI_CDC is not set | ||
260 | CONFIG_USB_G_HID=n | ||
261 | CONFIG_USB_G_DBGP=n | ||
262 | # CONFIG_USB_G_DBGP_PRINTK is not set | ||
263 | CONFIG_USB_G_DBGP_SERIAL=n | ||
264 | |||
265 | # | ||
266 | # USB PD and Type-C drivers | ||
267 | # | ||
268 | CONFIG_TYPEC=n | ||
269 | CONFIG_USB_PD_SINK=n | ||
270 | CONFIG_TYPEC_WCOVE=n | ||
diff --git a/features/usbsupport/usbsupport_m.scc b/features/usbsupport/usbsupport_m.scc new file mode 100644 index 0000000..d5ed566 --- /dev/null +++ b/features/usbsupport/usbsupport_m.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Add usb support as module" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware usbsupport_m.cfg | ||
diff --git a/features/usbsupport/usbsupport_n.cfg b/features/usbsupport/usbsupport_n.cfg new file mode 100644 index 0000000..1324c55 --- /dev/null +++ b/features/usbsupport/usbsupport_n.cfg | |||
@@ -0,0 +1,270 @@ | |||
1 | CONFIG_USB_SUPPORT=n | ||
2 | CONFIG_USB_COMMON=n | ||
3 | CONFIG_USB_ARCH_HAS_HCD=n | ||
4 | CONFIG_USB=n | ||
5 | # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set | ||
6 | |||
7 | # | ||
8 | # Miscellaneous USB options | ||
9 | # | ||
10 | CONFIG_USB_DEFAULT_PERSIST=n | ||
11 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
12 | # CONFIG_USB_OTG is not set | ||
13 | # CONFIG_USB_OTG_WHITELIST is not set | ||
14 | # CONFIG_USB_LEDS_TRIGGER_USBPORT is not set | ||
15 | # CONFIG_USB_MON is not set | ||
16 | # CONFIG_USB_WUSB_CBAF is not set | ||
17 | |||
18 | # | ||
19 | # USB Host Controller Drivers | ||
20 | # | ||
21 | # CONFIG_USB_C67X00_HCD is not set | ||
22 | CONFIG_USB_XHCI_HCD=n | ||
23 | CONFIG_USB_XHCI_PCI=n | ||
24 | CONFIG_USB_XHCI_PLATFORM=n | ||
25 | CONFIG_USB_EHCI_HCD=n | ||
26 | CONFIG_USB_EHCI_ROOT_HUB_TT=n | ||
27 | CONFIG_USB_EHCI_TT_NEWSCHED=n | ||
28 | CONFIG_USB_EHCI_PCI=n | ||
29 | # CONFIG_USB_EHCI_HCD_PLATFORM is not set | ||
30 | # CONFIG_USB_OXU210HP_HCD is not set | ||
31 | # CONFIG_USB_ISP116X_HCD is not set | ||
32 | # CONFIG_USB_ISP1362_HCD is not set | ||
33 | # CONFIG_USB_FOTG210_HCD is not set | ||
34 | # CONFIG_USB_MAX3421_HCD is not set | ||
35 | CONFIG_USB_OHCI_HCD=n | ||
36 | CONFIG_USB_OHCI_HCD_PCI=n | ||
37 | # CONFIG_USB_OHCI_HCD_PLATFORM is not set | ||
38 | CONFIG_USB_UHCI_HCD=n | ||
39 | # CONFIG_USB_SL811_HCD is not set | ||
40 | # CONFIG_USB_R8A66597_HCD is not set | ||
41 | # CONFIG_USB_HCD_BCMA is not set | ||
42 | # CONFIG_USB_HCD_TEST_MODE is not set | ||
43 | |||
44 | # | ||
45 | # USB Device Class drivers | ||
46 | # | ||
47 | CONFIG_USB_ACM=n | ||
48 | # CONFIG_USB_PRINTER is not set | ||
49 | CONFIG_USB_WDM=n | ||
50 | # CONFIG_USB_TMC is not set | ||
51 | |||
52 | # | ||
53 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may | ||
54 | # | ||
55 | |||
56 | # | ||
57 | # also be needed; see USB_STORAGE Help for more info | ||
58 | # | ||
59 | CONFIG_USB_STORAGE=n | ||
60 | # CONFIG_USB_STORAGE_DEBUG is not set | ||
61 | # CONFIG_USB_STORAGE_REALTEK is not set | ||
62 | # CONFIG_USB_STORAGE_DATAFAB is not set | ||
63 | # CONFIG_USB_STORAGE_FREECOM is not set | ||
64 | # CONFIG_USB_STORAGE_ISD200 is not set | ||
65 | # CONFIG_USB_STORAGE_USBAT is not set | ||
66 | # CONFIG_USB_STORAGE_SDDR09 is not set | ||
67 | # CONFIG_USB_STORAGE_SDDR55 is not set | ||
68 | # CONFIG_USB_STORAGE_JUMPSHOT is not set | ||
69 | # CONFIG_USB_STORAGE_ALAUDA is not set | ||
70 | # CONFIG_USB_STORAGE_ONETOUCH is not set | ||
71 | # CONFIG_USB_STORAGE_KARMA is not set | ||
72 | # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set | ||
73 | # CONFIG_USB_STORAGE_ENE_UB6250 is not set | ||
74 | # CONFIG_USB_UAS is not set | ||
75 | |||
76 | # | ||
77 | # USB Imaging devices | ||
78 | # | ||
79 | # CONFIG_USB_MDC800 is not set | ||
80 | # CONFIG_USB_MICROTEK is not set | ||
81 | # CONFIG_USBIP_CORE is not set | ||
82 | # CONFIG_USB_MUSB_HDRC is not set | ||
83 | CONFIG_USB_DWC3=n | ||
84 | # CONFIG_USB_DWC3_HOST is not set | ||
85 | CONFIG_USB_DWC3_GADGET=n | ||
86 | # CONFIG_USB_DWC3_DUAL_ROLE is not set | ||
87 | |||
88 | # | ||
89 | # Platform Glue Driver Support | ||
90 | # | ||
91 | CONFIG_USB_DWC3_PCI=n | ||
92 | CONFIG_USB_DWC2=n | ||
93 | # CONFIG_USB_DWC2_HOST is not set | ||
94 | |||
95 | # | ||
96 | # Gadget/Dual-role mode requires USB Gadget support to be enabled | ||
97 | # | ||
98 | # CONFIG_USB_DWC2_PERIPHERAL is not set | ||
99 | CONFIG_USB_DWC2_DUAL_ROLE=n | ||
100 | CONFIG_USB_DWC2_PCI=n | ||
101 | # CONFIG_USB_DWC2_DEBUG is not set | ||
102 | # CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set | ||
103 | # CONFIG_USB_CHIPIDEA is not set | ||
104 | # CONFIG_USB_ISP1760 is not set | ||
105 | |||
106 | # | ||
107 | # USB port drivers | ||
108 | # | ||
109 | # CONFIG_USB_USS720 is not set | ||
110 | CONFIG_USB_SERIAL=n | ||
111 | CONFIG_USB_SERIAL_CONSOLE=n | ||
112 | CONFIG_USB_SERIAL_GENERIC=n | ||
113 | # CONFIG_USB_SERIAL_SIMPLE is not set | ||
114 | # CONFIG_USB_SERIAL_AIRCABLE is not set | ||
115 | # CONFIG_USB_SERIAL_ARK3116 is not set | ||
116 | # CONFIG_USB_SERIAL_BELKIN is not set | ||
117 | # CONFIG_USB_SERIAL_CH341 is not set | ||
118 | # CONFIG_USB_SERIAL_WHITEHEAT is not set | ||
119 | # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set | ||
120 | # CONFIG_USB_SERIAL_CP210X is not set | ||
121 | # CONFIG_USB_SERIAL_CYPRESS_M8 is not set | ||
122 | # CONFIG_USB_SERIAL_EMPEG is not set | ||
123 | CONFIG_USB_SERIAL_FTDI_SIO=n | ||
124 | # CONFIG_USB_SERIAL_VISOR is not set | ||
125 | # CONFIG_USB_SERIAL_IPAQ is not set | ||
126 | # CONFIG_USB_SERIAL_IR is not set | ||
127 | # CONFIG_USB_SERIAL_EDGEPORT is not set | ||
128 | # CONFIG_USB_SERIAL_EDGEPORT_TI is not set | ||
129 | # CONFIG_USB_SERIAL_F81232 is not set | ||
130 | # CONFIG_USB_SERIAL_GARMIN is not set | ||
131 | # CONFIG_USB_SERIAL_IPW is not set | ||
132 | # CONFIG_USB_SERIAL_IUU is not set | ||
133 | # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set | ||
134 | # CONFIG_USB_SERIAL_KEYSPAN is not set | ||
135 | # CONFIG_USB_SERIAL_KLSI is not set | ||
136 | # CONFIG_USB_SERIAL_KOBIL_SCT is not set | ||
137 | # CONFIG_USB_SERIAL_MCT_U232 is not set | ||
138 | # CONFIG_USB_SERIAL_METRO is not set | ||
139 | # CONFIG_USB_SERIAL_MOS7720 is not set | ||
140 | # CONFIG_USB_SERIAL_MOS7840 is not set | ||
141 | # CONFIG_USB_SERIAL_MXUPORT is not set | ||
142 | # CONFIG_USB_SERIAL_NAVMAN is not set | ||
143 | CONFIG_USB_SERIAL_PL2303=n | ||
144 | # CONFIG_USB_SERIAL_OTI6858 is not set | ||
145 | # CONFIG_USB_SERIAL_QCAUX is not set | ||
146 | # CONFIG_USB_SERIAL_QUALCOMM is not set | ||
147 | # CONFIG_USB_SERIAL_SPCP8X5 is not set | ||
148 | # CONFIG_USB_SERIAL_SAFE is not set | ||
149 | # CONFIG_USB_SERIAL_SIERRAWIRELESS is not set | ||
150 | # CONFIG_USB_SERIAL_SYMBOL is not set | ||
151 | # CONFIG_USB_SERIAL_TI is not set | ||
152 | # CONFIG_USB_SERIAL_CYBERJACK is not set | ||
153 | # CONFIG_USB_SERIAL_XIRCOM is not set | ||
154 | # CONFIG_USB_SERIAL_OPTION is not set | ||
155 | # CONFIG_USB_SERIAL_OMNINET is not set | ||
156 | # CONFIG_USB_SERIAL_OPTICON is not set | ||
157 | # CONFIG_USB_SERIAL_XSENS_MT is not set | ||
158 | # CONFIG_USB_SERIAL_WISHBONE is not set | ||
159 | # CONFIG_USB_SERIAL_SSU100 is not set | ||
160 | # CONFIG_USB_SERIAL_QT2 is not set | ||
161 | # CONFIG_USB_SERIAL_DEBUG is not set | ||
162 | |||
163 | # | ||
164 | # USB Miscellaneous drivers | ||
165 | # | ||
166 | # CONFIG_USB_EMI62 is not set | ||
167 | # CONFIG_USB_EMI26 is not set | ||
168 | # CONFIG_USB_ADUTUX is not set | ||
169 | # CONFIG_USB_SEVSEG is not set | ||
170 | # CONFIG_USB_RIO500 is not set | ||
171 | # CONFIG_USB_LEGOTOWER is not set | ||
172 | # CONFIG_USB_LCD is not set | ||
173 | # CONFIG_USB_CYPRESS_CY7C63 is not set | ||
174 | # CONFIG_USB_CYTHERM is not set | ||
175 | # CONFIG_USB_IDMOUSE is not set | ||
176 | # CONFIG_USB_FTDI_ELAN is not set | ||
177 | # CONFIG_USB_APPLEDISPLAY is not set | ||
178 | # CONFIG_USB_SISUSBVGA is not set | ||
179 | # CONFIG_USB_LD is not set | ||
180 | # CONFIG_USB_TRANCEVIBRATOR is not set | ||
181 | # CONFIG_USB_IOWARRIOR is not set | ||
182 | # CONFIG_USB_TEST is not set | ||
183 | # CONFIG_USB_EHSET_TEST_FIXTURE is not set | ||
184 | # CONFIG_USB_ISIGHTFW is not set | ||
185 | # CONFIG_USB_YUREX is not set | ||
186 | CONFIG_USB_EZUSB_FX2=n | ||
187 | # CONFIG_USB_HSIC_USB3503 is not set | ||
188 | # CONFIG_USB_HSIC_USB4604 is not set | ||
189 | # CONFIG_USB_LINK_LAYER_TEST is not set | ||
190 | # CONFIG_USB_CHAOSKEY is not set | ||
191 | # CONFIG_UCSI is not set | ||
192 | |||
193 | # | ||
194 | # USB Physical Layer drivers | ||
195 | # | ||
196 | CONFIG_USB_PHY=n | ||
197 | CONFIG_NOP_USB_XCEIV=n | ||
198 | # CONFIG_USB_GPIO_VBUS is not set | ||
199 | # CONFIG_USB_ISP1301 is not set | ||
200 | CONFIG_USB_GADGET=n | ||
201 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | ||
202 | # CONFIG_USB_GADGET_DEBUG_FS is not set | ||
203 | CONFIG_USB_GADGET_VBUS_DRAW=2 | ||
204 | CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 | ||
205 | # CONFIG_U_SERIAL_CONSOLE is not set | ||
206 | |||
207 | # | ||
208 | # USB Peripheral Controller | ||
209 | # | ||
210 | # CONFIG_USB_FOTG210_UDC is not set | ||
211 | # CONFIG_USB_GR_UDC is not set | ||
212 | # CONFIG_USB_R8A66597 is not set | ||
213 | # CONFIG_USB_PXA27X is not set | ||
214 | # CONFIG_USB_MV_UDC is not set | ||
215 | # CONFIG_USB_MV_U3D is not set | ||
216 | # CONFIG_USB_M66592 is not set | ||
217 | # CONFIG_USB_BDC_UDC is not set | ||
218 | # CONFIG_USB_AMD5536UDC is not set | ||
219 | # CONFIG_USB_NET2272 is not set | ||
220 | # CONFIG_USB_NET2280 is not set | ||
221 | # CONFIG_USB_GOKU is not set | ||
222 | # CONFIG_USB_EG20T is not set | ||
223 | # CONFIG_USB_DUMMY_HCD is not set | ||
224 | CONFIG_USB_LIBCOMPOSITE=n | ||
225 | CONFIG_USB_F_ACM=n | ||
226 | CONFIG_USB_F_SS_LB=n | ||
227 | CONFIG_USB_U_SERIAL=n | ||
228 | CONFIG_USB_U_ETHER=n | ||
229 | CONFIG_USB_F_SERIAL=n | ||
230 | CONFIG_USB_F_OBEX=n | ||
231 | CONFIG_USB_F_NCM=n | ||
232 | CONFIG_USB_F_ECM=n | ||
233 | CONFIG_USB_F_SUBSET=n | ||
234 | CONFIG_USB_F_RNDIS=n | ||
235 | CONFIG_USB_F_MASS_STORAGE=n | ||
236 | CONFIG_USB_F_FS=n | ||
237 | CONFIG_USB_F_HID=n | ||
238 | CONFIG_USB_F_PRINTER=n | ||
239 | # CONFIG_USB_CONFIGFS is not set | ||
240 | CONFIG_USB_ZERO=n | ||
241 | CONFIG_USB_ETH=n | ||
242 | CONFIG_USB_ETH_RNDIS=n | ||
243 | # CONFIG_USB_ETH_EEM is not set | ||
244 | CONFIG_USB_G_NCM=n | ||
245 | CONFIG_USB_GADGETFS=n | ||
246 | CONFIG_USB_FUNCTIONFS=n | ||
247 | # CONFIG_USB_FUNCTIONFS_ETH is not set | ||
248 | # CONFIG_USB_FUNCTIONFS_RNDIS is not set | ||
249 | CONFIG_USB_FUNCTIONFS_GENERIC=n | ||
250 | CONFIG_USB_MASS_STORAGE=n | ||
251 | CONFIG_USB_G_SERIAL=n | ||
252 | CONFIG_USB_G_PRINTER=n | ||
253 | CONFIG_USB_CDC_COMPOSITE=n | ||
254 | CONFIG_USB_G_ACM_MS=n | ||
255 | CONFIG_USB_G_MULTI=n | ||
256 | CONFIG_USB_G_MULTI_RNDIS=n | ||
257 | # CONFIG_USB_G_MULTI_CDC is not set | ||
258 | CONFIG_USB_G_HID=n | ||
259 | CONFIG_USB_G_DBGP=n | ||
260 | # CONFIG_USB_G_DBGP_PRINTK is not set | ||
261 | CONFIG_USB_G_DBGP_SERIAL=n | ||
262 | |||
263 | # | ||
264 | # USB PD and Type-C drivers | ||
265 | # | ||
266 | CONFIG_TYPEC=n | ||
267 | CONFIG_USB_PD_SINK=n | ||
268 | CONFIG_TYPEC_WCOVE=n | ||
269 | # CONFIG_USB_LED_TRIG is not set | ||
270 | # CONFIG_USB_ULPI_BUS is not set | ||
diff --git a/features/usbsupport/usbsupport_n.scc b/features/usbsupport/usbsupport_n.scc new file mode 100644 index 0000000..5e93a9a --- /dev/null +++ b/features/usbsupport/usbsupport_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for usb support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware usbsupport_n.cfg | ||
diff --git a/features/vfio/vfio.cfg b/features/vfio/vfio.cfg new file mode 100644 index 0000000..f42b937 --- /dev/null +++ b/features/vfio/vfio.cfg | |||
@@ -0,0 +1,20 @@ | |||
1 | CONFIG_HAVE_INTEL_TXT=y | ||
2 | CONFIG_PCI_PASID=y | ||
3 | CONFIG_VFIO_IOMMU_TYPE1=y | ||
4 | CONFIG_VFIO_VIRQFD=m | ||
5 | CONFIG_VFIO=y | ||
6 | # CONFIG_VFIO_NOIOMMU is not set | ||
7 | CONFIG_VFIO_PCI=m | ||
8 | # CONFIG_VFIO_PCI_VGA is not set | ||
9 | CONFIG_VFIO_PCI_MMAP=y | ||
10 | CONFIG_VFIO_PCI_INTX=y | ||
11 | CONFIG_VFIO_PCI_IGD=y | ||
12 | CONFIG_IOMMU_API=y | ||
13 | CONFIG_IOMMU_IOVA=y | ||
14 | CONFIG_DMAR_TABLE=y | ||
15 | CONFIG_INTEL_IOMMU=y | ||
16 | CONFIG_INTEL_IOMMU_SVM=y | ||
17 | CONFIG_INTEL_IOMMU_DEFAULT_ON=y | ||
18 | CONFIG_INTEL_IOMMU_FLOPPY_WA=y | ||
19 | # CONFIG_INTEL_TXT is not set | ||
20 | # CONFIG_KVM_DEVICE_ASSIGNMENT is not set | ||
diff --git a/features/vfio/vfio.scc b/features/vfio/vfio.scc new file mode 100644 index 0000000..c9369cb --- /dev/null +++ b/features/vfio/vfio.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable VFIO" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware vfio.cfg | ||
diff --git a/features/vga/vga_n.cfg b/features/vga/vga_n.cfg new file mode 100644 index 0000000..cc679da --- /dev/null +++ b/features/vga/vga_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_VGA_ARB=n | |||
diff --git a/features/vga/vga_n.scc b/features/vga/vga_n.scc new file mode 100644 index 0000000..2b9e2c1 --- /dev/null +++ b/features/vga/vga_n.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable VGA" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware vga_n.cfg | ||
diff --git a/features/vga/vga_y.cfg b/features/vga/vga_y.cfg new file mode 100644 index 0000000..6c086b1 --- /dev/null +++ b/features/vga/vga_y.cfg | |||
@@ -0,0 +1,76 @@ | |||
1 | CONFIG_X86_SYSFB=y | ||
2 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
3 | CONFIG_FB=y | ||
4 | # CONFIG_FIRMWARE_EDID is not set | ||
5 | CONFIG_FB_CMDLINE=y | ||
6 | CONFIG_FB_NOTIFY=y | ||
7 | # CONFIG_FB_DDC is not set | ||
8 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
9 | CONFIG_FB_CFB_FILLRECT=y | ||
10 | CONFIG_FB_CFB_COPYAREA=y | ||
11 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
12 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
13 | # CONFIG_FB_SYS_FILLRECT is not set | ||
14 | # CONFIG_FB_SYS_COPYAREA is not set | ||
15 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
16 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
17 | # CONFIG_FB_SYS_FOPS is not set | ||
18 | # CONFIG_FB_SVGALIB is not set | ||
19 | # CONFIG_FB_MACMODES is not set | ||
20 | # CONFIG_FB_BACKLIGHT is not set | ||
21 | CONFIG_FB_MODE_HELPERS=y | ||
22 | CONFIG_FB_TILEBLITTING=y | ||
23 | |||
24 | # | ||
25 | # Frame buffer hardware drivers | ||
26 | # | ||
27 | # CONFIG_FB_CIRRUS is not set | ||
28 | # CONFIG_FB_PM2 is not set | ||
29 | # CONFIG_FB_CYBER2000 is not set | ||
30 | # CONFIG_FB_ARC is not set | ||
31 | CONFIG_FB_VGA16=y | ||
32 | CONFIG_FB_VESA=y | ||
33 | CONFIG_FB_EFI=y | ||
34 | # CONFIG_FB_N411 is not set | ||
35 | # CONFIG_FB_HGA is not set | ||
36 | # CONFIG_FB_OPENCORES is not set | ||
37 | # CONFIG_FB_S1D13XXX is not set | ||
38 | # CONFIG_FB_NVIDIA is not set | ||
39 | # CONFIG_FB_RIVA is not set | ||
40 | # CONFIG_FB_I740 is not set | ||
41 | # CONFIG_FB_LE80578 is not set | ||
42 | # CONFIG_FB_MATROX is not set | ||
43 | # CONFIG_FB_RADEON is not set | ||
44 | # CONFIG_FB_ATY128 is not set | ||
45 | # CONFIG_FB_ATY is not set | ||
46 | # CONFIG_FB_S3 is not set | ||
47 | # CONFIG_FB_SAVAGE is not set | ||
48 | # CONFIG_FB_SIS is not set | ||
49 | # CONFIG_FB_VIA is not set | ||
50 | # CONFIG_FB_NEOMAGIC is not set | ||
51 | # CONFIG_FB_KYRO is not set | ||
52 | # CONFIG_FB_3DFX is not set | ||
53 | # CONFIG_FB_VOODOO1 is not set | ||
54 | # CONFIG_FB_VT8623 is not set | ||
55 | # CONFIG_FB_TRIDENT is not set | ||
56 | # CONFIG_FB_ARK is not set | ||
57 | # CONFIG_FB_PM3 is not set | ||
58 | # CONFIG_FB_CARMINE is not set | ||
59 | # CONFIG_FB_SMSCUFX is not set | ||
60 | # CONFIG_FB_UDL is not set | ||
61 | # CONFIG_FB_IBM_GXT4500 is not set | ||
62 | # CONFIG_FB_VIRTUAL is not set | ||
63 | # CONFIG_FB_METRONOME is not set | ||
64 | # CONFIG_FB_MB862XX is not set | ||
65 | # CONFIG_FB_BROADSHEET is not set | ||
66 | # CONFIG_FB_AUO_K190X is not set | ||
67 | # CONFIG_FB_SM712 is not set | ||
68 | CONFIG_VGASTATE=y | ||
69 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
70 | # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set | ||
71 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | ||
72 | # CONFIG_LOGO is not set | ||
73 | CONFIG_FONT_SUPPORT=y | ||
74 | # CONFIG_FONTS is not set | ||
75 | CONFIG_FONT_8x8=y | ||
76 | CONFIG_FONT_8x16=y | ||
diff --git a/features/vga/vga_y.scc b/features/vga/vga_y.scc new file mode 100644 index 0000000..0fc91a4 --- /dev/null +++ b/features/vga/vga_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable basic support for VGA in kernel" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware vga_y.cfg | ||
diff --git a/features/vhost/vhost_m.cfg b/features/vhost/vhost_m.cfg new file mode 100644 index 0000000..4561a7d --- /dev/null +++ b/features/vhost/vhost_m.cfg | |||
@@ -0,0 +1,7 @@ | |||
1 | CONFIG_VHOST=m | ||
2 | CONFIG_VHOST_NET=m | ||
3 | CONFIG_VHOST_SCSI=m | ||
4 | CONFIG_VHOST_VSOCK=m | ||
5 | CONFIG_VHOST_CROSS_ENDIAN_LEGACY=n | ||
6 | |||
7 | |||
diff --git a/features/vhost/vhost_m.scc b/features/vhost/vhost_m.scc new file mode 100644 index 0000000..e5bbe46 --- /dev/null +++ b/features/vhost/vhost_m.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable vhost support as a module" | ||
2 | define KFEATURE_COMPATIBILITY board | ||
3 | |||
4 | kconf non-hardware vhost_m.cfg | ||
5 | |||
diff --git a/features/vxlan/vxlan_y.cfg b/features/vxlan/vxlan_y.cfg new file mode 100644 index 0000000..ab1a1b8 --- /dev/null +++ b/features/vxlan/vxlan_y.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_VXLAN=y | |||
diff --git a/features/vxlan/vxlan_y.scc b/features/vxlan/vxlan_y.scc new file mode 100644 index 0000000..7998147 --- /dev/null +++ b/features/vxlan/vxlan_y.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable vxlan support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware vxlan_y.cfg | ||
diff --git a/features/watchdog/watchdog_n.cfg b/features/watchdog/watchdog_n.cfg new file mode 100644 index 0000000..3d103ce --- /dev/null +++ b/features/watchdog/watchdog_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_WATCHDOG=n | |||
diff --git a/features/watchdog/watchdog_n.scc b/features/watchdog/watchdog_n.scc new file mode 100644 index 0000000..d394a3d --- /dev/null +++ b/features/watchdog/watchdog_n.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable watchdog support" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware watchdog_n.cfg | ||
diff --git a/features/wireless/wireless_n.cfg b/features/wireless/wireless_n.cfg new file mode 100644 index 0000000..c9c6944 --- /dev/null +++ b/features/wireless/wireless_n.cfg | |||
@@ -0,0 +1,12 @@ | |||
1 | CONFIG_WIRELESS=n | ||
2 | CONFIG_WEXT_CORE=n | ||
3 | CONFIG_WEXT_PROC=n | ||
4 | CONFIG_CFG80211=n | ||
5 | CONFIG_CFG80211_DEFAULT_PS=n | ||
6 | CONFIG_CFG80211_WEXT=n | ||
7 | CONFIG_MAC80211=n | ||
8 | CONFIG_MAC80211_HAS_RC=n | ||
9 | CONFIG_MAC80211_RC_MINSTREL=n | ||
10 | CONFIG_MAC80211_RC_MINSTREL_HT=n | ||
11 | CONFIG_MAC80211_RC_DEFAULT_MINSTREL=n | ||
12 | CONFIG_MAC80211_LEDS=n | ||
diff --git a/features/wireless/wireless_n.scc b/features/wireless/wireless_n.scc new file mode 100644 index 0000000..e072d44 --- /dev/null +++ b/features/wireless/wireless_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for wireless support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf hardware wireless_n.cfg | ||
diff --git a/features/wlan/wlan_n.cfg b/features/wlan/wlan_n.cfg new file mode 100644 index 0000000..59dd7d2 --- /dev/null +++ b/features/wlan/wlan_n.cfg | |||
@@ -0,0 +1,65 @@ | |||
1 | CONFIG_WLAN=n | ||
2 | CONFIG_WLAN_VENDOR_ADMTEK=n | ||
3 | CONFIG_ATH_COMMON=n | ||
4 | CONFIG_WLAN_VENDOR_ATH=n | ||
5 | CONFIG_ATH5K=n | ||
6 | CONFIG_ATH5K_PCI=n | ||
7 | CONFIG_ATH9K_HW=n | ||
8 | CONFIG_ATH9K_COMMON=n | ||
9 | CONFIG_ATH9K_BTCOEX_SUPPORT=n | ||
10 | CONFIG_ATH9K=n | ||
11 | CONFIG_ATH9K_PCI=n | ||
12 | CONFIG_ATH9K_RFKILL=n | ||
13 | CONFIG_ATH9K_PCOEM=n | ||
14 | CONFIG_WLAN_VENDOR_ATMEL=n | ||
15 | CONFIG_WLAN_VENDOR_BROADCOM=n | ||
16 | CONFIG_BRCMUTIL=n | ||
17 | CONFIG_BRCMSMAC=n | ||
18 | CONFIG_BRCMFMAC=n | ||
19 | CONFIG_BRCMFMAC_PROTO_BCDC=n | ||
20 | CONFIG_BRCMFMAC_SDIO=n | ||
21 | CONFIG_BRCMFMAC_USB=n | ||
22 | CONFIG_WLAN_VENDOR_CISCO=n | ||
23 | CONFIG_WLAN_VENDOR_INTEL=n | ||
24 | CONFIG_IWLEGACY=n | ||
25 | CONFIG_IWL4965=n | ||
26 | CONFIG_IWL3945=n | ||
27 | |||
28 | # | ||
29 | # iwl3945 / iwl4965 Debugging Options | ||
30 | # | ||
31 | CONFIG_IWLWIFI=n | ||
32 | CONFIG_IWLWIFI_LEDS=n | ||
33 | CONFIG_IWLDVM=n | ||
34 | CONFIG_IWLMVM=n | ||
35 | CONFIG_IWLWIFI_OPMODE_MODULAR=n | ||
36 | |||
37 | # | ||
38 | # Debugging Options | ||
39 | # | ||
40 | CONFIG_IWLWIFI_DEVICE_TRACING=n | ||
41 | CONFIG_WLAN_VENDOR_INTERSIL=n | ||
42 | CONFIG_WLAN_VENDOR_MARVELL=n | ||
43 | CONFIG_WLAN_VENDOR_MEDIATEK=n | ||
44 | CONFIG_WLAN_VENDOR_RALINK=n | ||
45 | CONFIG_RT2X00=n | ||
46 | CONFIG_RT2800PCI=n | ||
47 | CONFIG_RT2800PCI_RT33XX=n | ||
48 | CONFIG_RT2800PCI_RT35XX=n | ||
49 | CONFIG_RT2800PCI_RT53XX=n | ||
50 | CONFIG_RT2800PCI_RT3290=n | ||
51 | CONFIG_RT2800_LIB=n | ||
52 | CONFIG_RT2800_LIB_MMIO=n | ||
53 | CONFIG_RT2X00_LIB_MMIO=n | ||
54 | CONFIG_RT2X00_LIB_PCI=n | ||
55 | CONFIG_RT2X00_LIB=n | ||
56 | CONFIG_RT2X00_LIB_FIRMWARE=n | ||
57 | CONFIG_RT2X00_LIB_CRYPTO=n | ||
58 | CONFIG_RT2X00_LIB_LEDS=n | ||
59 | CONFIG_WLAN_VENDOR_REALTEK=n | ||
60 | CONFIG_RTL_CARDS=n | ||
61 | CONFIG_RTL_CARDS=n | ||
62 | CONFIG_WLAN_VENDOR_RSI=n | ||
63 | CONFIG_WLAN_VENDOR_ST=n | ||
64 | CONFIG_WLAN_VENDOR_TI=n | ||
65 | CONFIG_WLAN_VENDOR_ZYDAS=n | ||
diff --git a/features/wlan/wlan_n.scc b/features/wlan/wlan_n.scc new file mode 100644 index 0000000..9861bf1 --- /dev/null +++ b/features/wlan/wlan_n.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable options for wlan support" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | kconf non-hardware wlan_n.cfg | ||
diff --git a/features/x86_platform/x86_platform_n.cfg b/features/x86_platform/x86_platform_n.cfg new file mode 100644 index 0000000..2a96aa9 --- /dev/null +++ b/features/x86_platform/x86_platform_n.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_X86_PLATFORM_DEVICES=n | |||
diff --git a/features/x86_platform/x86_platform_n.scc b/features/x86_platform/x86_platform_n.scc new file mode 100644 index 0000000..a224808 --- /dev/null +++ b/features/x86_platform/x86_platform_n.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Disable x86 platform devices" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware x86_platform_n.cfg | ||
diff --git a/features/xor_blocks/xor_blocks_m.cfg b/features/xor_blocks/xor_blocks_m.cfg new file mode 100644 index 0000000..584c49c --- /dev/null +++ b/features/xor_blocks/xor_blocks_m.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_XOR_BLOCKS=m | |||
diff --git a/features/xor_blocks/xor_blocks_m.scc b/features/xor_blocks/xor_blocks_m.scc new file mode 100644 index 0000000..3ef6b9d --- /dev/null +++ b/features/xor_blocks/xor_blocks_m.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Build XOR blocks as a module" | ||
2 | |||
3 | define KFEATURE_COMPATIBILITY all | ||
4 | |||
5 | kconf hardware xor_blocks_m.cfg | ||
diff --git a/patches/boot_time_opt/0011-drm-i915-fbc-sanitize-fbc-GEN-greater-than-9.patch b/patches/boot_time_opt/0011-drm-i915-fbc-sanitize-fbc-GEN-greater-than-9.patch new file mode 100644 index 0000000..33debcd --- /dev/null +++ b/patches/boot_time_opt/0011-drm-i915-fbc-sanitize-fbc-GEN-greater-than-9.patch | |||
@@ -0,0 +1,25 @@ | |||
1 | From 07639791f247ae7a807444106b9b7611f070d02b Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Fri, 6 Jan 2017 13:28:29 +0000 | ||
4 | Subject: [PATCH] drm/i915/fbc: sanitize fbc GEN greater than 9 | ||
5 | |||
6 | --- | ||
7 | drivers/gpu/drm/i915/intel_fbc.c | 2 +- | ||
8 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
9 | |||
10 | diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c | ||
11 | index c43dd9abce79..f5a2560840f3 100644 | ||
12 | --- a/drivers/gpu/drm/i915/intel_fbc.c | ||
13 | +++ b/drivers/gpu/drm/i915/intel_fbc.c | ||
14 | @@ -1262,7 +1262,7 @@ static int intel_sanitize_fbc_option(struct drm_i915_private *dev_priv) | ||
15 | if (!HAS_FBC(dev_priv)) | ||
16 | return 0; | ||
17 | |||
18 | - if (IS_BROADWELL(dev_priv)) | ||
19 | + if (IS_BROADWELL(dev_priv) || INTEL_GEN(dev_priv) >= 9) | ||
20 | return 1; | ||
21 | |||
22 | return 0; | ||
23 | -- | ||
24 | 2.11.1 | ||
25 | |||
diff --git a/patches/boot_time_opt/0101-kvm-silence-kvm-unhandled-rdmsr.patch b/patches/boot_time_opt/0101-kvm-silence-kvm-unhandled-rdmsr.patch new file mode 100644 index 0000000..aeb3abf --- /dev/null +++ b/patches/boot_time_opt/0101-kvm-silence-kvm-unhandled-rdmsr.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | From f45c353859fc0ceb75fef3a2f4a2c179dfa378d7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Tue, 23 Jun 2015 01:16:45 -0500 | ||
4 | Subject: [PATCH 101/124] kvm: silence kvm unhandled rdmsr | ||
5 | |||
6 | Author: Arjan van de Ven <arjan@linux.intel.com> | ||
7 | |||
8 | Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
9 | Signed-off-by: Jose Carlos Venegas Munoz <jos.c.venegas.munoz@intel.com> | ||
10 | --- | ||
11 | arch/x86/kvm/x86.c | 2 +- | ||
12 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
13 | |||
14 | diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c | ||
15 | index 731044efb195..582c75311f95 100644 | ||
16 | --- a/arch/x86/kvm/x86.c | ||
17 | +++ b/arch/x86/kvm/x86.c | ||
18 | @@ -2506,7 +2506,7 @@ int kvm_get_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr_info) | ||
19 | if (kvm_pmu_is_valid_msr(vcpu, msr_info->index)) | ||
20 | return kvm_pmu_get_msr(vcpu, msr_info->index, &msr_info->data); | ||
21 | if (!ignore_msrs) { | ||
22 | - vcpu_unimpl(vcpu, "unhandled rdmsr: 0x%x\n", msr_info->index); | ||
23 | +// vcpu_unimpl(vcpu, "unhandled rdmsr: 0x%x\n", msr_info->index); | ||
24 | return 1; | ||
25 | } else { | ||
26 | vcpu_unimpl(vcpu, "ignored rdmsr: 0x%x\n", msr_info->index); | ||
27 | -- | ||
28 | 2.11.1 | ||
29 | |||
diff --git a/patches/boot_time_opt/0102-i8042-decrease-debug-message-level-to-info.patch b/patches/boot_time_opt/0102-i8042-decrease-debug-message-level-to-info.patch new file mode 100644 index 0000000..96fd92b --- /dev/null +++ b/patches/boot_time_opt/0102-i8042-decrease-debug-message-level-to-info.patch | |||
@@ -0,0 +1,65 @@ | |||
1 | From 7e847b13b753ec632fef2f1ffa0d8f5b444c967b Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Tue, 23 Jun 2015 01:26:52 -0500 | ||
4 | Subject: [PATCH 102/124] i8042: decrease debug message level to info | ||
5 | |||
6 | Author: Arjan van de Ven <arjan@linux.intel.com> | ||
7 | |||
8 | Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
9 | Signed-off-by: Jose Carlos Venegas Munoz <jos.c.venegas.munoz@intel.com> | ||
10 | --- | ||
11 | drivers/input/serio/i8042.c | 10 +++++----- | ||
12 | 1 file changed, 5 insertions(+), 5 deletions(-) | ||
13 | |||
14 | diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c | ||
15 | index 89abfdb539ac..5317c41b049e 100644 | ||
16 | --- a/drivers/input/serio/i8042.c | ||
17 | +++ b/drivers/input/serio/i8042.c | ||
18 | @@ -593,7 +593,7 @@ static int i8042_enable_kbd_port(void) | ||
19 | if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) { | ||
20 | i8042_ctr &= ~I8042_CTR_KBDINT; | ||
21 | i8042_ctr |= I8042_CTR_KBDDIS; | ||
22 | - pr_err("Failed to enable KBD port\n"); | ||
23 | + pr_info("Failed to enable KBD port\n"); | ||
24 | return -EIO; | ||
25 | } | ||
26 | |||
27 | @@ -612,7 +612,7 @@ static int i8042_enable_aux_port(void) | ||
28 | if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) { | ||
29 | i8042_ctr &= ~I8042_CTR_AUXINT; | ||
30 | i8042_ctr |= I8042_CTR_AUXDIS; | ||
31 | - pr_err("Failed to enable AUX port\n"); | ||
32 | + pr_info("Failed to enable AUX port\n"); | ||
33 | return -EIO; | ||
34 | } | ||
35 | |||
36 | @@ -704,7 +704,7 @@ static int __init i8042_check_mux(void) | ||
37 | i8042_ctr &= ~I8042_CTR_AUXINT; | ||
38 | |||
39 | if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) { | ||
40 | - pr_err("Failed to disable AUX port, can't use MUX\n"); | ||
41 | + pr_info("Failed to disable AUX port, can't use MUX\n"); | ||
42 | return -EIO; | ||
43 | } | ||
44 | |||
45 | @@ -927,7 +927,7 @@ static int i8042_controller_selftest(void) | ||
46 | do { | ||
47 | |||
48 | if (i8042_command(¶m, I8042_CMD_CTL_TEST)) { | ||
49 | - pr_err("i8042 controller selftest timeout\n"); | ||
50 | + pr_info("i8042 controller selftest timeout\n"); | ||
51 | return -ENODEV; | ||
52 | } | ||
53 | |||
54 | @@ -949,7 +949,7 @@ static int i8042_controller_selftest(void) | ||
55 | pr_info("giving up on controller selftest, continuing anyway...\n"); | ||
56 | return 0; | ||
57 | #else | ||
58 | - pr_err("i8042 controller selftest failed\n"); | ||
59 | + pr_info("i8042 controller selftest failed\n"); | ||
60 | return -EIO; | ||
61 | #endif | ||
62 | } | ||
63 | -- | ||
64 | 2.11.1 | ||
65 | |||
diff --git a/patches/boot_time_opt/0103-init-do_mounts-recreate-dev-root.patch b/patches/boot_time_opt/0103-init-do_mounts-recreate-dev-root.patch new file mode 100644 index 0000000..bb7bb9f --- /dev/null +++ b/patches/boot_time_opt/0103-init-do_mounts-recreate-dev-root.patch | |||
@@ -0,0 +1,42 @@ | |||
1 | From 838abc7e5f43ea40a2cc05ebd6c7321b6d84b057 Mon Sep 17 00:00:00 2001 | ||
2 | From: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
3 | Date: Fri, 20 Nov 2015 14:01:26 -0600 | ||
4 | Subject: [PATCH 103/124] init: do_mounts: recreate /dev/root | ||
5 | |||
6 | Rootfs shows as is mounted in /dev/root, but this devices is not present in | ||
7 | /dev directory. | ||
8 | |||
9 | Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
10 | --- | ||
11 | init/do_mounts.c | 8 ++++++++ | ||
12 | 1 file changed, 8 insertions(+) | ||
13 | |||
14 | diff --git a/init/do_mounts.c b/init/do_mounts.c | ||
15 | index dea5de95c2dd..d74a346b2dfa 100644 | ||
16 | --- a/init/do_mounts.c | ||
17 | +++ b/init/do_mounts.c | ||
18 | @@ -549,6 +549,7 @@ void __init mount_root(void) | ||
19 | void __init prepare_namespace(void) | ||
20 | { | ||
21 | int is_floppy; | ||
22 | + int err; | ||
23 | |||
24 | if (root_delay) { | ||
25 | printk(KERN_INFO "Waiting %d sec before mounting root device...\n", | ||
26 | @@ -602,6 +603,13 @@ void __init prepare_namespace(void) | ||
27 | devtmpfs_mount("dev"); | ||
28 | sys_mount(".", "/", NULL, MS_MOVE, NULL); | ||
29 | sys_chroot("."); | ||
30 | +#ifdef CONFIG_BLOCK | ||
31 | + /* recreate the /dev/root */ | ||
32 | + err = create_dev("/dev/root", ROOT_DEV); | ||
33 | + | ||
34 | + if (err < 0) | ||
35 | + pr_emerg("Failed to create /dev/root: %d\n", err); | ||
36 | +#endif | ||
37 | } | ||
38 | |||
39 | static bool is_tmpfs; | ||
40 | -- | ||
41 | 2.11.1 | ||
42 | |||
diff --git a/patches/boot_time_opt/0104-Increase-the-ext4-default-commit-age.patch b/patches/boot_time_opt/0104-Increase-the-ext4-default-commit-age.patch new file mode 100644 index 0000000..fb709b4 --- /dev/null +++ b/patches/boot_time_opt/0104-Increase-the-ext4-default-commit-age.patch | |||
@@ -0,0 +1,35 @@ | |||
1 | From b6970d43f97325c9acc7bd942dcd192586d8d407 Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Mon, 11 Jan 2016 10:01:44 -0600 | ||
4 | Subject: [PATCH 104/124] Increase the ext4 default commit age | ||
5 | |||
6 | Both the VM and EXT4 have a "commit to disk after X seconds" time. | ||
7 | Currently the EXT4 time is shorter than our VM time, which is a bit | ||
8 | suboptional, | ||
9 | it's better for performance to let the VM do the writeouts in bulk | ||
10 | rather than something deep in the journalling layer. | ||
11 | |||
12 | (DISTRO TWEAK -- NOT FOR UPSTREAM) | ||
13 | |||
14 | Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> | ||
15 | Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com> | ||
16 | --- | ||
17 | include/linux/jbd2.h | 2 +- | ||
18 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
19 | |||
20 | diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h | ||
21 | index dfaa1f4dcb0c..9955fd6c6159 100644 | ||
22 | --- a/include/linux/jbd2.h | ||
23 | +++ b/include/linux/jbd2.h | ||
24 | @@ -47,7 +47,7 @@ | ||
25 | /* | ||
26 | * The default maximum commit age, in seconds. | ||
27 | */ | ||
28 | -#define JBD2_DEFAULT_MAX_COMMIT_AGE 5 | ||
29 | +#define JBD2_DEFAULT_MAX_COMMIT_AGE 30 | ||
30 | |||
31 | #ifdef CONFIG_JBD2_DEBUG | ||
32 | /* | ||
33 | -- | ||
34 | 2.11.1 | ||
35 | |||
diff --git a/patches/boot_time_opt/0105-silence-rapl.patch b/patches/boot_time_opt/0105-silence-rapl.patch new file mode 100644 index 0000000..4dd78fc --- /dev/null +++ b/patches/boot_time_opt/0105-silence-rapl.patch | |||
@@ -0,0 +1,25 @@ | |||
1 | From 558d32869c8d8e302dd3810610d62e1c69a8ebce Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Mon, 14 Mar 2016 11:22:09 -0600 | ||
4 | Subject: [PATCH 105/124] silence rapl | ||
5 | |||
6 | --- | ||
7 | drivers/powercap/intel_rapl.c | 2 +- | ||
8 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
9 | |||
10 | diff --git a/drivers/powercap/intel_rapl.c b/drivers/powercap/intel_rapl.c | ||
11 | index 3c71f608b444..450aff027d42 100644 | ||
12 | --- a/drivers/powercap/intel_rapl.c | ||
13 | +++ b/drivers/powercap/intel_rapl.c | ||
14 | @@ -1684,7 +1684,7 @@ static int __init rapl_init(void) | ||
15 | |||
16 | id = x86_match_cpu(rapl_ids); | ||
17 | if (!id) { | ||
18 | - pr_err("driver does not support CPU family %d model %d\n", | ||
19 | + pr_info("driver does not support CPU family %d model %d\n", | ||
20 | boot_cpu_data.x86, boot_cpu_data.x86_model); | ||
21 | |||
22 | return -ENODEV; | ||
23 | -- | ||
24 | 2.11.1 | ||
25 | |||
diff --git a/patches/boot_time_opt/0106-pci-pme-wakeups.patch b/patches/boot_time_opt/0106-pci-pme-wakeups.patch new file mode 100644 index 0000000..f0a4799 --- /dev/null +++ b/patches/boot_time_opt/0106-pci-pme-wakeups.patch | |||
@@ -0,0 +1,27 @@ | |||
1 | From 1f44219cd74f5c3b97e2c85af87141e1bddf0555 Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Mon, 14 Mar 2016 11:10:58 -0600 | ||
4 | Subject: [PATCH 106/124] pci pme wakeups | ||
5 | |||
6 | Reduce wakeups for PME checks, which are a workaround for miswired | ||
7 | boards (sadly, too many of them) in laptops. | ||
8 | --- | ||
9 | drivers/pci/pci.c | 2 +- | ||
10 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
11 | |||
12 | diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c | ||
13 | index eda6a7cf0e54..82a623255059 100644 | ||
14 | --- a/drivers/pci/pci.c | ||
15 | +++ b/drivers/pci/pci.c | ||
16 | @@ -57,7 +57,7 @@ struct pci_pme_device { | ||
17 | struct pci_dev *dev; | ||
18 | }; | ||
19 | |||
20 | -#define PME_TIMEOUT 1000 /* How long between PME checks */ | ||
21 | +#define PME_TIMEOUT 4000 /* How long between PME checks */ | ||
22 | |||
23 | static void pci_dev_d3_sleep(struct pci_dev *dev) | ||
24 | { | ||
25 | -- | ||
26 | 2.11.1 | ||
27 | |||
diff --git a/patches/boot_time_opt/0107-ksm-wakeups.patch b/patches/boot_time_opt/0107-ksm-wakeups.patch new file mode 100644 index 0000000..2b25625 --- /dev/null +++ b/patches/boot_time_opt/0107-ksm-wakeups.patch | |||
@@ -0,0 +1,34 @@ | |||
1 | From a5de04044d428bf54472365e7dc07958aa184daf Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Mon, 14 Mar 2016 11:06:46 -0600 | ||
4 | Subject: [PATCH 107/124] ksm-wakeups | ||
5 | |||
6 | reduce wakeups in ksm by adding rounding (aligning) when the sleep times are 1 second or longer | ||
7 | |||
8 | Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> | ||
9 | --- | ||
10 | mm/ksm.c | 8 ++++++-- | ||
11 | 1 file changed, 6 insertions(+), 2 deletions(-) | ||
12 | |||
13 | diff --git a/mm/ksm.c b/mm/ksm.c | ||
14 | index 9ae6011a41f8..eecd3ff669e2 100644 | ||
15 | --- a/mm/ksm.c | ||
16 | +++ b/mm/ksm.c | ||
17 | @@ -1725,8 +1725,12 @@ static int ksm_scan_thread(void *nothing) | ||
18 | try_to_freeze(); | ||
19 | |||
20 | if (ksmd_should_run()) { | ||
21 | - schedule_timeout_interruptible( | ||
22 | - msecs_to_jiffies(ksm_thread_sleep_millisecs)); | ||
23 | + if (ksm_thread_sleep_millisecs >= 1000) | ||
24 | + schedule_timeout_interruptible( | ||
25 | + msecs_to_jiffies(round_jiffies_relative(ksm_thread_sleep_millisecs))); | ||
26 | + else | ||
27 | + schedule_timeout_interruptible( | ||
28 | + msecs_to_jiffies(ksm_thread_sleep_millisecs)); | ||
29 | } else { | ||
30 | wait_event_freezable(ksm_thread_wait, | ||
31 | ksmd_should_run() || kthread_should_stop()); | ||
32 | -- | ||
33 | 2.11.1 | ||
34 | |||
diff --git a/patches/boot_time_opt/0108-intel_idle-tweak-cpuidle-cstates.patch b/patches/boot_time_opt/0108-intel_idle-tweak-cpuidle-cstates.patch new file mode 100644 index 0000000..da5396c --- /dev/null +++ b/patches/boot_time_opt/0108-intel_idle-tweak-cpuidle-cstates.patch | |||
@@ -0,0 +1,227 @@ | |||
1 | From bf7e0cebaafe790f62cbc5815648d556847b7d27 Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Sat, 19 Mar 2016 21:32:19 -0400 | ||
4 | Subject: [PATCH 108/124] intel_idle: tweak cpuidle cstates | ||
5 | |||
6 | Increase target_residency in cpuidle cstate | ||
7 | |||
8 | Tune intel_idle to be a bit less agressive; | ||
9 | Clear linux is cleaner in hygiene (wakupes) than the average linux, | ||
10 | so we can afford changing these in a way that increases | ||
11 | performance while keeping power efficiency | ||
12 | --- | ||
13 | drivers/idle/intel_idle.c | 74 +++++++++++------------------------------------ | ||
14 | 1 file changed, 17 insertions(+), 57 deletions(-) | ||
15 | |||
16 | diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c | ||
17 | index 4466a2f969d7..cbab050b83f0 100644 | ||
18 | --- a/drivers/idle/intel_idle.c | ||
19 | +++ b/drivers/idle/intel_idle.c | ||
20 | @@ -475,7 +475,7 @@ static struct cpuidle_state hsw_cstates[] = { | ||
21 | .desc = "MWAIT 0x10", | ||
22 | .flags = MWAIT2flg(0x10) | CPUIDLE_FLAG_TLB_FLUSHED, | ||
23 | .exit_latency = 33, | ||
24 | - .target_residency = 100, | ||
25 | + .target_residency = 1000, | ||
26 | .enter = &intel_idle, | ||
27 | .enter_freeze = intel_idle_freeze, }, | ||
28 | { | ||
29 | @@ -483,7 +483,7 @@ static struct cpuidle_state hsw_cstates[] = { | ||
30 | .desc = "MWAIT 0x20", | ||
31 | .flags = MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED, | ||
32 | .exit_latency = 133, | ||
33 | - .target_residency = 400, | ||
34 | + .target_residency = 4000, | ||
35 | .enter = &intel_idle, | ||
36 | .enter_freeze = intel_idle_freeze, }, | ||
37 | { | ||
38 | @@ -491,7 +491,7 @@ static struct cpuidle_state hsw_cstates[] = { | ||
39 | .desc = "MWAIT 0x32", | ||
40 | .flags = MWAIT2flg(0x32) | CPUIDLE_FLAG_TLB_FLUSHED, | ||
41 | .exit_latency = 166, | ||
42 | - .target_residency = 500, | ||
43 | + .target_residency = 5000, | ||
44 | .enter = &intel_idle, | ||
45 | .enter_freeze = intel_idle_freeze, }, | ||
46 | { | ||
47 | @@ -499,7 +499,7 @@ static struct cpuidle_state hsw_cstates[] = { | ||
48 | .desc = "MWAIT 0x40", | ||
49 | .flags = MWAIT2flg(0x40) | CPUIDLE_FLAG_TLB_FLUSHED, | ||
50 | .exit_latency = 300, | ||
51 | - .target_residency = 900, | ||
52 | + .target_residency = 9000, | ||
53 | .enter = &intel_idle, | ||
54 | .enter_freeze = intel_idle_freeze, }, | ||
55 | { | ||
56 | @@ -507,7 +507,7 @@ static struct cpuidle_state hsw_cstates[] = { | ||
57 | .desc = "MWAIT 0x50", | ||
58 | .flags = MWAIT2flg(0x50) | CPUIDLE_FLAG_TLB_FLUSHED, | ||
59 | .exit_latency = 600, | ||
60 | - .target_residency = 1800, | ||
61 | + .target_residency = 18000, | ||
62 | .enter = &intel_idle, | ||
63 | .enter_freeze = intel_idle_freeze, }, | ||
64 | { | ||
65 | @@ -515,7 +515,7 @@ static struct cpuidle_state hsw_cstates[] = { | ||
66 | .desc = "MWAIT 0x60", | ||
67 | .flags = MWAIT2flg(0x60) | CPUIDLE_FLAG_TLB_FLUSHED, | ||
68 | .exit_latency = 2600, | ||
69 | - .target_residency = 7700, | ||
70 | + .target_residency = 77000, | ||
71 | .enter = &intel_idle, | ||
72 | .enter_freeze = intel_idle_freeze, }, | ||
73 | { | ||
74 | @@ -531,27 +531,11 @@ static struct cpuidle_state bdw_cstates[] = { | ||
75 | .enter = &intel_idle, | ||
76 | .enter_freeze = intel_idle_freeze, }, | ||
77 | { | ||
78 | - .name = "C1E-BDW", | ||
79 | - .desc = "MWAIT 0x01", | ||
80 | - .flags = MWAIT2flg(0x01), | ||
81 | - .exit_latency = 10, | ||
82 | - .target_residency = 20, | ||
83 | - .enter = &intel_idle, | ||
84 | - .enter_freeze = intel_idle_freeze, }, | ||
85 | - { | ||
86 | - .name = "C3-BDW", | ||
87 | - .desc = "MWAIT 0x10", | ||
88 | - .flags = MWAIT2flg(0x10) | CPUIDLE_FLAG_TLB_FLUSHED, | ||
89 | - .exit_latency = 40, | ||
90 | - .target_residency = 100, | ||
91 | - .enter = &intel_idle, | ||
92 | - .enter_freeze = intel_idle_freeze, }, | ||
93 | - { | ||
94 | .name = "C6-BDW", | ||
95 | .desc = "MWAIT 0x20", | ||
96 | .flags = MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED, | ||
97 | .exit_latency = 133, | ||
98 | - .target_residency = 400, | ||
99 | + .target_residency = 4000, | ||
100 | .enter = &intel_idle, | ||
101 | .enter_freeze = intel_idle_freeze, }, | ||
102 | { | ||
103 | @@ -559,7 +543,7 @@ static struct cpuidle_state bdw_cstates[] = { | ||
104 | .desc = "MWAIT 0x32", | ||
105 | .flags = MWAIT2flg(0x32) | CPUIDLE_FLAG_TLB_FLUSHED, | ||
106 | .exit_latency = 166, | ||
107 | - .target_residency = 500, | ||
108 | + .target_residency = 5000, | ||
109 | .enter = &intel_idle, | ||
110 | .enter_freeze = intel_idle_freeze, }, | ||
111 | { | ||
112 | @@ -567,7 +551,7 @@ static struct cpuidle_state bdw_cstates[] = { | ||
113 | .desc = "MWAIT 0x40", | ||
114 | .flags = MWAIT2flg(0x40) | CPUIDLE_FLAG_TLB_FLUSHED, | ||
115 | .exit_latency = 300, | ||
116 | - .target_residency = 900, | ||
117 | + .target_residency = 9000, | ||
118 | .enter = &intel_idle, | ||
119 | .enter_freeze = intel_idle_freeze, }, | ||
120 | { | ||
121 | @@ -575,7 +559,7 @@ static struct cpuidle_state bdw_cstates[] = { | ||
122 | .desc = "MWAIT 0x50", | ||
123 | .flags = MWAIT2flg(0x50) | CPUIDLE_FLAG_TLB_FLUSHED, | ||
124 | .exit_latency = 600, | ||
125 | - .target_residency = 1800, | ||
126 | + .target_residency = 18000, | ||
127 | .enter = &intel_idle, | ||
128 | .enter_freeze = intel_idle_freeze, }, | ||
129 | { | ||
130 | @@ -583,7 +567,7 @@ static struct cpuidle_state bdw_cstates[] = { | ||
131 | .desc = "MWAIT 0x60", | ||
132 | .flags = MWAIT2flg(0x60) | CPUIDLE_FLAG_TLB_FLUSHED, | ||
133 | .exit_latency = 2600, | ||
134 | - .target_residency = 7700, | ||
135 | + .target_residency = 77000, | ||
136 | .enter = &intel_idle, | ||
137 | .enter_freeze = intel_idle_freeze, }, | ||
138 | { | ||
139 | @@ -600,27 +584,11 @@ static struct cpuidle_state skl_cstates[] = { | ||
140 | .enter = &intel_idle, | ||
141 | .enter_freeze = intel_idle_freeze, }, | ||
142 | { | ||
143 | - .name = "C1E-SKL", | ||
144 | - .desc = "MWAIT 0x01", | ||
145 | - .flags = MWAIT2flg(0x01), | ||
146 | - .exit_latency = 10, | ||
147 | - .target_residency = 20, | ||
148 | - .enter = &intel_idle, | ||
149 | - .enter_freeze = intel_idle_freeze, }, | ||
150 | - { | ||
151 | - .name = "C3-SKL", | ||
152 | - .desc = "MWAIT 0x10", | ||
153 | - .flags = MWAIT2flg(0x10) | CPUIDLE_FLAG_TLB_FLUSHED, | ||
154 | - .exit_latency = 70, | ||
155 | - .target_residency = 100, | ||
156 | - .enter = &intel_idle, | ||
157 | - .enter_freeze = intel_idle_freeze, }, | ||
158 | - { | ||
159 | .name = "C6-SKL", | ||
160 | .desc = "MWAIT 0x20", | ||
161 | .flags = MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED, | ||
162 | .exit_latency = 85, | ||
163 | - .target_residency = 200, | ||
164 | + .target_residency = 2000, | ||
165 | .enter = &intel_idle, | ||
166 | .enter_freeze = intel_idle_freeze, }, | ||
167 | { | ||
168 | @@ -628,7 +596,7 @@ static struct cpuidle_state skl_cstates[] = { | ||
169 | .desc = "MWAIT 0x33", | ||
170 | .flags = MWAIT2flg(0x33) | CPUIDLE_FLAG_TLB_FLUSHED, | ||
171 | .exit_latency = 124, | ||
172 | - .target_residency = 800, | ||
173 | + .target_residency = 8000, | ||
174 | .enter = &intel_idle, | ||
175 | .enter_freeze = intel_idle_freeze, }, | ||
176 | { | ||
177 | @@ -636,7 +604,7 @@ static struct cpuidle_state skl_cstates[] = { | ||
178 | .desc = "MWAIT 0x40", | ||
179 | .flags = MWAIT2flg(0x40) | CPUIDLE_FLAG_TLB_FLUSHED, | ||
180 | .exit_latency = 200, | ||
181 | - .target_residency = 800, | ||
182 | + .target_residency = 8000, | ||
183 | .enter = &intel_idle, | ||
184 | .enter_freeze = intel_idle_freeze, }, | ||
185 | { | ||
186 | @@ -644,7 +612,7 @@ static struct cpuidle_state skl_cstates[] = { | ||
187 | .desc = "MWAIT 0x50", | ||
188 | .flags = MWAIT2flg(0x50) | CPUIDLE_FLAG_TLB_FLUSHED, | ||
189 | .exit_latency = 480, | ||
190 | - .target_residency = 5000, | ||
191 | + .target_residency = 50000, | ||
192 | .enter = &intel_idle, | ||
193 | .enter_freeze = intel_idle_freeze, }, | ||
194 | { | ||
195 | @@ -652,7 +620,7 @@ static struct cpuidle_state skl_cstates[] = { | ||
196 | .desc = "MWAIT 0x60", | ||
197 | .flags = MWAIT2flg(0x60) | CPUIDLE_FLAG_TLB_FLUSHED, | ||
198 | .exit_latency = 890, | ||
199 | - .target_residency = 5000, | ||
200 | + .target_residency = 50000, | ||
201 | .enter = &intel_idle, | ||
202 | .enter_freeze = intel_idle_freeze, }, | ||
203 | { | ||
204 | @@ -669,19 +637,11 @@ static struct cpuidle_state skx_cstates[] = { | ||
205 | .enter = &intel_idle, | ||
206 | .enter_freeze = intel_idle_freeze, }, | ||
207 | { | ||
208 | - .name = "C1E-SKX", | ||
209 | - .desc = "MWAIT 0x01", | ||
210 | - .flags = MWAIT2flg(0x01), | ||
211 | - .exit_latency = 10, | ||
212 | - .target_residency = 20, | ||
213 | - .enter = &intel_idle, | ||
214 | - .enter_freeze = intel_idle_freeze, }, | ||
215 | - { | ||
216 | .name = "C6-SKX", | ||
217 | .desc = "MWAIT 0x20", | ||
218 | .flags = MWAIT2flg(0x20) | CPUIDLE_FLAG_TLB_FLUSHED, | ||
219 | .exit_latency = 133, | ||
220 | - .target_residency = 600, | ||
221 | + .target_residency = 1600, | ||
222 | .enter = &intel_idle, | ||
223 | .enter_freeze = intel_idle_freeze, }, | ||
224 | { | ||
225 | -- | ||
226 | 2.11.1 | ||
227 | |||
diff --git a/patches/boot_time_opt/0109-xattr-allow-setting-user.-attributes-on-symlinks-by-.patch b/patches/boot_time_opt/0109-xattr-allow-setting-user.-attributes-on-symlinks-by-.patch new file mode 100644 index 0000000..70247a0 --- /dev/null +++ b/patches/boot_time_opt/0109-xattr-allow-setting-user.-attributes-on-symlinks-by-.patch | |||
@@ -0,0 +1,56 @@ | |||
1 | From 4170571f7bb0897c90e13b2fcf3ee06990a9e774 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alan Cox <alan@linux.intel.com> | ||
3 | Date: Thu, 10 Mar 2016 15:11:28 +0000 | ||
4 | Subject: [PATCH 109/124] xattr: allow setting user.* attributes on symlinks by | ||
5 | owner | ||
6 | |||
7 | Kvmtool and clear containers supports using user attributes to label host | ||
8 | files with the virtual uid/guid of the file in the container. This allows an | ||
9 | end user to manage their files and a complete uid space without all the ugly | ||
10 | namespace stuff. | ||
11 | |||
12 | The one gap in the support is symlinks because an end user can change the | ||
13 | ownership of a symbolic link. We support attributes on these files as you | ||
14 | can already (as root) set security attributes on them. | ||
15 | |||
16 | The current rules seem slightly over-paranoid and as we have a use case this | ||
17 | patch enables updating the attributes on a symbolic link IFF you are the | ||
18 | owner of the synlink (as permissions are not usually meaningful on the link | ||
19 | itself). | ||
20 | |||
21 | Signed-off-by: Alan Cox <alan@linux.intel.com> | ||
22 | --- | ||
23 | fs/xattr.c | 14 ++++++++------ | ||
24 | 1 file changed, 8 insertions(+), 6 deletions(-) | ||
25 | |||
26 | diff --git a/fs/xattr.c b/fs/xattr.c | ||
27 | index 2d13b4e62fae..580a5aeddfd2 100644 | ||
28 | --- a/fs/xattr.c | ||
29 | +++ b/fs/xattr.c | ||
30 | @@ -118,15 +118,17 @@ xattr_permission(struct inode *inode, const char *name, int mask) | ||
31 | } | ||
32 | |||
33 | /* | ||
34 | - * In the user.* namespace, only regular files and directories can have | ||
35 | - * extended attributes. For sticky directories, only the owner and | ||
36 | - * privileged users can write attributes. | ||
37 | + * In the user.* namespace, only regular files, symbolic links, and | ||
38 | + * directories can have extended attributes. For symbolic links and | ||
39 | + * sticky directories, only the owner and privileged users can write | ||
40 | + * attributes. | ||
41 | */ | ||
42 | if (!strncmp(name, XATTR_USER_PREFIX, XATTR_USER_PREFIX_LEN)) { | ||
43 | - if (!S_ISREG(inode->i_mode) && !S_ISDIR(inode->i_mode)) | ||
44 | + if (!S_ISREG(inode->i_mode) && !S_ISDIR(inode->i_mode) && !S_ISLNK(inode->i_mode)) | ||
45 | return (mask & MAY_WRITE) ? -EPERM : -ENODATA; | ||
46 | - if (S_ISDIR(inode->i_mode) && (inode->i_mode & S_ISVTX) && | ||
47 | - (mask & MAY_WRITE) && !inode_owner_or_capable(inode)) | ||
48 | + if (((S_ISDIR(inode->i_mode) && (inode->i_mode & S_ISVTX)) | ||
49 | + || S_ISLNK(inode->i_mode)) && (mask & MAY_WRITE) | ||
50 | + && !inode_owner_or_capable(inode)) | ||
51 | return -EPERM; | ||
52 | } | ||
53 | |||
54 | -- | ||
55 | 2.11.1 | ||
56 | |||
diff --git a/patches/boot_time_opt/0110-init_task-faster-timerslack.patch b/patches/boot_time_opt/0110-init_task-faster-timerslack.patch new file mode 100644 index 0000000..b0075ff --- /dev/null +++ b/patches/boot_time_opt/0110-init_task-faster-timerslack.patch | |||
@@ -0,0 +1,32 @@ | |||
1 | From 42c2cb32259b76fb1f6713d99c4f0922e97bcc8d Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Wed, 23 Mar 2016 14:52:41 +0000 | ||
4 | Subject: [PATCH 110/124] init_task: faster timerslack | ||
5 | |||
6 | the default tuning is a compromise between client power and server performance; | ||
7 | for a server distro like Clear Linux, we don't need to compromise. | ||
8 | (for non-server usages we have different kernel binaries) | ||
9 | |||
10 | in principle this can be done as a patch to systemd as well, but we have a shared | ||
11 | systemd between usages while we have different kernels, so the logistics | ||
12 | for where the patch goes work out better here | ||
13 | --- | ||
14 | include/linux/init_task.h | 2 +- | ||
15 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
16 | |||
17 | diff --git a/include/linux/init_task.h b/include/linux/init_task.h | ||
18 | index 325f649d77ff..e0eb261e17cb 100644 | ||
19 | --- a/include/linux/init_task.h | ||
20 | +++ b/include/linux/init_task.h | ||
21 | @@ -249,7 +249,7 @@ extern struct task_group root_task_group; | ||
22 | .journal_info = NULL, \ | ||
23 | .cpu_timers = INIT_CPU_TIMERS(tsk.cpu_timers), \ | ||
24 | .pi_lock = __RAW_SPIN_LOCK_UNLOCKED(tsk.pi_lock), \ | ||
25 | - .timer_slack_ns = 50000, /* 50 usec default slack */ \ | ||
26 | + .timer_slack_ns = 1000, /* 1 usec default slack */ \ | ||
27 | .pids = { \ | ||
28 | [PIDTYPE_PID] = INIT_PID_LINK(PIDTYPE_PID), \ | ||
29 | [PIDTYPE_PGID] = INIT_PID_LINK(PIDTYPE_PGID), \ | ||
30 | -- | ||
31 | 2.11.1 | ||
32 | |||
diff --git a/patches/boot_time_opt/0112-fs-ext4-fsync-optimize-double-fsync-a-bunch.patch b/patches/boot_time_opt/0112-fs-ext4-fsync-optimize-double-fsync-a-bunch.patch new file mode 100644 index 0000000..7d0def8 --- /dev/null +++ b/patches/boot_time_opt/0112-fs-ext4-fsync-optimize-double-fsync-a-bunch.patch | |||
@@ -0,0 +1,158 @@ | |||
1 | From 3152053ea1ea3aa77bcc7e990d48ef84621ff6c9 Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Sat, 9 Apr 2016 22:41:37 +0000 | ||
4 | Subject: [PATCH 112/124] fs: ext4: fsync: optimize double-fsync() a bunch | ||
5 | |||
6 | There are cases where EXT4 is a bit too conservative sending barriers down to the disk; | ||
7 | there are cases where the transaction in progress is not the one that sent the barrier | ||
8 | (in other words: the fsync is for a file for which the IO happened more time ago | ||
9 | and all data was already sent to the disk). For that case, a more performing tradeoff | ||
10 | can be made on SSD devices (which have the ability to flush their dram caches in a hurry | ||
11 | on a power fail event) where the barrier gets sent to the disk, but we don't need to wait | ||
12 | for the barrier to complete. Any consecutive IO will block on the barrier correctly. | ||
13 | --- | ||
14 | block/bio.c | 20 ++++++++++++++++++++ | ||
15 | block/blk-flush.c | 41 +++++++++++++++++++++++++++++++++++++++++ | ||
16 | fs/ext4/fsync.c | 6 +++++- | ||
17 | include/linux/bio.h | 1 + | ||
18 | include/linux/blkdev.h | 5 +++++ | ||
19 | 5 files changed, 72 insertions(+), 1 deletion(-) | ||
20 | |||
21 | diff --git a/block/bio.c b/block/bio.c | ||
22 | index db85c5753a76..80f5ab6b536a 100644 | ||
23 | --- a/block/bio.c | ||
24 | +++ b/block/bio.c | ||
25 | @@ -882,6 +882,26 @@ int submit_bio_wait(struct bio *bio) | ||
26 | } | ||
27 | EXPORT_SYMBOL(submit_bio_wait); | ||
28 | |||
29 | +static void submit_bio_nowait_endio(struct bio *bio) | ||
30 | +{ | ||
31 | + bio_put(bio); | ||
32 | +} | ||
33 | + | ||
34 | +/** | ||
35 | + * submit_bio_nowait - submit a bio for fire-and-forget | ||
36 | + * @rw: whether to %READ or %WRITE, or maybe to %READA (read ahead) | ||
37 | + * @bio: The &struct bio which describes the I/O | ||
38 | + * | ||
39 | + * Simple wrapper around submit_bio() that takes care of bio_put() on completion | ||
40 | + */ | ||
41 | +void submit_bio_nowait(struct bio *bio) | ||
42 | +{ | ||
43 | + bio->bi_end_io = submit_bio_nowait_endio; | ||
44 | + bio->bi_opf |= REQ_SYNC; | ||
45 | + submit_bio(bio); | ||
46 | +} | ||
47 | +EXPORT_SYMBOL(submit_bio_nowait); | ||
48 | + | ||
49 | /** | ||
50 | * bio_advance - increment/complete a bio by some number of bytes | ||
51 | * @bio: bio to advance | ||
52 | diff --git a/block/blk-flush.c b/block/blk-flush.c | ||
53 | index 3c882cbc7541..b2dfcfe01ed7 100644 | ||
54 | --- a/block/blk-flush.c | ||
55 | +++ b/block/blk-flush.c | ||
56 | @@ -530,6 +530,47 @@ int blkdev_issue_flush(struct block_device *bdev, gfp_t gfp_mask, | ||
57 | } | ||
58 | EXPORT_SYMBOL(blkdev_issue_flush); | ||
59 | |||
60 | +/** | ||
61 | + * blkdev_issue_flush_nowait - queue a flush | ||
62 | + * @bdev: blockdev to issue flush for | ||
63 | + * @gfp_mask: memory allocation flags (for bio_alloc) | ||
64 | + * @error_sector: error sector | ||
65 | + * | ||
66 | + * Description: | ||
67 | + * Issue a flush for the block device in question. Caller can supply | ||
68 | + * room for storing the error offset in case of a flush error, if they | ||
69 | + * wish to. If WAIT flag is not passed then caller may check only what | ||
70 | + * request was pushed in some internal queue for later handling. | ||
71 | + */ | ||
72 | +void blkdev_issue_flush_nowait(struct block_device *bdev, gfp_t gfp_mask) | ||
73 | +{ | ||
74 | + struct request_queue *q; | ||
75 | + struct bio *bio; | ||
76 | + | ||
77 | + if (bdev->bd_disk == NULL) | ||
78 | + return; | ||
79 | + | ||
80 | + q = bdev_get_queue(bdev); | ||
81 | + if (!q) | ||
82 | + return; | ||
83 | + | ||
84 | + /* | ||
85 | + * some block devices may not have their queue correctly set up here | ||
86 | + * (e.g. loop device without a backing file) and so issuing a flush | ||
87 | + * here will panic. Ensure there is a request function before issuing | ||
88 | + * the flush. | ||
89 | + */ | ||
90 | + if (!q->make_request_fn) | ||
91 | + return; | ||
92 | + | ||
93 | + bio = bio_alloc(gfp_mask, 0); | ||
94 | + bio->bi_bdev = bdev; | ||
95 | + bio_set_op_attrs(bio, REQ_OP_WRITE, WRITE_FLUSH); | ||
96 | + | ||
97 | + submit_bio_nowait(bio); | ||
98 | +} | ||
99 | +EXPORT_SYMBOL(blkdev_issue_flush_nowait); | ||
100 | + | ||
101 | struct blk_flush_queue *blk_alloc_flush_queue(struct request_queue *q, | ||
102 | int node, int cmd_size) | ||
103 | { | ||
104 | diff --git a/fs/ext4/fsync.c b/fs/ext4/fsync.c | ||
105 | index 88effb1053c7..a58966c18172 100644 | ||
106 | --- a/fs/ext4/fsync.c | ||
107 | +++ b/fs/ext4/fsync.c | ||
108 | @@ -150,7 +150,11 @@ int ext4_sync_file(struct file *file, loff_t start, loff_t end, int datasync) | ||
109 | ret = jbd2_complete_transaction(journal, commit_tid); | ||
110 | if (needs_barrier) { | ||
111 | issue_flush: | ||
112 | - err = blkdev_issue_flush(inode->i_sb->s_bdev, GFP_KERNEL, NULL); | ||
113 | + err = 0; | ||
114 | + if (!blk_queue_nonrot(bdev_get_queue(inode->i_sb->s_bdev))) | ||
115 | + err = blkdev_issue_flush(inode->i_sb->s_bdev, GFP_KERNEL, NULL); | ||
116 | + else | ||
117 | + blkdev_issue_flush_nowait(inode->i_sb->s_bdev, GFP_KERNEL); | ||
118 | if (!ret) | ||
119 | ret = err; | ||
120 | } | ||
121 | diff --git a/include/linux/bio.h b/include/linux/bio.h | ||
122 | index 97cb48f03dc7..3f055e6541e0 100644 | ||
123 | --- a/include/linux/bio.h | ||
124 | +++ b/include/linux/bio.h | ||
125 | @@ -421,6 +421,7 @@ struct request_queue; | ||
126 | extern int bio_phys_segments(struct request_queue *, struct bio *); | ||
127 | |||
128 | extern int submit_bio_wait(struct bio *bio); | ||
129 | +extern void submit_bio_nowait(struct bio *bio); | ||
130 | extern void bio_advance(struct bio *, unsigned); | ||
131 | |||
132 | extern void bio_init(struct bio *); | ||
133 | diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h | ||
134 | index f6a816129856..727684abf21e 100644 | ||
135 | --- a/include/linux/blkdev.h | ||
136 | +++ b/include/linux/blkdev.h | ||
137 | @@ -1144,6 +1144,7 @@ static inline struct request *blk_map_queue_find_tag(struct blk_queue_tag *bqt, | ||
138 | #define BLKDEV_DISCARD_ZERO (1 << 1) /* must reliably zero data */ | ||
139 | |||
140 | extern int blkdev_issue_flush(struct block_device *, gfp_t, sector_t *); | ||
141 | +extern void blkdev_issue_flush_nowait(struct block_device *, gfp_t); | ||
142 | extern int blkdev_issue_discard(struct block_device *bdev, sector_t sector, | ||
143 | sector_t nr_sects, gfp_t gfp_mask, unsigned long flags); | ||
144 | extern int __blkdev_issue_discard(struct block_device *bdev, sector_t sector, | ||
145 | @@ -1745,6 +1746,10 @@ static inline int blkdev_issue_flush(struct block_device *bdev, gfp_t gfp_mask, | ||
146 | return 0; | ||
147 | } | ||
148 | |||
149 | +static inline void blkdev_issue_flush_nowait(struct block_device *bdev, gfp_t gfp_mask) | ||
150 | +{ | ||
151 | +} | ||
152 | + | ||
153 | #endif /* CONFIG_BLOCK */ | ||
154 | |||
155 | #endif | ||
156 | -- | ||
157 | 2.11.1 | ||
158 | |||
diff --git a/patches/boot_time_opt/0113-overload-on-wakeup.patch b/patches/boot_time_opt/0113-overload-on-wakeup.patch new file mode 100644 index 0000000..a3a6bce --- /dev/null +++ b/patches/boot_time_opt/0113-overload-on-wakeup.patch | |||
@@ -0,0 +1,43 @@ | |||
1 | From 9f25d18f45a8391488feb9783404f2f79b7090f4 Mon Sep 17 00:00:00 2001 | ||
2 | From: jplozi <jplozi@unice.fr> | ||
3 | Date: Fri, 11 Mar 2016 15:18:06 +0100 | ||
4 | Subject: [PATCH 113/124] overload on wakeup | ||
5 | |||
6 | source https://github.com/jplozi/wastedcores | ||
7 | |||
8 | as an experiment, apply the learnings from the wasted-cores paper | ||
9 | and see how the performance works out. With the data from this we should | ||
10 | be able to work with Peter and the rest of the scheduler folks on | ||
11 | a more permanent/elegant solution. | ||
12 | --- | ||
13 | kernel/sched/fair.c | 14 ++++++++++++++ | ||
14 | 1 file changed, 14 insertions(+) | ||
15 | |||
16 | diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c | ||
17 | index c242944f5cbd..5132c828161e 100644 | ||
18 | --- a/kernel/sched/fair.c | ||
19 | +++ b/kernel/sched/fair.c | ||
20 | @@ -5638,6 +5638,20 @@ select_task_rq_fair(struct task_struct *p, int prev_cpu, int sd_flag, int wake_f | ||
21 | } | ||
22 | |||
23 | rcu_read_lock(); | ||
24 | + | ||
25 | + if (cpu_rq(prev_cpu)->nr_running) { | ||
26 | + int _cpu; | ||
27 | + | ||
28 | + for_each_online_cpu(_cpu) { | ||
29 | + if (!cpumask_test_cpu(_cpu, tsk_cpus_allowed(p)) || | ||
30 | + cpu_rq(_cpu)->nr_running) | ||
31 | + continue; | ||
32 | + | ||
33 | + rcu_read_unlock(); | ||
34 | + return _cpu; | ||
35 | + } | ||
36 | + } | ||
37 | + | ||
38 | for_each_domain(cpu, tmp) { | ||
39 | if (!(tmp->flags & SD_LOAD_BALANCE)) | ||
40 | break; | ||
41 | -- | ||
42 | 2.11.1 | ||
43 | |||
diff --git a/patches/boot_time_opt/0114-bootstats-add-printk-s-to-measure-boot-time-in-more-.patch b/patches/boot_time_opt/0114-bootstats-add-printk-s-to-measure-boot-time-in-more-.patch new file mode 100644 index 0000000..c6bf036 --- /dev/null +++ b/patches/boot_time_opt/0114-bootstats-add-printk-s-to-measure-boot-time-in-more-.patch | |||
@@ -0,0 +1,83 @@ | |||
1 | From 3a1512b4ed3922f88936b95731aaff706e7286a9 Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Wed, 11 Feb 2015 16:05:23 -0600 | ||
4 | Subject: [PATCH 114/124] bootstats: add printk's to measure boot time in more | ||
5 | detail | ||
6 | |||
7 | Few distro-tweaks to add printk's to visualize boot time better | ||
8 | |||
9 | Author: Arjan van de Ven <arjan@linux.intel.com> | ||
10 | |||
11 | Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
12 | --- | ||
13 | arch/x86/kernel/alternative.c | 4 ++++ | ||
14 | drivers/base/firmware_class.c | 2 ++ | ||
15 | init/main.c | 2 +- | ||
16 | kernel/kmod.c | 2 ++ | ||
17 | 4 files changed, 9 insertions(+), 1 deletion(-) | ||
18 | |||
19 | diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c | ||
20 | index 5cb272a7a5a3..d28fb7aae4ce 100644 | ||
21 | --- a/arch/x86/kernel/alternative.c | ||
22 | +++ b/arch/x86/kernel/alternative.c | ||
23 | @@ -626,7 +626,9 @@ void __init alternative_instructions(void) | ||
24 | * patching. | ||
25 | */ | ||
26 | |||
27 | + printk("clr: Applying alternatives\n"); | ||
28 | apply_alternatives(__alt_instructions, __alt_instructions_end); | ||
29 | + printk("clr: Applying alternatives done\n"); | ||
30 | |||
31 | #ifdef CONFIG_SMP | ||
32 | /* Patch to UP if other cpus not imminent. */ | ||
33 | @@ -637,6 +639,8 @@ void __init alternative_instructions(void) | ||
34 | _text, _etext); | ||
35 | } | ||
36 | |||
37 | + printk("clr: Applying alternatives smp done\n"); | ||
38 | + | ||
39 | if (!uniproc_patched || num_possible_cpus() == 1) | ||
40 | free_init_pages("SMP alternatives", | ||
41 | (unsigned long)__smp_locks, | ||
42 | diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c | ||
43 | index a95e1e572697..b29467031be6 100644 | ||
44 | --- a/drivers/base/firmware_class.c | ||
45 | +++ b/drivers/base/firmware_class.c | ||
46 | @@ -1224,6 +1224,8 @@ request_firmware(const struct firmware **firmware_p, const char *name, | ||
47 | { | ||
48 | int ret; | ||
49 | |||
50 | + printk("clr: request_firmware: %s\n", name); | ||
51 | + | ||
52 | /* Need to pin this module until return */ | ||
53 | __module_get(THIS_MODULE); | ||
54 | ret = _request_firmware(firmware_p, name, device, NULL, 0, | ||
55 | diff --git a/init/main.c b/init/main.c | ||
56 | index 2858be732f6d..f1d8c3fdbf05 100644 | ||
57 | --- a/init/main.c | ||
58 | +++ b/init/main.c | ||
59 | @@ -751,7 +751,7 @@ static int __init_or_module do_one_initcall_debug(initcall_t fn) | ||
60 | unsigned long long duration; | ||
61 | int ret; | ||
62 | |||
63 | - printk(KERN_DEBUG "calling %pF @ %i\n", fn, task_pid_nr(current)); | ||
64 | + printk(KERN_DEBUG "calling %pF @ %i\n", fn, raw_smp_processor_id()); | ||
65 | calltime = ktime_get(); | ||
66 | ret = fn(); | ||
67 | rettime = ktime_get(); | ||
68 | diff --git a/kernel/kmod.c b/kernel/kmod.c | ||
69 | index 0277d1216f80..dc5a6edd3895 100644 | ||
70 | --- a/kernel/kmod.c | ||
71 | +++ b/kernel/kmod.c | ||
72 | @@ -76,6 +76,8 @@ static int call_modprobe(char *module_name, int wait) | ||
73 | NULL | ||
74 | }; | ||
75 | |||
76 | + printk("clr: call_modprobe: %s %i \n", module_name, wait); | ||
77 | + | ||
78 | char **argv = kmalloc(sizeof(char *[5]), GFP_KERNEL); | ||
79 | if (!argv) | ||
80 | goto out; | ||
81 | -- | ||
82 | 2.11.1 | ||
83 | |||
diff --git a/patches/boot_time_opt/0115-fix-initcall-timestamps.patch b/patches/boot_time_opt/0115-fix-initcall-timestamps.patch new file mode 100644 index 0000000..cdf2af1 --- /dev/null +++ b/patches/boot_time_opt/0115-fix-initcall-timestamps.patch | |||
@@ -0,0 +1,42 @@ | |||
1 | From 5b5ad2c9b9b555d20aeba1f895d0c9d1c2a77776 Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Thu, 2 Jun 2016 23:36:32 -0500 | ||
4 | Subject: [PATCH 115/124] fix initcall timestamps | ||
5 | |||
6 | Print more finegrained initcall timings | ||
7 | |||
8 | use the tsc instead of the jiffies clock for initcall_debug | ||
9 | --- | ||
10 | init/main.c | 12 ++++++------ | ||
11 | 1 file changed, 6 insertions(+), 6 deletions(-) | ||
12 | |||
13 | diff --git a/init/main.c b/init/main.c | ||
14 | index f1d8c3fdbf05..8358cbe6ab13 100644 | ||
15 | --- a/init/main.c | ||
16 | +++ b/init/main.c | ||
17 | @@ -747,16 +747,16 @@ __setup("initcall_blacklist=", initcall_blacklist); | ||
18 | |||
19 | static int __init_or_module do_one_initcall_debug(initcall_t fn) | ||
20 | { | ||
21 | - ktime_t calltime, delta, rettime; | ||
22 | + unsigned long long calltime, delta, rettime; | ||
23 | unsigned long long duration; | ||
24 | int ret; | ||
25 | |||
26 | - printk(KERN_DEBUG "calling %pF @ %i\n", fn, raw_smp_processor_id()); | ||
27 | - calltime = ktime_get(); | ||
28 | + printk(KERN_DEBUG "calling %pF @ %i\n", fn, task_pid_nr(current)); | ||
29 | + calltime = local_clock(); | ||
30 | ret = fn(); | ||
31 | - rettime = ktime_get(); | ||
32 | - delta = ktime_sub(rettime, calltime); | ||
33 | - duration = (unsigned long long) ktime_to_ns(delta) >> 10; | ||
34 | + rettime = local_clock(); | ||
35 | + delta = rettime - calltime; | ||
36 | + duration = delta >> 10; | ||
37 | printk(KERN_DEBUG "initcall %pF returned %d after %lld usecs\n", | ||
38 | fn, ret, duration); | ||
39 | |||
40 | -- | ||
41 | 2.11.1 | ||
42 | |||
diff --git a/patches/boot_time_opt/0116-smpboot-reuse-timer-calibration.patch b/patches/boot_time_opt/0116-smpboot-reuse-timer-calibration.patch new file mode 100644 index 0000000..d1f71b5 --- /dev/null +++ b/patches/boot_time_opt/0116-smpboot-reuse-timer-calibration.patch | |||
@@ -0,0 +1,31 @@ | |||
1 | From 16104411cc5a7b20f310e3ecede85343ee6ce6b9 Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Wed, 11 Feb 2015 17:28:14 -0600 | ||
4 | Subject: [PATCH 116/124] smpboot: reuse timer calibration | ||
5 | |||
6 | NO point recalibrating for known-constant tsc... saves 200ms+ of boot time. | ||
7 | |||
8 | Author: Arjan van de Ven <arjan@linux.intel.com> | ||
9 | |||
10 | Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
11 | --- | ||
12 | arch/x86/kernel/tsc.c | 3 +++ | ||
13 | 1 file changed, 3 insertions(+) | ||
14 | |||
15 | diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c | ||
16 | index 46b2f41f8b05..88553c1f21f1 100644 | ||
17 | --- a/arch/x86/kernel/tsc.c | ||
18 | +++ b/arch/x86/kernel/tsc.c | ||
19 | @@ -1384,6 +1384,9 @@ unsigned long calibrate_delay_is_known(void) | ||
20 | if (!tsc_disabled && !cpu_has(&cpu_data(cpu), X86_FEATURE_CONSTANT_TSC)) | ||
21 | return 0; | ||
22 | |||
23 | + if (cpu != 0) | ||
24 | + return cpu_data(0).loops_per_jiffy; | ||
25 | + | ||
26 | if (!mask) | ||
27 | return 0; | ||
28 | |||
29 | -- | ||
30 | 2.11.1 | ||
31 | |||
diff --git a/patches/boot_time_opt/0117-raid6-add-Kconfig-option-to-skip-raid6-benchmarking.patch b/patches/boot_time_opt/0117-raid6-add-Kconfig-option-to-skip-raid6-benchmarking.patch new file mode 100644 index 0000000..978e09f --- /dev/null +++ b/patches/boot_time_opt/0117-raid6-add-Kconfig-option-to-skip-raid6-benchmarking.patch | |||
@@ -0,0 +1,156 @@ | |||
1 | From fd1f55138c242bd9aeec374ff611064bdc89b359 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jim Kukunas <james.t.kukunas@linux.intel.com> | ||
3 | Date: Fri, 27 May 2016 09:26:51 -0400 | ||
4 | Subject: [PATCH 117/124] raid6: add Kconfig option to skip raid6 benchmarking | ||
5 | |||
6 | Adds CONFIG_RAID6_FORCE_ALGO, which causes the kernel to not benchmark | ||
7 | each raid recovery and syndrome generation algorithm, and instead use | ||
8 | the version selected via Kconfig (CONFIG_RAID6_FORCE_{INT,SSSE3,AVX2}). | ||
9 | In the case, the selected algorithm is not supported by the processor at | ||
10 | runtime, a fallback is used. | ||
11 | |||
12 | Signed-off-by: Jim Kukunas <james.t.kukunas@linux.intel.com> | ||
13 | --- | ||
14 | lib/Kconfig | 3 +-- | ||
15 | lib/raid6/Kconfig | 38 ++++++++++++++++++++++++++++++++++++ | ||
16 | lib/raid6/algos.c | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ | ||
17 | 3 files changed, 97 insertions(+), 2 deletions(-) | ||
18 | create mode 100644 lib/raid6/Kconfig | ||
19 | |||
20 | diff --git a/lib/Kconfig b/lib/Kconfig | ||
21 | index 260a80e313b9..b3efd21db2fd 100644 | ||
22 | --- a/lib/Kconfig | ||
23 | +++ b/lib/Kconfig | ||
24 | @@ -7,8 +7,7 @@ config BINARY_PRINTF | ||
25 | |||
26 | menu "Library routines" | ||
27 | |||
28 | -config RAID6_PQ | ||
29 | - tristate | ||
30 | +source "lib/raid6/Kconfig" | ||
31 | |||
32 | config BITREVERSE | ||
33 | tristate | ||
34 | diff --git a/lib/raid6/Kconfig b/lib/raid6/Kconfig | ||
35 | new file mode 100644 | ||
36 | index 000000000000..d881d6be89bb | ||
37 | --- /dev/null | ||
38 | +++ b/lib/raid6/Kconfig | ||
39 | @@ -0,0 +1,38 @@ | ||
40 | +menu "RAID 6" | ||
41 | + | ||
42 | +config RAID6_PQ | ||
43 | + tristate | ||
44 | + | ||
45 | +config RAID6_FORCE_ALGO | ||
46 | + bool "Always use specified recovery algorithm" | ||
47 | + default n | ||
48 | + depends on RAID6_PQ | ||
49 | + help | ||
50 | + If this option is not set, on every boot the kernel will | ||
51 | + benchmark each optimized version of the RAID6 recovery and | ||
52 | + syndrome generation algorithms and will select the one that | ||
53 | + performs best. Microbenchmarking each version negatively | ||
54 | + affects boot time. | ||
55 | + | ||
56 | + Enabling this option skips the benchmark at boot, and | ||
57 | + instead always uses the algorithm selected. The only exception | ||
58 | + is if the selected algorithm relies on a cpu feature not | ||
59 | + supported at runtime. In this case, one of the lower performance | ||
60 | + fallbacks are used. | ||
61 | + | ||
62 | +choice | ||
63 | + prompt "RAID6 Recovery Algorithm" | ||
64 | + default RAID6_FORCE_INT | ||
65 | + depends on RAID6_FORCE_ALGO | ||
66 | + ---help--- | ||
67 | + Select the RAID6 recovery algorithm to unconditionally use | ||
68 | + | ||
69 | + config RAID6_FORCE_INT | ||
70 | + bool "Reference Implementation" | ||
71 | + config RAID6_FORCE_SSSE3 | ||
72 | + bool "SSSE3" | ||
73 | + config RAID6_FORCE_AVX2 | ||
74 | + bool "AVX2" | ||
75 | +endchoice | ||
76 | + | ||
77 | +endmenu | ||
78 | diff --git a/lib/raid6/algos.c b/lib/raid6/algos.c | ||
79 | index 7857049fd7d3..29332d2a04a5 100644 | ||
80 | --- a/lib/raid6/algos.c | ||
81 | +++ b/lib/raid6/algos.c | ||
82 | @@ -125,6 +125,63 @@ const struct raid6_recov_calls *const raid6_recov_algos[] = { | ||
83 | #define time_before(x, y) ((x) < (y)) | ||
84 | #endif | ||
85 | |||
86 | +#ifdef CONFIG_RAID6_FORCE_ALGO | ||
87 | +/* TODO don't compile in algos that will never be used */ | ||
88 | +int __init raid6_select_algo(void) | ||
89 | +{ | ||
90 | + const struct raid6_recov_calls *recov_fallback = &raid6_recov_intx1; | ||
91 | + const struct raid6_recov_calls *recov_algo; | ||
92 | + const struct raid6_calls *gen_fallback; | ||
93 | + const struct raid6_calls *gen_algo; | ||
94 | + | ||
95 | +#if defined(__i386__) | ||
96 | + gen_fallback = &raid6_intx32; | ||
97 | +#elif defined(__x86_64__) | ||
98 | + gen_fallback = &raid6_sse2x2; | ||
99 | +#else | ||
100 | +# error "TODO" | ||
101 | +#endif | ||
102 | + | ||
103 | +#if defined(CONFIG_RAID6_FORCE_INT) | ||
104 | + recov_algo = &raid6_recov_intx1; | ||
105 | + gen_algo = &raid6_intx32; | ||
106 | + | ||
107 | +#elif defined(CONFIG_RAID6_FORCE_SSSE3) | ||
108 | + recov_algo = &raid6_recov_ssse3; | ||
109 | +#if defined(__i386__) | ||
110 | + gen_algo = &raid6_sse2x2; | ||
111 | +#else | ||
112 | + gen_algo = &raid6_sse2x4; | ||
113 | +#endif | ||
114 | + | ||
115 | +#elif defined(CONFIG_RAID6_FORCE_AVX2) | ||
116 | + recov_algo = &raid6_recov_avx2; | ||
117 | + | ||
118 | +#if defined(__i386__) | ||
119 | + gen_algo = &raid6_avx2x2; | ||
120 | +#else | ||
121 | + gen_algo = &raid6_avx2x4; | ||
122 | +#endif | ||
123 | + | ||
124 | +#else | ||
125 | +#error "RAID6 Forced Recov Algo: Unsupported selection" | ||
126 | +#endif | ||
127 | + | ||
128 | + if (recov_algo->valid != NULL && recov_algo->valid() == 0) | ||
129 | + recov_algo = recov_fallback; | ||
130 | + | ||
131 | + pr_info("raid6: Forced to use recovery algorithm %s\n", recov_algo->name); | ||
132 | + | ||
133 | + raid6_2data_recov = recov_algo->data2; | ||
134 | + raid6_datap_recov = recov_algo->datap; | ||
135 | + | ||
136 | + pr_info("raid6: Forced gen() algo %s\n", gen_algo->name); | ||
137 | + | ||
138 | + raid6_call = *gen_algo; | ||
139 | + | ||
140 | + return gen_algo && recov_algo ? 0 : -EINVAL; | ||
141 | +} | ||
142 | +#else | ||
143 | static inline const struct raid6_recov_calls *raid6_choose_recov(void) | ||
144 | { | ||
145 | const struct raid6_recov_calls *const *algo; | ||
146 | @@ -256,6 +313,7 @@ int __init raid6_select_algo(void) | ||
147 | |||
148 | return gen_best && rec_best ? 0 : -EINVAL; | ||
149 | } | ||
150 | +#endif | ||
151 | |||
152 | static void raid6_exit(void) | ||
153 | { | ||
154 | -- | ||
155 | 2.11.1 | ||
156 | |||
diff --git a/patches/boot_time_opt/0118-Initialize-ata-before-graphics.patch b/patches/boot_time_opt/0118-Initialize-ata-before-graphics.patch new file mode 100644 index 0000000..70e07c8 --- /dev/null +++ b/patches/boot_time_opt/0118-Initialize-ata-before-graphics.patch | |||
@@ -0,0 +1,47 @@ | |||
1 | From fbc1ab7c18a9c960a0bff293a93620d581658f8d Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Thu, 2 Jun 2016 23:36:32 -0500 | ||
4 | Subject: [PATCH 118/124] Initialize ata before graphics | ||
5 | |||
6 | ATA init is the long pole in the boot process, and its asynchronous. | ||
7 | move the graphics init after it so that ata and graphics initialize | ||
8 | in parallel | ||
9 | --- | ||
10 | drivers/Makefile | 11 ++++++----- | ||
11 | 1 file changed, 6 insertions(+), 5 deletions(-) | ||
12 | |||
13 | diff --git a/drivers/Makefile b/drivers/Makefile | ||
14 | index 194d20bee7dc..2785e4c6b30f 100644 | ||
15 | --- a/drivers/Makefile | ||
16 | +++ b/drivers/Makefile | ||
17 | @@ -55,14 +55,9 @@ obj-y += char/ | ||
18 | # iommu/ comes before gpu as gpu are using iommu controllers | ||
19 | obj-$(CONFIG_IOMMU_SUPPORT) += iommu/ | ||
20 | |||
21 | -# gpu/ comes after char for AGP vs DRM startup and after iommu | ||
22 | -obj-y += gpu/ | ||
23 | |||
24 | obj-$(CONFIG_CONNECTOR) += connector/ | ||
25 | |||
26 | -# i810fb and intelfb depend on char/agp/ | ||
27 | -obj-$(CONFIG_FB_I810) += video/fbdev/i810/ | ||
28 | -obj-$(CONFIG_FB_INTEL) += video/fbdev/intelfb/ | ||
29 | |||
30 | obj-$(CONFIG_PARPORT) += parport/ | ||
31 | obj-$(CONFIG_NVM) += lightnvm/ | ||
32 | @@ -76,6 +71,12 @@ obj-$(CONFIG_IDE) += ide/ | ||
33 | obj-$(CONFIG_SCSI) += scsi/ | ||
34 | obj-y += nvme/ | ||
35 | obj-$(CONFIG_ATA) += ata/ | ||
36 | + | ||
37 | +# gpu/ comes after char for AGP vs DRM startup and after iommu | ||
38 | +obj-y += gpu/ | ||
39 | +# i810fb and intelfb depend on char/agp/ | ||
40 | +obj-$(CONFIG_FB_I810) += video/fbdev/i810/ | ||
41 | +obj-$(CONFIG_FB_INTEL) += video/fbdev/intelfb/ | ||
42 | obj-$(CONFIG_TARGET_CORE) += target/ | ||
43 | obj-$(CONFIG_MTD) += mtd/ | ||
44 | obj-$(CONFIG_SPI) += spi/ | ||
45 | -- | ||
46 | 2.11.1 | ||
47 | |||
diff --git a/patches/boot_time_opt/0119-reduce-e1000e-boot-time-by-tightening-sleep-ranges.patch b/patches/boot_time_opt/0119-reduce-e1000e-boot-time-by-tightening-sleep-ranges.patch new file mode 100644 index 0000000..a068afb --- /dev/null +++ b/patches/boot_time_opt/0119-reduce-e1000e-boot-time-by-tightening-sleep-ranges.patch | |||
@@ -0,0 +1,311 @@ | |||
1 | From d9390cb702de5cbef64f893efd2344c4f58dae82 Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Mon, 25 Jul 2016 06:44:34 -0500 | ||
4 | Subject: [PATCH 119/124] reduce e1000e boot time by tightening sleep ranges | ||
5 | |||
6 | The e1000e driver is a great user of the usleep_range() API, | ||
7 | and has any nice ranges that in principle help power management. | ||
8 | |||
9 | However the ranges that are used only during system startup are | ||
10 | very long (and can add easily 100 msec to the boot time) while | ||
11 | the power savings of such long ranges is irrelevant due to the | ||
12 | one-off, boot only, nature of these functions. | ||
13 | |||
14 | This patch shrinks some of the longest ranges to be shorter | ||
15 | (while still using a power friendly 1 msec range); this saves | ||
16 | 100msec+ of boot time on my BDW NUCs | ||
17 | |||
18 | Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> | ||
19 | --- | ||
20 | drivers/net/ethernet/intel/e1000e/80003es2lan.c | 2 +- | ||
21 | drivers/net/ethernet/intel/e1000e/82571.c | 2 +- | ||
22 | drivers/net/ethernet/intel/e1000e/ethtool.c | 14 +++++++------- | ||
23 | drivers/net/ethernet/intel/e1000e/ich8lan.c | 20 ++++++++++---------- | ||
24 | drivers/net/ethernet/intel/e1000e/mac.c | 2 +- | ||
25 | drivers/net/ethernet/intel/e1000e/netdev.c | 14 +++++++------- | ||
26 | drivers/net/ethernet/intel/e1000e/nvm.c | 2 +- | ||
27 | 7 files changed, 28 insertions(+), 28 deletions(-) | ||
28 | |||
29 | diff --git a/drivers/net/ethernet/intel/e1000e/80003es2lan.c b/drivers/net/ethernet/intel/e1000e/80003es2lan.c | ||
30 | index cd391376036c..b5759899eeb8 100644 | ||
31 | --- a/drivers/net/ethernet/intel/e1000e/80003es2lan.c | ||
32 | +++ b/drivers/net/ethernet/intel/e1000e/80003es2lan.c | ||
33 | @@ -698,7 +698,7 @@ static s32 e1000_reset_hw_80003es2lan(struct e1000_hw *hw) | ||
34 | ew32(TCTL, E1000_TCTL_PSP); | ||
35 | e1e_flush(); | ||
36 | |||
37 | - usleep_range(10000, 20000); | ||
38 | + usleep_range(10000, 11000); | ||
39 | |||
40 | ctrl = er32(CTRL); | ||
41 | |||
42 | diff --git a/drivers/net/ethernet/intel/e1000e/82571.c b/drivers/net/ethernet/intel/e1000e/82571.c | ||
43 | index 6b03c8553e59..d31145269dd9 100644 | ||
44 | --- a/drivers/net/ethernet/intel/e1000e/82571.c | ||
45 | +++ b/drivers/net/ethernet/intel/e1000e/82571.c | ||
46 | @@ -977,7 +977,7 @@ static s32 e1000_reset_hw_82571(struct e1000_hw *hw) | ||
47 | ew32(TCTL, tctl); | ||
48 | e1e_flush(); | ||
49 | |||
50 | - usleep_range(10000, 20000); | ||
51 | + usleep_range(10000, 11000); | ||
52 | |||
53 | /* Must acquire the MDIO ownership before MAC reset. | ||
54 | * Ownership defaults to firmware after a reset. | ||
55 | diff --git a/drivers/net/ethernet/intel/e1000e/ethtool.c b/drivers/net/ethernet/intel/e1000e/ethtool.c | ||
56 | index 7aff68a4a4df..7cb689bd41f8 100644 | ||
57 | --- a/drivers/net/ethernet/intel/e1000e/ethtool.c | ||
58 | +++ b/drivers/net/ethernet/intel/e1000e/ethtool.c | ||
59 | @@ -1023,7 +1023,7 @@ static int e1000_intr_test(struct e1000_adapter *adapter, u64 *data) | ||
60 | /* Disable all the interrupts */ | ||
61 | ew32(IMC, 0xFFFFFFFF); | ||
62 | e1e_flush(); | ||
63 | - usleep_range(10000, 20000); | ||
64 | + usleep_range(10000, 11000); | ||
65 | |||
66 | /* Test each interrupt */ | ||
67 | for (i = 0; i < 10; i++) { | ||
68 | @@ -1055,7 +1055,7 @@ static int e1000_intr_test(struct e1000_adapter *adapter, u64 *data) | ||
69 | ew32(IMC, mask); | ||
70 | ew32(ICS, mask); | ||
71 | e1e_flush(); | ||
72 | - usleep_range(10000, 20000); | ||
73 | + usleep_range(10000, 11000); | ||
74 | |||
75 | if (adapter->test_icr & mask) { | ||
76 | *data = 3; | ||
77 | @@ -1073,7 +1073,7 @@ static int e1000_intr_test(struct e1000_adapter *adapter, u64 *data) | ||
78 | ew32(IMS, mask); | ||
79 | ew32(ICS, mask); | ||
80 | e1e_flush(); | ||
81 | - usleep_range(10000, 20000); | ||
82 | + usleep_range(10000, 11000); | ||
83 | |||
84 | if (!(adapter->test_icr & mask)) { | ||
85 | *data = 4; | ||
86 | @@ -1091,7 +1091,7 @@ static int e1000_intr_test(struct e1000_adapter *adapter, u64 *data) | ||
87 | ew32(IMC, ~mask & 0x00007FFF); | ||
88 | ew32(ICS, ~mask & 0x00007FFF); | ||
89 | e1e_flush(); | ||
90 | - usleep_range(10000, 20000); | ||
91 | + usleep_range(10000, 11000); | ||
92 | |||
93 | if (adapter->test_icr) { | ||
94 | *data = 5; | ||
95 | @@ -1103,7 +1103,7 @@ static int e1000_intr_test(struct e1000_adapter *adapter, u64 *data) | ||
96 | /* Disable all the interrupts */ | ||
97 | ew32(IMC, 0xFFFFFFFF); | ||
98 | e1e_flush(); | ||
99 | - usleep_range(10000, 20000); | ||
100 | + usleep_range(10000, 11000); | ||
101 | |||
102 | /* Unhook test interrupt handler */ | ||
103 | free_irq(irq, netdev); | ||
104 | @@ -1479,7 +1479,7 @@ static int e1000_set_82571_fiber_loopback(struct e1000_adapter *adapter) | ||
105 | */ | ||
106 | ew32(SCTL, E1000_SCTL_ENABLE_SERDES_LOOPBACK); | ||
107 | e1e_flush(); | ||
108 | - usleep_range(10000, 20000); | ||
109 | + usleep_range(10000, 11000); | ||
110 | |||
111 | return 0; | ||
112 | } | ||
113 | @@ -1592,7 +1592,7 @@ static void e1000_loopback_cleanup(struct e1000_adapter *adapter) | ||
114 | hw->phy.media_type == e1000_media_type_internal_serdes) { | ||
115 | ew32(SCTL, E1000_SCTL_DISABLE_SERDES_LOOPBACK); | ||
116 | e1e_flush(); | ||
117 | - usleep_range(10000, 20000); | ||
118 | + usleep_range(10000, 11000); | ||
119 | break; | ||
120 | } | ||
121 | /* Fall Through */ | ||
122 | diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c | ||
123 | index f3aaca743ea3..bef75cec259f 100644 | ||
124 | --- a/drivers/net/ethernet/intel/e1000e/ich8lan.c | ||
125 | +++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c | ||
126 | @@ -289,7 +289,7 @@ static void e1000_toggle_lanphypc_pch_lpt(struct e1000_hw *hw) | ||
127 | u16 count = 20; | ||
128 | |||
129 | do { | ||
130 | - usleep_range(5000, 10000); | ||
131 | + usleep_range(5000, 6000); | ||
132 | } while (!(er32(CTRL_EXT) & E1000_CTRL_EXT_LPCD) && count--); | ||
133 | |||
134 | msleep(30); | ||
135 | @@ -422,7 +422,7 @@ static s32 e1000_init_phy_workarounds_pchlan(struct e1000_hw *hw) | ||
136 | /* Ungate automatic PHY configuration on non-managed 82579 */ | ||
137 | if ((hw->mac.type == e1000_pch2lan) && | ||
138 | !(fwsm & E1000_ICH_FWSM_FW_VALID)) { | ||
139 | - usleep_range(10000, 20000); | ||
140 | + usleep_range(10000, 11000); | ||
141 | e1000_gate_hw_phy_config_ich8lan(hw, false); | ||
142 | } | ||
143 | |||
144 | @@ -547,7 +547,7 @@ static s32 e1000_init_phy_params_ich8lan(struct e1000_hw *hw) | ||
145 | phy->id = 0; | ||
146 | while ((e1000_phy_unknown == e1000e_get_phy_type_from_id(phy->id)) && | ||
147 | (i++ < 100)) { | ||
148 | - usleep_range(1000, 2000); | ||
149 | + usleep_range(1000, 1100); | ||
150 | ret_val = e1000e_get_phy_id(hw); | ||
151 | if (ret_val) | ||
152 | return ret_val; | ||
153 | @@ -1259,7 +1259,7 @@ static s32 e1000_disable_ulp_lpt_lp(struct e1000_hw *hw, bool force) | ||
154 | goto out; | ||
155 | } | ||
156 | |||
157 | - usleep_range(10000, 20000); | ||
158 | + usleep_range(10000, 11000); | ||
159 | } | ||
160 | e_dbg("ULP_CONFIG_DONE cleared after %dmsec\n", i * 10); | ||
161 | |||
162 | @@ -2011,7 +2011,7 @@ static s32 e1000_check_reset_block_ich8lan(struct e1000_hw *hw) | ||
163 | |||
164 | while ((blocked = !(er32(FWSM) & E1000_ICH_FWSM_RSPCIPHY)) && | ||
165 | (i++ < 30)) | ||
166 | - usleep_range(10000, 20000); | ||
167 | + usleep_range(10000, 11000); | ||
168 | return blocked ? E1000_BLK_PHY_RESET : 0; | ||
169 | } | ||
170 | |||
171 | @@ -2827,7 +2827,7 @@ static s32 e1000_post_phy_reset_ich8lan(struct e1000_hw *hw) | ||
172 | return 0; | ||
173 | |||
174 | /* Allow time for h/w to get to quiescent state after reset */ | ||
175 | - usleep_range(10000, 20000); | ||
176 | + usleep_range(10000, 11000); | ||
177 | |||
178 | /* Perform any necessary post-reset workarounds */ | ||
179 | switch (hw->mac.type) { | ||
180 | @@ -2863,7 +2863,7 @@ static s32 e1000_post_phy_reset_ich8lan(struct e1000_hw *hw) | ||
181 | if (hw->mac.type == e1000_pch2lan) { | ||
182 | /* Ungate automatic PHY configuration on non-managed 82579 */ | ||
183 | if (!(er32(FWSM) & E1000_ICH_FWSM_FW_VALID)) { | ||
184 | - usleep_range(10000, 20000); | ||
185 | + usleep_range(10000, 11000); | ||
186 | e1000_gate_hw_phy_config_ich8lan(hw, false); | ||
187 | } | ||
188 | |||
189 | @@ -3884,7 +3884,7 @@ static s32 e1000_update_nvm_checksum_spt(struct e1000_hw *hw) | ||
190 | */ | ||
191 | if (!ret_val) { | ||
192 | nvm->ops.reload(hw); | ||
193 | - usleep_range(10000, 20000); | ||
194 | + usleep_range(10000, 11000); | ||
195 | } | ||
196 | |||
197 | out: | ||
198 | @@ -4035,7 +4035,7 @@ static s32 e1000_update_nvm_checksum_ich8lan(struct e1000_hw *hw) | ||
199 | */ | ||
200 | if (!ret_val) { | ||
201 | nvm->ops.reload(hw); | ||
202 | - usleep_range(10000, 20000); | ||
203 | + usleep_range(10000, 11000); | ||
204 | } | ||
205 | |||
206 | out: | ||
207 | @@ -4658,7 +4658,7 @@ static s32 e1000_reset_hw_ich8lan(struct e1000_hw *hw) | ||
208 | ew32(TCTL, E1000_TCTL_PSP); | ||
209 | e1e_flush(); | ||
210 | |||
211 | - usleep_range(10000, 20000); | ||
212 | + usleep_range(10000, 11000); | ||
213 | |||
214 | /* Workaround for ICH8 bit corruption issue in FIFO memory */ | ||
215 | if (hw->mac.type == e1000_ich8lan) { | ||
216 | diff --git a/drivers/net/ethernet/intel/e1000e/mac.c b/drivers/net/ethernet/intel/e1000e/mac.c | ||
217 | index b322011ec282..eecbf7a12735 100644 | ||
218 | --- a/drivers/net/ethernet/intel/e1000e/mac.c | ||
219 | +++ b/drivers/net/ethernet/intel/e1000e/mac.c | ||
220 | @@ -815,7 +815,7 @@ static s32 e1000_poll_fiber_serdes_link_generic(struct e1000_hw *hw) | ||
221 | * milliseconds even if the other end is doing it in SW). | ||
222 | */ | ||
223 | for (i = 0; i < FIBER_LINK_UP_LIMIT; i++) { | ||
224 | - usleep_range(10000, 20000); | ||
225 | + usleep_range(10000, 11000); | ||
226 | status = er32(STATUS); | ||
227 | if (status & E1000_STATUS_LU) | ||
228 | break; | ||
229 | diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c | ||
230 | index 7017281ba2dc..7d68d694ed9e 100644 | ||
231 | --- a/drivers/net/ethernet/intel/e1000e/netdev.c | ||
232 | +++ b/drivers/net/ethernet/intel/e1000e/netdev.c | ||
233 | @@ -3206,7 +3206,7 @@ static void e1000_configure_rx(struct e1000_adapter *adapter) | ||
234 | if (!(adapter->flags2 & FLAG2_NO_DISABLE_RX)) | ||
235 | ew32(RCTL, rctl & ~E1000_RCTL_EN); | ||
236 | e1e_flush(); | ||
237 | - usleep_range(10000, 20000); | ||
238 | + usleep_range(10000, 11000); | ||
239 | |||
240 | if (adapter->flags2 & FLAG2_DMA_BURST) { | ||
241 | /* set the writeback threshold (only takes effect if the RDTR | ||
242 | @@ -4258,7 +4258,7 @@ void e1000e_down(struct e1000_adapter *adapter, bool reset) | ||
243 | |||
244 | /* flush both disables and wait for them to finish */ | ||
245 | e1e_flush(); | ||
246 | - usleep_range(10000, 20000); | ||
247 | + usleep_range(10000, 11000); | ||
248 | |||
249 | e1000_irq_disable(adapter); | ||
250 | |||
251 | @@ -4296,7 +4296,7 @@ void e1000e_reinit_locked(struct e1000_adapter *adapter) | ||
252 | { | ||
253 | might_sleep(); | ||
254 | while (test_and_set_bit(__E1000_RESETTING, &adapter->state)) | ||
255 | - usleep_range(1000, 2000); | ||
256 | + usleep_range(1000, 1100); | ||
257 | e1000e_down(adapter, true); | ||
258 | e1000e_up(adapter); | ||
259 | clear_bit(__E1000_RESETTING, &adapter->state); | ||
260 | @@ -4671,7 +4671,7 @@ int e1000e_close(struct net_device *netdev) | ||
261 | int count = E1000_CHECK_RESET_COUNT; | ||
262 | |||
263 | while (test_bit(__E1000_RESETTING, &adapter->state) && count--) | ||
264 | - usleep_range(10000, 20000); | ||
265 | + usleep_range(10000, 11000); | ||
266 | |||
267 | WARN_ON(test_bit(__E1000_RESETTING, &adapter->state)); | ||
268 | |||
269 | @@ -5996,7 +5996,7 @@ static int e1000_change_mtu(struct net_device *netdev, int new_mtu) | ||
270 | } | ||
271 | |||
272 | while (test_and_set_bit(__E1000_RESETTING, &adapter->state)) | ||
273 | - usleep_range(1000, 2000); | ||
274 | + usleep_range(1000, 1100); | ||
275 | /* e1000e_down -> e1000e_reset dependent on max_frame_size & mtu */ | ||
276 | adapter->max_frame_size = max_frame; | ||
277 | e_info("changing MTU from %d to %d\n", netdev->mtu, new_mtu); | ||
278 | @@ -6276,7 +6276,7 @@ static int e1000e_pm_freeze(struct device *dev) | ||
279 | int count = E1000_CHECK_RESET_COUNT; | ||
280 | |||
281 | while (test_bit(__E1000_RESETTING, &adapter->state) && count--) | ||
282 | - usleep_range(10000, 20000); | ||
283 | + usleep_range(10000, 11000); | ||
284 | |||
285 | WARN_ON(test_bit(__E1000_RESETTING, &adapter->state)); | ||
286 | |||
287 | @@ -6687,7 +6687,7 @@ static int e1000e_pm_runtime_suspend(struct device *dev) | ||
288 | int count = E1000_CHECK_RESET_COUNT; | ||
289 | |||
290 | while (test_bit(__E1000_RESETTING, &adapter->state) && count--) | ||
291 | - usleep_range(10000, 20000); | ||
292 | + usleep_range(10000, 11000); | ||
293 | |||
294 | WARN_ON(test_bit(__E1000_RESETTING, &adapter->state)); | ||
295 | |||
296 | diff --git a/drivers/net/ethernet/intel/e1000e/nvm.c b/drivers/net/ethernet/intel/e1000e/nvm.c | ||
297 | index 2efd80dfd88e..38f7c8fb3061 100644 | ||
298 | --- a/drivers/net/ethernet/intel/e1000e/nvm.c | ||
299 | +++ b/drivers/net/ethernet/intel/e1000e/nvm.c | ||
300 | @@ -410,7 +410,7 @@ s32 e1000e_write_nvm_spi(struct e1000_hw *hw, u16 offset, u16 words, u16 *data) | ||
301 | break; | ||
302 | } | ||
303 | } | ||
304 | - usleep_range(10000, 20000); | ||
305 | + usleep_range(10000, 11000); | ||
306 | nvm->ops.release(hw); | ||
307 | } | ||
308 | |||
309 | -- | ||
310 | 2.11.1 | ||
311 | |||
diff --git a/patches/boot_time_opt/0120-give-rdrand-some-credit.patch b/patches/boot_time_opt/0120-give-rdrand-some-credit.patch new file mode 100644 index 0000000..4b1669c --- /dev/null +++ b/patches/boot_time_opt/0120-give-rdrand-some-credit.patch | |||
@@ -0,0 +1,30 @@ | |||
1 | From 5cc978db25b2c92707f68b15098ac39901fb5aac Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Fri, 29 Jul 2016 19:10:52 +0000 | ||
4 | Subject: [PATCH 120/124] give rdrand some credit | ||
5 | |||
6 | try to credit rdrand/rdseed with some entropy | ||
7 | |||
8 | In VMs but even modern hardware, we're super starved for entropy, and while we can | ||
9 | and do wear a tin foil hat, it's very hard to argue that | ||
10 | rdrand and rdtsc add zero entropy. | ||
11 | --- | ||
12 | drivers/char/random.c | 2 ++ | ||
13 | 1 file changed, 2 insertions(+) | ||
14 | |||
15 | diff --git a/drivers/char/random.c b/drivers/char/random.c | ||
16 | index d6876d506220..fca09af81b2c 100644 | ||
17 | --- a/drivers/char/random.c | ||
18 | +++ b/drivers/char/random.c | ||
19 | @@ -1638,6 +1638,8 @@ static void init_std_data(struct entropy_store *r) | ||
20 | if (!arch_get_random_seed_long(&rv) && | ||
21 | !arch_get_random_long(&rv)) | ||
22 | rv = random_get_entropy(); | ||
23 | + else | ||
24 | + credit_entropy_bits(r, 1); | ||
25 | mix_pool_bytes(r, &rv, sizeof(rv)); | ||
26 | } | ||
27 | mix_pool_bytes(r, utsname(), sizeof(*(utsname()))); | ||
28 | -- | ||
29 | 2.11.1 | ||
30 | |||
diff --git a/patches/boot_time_opt/0121-e1000e-change-default-policy.patch b/patches/boot_time_opt/0121-e1000e-change-default-policy.patch new file mode 100644 index 0000000..bf3e13d --- /dev/null +++ b/patches/boot_time_opt/0121-e1000e-change-default-policy.patch | |||
@@ -0,0 +1,27 @@ | |||
1 | From 5b4707fc2aa8c49aa18a60136880bf05a3e29071 Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Sat, 10 Dec 2016 14:29:52 +0000 | ||
4 | Subject: [PATCH 121/124] e1000e: change default policy | ||
5 | |||
6 | change the default irq mitigation policy for e1000e to be | ||
7 | more HPC/cluster friendly | ||
8 | --- | ||
9 | drivers/net/ethernet/intel/e1000e/param.c | 2 +- | ||
10 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
11 | |||
12 | diff --git a/drivers/net/ethernet/intel/e1000e/param.c b/drivers/net/ethernet/intel/e1000e/param.c | ||
13 | index 6d8c39abee16..ef1122ad3b98 100644 | ||
14 | --- a/drivers/net/ethernet/intel/e1000e/param.c | ||
15 | +++ b/drivers/net/ethernet/intel/e1000e/param.c | ||
16 | @@ -92,7 +92,7 @@ E1000_PARAM(RxAbsIntDelay, "Receive Absolute Interrupt Delay"); | ||
17 | * Valid Range: 100-100000 or one of: 0=off, 1=dynamic, 3=dynamic conservative | ||
18 | */ | ||
19 | E1000_PARAM(InterruptThrottleRate, "Interrupt Throttling Rate"); | ||
20 | -#define DEFAULT_ITR 3 | ||
21 | +#define DEFAULT_ITR 1 | ||
22 | #define MAX_ITR 100000 | ||
23 | #define MIN_ITR 100 | ||
24 | |||
25 | -- | ||
26 | 2.11.1 | ||
27 | |||
diff --git a/patches/boot_time_opt/0122-ipv4-tcp-allow-the-memory-tuning-for-tcp-to-go-a-lit.patch b/patches/boot_time_opt/0122-ipv4-tcp-allow-the-memory-tuning-for-tcp-to-go-a-lit.patch new file mode 100644 index 0000000..eb44cec --- /dev/null +++ b/patches/boot_time_opt/0122-ipv4-tcp-allow-the-memory-tuning-for-tcp-to-go-a-lit.patch | |||
@@ -0,0 +1,28 @@ | |||
1 | From 5cf7ba4ba9c9d770aad9e52deaa3730f259df9f1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Fri, 6 Jan 2017 15:34:09 +0000 | ||
4 | Subject: [PATCH 122/124] ipv4/tcp: allow the memory tuning for tcp to go a | ||
5 | little bigger than default | ||
6 | |||
7 | --- | ||
8 | net/ipv4/tcp.c | 4 ++-- | ||
9 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
10 | |||
11 | diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c | ||
12 | index 6a90a0e130dc..32e43ce7c60e 100644 | ||
13 | --- a/net/ipv4/tcp.c | ||
14 | +++ b/net/ipv4/tcp.c | ||
15 | @@ -3341,8 +3341,8 @@ void __init tcp_init(void) | ||
16 | tcp_init_mem(); | ||
17 | /* Set per-socket limits to no more than 1/128 the pressure threshold */ | ||
18 | limit = nr_free_buffer_pages() << (PAGE_SHIFT - 7); | ||
19 | - max_wshare = min(4UL*1024*1024, limit); | ||
20 | - max_rshare = min(6UL*1024*1024, limit); | ||
21 | + max_wshare = min(16UL*1024*1024, limit); | ||
22 | + max_rshare = min(16UL*1024*1024, limit); | ||
23 | |||
24 | sysctl_tcp_wmem[0] = SK_MEM_QUANTUM; | ||
25 | sysctl_tcp_wmem[1] = 16*1024; | ||
26 | -- | ||
27 | 2.11.1 | ||
28 | |||
diff --git a/patches/boot_time_opt/0123-igb-no-runtime-pm-to-fix-reboot-oops.patch b/patches/boot_time_opt/0123-igb-no-runtime-pm-to-fix-reboot-oops.patch new file mode 100644 index 0000000..ce4964e --- /dev/null +++ b/patches/boot_time_opt/0123-igb-no-runtime-pm-to-fix-reboot-oops.patch | |||
@@ -0,0 +1,27 @@ | |||
1 | From 10f0c995ce6aaf6b3ffa78377f1a12ad0477057a Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Thu, 12 Jan 2017 18:17:14 +0000 | ||
4 | Subject: [PATCH 123/124] igb: no runtime pm to fix reboot oops | ||
5 | |||
6 | Causes oops on reboot due to a race between runtime resume and shutdown | ||
7 | --- | ||
8 | drivers/net/ethernet/intel/igb/igb_main.c | 3 --- | ||
9 | 1 file changed, 3 deletions(-) | ||
10 | |||
11 | diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c | ||
12 | index 9affd7c198bd..8ade77e75b36 100644 | ||
13 | --- a/drivers/net/ethernet/intel/igb/igb_main.c | ||
14 | +++ b/drivers/net/ethernet/intel/igb/igb_main.c | ||
15 | @@ -238,9 +238,6 @@ static struct pci_driver igb_driver = { | ||
16 | .id_table = igb_pci_tbl, | ||
17 | .probe = igb_probe, | ||
18 | .remove = igb_remove, | ||
19 | -#ifdef CONFIG_PM | ||
20 | - .driver.pm = &igb_pm_ops, | ||
21 | -#endif | ||
22 | .shutdown = igb_shutdown, | ||
23 | .sriov_configure = igb_pci_sriov_configure, | ||
24 | .err_handler = &igb_err_handler | ||
25 | -- | ||
26 | 2.11.1 | ||
27 | |||
diff --git a/patches/boot_time_opt/0124-tweak-perfbias.patch b/patches/boot_time_opt/0124-tweak-perfbias.patch new file mode 100644 index 0000000..56a2865 --- /dev/null +++ b/patches/boot_time_opt/0124-tweak-perfbias.patch | |||
@@ -0,0 +1,32 @@ | |||
1 | From 03e2c414a860264511dae5bbfc6d7e62b8b94f0f Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Sun, 22 Jan 2017 18:51:13 +0000 | ||
4 | Subject: [PATCH 124/124] tweak perfbias | ||
5 | |||
6 | --- | ||
7 | arch/x86/kernel/cpu/intel.c | 6 +++--- | ||
8 | 1 file changed, 3 insertions(+), 3 deletions(-) | ||
9 | |||
10 | diff --git a/arch/x86/kernel/cpu/intel.c b/arch/x86/kernel/cpu/intel.c | ||
11 | index fcd484d2bb03..13ae40f10bd4 100644 | ||
12 | --- a/arch/x86/kernel/cpu/intel.c | ||
13 | +++ b/arch/x86/kernel/cpu/intel.c | ||
14 | @@ -434,12 +434,12 @@ static void init_intel_energy_perf(struct cpuinfo_x86 *c) | ||
15 | return; | ||
16 | |||
17 | rdmsrl(MSR_IA32_ENERGY_PERF_BIAS, epb); | ||
18 | - if ((epb & 0xF) != ENERGY_PERF_BIAS_PERFORMANCE) | ||
19 | + if ((epb & 0xF) >= ENERGY_PERF_BIAS_NORMAL) | ||
20 | return; | ||
21 | |||
22 | - pr_warn_once("ENERGY_PERF_BIAS: Set to 'normal', was 'performance'\n"); | ||
23 | + pr_warn_once("ENERGY_PERF_BIAS: Set to 'performance', was 'normal'\n"); | ||
24 | pr_warn_once("ENERGY_PERF_BIAS: View and update with x86_energy_perf_policy(8)\n"); | ||
25 | - epb = (epb & ~0xF) | ENERGY_PERF_BIAS_NORMAL; | ||
26 | + epb = (epb & ~0xF) | ENERGY_PERF_BIAS_PERFORMANCE; | ||
27 | wrmsrl(MSR_IA32_ENERGY_PERF_BIAS, epb); | ||
28 | } | ||
29 | |||
30 | -- | ||
31 | 2.11.1 | ||
32 | |||
diff --git a/patches/boot_time_opt/0125-e1000e-increase-pause-and-refresh-time.patch b/patches/boot_time_opt/0125-e1000e-increase-pause-and-refresh-time.patch new file mode 100644 index 0000000..1c50e74 --- /dev/null +++ b/patches/boot_time_opt/0125-e1000e-increase-pause-and-refresh-time.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | From 6730c1ae12a567d56092d15540d2f971be95b936 Mon Sep 17 00:00:00 2001 | ||
2 | From: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
3 | Date: Mon, 27 Mar 2017 16:01:56 -0600 | ||
4 | Subject: [PATCH] e1000e: increase pause and refresh time | ||
5 | |||
6 | Suggested-by: Tim Pepper <timothy.c.pepper@linux.intel.com> | ||
7 | Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
8 | --- | ||
9 | drivers/net/ethernet/intel/e1000e/netdev.c | 4 ++-- | ||
10 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
11 | |||
12 | diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c | ||
13 | index 7d68d694ed9e..1db390a52656 100644 | ||
14 | --- a/drivers/net/ethernet/intel/e1000e/netdev.c | ||
15 | +++ b/drivers/net/ethernet/intel/e1000e/netdev.c | ||
16 | @@ -4032,12 +4032,12 @@ void e1000e_reset(struct e1000_adapter *adapter) | ||
17 | case e1000_pch2lan: | ||
18 | case e1000_pch_lpt: | ||
19 | case e1000_pch_spt: | ||
20 | - fc->refresh_time = 0x0400; | ||
21 | + fc->refresh_time = 0xFFFF; | ||
22 | + fc->pause_time = 0xFFFF; | ||
23 | |||
24 | if (adapter->netdev->mtu <= ETH_DATA_LEN) { | ||
25 | fc->high_water = 0x05C20; | ||
26 | fc->low_water = 0x05048; | ||
27 | - fc->pause_time = 0x0650; | ||
28 | break; | ||
29 | } | ||
30 | |||
31 | -- | ||
32 | 2.12.2 | ||
33 | |||
diff --git a/patches/boot_time_opt/0151-mm-Export-do_madvise.patch b/patches/boot_time_opt/0151-mm-Export-do_madvise.patch new file mode 100644 index 0000000..a6dbff7 --- /dev/null +++ b/patches/boot_time_opt/0151-mm-Export-do_madvise.patch | |||
@@ -0,0 +1,84 @@ | |||
1 | From 99b4cdcce43ad0f706120bef26fef8c628c572cf Mon Sep 17 00:00:00 2001 | ||
2 | From: Sebastien Boeuf <sebastien.boeuf@intel.com> | ||
3 | Date: Mon, 23 Jan 2017 15:03:52 -0800 | ||
4 | Subject: [PATCH 151/154] mm: Export do_madvise() | ||
5 | |||
6 | Combined with some interesting flags madvise() system call | ||
7 | allows to free memory more smartly and more efficiently than | ||
8 | we could do with a simple free(). The issue is that is not | ||
9 | available for kernel modules that could need it. | ||
10 | |||
11 | In order to solve this lack of support, this patch exports | ||
12 | do_madvise() so as to make it available to the entire kernel. | ||
13 | The already existing madvise() system call is unchanged and | ||
14 | now relies on this new do_madvise() function. | ||
15 | |||
16 | Suggested-by: Arjan van de Ven <arjan.van.de.ven@intel.com> | ||
17 | Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com> | ||
18 | --- | ||
19 | include/linux/mm.h | 2 ++ | ||
20 | mm/madvise.c | 25 +++++++++++++++++++++---- | ||
21 | 2 files changed, 23 insertions(+), 4 deletions(-) | ||
22 | |||
23 | diff --git a/include/linux/mm.h b/include/linux/mm.h | ||
24 | index 0b5b2e4df14e..925ec25f99a8 100644 | ||
25 | --- a/include/linux/mm.h | ||
26 | +++ b/include/linux/mm.h | ||
27 | @@ -2450,5 +2450,7 @@ void __init setup_nr_node_ids(void); | ||
28 | static inline void setup_nr_node_ids(void) {} | ||
29 | #endif | ||
30 | |||
31 | +extern int do_madvise(unsigned long start, size_t len_in, int behavior); | ||
32 | + | ||
33 | #endif /* __KERNEL__ */ | ||
34 | #endif /* _LINUX_MM_H */ | ||
35 | diff --git a/mm/madvise.c b/mm/madvise.c | ||
36 | index 93fb63e88b5e..c8bbf93d4978 100644 | ||
37 | --- a/mm/madvise.c | ||
38 | +++ b/mm/madvise.c | ||
39 | @@ -618,9 +618,7 @@ madvise_behavior_valid(int behavior) | ||
40 | } | ||
41 | |||
42 | /* | ||
43 | - * The madvise(2) system call. | ||
44 | - * | ||
45 | - * Applications can use madvise() to advise the kernel how it should | ||
46 | + * Kernel modules can use do_madvise() to advise the kernel how it should | ||
47 | * handle paging I/O in this VM area. The idea is to help the kernel | ||
48 | * use appropriate read-ahead and caching techniques. The information | ||
49 | * provided is advisory only, and can be safely disregarded by the | ||
50 | @@ -673,7 +671,7 @@ madvise_behavior_valid(int behavior) | ||
51 | * -EBADF - map exists, but area maps something that isn't a file. | ||
52 | * -EAGAIN - a kernel resource was temporarily unavailable. | ||
53 | */ | ||
54 | -SYSCALL_DEFINE3(madvise, unsigned long, start, size_t, len_in, int, behavior) | ||
55 | +int do_madvise(unsigned long start, size_t len_in, int behavior) | ||
56 | { | ||
57 | unsigned long end, tmp; | ||
58 | struct vm_area_struct *vma, *prev; | ||
59 | @@ -767,3 +765,22 @@ SYSCALL_DEFINE3(madvise, unsigned long, start, size_t, len_in, int, behavior) | ||
60 | |||
61 | return error; | ||
62 | } | ||
63 | +EXPORT_SYMBOL_GPL(do_madvise); | ||
64 | + | ||
65 | +/* | ||
66 | + * The madvise(2) system call. | ||
67 | + * | ||
68 | + * Applications can use madvise() system call to advise the kernel how | ||
69 | + * it should handle paging I/O in this VM area. The idea is to help | ||
70 | + * the kernel use appropriate read-ahead and caching techniques. The | ||
71 | + * information provided is advisory only, and can be safely disregarded | ||
72 | + * by the kernel without affecting the correct operation of the application. | ||
73 | + * | ||
74 | + * behavior values are the same than the ones defined in madvise() | ||
75 | + * | ||
76 | + * return values are the same than the ones defined in madvise() | ||
77 | + */ | ||
78 | +SYSCALL_DEFINE3(madvise, unsigned long, start, size_t, len_in, int, behavior) | ||
79 | +{ | ||
80 | + return do_madvise(start, len_in, behavior); | ||
81 | +} | ||
82 | -- | ||
83 | 2.12.1 | ||
84 | |||
diff --git a/patches/boot_time_opt/0152-x86-kvm-Notify-host-to-release-pages.patch b/patches/boot_time_opt/0152-x86-kvm-Notify-host-to-release-pages.patch new file mode 100644 index 0000000..5f44930 --- /dev/null +++ b/patches/boot_time_opt/0152-x86-kvm-Notify-host-to-release-pages.patch | |||
@@ -0,0 +1,180 @@ | |||
1 | From d28921b5f797829e4e676f7968ae688ef96b7992 Mon Sep 17 00:00:00 2001 | ||
2 | From: Sebastien Boeuf <sebastien.boeuf@intel.com> | ||
3 | Date: Mon, 23 Jan 2017 15:08:55 -0800 | ||
4 | Subject: [PATCH 152/154] x86: kvm: Notify host to release pages | ||
5 | |||
6 | In context of hypervisors managing several virtual machines, we | ||
7 | want those virtual machines to give the memory they used back to | ||
8 | the host when they don't need it anymore. | ||
9 | |||
10 | This patch introduces a new hypercall KVM_HC_RETURN_MEM, allowing | ||
11 | the guest kernel to notify the host kernel when such event occurs. | ||
12 | And relying on do_madvise() function that we have previously exported, | ||
13 | it issues a call to this function when it receives the new hypercall. | ||
14 | |||
15 | Use of do_madvise() with MADV_DONTNEED flag will allow the guest to | ||
16 | ask for a new page without going through a new hypercall. Instead, | ||
17 | it will be able to start using that memory again as it will get | ||
18 | faulted back in as a fresh new page. That's why do_madvise() is more | ||
19 | efficient than doing vm_unmap() to return some memory to the host. | ||
20 | |||
21 | This patch introduces also a new sysctl kvm_madv_instant_free, | ||
22 | allowing user to set MADV_FREE advice instead of MADV_DONTNEED. | ||
23 | Indeed, MADV_FREE saves more performances than using MADV_DONTNEED | ||
24 | because it does not zero the pages in case the memory has not been | ||
25 | freed by the kernel. This can happen when there was no need for the | ||
26 | kernel to get this memory back, meaning it was keeping those pages | ||
27 | in the right state to be re-used by the same application. | ||
28 | MADV_FREE being a very recent advice introduced in kernel 4.5, we | ||
29 | only want to enable it through a sysctl in case the user want to | ||
30 | use it. | ||
31 | |||
32 | Suggested-by: Arjan van de Ven <arjan.van.de.ven@intel.com> | ||
33 | Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com> | ||
34 | --- | ||
35 | arch/x86/kvm/x86.c | 17 +++++++++++++++++ | ||
36 | include/linux/mm.h | 5 +++++ | ||
37 | include/uapi/linux/kvm_para.h | 3 +++ | ||
38 | kernel/sysctl.c | 7 +++++++ | ||
39 | mm/Makefile | 2 +- | ||
40 | mm/kvm.c | 25 +++++++++++++++++++++++++ | ||
41 | 6 files changed, 58 insertions(+), 1 deletion(-) | ||
42 | create mode 100644 mm/kvm.c | ||
43 | |||
44 | diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c | ||
45 | index 582c75311f95..683a94dd5f03 100644 | ||
46 | --- a/arch/x86/kvm/x86.c | ||
47 | +++ b/arch/x86/kvm/x86.c | ||
48 | @@ -46,6 +46,7 @@ | ||
49 | #include <linux/user-return-notifier.h> | ||
50 | #include <linux/srcu.h> | ||
51 | #include <linux/slab.h> | ||
52 | +#include <linux/mm.h> | ||
53 | #include <linux/perf_event.h> | ||
54 | #include <linux/uaccess.h> | ||
55 | #include <linux/hash.h> | ||
56 | @@ -6019,6 +6020,19 @@ static void kvm_pv_kick_cpu_op(struct kvm *kvm, unsigned long flags, int apicid) | ||
57 | kvm_irq_delivery_to_apic(kvm, NULL, &lapic_irq, NULL); | ||
58 | } | ||
59 | |||
60 | +static int kvm_pv_return_mem_op(struct kvm *kvm, gpa_t gpa, size_t len) | ||
61 | +{ | ||
62 | + unsigned long start = gfn_to_hva(kvm, gpa_to_gfn(gpa)); | ||
63 | + | ||
64 | + if (len > KVM_MAX_RET_MEM_SIZE) | ||
65 | + return KVM_EPERM; | ||
66 | + | ||
67 | + if (kvm_is_error_hva(start + len)) | ||
68 | + return KVM_EFAULT; | ||
69 | + | ||
70 | + return do_madvise(start, len, kvm_ret_mem_advice); | ||
71 | +} | ||
72 | + | ||
73 | void kvm_vcpu_deactivate_apicv(struct kvm_vcpu *vcpu) | ||
74 | { | ||
75 | vcpu->arch.apicv_active = false; | ||
76 | @@ -6065,6 +6079,9 @@ int kvm_emulate_hypercall(struct kvm_vcpu *vcpu) | ||
77 | kvm_pv_kick_cpu_op(vcpu->kvm, a0, a1); | ||
78 | ret = 0; | ||
79 | break; | ||
80 | + case KVM_HC_RETURN_MEM: | ||
81 | + ret = kvm_pv_return_mem_op(vcpu->kvm, a0, a1); | ||
82 | + break; | ||
83 | default: | ||
84 | ret = -KVM_ENOSYS; | ||
85 | break; | ||
86 | diff --git a/include/linux/mm.h b/include/linux/mm.h | ||
87 | index 925ec25f99a8..833f23d98baa 100644 | ||
88 | --- a/include/linux/mm.h | ||
89 | +++ b/include/linux/mm.h | ||
90 | @@ -2303,6 +2303,11 @@ extern bool process_shares_mm(struct task_struct *p, struct mm_struct *mm); | ||
91 | extern int sysctl_drop_caches; | ||
92 | int drop_caches_sysctl_handler(struct ctl_table *, int, | ||
93 | void __user *, size_t *, loff_t *); | ||
94 | +extern int sysctl_kvm_madv_instant_free; | ||
95 | +extern int kvm_ret_mem_advice; | ||
96 | +int kvm_madv_instant_free_sysctl_handler(struct ctl_table *table, int write, | ||
97 | + void __user *buffer, size_t *length, | ||
98 | + loff_t *ppos); | ||
99 | #endif | ||
100 | |||
101 | void drop_slab(void); | ||
102 | diff --git a/include/uapi/linux/kvm_para.h b/include/uapi/linux/kvm_para.h | ||
103 | index bf6cd7d5cac2..7d90f77d87d0 100644 | ||
104 | --- a/include/uapi/linux/kvm_para.h | ||
105 | +++ b/include/uapi/linux/kvm_para.h | ||
106 | @@ -23,6 +23,9 @@ | ||
107 | #define KVM_HC_MIPS_GET_CLOCK_FREQ 6 | ||
108 | #define KVM_HC_MIPS_EXIT_VM 7 | ||
109 | #define KVM_HC_MIPS_CONSOLE_OUTPUT 8 | ||
110 | +#define KVM_HC_RETURN_MEM 10 | ||
111 | + | ||
112 | +#define KVM_MAX_RET_MEM_SIZE (1 << 22) // 4MiB | ||
113 | |||
114 | /* | ||
115 | * hypercalls use architecture specific | ||
116 | diff --git a/kernel/sysctl.c b/kernel/sysctl.c | ||
117 | index c1095cdc0fe2..d8ae774fa042 100644 | ||
118 | --- a/kernel/sysctl.c | ||
119 | +++ b/kernel/sysctl.c | ||
120 | @@ -1398,6 +1398,13 @@ static struct ctl_table vm_table[] = { | ||
121 | .extra1 = &one, | ||
122 | .extra2 = &four, | ||
123 | }, | ||
124 | + { | ||
125 | + .procname = "kvm_madv_instant_free", | ||
126 | + .data = &sysctl_kvm_madv_instant_free, | ||
127 | + .maxlen = sizeof(int), | ||
128 | + .mode = 0644, | ||
129 | + .proc_handler = kvm_madv_instant_free_sysctl_handler, | ||
130 | + }, | ||
131 | #ifdef CONFIG_COMPACTION | ||
132 | { | ||
133 | .procname = "compact_memory", | ||
134 | diff --git a/mm/Makefile b/mm/Makefile | ||
135 | index 295bd7a..6455723 100644 | ||
136 | --- a/mm/Makefile | ||
137 | +++ b/mm/Makefile | ||
138 | @@ -47,6 +47,8 @@ else | ||
139 | obj-y += bootmem.o | ||
140 | endif | ||
141 | |||
142 | +obj-y += kvm.o | ||
143 | + | ||
144 | obj-$(CONFIG_ADVISE_SYSCALLS) += fadvise.o | ||
145 | ifdef CONFIG_MMU | ||
146 | obj-$(CONFIG_ADVISE_SYSCALLS) += madvise.o | ||
147 | diff --git a/mm/kvm.c b/mm/kvm.c | ||
148 | new file mode 100644 | ||
149 | index 000000000000..8945f6a311b9 | ||
150 | --- /dev/null | ||
151 | +++ b/mm/kvm.c | ||
152 | @@ -0,0 +1,25 @@ | ||
153 | +#include <linux/mman.h> | ||
154 | + | ||
155 | +int sysctl_kvm_madv_instant_free; | ||
156 | + | ||
157 | +int kvm_ret_mem_advice = MADV_DONTNEED; | ||
158 | +EXPORT_SYMBOL_GPL(kvm_ret_mem_advice); | ||
159 | + | ||
160 | +int kvm_madv_instant_free_sysctl_handler(struct ctl_table *table, int write, | ||
161 | + void __user *buffer, size_t *length, loff_t *ppos) | ||
162 | +{ | ||
163 | + int ret; | ||
164 | + | ||
165 | + ret = proc_dointvec(table, write, buffer, length, ppos); | ||
166 | + if (ret) | ||
167 | + return ret; | ||
168 | + | ||
169 | +#ifdef MADV_FREE | ||
170 | + if (sysctl_kvm_madv_instant_free > 0) | ||
171 | + kvm_ret_mem_advice = MADV_FREE; | ||
172 | + else | ||
173 | + kvm_ret_mem_advice = MADV_DONTNEED; | ||
174 | +#endif | ||
175 | + | ||
176 | + return 0; | ||
177 | +} | ||
178 | -- | ||
179 | 2.12.1 | ||
180 | |||
diff --git a/patches/boot_time_opt/0153-x86-Return-memory-from-guest-to-host-kernel.patch b/patches/boot_time_opt/0153-x86-Return-memory-from-guest-to-host-kernel.patch new file mode 100644 index 0000000..cdb876a --- /dev/null +++ b/patches/boot_time_opt/0153-x86-Return-memory-from-guest-to-host-kernel.patch | |||
@@ -0,0 +1,155 @@ | |||
1 | From 855ef164854307839c08c60688eaeac14f9a649e Mon Sep 17 00:00:00 2001 | ||
2 | From: Sebastien Boeuf <sebastien.boeuf@intel.com> | ||
3 | Date: Mon, 23 Jan 2017 15:26:13 -0800 | ||
4 | Subject: [PATCH 153/154] x86: Return memory from guest to host kernel | ||
5 | |||
6 | All virtual machines need memory to perform various tasks, but this | ||
7 | memory is not released to the host after it is not used anymore. We | ||
8 | have to wait for the termination of the virtual machine to get this | ||
9 | memory back into the host. | ||
10 | |||
11 | Ballooning mechanism is close but not designed for the same purpose. | ||
12 | In case we hit memory limits of the system, the host predicts how much | ||
13 | memory can be asked back from a guest, and it issues an hypercall to | ||
14 | retrieve this memory. | ||
15 | |||
16 | The solution proposed is different because it does not wait for host | ||
17 | needs before to return memory, and it knows precisely how much memory | ||
18 | it can return. | ||
19 | |||
20 | The way to notify the host side about such a return is to rely on | ||
21 | the new hypercall KVM_HC_RETURN_MEM. In order to avoid the CPU to be | ||
22 | overloaded with too many hypercalls, we only return memory blocks of | ||
23 | order 7 (512k blocks) and higher. This value has been found running | ||
24 | memory tests using multiple threads allocating/freeing high amount | ||
25 | of memory. Those tests were run for different order values, and 7 was | ||
26 | the best tradeoff between the number of hypercalls issued and the | ||
27 | amount of memory returned to the host. | ||
28 | |||
29 | In order to limit performances impact related to this code addition, | ||
30 | we check for blocks of order 7 or higher. This means it only costs an | ||
31 | additional function call and a branch to perform this check. | ||
32 | |||
33 | Furthermore, this code has been added to the "merge" codepath of the | ||
34 | buddy allocator, which is not as sensitive as the "free" codepath. | ||
35 | Not all blocks going through the "free" codepath will end up in the | ||
36 | "merge" codepath because some of them won't find their free buddy. | ||
37 | But this is a negligible amount since the kernel does not use many | ||
38 | high order blocks directly. Instead, those bigger blocks are often | ||
39 | broken into smaller chunks used as low order blocks. At the time | ||
40 | those small blocks are released, they go through the merge path. | ||
41 | |||
42 | Benchmarks such as ebizzy and will-it-scale have been run in order | ||
43 | to make sure this patch does not affect kernel performances and no | ||
44 | significant differences were observed. | ||
45 | |||
46 | Suggested-by: Arjan van de Ven <arjan.van.de.ven@intel.com> | ||
47 | Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com> | ||
48 | --- | ||
49 | arch/x86/include/asm/kvm_para.h | 22 ++++++++++++++++++++++ | ||
50 | arch/x86/kernel/kvm.c | 10 ++++++++++ | ||
51 | include/linux/mm-arch-hooks.h | 8 ++++++++ | ||
52 | mm/page_alloc.c | 2 ++ | ||
53 | 4 files changed, 42 insertions(+) | ||
54 | |||
55 | diff --git a/arch/x86/include/asm/kvm_para.h b/arch/x86/include/asm/kvm_para.h | ||
56 | index bc62e7cbf1b1..4a2f6d1adbd2 100644 | ||
57 | --- a/arch/x86/include/asm/kvm_para.h | ||
58 | +++ b/arch/x86/include/asm/kvm_para.h | ||
59 | @@ -92,6 +92,28 @@ void kvm_async_pf_task_wait(u32 token); | ||
60 | void kvm_async_pf_task_wake(u32 token); | ||
61 | u32 kvm_read_and_reset_pf_reason(void); | ||
62 | extern void kvm_disable_steal_time(void); | ||
63 | +void kvm_arch_return_memory(struct page *page, unsigned int order); | ||
64 | + | ||
65 | +/* | ||
66 | + * This order has been found in an empirical way, running memory tests | ||
67 | + * through many iterations to assess the number of hypercalls issued | ||
68 | + * and the amount of memory returned. In case you change this order to | ||
69 | + * 6 or 8, it should not impact your performances significantly. | ||
70 | + * | ||
71 | + * Smaller values lead to less memory waste, but consume more CPU on | ||
72 | + * hypercalls. Larger values use less CPU, but do not as precisely | ||
73 | + * inform the hypervisor of which memory is free. | ||
74 | + */ | ||
75 | +#define RET_MEM_BUDDY_ORDER 7 | ||
76 | + | ||
77 | +static inline void arch_buddy_merge(struct page *page, unsigned int order) | ||
78 | +{ | ||
79 | + if (order < RET_MEM_BUDDY_ORDER) | ||
80 | + return; | ||
81 | + | ||
82 | + kvm_arch_return_memory(page, order); | ||
83 | +} | ||
84 | +#define arch_buddy_merge arch_buddy_merge | ||
85 | |||
86 | #ifdef CONFIG_PARAVIRT_SPINLOCKS | ||
87 | void __init kvm_spinlock_init(void); | ||
88 | diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c | ||
89 | index edbbfc854e39..14167b3f6514 100644 | ||
90 | --- a/arch/x86/kernel/kvm.c | ||
91 | +++ b/arch/x86/kernel/kvm.c | ||
92 | @@ -552,6 +552,16 @@ static __init int activate_jump_labels(void) | ||
93 | } | ||
94 | arch_initcall(activate_jump_labels); | ||
95 | |||
96 | +void kvm_arch_return_memory(struct page *page, unsigned int order) | ||
97 | +{ | ||
98 | + if (!kvm_para_available()) | ||
99 | + return; | ||
100 | + | ||
101 | + kvm_hypercall2(KVM_HC_RETURN_MEM, | ||
102 | + page_to_phys(page), | ||
103 | + PAGE_SIZE << order); | ||
104 | +} | ||
105 | + | ||
106 | #ifdef CONFIG_PARAVIRT_SPINLOCKS | ||
107 | |||
108 | /* Kick a cpu by its apicid. Used to wake up a halted vcpu */ | ||
109 | diff --git a/include/linux/mm-arch-hooks.h b/include/linux/mm-arch-hooks.h | ||
110 | index 4efc3f56e6df..26eb3a05a8a3 100644 | ||
111 | --- a/include/linux/mm-arch-hooks.h | ||
112 | +++ b/include/linux/mm-arch-hooks.h | ||
113 | @@ -12,6 +12,7 @@ | ||
114 | #define _LINUX_MM_ARCH_HOOKS_H | ||
115 | |||
116 | #include <asm/mm-arch-hooks.h> | ||
117 | +#include <asm/kvm_para.h> | ||
118 | |||
119 | #ifndef arch_remap | ||
120 | static inline void arch_remap(struct mm_struct *mm, | ||
121 | @@ -22,4 +23,11 @@ static inline void arch_remap(struct mm_struct *mm, | ||
122 | #define arch_remap arch_remap | ||
123 | #endif | ||
124 | |||
125 | +#ifndef arch_buddy_merge | ||
126 | +static inline void arch_buddy_merge(struct page *page, unsigned int order) | ||
127 | +{ | ||
128 | +} | ||
129 | +#define arch_buddy_merge arch_buddy_merge | ||
130 | +#endif | ||
131 | + | ||
132 | #endif /* _LINUX_MM_ARCH_HOOKS_H */ | ||
133 | diff --git a/mm/page_alloc.c b/mm/page_alloc.c | ||
134 | index 1460e6ad5e14..5f6e6371bc6f 100644 | ||
135 | --- a/mm/page_alloc.c | ||
136 | +++ b/mm/page_alloc.c | ||
137 | @@ -64,6 +64,7 @@ | ||
138 | #include <linux/page_owner.h> | ||
139 | #include <linux/kthread.h> | ||
140 | #include <linux/memcontrol.h> | ||
141 | +#include <linux/mm-arch-hooks.h> | ||
142 | |||
143 | #include <asm/sections.h> | ||
144 | #include <asm/tlbflush.h> | ||
145 | @@ -855,6 +856,7 @@ static inline void __free_one_page(struct page *page, | ||
146 | } | ||
147 | |||
148 | done_merging: | ||
149 | + arch_buddy_merge(page, order); | ||
150 | set_page_order(page, order); | ||
151 | |||
152 | /* | ||
153 | -- | ||
154 | 2.12.1 | ||
155 | |||
diff --git a/patches/boot_time_opt/0154-sysctl-vm-Fine-grained-cache-shrinking.patch b/patches/boot_time_opt/0154-sysctl-vm-Fine-grained-cache-shrinking.patch new file mode 100644 index 0000000..07d4a83 --- /dev/null +++ b/patches/boot_time_opt/0154-sysctl-vm-Fine-grained-cache-shrinking.patch | |||
@@ -0,0 +1,137 @@ | |||
1 | From 2c145b5233b504f5226a0f4bc44baeef33b444d8 Mon Sep 17 00:00:00 2001 | ||
2 | From: Sebastien Boeuf <sebastien.boeuf@intel.com> | ||
3 | Date: Mon, 23 Jan 2017 15:32:39 -0800 | ||
4 | Subject: [PATCH 154/154] sysctl: vm: Fine-grained cache shrinking | ||
5 | |||
6 | Lots of virtual machines are let in idle state for days until they | ||
7 | are terminated, and they can keep a large amount of memory in their | ||
8 | cache, meaning this memory cannot be used by other processes. | ||
9 | |||
10 | We tried to release this memory using existing drop_caches sysctl, | ||
11 | but it led to the complete cache loss while it could have been used | ||
12 | whether the idle process wakes up. Indeed, the process can't find any | ||
13 | available cached data and it directly affects performances to rebuild | ||
14 | it from scratch. | ||
15 | |||
16 | Instead, the solution we want is based on shrinking gradually system | ||
17 | cache over time. This patch adds a new sysctl shrink_caches_mb so as | ||
18 | to allow userspace applications indicating the kernel it should shrink | ||
19 | system cache up to the amount (in MiB) specified. | ||
20 | |||
21 | There is an application called "memshrinker" which uses this new | ||
22 | mechanism. It runs in the background and periodically releases a | ||
23 | specified amount of cache. This amount is based on the remaining | ||
24 | cache on the system, and period is computed to follow a shrinking | ||
25 | model. It results in saving a lot of memory for other processes | ||
26 | running on the system. | ||
27 | |||
28 | Suggested-by: Arjan van de Ven <arjan.van.de.ven@intel.com> | ||
29 | Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com> | ||
30 | --- | ||
31 | fs/drop_caches.c | 25 +++++++++++++++++++++++++ | ||
32 | include/linux/mm.h | 4 ++++ | ||
33 | kernel/sysctl.c | 8 ++++++++ | ||
34 | mm/vmscan.c | 2 -- | ||
35 | 4 files changed, 37 insertions(+), 2 deletions(-) | ||
36 | |||
37 | diff --git a/fs/drop_caches.c b/fs/drop_caches.c | ||
38 | index d72d52b90433..f564dfcc13a4 100644 | ||
39 | --- a/fs/drop_caches.c | ||
40 | +++ b/fs/drop_caches.c | ||
41 | @@ -8,10 +8,12 @@ | ||
42 | #include <linux/writeback.h> | ||
43 | #include <linux/sysctl.h> | ||
44 | #include <linux/gfp.h> | ||
45 | +#include <linux/swap.h> | ||
46 | #include "internal.h" | ||
47 | |||
48 | /* A global variable is a bit ugly, but it keeps the code simple */ | ||
49 | int sysctl_drop_caches; | ||
50 | +int sysctl_shrink_caches_mb; | ||
51 | |||
52 | static void drop_pagecache_sb(struct super_block *sb, void *unused) | ||
53 | { | ||
54 | @@ -67,3 +69,26 @@ int drop_caches_sysctl_handler(struct ctl_table *table, int write, | ||
55 | } | ||
56 | return 0; | ||
57 | } | ||
58 | + | ||
59 | +int shrink_caches_sysctl_handler(struct ctl_table *table, int write, | ||
60 | + void __user *buffer, size_t *length, loff_t *ppos) | ||
61 | +{ | ||
62 | + int ret; | ||
63 | + unsigned long nr_to_reclaim, page_reclaimed; | ||
64 | + | ||
65 | + ret = proc_dointvec_minmax(table, write, buffer, length, ppos); | ||
66 | + if (ret) | ||
67 | + return ret; | ||
68 | + | ||
69 | + nr_to_reclaim = sysctl_shrink_caches_mb * (1 << 20) / PAGE_SIZE; | ||
70 | + if (write) { | ||
71 | + page_reclaimed = shrink_all_memory(nr_to_reclaim); | ||
72 | + if (page_reclaimed > 0) | ||
73 | + lru_add_drain_all(); | ||
74 | + | ||
75 | + if (page_reclaimed != nr_to_reclaim) | ||
76 | + return page_reclaimed; | ||
77 | + } | ||
78 | + | ||
79 | + return 0; | ||
80 | +} | ||
81 | diff --git a/include/linux/mm.h b/include/linux/mm.h | ||
82 | index 833f23d98baa..0bb66c1c31c9 100644 | ||
83 | --- a/include/linux/mm.h | ||
84 | +++ b/include/linux/mm.h | ||
85 | @@ -2308,6 +2308,10 @@ extern int kvm_ret_mem_advice; | ||
86 | int kvm_madv_instant_free_sysctl_handler(struct ctl_table *table, int write, | ||
87 | void __user *buffer, size_t *length, | ||
88 | loff_t *ppos); | ||
89 | +extern int sysctl_shrink_caches_mb; | ||
90 | +int shrink_caches_sysctl_handler(struct ctl_table *table, int write, | ||
91 | + void __user *buffer, size_t *length, | ||
92 | + loff_t *ppos); | ||
93 | #endif | ||
94 | |||
95 | void drop_slab(void); | ||
96 | diff --git a/kernel/sysctl.c b/kernel/sysctl.c | ||
97 | index d8ae774fa042..5dc9a46ae212 100644 | ||
98 | --- a/kernel/sysctl.c | ||
99 | +++ b/kernel/sysctl.c | ||
100 | @@ -1405,6 +1405,14 @@ static struct ctl_table vm_table[] = { | ||
101 | .mode = 0644, | ||
102 | .proc_handler = kvm_madv_instant_free_sysctl_handler, | ||
103 | }, | ||
104 | + { | ||
105 | + .procname = "shrink_caches_mb", | ||
106 | + .data = &sysctl_shrink_caches_mb, | ||
107 | + .maxlen = sizeof(int), | ||
108 | + .mode = 0644, | ||
109 | + .proc_handler = shrink_caches_sysctl_handler, | ||
110 | + .extra1 = &one, | ||
111 | + }, | ||
112 | #ifdef CONFIG_COMPACTION | ||
113 | { | ||
114 | .procname = "compact_memory", | ||
115 | diff --git a/mm/vmscan.c b/mm/vmscan.c | ||
116 | index 30a88b945a44..1198e74d1860 100644 | ||
117 | --- a/mm/vmscan.c | ||
118 | +++ b/mm/vmscan.c | ||
119 | @@ -3525,7 +3525,6 @@ void wakeup_kswapd(struct zone *zone, int order, enum zone_type classzone_idx) | ||
120 | wake_up_interruptible(&pgdat->kswapd_wait); | ||
121 | } | ||
122 | |||
123 | -#ifdef CONFIG_HIBERNATION | ||
124 | /* | ||
125 | * Try to free `nr_to_reclaim' of memory, system-wide, and return the number of | ||
126 | * freed pages. | ||
127 | @@ -3564,7 +3563,6 @@ unsigned long shrink_all_memory(unsigned long nr_to_reclaim) | ||
128 | |||
129 | return nr_reclaimed; | ||
130 | } | ||
131 | -#endif /* CONFIG_HIBERNATION */ | ||
132 | |||
133 | /* It's optimal to keep kswapds on the same CPUs as their memory, but | ||
134 | not required for correctness. So if the last cpu in a node goes | ||
135 | -- | ||
136 | 2.12.1 | ||
137 | |||
diff --git a/patches/boot_time_opt/host_boot_time_opt.scc b/patches/boot_time_opt/host_boot_time_opt.scc new file mode 100644 index 0000000..ec93999 --- /dev/null +++ b/patches/boot_time_opt/host_boot_time_opt.scc | |||
@@ -0,0 +1,29 @@ | |||
1 | define KFEATURE_DESCRIPTION "Boot time optimization changes ported from ClearLinux, https://github.com/clearlinux-pkgs/linux-lts and https://github.com/clearlinux-pkgs/linux-kvm" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | patch 0101-kvm-silence-kvm-unhandled-rdmsr.patch | ||
5 | patch 0102-i8042-decrease-debug-message-level-to-info.patch | ||
6 | patch 0104-Increase-the-ext4-default-commit-age.patch | ||
7 | patch 0105-silence-rapl.patch | ||
8 | patch 0106-pci-pme-wakeups.patch | ||
9 | patch 0107-ksm-wakeups.patch | ||
10 | patch 0108-intel_idle-tweak-cpuidle-cstates.patch | ||
11 | patch 0110-init_task-faster-timerslack.patch | ||
12 | patch 0112-fs-ext4-fsync-optimize-double-fsync-a-bunch.patch | ||
13 | patch 0113-overload-on-wakeup.patch | ||
14 | patch 0114-bootstats-add-printk-s-to-measure-boot-time-in-more-.patch | ||
15 | patch 0115-fix-initcall-timestamps.patch | ||
16 | patch 0116-smpboot-reuse-timer-calibration.patch | ||
17 | patch 0118-Initialize-ata-before-graphics.patch | ||
18 | patch 0119-reduce-e1000e-boot-time-by-tightening-sleep-ranges.patch | ||
19 | patch 0120-give-rdrand-some-credit.patch | ||
20 | patch 0121-e1000e-change-default-policy.patch | ||
21 | patch 0122-ipv4-tcp-allow-the-memory-tuning-for-tcp-to-go-a-lit.patch | ||
22 | patch 0123-igb-no-runtime-pm-to-fix-reboot-oops.patch | ||
23 | patch 0124-tweak-perfbias.patch | ||
24 | patch 0125-e1000e-increase-pause-and-refresh-time.patch | ||
25 | |||
26 | patch 0151-mm-Export-do_madvise.patch | ||
27 | patch 0152-x86-kvm-Notify-host-to-release-pages.patch | ||
28 | patch 0153-x86-Return-memory-from-guest-to-host-kernel.patch | ||
29 | patch 0154-sysctl-vm-Fine-grained-cache-shrinking.patch | ||
diff --git a/patches/boot_time_opt/raid_alg.cfg b/patches/boot_time_opt/raid_alg.cfg new file mode 100644 index 0000000..6df4a7c --- /dev/null +++ b/patches/boot_time_opt/raid_alg.cfg | |||
@@ -0,0 +1,3 @@ | |||
1 | CONFIG_RAID6_FORCE_ALGO=y | ||
2 | CONFIG_RAID6_FORCE_INT=y | ||
3 | CONFIG_RAID6_FORCE_AVX2=y | ||
diff --git a/patches/boot_time_opt/raid_alg.scc b/patches/boot_time_opt/raid_alg.scc new file mode 100644 index 0000000..98dd713 --- /dev/null +++ b/patches/boot_time_opt/raid_alg.scc | |||
@@ -0,0 +1,5 @@ | |||
1 | define KFEATURE_DESCRIPTION "Use AVX2 for RAID recovery algorithm" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | patch 0117-raid6-add-Kconfig-option-to-skip-raid6-benchmarking.patch | ||
5 | kconf non-hardware raid_alg.cfg | ||
diff --git a/patches/boot_time_opt_guest/0102-cpuidle-skip-synchronize_rcu-on-single-CPU-systems.patch b/patches/boot_time_opt_guest/0102-cpuidle-skip-synchronize_rcu-on-single-CPU-systems.patch new file mode 100644 index 0000000..1de2a6b --- /dev/null +++ b/patches/boot_time_opt_guest/0102-cpuidle-skip-synchronize_rcu-on-single-CPU-systems.patch | |||
@@ -0,0 +1,34 @@ | |||
1 | From 6b0fb5b2a7a157c04d8ab6ad71b092034d0048bf Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Wed, 11 Feb 2015 16:19:26 -0600 | ||
4 | Subject: [PATCH 102/114] cpuidle: skip synchronize_rcu() on single CPU systems | ||
5 | |||
6 | synchronize_rcu() is pretty expensive, and on single CPU systems we don't need | ||
7 | it in this specific case, so skip it. | ||
8 | |||
9 | Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> | ||
10 | Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
11 | --- | ||
12 | drivers/cpuidle/cpuidle.c | 5 ++++- | ||
13 | 1 file changed, 4 insertions(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c | ||
16 | index 62810ff3b00f..f1d110411098 100644 | ||
17 | --- a/drivers/cpuidle/cpuidle.c | ||
18 | +++ b/drivers/cpuidle/cpuidle.c | ||
19 | @@ -324,8 +324,11 @@ void cpuidle_uninstall_idle_handler(void) | ||
20 | /* | ||
21 | * Make sure external observers (such as the scheduler) | ||
22 | * are done looking at pointed idle states. | ||
23 | + * This is only relevant if there is more than one cpu, | ||
24 | + * if there is only one CPU, that is us... and we're | ||
25 | + * coherent to ourselves. | ||
26 | */ | ||
27 | - synchronize_rcu(); | ||
28 | + | ||
29 | } | ||
30 | |||
31 | /** | ||
32 | -- | ||
33 | 2.11.1 | ||
34 | |||
diff --git a/patches/boot_time_opt_guest/0103-sysrq-skip-synchronize_rcu-if-there-is-no-old-op.patch b/patches/boot_time_opt_guest/0103-sysrq-skip-synchronize_rcu-if-there-is-no-old-op.patch new file mode 100644 index 0000000..d3a20fb --- /dev/null +++ b/patches/boot_time_opt_guest/0103-sysrq-skip-synchronize_rcu-if-there-is-no-old-op.patch | |||
@@ -0,0 +1,38 @@ | |||
1 | From 7be707833bb35c295eb702d13cf73ac9390e4b31 Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Wed, 11 Feb 2015 16:25:16 -0600 | ||
4 | Subject: [PATCH 103/114] sysrq: skip synchronize_rcu() if there is no old op | ||
5 | |||
6 | synchronize_rcu() is expensive. Currently it is called as part of the sysrq | ||
7 | registration/unregistration, which happens during boot several times. | ||
8 | Now, the reason for the synchronize_rcu() is to allow an old registered | ||
9 | operation to expire properly... which is pointless if the old operation | ||
10 | is NULL... | ||
11 | So we can save the common case of the old operation being NULL a lot of time | ||
12 | by just checking for non-NULL prior to the synchronize_rcu() | ||
13 | |||
14 | Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> | ||
15 | Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
16 | --- | ||
17 | drivers/tty/sysrq.c | 4 +++- | ||
18 | 1 file changed, 3 insertions(+), 1 deletion(-) | ||
19 | |||
20 | diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c | ||
21 | index 701c085bb19b..c60c7ba57ad9 100644 | ||
22 | --- a/drivers/tty/sysrq.c | ||
23 | +++ b/drivers/tty/sysrq.c | ||
24 | @@ -1065,8 +1065,10 @@ static int __sysrq_swap_key_ops(int key, struct sysrq_key_op *insert_op_p, | ||
25 | * A concurrent __handle_sysrq either got the old op or the new op. | ||
26 | * Wait for it to go away before returning, so the code for an old | ||
27 | * op is not freed (eg. on module unload) while it is in use. | ||
28 | + * This is only relevant if the old op is not NULL of course. | ||
29 | */ | ||
30 | - synchronize_rcu(); | ||
31 | + if (remove_op_p) | ||
32 | + synchronize_rcu(); | ||
33 | |||
34 | return retval; | ||
35 | } | ||
36 | -- | ||
37 | 2.11.1 | ||
38 | |||
diff --git a/patches/boot_time_opt_guest/0104-fbcon-enable-no-blink-by-default.patch b/patches/boot_time_opt_guest/0104-fbcon-enable-no-blink-by-default.patch new file mode 100644 index 0000000..715c195 --- /dev/null +++ b/patches/boot_time_opt_guest/0104-fbcon-enable-no-blink-by-default.patch | |||
@@ -0,0 +1,26 @@ | |||
1 | From 5899ff79ed4e3514420e1530a3588a922832dae5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jose Carlos Venegas Munoz <jos.c.venegas.munoz@intel.com> | ||
3 | Date: Mon, 13 Apr 2015 11:26:36 -0500 | ||
4 | Subject: [PATCH 104/114] fbcon: enable no blink by default | ||
5 | |||
6 | Author: Arjan van de Ven <arjan@linux.intel.com> | ||
7 | --- | ||
8 | drivers/video/console/fbcon.c | 2 +- | ||
9 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
10 | |||
11 | diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c | ||
12 | index a44f5627b82a..95b73366b86f 100644 | ||
13 | --- a/drivers/video/console/fbcon.c | ||
14 | +++ b/drivers/video/console/fbcon.c | ||
15 | @@ -146,7 +146,7 @@ static const struct consw fb_con; | ||
16 | |||
17 | static int fbcon_set_origin(struct vc_data *); | ||
18 | |||
19 | -static int fbcon_cursor_noblink; | ||
20 | +static int fbcon_cursor_noblink = 1; | ||
21 | |||
22 | #define divides(a, b) ((!(a) || (b)%(a)) ? 0 : 1) | ||
23 | |||
24 | -- | ||
25 | 2.11.1 | ||
26 | |||
diff --git a/patches/boot_time_opt_guest/0105-vmstats-wakeups.patch b/patches/boot_time_opt_guest/0105-vmstats-wakeups.patch new file mode 100644 index 0000000..09b109a --- /dev/null +++ b/patches/boot_time_opt_guest/0105-vmstats-wakeups.patch | |||
@@ -0,0 +1,28 @@ | |||
1 | From ff47b4e9be8113b4ba05d6f2afee3db6904bc10f Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Wed, 11 Feb 2015 16:47:20 -0600 | ||
4 | Subject: [PATCH 105/114] vmstats: wakeups | ||
5 | |||
6 | Author: Arjan van de Ven <arjan@linux.intel.com> | ||
7 | |||
8 | Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
9 | --- | ||
10 | mm/vmstat.c | 2 +- | ||
11 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
12 | |||
13 | diff --git a/mm/vmstat.c b/mm/vmstat.c | ||
14 | index 7c28df36f50f..efe1b6797139 100644 | ||
15 | --- a/mm/vmstat.c | ||
16 | +++ b/mm/vmstat.c | ||
17 | @@ -1549,7 +1549,7 @@ static const struct file_operations proc_vmstat_file_operations = { | ||
18 | #ifdef CONFIG_SMP | ||
19 | static struct workqueue_struct *vmstat_wq; | ||
20 | static DEFINE_PER_CPU(struct delayed_work, vmstat_work); | ||
21 | -int sysctl_stat_interval __read_mostly = HZ; | ||
22 | +int sysctl_stat_interval __read_mostly = 8 * HZ; | ||
23 | |||
24 | #ifdef CONFIG_PROC_FS | ||
25 | static void refresh_vm_stats(struct work_struct *work) | ||
26 | -- | ||
27 | 2.11.1 | ||
28 | |||
diff --git a/patches/boot_time_opt_guest/0106-pci-probe.patch b/patches/boot_time_opt_guest/0106-pci-probe.patch new file mode 100644 index 0000000..5045926 --- /dev/null +++ b/patches/boot_time_opt_guest/0106-pci-probe.patch | |||
@@ -0,0 +1,123 @@ | |||
1 | From b225caf8f743b9f5f9e84d0df711ee0c17e049ae Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Wed, 11 Feb 2015 16:53:08 -0600 | ||
4 | Subject: [PATCH 106/114] pci: probe | ||
5 | |||
6 | Author: Arjan van de Ven <arjan@linux.intel.com> | ||
7 | |||
8 | Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
9 | --- | ||
10 | drivers/pci/probe.c | 43 ++++++++++++++++++++++++++++++++++++++++--- | ||
11 | 1 file changed, 40 insertions(+), 3 deletions(-) | ||
12 | |||
13 | diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c | ||
14 | index 204960e70333..7399a06698da 100644 | ||
15 | --- a/drivers/pci/probe.c | ||
16 | +++ b/drivers/pci/probe.c | ||
17 | @@ -182,6 +182,10 @@ int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type, | ||
18 | |||
19 | mask = type ? PCI_ROM_ADDRESS_MASK : ~0; | ||
20 | |||
21 | + res->name = pci_name(dev); | ||
22 | + | ||
23 | + printk("clr: Starting probe for %s\n", res->name); | ||
24 | + | ||
25 | /* No printks while decoding is disabled! */ | ||
26 | if (!dev->mmio_always_on) { | ||
27 | pci_read_config_word(dev, PCI_COMMAND, &orig_cmd); | ||
28 | @@ -191,8 +195,6 @@ int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type, | ||
29 | } | ||
30 | } | ||
31 | |||
32 | - res->name = pci_name(dev); | ||
33 | - | ||
34 | pci_read_config_dword(dev, pos, &l); | ||
35 | pci_write_config_dword(dev, pos, l | mask); | ||
36 | pci_read_config_dword(dev, pos, &sz); | ||
37 | @@ -324,6 +326,8 @@ static void pci_read_bases(struct pci_dev *dev, unsigned int howmany, int rom) | ||
38 | if (dev->non_compliant_bars) | ||
39 | return; | ||
40 | |||
41 | + printk("clr: pci_read_bases start\n"); | ||
42 | + | ||
43 | for (pos = 0; pos < howmany; pos++) { | ||
44 | struct resource *res = &dev->resource[pos]; | ||
45 | reg = PCI_BASE_ADDRESS_0 + (pos << 2); | ||
46 | @@ -332,11 +336,13 @@ static void pci_read_bases(struct pci_dev *dev, unsigned int howmany, int rom) | ||
47 | |||
48 | if (rom) { | ||
49 | struct resource *res = &dev->resource[PCI_ROM_RESOURCE]; | ||
50 | + printk("clr: rom path\n"); | ||
51 | dev->rom_base_reg = rom; | ||
52 | res->flags = IORESOURCE_MEM | IORESOURCE_PREFETCH | | ||
53 | IORESOURCE_READONLY | IORESOURCE_SIZEALIGN; | ||
54 | __pci_read_base(dev, pci_bar_mem32, res, rom); | ||
55 | } | ||
56 | + printk("clr: pci_read_bases end\n"); | ||
57 | } | ||
58 | |||
59 | static void pci_read_bridge_io(struct pci_bus *child) | ||
60 | @@ -1311,6 +1317,28 @@ static void pci_msi_setup_pci_dev(struct pci_dev *dev) | ||
61 | pci_msix_clear_and_set_ctrl(dev, PCI_MSIX_FLAGS_ENABLE, 0); | ||
62 | } | ||
63 | |||
64 | +static int guess_bar_count(int class) | ||
65 | +{ | ||
66 | + if (class == 0x068000) | ||
67 | + return 0; | ||
68 | + if (class == 0x020000) | ||
69 | + return 2; | ||
70 | + if (class == 0x010000) | ||
71 | + return 2; | ||
72 | + if (class == 0x00ff00) | ||
73 | + return 1; | ||
74 | + return 6; | ||
75 | +} | ||
76 | + | ||
77 | +static int has_rom(int class, int rom) | ||
78 | +{ | ||
79 | + if (class == 0x020000) | ||
80 | + return 0; | ||
81 | + if (class == 0x010000 || class == 0x00ff00) | ||
82 | + return 0; | ||
83 | + return rom; | ||
84 | +} | ||
85 | + | ||
86 | /** | ||
87 | * pci_setup_device - fill in class and map information of a device | ||
88 | * @dev: the device structure to fill | ||
89 | @@ -1329,6 +1357,9 @@ int pci_setup_device(struct pci_dev *dev) | ||
90 | int pos = 0; | ||
91 | struct pci_bus_region region; | ||
92 | struct resource *res; | ||
93 | + int maxbar; | ||
94 | + | ||
95 | + printk("clr: pci_setup_device start\n"); | ||
96 | |||
97 | if (pci_read_config_byte(dev, PCI_HEADER_TYPE, &hdr_type)) | ||
98 | return -EIO; | ||
99 | @@ -1383,7 +1414,11 @@ int pci_setup_device(struct pci_dev *dev) | ||
100 | if (class == PCI_CLASS_BRIDGE_PCI) | ||
101 | goto bad; | ||
102 | pci_read_irq(dev); | ||
103 | - pci_read_bases(dev, 6, PCI_ROM_ADDRESS); | ||
104 | + | ||
105 | + maxbar = guess_bar_count(dev->class); | ||
106 | + | ||
107 | + if (class != PCI_CLASS_STORAGE_IDE) | ||
108 | + pci_read_bases(dev, maxbar, has_rom(dev->class, PCI_ROM_ADDRESS)); | ||
109 | pci_read_config_word(dev, PCI_SUBSYSTEM_VENDOR_ID, &dev->subsystem_vendor); | ||
110 | pci_read_config_word(dev, PCI_SUBSYSTEM_ID, &dev->subsystem_device); | ||
111 | |||
112 | @@ -1468,6 +1503,8 @@ int pci_setup_device(struct pci_dev *dev) | ||
113 | dev->class = PCI_CLASS_NOT_DEFINED << 8; | ||
114 | } | ||
115 | |||
116 | + printk("clr: pci_setup_device end\n"); | ||
117 | + | ||
118 | /* We found a fine healthy device, go go go... */ | ||
119 | return 0; | ||
120 | } | ||
121 | -- | ||
122 | 2.11.1 | ||
123 | |||
diff --git a/patches/boot_time_opt_guest/0107-cgroup.patch b/patches/boot_time_opt_guest/0107-cgroup.patch new file mode 100644 index 0000000..d68c686 --- /dev/null +++ b/patches/boot_time_opt_guest/0107-cgroup.patch | |||
@@ -0,0 +1,107 @@ | |||
1 | From 0adc5bfd84939d11d3c172eab0a00bfab4aadb46 Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Fri, 28 Aug 2015 11:00:36 -0500 | ||
4 | Subject: [PATCH 107/114] cgroup | ||
5 | |||
6 | Author: Arjan van de Ven <arjan@linux.intel.com> | ||
7 | |||
8 | Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
9 | Signed-off-by: Jose Carlos Venegas Munoz <jos.c.venegas.munoz@intel.com> | ||
10 | --- | ||
11 | include/linux/cgroup-defs.h | 2 +- | ||
12 | kernel/cgroup.c | 24 ++++++++++++++---------- | ||
13 | 2 files changed, 15 insertions(+), 11 deletions(-) | ||
14 | |||
15 | diff --git a/include/linux/cgroup-defs.h b/include/linux/cgroup-defs.h | ||
16 | index 861b4677fc5b..5d3c345ee60c 100644 | ||
17 | --- a/include/linux/cgroup-defs.h | ||
18 | +++ b/include/linux/cgroup-defs.h | ||
19 | @@ -137,7 +137,7 @@ struct cgroup_subsys_state { | ||
20 | |||
21 | /* percpu_ref killing and RCU release */ | ||
22 | struct rcu_head rcu_head; | ||
23 | - struct work_struct destroy_work; | ||
24 | + struct delayed_work destroy_work; | ||
25 | }; | ||
26 | |||
27 | /* | ||
28 | diff --git a/kernel/cgroup.c b/kernel/cgroup.c | ||
29 | index 53bbca7c4859..6de39d8213ed 100644 | ||
30 | --- a/kernel/cgroup.c | ||
31 | +++ b/kernel/cgroup.c | ||
32 | @@ -73,7 +73,7 @@ | ||
33 | * Expiring in the middle is a performance problem not a correctness one. | ||
34 | * 1 sec should be enough. | ||
35 | */ | ||
36 | -#define CGROUP_PIDLIST_DESTROY_DELAY HZ | ||
37 | +#define CGROUP_PIDLIST_DESTROY_DELAY round_jiffies_relative(HZ) | ||
38 | |||
39 | #define CGROUP_FILE_NAME_MAX (MAX_CGROUP_TYPE_NAMELEN + \ | ||
40 | MAX_CFTYPE_NAME + 2) | ||
41 | @@ -4986,8 +4986,9 @@ static struct cftype cgroup_legacy_base_files[] = { | ||
42 | */ | ||
43 | static void css_free_work_fn(struct work_struct *work) | ||
44 | { | ||
45 | + struct delayed_work *dwork = to_delayed_work(work); | ||
46 | struct cgroup_subsys_state *css = | ||
47 | - container_of(work, struct cgroup_subsys_state, destroy_work); | ||
48 | + container_of(dwork, struct cgroup_subsys_state, destroy_work); | ||
49 | struct cgroup_subsys *ss = css->ss; | ||
50 | struct cgroup *cgrp = css->cgroup; | ||
51 | |||
52 | @@ -5036,14 +5037,15 @@ static void css_free_rcu_fn(struct rcu_head *rcu_head) | ||
53 | struct cgroup_subsys_state *css = | ||
54 | container_of(rcu_head, struct cgroup_subsys_state, rcu_head); | ||
55 | |||
56 | - INIT_WORK(&css->destroy_work, css_free_work_fn); | ||
57 | - queue_work(cgroup_destroy_wq, &css->destroy_work); | ||
58 | + INIT_DELAYED_WORK(&css->destroy_work, css_free_work_fn); | ||
59 | + queue_delayed_work(cgroup_destroy_wq, &css->destroy_work, CGROUP_PIDLIST_DESTROY_DELAY); | ||
60 | } | ||
61 | |||
62 | static void css_release_work_fn(struct work_struct *work) | ||
63 | { | ||
64 | + struct delayed_work *dwork = to_delayed_work(work); | ||
65 | struct cgroup_subsys_state *css = | ||
66 | - container_of(work, struct cgroup_subsys_state, destroy_work); | ||
67 | + container_of(dwork, struct cgroup_subsys_state, destroy_work); | ||
68 | struct cgroup_subsys *ss = css->ss; | ||
69 | struct cgroup *cgrp = css->cgroup; | ||
70 | |||
71 | @@ -5088,8 +5090,9 @@ static void css_release(struct percpu_ref *ref) | ||
72 | struct cgroup_subsys_state *css = | ||
73 | container_of(ref, struct cgroup_subsys_state, refcnt); | ||
74 | |||
75 | - INIT_WORK(&css->destroy_work, css_release_work_fn); | ||
76 | - queue_work(cgroup_destroy_wq, &css->destroy_work); | ||
77 | + INIT_DELAYED_WORK(&css->destroy_work, css_release_work_fn); | ||
78 | + queue_delayed_work(cgroup_destroy_wq, &css->destroy_work, CGROUP_PIDLIST_DESTROY_DELAY); | ||
79 | + | ||
80 | } | ||
81 | |||
82 | static void init_and_link_css(struct cgroup_subsys_state *css, | ||
83 | @@ -5371,8 +5374,9 @@ static int cgroup_mkdir(struct kernfs_node *parent_kn, const char *name, | ||
84 | */ | ||
85 | static void css_killed_work_fn(struct work_struct *work) | ||
86 | { | ||
87 | + struct delayed_work *dwork = to_delayed_work(work); | ||
88 | struct cgroup_subsys_state *css = | ||
89 | - container_of(work, struct cgroup_subsys_state, destroy_work); | ||
90 | + container_of(dwork, struct cgroup_subsys_state, destroy_work); | ||
91 | |||
92 | mutex_lock(&cgroup_mutex); | ||
93 | |||
94 | @@ -5393,8 +5397,8 @@ static void css_killed_ref_fn(struct percpu_ref *ref) | ||
95 | container_of(ref, struct cgroup_subsys_state, refcnt); | ||
96 | |||
97 | if (atomic_dec_and_test(&css->online_cnt)) { | ||
98 | - INIT_WORK(&css->destroy_work, css_killed_work_fn); | ||
99 | - queue_work(cgroup_destroy_wq, &css->destroy_work); | ||
100 | + INIT_DELAYED_WORK(&css->destroy_work, css_killed_work_fn); | ||
101 | + queue_delayed_work(cgroup_destroy_wq, &css->destroy_work, CGROUP_PIDLIST_DESTROY_DELAY); | ||
102 | } | ||
103 | } | ||
104 | |||
105 | -- | ||
106 | 2.11.1 | ||
107 | |||
diff --git a/patches/boot_time_opt_guest/0108-smpboot-reuse-timer-calibration.patch b/patches/boot_time_opt_guest/0108-smpboot-reuse-timer-calibration.patch new file mode 100644 index 0000000..48be94a --- /dev/null +++ b/patches/boot_time_opt_guest/0108-smpboot-reuse-timer-calibration.patch | |||
@@ -0,0 +1,45 @@ | |||
1 | From 634947be6c24d844af5f6ecf59453f2ddc09e032 Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Wed, 11 Feb 2015 17:28:14 -0600 | ||
4 | Subject: [PATCH 108/114] smpboot: reuse timer calibration | ||
5 | |||
6 | NO point recalibrating for known-constant tsc... saves 200ms+ of boot time. | ||
7 | |||
8 | Author: Arjan van de Ven <arjan@linux.intel.com> | ||
9 | |||
10 | Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
11 | --- | ||
12 | arch/x86/kernel/smpboot.c | 2 +- | ||
13 | arch/x86/kernel/tsc.c | 3 +++ | ||
14 | 2 files changed, 4 insertions(+), 1 deletion(-) | ||
15 | |||
16 | diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c | ||
17 | index 99b920d0e516..e17bb425bb52 100644 | ||
18 | --- a/arch/x86/kernel/smpboot.c | ||
19 | +++ b/arch/x86/kernel/smpboot.c | ||
20 | @@ -761,7 +761,7 @@ wakeup_secondary_cpu_via_init(int phys_apicid, unsigned long start_eip) | ||
21 | pr_debug("Waiting for send to finish...\n"); | ||
22 | send_status = safe_apic_wait_icr_idle(); | ||
23 | |||
24 | - udelay(init_udelay); | ||
25 | + udelay(100); | ||
26 | |||
27 | pr_debug("Deasserting INIT\n"); | ||
28 | |||
29 | diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c | ||
30 | index 37e7cf544e51..e99be8a6a132 100644 | ||
31 | --- a/arch/x86/kernel/tsc.c | ||
32 | +++ b/arch/x86/kernel/tsc.c | ||
33 | @@ -1413,6 +1413,9 @@ unsigned long calibrate_delay_is_known(void) | ||
34 | if (!mask) | ||
35 | return 0; | ||
36 | |||
37 | + if (cpu !=0) | ||
38 | + return cpu_data(0).loops_per_jiffy; | ||
39 | + | ||
40 | sibling = cpumask_any_but(mask, cpu); | ||
41 | if (sibling < nr_cpu_ids) | ||
42 | return cpu_data(sibling).loops_per_jiffy; | ||
43 | -- | ||
44 | 2.11.1 | ||
45 | |||
diff --git a/patches/boot_time_opt_guest/0109-perf.patch b/patches/boot_time_opt_guest/0109-perf.patch new file mode 100644 index 0000000..75f50f6 --- /dev/null +++ b/patches/boot_time_opt_guest/0109-perf.patch | |||
@@ -0,0 +1,28 @@ | |||
1 | From cce700dfbd5fdbf72b96e6479ca539ab4d880ce2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Wed, 4 Nov 2015 15:17:10 -0600 | ||
4 | Subject: [PATCH 109/114] perf | ||
5 | |||
6 | Author: Arjan van de Ven <arjan@linux.intel.com> | ||
7 | |||
8 | Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
9 | --- | ||
10 | arch/x86/events/intel/core.c | 2 +- | ||
11 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
12 | |||
13 | diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c | ||
14 | index eb1484c86bb4..c13ea26ac066 100644 | ||
15 | --- a/arch/x86/events/intel/core.c | ||
16 | +++ b/arch/x86/events/intel/core.c | ||
17 | @@ -4040,7 +4040,7 @@ __init int intel_pmu_init(void) | ||
18 | */ | ||
19 | if (x86_pmu.extra_regs) { | ||
20 | for (er = x86_pmu.extra_regs; er->msr; er++) { | ||
21 | - er->extra_msr_access = check_msr(er->msr, 0x11UL); | ||
22 | + er->extra_msr_access = false; | ||
23 | /* Disable LBR select mapping */ | ||
24 | if ((er->idx == EXTRA_REG_LBR) && !er->extra_msr_access) | ||
25 | x86_pmu.lbr_sel_map = NULL; | ||
26 | -- | ||
27 | 2.11.1 | ||
28 | |||
diff --git a/patches/boot_time_opt_guest/0110-pci-probe-identify-known-devices.patch b/patches/boot_time_opt_guest/0110-pci-probe-identify-known-devices.patch new file mode 100644 index 0000000..742a045 --- /dev/null +++ b/patches/boot_time_opt_guest/0110-pci-probe-identify-known-devices.patch | |||
@@ -0,0 +1,190 @@ | |||
1 | From c662d99134b67c58e63ecc17c2531588a3a51596 Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Sat, 14 Feb 2015 09:49:41 -0600 | ||
4 | Subject: [PATCH 110/114] pci: probe: identify known devices | ||
5 | |||
6 | Author: Arjan van de Ven <arjan@linux.intel.com> | ||
7 | Modify-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
8 | |||
9 | Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
10 | --- | ||
11 | drivers/pci/probe.c | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++++ | ||
12 | 1 file changed, 156 insertions(+) | ||
13 | |||
14 | diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c | ||
15 | index 7399a06698da..4fb2d7fed4c5 100644 | ||
16 | --- a/drivers/pci/probe.c | ||
17 | +++ b/drivers/pci/probe.c | ||
18 | @@ -163,6 +163,159 @@ static inline unsigned long decode_bar(struct pci_dev *dev, u32 bar) | ||
19 | |||
20 | #define PCI_COMMAND_DECODE_ENABLE (PCI_COMMAND_MEMORY | PCI_COMMAND_IO) | ||
21 | |||
22 | +/* shortcut version of __pci_read_base where we know the sizes already */ | ||
23 | +int __pci_read_base_shortcut(struct pci_dev *dev, enum pci_bar_type type, | ||
24 | + struct resource *res, unsigned int pos, u32 sz_in, u32 sz2_in) | ||
25 | +{ | ||
26 | + u32 l, sz; | ||
27 | + u64 l64, sz64, mask64; | ||
28 | + struct pci_bus_region region, inverted_region; | ||
29 | + | ||
30 | + res->name = pci_name(dev); | ||
31 | + | ||
32 | + pci_read_config_dword(dev, pos, &l); | ||
33 | + | ||
34 | + sz = sz_in; | ||
35 | + | ||
36 | + /* | ||
37 | + * All bits set in sz means the device isn't working properly. | ||
38 | + * If the BAR isn't implemented, all bits must be 0. If it's a | ||
39 | + * memory BAR or a ROM, bit 0 must be clear; if it's an io BAR, bit | ||
40 | + * 1 must be clear. | ||
41 | + * Here we set the size and is not 0xffffffff | ||
42 | + */ | ||
43 | + | ||
44 | + /* | ||
45 | + * I don't know how l can have all bits set. Copied from old code. | ||
46 | + * Maybe it fixes a bug on some ancient platform. | ||
47 | + */ | ||
48 | + if (l == 0xffffffff) | ||
49 | + l = 0; | ||
50 | + | ||
51 | + if (type == pci_bar_unknown) { | ||
52 | + res->flags = decode_bar(dev, l); | ||
53 | + res->flags |= IORESOURCE_SIZEALIGN; | ||
54 | + if (res->flags & IORESOURCE_IO) { | ||
55 | + l64 = l & PCI_BASE_ADDRESS_IO_MASK; | ||
56 | + sz64 = sz & PCI_BASE_ADDRESS_IO_MASK; | ||
57 | + mask64 = PCI_BASE_ADDRESS_IO_MASK & (u32)IO_SPACE_LIMIT; | ||
58 | + } else { | ||
59 | + l64 = l & PCI_BASE_ADDRESS_MEM_MASK; | ||
60 | + sz64 = sz & PCI_BASE_ADDRESS_MEM_MASK; | ||
61 | + mask64 = (u32)PCI_BASE_ADDRESS_MEM_MASK; | ||
62 | + } | ||
63 | + } else { | ||
64 | + res->flags |= (l & IORESOURCE_ROM_ENABLE); | ||
65 | + l64 = l & PCI_ROM_ADDRESS_MASK; | ||
66 | + sz64 = sz & PCI_ROM_ADDRESS_MASK; | ||
67 | + mask64 = (u32)PCI_ROM_ADDRESS_MASK; | ||
68 | + } | ||
69 | + | ||
70 | + if (res->flags & IORESOURCE_MEM_64) { | ||
71 | + pci_read_config_dword(dev, pos + 4, &l); | ||
72 | + sz = sz2_in; | ||
73 | + | ||
74 | + l64 |= ((u64)l << 32); | ||
75 | + sz64 |= ((u64)sz << 32); | ||
76 | + mask64 |= ((u64)~0 << 32); | ||
77 | + } | ||
78 | + | ||
79 | + if (!sz64) | ||
80 | + goto fail; | ||
81 | + | ||
82 | + sz64 = pci_size(l64, sz64, mask64); | ||
83 | + if (!sz64) { | ||
84 | + dev_info(&dev->dev, FW_BUG "reg 0x%x: invalid BAR (can't size)\n", | ||
85 | + pos); | ||
86 | + goto fail; | ||
87 | + } | ||
88 | + | ||
89 | + if (res->flags & IORESOURCE_MEM_64) { | ||
90 | + if ((sizeof(dma_addr_t) < 8 || sizeof(resource_size_t) < 8) && | ||
91 | + sz64 > 0x100000000ULL) { | ||
92 | + res->flags |= IORESOURCE_UNSET | IORESOURCE_DISABLED; | ||
93 | + res->start = 0; | ||
94 | + res->end = 0; | ||
95 | + dev_err(&dev->dev, "reg 0x%x: can't handle BAR larger than 4GB (size %#010llx)\n", | ||
96 | + pos, (unsigned long long)sz64); | ||
97 | + goto out; | ||
98 | + } | ||
99 | + | ||
100 | + if ((sizeof(dma_addr_t) < 8) && l) { | ||
101 | + /* Above 32-bit boundary; try to reallocate */ | ||
102 | + res->flags |= IORESOURCE_UNSET; | ||
103 | + res->start = 0; | ||
104 | + res->end = sz64; | ||
105 | + dev_info(&dev->dev, "reg 0x%x: can't handle BAR above 4GB (bus address %#010llx)\n", | ||
106 | + pos, (unsigned long long)l64); | ||
107 | + goto out; | ||
108 | + } | ||
109 | + } | ||
110 | + | ||
111 | + region.start = l64; | ||
112 | + region.end = l64 + sz64; | ||
113 | + | ||
114 | + pcibios_bus_to_resource(dev->bus, res, ®ion); | ||
115 | + pcibios_resource_to_bus(dev->bus, &inverted_region, res); | ||
116 | + | ||
117 | + /* | ||
118 | + * If "A" is a BAR value (a bus address), "bus_to_resource(A)" is | ||
119 | + * the corresponding resource address (the physical address used by | ||
120 | + * the CPU. Converting that resource address back to a bus address | ||
121 | + * should yield the original BAR value: | ||
122 | + * | ||
123 | + * resource_to_bus(bus_to_resource(A)) == A | ||
124 | + * | ||
125 | + * If it doesn't, CPU accesses to "bus_to_resource(A)" will not | ||
126 | + * be claimed by the device. | ||
127 | + */ | ||
128 | + if (inverted_region.start != region.start) { | ||
129 | + res->flags |= IORESOURCE_UNSET; | ||
130 | + res->start = 0; | ||
131 | + res->end = region.end - region.start; | ||
132 | + dev_info(&dev->dev, "reg 0x%x: initial BAR value %#010llx invalid\n", | ||
133 | + pos, (unsigned long long)region.start); | ||
134 | + } | ||
135 | + | ||
136 | + goto out; | ||
137 | + | ||
138 | + | ||
139 | +fail: | ||
140 | + res->flags = 0; | ||
141 | +out: | ||
142 | + if (res->flags) | ||
143 | + dev_printk(KERN_DEBUG, &dev->dev, "reg 0x%x: %pR\n", pos, res); | ||
144 | + | ||
145 | + return (res->flags & IORESOURCE_MEM_64) ? 1 : 0; | ||
146 | +} | ||
147 | + | ||
148 | +static int is_known_device(struct pci_dev *dev, int pos, int *sz) | ||
149 | +{ | ||
150 | + /* Red Hat, Inc : Virtio network device */ | ||
151 | + if (dev->vendor == 0x1af4 && dev->device == 0x1000) { | ||
152 | + if (pos == 0x10) { | ||
153 | + *sz = 0xffffffe1; | ||
154 | + return 1; | ||
155 | + } | ||
156 | + if (pos == 0x14) { | ||
157 | + *sz = 0xfffff000; | ||
158 | + return 1; | ||
159 | + } | ||
160 | + } | ||
161 | + /* Red Hat, Inc : Virtio block device */ | ||
162 | + if (dev->vendor == 0x1af4 && dev->device == 0x1001) { | ||
163 | + if (pos == 0x10) { | ||
164 | + *sz = 0xffffffc1; | ||
165 | + return 1; | ||
166 | + } | ||
167 | + if (pos == 0x14) { | ||
168 | + *sz = 0xfffff000; | ||
169 | + return 1; | ||
170 | + } | ||
171 | + } | ||
172 | + return 0; | ||
173 | +} | ||
174 | + | ||
175 | /** | ||
176 | * pci_read_base - read a PCI BAR | ||
177 | * @dev: the PCI device | ||
178 | @@ -182,6 +335,9 @@ int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type, | ||
179 | |||
180 | mask = type ? PCI_ROM_ADDRESS_MASK : ~0; | ||
181 | |||
182 | + if (is_known_device(dev, pos, &sz)) | ||
183 | + return __pci_read_base_shortcut(dev, type, res, pos, sz, 0); | ||
184 | + | ||
185 | res->name = pci_name(dev); | ||
186 | |||
187 | printk("clr: Starting probe for %s\n", res->name); | ||
188 | -- | ||
189 | 2.11.1 | ||
190 | |||
diff --git a/patches/boot_time_opt_guest/0111-init-no-wait-for-the-known-devices.patch b/patches/boot_time_opt_guest/0111-init-no-wait-for-the-known-devices.patch new file mode 100644 index 0000000..701a18d --- /dev/null +++ b/patches/boot_time_opt_guest/0111-init-no-wait-for-the-known-devices.patch | |||
@@ -0,0 +1,39 @@ | |||
1 | From be2ab4809c6b5058fbf3cd54c0f59c56416e572c Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Mon, 22 Jun 2015 09:33:33 -0500 | ||
4 | Subject: [PATCH 111/114] init: no wait for the known devices | ||
5 | |||
6 | No wait for the known devices to complete their probing | ||
7 | |||
8 | Author: Arjan van de Ven <arjan@linux.intel.com> | ||
9 | |||
10 | Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
11 | --- | ||
12 | init/do_mounts.c | 4 +++- | ||
13 | 1 file changed, 3 insertions(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/init/do_mounts.c b/init/do_mounts.c | ||
16 | index c2de5104aad2..40725f0f5fb3 100644 | ||
17 | --- a/init/do_mounts.c | ||
18 | +++ b/init/do_mounts.c | ||
19 | @@ -28,6 +28,7 @@ | ||
20 | #include <linux/slab.h> | ||
21 | #include <linux/ramfs.h> | ||
22 | #include <linux/shmem_fs.h> | ||
23 | +#include <linux/async.h> | ||
24 | |||
25 | #include <linux/nfs_fs.h> | ||
26 | #include <linux/nfs_fs_sb.h> | ||
27 | @@ -563,7 +564,8 @@ void __init prepare_namespace(void) | ||
28 | * For example, it is not atypical to wait 5 seconds here | ||
29 | * for the touchpad of a laptop to initialize. | ||
30 | */ | ||
31 | - wait_for_device_probe(); | ||
32 | + //wait_for_device_probe(); | ||
33 | + async_synchronize_full(); | ||
34 | |||
35 | md_run_setup(); | ||
36 | |||
37 | -- | ||
38 | 2.11.1 | ||
39 | |||
diff --git a/patches/boot_time_opt_guest/0112-ksm-wakeups.patch b/patches/boot_time_opt_guest/0112-ksm-wakeups.patch new file mode 100644 index 0000000..b131e3f --- /dev/null +++ b/patches/boot_time_opt_guest/0112-ksm-wakeups.patch | |||
@@ -0,0 +1,32 @@ | |||
1 | From 2dc48e4b5c651691b7028991b64c935047b41b19 Mon Sep 17 00:00:00 2001 | ||
2 | From: Arjan van de Ven <arjan@linux.intel.com> | ||
3 | Date: Mon, 14 Mar 2016 11:06:46 -0600 | ||
4 | Subject: [PATCH 112/114] ksm-wakeups | ||
5 | |||
6 | reduce wakeups in ksm | ||
7 | --- | ||
8 | mm/ksm.c | 8 ++++++-- | ||
9 | 1 file changed, 6 insertions(+), 2 deletions(-) | ||
10 | |||
11 | diff --git a/mm/ksm.c b/mm/ksm.c | ||
12 | index 9ae6011a41f8..eecd3ff669e2 100644 | ||
13 | --- a/mm/ksm.c | ||
14 | +++ b/mm/ksm.c | ||
15 | @@ -1725,8 +1725,12 @@ static int ksm_scan_thread(void *nothing) | ||
16 | try_to_freeze(); | ||
17 | |||
18 | if (ksmd_should_run()) { | ||
19 | - schedule_timeout_interruptible( | ||
20 | - msecs_to_jiffies(ksm_thread_sleep_millisecs)); | ||
21 | + if (ksm_thread_sleep_millisecs >= 1000) | ||
22 | + schedule_timeout_interruptible( | ||
23 | + msecs_to_jiffies(round_jiffies_relative(ksm_thread_sleep_millisecs))); | ||
24 | + else | ||
25 | + schedule_timeout_interruptible( | ||
26 | + msecs_to_jiffies(ksm_thread_sleep_millisecs)); | ||
27 | } else { | ||
28 | wait_event_freezable(ksm_thread_wait, | ||
29 | ksmd_should_run() || kthread_should_stop()); | ||
30 | -- | ||
31 | 2.11.1 | ||
32 | |||
diff --git a/patches/boot_time_opt_guest/0113-init-do_mounts-recreate-dev-root.patch b/patches/boot_time_opt_guest/0113-init-do_mounts-recreate-dev-root.patch new file mode 100644 index 0000000..047eddb --- /dev/null +++ b/patches/boot_time_opt_guest/0113-init-do_mounts-recreate-dev-root.patch | |||
@@ -0,0 +1,42 @@ | |||
1 | From 179b7f41d5509f93cd297cc81c5d8da4a3123d9d Mon Sep 17 00:00:00 2001 | ||
2 | From: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
3 | Date: Fri, 20 Nov 2015 14:01:26 -0600 | ||
4 | Subject: [PATCH 113/114] init: do_mounts: recreate /dev/root | ||
5 | |||
6 | Rootfs shows as is mounted in /dev/root, but this devices is not present in | ||
7 | /dev directory. | ||
8 | |||
9 | Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> | ||
10 | --- | ||
11 | init/do_mounts.c | 8 ++++++++ | ||
12 | 1 file changed, 8 insertions(+) | ||
13 | |||
14 | diff --git a/init/do_mounts.c b/init/do_mounts.c | ||
15 | index 40725f0f5fb3..78b5b1dba8ca 100644 | ||
16 | --- a/init/do_mounts.c | ||
17 | +++ b/init/do_mounts.c | ||
18 | @@ -550,6 +550,7 @@ void __init mount_root(void) | ||
19 | void __init prepare_namespace(void) | ||
20 | { | ||
21 | int is_floppy; | ||
22 | + int err; | ||
23 | |||
24 | if (root_delay) { | ||
25 | printk(KERN_INFO "Waiting %d sec before mounting root device...\n", | ||
26 | @@ -604,6 +605,13 @@ void __init prepare_namespace(void) | ||
27 | devtmpfs_mount("dev"); | ||
28 | sys_mount(".", "/", NULL, MS_MOVE, NULL); | ||
29 | sys_chroot("."); | ||
30 | +#ifdef CONFIG_BLOCK | ||
31 | + /* recreate the /dev/root */ | ||
32 | + err = create_dev("/dev/root", ROOT_DEV); | ||
33 | + | ||
34 | + if (err < 0) | ||
35 | + pr_emerg("Failed to create /dev/root: %d\n", err); | ||
36 | +#endif | ||
37 | } | ||
38 | |||
39 | static bool is_tmpfs; | ||
40 | -- | ||
41 | 2.11.1 | ||
42 | |||
diff --git a/patches/boot_time_opt_guest/0114-xattr-allow-setting-user.-attributes-on-symlinks-by-.patch b/patches/boot_time_opt_guest/0114-xattr-allow-setting-user.-attributes-on-symlinks-by-.patch new file mode 100644 index 0000000..dee9058 --- /dev/null +++ b/patches/boot_time_opt_guest/0114-xattr-allow-setting-user.-attributes-on-symlinks-by-.patch | |||
@@ -0,0 +1,56 @@ | |||
1 | From 02fd2e6a7c708bf973209f9b238c5c61cbf15239 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alan Cox <alan@linux.intel.com> | ||
3 | Date: Thu, 10 Mar 2016 15:11:28 +0000 | ||
4 | Subject: [PATCH 114/114] xattr: allow setting user.* attributes on symlinks by | ||
5 | owner | ||
6 | |||
7 | Kvmtool and clear containers supports using user attributes to label host | ||
8 | files with the virtual uid/guid of the file in the container. This allows an | ||
9 | end user to manage their files and a complete uid space without all the ugly | ||
10 | namespace stuff. | ||
11 | |||
12 | The one gap in the support is symlinks because an end user can change the | ||
13 | ownership of a symbolic link. We support attributes on these files as you | ||
14 | can already (as root) set security attributes on them. | ||
15 | |||
16 | The current rules seem slightly over-paranoid and as we have a use case this | ||
17 | patch enables updating the attributes on a symbolic link IFF you are the | ||
18 | owner of the synlink (as permissions are not usually meaningful on the link | ||
19 | itself). | ||
20 | |||
21 | Signed-off-by: Alan Cox <alan@linux.intel.com> | ||
22 | --- | ||
23 | fs/xattr.c | 14 ++++++++------ | ||
24 | 1 file changed, 8 insertions(+), 6 deletions(-) | ||
25 | |||
26 | diff --git a/fs/xattr.c b/fs/xattr.c | ||
27 | index 7e3317cf4045..e005c30acb2c 100644 | ||
28 | --- a/fs/xattr.c | ||
29 | +++ b/fs/xattr.c | ||
30 | @@ -118,15 +118,17 @@ xattr_permission(struct inode *inode, const char *name, int mask) | ||
31 | } | ||
32 | |||
33 | /* | ||
34 | - * In the user.* namespace, only regular files and directories can have | ||
35 | - * extended attributes. For sticky directories, only the owner and | ||
36 | - * privileged users can write attributes. | ||
37 | + * In the user.* namespace, only regular files, symbolic links, and | ||
38 | + * directories can have extended attributes. For symbolic links and | ||
39 | + * sticky directories, only the owner and privileged users can write | ||
40 | + * attributes. | ||
41 | */ | ||
42 | if (!strncmp(name, XATTR_USER_PREFIX, XATTR_USER_PREFIX_LEN)) { | ||
43 | - if (!S_ISREG(inode->i_mode) && !S_ISDIR(inode->i_mode)) | ||
44 | + if (!S_ISREG(inode->i_mode) && !S_ISDIR(inode->i_mode) && !S_ISLNK(inode->i_mode)) | ||
45 | return (mask & MAY_WRITE) ? -EPERM : -ENODATA; | ||
46 | - if (S_ISDIR(inode->i_mode) && (inode->i_mode & S_ISVTX) && | ||
47 | - (mask & MAY_WRITE) && !inode_owner_or_capable(inode)) | ||
48 | + if (((S_ISDIR(inode->i_mode) && (inode->i_mode & S_ISVTX)) | ||
49 | + || S_ISLNK(inode->i_mode)) && (mask & MAY_WRITE) | ||
50 | + && !inode_owner_or_capable(inode)) | ||
51 | return -EPERM; | ||
52 | } | ||
53 | |||
54 | -- | ||
55 | 2.11.1 | ||
56 | |||
diff --git a/patches/boot_time_opt_guest/0151-mm-Export-do_madvise.patch b/patches/boot_time_opt_guest/0151-mm-Export-do_madvise.patch new file mode 100644 index 0000000..a6dbff7 --- /dev/null +++ b/patches/boot_time_opt_guest/0151-mm-Export-do_madvise.patch | |||
@@ -0,0 +1,84 @@ | |||
1 | From 99b4cdcce43ad0f706120bef26fef8c628c572cf Mon Sep 17 00:00:00 2001 | ||
2 | From: Sebastien Boeuf <sebastien.boeuf@intel.com> | ||
3 | Date: Mon, 23 Jan 2017 15:03:52 -0800 | ||
4 | Subject: [PATCH 151/154] mm: Export do_madvise() | ||
5 | |||
6 | Combined with some interesting flags madvise() system call | ||
7 | allows to free memory more smartly and more efficiently than | ||
8 | we could do with a simple free(). The issue is that is not | ||
9 | available for kernel modules that could need it. | ||
10 | |||
11 | In order to solve this lack of support, this patch exports | ||
12 | do_madvise() so as to make it available to the entire kernel. | ||
13 | The already existing madvise() system call is unchanged and | ||
14 | now relies on this new do_madvise() function. | ||
15 | |||
16 | Suggested-by: Arjan van de Ven <arjan.van.de.ven@intel.com> | ||
17 | Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com> | ||
18 | --- | ||
19 | include/linux/mm.h | 2 ++ | ||
20 | mm/madvise.c | 25 +++++++++++++++++++++---- | ||
21 | 2 files changed, 23 insertions(+), 4 deletions(-) | ||
22 | |||
23 | diff --git a/include/linux/mm.h b/include/linux/mm.h | ||
24 | index 0b5b2e4df14e..925ec25f99a8 100644 | ||
25 | --- a/include/linux/mm.h | ||
26 | +++ b/include/linux/mm.h | ||
27 | @@ -2450,5 +2450,7 @@ void __init setup_nr_node_ids(void); | ||
28 | static inline void setup_nr_node_ids(void) {} | ||
29 | #endif | ||
30 | |||
31 | +extern int do_madvise(unsigned long start, size_t len_in, int behavior); | ||
32 | + | ||
33 | #endif /* __KERNEL__ */ | ||
34 | #endif /* _LINUX_MM_H */ | ||
35 | diff --git a/mm/madvise.c b/mm/madvise.c | ||
36 | index 93fb63e88b5e..c8bbf93d4978 100644 | ||
37 | --- a/mm/madvise.c | ||
38 | +++ b/mm/madvise.c | ||
39 | @@ -618,9 +618,7 @@ madvise_behavior_valid(int behavior) | ||
40 | } | ||
41 | |||
42 | /* | ||
43 | - * The madvise(2) system call. | ||
44 | - * | ||
45 | - * Applications can use madvise() to advise the kernel how it should | ||
46 | + * Kernel modules can use do_madvise() to advise the kernel how it should | ||
47 | * handle paging I/O in this VM area. The idea is to help the kernel | ||
48 | * use appropriate read-ahead and caching techniques. The information | ||
49 | * provided is advisory only, and can be safely disregarded by the | ||
50 | @@ -673,7 +671,7 @@ madvise_behavior_valid(int behavior) | ||
51 | * -EBADF - map exists, but area maps something that isn't a file. | ||
52 | * -EAGAIN - a kernel resource was temporarily unavailable. | ||
53 | */ | ||
54 | -SYSCALL_DEFINE3(madvise, unsigned long, start, size_t, len_in, int, behavior) | ||
55 | +int do_madvise(unsigned long start, size_t len_in, int behavior) | ||
56 | { | ||
57 | unsigned long end, tmp; | ||
58 | struct vm_area_struct *vma, *prev; | ||
59 | @@ -767,3 +765,22 @@ SYSCALL_DEFINE3(madvise, unsigned long, start, size_t, len_in, int, behavior) | ||
60 | |||
61 | return error; | ||
62 | } | ||
63 | +EXPORT_SYMBOL_GPL(do_madvise); | ||
64 | + | ||
65 | +/* | ||
66 | + * The madvise(2) system call. | ||
67 | + * | ||
68 | + * Applications can use madvise() system call to advise the kernel how | ||
69 | + * it should handle paging I/O in this VM area. The idea is to help | ||
70 | + * the kernel use appropriate read-ahead and caching techniques. The | ||
71 | + * information provided is advisory only, and can be safely disregarded | ||
72 | + * by the kernel without affecting the correct operation of the application. | ||
73 | + * | ||
74 | + * behavior values are the same than the ones defined in madvise() | ||
75 | + * | ||
76 | + * return values are the same than the ones defined in madvise() | ||
77 | + */ | ||
78 | +SYSCALL_DEFINE3(madvise, unsigned long, start, size_t, len_in, int, behavior) | ||
79 | +{ | ||
80 | + return do_madvise(start, len_in, behavior); | ||
81 | +} | ||
82 | -- | ||
83 | 2.12.1 | ||
84 | |||
diff --git a/patches/boot_time_opt_guest/0152-x86-kvm-Notify-host-to-release-pages.patch b/patches/boot_time_opt_guest/0152-x86-kvm-Notify-host-to-release-pages.patch new file mode 100644 index 0000000..5f44930 --- /dev/null +++ b/patches/boot_time_opt_guest/0152-x86-kvm-Notify-host-to-release-pages.patch | |||
@@ -0,0 +1,180 @@ | |||
1 | From d28921b5f797829e4e676f7968ae688ef96b7992 Mon Sep 17 00:00:00 2001 | ||
2 | From: Sebastien Boeuf <sebastien.boeuf@intel.com> | ||
3 | Date: Mon, 23 Jan 2017 15:08:55 -0800 | ||
4 | Subject: [PATCH 152/154] x86: kvm: Notify host to release pages | ||
5 | |||
6 | In context of hypervisors managing several virtual machines, we | ||
7 | want those virtual machines to give the memory they used back to | ||
8 | the host when they don't need it anymore. | ||
9 | |||
10 | This patch introduces a new hypercall KVM_HC_RETURN_MEM, allowing | ||
11 | the guest kernel to notify the host kernel when such event occurs. | ||
12 | And relying on do_madvise() function that we have previously exported, | ||
13 | it issues a call to this function when it receives the new hypercall. | ||
14 | |||
15 | Use of do_madvise() with MADV_DONTNEED flag will allow the guest to | ||
16 | ask for a new page without going through a new hypercall. Instead, | ||
17 | it will be able to start using that memory again as it will get | ||
18 | faulted back in as a fresh new page. That's why do_madvise() is more | ||
19 | efficient than doing vm_unmap() to return some memory to the host. | ||
20 | |||
21 | This patch introduces also a new sysctl kvm_madv_instant_free, | ||
22 | allowing user to set MADV_FREE advice instead of MADV_DONTNEED. | ||
23 | Indeed, MADV_FREE saves more performances than using MADV_DONTNEED | ||
24 | because it does not zero the pages in case the memory has not been | ||
25 | freed by the kernel. This can happen when there was no need for the | ||
26 | kernel to get this memory back, meaning it was keeping those pages | ||
27 | in the right state to be re-used by the same application. | ||
28 | MADV_FREE being a very recent advice introduced in kernel 4.5, we | ||
29 | only want to enable it through a sysctl in case the user want to | ||
30 | use it. | ||
31 | |||
32 | Suggested-by: Arjan van de Ven <arjan.van.de.ven@intel.com> | ||
33 | Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com> | ||
34 | --- | ||
35 | arch/x86/kvm/x86.c | 17 +++++++++++++++++ | ||
36 | include/linux/mm.h | 5 +++++ | ||
37 | include/uapi/linux/kvm_para.h | 3 +++ | ||
38 | kernel/sysctl.c | 7 +++++++ | ||
39 | mm/Makefile | 2 +- | ||
40 | mm/kvm.c | 25 +++++++++++++++++++++++++ | ||
41 | 6 files changed, 58 insertions(+), 1 deletion(-) | ||
42 | create mode 100644 mm/kvm.c | ||
43 | |||
44 | diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c | ||
45 | index 582c75311f95..683a94dd5f03 100644 | ||
46 | --- a/arch/x86/kvm/x86.c | ||
47 | +++ b/arch/x86/kvm/x86.c | ||
48 | @@ -46,6 +46,7 @@ | ||
49 | #include <linux/user-return-notifier.h> | ||
50 | #include <linux/srcu.h> | ||
51 | #include <linux/slab.h> | ||
52 | +#include <linux/mm.h> | ||
53 | #include <linux/perf_event.h> | ||
54 | #include <linux/uaccess.h> | ||
55 | #include <linux/hash.h> | ||
56 | @@ -6019,6 +6020,19 @@ static void kvm_pv_kick_cpu_op(struct kvm *kvm, unsigned long flags, int apicid) | ||
57 | kvm_irq_delivery_to_apic(kvm, NULL, &lapic_irq, NULL); | ||
58 | } | ||
59 | |||
60 | +static int kvm_pv_return_mem_op(struct kvm *kvm, gpa_t gpa, size_t len) | ||
61 | +{ | ||
62 | + unsigned long start = gfn_to_hva(kvm, gpa_to_gfn(gpa)); | ||
63 | + | ||
64 | + if (len > KVM_MAX_RET_MEM_SIZE) | ||
65 | + return KVM_EPERM; | ||
66 | + | ||
67 | + if (kvm_is_error_hva(start + len)) | ||
68 | + return KVM_EFAULT; | ||
69 | + | ||
70 | + return do_madvise(start, len, kvm_ret_mem_advice); | ||
71 | +} | ||
72 | + | ||
73 | void kvm_vcpu_deactivate_apicv(struct kvm_vcpu *vcpu) | ||
74 | { | ||
75 | vcpu->arch.apicv_active = false; | ||
76 | @@ -6065,6 +6079,9 @@ int kvm_emulate_hypercall(struct kvm_vcpu *vcpu) | ||
77 | kvm_pv_kick_cpu_op(vcpu->kvm, a0, a1); | ||
78 | ret = 0; | ||
79 | break; | ||
80 | + case KVM_HC_RETURN_MEM: | ||
81 | + ret = kvm_pv_return_mem_op(vcpu->kvm, a0, a1); | ||
82 | + break; | ||
83 | default: | ||
84 | ret = -KVM_ENOSYS; | ||
85 | break; | ||
86 | diff --git a/include/linux/mm.h b/include/linux/mm.h | ||
87 | index 925ec25f99a8..833f23d98baa 100644 | ||
88 | --- a/include/linux/mm.h | ||
89 | +++ b/include/linux/mm.h | ||
90 | @@ -2303,6 +2303,11 @@ extern bool process_shares_mm(struct task_struct *p, struct mm_struct *mm); | ||
91 | extern int sysctl_drop_caches; | ||
92 | int drop_caches_sysctl_handler(struct ctl_table *, int, | ||
93 | void __user *, size_t *, loff_t *); | ||
94 | +extern int sysctl_kvm_madv_instant_free; | ||
95 | +extern int kvm_ret_mem_advice; | ||
96 | +int kvm_madv_instant_free_sysctl_handler(struct ctl_table *table, int write, | ||
97 | + void __user *buffer, size_t *length, | ||
98 | + loff_t *ppos); | ||
99 | #endif | ||
100 | |||
101 | void drop_slab(void); | ||
102 | diff --git a/include/uapi/linux/kvm_para.h b/include/uapi/linux/kvm_para.h | ||
103 | index bf6cd7d5cac2..7d90f77d87d0 100644 | ||
104 | --- a/include/uapi/linux/kvm_para.h | ||
105 | +++ b/include/uapi/linux/kvm_para.h | ||
106 | @@ -23,6 +23,9 @@ | ||
107 | #define KVM_HC_MIPS_GET_CLOCK_FREQ 6 | ||
108 | #define KVM_HC_MIPS_EXIT_VM 7 | ||
109 | #define KVM_HC_MIPS_CONSOLE_OUTPUT 8 | ||
110 | +#define KVM_HC_RETURN_MEM 10 | ||
111 | + | ||
112 | +#define KVM_MAX_RET_MEM_SIZE (1 << 22) // 4MiB | ||
113 | |||
114 | /* | ||
115 | * hypercalls use architecture specific | ||
116 | diff --git a/kernel/sysctl.c b/kernel/sysctl.c | ||
117 | index c1095cdc0fe2..d8ae774fa042 100644 | ||
118 | --- a/kernel/sysctl.c | ||
119 | +++ b/kernel/sysctl.c | ||
120 | @@ -1398,6 +1398,13 @@ static struct ctl_table vm_table[] = { | ||
121 | .extra1 = &one, | ||
122 | .extra2 = &four, | ||
123 | }, | ||
124 | + { | ||
125 | + .procname = "kvm_madv_instant_free", | ||
126 | + .data = &sysctl_kvm_madv_instant_free, | ||
127 | + .maxlen = sizeof(int), | ||
128 | + .mode = 0644, | ||
129 | + .proc_handler = kvm_madv_instant_free_sysctl_handler, | ||
130 | + }, | ||
131 | #ifdef CONFIG_COMPACTION | ||
132 | { | ||
133 | .procname = "compact_memory", | ||
134 | diff --git a/mm/Makefile b/mm/Makefile | ||
135 | index 295bd7a..6455723 100644 | ||
136 | --- a/mm/Makefile | ||
137 | +++ b/mm/Makefile | ||
138 | @@ -47,6 +47,8 @@ else | ||
139 | obj-y += bootmem.o | ||
140 | endif | ||
141 | |||
142 | +obj-y += kvm.o | ||
143 | + | ||
144 | obj-$(CONFIG_ADVISE_SYSCALLS) += fadvise.o | ||
145 | ifdef CONFIG_MMU | ||
146 | obj-$(CONFIG_ADVISE_SYSCALLS) += madvise.o | ||
147 | diff --git a/mm/kvm.c b/mm/kvm.c | ||
148 | new file mode 100644 | ||
149 | index 000000000000..8945f6a311b9 | ||
150 | --- /dev/null | ||
151 | +++ b/mm/kvm.c | ||
152 | @@ -0,0 +1,25 @@ | ||
153 | +#include <linux/mman.h> | ||
154 | + | ||
155 | +int sysctl_kvm_madv_instant_free; | ||
156 | + | ||
157 | +int kvm_ret_mem_advice = MADV_DONTNEED; | ||
158 | +EXPORT_SYMBOL_GPL(kvm_ret_mem_advice); | ||
159 | + | ||
160 | +int kvm_madv_instant_free_sysctl_handler(struct ctl_table *table, int write, | ||
161 | + void __user *buffer, size_t *length, loff_t *ppos) | ||
162 | +{ | ||
163 | + int ret; | ||
164 | + | ||
165 | + ret = proc_dointvec(table, write, buffer, length, ppos); | ||
166 | + if (ret) | ||
167 | + return ret; | ||
168 | + | ||
169 | +#ifdef MADV_FREE | ||
170 | + if (sysctl_kvm_madv_instant_free > 0) | ||
171 | + kvm_ret_mem_advice = MADV_FREE; | ||
172 | + else | ||
173 | + kvm_ret_mem_advice = MADV_DONTNEED; | ||
174 | +#endif | ||
175 | + | ||
176 | + return 0; | ||
177 | +} | ||
178 | -- | ||
179 | 2.12.1 | ||
180 | |||
diff --git a/patches/boot_time_opt_guest/0153-x86-Return-memory-from-guest-to-host-kernel.patch b/patches/boot_time_opt_guest/0153-x86-Return-memory-from-guest-to-host-kernel.patch new file mode 100644 index 0000000..cdb876a --- /dev/null +++ b/patches/boot_time_opt_guest/0153-x86-Return-memory-from-guest-to-host-kernel.patch | |||
@@ -0,0 +1,155 @@ | |||
1 | From 855ef164854307839c08c60688eaeac14f9a649e Mon Sep 17 00:00:00 2001 | ||
2 | From: Sebastien Boeuf <sebastien.boeuf@intel.com> | ||
3 | Date: Mon, 23 Jan 2017 15:26:13 -0800 | ||
4 | Subject: [PATCH 153/154] x86: Return memory from guest to host kernel | ||
5 | |||
6 | All virtual machines need memory to perform various tasks, but this | ||
7 | memory is not released to the host after it is not used anymore. We | ||
8 | have to wait for the termination of the virtual machine to get this | ||
9 | memory back into the host. | ||
10 | |||
11 | Ballooning mechanism is close but not designed for the same purpose. | ||
12 | In case we hit memory limits of the system, the host predicts how much | ||
13 | memory can be asked back from a guest, and it issues an hypercall to | ||
14 | retrieve this memory. | ||
15 | |||
16 | The solution proposed is different because it does not wait for host | ||
17 | needs before to return memory, and it knows precisely how much memory | ||
18 | it can return. | ||
19 | |||
20 | The way to notify the host side about such a return is to rely on | ||
21 | the new hypercall KVM_HC_RETURN_MEM. In order to avoid the CPU to be | ||
22 | overloaded with too many hypercalls, we only return memory blocks of | ||
23 | order 7 (512k blocks) and higher. This value has been found running | ||
24 | memory tests using multiple threads allocating/freeing high amount | ||
25 | of memory. Those tests were run for different order values, and 7 was | ||
26 | the best tradeoff between the number of hypercalls issued and the | ||
27 | amount of memory returned to the host. | ||
28 | |||
29 | In order to limit performances impact related to this code addition, | ||
30 | we check for blocks of order 7 or higher. This means it only costs an | ||
31 | additional function call and a branch to perform this check. | ||
32 | |||
33 | Furthermore, this code has been added to the "merge" codepath of the | ||
34 | buddy allocator, which is not as sensitive as the "free" codepath. | ||
35 | Not all blocks going through the "free" codepath will end up in the | ||
36 | "merge" codepath because some of them won't find their free buddy. | ||
37 | But this is a negligible amount since the kernel does not use many | ||
38 | high order blocks directly. Instead, those bigger blocks are often | ||
39 | broken into smaller chunks used as low order blocks. At the time | ||
40 | those small blocks are released, they go through the merge path. | ||
41 | |||
42 | Benchmarks such as ebizzy and will-it-scale have been run in order | ||
43 | to make sure this patch does not affect kernel performances and no | ||
44 | significant differences were observed. | ||
45 | |||
46 | Suggested-by: Arjan van de Ven <arjan.van.de.ven@intel.com> | ||
47 | Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com> | ||
48 | --- | ||
49 | arch/x86/include/asm/kvm_para.h | 22 ++++++++++++++++++++++ | ||
50 | arch/x86/kernel/kvm.c | 10 ++++++++++ | ||
51 | include/linux/mm-arch-hooks.h | 8 ++++++++ | ||
52 | mm/page_alloc.c | 2 ++ | ||
53 | 4 files changed, 42 insertions(+) | ||
54 | |||
55 | diff --git a/arch/x86/include/asm/kvm_para.h b/arch/x86/include/asm/kvm_para.h | ||
56 | index bc62e7cbf1b1..4a2f6d1adbd2 100644 | ||
57 | --- a/arch/x86/include/asm/kvm_para.h | ||
58 | +++ b/arch/x86/include/asm/kvm_para.h | ||
59 | @@ -92,6 +92,28 @@ void kvm_async_pf_task_wait(u32 token); | ||
60 | void kvm_async_pf_task_wake(u32 token); | ||
61 | u32 kvm_read_and_reset_pf_reason(void); | ||
62 | extern void kvm_disable_steal_time(void); | ||
63 | +void kvm_arch_return_memory(struct page *page, unsigned int order); | ||
64 | + | ||
65 | +/* | ||
66 | + * This order has been found in an empirical way, running memory tests | ||
67 | + * through many iterations to assess the number of hypercalls issued | ||
68 | + * and the amount of memory returned. In case you change this order to | ||
69 | + * 6 or 8, it should not impact your performances significantly. | ||
70 | + * | ||
71 | + * Smaller values lead to less memory waste, but consume more CPU on | ||
72 | + * hypercalls. Larger values use less CPU, but do not as precisely | ||
73 | + * inform the hypervisor of which memory is free. | ||
74 | + */ | ||
75 | +#define RET_MEM_BUDDY_ORDER 7 | ||
76 | + | ||
77 | +static inline void arch_buddy_merge(struct page *page, unsigned int order) | ||
78 | +{ | ||
79 | + if (order < RET_MEM_BUDDY_ORDER) | ||
80 | + return; | ||
81 | + | ||
82 | + kvm_arch_return_memory(page, order); | ||
83 | +} | ||
84 | +#define arch_buddy_merge arch_buddy_merge | ||
85 | |||
86 | #ifdef CONFIG_PARAVIRT_SPINLOCKS | ||
87 | void __init kvm_spinlock_init(void); | ||
88 | diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c | ||
89 | index edbbfc854e39..14167b3f6514 100644 | ||
90 | --- a/arch/x86/kernel/kvm.c | ||
91 | +++ b/arch/x86/kernel/kvm.c | ||
92 | @@ -552,6 +552,16 @@ static __init int activate_jump_labels(void) | ||
93 | } | ||
94 | arch_initcall(activate_jump_labels); | ||
95 | |||
96 | +void kvm_arch_return_memory(struct page *page, unsigned int order) | ||
97 | +{ | ||
98 | + if (!kvm_para_available()) | ||
99 | + return; | ||
100 | + | ||
101 | + kvm_hypercall2(KVM_HC_RETURN_MEM, | ||
102 | + page_to_phys(page), | ||
103 | + PAGE_SIZE << order); | ||
104 | +} | ||
105 | + | ||
106 | #ifdef CONFIG_PARAVIRT_SPINLOCKS | ||
107 | |||
108 | /* Kick a cpu by its apicid. Used to wake up a halted vcpu */ | ||
109 | diff --git a/include/linux/mm-arch-hooks.h b/include/linux/mm-arch-hooks.h | ||
110 | index 4efc3f56e6df..26eb3a05a8a3 100644 | ||
111 | --- a/include/linux/mm-arch-hooks.h | ||
112 | +++ b/include/linux/mm-arch-hooks.h | ||
113 | @@ -12,6 +12,7 @@ | ||
114 | #define _LINUX_MM_ARCH_HOOKS_H | ||
115 | |||
116 | #include <asm/mm-arch-hooks.h> | ||
117 | +#include <asm/kvm_para.h> | ||
118 | |||
119 | #ifndef arch_remap | ||
120 | static inline void arch_remap(struct mm_struct *mm, | ||
121 | @@ -22,4 +23,11 @@ static inline void arch_remap(struct mm_struct *mm, | ||
122 | #define arch_remap arch_remap | ||
123 | #endif | ||
124 | |||
125 | +#ifndef arch_buddy_merge | ||
126 | +static inline void arch_buddy_merge(struct page *page, unsigned int order) | ||
127 | +{ | ||
128 | +} | ||
129 | +#define arch_buddy_merge arch_buddy_merge | ||
130 | +#endif | ||
131 | + | ||
132 | #endif /* _LINUX_MM_ARCH_HOOKS_H */ | ||
133 | diff --git a/mm/page_alloc.c b/mm/page_alloc.c | ||
134 | index 1460e6ad5e14..5f6e6371bc6f 100644 | ||
135 | --- a/mm/page_alloc.c | ||
136 | +++ b/mm/page_alloc.c | ||
137 | @@ -64,6 +64,7 @@ | ||
138 | #include <linux/page_owner.h> | ||
139 | #include <linux/kthread.h> | ||
140 | #include <linux/memcontrol.h> | ||
141 | +#include <linux/mm-arch-hooks.h> | ||
142 | |||
143 | #include <asm/sections.h> | ||
144 | #include <asm/tlbflush.h> | ||
145 | @@ -855,6 +856,7 @@ static inline void __free_one_page(struct page *page, | ||
146 | } | ||
147 | |||
148 | done_merging: | ||
149 | + arch_buddy_merge(page, order); | ||
150 | set_page_order(page, order); | ||
151 | |||
152 | /* | ||
153 | -- | ||
154 | 2.12.1 | ||
155 | |||
diff --git a/patches/boot_time_opt_guest/0154-sysctl-vm-Fine-grained-cache-shrinking.patch b/patches/boot_time_opt_guest/0154-sysctl-vm-Fine-grained-cache-shrinking.patch new file mode 100644 index 0000000..07d4a83 --- /dev/null +++ b/patches/boot_time_opt_guest/0154-sysctl-vm-Fine-grained-cache-shrinking.patch | |||
@@ -0,0 +1,137 @@ | |||
1 | From 2c145b5233b504f5226a0f4bc44baeef33b444d8 Mon Sep 17 00:00:00 2001 | ||
2 | From: Sebastien Boeuf <sebastien.boeuf@intel.com> | ||
3 | Date: Mon, 23 Jan 2017 15:32:39 -0800 | ||
4 | Subject: [PATCH 154/154] sysctl: vm: Fine-grained cache shrinking | ||
5 | |||
6 | Lots of virtual machines are let in idle state for days until they | ||
7 | are terminated, and they can keep a large amount of memory in their | ||
8 | cache, meaning this memory cannot be used by other processes. | ||
9 | |||
10 | We tried to release this memory using existing drop_caches sysctl, | ||
11 | but it led to the complete cache loss while it could have been used | ||
12 | whether the idle process wakes up. Indeed, the process can't find any | ||
13 | available cached data and it directly affects performances to rebuild | ||
14 | it from scratch. | ||
15 | |||
16 | Instead, the solution we want is based on shrinking gradually system | ||
17 | cache over time. This patch adds a new sysctl shrink_caches_mb so as | ||
18 | to allow userspace applications indicating the kernel it should shrink | ||
19 | system cache up to the amount (in MiB) specified. | ||
20 | |||
21 | There is an application called "memshrinker" which uses this new | ||
22 | mechanism. It runs in the background and periodically releases a | ||
23 | specified amount of cache. This amount is based on the remaining | ||
24 | cache on the system, and period is computed to follow a shrinking | ||
25 | model. It results in saving a lot of memory for other processes | ||
26 | running on the system. | ||
27 | |||
28 | Suggested-by: Arjan van de Ven <arjan.van.de.ven@intel.com> | ||
29 | Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com> | ||
30 | --- | ||
31 | fs/drop_caches.c | 25 +++++++++++++++++++++++++ | ||
32 | include/linux/mm.h | 4 ++++ | ||
33 | kernel/sysctl.c | 8 ++++++++ | ||
34 | mm/vmscan.c | 2 -- | ||
35 | 4 files changed, 37 insertions(+), 2 deletions(-) | ||
36 | |||
37 | diff --git a/fs/drop_caches.c b/fs/drop_caches.c | ||
38 | index d72d52b90433..f564dfcc13a4 100644 | ||
39 | --- a/fs/drop_caches.c | ||
40 | +++ b/fs/drop_caches.c | ||
41 | @@ -8,10 +8,12 @@ | ||
42 | #include <linux/writeback.h> | ||
43 | #include <linux/sysctl.h> | ||
44 | #include <linux/gfp.h> | ||
45 | +#include <linux/swap.h> | ||
46 | #include "internal.h" | ||
47 | |||
48 | /* A global variable is a bit ugly, but it keeps the code simple */ | ||
49 | int sysctl_drop_caches; | ||
50 | +int sysctl_shrink_caches_mb; | ||
51 | |||
52 | static void drop_pagecache_sb(struct super_block *sb, void *unused) | ||
53 | { | ||
54 | @@ -67,3 +69,26 @@ int drop_caches_sysctl_handler(struct ctl_table *table, int write, | ||
55 | } | ||
56 | return 0; | ||
57 | } | ||
58 | + | ||
59 | +int shrink_caches_sysctl_handler(struct ctl_table *table, int write, | ||
60 | + void __user *buffer, size_t *length, loff_t *ppos) | ||
61 | +{ | ||
62 | + int ret; | ||
63 | + unsigned long nr_to_reclaim, page_reclaimed; | ||
64 | + | ||
65 | + ret = proc_dointvec_minmax(table, write, buffer, length, ppos); | ||
66 | + if (ret) | ||
67 | + return ret; | ||
68 | + | ||
69 | + nr_to_reclaim = sysctl_shrink_caches_mb * (1 << 20) / PAGE_SIZE; | ||
70 | + if (write) { | ||
71 | + page_reclaimed = shrink_all_memory(nr_to_reclaim); | ||
72 | + if (page_reclaimed > 0) | ||
73 | + lru_add_drain_all(); | ||
74 | + | ||
75 | + if (page_reclaimed != nr_to_reclaim) | ||
76 | + return page_reclaimed; | ||
77 | + } | ||
78 | + | ||
79 | + return 0; | ||
80 | +} | ||
81 | diff --git a/include/linux/mm.h b/include/linux/mm.h | ||
82 | index 833f23d98baa..0bb66c1c31c9 100644 | ||
83 | --- a/include/linux/mm.h | ||
84 | +++ b/include/linux/mm.h | ||
85 | @@ -2308,6 +2308,10 @@ extern int kvm_ret_mem_advice; | ||
86 | int kvm_madv_instant_free_sysctl_handler(struct ctl_table *table, int write, | ||
87 | void __user *buffer, size_t *length, | ||
88 | loff_t *ppos); | ||
89 | +extern int sysctl_shrink_caches_mb; | ||
90 | +int shrink_caches_sysctl_handler(struct ctl_table *table, int write, | ||
91 | + void __user *buffer, size_t *length, | ||
92 | + loff_t *ppos); | ||
93 | #endif | ||
94 | |||
95 | void drop_slab(void); | ||
96 | diff --git a/kernel/sysctl.c b/kernel/sysctl.c | ||
97 | index d8ae774fa042..5dc9a46ae212 100644 | ||
98 | --- a/kernel/sysctl.c | ||
99 | +++ b/kernel/sysctl.c | ||
100 | @@ -1405,6 +1405,14 @@ static struct ctl_table vm_table[] = { | ||
101 | .mode = 0644, | ||
102 | .proc_handler = kvm_madv_instant_free_sysctl_handler, | ||
103 | }, | ||
104 | + { | ||
105 | + .procname = "shrink_caches_mb", | ||
106 | + .data = &sysctl_shrink_caches_mb, | ||
107 | + .maxlen = sizeof(int), | ||
108 | + .mode = 0644, | ||
109 | + .proc_handler = shrink_caches_sysctl_handler, | ||
110 | + .extra1 = &one, | ||
111 | + }, | ||
112 | #ifdef CONFIG_COMPACTION | ||
113 | { | ||
114 | .procname = "compact_memory", | ||
115 | diff --git a/mm/vmscan.c b/mm/vmscan.c | ||
116 | index 30a88b945a44..1198e74d1860 100644 | ||
117 | --- a/mm/vmscan.c | ||
118 | +++ b/mm/vmscan.c | ||
119 | @@ -3525,7 +3525,6 @@ void wakeup_kswapd(struct zone *zone, int order, enum zone_type classzone_idx) | ||
120 | wake_up_interruptible(&pgdat->kswapd_wait); | ||
121 | } | ||
122 | |||
123 | -#ifdef CONFIG_HIBERNATION | ||
124 | /* | ||
125 | * Try to free `nr_to_reclaim' of memory, system-wide, and return the number of | ||
126 | * freed pages. | ||
127 | @@ -3564,7 +3563,6 @@ unsigned long shrink_all_memory(unsigned long nr_to_reclaim) | ||
128 | |||
129 | return nr_reclaimed; | ||
130 | } | ||
131 | -#endif /* CONFIG_HIBERNATION */ | ||
132 | |||
133 | /* It's optimal to keep kswapds on the same CPUs as their memory, but | ||
134 | not required for correctness. So if the last cpu in a node goes | ||
135 | -- | ||
136 | 2.12.1 | ||
137 | |||
diff --git a/patches/boot_time_opt_guest/guest_boot_time_opt.scc b/patches/boot_time_opt_guest/guest_boot_time_opt.scc new file mode 100644 index 0000000..3636c01 --- /dev/null +++ b/patches/boot_time_opt_guest/guest_boot_time_opt.scc | |||
@@ -0,0 +1,19 @@ | |||
1 | define KFEATURE_DESCRIPTION "Boot time optimization changes ported from ClearLinux , https://github.com/clearlinux-pkgs/linux-kvm" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | patch 0103-sysrq-skip-synchronize_rcu-if-there-is-no-old-op.patch | ||
5 | patch 0104-fbcon-enable-no-blink-by-default.patch | ||
6 | patch 0105-vmstats-wakeups.patch | ||
7 | # Remove patch because it causes ixgvbevf to not initialize correctly in the guest | ||
8 | #patch 0106-pci-probe.patch | ||
9 | patch 0107-cgroup.patch | ||
10 | patch 0108-smpboot-reuse-timer-calibration.patch | ||
11 | patch 0109-perf.patch | ||
12 | patch 0110-pci-probe-identify-known-devices.patch | ||
13 | patch 0111-init-no-wait-for-the-known-devices.patch | ||
14 | patch 0112-ksm-wakeups.patch | ||
15 | |||
16 | patch 0151-mm-Export-do_madvise.patch | ||
17 | patch 0152-x86-kvm-Notify-host-to-release-pages.patch | ||
18 | patch 0153-x86-Return-memory-from-guest-to-host-kernel.patch | ||
19 | patch 0154-sysctl-vm-Fine-grained-cache-shrinking.patch | ||
diff --git a/patches/ipv4/0001-IPV4-unlock-rtnl_mutex-before-waiting-for-carrier-on.patch b/patches/ipv4/0001-IPV4-unlock-rtnl_mutex-before-waiting-for-carrier-on.patch new file mode 100644 index 0000000..5133075 --- /dev/null +++ b/patches/ipv4/0001-IPV4-unlock-rtnl_mutex-before-waiting-for-carrier-on.patch | |||
@@ -0,0 +1,44 @@ | |||
1 | From 1828e68d8f0b99dbe388de4b6703afd90fdd7493 Mon Sep 17 00:00:00 2001 | ||
2 | From: Dragos Motrea <Dragos.Motrea@enea.com> | ||
3 | Date: Thu, 16 Mar 2017 14:04:17 +0100 | ||
4 | Subject: [PATCH] IPV4: unlock rtnl_mutex before waiting for carrier on | ||
5 | |||
6 | There is a race condition between ip auto configuration and the ethernet | ||
7 | driver. The ip configuration is taking the rtnl_mutex in the ic_open_devs() | ||
8 | function and then is waiting 120 seconds for a carrier on at least | ||
9 | one network device. The driver is locked in the mutex and the carrier on | ||
10 | is not sent. After 120 seconds, the mutex is unlocked and the driver is | ||
11 | continuing its task execution. | ||
12 | |||
13 | The mutex should be unlocked in the ip auto configuration before waiting the | ||
14 | carrier on from the ethernet driver. | ||
15 | |||
16 | Signed-off-by: Dragos Motrea <Dragos.Motrea@enea.com> | ||
17 | --- | ||
18 | net/ipv4/ipconfig.c | 3 +-- | ||
19 | 1 file changed, 1 insertion(+), 2 deletions(-) | ||
20 | |||
21 | diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c | ||
22 | index 071a785..55c95cc 100644 | ||
23 | --- a/net/ipv4/ipconfig.c | ||
24 | +++ b/net/ipv4/ipconfig.c | ||
25 | @@ -254,6 +254,7 @@ static int __init ic_open_devs(void) | ||
26 | dev->name, able, d->xid); | ||
27 | } | ||
28 | } | ||
29 | + rtnl_unlock(); | ||
30 | |||
31 | /* no point in waiting if we could not bring up at least one device */ | ||
32 | if (!ic_first_dev) | ||
33 | @@ -281,8 +282,6 @@ static int __init ic_open_devs(void) | ||
34 | next_msg = jiffies + msecs_to_jiffies(CONF_CARRIER_TIMEOUT/12); | ||
35 | } | ||
36 | have_carrier: | ||
37 | - rtnl_unlock(); | ||
38 | - | ||
39 | *last = NULL; | ||
40 | |||
41 | if (!ic_first_dev) { | ||
42 | -- | ||
43 | 2.7.4 | ||
44 | |||
diff --git a/patches/ipv4/ipv4wait.scc b/patches/ipv4/ipv4wait.scc new file mode 100644 index 0000000..93e8cdc --- /dev/null +++ b/patches/ipv4/ipv4wait.scc | |||
@@ -0,0 +1 @@ | |||
patch 0001-IPV4-unlock-rtnl_mutex-before-waiting-for-carrier-on.patch | |||
diff --git a/patches/kernel_startend_msg/0001-printk-add-Enea-Linux-boot-start-end-messages.patch b/patches/kernel_startend_msg/0001-printk-add-Enea-Linux-boot-start-end-messages.patch new file mode 100644 index 0000000..0fa8756 --- /dev/null +++ b/patches/kernel_startend_msg/0001-printk-add-Enea-Linux-boot-start-end-messages.patch | |||
@@ -0,0 +1,95 @@ | |||
1 | From b91730ba705d151577974d5fb9f5371a4569b467 Mon Sep 17 00:00:00 2001 | ||
2 | From: Adrian Calianu <adrian.calianu@enea.com> | ||
3 | Date: Tue, 6 Jun 2017 15:47:54 +0200 | ||
4 | Subject: [PATCH 1/1] printk: add Enea Linux boot start/end messages | ||
5 | |||
6 | Signed-off-by: Adrian Calianu <adrian.calianu@enea.com> | ||
7 | --- | ||
8 | arch/x86/boot/compressed/misc.c | 23 ++++++++++++----------- | ||
9 | init/main.c | 4 +++- | ||
10 | 2 files changed, 15 insertions(+), 12 deletions(-) | ||
11 | |||
12 | diff --git a/arch/x86/boot/compressed/misc.c b/arch/x86/boot/compressed/misc.c | ||
13 | index b3c5a5f0..9fdf3c6 100644 | ||
14 | --- a/arch/x86/boot/compressed/misc.c | ||
15 | +++ b/arch/x86/boot/compressed/misc.c | ||
16 | @@ -202,10 +202,10 @@ static void handle_relocations(void *output, unsigned long output_len, | ||
17 | delta = virt_addr - LOAD_PHYSICAL_ADDR; | ||
18 | |||
19 | if (!delta) { | ||
20 | - debug_putstr("No relocation needed... "); | ||
21 | + /* debug_putstr("No relocation needed... "); */ | ||
22 | return; | ||
23 | } | ||
24 | - debug_putstr("Performing relocations... "); | ||
25 | + /* debug_putstr("Performing relocations... "); */ | ||
26 | |||
27 | /* | ||
28 | * Process relocations: 32 bit relocations first then 64 bit after. | ||
29 | @@ -286,7 +286,7 @@ static void parse_elf(void *output) | ||
30 | return; | ||
31 | } | ||
32 | |||
33 | - debug_putstr("Parsing ELF... "); | ||
34 | + /* debug_putstr("Parsing ELF... ");*/ | ||
35 | |||
36 | phdrs = malloc(sizeof(*phdrs) * ehdr.e_phnum); | ||
37 | if (!phdrs) | ||
38 | @@ -360,17 +360,18 @@ asmlinkage __visible void *extract_kernel(void *rmode, memptr heap, | ||
39 | cols = boot_params->screen_info.orig_video_cols; | ||
40 | |||
41 | console_init(); | ||
42 | - debug_putstr("early console in extract_kernel\n"); | ||
43 | + /* debug_putstr("early console in extract_kernel\n");*/ | ||
44 | + debug_putstr("\n");debug_putstr("Enea Linux kernel boot start\n"); | ||
45 | |||
46 | free_mem_ptr = heap; /* Heap */ | ||
47 | free_mem_end_ptr = heap + BOOT_HEAP_SIZE; | ||
48 | |||
49 | /* Report initial kernel position details. */ | ||
50 | - debug_putaddr(input_data); | ||
51 | - debug_putaddr(input_len); | ||
52 | - debug_putaddr(output); | ||
53 | - debug_putaddr(output_len); | ||
54 | - debug_putaddr(kernel_total_size); | ||
55 | + /*debug_putaddr(input_data); */ | ||
56 | + /*debug_putaddr(input_len); */ | ||
57 | + /*debug_putaddr(output); */ | ||
58 | + /*debug_putaddr(output_len); */ | ||
59 | + /*debug_putaddr(kernel_total_size);*/ | ||
60 | |||
61 | /* | ||
62 | * The memory hole needed for the kernel is the larger of either | ||
63 | @@ -401,11 +402,11 @@ asmlinkage __visible void *extract_kernel(void *rmode, memptr heap, | ||
64 | error("Destination virtual address changed when not relocatable"); | ||
65 | #endif | ||
66 | |||
67 | - debug_putstr("\nDecompressing Linux... "); | ||
68 | + /*debug_putstr("\nDecompressing Linux... ");*/ | ||
69 | __decompress(input_data, input_len, NULL, NULL, output, output_len, | ||
70 | NULL, error); | ||
71 | parse_elf(output); | ||
72 | handle_relocations(output, output_len, virt_addr); | ||
73 | - debug_putstr("done.\nBooting the kernel.\n"); | ||
74 | + /*debug_putstr("done.\nBooting the kernel.\n");*/ | ||
75 | return output; | ||
76 | } | ||
77 | diff --git a/init/main.c b/init/main.c | ||
78 | index 8358cbe..613caa1 100644 | ||
79 | --- a/init/main.c | ||
80 | +++ b/init/main.c | ||
81 | @@ -976,8 +976,10 @@ static int __ref kernel_init(void *unused) | ||
82 | if (!try_to_run_init_process("/sbin/init") || | ||
83 | !try_to_run_init_process("/etc/init") || | ||
84 | !try_to_run_init_process("/bin/init") || | ||
85 | - !try_to_run_init_process("/bin/sh")) | ||
86 | + !try_to_run_init_process("/bin/sh")) { | ||
87 | + printk(KERN_EMERG "Enea Linux kernel boot end\n"); | ||
88 | return 0; | ||
89 | + } | ||
90 | |||
91 | panic("No working init found. Try passing init= option to kernel. " | ||
92 | "See Linux Documentation/init.txt for guidance."); | ||
93 | -- | ||
94 | 2.7.4 | ||
95 | |||
diff --git a/patches/kernel_startend_msg/kernel_startend_msg.scc b/patches/kernel_startend_msg/kernel_startend_msg.scc new file mode 100644 index 0000000..e6da49c --- /dev/null +++ b/patches/kernel_startend_msg/kernel_startend_msg.scc | |||
@@ -0,0 +1,4 @@ | |||
1 | define KFEATURE_DESCRIPTION "Enable the kernel to output messages when it starts and ends booting" | ||
2 | define KFEATURE_COMPATIBILITY all | ||
3 | |||
4 | patch 0001-printk-add-Enea-Linux-boot-start-end-messages.patch | ||