linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] powerpc/defconfig: new way of writing defconfig
@ 2015-05-12  4:39 Lijun Pan
  2015-05-13 22:18 ` Scott Wood
  0 siblings, 1 reply; 4+ messages in thread
From: Lijun Pan @ 2015-05-12  4:39 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Lijun Pan

It is always a headache dealing with different defconfigs
though they only differ in a few places. Hence we are proposing a new
way of writing the defconfig:
1. Define a basic defconfig say mpc85xx_basic_defconfig
2. Spin off as much features as possible from the current mpc85xx_defconfig
	and create a separate config file, say, smp.config, kvm_500.config
Every time we add a new feature, we don't need to change several
defconfigs, we just add a new *.config
And you could merge any fragments you want into .config with the
current kconfig in Kernel.

Say you want to build mpc85xx_smp_defconfig, you do 7 steps:
make mpc85xx_basic_defconfig
make 32bit.config
make smp.config
make cpu8.config
make kvm_e500.config
make uart2.config
make i2c.config

With the new rules added into arch/powerpc/Makefile,
you can do it in one step:
make mpc85xx_smp_defconfig

The reason why I add new rules in arch/powerpc/Makefile is
because I don't want to break the build for existing defconfigs.

Signed-off-by: Lijun Pan <Lijun.Pan@freescale.com>
---
v3 changes:
 1.call "merge_config.sh -m" several times to get a concatenated
 arch/powerpc/configs/*_tmp_defconfig before any real "make".
 2. call "make *_tmp_defconfig" to make $(objtree)/.config identical
 before and after this patch.
 3. Here is a snap shot of comparison of the .config before and after
	this patch. 

directory "scottwood" has my patch,
directory "scottwood" does not have my patch
I compare the .config from both directories.
They are the same for mpc85xx_defconfig, mpc85xx_smp_defconfig,
corenet32_smp_defconfig, and corenet64_smp_defconfig. 

************* mpc85xx_defconfig *************
[b44306@b44306-12 linux]$ ls
scottwood scottwood2 torvalds
[b44306@b44306-12 scottwood]$ make mpc85xx_defconfig
Using ./arch/powerpc/configs/.config as base
Merging ./arch/powerpc/configs/32-bit.config
#
# merged configuration written to ./arch/powerpc/configs/.config (needs make)
#
Using ./arch/powerpc/configs/.config as base
Merging ./arch/powerpc/configs/uart6.config
#
# merged configuration written to ./arch/powerpc/configs/.config (needs make)
#
Using ./arch/powerpc/configs/.config as base
Merging ./arch/powerpc/configs/mpc85xx_misc.config
#
# merged configuration written to ./arch/powerpc/configs/.config (needs make)
#
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/zconf.lex.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#

[b44306@b44306-12 scottwood2]$ make mpc85xx_defconfig
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/zconf.lex.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config

[b44306@b44306-12 scottwood]$ ./scripts/diffconfig ../scottwood2/.config .config
[b44306@b44306-12 scottwood]$

**************mpc85xx_smp_defconfig*********
[b44306@b44306-12 scottwood]$ make mpc85xx_smp_defconfig
Using ./arch/powerpc/configs/.config as base
Merging ./arch/powerpc/configs/32-bit.config
#
# merged configuration written to ./arch/powerpc/configs/.config (needs make)
#
Using ./arch/powerpc/configs/.config as base
Merging ./arch/powerpc/configs/smp.config
#
# merged configuration written to ./arch/powerpc/configs/.config (needs make)
#
Using ./arch/powerpc/configs/.config as base
Merging ./arch/powerpc/configs/cpu8.config
#
# merged configuration written to ./arch/powerpc/configs/.config (needs make)
#
Using ./arch/powerpc/configs/.config as base
Merging ./arch/powerpc/configs/kvm_e500.config
#
# merged configuration written to ./arch/powerpc/configs/.config (needs make)
#
Using ./arch/powerpc/configs/.config as base
Merging ./arch/powerpc/configs/uart2.config
#
# merged configuration written to ./arch/powerpc/configs/.config (needs make)
#
Using ./arch/powerpc/configs/.config as base
Merging ./arch/powerpc/configs/i2c.config
#
# merged configuration written to ./arch/powerpc/configs/.config (needs make)
#
#
# configuration written to .config

#
[b44306@b44306-12 scottwood2]$ make mpc85xx_smp_defconfig
#
# configuration written to .config
#
[b44306@b44306-12 scottwood2]$

[b44306@b44306-12 scottwood]$ ./scripts/diffconfig ../scottwood2/.config .config
 EPAPR_PARAVIRT n -> y
 KVM_GUEST n -> y
 PPC_QEMU_E500 n -> y
// these changes are expected since mpc85xx_smp_defconfig has enabled kvm_e500.config in freescale's internal git repo.	



*********corenet32_smp_defconfig********
[b44306@b44306-12 scottwood]$ make corenet32_smp_defconfig
Using ./arch/powerpc/configs/.config as base                                      
Merging ./arch/powerpc/configs/32-bit.config
#
# merged configuration written to ./arch/powerpc/configs/.config (needs make)
#
Using ./arch/powerpc/configs/.config as base
Merging ./arch/powerpc/configs/smp.config
#
# merged configuration written to ./arch/powerpc/configs/.config (needs make)
#
Using ./arch/powerpc/configs/.config as base
Merging ./arch/powerpc/configs/cpu8.config
#
# merged configuration written to ./arch/powerpc/configs/.config (needs make)
#
Using ./arch/powerpc/configs/.config as base
Merging ./arch/powerpc/configs/corenet32_misc.config
#
# merged configuration written to ./arch/powerpc/configs/.config (needs make)
#
#
# configuration written to .config
#
[b44306@b44306-12 scottwood2]$ make corenet32_smp_defconfig
  HOSTCC  scripts/basic/bin2c
#
# configuration written to .config
#
[b44306@b44306-12 scottwood2]$

[b44306@b44306-12 scottwood]$ ./scripts/diffconfig ../scottwood2/.config .config
[b44306@b44306-12 scottwood]$

*************corenet64_smp_defconfig***************

[b44306@b44306-12 scottwood]$ make corenet64_smp_defconfig                        
Using ./arch/powerpc/configs/.config as base
Merging ./arch/powerpc/configs/64-bit.config
#
# merged configuration written to ./arch/powerpc/configs/.config (needs make)
#
Using ./arch/powerpc/configs/.config as base
Merging ./arch/powerpc/configs/smp.config
#
# merged configuration written to ./arch/powerpc/configs/.config (needs make)
#
Using ./arch/powerpc/configs/.config as base
Merging ./arch/powerpc/configs/cpu24.config
#
# merged configuration written to ./arch/powerpc/configs/.config (needs make)
#
Using ./arch/powerpc/configs/.config as base
Merging ./arch/powerpc/configs/dma.config
#
# merged configuration written to ./arch/powerpc/configs/.config (needs make)
#
Using ./arch/powerpc/configs/.config as base
Merging ./arch/powerpc/configs/math_emulation.config
#
# merged configuration written to ./arch/powerpc/configs/.config (needs make)
#
Using ./arch/powerpc/configs/.config as base
Merging ./arch/powerpc/configs/cgroup.config
#
# merged configuration written to ./arch/powerpc/configs/.config (needs make)
#
Using ./arch/powerpc/configs/.config as base
Merging ./arch/powerpc/configs/corenet64_misc.config
#
# merged configuration written to ./arch/powerpc/configs/.config (needs make)
#
#
# configuration written to .config
#
[b44306@b44306-12 scottwood]$
[b44306@b44306-12 scottwood2]$ make corenet64_smp_defconfig
#
# configuration written to .config
#
[b44306@b44306-12 scottwood]$ ./scripts/diffconfig ../scottwood2/.config .config
[b44306@b44306-12 scottwood]$
  
v2 changes:
 rename kvm_guest.config to kvm_e500.config
 utilize the definition of mergeconfig in scripts/kconfig/Makefile
 .config before and after this patch differs, need to investigate more
 need suggestions on what other features to spin off mpc85xx corenet32/64

 arch/powerpc/Makefile                              |  46 ++++
 arch/powerpc/configs/32-bit.config                 |   1 +
 arch/powerpc/configs/64-bit.config                 |   3 +
 arch/powerpc/configs/cgroup.config                 |   4 +
 arch/powerpc/configs/corenet32_misc.config         |  36 +++
 arch/powerpc/configs/corenet32_smp_defconfig       | 185 ---------------
 arch/powerpc/configs/corenet64_misc.config         |  16 ++
 .../{corenet64_smp_defconfig => corenet_defconfig} |  31 +--
 arch/powerpc/configs/cpu24.config                  |   1 +
 arch/powerpc/configs/cpu8.config                   |   1 +
 arch/powerpc/configs/dma.config                    |   2 +
 arch/powerpc/configs/i2c.config                    |   1 +
 arch/powerpc/configs/kvm_e500.config               |   2 +
 arch/powerpc/configs/math_emulation.config         |   2 +
 ...c85xx_smp_defconfig => mpc85xx_basic_defconfig} |   6 -
 arch/powerpc/configs/mpc85xx_defconfig             | 252 ---------------------
 arch/powerpc/configs/mpc85xx_misc.config           |  11 +
 arch/powerpc/configs/smp.config                    |   1 +
 arch/powerpc/configs/uart2.config                  |   2 +
 arch/powerpc/configs/uart6.config                  |   2 +
 20 files changed, 132 insertions(+), 473 deletions(-)
 create mode 100644 arch/powerpc/configs/32-bit.config
 create mode 100644 arch/powerpc/configs/64-bit.config
 create mode 100644 arch/powerpc/configs/cgroup.config
 create mode 100644 arch/powerpc/configs/corenet32_misc.config
 delete mode 100644 arch/powerpc/configs/corenet32_smp_defconfig
 create mode 100644 arch/powerpc/configs/corenet64_misc.config
 rename arch/powerpc/configs/{corenet64_smp_defconfig => corenet_defconfig} (83%)
 create mode 100644 arch/powerpc/configs/cpu24.config
 create mode 100644 arch/powerpc/configs/cpu8.config
 create mode 100644 arch/powerpc/configs/dma.config
 create mode 100644 arch/powerpc/configs/i2c.config
 create mode 100644 arch/powerpc/configs/kvm_e500.config
 create mode 100644 arch/powerpc/configs/math_emulation.config
 rename arch/powerpc/configs/{mpc85xx_smp_defconfig => mpc85xx_basic_defconfig} (97%)
 delete mode 100644 arch/powerpc/configs/mpc85xx_defconfig
 create mode 100644 arch/powerpc/configs/mpc85xx_misc.config
 create mode 100644 arch/powerpc/configs/smp.config
 create mode 100644 arch/powerpc/configs/uart2.config
 create mode 100644 arch/powerpc/configs/uart6.config

diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index fc502e0..7c80298 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -269,6 +269,52 @@ bootwrapper_install:
 %.dtb: scripts
 	$(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
 
+configfiles=$(wildcard $(srctree)/kernel/configs/$(1).config $(srctree)/arch/$(SRCARCH)/configs/$(1).config)
+
+define mergeconfig
+$(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m -O $(objtree)/arch/$(SRCARCH)/configs $(objtree)/arch/$(SRCARCH)/configs/.config $(call configfiles,$(1))
+endef
+
+mpc85xx_defconfig:
+	$(Q)cp $(srctree)/arch/$(SRCARCH)/configs/mpc85xx_basic_defconfig $(srctree)/arch/$(SRCARCH)/configs/.config
+	$(call mergeconfig,32-bit)
+	$(call mergeconfig,uart6)
+	$(call mergeconfig,mpc85xx_misc)
+	$(Q)mv $(objtree)/arch/$(SRCARCH)/configs/.config $(objtree)/arch/$(SRCARCH)/configs/mpc85xx_tmp_defconfig
+	$(Q)$(MAKE) -f $(srctree)/Makefile mpc85xx_tmp_defconfig
+
+mpc85xx_smp_defconfig:
+	$(Q)cp $(srctree)/arch/$(SRCARCH)/configs/mpc85xx_basic_defconfig $(srctree)/arch/$(SRCARCH)/configs/.config
+	$(call mergeconfig,32-bit)
+	$(call mergeconfig,smp)
+	$(call mergeconfig,cpu8)
+	$(call mergeconfig,kvm_e500)
+	$(call mergeconfig,uart2)
+	$(call mergeconfig,i2c)
+	$(Q)mv $(objtree)/arch/$(SRCARCH)/configs/.config $(objtree)/arch/$(SRCARCH)/configs/mpc85xx_smp_tmp_defconfig
+	$(Q)$(MAKE) -f $(srctree)/Makefile mpc85xx_smp_tmp_defconfig
+
+corenet32_smp_defconfig:
+	$(Q)cp $(srctree)/arch/$(SRCARCH)/configs/corenet_defconfig $(srctree)/arch/$(SRCARCH)/configs/.config
+	$(call mergeconfig,32-bit)
+	$(call mergeconfig,smp)
+	$(call mergeconfig,cpu8)
+	$(call mergeconfig,corenet32_misc)
+	$(Q)mv $(objtree)/arch/$(SRCARCH)/configs/.config $(objtree)/arch/$(SRCARCH)/configs/corenet32_smp_tmp_defconfig
+	$(Q)$(MAKE) -f $(srctree)/Makefile corenet32_smp_tmp_defconfig
+
+corenet64_smp_defconfig:
+	$(Q)cp $(srctree)/arch/$(SRCARCH)/configs/corenet_defconfig $(srctree)/arch/$(SRCARCH)/configs/.config
+	$(call mergeconfig,64-bit)
+	$(call mergeconfig,smp)
+	$(call mergeconfig,cpu24)
+	$(call mergeconfig,dma)
+	$(call mergeconfig,math_emulation)
+	$(call mergeconfig,cgroup)
+	$(call mergeconfig,corenet64_misc)
+	$(Q)mv $(objtree)/arch/$(SRCARCH)/configs/.config $(objtree)/arch/$(SRCARCH)/configs/corenet64_smp_tmp_defconfig
+	$(Q)$(MAKE) -f $(srctree)/Makefile corenet64_smp_tmp_defconfig
+
 define archhelp
   @echo '* zImage          - Build default images selected by kernel config'
   @echo '  zImage.*        - Compressed kernel image (arch/$(ARCH)/boot/zImage.*)'
diff --git a/arch/powerpc/configs/32-bit.config b/arch/powerpc/configs/32-bit.config
new file mode 100644
index 0000000..3b8b43b
--- /dev/null
+++ b/arch/powerpc/configs/32-bit.config
@@ -0,0 +1 @@
+CONFIG_PPC_85xx=y
diff --git a/arch/powerpc/configs/64-bit.config b/arch/powerpc/configs/64-bit.config
new file mode 100644
index 0000000..b53af55
--- /dev/null
+++ b/arch/powerpc/configs/64-bit.config
@@ -0,0 +1,3 @@
+CONFIG_PPC64=y
+CONFIG_PPC_BOOK3E_64=y
+CONFIG_ALTIVEC=y
diff --git a/arch/powerpc/configs/cgroup.config b/arch/powerpc/configs/cgroup.config
new file mode 100644
index 0000000..a6012a3
--- /dev/null
+++ b/arch/powerpc/configs/cgroup.config
@@ -0,0 +1,4 @@
+CONFIG_CGROUPS=y
+CONFIG_CPUSETS=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_CGROUP_SCHED=y
diff --git a/arch/powerpc/configs/corenet32_misc.config b/arch/powerpc/configs/corenet32_misc.config
new file mode 100644
index 0000000..4ad0ea1
--- /dev/null
+++ b/arch/powerpc/configs/corenet32_misc.config
@@ -0,0 +1,36 @@
+CONFIG_AT803X_PHY=y
+CONFIG_AUDIT=y
+CONFIG_CHR_DEV_ST=y
+CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=n
+CONFIG_CRAMFS=y
+CONFIG_E1000=y
+CONFIG_EDAC_MPC85XX=y
+CONFIG_EMBEDDED=y
+CONFIG_EXT3_DEFAULTS_TO_ORDERED=n
+CONFIG_FORCE_MAX_ZONEORDER=13
+CONFIG_HIGHMEM=y
+CONFIG_INET_AH=y
+CONFIG_INET_IPCOMP=y
+CONFIG_KEXEC=y
+CONFIG_LEGACY_PTYS=n
+CONFIG_NET_KEY_MIGRATE=y
+CONFIG_NVRAM=y
+CONFIG_PATA_SIL680=y
+CONFIG_PCI=y
+CONFIG_PCIEASPM=n
+CONFIG_PERF_EVENTS=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_PPC_85xx=y
+CONFIG_RCU_TRACE=y
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_SIL=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SYM53C8XX_2=y
+CONFIG_SLAB=y
+CONFIG_STAGING=y
+CONFIG_UIO=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
+CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
+CONFIG_XFRM_STATISTICS=y
+CONFIG_XFRM_SUB_POLICY=y
diff --git a/arch/powerpc/configs/corenet32_smp_defconfig b/arch/powerpc/configs/corenet32_smp_defconfig
deleted file mode 100644
index 3765993..0000000
--- a/arch/powerpc/configs/corenet32_smp_defconfig
+++ /dev/null
@@ -1,185 +0,0 @@
-CONFIG_PPC_85xx=y
-CONFIG_SMP=y
-CONFIG_NR_CPUS=8
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_AUDIT=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_KALLSYMS_ALL=y
-CONFIG_EMBEDDED=y
-CONFIG_PERF_EVENTS=y
-CONFIG_SLAB=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_PARTITION_ADVANCED=y
-CONFIG_MAC_PARTITION=y
-CONFIG_CORENET_GENERIC=y
-CONFIG_HIGHMEM=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_BINFMT_MISC=m
-CONFIG_KEXEC=y
-CONFIG_FORCE_MAX_ZONEORDER=13
-CONFIG_PCI=y
-CONFIG_PCIEPORTBUS=y
-# CONFIG_PCIEASPM is not set
-CONFIG_PCI_MSI=y
-CONFIG_RAPIDIO=y
-CONFIG_FSL_RIO=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_XFRM_USER=y
-CONFIG_XFRM_SUB_POLICY=y
-CONFIG_XFRM_STATISTICS=y
-CONFIG_NET_KEY=y
-CONFIG_NET_KEY_MIGRATE=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
-CONFIG_NET_IPIP=y
-CONFIG_IP_MROUTE=y
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-CONFIG_INET_AH=y
-CONFIG_INET_ESP=y
-CONFIG_INET_IPCOMP=y
-# CONFIG_INET_LRO is not set
-CONFIG_IPV6=y
-CONFIG_IP_SCTP=m
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_PHYSMAP_OF=y
-CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_FSL_ELBC=y
-CONFIG_MTD_NAND_FSL_IFC=y
-CONFIG_MTD_SPI_NOR=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=131072
-CONFIG_BLK_DEV_SD=y
-CONFIG_CHR_DEV_ST=y
-CONFIG_BLK_DEV_SR=y
-CONFIG_CHR_DEV_SG=y
-CONFIG_SCSI_LOGGING=y
-CONFIG_SCSI_SYM53C8XX_2=y
-CONFIG_ATA=y
-CONFIG_SATA_AHCI=y
-CONFIG_SATA_FSL=y
-CONFIG_SATA_SIL24=y
-CONFIG_SATA_SIL=y
-CONFIG_PATA_SIL680=y
-CONFIG_NETDEVICES=y
-CONFIG_FSL_PQ_MDIO=y
-CONFIG_FSL_XGMAC_MDIO=y
-CONFIG_E1000=y
-CONFIG_E1000E=y
-CONFIG_AT803X_PHY=y
-CONFIG_VITESSE_PHY=y
-CONFIG_FIXED_PHY=y
-CONFIG_MDIO_BUS_MUX_GPIO=y
-CONFIG_MDIO_BUS_MUX_MMIOREG=y
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-CONFIG_SERIO_LIBPS2=y
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_PPC_EPAPR_HV_BYTECHAN=y
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_MANY_PORTS=y
-CONFIG_SERIAL_8250_DETECT_IRQ=y
-CONFIG_SERIAL_8250_RSA=y
-CONFIG_NVRAM=y
-CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_MPC=y
-CONFIG_I2C_MUX=y
-CONFIG_I2C_MUX_PCA954x=y
-CONFIG_SPI=y
-CONFIG_SPI_GPIO=y
-CONFIG_SPI_FSL_SPI=y
-CONFIG_SPI_FSL_ESPI=y
-CONFIG_SENSORS_LM90=y
-CONFIG_SENSORS_INA2XX=y
-CONFIG_USB_HID=m
-CONFIG_USB=y
-CONFIG_USB_MON=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_FSL=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
-CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
-CONFIG_USB_STORAGE=y
-CONFIG_MMC=y
-CONFIG_MMC_SDHCI=y
-CONFIG_EDAC=y
-CONFIG_EDAC_MM_EDAC=y
-CONFIG_EDAC_MPC85XX=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_DS1307=y
-CONFIG_RTC_DRV_DS1374=y
-CONFIG_RTC_DRV_DS3232=y
-CONFIG_UIO=y
-CONFIG_VIRT_DRIVERS=y
-CONFIG_FSL_HV_MANAGER=y
-CONFIG_STAGING=y
-CONFIG_FSL_CORENET_CF=y
-CONFIG_CLK_QORIQ=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=y
-CONFIG_NTFS_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_HUGETLBFS=y
-CONFIG_JFFS2_FS=y
-CONFIG_CRAMFS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V4=y
-CONFIG_ROOT_NFS=y
-CONFIG_NFSD=m
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_850=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_UTF8=m
-CONFIG_DEBUG_INFO=y
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DEBUG_SHIRQ=y
-CONFIG_DETECT_HUNG_TASK=y
-CONFIG_RCU_TRACE=y
-CONFIG_CRYPTO_NULL=y
-CONFIG_CRYPTO_PCBC=m
-CONFIG_CRYPTO_MD4=y
-CONFIG_CRYPTO_SHA256=y
-CONFIG_CRYPTO_SHA512=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRYPTO_DEV_FSL_CAAM=y
diff --git a/arch/powerpc/configs/corenet64_misc.config b/arch/powerpc/configs/corenet64_misc.config
new file mode 100644
index 0000000..c079055
--- /dev/null
+++ b/arch/powerpc/configs/corenet64_misc.config
@@ -0,0 +1,16 @@
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CRC_T10DIF=y
+CONFIG_DEBUG_FS=y
+CONFIG_DUMMY=y
+CONFIG_EEPROM_LEGACY=y
+CONFIG_EXPERT=y
+CONFIG_FHANDLE=y
+CONFIG_FRAME_WARN=1024
+CONFIG_FTL=y
+CONFIG_INET_XFRM_MODE_BEET=n
+CONFIG_INPUT_FF_MEMLESS=m
+CONFIG_IRQ_DOMAIN_DEBUG=y
+CONFIG_JFFS2_FS_DEBUG=1
+CONFIG_MTD_UBI=y
+CONFIG_PPC_OF_BOOT_TRAMPOLINE=n
+CONFIG_UBIFS_FS=y
diff --git a/arch/powerpc/configs/corenet64_smp_defconfig b/arch/powerpc/configs/corenet_defconfig
similarity index 83%
rename from arch/powerpc/configs/corenet64_smp_defconfig
rename to arch/powerpc/configs/corenet_defconfig
index 33cd1df..89c43ee 100644
--- a/arch/powerpc/configs/corenet64_smp_defconfig
+++ b/arch/powerpc/configs/corenet_defconfig
@@ -1,23 +1,11 @@
-CONFIG_PPC64=y
-CONFIG_PPC_BOOK3E_64=y
-CONFIG_ALTIVEC=y
-CONFIG_SMP=y
-CONFIG_NR_CPUS=24
 CONFIG_SYSVIPC=y
-CONFIG_FHANDLE=y
-CONFIG_IRQ_DOMAIN_DEBUG=y
 CONFIG_NO_HZ=y
 CONFIG_HIGH_RES_TIMERS=y
 CONFIG_BSD_PROCESS_ACCT=y
 CONFIG_IKCONFIG=y
 CONFIG_IKCONFIG_PROC=y
 CONFIG_LOG_BUF_SHIFT=14
-CONFIG_CGROUPS=y
-CONFIG_CPUSETS=y
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_CGROUP_SCHED=y
 CONFIG_BLK_DEV_INITRD=y
-CONFIG_EXPERT=y
 CONFIG_KALLSYMS_ALL=y
 CONFIG_MODULES=y
 CONFIG_MODULE_UNLOAD=y
@@ -27,10 +15,7 @@ CONFIG_MODVERSIONS=y
 CONFIG_PARTITION_ADVANCED=y
 CONFIG_MAC_PARTITION=y
 CONFIG_CORENET_GENERIC=y
-# CONFIG_PPC_OF_BOOT_TRAMPOLINE is not set
 CONFIG_BINFMT_MISC=m
-CONFIG_MATH_EMULATION=y
-CONFIG_MATH_EMULATION_HW_UNIMPLEMENTED=y
 CONFIG_PCIEPORTBUS=y
 CONFIG_PCI_MSI=y
 CONFIG_RAPIDIO=y
@@ -55,7 +40,6 @@ CONFIG_IP_MROUTE=y
 CONFIG_IP_PIMSM_V1=y
 CONFIG_IP_PIMSM_V2=y
 CONFIG_INET_ESP=y
-# CONFIG_INET_XFRM_MODE_BEET is not set
 # CONFIG_INET_LRO is not set
 CONFIG_IPV6=y
 CONFIG_IP_SCTP=m
@@ -65,7 +49,6 @@ CONFIG_DEVTMPFS_MOUNT=y
 CONFIG_MTD=y
 CONFIG_MTD_CMDLINE_PARTS=y
 CONFIG_MTD_BLOCK=y
-CONFIG_FTL=y
 CONFIG_MTD_CFI=y
 CONFIG_MTD_CFI_INTELEXT=y
 CONFIG_MTD_CFI_AMDSTD=y
@@ -74,20 +57,16 @@ CONFIG_MTD_NAND=y
 CONFIG_MTD_NAND_FSL_ELBC=y
 CONFIG_MTD_NAND_FSL_IFC=y
 CONFIG_MTD_SPI_NOR=y
-CONFIG_MTD_UBI=y
 CONFIG_BLK_DEV_LOOP=y
 CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_SIZE=131072
-CONFIG_EEPROM_LEGACY=y
 CONFIG_BLK_DEV_SD=y
 CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
 CONFIG_CHR_DEV_SG=y
 CONFIG_ATA=y
 CONFIG_SATA_FSL=y
 CONFIG_SATA_SIL24=y
 CONFIG_NETDEVICES=y
-CONFIG_DUMMY=y
 CONFIG_FSL_PQ_MDIO=y
 CONFIG_FSL_XGMAC_MDIO=y
 CONFIG_E1000E=y
@@ -95,7 +74,6 @@ CONFIG_VITESSE_PHY=y
 CONFIG_FIXED_PHY=y
 CONFIG_MDIO_BUS_MUX_GPIO=y
 CONFIG_MDIO_BUS_MUX_MMIOREG=y
-CONFIG_INPUT_FF_MEMLESS=m
 # CONFIG_INPUT_MOUSEDEV is not set
 # CONFIG_INPUT_KEYBOARD is not set
 # CONFIG_INPUT_MOUSE is not set
@@ -131,12 +109,10 @@ CONFIG_RTC_CLASS=y
 CONFIG_RTC_DRV_DS1307=y
 CONFIG_RTC_DRV_DS1374=y
 CONFIG_RTC_DRV_DS3232=y
-CONFIG_DMADEVICES=y
-CONFIG_FSL_DMA=y
 CONFIG_VIRT_DRIVERS=y
 CONFIG_FSL_HV_MANAGER=y
-CONFIG_CLK_QORIQ=y
 CONFIG_FSL_CORENET_CF=y
+CONFIG_CLK_QORIQ=y
 CONFIG_EXT2_FS=y
 CONFIG_EXT3_FS=y
 CONFIG_ISO9660_FS=m
@@ -150,8 +126,6 @@ CONFIG_PROC_KCORE=y
 CONFIG_TMPFS=y
 CONFIG_HUGETLBFS=y
 CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=1
-CONFIG_UBIFS_FS=y
 CONFIG_NFS_FS=y
 CONFIG_NFS_V4=y
 CONFIG_ROOT_NFS=y
@@ -160,10 +134,7 @@ CONFIG_NLS_CODEPAGE_437=y
 CONFIG_NLS_CODEPAGE_850=y
 CONFIG_NLS_ISO8859_1=y
 CONFIG_NLS_UTF8=m
-CONFIG_CRC_T10DIF=y
 CONFIG_DEBUG_INFO=y
-CONFIG_FRAME_WARN=1024
-CONFIG_DEBUG_FS=y
 CONFIG_MAGIC_SYSRQ=y
 CONFIG_DEBUG_SHIRQ=y
 CONFIG_DETECT_HUNG_TASK=y
diff --git a/arch/powerpc/configs/cpu24.config b/arch/powerpc/configs/cpu24.config
new file mode 100644
index 0000000..08d2f61
--- /dev/null
+++ b/arch/powerpc/configs/cpu24.config
@@ -0,0 +1 @@
+CONFIG_NR_CPUS=24
diff --git a/arch/powerpc/configs/cpu8.config b/arch/powerpc/configs/cpu8.config
new file mode 100644
index 0000000..8832f89
--- /dev/null
+++ b/arch/powerpc/configs/cpu8.config
@@ -0,0 +1 @@
+CONFIG_NR_CPUS=8
diff --git a/arch/powerpc/configs/dma.config b/arch/powerpc/configs/dma.config
new file mode 100644
index 0000000..f0e66b5
--- /dev/null
+++ b/arch/powerpc/configs/dma.config
@@ -0,0 +1,2 @@
+CONFIG_DMADEVICES=y
+CONFIG_FSL_DMA=y
diff --git a/arch/powerpc/configs/i2c.config b/arch/powerpc/configs/i2c.config
new file mode 100644
index 0000000..aafb657
--- /dev/null
+++ b/arch/powerpc/configs/i2c.config
@@ -0,0 +1 @@
+CONFIG_I2C=y
diff --git a/arch/powerpc/configs/kvm_e500.config b/arch/powerpc/configs/kvm_e500.config
new file mode 100644
index 0000000..615b0a0
--- /dev/null
+++ b/arch/powerpc/configs/kvm_e500.config
@@ -0,0 +1,2 @@
+CONFIG_KVM_GUEST=y
+CONFIG_PPC_QEMU_E500=y
diff --git a/arch/powerpc/configs/math_emulation.config b/arch/powerpc/configs/math_emulation.config
new file mode 100644
index 0000000..fa2fb66
--- /dev/null
+++ b/arch/powerpc/configs/math_emulation.config
@@ -0,0 +1,2 @@
+CONFIG_MATH_EMULATION=y
+CONFIG_MATH_EMULATION_HW_UNIMPLEMENTED=y
diff --git a/arch/powerpc/configs/mpc85xx_smp_defconfig b/arch/powerpc/configs/mpc85xx_basic_defconfig
similarity index 97%
rename from arch/powerpc/configs/mpc85xx_smp_defconfig
rename to arch/powerpc/configs/mpc85xx_basic_defconfig
index b6c7111..8cb47f4 100644
--- a/arch/powerpc/configs/mpc85xx_smp_defconfig
+++ b/arch/powerpc/configs/mpc85xx_basic_defconfig
@@ -1,7 +1,4 @@
-CONFIG_PPC_85xx=y
 CONFIG_PHYS_64BIT=y
-CONFIG_SMP=y
-CONFIG_NR_CPUS=8
 CONFIG_SYSVIPC=y
 CONFIG_POSIX_MQUEUE=y
 CONFIG_AUDIT=y
@@ -128,14 +125,11 @@ CONFIG_INPUT_FF_MEMLESS=m
 CONFIG_SERIO_LIBPS2=y
 CONFIG_SERIAL_8250=y
 CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=2
-CONFIG_SERIAL_8250_RUNTIME_UARTS=2
 CONFIG_SERIAL_8250_MANY_PORTS=y
 CONFIG_SERIAL_8250_DETECT_IRQ=y
 CONFIG_SERIAL_8250_RSA=y
 CONFIG_SERIAL_QE=m
 CONFIG_NVRAM=y
-CONFIG_I2C=y
 CONFIG_I2C_CHARDEV=y
 CONFIG_I2C_CPM=m
 CONFIG_I2C_MPC=y
diff --git a/arch/powerpc/configs/mpc85xx_defconfig b/arch/powerpc/configs/mpc85xx_defconfig
deleted file mode 100644
index 6ecf7bd..0000000
--- a/arch/powerpc/configs/mpc85xx_defconfig
+++ /dev/null
@@ -1,252 +0,0 @@
-CONFIG_PPC_85xx=y
-CONFIG_PHYS_64BIT=y
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_AUDIT=y
-CONFIG_IRQ_DOMAIN_DEBUG=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_EXPERT=y
-CONFIG_KALLSYMS_ALL=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_PARTITION_ADVANCED=y
-CONFIG_MAC_PARTITION=y
-CONFIG_C293_PCIE=y
-CONFIG_MPC8540_ADS=y
-CONFIG_MPC8560_ADS=y
-CONFIG_MPC85xx_CDS=y
-CONFIG_MPC85xx_MDS=y
-CONFIG_MPC8536_DS=y
-CONFIG_MPC85xx_DS=y
-CONFIG_MPC85xx_RDB=y
-CONFIG_P1010_RDB=y
-CONFIG_P1022_DS=y
-CONFIG_P1022_RDK=y
-CONFIG_P1023_RDB=y
-CONFIG_SOCRATES=y
-CONFIG_KSI8560=y
-CONFIG_XES_MPC85xx=y
-CONFIG_STX_GP3=y
-CONFIG_TQM8540=y
-CONFIG_TQM8541=y
-CONFIG_TQM8548=y
-CONFIG_TQM8555=y
-CONFIG_TQM8560=y
-CONFIG_SBC8548=y
-CONFIG_MVME2500=y
-CONFIG_QUICC_ENGINE=y
-CONFIG_QE_GPIO=y
-CONFIG_HIGHMEM=y
-CONFIG_BINFMT_MISC=m
-CONFIG_MATH_EMULATION=y
-CONFIG_FORCE_MAX_ZONEORDER=12
-CONFIG_PCI=y
-CONFIG_PCIEPORTBUS=y
-# CONFIG_PCIEASPM is not set
-CONFIG_PCI_MSI=y
-CONFIG_RAPIDIO=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_XFRM_USER=y
-CONFIG_NET_KEY=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
-CONFIG_NET_IPIP=y
-CONFIG_IP_MROUTE=y
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-CONFIG_INET_ESP=y
-# CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_LRO is not set
-CONFIG_IPV6=y
-CONFIG_IP_SCTP=m
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=y
-CONFIG_FTL=y
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_CFI_AMDSTD=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_MTD_PHYSMAP_OF=y
-CONFIG_MTD_PLATRAM=y
-CONFIG_MTD_M25P80=y
-CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_FSL_ELBC=y
-CONFIG_MTD_NAND_FSL_IFC=y
-CONFIG_MTD_SPI_NOR=y
-CONFIG_MTD_UBI=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_NBD=y
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=131072
-CONFIG_EEPROM_AT24=y
-CONFIG_EEPROM_LEGACY=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_CHR_DEV_ST=y
-CONFIG_BLK_DEV_SR=y
-CONFIG_CHR_DEV_SG=y
-CONFIG_SCSI_LOGGING=y
-CONFIG_ATA=y
-CONFIG_SATA_AHCI=y
-CONFIG_SATA_FSL=y
-CONFIG_SATA_SIL24=y
-CONFIG_PATA_ALI=y
-CONFIG_PATA_VIA=y
-CONFIG_NETDEVICES=y
-CONFIG_DUMMY=y
-CONFIG_FS_ENET=y
-CONFIG_UCC_GETH=y
-CONFIG_GIANFAR=y
-CONFIG_E1000=y
-CONFIG_E1000E=y
-CONFIG_IGB=y
-CONFIG_AT803X_PHY=y
-CONFIG_MARVELL_PHY=y
-CONFIG_DAVICOM_PHY=y
-CONFIG_CICADA_PHY=y
-CONFIG_VITESSE_PHY=y
-CONFIG_BROADCOM_PHY=y
-CONFIG_FIXED_PHY=y
-CONFIG_INPUT_FF_MEMLESS=m
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-CONFIG_SERIO_LIBPS2=y
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=6
-CONFIG_SERIAL_8250_RUNTIME_UARTS=6
-CONFIG_SERIAL_8250_MANY_PORTS=y
-CONFIG_SERIAL_8250_DETECT_IRQ=y
-CONFIG_SERIAL_8250_RSA=y
-CONFIG_SERIAL_QE=m
-CONFIG_NVRAM=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_CPM=m
-CONFIG_I2C_MPC=y
-CONFIG_SPI=y
-CONFIG_SPI_FSL_SPI=y
-CONFIG_SPI_FSL_ESPI=y
-CONFIG_GPIO_MPC8XXX=y
-CONFIG_SENSORS_LM90=y
-CONFIG_FB=y
-CONFIG_FB_FSL_DIU=y
-# CONFIG_VGA_CONSOLE is not set
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_SOUND=y
-CONFIG_SND=y
-# CONFIG_SND_SUPPORT_OLD_API is not set
-# CONFIG_SND_DRIVERS is not set
-CONFIG_SND_INTEL8X0=y
-# CONFIG_SND_PPC is not set
-# CONFIG_SND_USB is not set
-CONFIG_SND_SOC=y
-CONFIG_SND_POWERPC_SOC=y
-CONFIG_HID_A4TECH=y
-CONFIG_HID_APPLE=y
-CONFIG_HID_BELKIN=y
-CONFIG_HID_CHERRY=y
-CONFIG_HID_CHICONY=y
-CONFIG_HID_CYPRESS=y
-CONFIG_HID_EZKEY=y
-CONFIG_HID_GYRATION=y
-CONFIG_HID_LOGITECH=y
-CONFIG_HID_MICROSOFT=y
-CONFIG_HID_MONTEREY=y
-CONFIG_HID_PANTHERLORD=y
-CONFIG_HID_PETALYNX=y
-CONFIG_HID_SAMSUNG=y
-CONFIG_HID_SUNPLUS=y
-CONFIG_USB=y
-CONFIG_USB_MON=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_FSL=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
-CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
-CONFIG_USB_STORAGE=y
-CONFIG_MMC=y
-CONFIG_MMC_SDHCI=y
-CONFIG_MMC_SDHCI_PLTFM=y
-CONFIG_MMC_SDHCI_OF_ESDHC=y
-CONFIG_EDAC=y
-CONFIG_EDAC_MM_EDAC=y
-CONFIG_EDAC_MPC85XX=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_DS1307=y
-CONFIG_RTC_DRV_DS1374=y
-CONFIG_RTC_DRV_DS3232=y
-CONFIG_RTC_DRV_CMOS=y
-CONFIG_DMADEVICES=y
-CONFIG_FSL_DMA=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=y
-CONFIG_NTFS_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_TMPFS=y
-CONFIG_HUGETLBFS=y
-CONFIG_ADFS_FS=m
-CONFIG_AFFS_FS=m
-CONFIG_HFS_FS=m
-CONFIG_HFSPLUS_FS=m
-CONFIG_BEFS_FS=m
-CONFIG_BFS_FS=m
-CONFIG_EFS_FS=m
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=1
-CONFIG_UBIFS_FS=y
-CONFIG_CRAMFS=y
-CONFIG_VXFS_FS=m
-CONFIG_HPFS_FS=m
-CONFIG_QNX4FS_FS=m
-CONFIG_SYSV_FS=m
-CONFIG_UFS_FS=m
-CONFIG_NFS_FS=y
-CONFIG_NFS_V4=y
-CONFIG_ROOT_NFS=y
-CONFIG_NFSD=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_850=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_CRC_T10DIF=y
-CONFIG_FONTS=y
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-CONFIG_DEBUG_INFO=y
-CONFIG_DEBUG_FS=y
-CONFIG_DETECT_HUNG_TASK=y
-CONFIG_CRYPTO_PCBC=m
-CONFIG_CRYPTO_SHA256=y
-CONFIG_CRYPTO_SHA512=y
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRYPTO_DEV_FSL_CAAM=y
-CONFIG_CRYPTO_DEV_TALITOS=y
diff --git a/arch/powerpc/configs/mpc85xx_misc.config b/arch/powerpc/configs/mpc85xx_misc.config
new file mode 100644
index 0000000..3f554d5
--- /dev/null
+++ b/arch/powerpc/configs/mpc85xx_misc.config
@@ -0,0 +1,11 @@
+CONFIG_BROADCOM_PHY=y
+CONFIG_E1000=y
+CONFIG_EDAC_MPC85XX=y
+CONFIG_IGB=y
+CONFIG_MTD_M25P80=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PLATRAM=y
+CONFIG_MVME2500=y
+CONFIG_PATA_VIA=y
+CONFIG_PCIEASPM=n
+CONFIG_PCIEPORTBUS=y
diff --git a/arch/powerpc/configs/smp.config b/arch/powerpc/configs/smp.config
new file mode 100644
index 0000000..1cbf7ec
--- /dev/null
+++ b/arch/powerpc/configs/smp.config
@@ -0,0 +1 @@
+CONFIG_SMP=y
diff --git a/arch/powerpc/configs/uart2.config b/arch/powerpc/configs/uart2.config
new file mode 100644
index 0000000..ed35fa5
--- /dev/null
+++ b/arch/powerpc/configs/uart2.config
@@ -0,0 +1,2 @@
+CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
diff --git a/arch/powerpc/configs/uart6.config b/arch/powerpc/configs/uart6.config
new file mode 100644
index 0000000..c7150c9
--- /dev/null
+++ b/arch/powerpc/configs/uart6.config
@@ -0,0 +1,2 @@
+CONFIG_SERIAL_8250_NR_UARTS=6
+CONFIG_SERIAL_8250_RUNTIME_UARTS=6
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v3] powerpc/defconfig: new way of writing defconfig
  2015-05-12  4:39 [PATCH v3] powerpc/defconfig: new way of writing defconfig Lijun Pan
@ 2015-05-13 22:18 ` Scott Wood
  2015-06-01  5:04   ` Lijun Pan
  0 siblings, 1 reply; 4+ messages in thread
From: Scott Wood @ 2015-05-13 22:18 UTC (permalink / raw)
  To: Lijun Pan; +Cc: linuxppc-dev

On Mon, 2015-05-11 at 23:39 -0500, Lijun Pan wrote:
> It is always a headache dealing with different defconfigs
> though they only differ in a few places. Hence we are proposing a new
> way of writing the defconfig:
> 1. Define a basic defconfig say mpc85xx_basic_defconfig
> 2. Spin off as much features as possible from the current mpc85xx_defconfig
> 	and create a separate config file, say, smp.config, kvm_500.config
> Every time we add a new feature, we don't need to change several
> defconfigs, we just add a new *.config
> And you could merge any fragments you want into .config with the
> current kconfig in Kernel.
> 
> Say you want to build mpc85xx_smp_defconfig, you do 7 steps:
> make mpc85xx_basic_defconfig
> make 32bit.config
> make smp.config
> make cpu8.config
> make kvm_e500.config
> make uart2.config
> make i2c.config
> 
> With the new rules added into arch/powerpc/Makefile,
> you can do it in one step:
> make mpc85xx_smp_defconfig

We currently do it in one step.  The 7 step version exists only in
previous versions of this patch, and won't be in the git history, so
such comments should go beneath the --- line.

> directory "scottwood" has my patch,
> directory "scottwood" does not have my patch

You shouldn't be working off of my repository unless it has patches
(that you need or that would conflict) that haven't yet been merged
upstream.

> [b44306@b44306-12 scottwood]$ ./scripts/diffconfig ../scottwood2/.config .config
>  EPAPR_PARAVIRT n -> y
>  KVM_GUEST n -> y
>  PPC_QEMU_E500 n -> y
> // these changes are expected since mpc85xx_smp_defconfig has enabled kvm_e500.config in freescale's internal git repo.	> 

What does our internal git repo have to do with anything?
 
> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
> index fc502e0..7c80298 100644
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -269,6 +269,52 @@ bootwrapper_install:
>  %.dtb: scripts
>  	$(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
>  
> +configfiles=$(wildcard $(srctree)/kernel/configs/$(1).config $(srctree)/arch/$(SRCARCH)/configs/$(1).config)
> +
> +define mergeconfig
> +$(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m -O $(objtree)/arch/$(SRCARCH)/configs $(objtree)/arch/$(SRCARCH)/configs/.config $(call configfiles,$(1))
> +endef

Why not invoke make with the <whatever>.config target instead?

> +
> +mpc85xx_defconfig:
> +	$(Q)cp $(srctree)/arch/$(SRCARCH)/configs/mpc85xx_basic_defconfig $(srctree)/arch/$(SRCARCH)/configs/.config

Don't modify $(srctree), ever.  Why not just depend on the mpc85xx_basic_defconfig target?

> +	$(call mergeconfig,32-bit)
> +	$(call mergeconfig,uart6)
> +	$(call mergeconfig,mpc85xx_misc)
> +	$(Q)mv $(objtree)/arch/$(SRCARCH)/configs/.config $(objtree)/arch/$(SRCARCH)/configs/mpc85xx_tmp_defconfig
> +	$(Q)$(MAKE) -f $(srctree)/Makefile mpc85xx_tmp_defconfig
> +
> +mpc85xx_smp_defconfig:
> +	$(Q)cp $(srctree)/arch/$(SRCARCH)/configs/mpc85xx_basic_defconfig $(srctree)/arch/$(SRCARCH)/configs/.config
> +	$(call mergeconfig,32-bit)
> +	$(call mergeconfig,smp)
> +	$(call mergeconfig,cpu8)
> +	$(call mergeconfig,kvm_e500)
> +	$(call mergeconfig,uart2)
> +	$(call mergeconfig,i2c)
> +	$(Q)mv $(objtree)/arch/$(SRCARCH)/configs/.config $(objtree)/arch/$(SRCARCH)/configs/mpc85xx_smp_tmp_defconfig
> +	$(Q)$(MAKE) -f $(srctree)/Makefile mpc85xx_smp_tmp_defconfig

There shouldn't be any difference besides "SMP" for mpc85xx_defconfig
versus mpc85xx_smp_defconfig.  I know someone previously asked you to
ensure this didn't change the results, but I think this is a good
opportunity to get rid of gratuitous differences, as long as you show
what the diff is between old and new so we can verify that the changes
are beneficial.

> +corenet32_smp_defconfig:
> +	$(Q)cp $(srctree)/arch/$(SRCARCH)/configs/corenet_defconfig $(srctree)/arch/$(SRCARCH)/configs/.config
> +	$(call mergeconfig,32-bit)

Isn't the basic config already 32-bit?

> +	$(call mergeconfig,smp)
> +	$(call mergeconfig,cpu8)
> +	$(call mergeconfig,corenet32_misc)
> +	$(Q)mv $(objtree)/arch/$(SRCARCH)/configs/.config $(objtree)/arch/$(SRCARCH)/configs/corenet32_smp_tmp_defconfig
> +	$(Q)$(MAKE) -f $(srctree)/Makefile corenet32_smp_tmp_defconfig
> +
> +corenet64_smp_defconfig:
> +	$(Q)cp $(srctree)/arch/$(SRCARCH)/configs/corenet_defconfig $(srctree)/arch/$(SRCARCH)/configs/.config
> +	$(call mergeconfig,64-bit)
> +	$(call mergeconfig,smp)
> +	$(call mergeconfig,cpu24)
> +	$(call mergeconfig,dma)
> +	$(call mergeconfig,math_emulation)
> +	$(call mergeconfig,cgroup)
> +	$(call mergeconfig,corenet64_misc)
> +	$(Q)mv $(objtree)/arch/$(SRCARCH)/configs/.config $(objtree)/arch/$(SRCARCH)/configs/corenet64_smp_tmp_defconfig
> +	$(Q)$(MAKE) -f $(srctree)/Makefile corenet64_smp_tmp_defconfig

math emulation?

>  define archhelp
>    @echo '* zImage          - Build default images selected by kernel config'
>    @echo '  zImage.*        - Compressed kernel image (arch/$(ARCH)/boot/zImage.*)'
> diff --git a/arch/powerpc/configs/32-bit.config b/arch/powerpc/configs/32-bit.config
> new file mode 100644
> index 0000000..3b8b43b
> --- /dev/null
> +++ b/arch/powerpc/configs/32-bit.config
> @@ -0,0 +1 @@
> +CONFIG_PPC_85xx=y

Not all 32-bit platforms are 85xx.

> diff --git a/arch/powerpc/configs/64-bit.config b/arch/powerpc/configs/64-bit.config
> new file mode 100644
> index 0000000..b53af55
> --- /dev/null
> +++ b/arch/powerpc/configs/64-bit.config
> @@ -0,0 +1,3 @@
> +CONFIG_PPC64=y
> +CONFIG_PPC_BOOK3E_64=y
> +CONFIG_ALTIVEC=y

Not all 64-bit platforms are book3e, and Altivec should probably be
separate, especially given the impact it has on -mcpu.

> diff --git a/arch/powerpc/configs/cgroup.config b/arch/powerpc/configs/cgroup.config
> new file mode 100644
> index 0000000..a6012a3
> --- /dev/null
> +++ b/arch/powerpc/configs/cgroup.config
> @@ -0,0 +1,4 @@
> +CONFIG_CGROUPS=y
> +CONFIG_CPUSETS=y
> +CONFIG_CGROUP_CPUACCT=y
> +CONFIG_CGROUP_SCHED=y

Is there any significant downside to enabling this?  As I think I said
before, I was hoping for one largeish fragment for all
non-hardware-specific stuff that we want to enable by default on all
of our configs.

I don't want it to be super-fine-grained, and I especially don't want
some eclectic mix of fine-grained and course-grained.

> diff --git a/arch/powerpc/configs/corenet32_misc.config b/arch/powerpc/configs/corenet32_misc.config
> new file mode 100644
> index 0000000..4ad0ea1
> --- /dev/null
> +++ b/arch/powerpc/configs/corenet32_misc.config
> @@ -0,0 +1,36 @@
> +CONFIG_AT803X_PHY=y
> +CONFIG_AUDIT=y
> +CONFIG_CHR_DEV_ST=y
> +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=n
> +CONFIG_CRAMFS=y
> +CONFIG_E1000=y
> +CONFIG_EDAC_MPC85XX=y
> +CONFIG_EMBEDDED=y
> +CONFIG_EXT3_DEFAULTS_TO_ORDERED=n
> +CONFIG_FORCE_MAX_ZONEORDER=13
> +CONFIG_HIGHMEM=y
> +CONFIG_INET_AH=y
> +CONFIG_INET_IPCOMP=y
> +CONFIG_KEXEC=y
> +CONFIG_LEGACY_PTYS=n
> +CONFIG_NET_KEY_MIGRATE=y
> +CONFIG_NVRAM=y
> +CONFIG_PATA_SIL680=y
> +CONFIG_PCI=y
> +CONFIG_PCIEASPM=n
> +CONFIG_PERF_EVENTS=y
> +CONFIG_POSIX_MQUEUE=y
> +CONFIG_PPC_85xx=y
> +CONFIG_RCU_TRACE=y
> +CONFIG_SATA_AHCI=y
> +CONFIG_SATA_SIL=y
> +CONFIG_SCSI_LOGGING=y
> +CONFIG_SCSI_SYM53C8XX_2=y
> +CONFIG_SLAB=y
> +CONFIG_STAGING=y
> +CONFIG_UIO=y
> +CONFIG_USB_OHCI_HCD=y
> +CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
> +CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
> +CONFIG_XFRM_STATISTICS=y
> +CONFIG_XFRM_SUB_POLICY=y

None of this is 32-bit specific.

> diff --git a/arch/powerpc/configs/corenet64_misc.config b/arch/powerpc/configs/corenet64_misc.config
> new file mode 100644
> index 0000000..c079055
> --- /dev/null
> +++ b/arch/powerpc/configs/corenet64_misc.config
> @@ -0,0 +1,16 @@
> +CONFIG_BLK_DEV_SR_VENDOR=y
> +CONFIG_CRC_T10DIF=y
> +CONFIG_DEBUG_FS=y
> +CONFIG_DUMMY=y
> +CONFIG_EEPROM_LEGACY=y
> +CONFIG_EXPERT=y
> +CONFIG_FHANDLE=y
> +CONFIG_FRAME_WARN=1024
> +CONFIG_FTL=y
> +CONFIG_INET_XFRM_MODE_BEET=n
> +CONFIG_INPUT_FF_MEMLESS=m
> +CONFIG_IRQ_DOMAIN_DEBUG=y
> +CONFIG_JFFS2_FS_DEBUG=1
> +CONFIG_MTD_UBI=y
> +CONFIG_PPC_OF_BOOT_TRAMPOLINE=n
> +CONFIG_UBIFS_FS=y

None of this is 64-bit specific.

> diff --git a/arch/powerpc/configs/corenet64_smp_defconfig b/arch/powerpc/configs/corenet_defconfig
> similarity index 83%
> rename from arch/powerpc/configs/corenet64_smp_defconfig
> rename to arch/powerpc/configs/corenet_defconfig
> index 33cd1df..89c43ee 100644
> --- a/arch/powerpc/configs/corenet64_smp_defconfig
> +++ b/arch/powerpc/configs/corenet_defconfig

Why is "corenet_defconfig" not "basic" like "mpc85xx_basic_defconfig"?

> diff --git a/arch/powerpc/configs/cpu24.config b/arch/powerpc/configs/cpu24.config
> new file mode 100644
> index 0000000..08d2f61
> --- /dev/null
> +++ b/arch/powerpc/configs/cpu24.config
> @@ -0,0 +1 @@
> +CONFIG_NR_CPUS=24
> diff --git a/arch/powerpc/configs/cpu8.config b/arch/powerpc/configs/cpu8.config
> new file mode 100644
> index 0000000..8832f89
> --- /dev/null
> +++ b/arch/powerpc/configs/cpu8.config
> @@ -0,0 +1 @@
> +CONFIG_NR_CPUS=8

Move this to the basic config file for the CPU family.

> diff --git a/arch/powerpc/configs/dma.config b/arch/powerpc/configs/dma.config
> new file mode 100644
> index 0000000..f0e66b5
> --- /dev/null
> +++ b/arch/powerpc/configs/dma.config
> @@ -0,0 +1,2 @@
> +CONFIG_DMADEVICES=y
> +CONFIG_FSL_DMA=y

Why does this need to be separate?

> diff --git a/arch/powerpc/configs/i2c.config b/arch/powerpc/configs/i2c.config
> new file mode 100644
> index 0000000..aafb657
> --- /dev/null
> +++ b/arch/powerpc/configs/i2c.config
> @@ -0,0 +1 @@
> +CONFIG_I2C=y
> diff --git a/arch/powerpc/configs/kvm_e500.config b/arch/powerpc/configs/kvm_e500.config
> new file mode 100644
> index 0000000..615b0a0
> --- /dev/null
> +++ b/arch/powerpc/configs/kvm_e500.config
> @@ -0,0 +1,2 @@
> +CONFIG_KVM_GUEST=y
> +CONFIG_PPC_QEMU_E500=y

CONFIG_PPC_QEMU_E500 should be always enabled like any other target.

As for KVM guest support, the standard name for this is
kvm_guest.config based on the rule in scripts/kconfig/Makefile, and it
should also include common virtio drivers.

> diff --git a/arch/powerpc/configs/math_emulation.config b/arch/powerpc/configs/math_emulation.config
> new file mode 100644
> index 0000000..fa2fb66
> --- /dev/null
> +++ b/arch/powerpc/configs/math_emulation.config
> @@ -0,0 +1,2 @@
> +CONFIG_MATH_EMULATION=y
> +CONFIG_MATH_EMULATION_HW_UNIMPLEMENTED=y
> diff --git a/arch/powerpc/configs/mpc85xx_smp_defconfig b/arch/powerpc/configs/mpc85xx_basic_defconfig
> similarity index 97%
> rename from arch/powerpc/configs/mpc85xx_smp_defconfig
> rename to arch/powerpc/configs/mpc85xx_basic_defconfig

mpc85xx_smp_defconfig contains a lot of things that I wouldn't consider
"basic" (obscure filesystems, HID drivers, etc), though I suppose
that could be a later cleanup.

> index b6c7111..8cb47f4 100644
> --- a/arch/powerpc/configs/mpc85xx_smp_defconfig
> +++ b/arch/powerpc/configs/mpc85xx_basic_defconfig
> @@ -1,7 +1,4 @@
> -CONFIG_PPC_85xx=y
>  CONFIG_PHYS_64BIT=y
> -CONFIG_SMP=y
> -CONFIG_NR_CPUS=8
>  CONFIG_SYSVIPC=y
>  CONFIG_POSIX_MQUEUE=y
>  CONFIG_AUDIT=y
> @@ -128,14 +125,11 @@ CONFIG_INPUT_FF_MEMLESS=m
>  CONFIG_SERIO_LIBPS2=y
>  CONFIG_SERIAL_8250=y
>  CONFIG_SERIAL_8250_CONSOLE=y
> -CONFIG_SERIAL_8250_NR_UARTS=2
> -CONFIG_SERIAL_8250_RUNTIME_UARTS=2
>  CONFIG_SERIAL_8250_MANY_PORTS=y
>  CONFIG_SERIAL_8250_DETECT_IRQ=y
>  CONFIG_SERIAL_8250_RSA=y
>  CONFIG_SERIAL_QE=m
>  CONFIG_NVRAM=y
> -CONFIG_I2C=y
>  CONFIG_I2C_CHARDEV=y
>  CONFIG_I2C_CPM=m
>  CONFIG_I2C_MPC=y

Why no i2c?

> --- /dev/null
> +++ b/arch/powerpc/configs/uart2.config
> @@ -0,0 +1,2 @@
> +CONFIG_SERIAL_8250_NR_UARTS=2
> +CONFIG_SERIAL_8250_RUNTIME_UARTS=2
> diff --git a/arch/powerpc/configs/uart6.config b/arch/powerpc/configs/uart6.config
> new file mode 100644
> index 0000000..c7150c9
> --- /dev/null
> +++ b/arch/powerpc/configs/uart6.config
> @@ -0,0 +1,2 @@
> +CONFIG_SERIAL_8250_NR_UARTS=6
> +CONFIG_SERIAL_8250_RUNTIME_UARTS=6

What's the harm in always setting it to 6?

-Scott

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: [PATCH v3] powerpc/defconfig: new way of writing defconfig
  2015-05-13 22:18 ` Scott Wood
