#!/bin/shset -eif [ $# -ne 1 ] ; thenecho "Usage $(basename $0) <config-file>" 1>&2exit 1fiCONFIG=$1setopt(){OPTION=$1VALUE=$2# First remove any existing instances of this optionsed -e "s/^# ${OPTION} is not set$//g ; s/^^{OPTION}=.$//g" -i "${CONFIG}"# Then append the new valuecase ${VALUE} in n) echo "# ${OPTION} is not set" >> "${CONFIG}" ;; y|m|*) echo "${OPTION}=${VALUE}" >> "${CONFIG}" ;;esac}setopt CONFIG_PARAVIRT ysetopt CONFIG_PARAVIRT_DEBUG ysetopt CONFIG_PARAVIRT_GUEST ysetopt CONFIG_XEN ysetopt CONFIG_XEN_BLKDEV_FRONTEND ysetopt CONFIG_XEN_NETDEV_FRONTEND ysetopt CONFIG_XEN_KBDDEV_FRONTEND ysetopt CONFIG_XEN_FBDEV_FRONTEND ysetopt CONFIG_XEN_BALLOON ysetopt CONFIG_XEN_SCRUB_PAGES ysetopt CONFIG_XEN_DEV_EVTCHN ysetopt CONFIG_XEN_BACKEND ysetopt CONFIG_XEN_BLKDEV_BACKEND ysetopt CONFIG_XEN_NETDEV_BACKEND ysetopt CONFIG_XENFS ysetopt CONFIG_XEN_COMPAT_XENFS ysetopt CONFIG_HVC_XEN ysetopt CONFIG_XEN_MAX_DOMAIN_MEMORY 32setopt CONFIG_XEN_DEBUG_FS ysetopt CONFIG_XEN_DOM0 ysetopt CONFIG_XEN_SYS_HYPERVISOR ysetopt CONFIG_XEN_GNTDEV ysetopt CONFIG_VMI ysetopt CONFIG_KVM ysetopt CONFIG_KVM_INTEL ysetopt CONFIG_KVM_AMD ysetopt CONFIG_KVM_CLOCK ysetopt CONFIG_KVM_GUEST nsetopt CONFIG_KVM_TRACE nsetopt CONFIG_LGUEST nsetopt CONFIG_LOCALVERSION_AUTO nsetopt CONFIG_BRIDGE ysetopt CONFIG_DEBUG_STACK_USAGE n# Should all be set one way or another in defconfig but aren'tsetopt CONFIG_NUMA nsetopt CONFIG_X86_VSMP nsetopt CONFIG_X86_UV nsetopt CONFIG_CALGARY_IOMMU nsetopt CONFIG_AMD_IOMMU nsetopt CONFIG_MAXSMP nsetopt CONFIG_SPARSEMEM_VMEMMAP nsetopt CONFIG_I7300_IDLE nsetopt CONFIG_DMAR nsetopt CONFIG_INTR_REMAP nsetopt CONFIG_GFS2_FS nsetopt CONFIG_IOMMU_DEBUG nsetopt CONFIG_X86_MCE_INTEL nsetopt CONFIG_X86_MCE_AMD nsetopt CONFIG_CRYPTO_AES_NI_INTEL nsetopt CONFIG_FUSION ysetopt CONFIG_FUSION_SPI msetopt CONFIG_FUSION_SAS msetopt CONFIG_BLK_CPQ_CISS_DA mcase ${XEN_TARGET_ARCH} in x86_32) setopt CONFIG_64BIT n ;; x86_64)setopt CONFIG_64BIT ysetopt CONFIG_IA32_EMULATION ysetopt CONFIG_IA32_AOUT nsetopt CONFIG_CRYPTO_AES_X86_64 nsetopt CONFIG_CRYPTO_SALSA20_X86_64 nsetopt CONFIG_CRYPTO_TWOFISH_X86_64 n;; *) ;;esacsetopt CONFIG_X86_X2APIC nsetopt CONFIG_IOMMU_API ysetopt CONFIG_IOMMU_API ysetopt CONFIG_DMAR ysetopt CONFIG_DMAR_DEFAULT_ON ysetopt CONFIG_DMAR_GFX_WA ysetopt CONFIG_DMAR_FLOPPY_WA ysetopt CONFIG_INTR_REMAP ysetopt CONFIG_PCI_STUB ysetopt CONFIG_PCI_IOV ysetopt CONFIG_IDE msetopt CONFIG_BLK_DEV_IDE_SATA ysetopt CONFIG_IDE_GD msetopt CONFIG_IDE_GD_ATA ysetopt CONFIG_IDE_GD_ATAPI nsetopt CONFIG_BLK_DEV_IDECS nsetopt CONFIG_BLK_DEV_DELKIN nsetopt CONFIG_BLK_DEV_IDECD nsetopt CONFIG_BLK_DEV_IDETAPE nsetopt CONFIG_BLK_DEV_IDEACPI nsetopt CONFIG_IDE_TASK_IOCTL nsetopt CONFIG_IDE_PROC_FS ysetopt CONFIG_IDE_GENERIC nsetopt CONFIG_BLK_DEV_PLATFORM nsetopt CONFIG_BLK_DEV_CMD640 nsetopt CONFIG_BLK_DEV_IDEPNP nsetopt CONFIG_BLK_DEV_GENERIC nsetopt CONFIG_BLK_DEV_OPTI621 nsetopt CONFIG_BLK_DEV_RZ1000 nsetopt CONFIG_BLK_DEV_AEC62XX nsetopt CONFIG_BLK_DEV_ALI15X3 nsetopt CONFIG_BLK_DEV_AMD74XX nsetopt CONFIG_BLK_DEV_ATIIXP nsetopt CONFIG_BLK_DEV_CMD64X nsetopt CONFIG_BLK_DEV_TRIFLEX nsetopt CONFIG_BLK_DEV_CS5520 nsetopt CONFIG_BLK_DEV_CS5530 nsetopt CONFIG_BLK_DEV_HPT366 nsetopt CONFIG_BLK_DEV_JMICRON nsetopt CONFIG_BLK_DEV_SC1200 nsetopt CONFIG_BLK_DEV_PIIX nsetopt CONFIG_BLK_DEV_IT8172 nsetopt CONFIG_BLK_DEV_IT8213 nsetopt CONFIG_BLK_DEV_IT821X nsetopt CONFIG_BLK_DEV_NS87415 nsetopt CONFIG_BLK_DEV_PDC202XX_OLD nsetopt CONFIG_BLK_DEV_PDC202XX_NEW nsetopt CONFIG_BLK_DEV_SVWKS nsetopt CONFIG_BLK_DEV_SIIMAGE nsetopt CONFIG_BLK_DEV_SIS5513 nsetopt CONFIG_BLK_DEV_SLC90E66 nsetopt CONFIG_BLK_DEV_TRM290 nsetopt CONFIG_BLK_DEV_VIA82CXXX nsetopt CONFIG_BLK_DEV_TC86C001 nsetopt CONFIG_BLK_DEV_IDEDMA nsetopt CONFIG_SCSI msetopt CONFIG_SCSI_NETLINK ysetopt CONFIG_BLK_DEV_SD msetopt CONFIG_BLK_DEV_SR msetopt CONFIG_CHR_DEV_SG msetopt CONFIG_SCSI_SPI_ATTRS msetopt CONFIG_SCSI_FC_ATTRS msetopt CONFIG_SCSI_ISCSI_ATTRS msetopt CONFIG_SCSI_SAS_ATTRS msetopt CONFIG_SCSI_SAS_LIBSAS msetopt CONFIG_SCSI_SAS_ATA nsetopt CONFIG_SCSI_SAS_HOST_SMP ysetopt CONFIG_SCSI_SAS_LIBSAS_DEBUG ysetopt CONFIG_SCSI_LOWLEVEL ysetopt CONFIG_ISCSI_TCP nsetopt CONFIG_SCSI_CXGB3_ISCSI msetopt CONFIG_BLK_DEV_3W_XXXX_RAID msetopt CONFIG_SCSI_3W_9XXX msetopt CONFIG_SCSI_ACARD msetopt CONFIG_SCSI_AACRAID msetopt CONFIG_SCSI_AIC7XXX msetopt CONFIG_AIC7XXX_CMDS_PER_DEVICE 32setopt CONFIG_AIC7XXX_RESET_DELAY_MS 5000setopt CONFIG_AIC7XXX_DEBUG_ENABLE ysetopt CONFIG_AIC7XXX_DEBUG_MASK 0setopt CONFIG_AIC7XXX_REG_PRETTY_PRINT ysetopt CONFIG_SCSI_AIC7XXX_OLD nsetopt CONFIG_SCSI_AIC79XX nsetopt CONFIG_SCSI_AIC94XX nsetopt CONFIG_SCSI_DPT_I2O nsetopt CONFIG_SCSI_ADVANSYS nsetopt CONFIG_SCSI_ARCMSR nsetopt CONFIG_MEGARAID_NEWGEN nsetopt CONFIG_MEGARAID_LEGACY msetopt CONFIG_MEGARAID_SAS msetopt CONFIG_SCSI_MPT2SAS msetopt CONFIG_SCSI_MPT2SAS_MAX_SGE 128setopt CONFIG_SCSI_MPT2SAS_LOGGING nsetopt CONFIG_SCSI_HPTIOP nsetopt CONFIG_SCSI_BUSLOGIC nsetopt CONFIG_LIBFC msetopt CONFIG_LIBFCOE msetopt CONFIG_FCOE msetopt CONFIG_SCSI_DMX3191D msetopt CONFIG_SCSI_EATA nsetopt CONFIG_SCSI_FUTURE_DOMAIN nsetopt CONFIG_SCSI_GDTH nsetopt CONFIG_SCSI_IPS nsetopt CONFIG_SCSI_INITIO nsetopt CONFIG_SCSI_INIA100 nsetopt CONFIG_SCSI_MVSAS msetopt CONFIG_SCSI_STEX nsetopt CONFIG_SCSI_SYM53C8XX_2 nsetopt CONFIG_SCSI_IPR nsetopt CONFIG_SCSI_QLOGIC_1280 msetopt CONFIG_SCSI_QLA_FC msetopt CONFIG_SCSI_QLA_ISCSI msetopt CONFIG_SCSI_LPFC nsetopt CONFIG_SCSI_DC395x nsetopt CONFIG_SCSI_DC390T nsetopt CONFIG_SCSI_SRP nsetopt CONFIG_ATA msetopt CONFIG_SATA_AHCI msetopt CONFIG_ATA_PIIX msetopt CONFIG_SATA_MV msetopt CONFIG_SATA_NV msetopt CONFIG_PDC_ADMA msetopt CONFIG_SATA_QSTOR msetopt CONFIG_SATA_PROMISE msetopt CONFIG_SATA_SX4 msetopt CONFIG_SATA_SIL msetopt CONFIG_SATA_SIS msetopt CONFIG_SATA_ULI msetopt CONFIG_SATA_VIA msetopt CONFIG_SATA_VITESSE msetopt CONFIG_SATA_INIC162X msetopt CONFIG_PATA_ACPI msetopt CONFIG_PATA_ALI msetopt CONFIG_PATA_AMD msetopt CONFIG_PATA_ARTOP msetopt CONFIG_PATA_ATIIXP msetopt CONFIG_PATA_CMD640_PCI msetopt CONFIG_PATA_CMD64X msetopt CONFIG_PATA_CS5520 msetopt CONFIG_PATA_CS5530 msetopt CONFIG_PATA_CYPRESS msetopt CONFIG_PATA_EFAR msetopt CONFIG_ATA_GENERIC msetopt CONFIG_PATA_HPT366 msetopt CONFIG_PATA_HPT37X msetopt CONFIG_PATA_HPT3X2N msetopt CONFIG_PATA_HPT3X3 msetopt CONFIG_PATA_HPT3X3_DMA ysetopt CONFIG_PATA_IT821X msetopt CONFIG_PATA_IT8213 msetopt CONFIG_PATA_TRIFLEX msetopt CONFIG_PATA_MARVELL msetopt CONFIG_PATA_MPIIX msetopt CONFIG_PATA_OLDPIIX msetopt CONFIG_PATA_SIS msetopt CONFIG_PATA_VIA msetopt CONFIG_PATA_SCH msetopt CONFIG_VIA_RHINE msetopt CONFIG_VIA_RHINE_MMIO nsetopt CONFIG_IGB msetopt CONFIG_IGBVF msetopt CONFIG_CHELSIO_T3 msetopt CONFIG_IXGBE msetopt CONFIG_IXGB msetopt CONFIG_USB_DEVICE_CLASS ysetopt CONFIG_USB_DYNAMIC_MINORS ysetopt CONFIG_USB_EHCI_HCD msetopt CONFIG_USB_EHCI_ROOT_HUB_TT ysetopt CONFIG_USB_EHCI_TT_NEWSCHED ysetopt CONFIG_USB_OHCI_HCD msetopt CONFIG_USB_UHCI_HCD msetopt CONFIG_USB_STORAGE msetopt CONFIG_LEDS_TRIGGER_IDE_DISK nsetopt CONFIG_SYSFS_DEPRECATED ysetopt CONFIG_SYSFS_DEPRECATED_V2 ysetopt CONFIG_ARCH_MEMORY_PROBE ysetopt CONFIG_MEMORY_HOTPLUG ysetopt CONFIG_MEMORY_HOTPLUG_SPARSE ysetopt CONFIG_MEMORY_HOTREMOVE ysetopt CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE ysetopt CONFIG_HIBERNATION nsetopt CONFIG_ACPI_HOTPLUG_MEMORY ycase ${XEN_TARGET_ARCH} in x86_32) setopt CONFIG_NR_CPUS 64 setopt CONFIG_X86_BIGSMP y ;; x86_64) setopt CONFIG_NR_CPUS 64 ;; *) ;;esacsetopt CONFIG_BRIDGE ysetopt CONFIG_TUN yexit 0