@ 2015-06-01  5:04   ` Lijun Pan
  2015-06-01 21:58     ` Scott Wood
  0 siblings, 1 reply; 4+ messages in thread
From: Lijun Pan @ 2015-06-01  5:04 UTC (permalink / raw)
  To: Scott Wood; +Cc: linuxppc-dev

DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogV29vZCBTY290dC1CMDc0
MjENCj4gU2VudDogV2VkbmVzZGF5LCBNYXkgMTMsIDIwMTUgNToxOCBQTQ0KPiBUbzogUGFuIExp
anVuLUI0NDMwNg0KPiBDYzogbGludXhwcGMtZGV2QG96bGFicy5vcmcNCj4gU3ViamVjdDogUmU6
IFtQQVRDSCB2M10gcG93ZXJwYy9kZWZjb25maWc6IG5ldyB3YXkgb2Ygd3JpdGluZyBkZWZjb25m
aWcNCj4gDQo+IE9uIE1vbiwgMjAxNS0wNS0xMSBhdCAyMzozOSAtMDUwMCwgTGlqdW4gUGFuIHdy
b3RlOg0KPiA+IEl0IGlzIGFsd2F5cyBhIGhlYWRhY2hlIGRlYWxpbmcgd2l0aCBkaWZmZXJlbnQg
ZGVmY29uZmlncyB0aG91Z2ggdGhleQ0KPiA+IG9ubHkgZGlmZmVyIGluIGEgZmV3IHBsYWNlcy4g
SGVuY2Ugd2UgYXJlIHByb3Bvc2luZyBhIG5ldyB3YXkgb2YNCj4gPiB3cml0aW5nIHRoZSBkZWZj
b25maWc6DQo+ID4gMS4gRGVmaW5lIGEgYmFzaWMgZGVmY29uZmlnIHNheSBtcGM4NXh4X2Jhc2lj
X2RlZmNvbmZpZyAyLiBTcGluIG9mZiBhcw0KPiA+IG11Y2ggZmVhdHVyZXMgYXMgcG9zc2libGUg
ZnJvbSB0aGUgY3VycmVudCBtcGM4NXh4X2RlZmNvbmZpZw0KPiA+IAlhbmQgY3JlYXRlIGEgc2Vw
YXJhdGUgY29uZmlnIGZpbGUsIHNheSwgc21wLmNvbmZpZywga3ZtXzUwMC5jb25maWcNCj4gPiBF
dmVyeSB0aW1lIHdlIGFkZCBhIG5ldyBmZWF0dXJlLCB3ZSBkb24ndCBuZWVkIHRvIGNoYW5nZSBz
ZXZlcmFsDQo+ID4gZGVmY29uZmlncywgd2UganVzdCBhZGQgYSBuZXcgKi5jb25maWcgQW5kIHlv
dSBjb3VsZCBtZXJnZSBhbnkNCj4gPiBmcmFnbWVudHMgeW91IHdhbnQgaW50byAuY29uZmlnIHdp
dGggdGhlIGN1cnJlbnQga2NvbmZpZyBpbiBLZXJuZWwuDQo+ID4NCj4gPiBTYXkgeW91IHdhbnQg
dG8gYnVpbGQgbXBjODV4eF9zbXBfZGVmY29uZmlnLCB5b3UgZG8gNyBzdGVwczoNCj4gPiBtYWtl
IG1wYzg1eHhfYmFzaWNfZGVmY29uZmlnDQo+ID4gbWFrZSAzMmJpdC5jb25maWcNCj4gPiBtYWtl
IHNtcC5jb25maWcNCj4gPiBtYWtlIGNwdTguY29uZmlnDQo+ID4gbWFrZSBrdm1fZTUwMC5jb25m
aWcNCj4gPiBtYWtlIHVhcnQyLmNvbmZpZw0KPiA+IG1ha2UgaTJjLmNvbmZpZw0KPiA+DQo+ID4g
V2l0aCB0aGUgbmV3IHJ1bGVzIGFkZGVkIGludG8gYXJjaC9wb3dlcnBjL01ha2VmaWxlLCB5b3Ug
Y2FuIGRvIGl0IGluDQo+ID4gb25lIHN0ZXA6DQo+ID4gbWFrZSBtcGM4NXh4X3NtcF9kZWZjb25m
aWcNCj4gDQo+IFdlIGN1cnJlbnRseSBkbyBpdCBpbiBvbmUgc3RlcC4gIFRoZSA3IHN0ZXAgdmVy
c2lvbiBleGlzdHMgb25seSBpbiBwcmV2aW91cw0KPiB2ZXJzaW9ucyBvZiB0aGlzIHBhdGNoLCBh
bmQgd29uJ3QgYmUgaW4gdGhlIGdpdCBoaXN0b3J5LCBzbyBzdWNoIGNvbW1lbnRzIHNob3VsZA0K
PiBnbyBiZW5lYXRoIHRoZSAtLS0gbGluZS4NCg0KU3VyZSwgSSB3aWxsIHB1dCB0aGVtIGJlbmVh
dGggLS0tIGxpbmUgaW4gdGhlIG5leHQgcGF0Y2guDQoNCj4gDQo+ID4gZGlyZWN0b3J5ICJzY290
dHdvb2QiIGhhcyBteSBwYXRjaCwNCj4gPiBkaXJlY3RvcnkgInNjb3R0d29vZCIgZG9lcyBub3Qg
aGF2ZSBteSBwYXRjaA0KPiANCj4gWW91IHNob3VsZG4ndCBiZSB3b3JraW5nIG9mZiBvZiBteSBy
ZXBvc2l0b3J5IHVubGVzcyBpdCBoYXMgcGF0Y2hlcyAodGhhdCB5b3UNCj4gbmVlZCBvciB0aGF0
IHdvdWxkIGNvbmZsaWN0KSB0aGF0IGhhdmVuJ3QgeWV0IGJlZW4gbWVyZ2VkIHVwc3RyZWFtLg0K
DQpJIGFtIHdvcmtpbmcgb2ZmIGFuIG9sZCBjb21taXQuIFNlZSB0aGUgcmVzdWx0IGZyb20gJCJn
aXQgbG9nIg0KMTdhMGYzMyBwb3dlcnBjL2RlZmNvbmZpZzogbmV3IHdheSBvZiB3cml0aW5nIGRl
ZmNvbmZpZw0KZDQxNDQ0ZCBwb3dlcnBjL2NvcmVuZXQ6IGVuYWJsZSBDT05GSUdfSTJDX01VWCBh
bmQgQ09ORklHX0kyQ19NVVhfUENBOTU0eA0KN2Y5YWYwYSBwb3dlcnBjL3QyMDgwcWRzOiBmaXgg
cnRjIGludGVycnVwdA0KNTYzMDJjNSBwb3dlcnBjL21waWM6IFJlbW92ZSBXSE9BTUkgcmVhZGJh
Y2sgYWZ0ZXIgRU9JDQogDQoNCj4gPiBbYjQ0MzA2QGI0NDMwNi0xMiBzY290dHdvb2RdJCAuL3Nj
cmlwdHMvZGlmZmNvbmZpZw0KPiA+IC4uL3Njb3R0d29vZDIvLmNvbmZpZyAuY29uZmlnICBFUEFQ
Ul9QQVJBVklSVCBuIC0+IHkgIEtWTV9HVUVTVCBuIC0+IHkNCj4gPiAgUFBDX1FFTVVfRTUwMCBu
IC0+IHkNCj4gPiAvLyB0aGVzZSBjaGFuZ2VzIGFyZSBleHBlY3RlZCBzaW5jZSBtcGM4NXh4X3Nt
cF9kZWZjb25maWcgaGFzIGVuYWJsZWQNCj4ga3ZtX2U1MDAuY29uZmlnIGluIGZyZWVzY2FsZSdz
IGludGVybmFsIGdpdCByZXBvLgk+DQo+IA0KPiBXaGF0IGRvZXMgb3VyIGludGVybmFsIGdpdCBy
ZXBvIGhhdmUgdG8gZG8gd2l0aCBhbnl0aGluZz8NCg0KSSB3aWxsIHRha2Ugb2ZmIGt2bV9lNTAw
LmNvbmZpZyBpZiB1cHN0cmVhbSBkZWZjb25maWcgZG9lcyBoYXZlIHRoZXNlLg0KSSB3aWxsIGFk
ZCBrdm1fZTUwMC5jb25maWcgbGF0ZXIuDQoNCj4gDQo+ID4gZGlmZiAtLWdpdCBhL2FyY2gvcG93
ZXJwYy9NYWtlZmlsZSBiL2FyY2gvcG93ZXJwYy9NYWtlZmlsZSBpbmRleA0KPiA+IGZjNTAyZTAu
LjdjODAyOTggMTAwNjQ0DQo+ID4gLS0tIGEvYXJjaC9wb3dlcnBjL01ha2VmaWxlDQo+ID4gKysr
IGIvYXJjaC9wb3dlcnBjL01ha2VmaWxlDQo+ID4gQEAgLTI2OSw2ICsyNjksNTIgQEAgYm9vdHdy
YXBwZXJfaW5zdGFsbDoNCj4gPiAgJS5kdGI6IHNjcmlwdHMNCj4gPiAgCSQoUSkkKE1BS0UpIEFS
Q0g9cHBjNjQgJChidWlsZCk9JChib290KQ0KPiAkKHBhdHN1YnN0ICUsJChib290KS8lLCRAKQ0K
PiA+DQo+ID4gK2NvbmZpZ2ZpbGVzPSQod2lsZGNhcmQgJChzcmN0cmVlKS9rZXJuZWwvY29uZmln
cy8kKDEpLmNvbmZpZw0KPiA+ICskKHNyY3RyZWUpL2FyY2gvJChTUkNBUkNIKS9jb25maWdzLyQo
MSkuY29uZmlnKQ0KPiA+ICsNCj4gPiArZGVmaW5lIG1lcmdlY29uZmlnDQo+ID4gKyQoUSkkKENP
TkZJR19TSEVMTCkgJChzcmN0cmVlKS9zY3JpcHRzL2tjb25maWcvbWVyZ2VfY29uZmlnLnNoIC1t
IC1PDQo+ID4gKyQob2JqdHJlZSkvYXJjaC8kKFNSQ0FSQ0gpL2NvbmZpZ3MNCj4gPiArJChvYmp0
cmVlKS9hcmNoLyQoU1JDQVJDSCkvY29uZmlncy8uY29uZmlnICQoY2FsbCBjb25maWdmaWxlcywk
KDEpKQ0KPiA+ICtlbmRlZg0KPiANCj4gV2h5IG5vdCBpbnZva2UgbWFrZSB3aXRoIHRoZSA8d2hh
dGV2ZXI+LmNvbmZpZyB0YXJnZXQgaW5zdGVhZD8NCg0KSSBmaXJzdCBtZXJnZSAobm8gYW55IG1h
a2UpIGFsbCB0aGUgY29uZmlnIGZyYWdtZW50cyBpbnRvIG9uZSwgdGhlbiBtYWtlIGl0Lg0KVGhp
cyBpcyBhIHdheSB0byBtYWtlIHN1cmUgdGhlIC5jb25maWcgYWZ0ZXIgdGhpcyBwYXRjaCB0aGUg
c2FtZSBhcyAuY29uZmlnIGJlZm9yZSB0aGlzIHBhdGNoLg0KDQo+IA0KPiA+ICsNCj4gPiArbXBj
ODV4eF9kZWZjb25maWc6DQo+ID4gKwkkKFEpY3AgJChzcmN0cmVlKS9hcmNoLyQoU1JDQVJDSCkv
Y29uZmlncy9tcGM4NXh4X2Jhc2ljX2RlZmNvbmZpZw0KPiA+ICskKHNyY3RyZWUpL2FyY2gvJChT
UkNBUkNIKS9jb25maWdzLy5jb25maWcNCj4gDQo+IERvbid0IG1vZGlmeSAkKHNyY3RyZWUpLCBl
dmVyLiAgV2h5IG5vdCBqdXN0IGRlcGVuZCBvbiB0aGUNCj4gbXBjODV4eF9iYXNpY19kZWZjb25m
aWcgdGFyZ2V0Pw0KPiANCj4gPiArCSQoY2FsbCBtZXJnZWNvbmZpZywzMi1iaXQpDQo+ID4gKwkk
KGNhbGwgbWVyZ2Vjb25maWcsdWFydDYpDQo+ID4gKwkkKGNhbGwgbWVyZ2Vjb25maWcsbXBjODV4
eF9taXNjKQ0KPiA+ICsJJChRKW12ICQob2JqdHJlZSkvYXJjaC8kKFNSQ0FSQ0gpL2NvbmZpZ3Mv
LmNvbmZpZw0KPiAkKG9ianRyZWUpL2FyY2gvJChTUkNBUkNIKS9jb25maWdzL21wYzg1eHhfdG1w
X2RlZmNvbmZpZw0KPiA+ICsJJChRKSQoTUFLRSkgLWYgJChzcmN0cmVlKS9NYWtlZmlsZSBtcGM4
NXh4X3RtcF9kZWZjb25maWcNCj4gPiArDQo+ID4gK21wYzg1eHhfc21wX2RlZmNvbmZpZzoNCj4g
PiArCSQoUSljcCAkKHNyY3RyZWUpL2FyY2gvJChTUkNBUkNIKS9jb25maWdzL21wYzg1eHhfYmFz
aWNfZGVmY29uZmlnDQo+ICQoc3JjdHJlZSkvYXJjaC8kKFNSQ0FSQ0gpL2NvbmZpZ3MvLmNvbmZp
Zw0KPiA+ICsJJChjYWxsIG1lcmdlY29uZmlnLDMyLWJpdCkNCj4gPiArCSQoY2FsbCBtZXJnZWNv
bmZpZyxzbXApDQo+ID4gKwkkKGNhbGwgbWVyZ2Vjb25maWcsY3B1OCkNCj4gPiArCSQoY2FsbCBt
ZXJnZWNvbmZpZyxrdm1fZTUwMCkNCj4gPiArCSQoY2FsbCBtZXJnZWNvbmZpZyx1YXJ0MikNCj4g
PiArCSQoY2FsbCBtZXJnZWNvbmZpZyxpMmMpDQo+ID4gKwkkKFEpbXYgJChvYmp0cmVlKS9hcmNo
LyQoU1JDQVJDSCkvY29uZmlncy8uY29uZmlnDQo+ICQob2JqdHJlZSkvYXJjaC8kKFNSQ0FSQ0gp
L2NvbmZpZ3MvbXBjODV4eF9zbXBfdG1wX2RlZmNvbmZpZw0KPiA+ICsJJChRKSQoTUFLRSkgLWYg
JChzcmN0cmVlKS9NYWtlZmlsZSBtcGM4NXh4X3NtcF90bXBfZGVmY29uZmlnDQo+IA0KPiBUaGVy
ZSBzaG91bGRuJ3QgYmUgYW55IGRpZmZlcmVuY2UgYmVzaWRlcyAiU01QIiBmb3IgbXBjODV4eF9k
ZWZjb25maWcNCj4gdmVyc3VzIG1wYzg1eHhfc21wX2RlZmNvbmZpZy4gIEkga25vdyBzb21lb25l
IHByZXZpb3VzbHkgYXNrZWQgeW91IHRvDQo+IGVuc3VyZSB0aGlzIGRpZG4ndCBjaGFuZ2UgdGhl
IHJlc3VsdHMsIGJ1dCBJIHRoaW5rIHRoaXMgaXMgYSBnb29kIG9wcG9ydHVuaXR5IHRvDQo+IGdl
dCByaWQgb2YgZ3JhdHVpdG91cyBkaWZmZXJlbmNlcywgYXMgbG9uZyBhcyB5b3Ugc2hvdyB3aGF0
IHRoZSBkaWZmIGlzIGJldHdlZW4NCj4gb2xkIGFuZCBuZXcgc28gd2UgY2FuIHZlcmlmeSB0aGF0
IHRoZSBjaGFuZ2VzIGFyZSBiZW5lZmljaWFsLg0KPiANCg0KVGhlcmUgYXJlIHF1aXRlIGEgbG90
IGRpZmZlcmVuY2UgYmV0d2VlbiBtY3A4NXh4X2RlZmNvbmZpZyBhbmQgbXBjODV4eF9zbXBfY29u
ZmlnLg0KQ2FuIHlvdSB0ZWxsIG1lIHdoaWNoIGNvbmZpZ3MgY291bGQgYmUgcmVtb3ZlZCBvciBu
ZWdsZWN0ZWQ/DQoNCj4gPiArY29yZW5ldDMyX3NtcF9kZWZjb25maWc6DQo+ID4gKwkkKFEpY3Ag
JChzcmN0cmVlKS9hcmNoLyQoU1JDQVJDSCkvY29uZmlncy9jb3JlbmV0X2RlZmNvbmZpZw0KPiAk
KHNyY3RyZWUpL2FyY2gvJChTUkNBUkNIKS9jb25maWdzLy5jb25maWcNCj4gPiArCSQoY2FsbCBt
ZXJnZWNvbmZpZywzMi1iaXQpDQo+IA0KPiBJc24ndCB0aGUgYmFzaWMgY29uZmlnIGFscmVhZHkg
MzItYml0Pw0KDQpCYXNpYyBkb2VzIG5vdCBjb250YWluIGJpdCBpbmZvLg0KTXBjODV4eF8gaXMg
MzItYml0Lg0KTXBjODV4eF9zbXBfIGlzIDY0LWJpdC4NCg0KPiANCj4gPiArCSQoY2FsbCBtZXJn
ZWNvbmZpZyxzbXApDQo+ID4gKwkkKGNhbGwgbWVyZ2Vjb25maWcsY3B1OCkNCj4gPiArCSQoY2Fs
bCBtZXJnZWNvbmZpZyxjb3JlbmV0MzJfbWlzYykNCj4gPiArCSQoUSltdiAkKG9ianRyZWUpL2Fy
Y2gvJChTUkNBUkNIKS9jb25maWdzLy5jb25maWcNCj4gJChvYmp0cmVlKS9hcmNoLyQoU1JDQVJD
SCkvY29uZmlncy9jb3JlbmV0MzJfc21wX3RtcF9kZWZjb25maWcNCj4gPiArCSQoUSkkKE1BS0Up
IC1mICQoc3JjdHJlZSkvTWFrZWZpbGUgY29yZW5ldDMyX3NtcF90bXBfZGVmY29uZmlnDQo+ID4g
Kw0KPiA+ICtjb3JlbmV0NjRfc21wX2RlZmNvbmZpZzoNCj4gPiArCSQoUSljcCAkKHNyY3RyZWUp
L2FyY2gvJChTUkNBUkNIKS9jb25maWdzL2NvcmVuZXRfZGVmY29uZmlnDQo+ICQoc3JjdHJlZSkv
YXJjaC8kKFNSQ0FSQ0gpL2NvbmZpZ3MvLmNvbmZpZw0KPiA+ICsJJChjYWxsIG1lcmdlY29uZmln
LDY0LWJpdCkNCj4gPiArCSQoY2FsbCBtZXJnZWNvbmZpZyxzbXApDQo+ID4gKwkkKGNhbGwgbWVy
Z2Vjb25maWcsY3B1MjQpDQo+ID4gKwkkKGNhbGwgbWVyZ2Vjb25maWcsZG1hKQ0KPiA+ICsJJChj
YWxsIG1lcmdlY29uZmlnLG1hdGhfZW11bGF0aW9uKQ0KPiA+ICsJJChjYWxsIG1lcmdlY29uZmln
LGNncm91cCkNCj4gPiArCSQoY2FsbCBtZXJnZWNvbmZpZyxjb3JlbmV0NjRfbWlzYykNCj4gPiAr
CSQoUSltdiAkKG9ianRyZWUpL2FyY2gvJChTUkNBUkNIKS9jb25maWdzLy5jb25maWcNCj4gJChv
Ymp0cmVlKS9hcmNoLyQoU1JDQVJDSCkvY29uZmlncy9jb3JlbmV0NjRfc21wX3RtcF9kZWZjb25m
aWcNCj4gPiArCSQoUSkkKE1BS0UpIC1mICQoc3JjdHJlZSkvTWFrZWZpbGUgY29yZW5ldDY0X3Nt
cF90bXBfZGVmY29uZmlnDQo+IA0KPiBtYXRoIGVtdWxhdGlvbj8NCg0KT25seSBtcGM4NXh4X3Nt
cF8gaGFzIHRoZXNlIGNvbmZpZ3MuDQpIZW5jZSBJIGV4dHJhY3RlZCB0aGVtIGFuZCBuYW1lIHRo
ZW0gbWF0aF9lbXVsYXRpb24uDQpBbnkgc3VnZ2VzdGlvbiBvbiB3aGVyZSBJIHB1dCB0aGVzZSBj
b25maWdzPw0KDQo+IA0KPiA+ICBkZWZpbmUgYXJjaGhlbHANCj4gPiAgICBAZWNobyAnKiB6SW1h
Z2UgICAgICAgICAgLSBCdWlsZCBkZWZhdWx0IGltYWdlcyBzZWxlY3RlZCBieSBrZXJuZWwgY29u
ZmlnJw0KPiA+ICAgIEBlY2hvICcgIHpJbWFnZS4qICAgICAgICAtIENvbXByZXNzZWQga2VybmVs
IGltYWdlDQo+IChhcmNoLyQoQVJDSCkvYm9vdC96SW1hZ2UuKiknDQo+ID4gZGlmZiAtLWdpdCBh
L2FyY2gvcG93ZXJwYy9jb25maWdzLzMyLWJpdC5jb25maWcNCj4gPiBiL2FyY2gvcG93ZXJwYy9j
b25maWdzLzMyLWJpdC5jb25maWcNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4
IDAwMDAwMDAuLjNiOGI0M2INCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvYXJjaC9wb3dl
cnBjL2NvbmZpZ3MvMzItYml0LmNvbmZpZw0KPiA+IEBAIC0wLDAgKzEgQEANCj4gPiArQ09ORklH
X1BQQ184NXh4PXkNCj4gDQo+IE5vdCBhbGwgMzItYml0IHBsYXRmb3JtcyBhcmUgODV4eC4NCg0K
SG93IGFib3V0IG5hbWUgaXQgcHBjXzg1LmNvbmZpZw0KDQo+IA0KPiA+IGRpZmYgLS1naXQgYS9h
cmNoL3Bvd2VycGMvY29uZmlncy82NC1iaXQuY29uZmlnDQo+ID4gYi9hcmNoL3Bvd2VycGMvY29u
Zmlncy82NC1iaXQuY29uZmlnDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAw
MDAwMDAwLi5iNTNhZjU1DQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL2FyY2gvcG93ZXJw
Yy9jb25maWdzLzY0LWJpdC5jb25maWcNCj4gPiBAQCAtMCwwICsxLDMgQEANCj4gPiArQ09ORklH
X1BQQzY0PXkNCj4gPiArQ09ORklHX1BQQ19CT09LM0VfNjQ9eQ0KPiA+ICtDT05GSUdfQUxUSVZF
Qz15DQo+IA0KPiBOb3QgYWxsIDY0LWJpdCBwbGF0Zm9ybXMgYXJlIGJvb2szZSwgYW5kIEFsdGl2
ZWMgc2hvdWxkIHByb2JhYmx5IGJlIHNlcGFyYXRlLA0KPiBlc3BlY2lhbGx5IGdpdmVuIHRoZSBp
bXBhY3QgaXQgaGFzIG9uIC1tY3B1Lg0KDQpIb3cgYWJvdXQgaGF2ZSB0aHJlZSBjb25maWdzOg0K
cHBjNjQuY29uZmlnIChDT05GSUdfUFBDNjQ9WSkNCmJvb2tlM2UuY29uZmlnIChDT05GSUdfUFBD
X0JPT0szRV82ND15KQ0KYWx0aXZlYy5jb25maWcgKENPTkZJR19BTFRJVkVDPXkpDQoNCj4gDQo+
ID4gZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9jb25maWdzL2Nncm91cC5jb25maWcNCj4gPiBi
L2FyY2gvcG93ZXJwYy9jb25maWdzL2Nncm91cC5jb25maWcNCj4gPiBuZXcgZmlsZSBtb2RlIDEw
MDY0NA0KPiA+IGluZGV4IDAwMDAwMDAuLmE2MDEyYTMNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4g
KysrIGIvYXJjaC9wb3dlcnBjL2NvbmZpZ3MvY2dyb3VwLmNvbmZpZw0KPiA+IEBAIC0wLDAgKzEs
NCBAQA0KPiA+ICtDT05GSUdfQ0dST1VQUz15DQo+ID4gK0NPTkZJR19DUFVTRVRTPXkNCj4gPiAr
Q09ORklHX0NHUk9VUF9DUFVBQ0NUPXkNCj4gPiArQ09ORklHX0NHUk9VUF9TQ0hFRD15DQo+IA0K
PiBJcyB0aGVyZSBhbnkgc2lnbmlmaWNhbnQgZG93bnNpZGUgdG8gZW5hYmxpbmcgdGhpcz8gIEFz
IEkgdGhpbmsgSSBzYWlkIGJlZm9yZSwgSSB3YXMNCj4gaG9waW5nIGZvciBvbmUgbGFyZ2Vpc2gg
ZnJhZ21lbnQgZm9yIGFsbCBub24taGFyZHdhcmUtc3BlY2lmaWMgc3R1ZmYgdGhhdCB3ZQ0KPiB3
YW50IHRvIGVuYWJsZSBieSBkZWZhdWx0IG9uIGFsbCBvZiBvdXIgY29uZmlncy4NCg0KSSBleHRy
YWN0ZWQgdGhlc2UgY2dyb3VwcyBzdHVmZiBvdXQgb2YgbXBjODV4eF9zbXBfLg0KV2hhdCBjb25m
aWcgZnJhZ21lbnQgZG8geW91IHN1Z2dlc3QgcHV0dGluZyB0aGVzZSBDT05GSUdfQ0dST1VQUyBz
dHVmZiB0bz8NCg0KPiANCj4gSSBkb24ndCB3YW50IGl0IHRvIGJlIHN1cGVyLWZpbmUtZ3JhaW5l
ZCwgYW5kIEkgZXNwZWNpYWxseSBkb24ndCB3YW50IHNvbWUNCj4gZWNsZWN0aWMgbWl4IG9mIGZp
bmUtZ3JhaW5lZCBhbmQgY291cnNlLWdyYWluZWQuDQo+IA0KPiA+IGRpZmYgLS1naXQgYS9hcmNo
L3Bvd2VycGMvY29uZmlncy9jb3JlbmV0MzJfbWlzYy5jb25maWcNCj4gPiBiL2FyY2gvcG93ZXJw
Yy9jb25maWdzL2NvcmVuZXQzMl9taXNjLmNvbmZpZw0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0
DQo+ID4gaW5kZXggMDAwMDAwMC4uNGFkMGVhMQ0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysg
Yi9hcmNoL3Bvd2VycGMvY29uZmlncy9jb3JlbmV0MzJfbWlzYy5jb25maWcNCj4gPiBAQCAtMCww
ICsxLDM2IEBADQo+ID4gK0NPTkZJR19BVDgwM1hfUEhZPXkNCj4gPiArQ09ORklHX0FVRElUPXkN
Cj4gPiArQ09ORklHX0NIUl9ERVZfU1Q9eQ0KPiA+ICtDT05GSUdfQ09SRV9EVU1QX0RFRkFVTFRf
RUxGX0hFQURFUlM9bg0KPiA+ICtDT05GSUdfQ1JBTUZTPXkNCj4gPiArQ09ORklHX0UxMDAwPXkN
Cj4gPiArQ09ORklHX0VEQUNfTVBDODVYWD15DQo+ID4gK0NPTkZJR19FTUJFRERFRD15DQo+ID4g
K0NPTkZJR19FWFQzX0RFRkFVTFRTX1RPX09SREVSRUQ9bg0KPiA+ICtDT05GSUdfRk9SQ0VfTUFY
X1pPTkVPUkRFUj0xMw0KPiA+ICtDT05GSUdfSElHSE1FTT15DQo+ID4gK0NPTkZJR19JTkVUX0FI
PXkNCj4gPiArQ09ORklHX0lORVRfSVBDT01QPXkNCj4gPiArQ09ORklHX0tFWEVDPXkNCj4gPiAr
Q09ORklHX0xFR0FDWV9QVFlTPW4NCj4gPiArQ09ORklHX05FVF9LRVlfTUlHUkFURT15DQo+ID4g
K0NPTkZJR19OVlJBTT15DQo+ID4gK0NPTkZJR19QQVRBX1NJTDY4MD15DQo+ID4gK0NPTkZJR19Q
Q0k9eQ0KPiA+ICtDT05GSUdfUENJRUFTUE09bg0KPiA+ICtDT05GSUdfUEVSRl9FVkVOVFM9eQ0K
PiA+ICtDT05GSUdfUE9TSVhfTVFVRVVFPXkNCj4gPiArQ09ORklHX1BQQ184NXh4PXkNCj4gPiAr
Q09ORklHX1JDVV9UUkFDRT15DQo+ID4gK0NPTkZJR19TQVRBX0FIQ0k9eQ0KPiA+ICtDT05GSUdf
U0FUQV9TSUw9eQ0KPiA+ICtDT05GSUdfU0NTSV9MT0dHSU5HPXkNCj4gPiArQ09ORklHX1NDU0lf
U1lNNTNDOFhYXzI9eQ0KPiA+ICtDT05GSUdfU0xBQj15DQo+ID4gK0NPTkZJR19TVEFHSU5HPXkN
Cj4gPiArQ09ORklHX1VJTz15DQo+ID4gK0NPTkZJR19VU0JfT0hDSV9IQ0Q9eQ0KPiA+ICtDT05G
SUdfVVNCX09IQ0lfSENEX1BQQ19PRl9CRT15DQo+ID4gK0NPTkZJR19VU0JfT0hDSV9IQ0RfUFBD
X09GX0xFPXkNCj4gPiArQ09ORklHX1hGUk1fU1RBVElTVElDUz15DQo+ID4gK0NPTkZJR19YRlJN
X1NVQl9QT0xJQ1k9eQ0KPiANCj4gTm9uZSBvZiB0aGlzIGlzIDMyLWJpdCBzcGVjaWZpYy4NCg0K
QWJvdmUgYXJlIHRoZSBzdHVmZiBtcGM4NXh4XyBoYXMgYnV0IG1wYzg1eHhfc21wXyBkb2VzIG5v
dC4NCkhvdyBkbyB3ZSBoYW5kbGUgdGhlc2UgQ09ORklHcz8gQW55IGlkZWE/DQoNCj4gDQo+ID4g
ZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9jb25maWdzL2NvcmVuZXQ2NF9taXNjLmNvbmZpZw0K
PiA+IGIvYXJjaC9wb3dlcnBjL2NvbmZpZ3MvY29yZW5ldDY0X21pc2MuY29uZmlnDQo+ID4gbmV3
IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwLi5jMDc5MDU1DQo+ID4gLS0tIC9k
ZXYvbnVsbA0KPiA+ICsrKyBiL2FyY2gvcG93ZXJwYy9jb25maWdzL2NvcmVuZXQ2NF9taXNjLmNv
bmZpZw0KPiA+IEBAIC0wLDAgKzEsMTYgQEANCj4gPiArQ09ORklHX0JMS19ERVZfU1JfVkVORE9S
PXkNCj4gPiArQ09ORklHX0NSQ19UMTBESUY9eQ0KPiA+ICtDT05GSUdfREVCVUdfRlM9eQ0KPiA+
ICtDT05GSUdfRFVNTVk9eQ0KPiA+ICtDT05GSUdfRUVQUk9NX0xFR0FDWT15DQo+ID4gK0NPTkZJ
R19FWFBFUlQ9eQ0KPiA+ICtDT05GSUdfRkhBTkRMRT15DQo+ID4gK0NPTkZJR19GUkFNRV9XQVJO
PTEwMjQNCj4gPiArQ09ORklHX0ZUTD15DQo+ID4gK0NPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVU
PW4NCj4gPiArQ09ORklHX0lOUFVUX0ZGX01FTUxFU1M9bQ0KPiA+ICtDT05GSUdfSVJRX0RPTUFJ
Tl9ERUJVRz15DQo+ID4gK0NPTkZJR19KRkZTMl9GU19ERUJVRz0xDQo+ID4gK0NPTkZJR19NVERf
VUJJPXkNCj4gPiArQ09ORklHX1BQQ19PRl9CT09UX1RSQU1QT0xJTkU9bg0KPiA+ICtDT05GSUdf
VUJJRlNfRlM9eQ0KPiANCj4gTm9uZSBvZiB0aGlzIGlzIDY0LWJpdCBzcGVjaWZpYy4NCg0KQWJv
dmUgYXJlIHRoZSBzdHVmZiBtcGM4NXh4X3NtcF8gaGFzIGJ1dCBtcGM4NXh4XyBkb2VzIG5vdC4N
CkhvdyBkbyB3ZSBoYW5kbGUgdGhlc2UgQ09ORklHcz8gQW55IGlkZWE/DQoNCj4gDQo+ID4gZGlm
ZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9jb25maWdzL2NvcmVuZXQ2NF9zbXBfZGVmY29uZmlnDQo+
ID4gYi9hcmNoL3Bvd2VycGMvY29uZmlncy9jb3JlbmV0X2RlZmNvbmZpZw0KPiA+IHNpbWlsYXJp
dHkgaW5kZXggODMlDQo+ID4gcmVuYW1lIGZyb20gYXJjaC9wb3dlcnBjL2NvbmZpZ3MvY29yZW5l
dDY0X3NtcF9kZWZjb25maWcNCj4gPiByZW5hbWUgdG8gYXJjaC9wb3dlcnBjL2NvbmZpZ3MvY29y
ZW5ldF9kZWZjb25maWcNCj4gPiBpbmRleCAzM2NkMWRmLi44OWM0M2VlIDEwMDY0NA0KPiA+IC0t
LSBhL2FyY2gvcG93ZXJwYy9jb25maWdzL2NvcmVuZXQ2NF9zbXBfZGVmY29uZmlnDQo+ID4gKysr
IGIvYXJjaC9wb3dlcnBjL2NvbmZpZ3MvY29yZW5ldF9kZWZjb25maWcNCj4gDQo+IFdoeSBpcyAi
Y29yZW5ldF9kZWZjb25maWciIG5vdCAiYmFzaWMiIGxpa2UgIm1wYzg1eHhfYmFzaWNfZGVmY29u
ZmlnIj8NCg0KSSB3aWxsIHJlbmFtZSBpdCB0byBjb3JlbmV0X2Jhc2ljX2RlZmNvbmZpZw0KDQo+
IA0KPiA+IGRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvY29uZmlncy9jcHUyNC5jb25maWcNCj4g
PiBiL2FyY2gvcG93ZXJwYy9jb25maWdzL2NwdTI0LmNvbmZpZw0KPiA+IG5ldyBmaWxlIG1vZGUg
MTAwNjQ0DQo+ID4gaW5kZXggMDAwMDAwMC4uMDhkMmY2MQ0KPiA+IC0tLSAvZGV2L251bGwNCj4g
PiArKysgYi9hcmNoL3Bvd2VycGMvY29uZmlncy9jcHUyNC5jb25maWcNCj4gPiBAQCAtMCwwICsx
IEBADQo+ID4gK0NPTkZJR19OUl9DUFVTPTI0DQo+ID4gZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJw
Yy9jb25maWdzL2NwdTguY29uZmlnDQo+ID4gYi9hcmNoL3Bvd2VycGMvY29uZmlncy9jcHU4LmNv
bmZpZw0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gaW5kZXggMDAwMDAwMC4uODgzMmY4
OQ0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9hcmNoL3Bvd2VycGMvY29uZmlncy9jcHU4
LmNvbmZpZw0KPiA+IEBAIC0wLDAgKzEgQEANCj4gPiArQ09ORklHX05SX0NQVVM9OA0KPiANCj4g
TW92ZSB0aGlzIHRvIHRoZSBiYXNpYyBjb25maWcgZmlsZSBmb3IgdGhlIENQVSBmYW1pbHkuDQog
DQpCdXQgY29yZW5ldDMyX3NtcF8gaGFzIDggY29yZXMgd2hpbGUgY29yZW5ldDY0X3NtcF8gaGFz
IDI0IGNvcmVzLg0KV2hhdCBkbyB3ZSBkbz8NCg0KPiA+IGRpZmYgLS1naXQgYS9hcmNoL3Bvd2Vy
cGMvY29uZmlncy9kbWEuY29uZmlnDQo+ID4gYi9hcmNoL3Bvd2VycGMvY29uZmlncy9kbWEuY29u
ZmlnIG5ldyBmaWxlIG1vZGUgMTAwNjQ0IGluZGV4DQo+ID4gMDAwMDAwMC4uZjBlNjZiNQ0KPiA+
IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9hcmNoL3Bvd2VycGMvY29uZmlncy9kbWEuY29uZmln
DQo+ID4gQEAgLTAsMCArMSwyIEBADQo+ID4gK0NPTkZJR19ETUFERVZJQ0VTPXkNCj4gPiArQ09O
RklHX0ZTTF9ETUE9eQ0KPiANCj4gV2h5IGRvZXMgdGhpcyBuZWVkIHRvIGJlIHNlcGFyYXRlPw0K
DQpPbmx5IGNvcmVuZXQ2NF9zbXBfIGhhcyBkbWEgd2hpbGUgY29yZW5ldDMyX3NtcF8gZG9lcyBu
b3QuDQoNCj4gDQo+ID4gZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9jb25maWdzL2kyYy5jb25m
aWcNCj4gPiBiL2FyY2gvcG93ZXJwYy9jb25maWdzL2kyYy5jb25maWcgbmV3IGZpbGUgbW9kZSAx
MDA2NDQgaW5kZXgNCj4gPiAwMDAwMDAwLi5hYWZiNjU3DQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+
ICsrKyBiL2FyY2gvcG93ZXJwYy9jb25maWdzL2kyYy5jb25maWcNCj4gPiBAQCAtMCwwICsxIEBA
DQo+ID4gK0NPTkZJR19JMkM9eQ0KPiA+IGRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvY29uZmln
cy9rdm1fZTUwMC5jb25maWcNCj4gPiBiL2FyY2gvcG93ZXJwYy9jb25maWdzL2t2bV9lNTAwLmNv
bmZpZw0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gaW5kZXggMDAwMDAwMC4uNjE1YjBh
MA0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9hcmNoL3Bvd2VycGMvY29uZmlncy9rdm1f
ZTUwMC5jb25maWcNCj4gPiBAQCAtMCwwICsxLDIgQEANCj4gPiArQ09ORklHX0tWTV9HVUVTVD15
DQo+ID4gK0NPTkZJR19QUENfUUVNVV9FNTAwPXkNCj4gDQo+IENPTkZJR19QUENfUUVNVV9FNTAw
IHNob3VsZCBiZSBhbHdheXMgZW5hYmxlZCBsaWtlIGFueSBvdGhlciB0YXJnZXQuDQo+IA0KPiBB
cyBmb3IgS1ZNIGd1ZXN0IHN1cHBvcnQsIHRoZSBzdGFuZGFyZCBuYW1lIGZvciB0aGlzIGlzIGt2
bV9ndWVzdC5jb25maWcNCj4gYmFzZWQgb24gdGhlIHJ1bGUgaW4gc2NyaXB0cy9rY29uZmlnL01h
a2VmaWxlLCBhbmQgaXQgc2hvdWxkIGFsc28gaW5jbHVkZQ0KPiBjb21tb24gdmlydGlvIGRyaXZl
cnMuDQoNCkhvdyBhYm91dCBrdm1fZ3Vlc3QuY29uZmlnICgNCkNPTkZJR19LVk1fR1VFU1Q9eQ0K
Q09ORklHX1BQQ19RRU1VX0U1MDA9eQ0KQ09ORklHX1ZJUlRfRFJJVkVSUz15KT8NCkFueXRoaW5n
IGVsc2UgbmVlZCB0byBiZSBhZGRlZCBpbnRvIGt2bV9ndWVzdC5jb25maWc/DQoNCj4gDQo+ID4g
ZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9jb25maWdzL21hdGhfZW11bGF0aW9uLmNvbmZpZw0K
PiA+IGIvYXJjaC9wb3dlcnBjL2NvbmZpZ3MvbWF0aF9lbXVsYXRpb24uY29uZmlnDQo+ID4gbmV3
IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwLi5mYTJmYjY2DQo+ID4gLS0tIC9k
ZXYvbnVsbA0KPiA+ICsrKyBiL2FyY2gvcG93ZXJwYy9jb25maWdzL21hdGhfZW11bGF0aW9uLmNv
bmZpZw0KPiA+IEBAIC0wLDAgKzEsMiBAQA0KPiA+ICtDT05GSUdfTUFUSF9FTVVMQVRJT049eQ0K
PiA+ICtDT05GSUdfTUFUSF9FTVVMQVRJT05fSFdfVU5JTVBMRU1FTlRFRD15DQo+ID4gZGlmZiAt
LWdpdCBhL2FyY2gvcG93ZXJwYy9jb25maWdzL21wYzg1eHhfc21wX2RlZmNvbmZpZw0KPiA+IGIv
YXJjaC9wb3dlcnBjL2NvbmZpZ3MvbXBjODV4eF9iYXNpY19kZWZjb25maWcNCj4gPiBzaW1pbGFy
aXR5IGluZGV4IDk3JQ0KPiA+IHJlbmFtZSBmcm9tIGFyY2gvcG93ZXJwYy9jb25maWdzL21wYzg1
eHhfc21wX2RlZmNvbmZpZw0KPiA+IHJlbmFtZSB0byBhcmNoL3Bvd2VycGMvY29uZmlncy9tcGM4
NXh4X2Jhc2ljX2RlZmNvbmZpZw0KPiANCj4gbXBjODV4eF9zbXBfZGVmY29uZmlnIGNvbnRhaW5z
IGEgbG90IG9mIHRoaW5ncyB0aGF0IEkgd291bGRuJ3QgY29uc2lkZXINCj4gImJhc2ljIiAob2Jz
Y3VyZSBmaWxlc3lzdGVtcywgSElEIGRyaXZlcnMsIGV0YyksIHRob3VnaCBJIHN1cHBvc2UgdGhh
dCBjb3VsZCBiZSBhDQo+IGxhdGVyIGNsZWFudXAuDQoNCkkgY291bGQgZG8gc29tZSBjbGVhbnVw
IGxhdGVyIGFmdGVyIHRoaXMgcGF0Y2guIA0KRG8geW91IGhhdmUgYW55IHN1Z2dlc3Rpb24gd2hh
dCBwYXJ0IG9mIGNvbmZpZ3VyYXRpb25zIG5lZWQgdG8gYmUgcmVtb3ZlZD8NCg0KPiANCj4gPiBp
bmRleCBiNmM3MTExLi44Y2I0N2Y0IDEwMDY0NA0KPiA+IC0tLSBhL2FyY2gvcG93ZXJwYy9jb25m
aWdzL21wYzg1eHhfc21wX2RlZmNvbmZpZw0KPiA+ICsrKyBiL2FyY2gvcG93ZXJwYy9jb25maWdz
L21wYzg1eHhfYmFzaWNfZGVmY29uZmlnDQo+ID4gQEAgLTEsNyArMSw0IEBADQo+ID4gLUNPTkZJ
R19QUENfODV4eD15DQo+ID4gIENPTkZJR19QSFlTXzY0QklUPXkNCj4gPiAtQ09ORklHX1NNUD15
DQo+ID4gLUNPTkZJR19OUl9DUFVTPTgNCj4gPiAgQ09ORklHX1NZU1ZJUEM9eQ0KPiA+ICBDT05G
SUdfUE9TSVhfTVFVRVVFPXkNCj4gPiAgQ09ORklHX0FVRElUPXkNCj4gPiBAQCAtMTI4LDE0ICsx
MjUsMTEgQEAgQ09ORklHX0lOUFVUX0ZGX01FTUxFU1M9bQ0KPiBDT05GSUdfU0VSSU9fTElCUFMy
PXkNCj4gPiBDT05GSUdfU0VSSUFMXzgyNTA9eSAgQ09ORklHX1NFUklBTF84MjUwX0NPTlNPTEU9
eQ0KPiA+IC1DT05GSUdfU0VSSUFMXzgyNTBfTlJfVUFSVFM9Mg0KPiA+IC1DT05GSUdfU0VSSUFM
XzgyNTBfUlVOVElNRV9VQVJUUz0yDQo+ID4gIENPTkZJR19TRVJJQUxfODI1MF9NQU5ZX1BPUlRT
PXkNCj4gPiAgQ09ORklHX1NFUklBTF84MjUwX0RFVEVDVF9JUlE9eQ0KPiA+ICBDT05GSUdfU0VS
SUFMXzgyNTBfUlNBPXkNCj4gPiAgQ09ORklHX1NFUklBTF9RRT1tDQo+ID4gIENPTkZJR19OVlJB
TT15DQo+ID4gLUNPTkZJR19JMkM9eQ0KPiA+ICBDT05GSUdfSTJDX0NIQVJERVY9eQ0KPiA+ICBD
T05GSUdfSTJDX0NQTT1tDQo+ID4gIENPTkZJR19JMkNfTVBDPXkNCj4gDQo+IFdoeSBubyBpMmM/
DQoNCk1wYzg1eHhfc21wXyBoYXMgaTJjIHdoaWxlIG1wYzg1eHhfIGRvZXMgbm90Lg0KU2hhbGwg
SSBhZGQgaTJjIHRvIG1wYzg1eHhfYmFzaWNfZGVmY29uZmlnIHN1Y2ggdGhhdCBib3RoIG1wYzg1
eHggYW5kIG1wYzg1eHhfc21wXyBoYXZlIGkyYz8gDQoNCj4gDQo+ID4gLS0tIC9kZXYvbnVsbA0K
PiA+ICsrKyBiL2FyY2gvcG93ZXJwYy9jb25maWdzL3VhcnQyLmNvbmZpZw0KPiA+IEBAIC0wLDAg
KzEsMiBAQA0KPiA+ICtDT05GSUdfU0VSSUFMXzgyNTBfTlJfVUFSVFM9Mg0KPiA+ICtDT05GSUdf
U0VSSUFMXzgyNTBfUlVOVElNRV9VQVJUUz0yDQo+ID4gZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJw
Yy9jb25maWdzL3VhcnQ2LmNvbmZpZw0KPiA+IGIvYXJjaC9wb3dlcnBjL2NvbmZpZ3MvdWFydDYu
Y29uZmlnDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwLi5jNzE1
MGM5DQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL2FyY2gvcG93ZXJwYy9jb25maWdzL3Vh
cnQ2LmNvbmZpZw0KPiA+IEBAIC0wLDAgKzEsMiBAQA0KPiA+ICtDT05GSUdfU0VSSUFMXzgyNTBf
TlJfVUFSVFM9Ng0KPiA+ICtDT05GSUdfU0VSSUFMXzgyNTBfUlVOVElNRV9VQVJUUz02DQo+IA0K
PiBXaGF0J3MgdGhlIGhhcm0gaW4gYWx3YXlzIHNldHRpbmcgaXQgdG8gNj8NCg0KSSB3aWxsIHNl
dCBDT05GSUdfU0VSSUFMXzgyNTBfTlJfVUFSVFM9NiBmb3IgYm90aCBtcGM4NXh4XyBhbmQgbXBj
ODV4eF9zbXBfLg0KDQo+IA0KPiAtU2NvdHQNCj4gDQoNCg==

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v3] powerpc/defconfig: new way of writing defconfig
  2015-06-01  5:04   ` Lijun Pan
@ 2015-06-01 21:58     ` Scott Wood
  0 siblings, 0 replies; 4+ messages in thread
From: Scott Wood @ 2015-06-01 21:58 UTC (permalink / raw)
  To: Pan Lijun-B44306; +Cc: linuxppc-dev

On Mon, 2015-06-01 at 00:04 -0500, Pan Lijun-B44306 wrote:
> 
> > -----Original Message-----
> > From: Wood Scott-B07421
> > Sent: Wednesday, May 13, 2015 5:18 PM
> > To: Pan Lijun-B44306
> > Cc: linuxppc-dev@ozlabs.org
> > Subject: Re: [PATCH v3] powerpc/defconfig: new way of writing 
> > defconfig
> > 
> > On Mon, 2015-05-11 at 23:39 -0500, Lijun Pan wrote:
> > > It is always a headache dealing with different defconfigs though 
> > > they
> > > only differ in a few places. Hence we are proposing a new way of
> > > writing the defconfig:
> > > 1. Define a basic defconfig say mpc85xx_basic_defconfig 2. Spin 
> > > off as
> > > much features as possible from the current mpc85xx_defconfig
> > >   and create a separate config file, say, smp.config, 
> > > kvm_500.config
> > > Every time we add a new feature, we don't need to change several
> > > defconfigs, we just add a new *.config And you could merge any
> > > fragments you want into .config with the current kconfig in 
> > > Kernel.
> > > 
> > > Say you want to build mpc85xx_smp_defconfig, you do 7 steps:
> > > make mpc85xx_basic_defconfig
> > > make 32bit.config
> > > make smp.config
> > > make cpu8.config
> > > make kvm_e500.config
> > > make uart2.config
> > > make i2c.config
> > > 
> > > With the new rules added into arch/powerpc/Makefile, you can do 
> > > it in
> > > one step:
> > > make mpc85xx_smp_defconfig
> > 
> > We currently do it in one step.  The 7 step version exists only in 
> > previous
> > versions of this patch, and won't be in the git history, so such 
> > comments should
> > go beneath the --- line.
> 
> Sure, I will put them beneath --- line in the next patch.
> 
> > 
> > > directory "scottwood" has my patch,
> > > directory "scottwood" does not have my patch
> > 
> > You shouldn't be working off of my repository unless it has 
> > patches (that you
> > need or that would conflict) that haven't yet been merged upstream.
> 
> I am working off an old commit. See the result from $"git log"
> 17a0f33 powerpc/defconfig: new way of writing defconfig
> d41444d powerpc/corenet: enable CONFIG_I2C_MUX and 
> CONFIG_I2C_MUX_PCA954x
> 7f9af0a powerpc/t2080qds: fix rtc interrupt
> 56302c5 powerpc/mpic: Remove WHOAMI readback after EOI

Don't do that.

[ b44306@b44306-12scottwood]$ ./scripts/diffconfig
> > > ../scottwood2/.config .config  EPAPR_PARAVIRT n -> y  KVM_GUEST n
> > > -> y
> > >  PPC_QEMU_E500 n -> y
> > > // these changes are expected since mpc85xx_smp_defconfig has 
> > > enabled
> > kvm_e500.config in freescale's internal git repo.   >
> > 
> > What does our internal git repo have to do with anything?
> 
> I will take off kvm_e500.config if upstream defconfig does have 
> these.
> I will add kvm_e500.config later.

You didn't answer my question.

> > diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index
> > > fc502e0..7c80298 100644
> > > --- a/arch/powerpc/Makefile
> > > +++ b/arch/powerpc/Makefile
> > > @@ -269,6 +269,52 @@ bootwrapper_install:
> > >  %.dtb: scripts
> > >   $(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot)
> > $(patsubst %,$(boot)/%,$@)
> > > 
> > > +configfiles=$(wildcard $(srctree)/kernel/configs/$(1).config
> > > +$(srctree)/arch/$(SRCARCH)/configs/$(1).config)
> > > +
> > > +define mergeconfig
> > > +$(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -
> > > m -O
> > > +$(objtree)/arch/$(SRCARCH)/configs
> > > +$(objtree)/arch/$(SRCARCH)/configs/.config $(call 
> > > configfiles,$(1))
> > > +endef
> > 
> > Why not invoke make with the <whatever>.config target instead?
> 
> I first merge (no any make) all the config fragments into one, then 
> make it.

Do you mean for the reason described in 
http://patchwork.ozlabs.org/patch/476345/
?

You should probably base these changes on top of that patch.

> This is a way to make sure the .config after this patch the same as 
> .config before this patch.

In the general case that's not a reasonable goal, unless you remove 
the gratuitous inconsistencies from the configs first (which would be a
good thing).

> > > +mpc85xx_defconfig:
> > > + $(Q)cp 
> > > $(srctree)/arch/$(SRCARCH)/configs/mpc85xx_basic_defconfig
> > > +$(srctree)/arch/$(SRCARCH)/configs/.config
> > 
> > Don't modify $(srctree), ever.  Why not just depend on the
> > mpc85xx_basic_defconfig target?
> > 
> > > + $(call mergeconfig,32-bit)
> > > + $(call mergeconfig,uart6)
> > > + $(call mergeconfig,mpc85xx_misc)
> > > + $(Q)mv $(objtree)/arch/$(SRCARCH)/configs/.config
> > $(objtree)/arch/$(SRCARCH)/configs/mpc85xx_tmp_defconfig
> > > + $(Q)$(MAKE) -f $(srctree)/Makefile mpc85xx_tmp_defconfig
> > > +
> > > +mpc85xx_smp_defconfig:
> > > + $(Q)cp 
> > > $(srctree)/arch/$(SRCARCH)/configs/mpc85xx_basic_defconfig
> > $(srctree)/arch/$(SRCARCH)/configs/.config
> > > + $(call mergeconfig,32-bit)
> > > + $(call mergeconfig,smp)
> > > + $(call mergeconfig,cpu8)
> > > + $(call mergeconfig,kvm_e500)
> > > + $(call mergeconfig,uart2)
> > > + $(call mergeconfig,i2c)
> > > + $(Q)mv $(objtree)/arch/$(SRCARCH)/configs/.config
> > $(objtree)/arch/$(SRCARCH)/configs/mpc85xx_smp_tmp_defconfig
> > > + $(Q)$(MAKE) -f $(srctree)/Makefile mpc85xx_smp_tmp_defconfig
> > 
> > There shouldn't be any difference besides "SMP" for 
> > mpc85xx_defconfig
> > versus mpc85xx_smp_defconfig.  I know someone previously asked you 
> > to
> > ensure this didn't change the results, but I think this is a good 
> > opportunity to
> > get rid of gratuitous differences, as long as you show what the 
> > diff is between
> > old and new so we can verify that the changes are beneficial.
> > 
> 
> There are quite a lot difference between mcp85xx_defconfig and 
> mpc85xx_smp_config.
> Can you tell me which configs could be removed or neglected?

Again, there shouldn't be any difference besides CONFIG_SMP and things 
directly related to SMP.  If a non-SMP-related option is set in one 
but not the other, set it in both before refactoring.  Likewise for 
anything else that you find yourself putting in a fragment that isn't 
related to the topic of that fragment.

> > > +corenet32_smp_defconfig:
> > > + $(Q)cp $(srctree)/arch/$(SRCARCH)/configs/corenet_defconfig
> > $(srctree)/arch/$(SRCARCH)/configs/.config
> > > + $(call mergeconfig,32-bit)
> > 
> > Isn't the basic config already 32-bit?
> 
> Basic does not contain bit info.
> Mpc85xx_ is 32-bit.
> Mpc85xx_smp_ is 64-bit.

What do you mean by "Mpc85xx_smp_ is 64-bit"?  mpc85xx_smp_defconfig 
is *not* 64-bit.

> > > + $(call mergeconfig,smp)
> > > + $(call mergeconfig,cpu8)
> > > + $(call mergeconfig,corenet32_misc)
> > > + $(Q)mv $(objtree)/arch/$(SRCARCH)/configs/.config
> > $(objtree)/arch/$(SRCARCH)/configs/corenet32_smp_tmp_defconfig
> > > + $(Q)$(MAKE) -f $(srctree)/Makefile corenet32_smp_tmp_defconfig
> > > +
> > > +corenet64_smp_defconfig:
> > > + $(Q)cp $(srctree)/arch/$(SRCARCH)/configs/corenet_defconfig
> > $(srctree)/arch/$(SRCARCH)/configs/.config
> > > + $(call mergeconfig,64-bit)
> > > + $(call mergeconfig,smp)
> > > + $(call mergeconfig,cpu24)
> > > + $(call mergeconfig,dma)
> > > + $(call mergeconfig,math_emulation)
> > > + $(call mergeconfig,cgroup)
> > > + $(call mergeconfig,corenet64_misc)
> > > + $(Q)mv $(objtree)/arch/$(SRCARCH)/configs/.config
> > $(objtree)/arch/$(SRCARCH)/configs/corenet64_smp_tmp_defconfig
> > > + $(Q)$(MAKE) -f $(srctree)/Makefile corenet64_smp_tmp_defconfig
> > 
> > math emulation?
> 
> Only mpc85xx_smp_ has these configs.
> Hence I extracted them and name them math_emulation.
> Any suggestion on where I put these configs?

Never mind, we do want math emulation on corenet64 because of the 
missing fsqrt instruction on e5500/e6500.

> > >  define archhelp
> > >    @echo '* zImage          - Build default images selected by 
> > > kernel config'
> > >    @echo '  zImage.*        - Compressed kernel image
> > (arch/$(ARCH)/boot/zImage.*)'
> > > diff --git a/arch/powerpc/configs/32-bit.config
> > > b/arch/powerpc/configs/32-bit.config
> > > new file mode 100644
> > > index 0000000..3b8b43b
> > > --- /dev/null
> > > +++ b/arch/powerpc/configs/32-bit.config
> > > @@ -0,0 +1 @@
> > > +CONFIG_PPC_85xx=y
> > 
> > Not all 32-bit platforms are 85xx.
> 
> How about name it ppc_85.config

How about mpc85xx_basic_defconfig as per previous discussion?

Or if it's to be a fragment, mpc85xx.config.

> > > diff --git a/arch/powerpc/configs/64-bit.config
> > > b/arch/powerpc/configs/64-bit.config
> > > new file mode 100644
> > > index 0000000..b53af55
> > > --- /dev/null
> > > +++ b/arch/powerpc/configs/64-bit.config
> > > @@ -0,0 +1,3 @@
> > > +CONFIG_PPC64=y
> > > +CONFIG_PPC_BOOK3E_64=y
> > > +CONFIG_ALTIVEC=y
> > 
> > Not all 64-bit platforms are book3e, and Altivec should probably 
> > be separate,
> > especially given the impact it has on -mcpu.
> 
> How about have three configs:
> ppc64.config (CONFIG_PPC64=Y)
> booke3e.config (CONFIG_PPC_BOOK3E_64=y)
> altivec.config (CONFIG_ALTIVEC=y)

s/booke3e/book3e-64/ and get rid of ppc64.config since the book3e 
fragment is already 64-bit-specific.

> > > diff --git a/arch/powerpc/configs/cgroup.config
> > > b/arch/powerpc/configs/cgroup.config
> > > new file mode 100644
> > > index 0000000..a6012a3
> > > --- /dev/null
> > > +++ b/arch/powerpc/configs/cgroup.config
> > > @@ -0,0 +1,4 @@
> > > +CONFIG_CGROUPS=y
> > > +CONFIG_CPUSETS=y
> > > +CONFIG_CGROUP_CPUACCT=y
> > > +CONFIG_CGROUP_SCHED=y
> > 
> > Is there any significant downside to enabling this?  As I think I 
> > said before, I was
> > hoping for one largeish fragment for all non-hardware-specific 
> > stuff that we
> > want to enable by default on all of our configs.
> 
> I extracted these cgroups stuff out of mpc85xx_smp_.
> What config fragment do you suggest putting these CONFIG_CGROUPS 
> stuff to?

One largeish fragment for all non-hardware-specific stuff. :-P


> > 
> > I don't want it to be super-fine-grained, and I especially don't 
> > want some
> > eclectic mix of fine-grained and course-grained.
> > 
> > > diff --git a/arch/powerpc/configs/corenet32_misc.config
> > > b/arch/powerpc/configs/corenet32_misc.config
> > > new file mode 100644
> > > index 0000000..4ad0ea1
> > > --- /dev/null
> > > +++ b/arch/powerpc/configs/corenet32_misc.config
> > > @@ -0,0 +1,36 @@
> > > +CONFIG_AT803X_PHY=y
> > > +CONFIG_AUDIT=y
> > > +CONFIG_CHR_DEV_ST=y
> > > +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=n
> > > +CONFIG_CRAMFS=y
> > > +CONFIG_E1000=y
> > > +CONFIG_EDAC_MPC85XX=y
> > > +CONFIG_EMBEDDED=y
> > > +CONFIG_EXT3_DEFAULTS_TO_ORDERED=n
> > > +CONFIG_FORCE_MAX_ZONEORDER=13
> > > +CONFIG_HIGHMEM=y
> > > +CONFIG_INET_AH=y
> > > +CONFIG_INET_IPCOMP=y
> > > +CONFIG_KEXEC=y
> > > +CONFIG_LEGACY_PTYS=n
> > > +CONFIG_NET_KEY_MIGRATE=y
> > > +CONFIG_NVRAM=y
> > > +CONFIG_PATA_SIL680=y
> > > +CONFIG_PCI=y
> > > +CONFIG_PCIEASPM=n
> > > +CONFIG_PERF_EVENTS=y
> > > +CONFIG_POSIX_MQUEUE=y
> > > +CONFIG_PPC_85xx=y
> > > +CONFIG_RCU_TRACE=y
> > > +CONFIG_SATA_AHCI=y
> > > +CONFIG_SATA_SIL=y
> > > +CONFIG_SCSI_LOGGING=y
> > > +CONFIG_SCSI_SYM53C8XX_2=y
> > > +CONFIG_SLAB=y
> > > +CONFIG_STAGING=y
> > > +CONFIG_UIO=y
> > > +CONFIG_USB_OHCI_HCD=y
> > > +CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
> > > +CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
> > > +CONFIG_XFRM_STATISTICS=y
> > > +CONFIG_XFRM_SUB_POLICY=y
> > 
> > None of this is 32-bit specific.
> 
> Above are the stuff mpc85xx_ has but mpc85xx_smp_ does not.
> How do we handle these CONFIGs? Any idea?



> 
> > 
> > > diff --git a/arch/powerpc/configs/cpu8.config
> > > b/arch/powerpc/configs/cpu8.config
> > > new file mode 100644
> > > index 0000000..8832f89
> > > --- /dev/null
> > > +++ b/arch/powerpc/configs/cpu8.config
> > > @@ -0,0 +1 @@
> > > +CONFIG_NR_CPUS=8
> > 
> > Move this to the basic config file for the CPU family.
>  
> But corenet32_smp_ has 8 cores while corenet64_smp_ has 24 cores.
> What do we do?

Set it to 24.


> diff --git a/arch/powerpc/configs/kvm_e500.config
> > > b/arch/powerpc/configs/kvm_e500.config
> > > new file mode 100644
> > > index 0000000..615b0a0
> > > --- /dev/null
> > > +++ b/arch/powerpc/configs/kvm_e500.config
> > > @@ -0,0 +1,2 @@
> > > +CONFIG_KVM_GUEST=y
> > > +CONFIG_PPC_QEMU_E500=y
> > 
> > CONFIG_PPC_QEMU_E500 should be always enabled like any other 
> > target.
> > 
> > As for KVM guest support, the standard name for this is 
> > kvm_guest.config
> > based on the rule in scripts/kconfig/Makefile, and it should also 
> > include
> > common virtio drivers.
> 
> How about kvm_guest.config (
> CONFIG_KVM_GUEST=y
> CONFIG_PPC_QEMU_E500=y
> CONFIG_VIRT_DRIVERS=y)?
> Anything else need to be added into kvm_guest.config?

CONFIG_PPC_QEMU_E500 would only work with e500 builds, so doesn't 
belong here.  Just enable it with all the other 85xx platforms.

I'd enable block and net virtio drivers in kvm_guest.config.

> 
> > 
> > > index b6c7111..8cb47f4 100644
> > > --- a/arch/powerpc/configs/mpc85xx_smp_defconfig
> > > +++ b/arch/powerpc/configs/mpc85xx_basic_defconfig
> > > @@ -1,7 +1,4 @@
> > > -CONFIG_PPC_85xx=y
> > >  CONFIG_PHYS_64BIT=y
> > > -CONFIG_SMP=y
> > > -CONFIG_NR_CPUS=8
> > >  CONFIG_SYSVIPC=y
> > >  CONFIG_POSIX_MQUEUE=y
> > >  CONFIG_AUDIT=y
> > > @@ -128,14 +125,11 @@ CONFIG_INPUT_FF_MEMLESS=m
> > CONFIG_SERIO_LIBPS2=y
> > > CONFIG_SERIAL_8250=y  CONFIG_SERIAL_8250_CONSOLE=y
> > > -CONFIG_SERIAL_8250_NR_UARTS=2
> > > -CONFIG_SERIAL_8250_RUNTIME_UARTS=2
> > >  CONFIG_SERIAL_8250_MANY_PORTS=y
> > >  CONFIG_SERIAL_8250_DETECT_IRQ=y
> > >  CONFIG_SERIAL_8250_RSA=y
> > >  CONFIG_SERIAL_QE=m
> > >  CONFIG_NVRAM=y
> > > -CONFIG_I2C=y
> > >  CONFIG_I2C_CHARDEV=y
> > >  CONFIG_I2C_CPM=m
> > >  CONFIG_I2C_MPC=y
> > 
> > Why no i2c?
> 
> Mpc85xx_smp_ has i2c while mpc85xx_ does not.
> Shall I add i2c to mpc85xx_basic_defconfig such that both mpc85xx 
> and mpc85xx_smp_ have i2c? 

Yes.

-Scott

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-06-01 22:33 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-12  4:39 [PATCH v3] powerpc/defconfig: new way of writing defconfig Lijun Pan
2015-05-13 22:18 ` Scott Wood
2015-06-01  5:04   ` Lijun Pan
2015-06-01 21:58     ` Scott Wood

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).