[[linux-yocto] [PATCH v3] Meta: add qemuppc64 bsp config] On 30/08/2014 (Sat 23:03) Armin Kuster wrote:
> This is the initial meta data for qemu ppc64 bsp that supports > the IBM pseries power* arch which is supported in Qemu. > > V2: Pruned config > : Added standard.scc > > V3: More cleanup > : Added cfg/virtio.scc > : Added features/input/input.scc > : Added cfg/8250.scc > > Signed-off-by: Armin Kuster <[email protected]> > --- > .../bsp/qemu-ppc64/qemu-ppc64-standard.scc | 16 + > .../cfg/kernel-cache/bsp/qemu-ppc64/qemu-ppc64.cfg | 641 > +++++++++++++++++++++ > .../cfg/kernel-cache/bsp/qemu-ppc64/qemu-ppc64.scc | 2 + > 3 files changed, 659 insertions(+) > create mode 100644 > meta/cfg/kernel-cache/bsp/qemu-ppc64/qemu-ppc64-standard.scc > create mode 100644 meta/cfg/kernel-cache/bsp/qemu-ppc64/qemu-ppc64.cfg > create mode 100644 meta/cfg/kernel-cache/bsp/qemu-ppc64/qemu-ppc64.scc > > diff --git a/meta/cfg/kernel-cache/bsp/qemu-ppc64/qemu-ppc64-standard.scc > b/meta/cfg/kernel-cache/bsp/qemu-ppc64/qemu-ppc64-standard.scc > new file mode 100644 > index 0000000..f01e410 > --- /dev/null > +++ b/meta/cfg/kernel-cache/bsp/qemu-ppc64/qemu-ppc64-standard.scc > @@ -0,0 +1,16 @@ > +define KMACHINE qemuppc64 > +define KTYPE standard > +define KARCH powerpc > +include ktypes/standard/standard.scc > + > +branch qemuppc > + > +include cfg/virtio.scc > +include features/input/input.scc > +inclide cfg/8250.scc > + > +include qemu-ppc64.scc > + > +# default policy for standard kernels > +include features/latencytop/latencytop.scc > + > diff --git a/meta/cfg/kernel-cache/bsp/qemu-ppc64/qemu-ppc64.cfg > b/meta/cfg/kernel-cache/bsp/qemu-ppc64/qemu-ppc64.cfg > new file mode 100644 > index 0000000..48a94f8 > --- /dev/null > +++ b/meta/cfg/kernel-cache/bsp/qemu-ppc64/qemu-ppc64.cfg > @@ -0,0 +1,641 @@ It seems you've done a few passes to cut this down from a full defconfig; perhaps I can give a few comments that will help take it a bit further. At 640 lines, it is better than a full defconfig, but ideally it could be less than 100 lines and still be giving you a better solution to what I think you want as a final solution. General comments - things that are autodetected and/or look like the defaults need not be specified. It is better to take the defaults and have your BSP keep with the times vs. being frozen in time, when it comes to the secondary options that aren't critical to core boot up. Meaning specify CPU selection, IRQ chip type and core hardware etc. but leave the trivialities to track defaults. A good example of this was the old /dev/hda vs /dev/sda transition ; those who specified the legacy PATA options got frozen in time on the abandoned kernel code. Other examples: Anything that starts with CONFIG_ARCH_HAS or CONFIG_ARCH_SUPPORTS are internally set options that are based off your core CPU and ARCH choices. Specifying them is redundant. Next - make your default policy to not don't bother specifying options that aren't hardware specific. Then you can go back in and add the few items that actually do matter -- e.g. say your hardware booted from MTD and so you'd found you really needed to ensure CONFIG_JFFS2_FS was set for your flash filesystem, etc. Why not specify the defaults? In addition to not getting frozen in time, imagine thinking beyond this one BSP. Think of families of BSPs. You could say the qemu BSPs across all arch represent one kind of family. Or intel BSPs with slightly different motherboard peripherals, but all sharing the same core as another family. Or an embedded company who has a product line with a specific feature set support as another. If you only specify the core hardware in your BSP, then it is highly adaptible. You plug your hardware fragment underneath the features specified by the generic (non-hardware) fragment(s) for a family XYZ BSP, and presto you now have your own XYZ variant for your hardware. But if CONFIG_KEXEC=y breaks XYZ, and you've called out CONFIG_KEXEC in your BSP specific fragment (for no real reason), well you won't have a working XYZ BSP anymore; it won't adapt to the family settings. I'll put some additional comments inline. > +CONFIG_PPC64=y > +# Processor support comment not at top of this block ? > +CONFIG_PPC_BOOK3S_64=y > +CONFIG_GENERIC_CPU=y > +CONFIG_PPC_BOOK3S=y > +CONFIG_POWER3=y > +CONFIG_POWER4=y Need both for qemu? Which one specifically are you emulating? > +CONFIG_PPC_FPU=y > +CONFIG_ALTIVEC=y > +CONFIG_VSX=y > +CONFIG_PPC_STD_MMU=y > +CONFIG_PPC_STD_MMU_64=y Both above should be defaults since you've already said PPC64 > +CONFIG_PPC_MM_SLICES=y > +CONFIG_PPC_HAVE_PMU_SUPPORT=y See CONFIG_..._HAS and CONFIG_..._SUPPORTS mentioned above. > +CONFIG_PPC_PERF_CTRS=y > +CONFIG_SMP=y > +CONFIG_NR_CPUS=2048 > +CONFIG_PPC_DOORBELL=y > +CONFIG_CPU_BIG_ENDIAN=y > +CONFIG_64BIT=y > +CONFIG_WORD_SIZE=64 All three above should be defaults for PPC64. If you look at the Kconfig file where "bool PPC64" lives, you will see it "select" a bunch of other options, and I suspect the above three will be there or be selected as children by parents found selected there. > +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y > +CONFIG_ARCH_DMA_ADDR_T_64BIT=y > +CONFIG_MMU=y Only some fringe super embedded type processors are non-MMU. Things with tiny amounts of ram and no CPU strength. > +CONFIG_HAVE_SETUP_PER_CPU_AREA=y > +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y More internal "HAS" "SELECT" and "NEED" type autoset vars. > +CONFIG_NR_IRQS=512 > +CONFIG_STACKTRACE_SUPPORT=y > +CONFIG_HAVE_LATENCYTOP_SUPPORT=y > +CONFIG_TRACE_IRQFLAGS_SUPPORT=y > +CONFIG_LOCKDEP_SUPPORT=y > +CONFIG_RWSEM_XCHGADD_ALGORITHM=y > +CONFIG_ARCH_HAS_ILOG2_U32=y > +CONFIG_ARCH_HAS_ILOG2_U64=y ARCH_HAS .... > +CONFIG_GENERIC_HWEIGHT=y > +CONFIG_PPC=y > +CONFIG_PANIC_TIMEOUT=180 THis means that the kernel will auto reboot after 180s if it panic'd (assuming that it still is capable of doing so.) That seems more like a deployed server policy setting and not something that people would care about for an emulated target (i.e. don't specify things that you really don't care about one way or the other.) > +CONFIG_COMPAT=y > +CONFIG_SYSVIPC_COMPAT=y > +CONFIG_SCHED_OMIT_FRAME_POINTER=y > +CONFIG_ARCH_MAY_HAVE_PC_FDC=y another autoselected thing. > +CONFIG_PPC_OF=y > +CONFIG_PPC_UDBG_16550=y > +CONFIG_AUDIT_ARCH=y > +CONFIG_GENERIC_BUG=y > +CONFIG_EPAPR_BOOT=y > +CONFIG_ARCH_HIBERNATION_POSSIBLE=y > +CONFIG_ARCH_SUSPEND_POSSIBLE=y > +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y > +CONFIG_ARCH_SUPPORTS_UPROBES=y Four pack of internals. > +CONFIG_PPC_EMULATE_SSTEP=y > +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" Smells like the default to me. > +CONFIG_IRQ_WORK=y > + > + > +# Platform support > +# > +CONFIG_PPC_POWERNV=y > +CONFIG_PPC_POWERNV_RTAS=y > +CONFIG_PPC_PSERIES=y > +CONFIG_PPC_SPLPAR=y > +CONFIG_PSERIES_MSI=y > +CONFIG_PSERIES_ENERGY=y > +CONFIG_SCANLOG=m > +CONFIG_IO_EVENT_IRQ=y > +CONFIG_LPARCFG=y > +CONFIG_PPC_SMLPAR=y > +CONFIG_CMM=y > +CONFIG_DTL=y > +CONFIG_PPC_NATIVE=y > +CONFIG_PPC_OF_BOOT_TRAMPOLINE=y > +CONFIG_PPC_SMP_MUXED_IPI=y > +CONFIG_MPIC=y > +CONFIG_PPC_I8259=y I suspect some of the above are not critical or not matching the emulated target ; for example, I don't think an i8259 PIC was super common on PPC platforms ; I do recall it being on some of the Freescale 85xx full size ATX reference boards but not so much elsewhere. > +CONFIG_PPC_RTAS=y > +CONFIG_RTAS_ERROR_LOGGING=y > +CONFIG_PPC_RTAS_DAEMON=y > +CONFIG_RTAS_PROC=y > +CONFIG_RTAS_FLASH=m > +CONFIG_IBMVIO=y > +CONFIG_IBMEBUS=y > +CONFIG_EEH=y > +CONFIG_PPC_P7_NAP=y > +CONFIG_PPC_INDIRECT_PIO=y > + > +# > +# POWERPC CPU Idle Drivers > +# > +CONFIG_PSERIES_CPUIDLE=y > +CONFIG_POWERNV_CPUIDLE=y > + > +CONFIG_BINFMT_MISC=m > +CONFIG_COREDUMP=y Probably take defaults on those. > +CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y > +CONFIG_PPC_TRANSACTIONAL_MEM=y > +CONFIG_IOMMU_HELPER=y > +CONFIG_HOTPLUG_CPU=y > +CONFIG_ARCH_CPU_PROBE_RELEASE=y > +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y > +CONFIG_ARCH_HAS_WALK_MEMORY=y > +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y > +CONFIG_PPC64_SUPPORTS_MEMORY_FAILURE=y Another four that look like internal/defaults. > +CONFIG_KEXEC=y You really use this? > +CONFIG_IRQ_ALL_CPUS=y > +CONFIG_NUMA=y Do you really emulate non uniform memory access? > +CONFIG_NODES_SHIFT=8 > +CONFIG_ARCH_SELECT_MEMORY_MODEL=y > +CONFIG_ARCH_SPARSEMEM_ENABLE=y > +CONFIG_ARCH_SPARSEMEM_DEFAULT=y > +CONFIG_SYS_SUPPORTS_HUGETLBFS=y > +CONFIG_SELECT_MEMORY_MODEL=y > +CONFIG_SPARSEMEM_MANUAL=y > +CONFIG_SPARSEMEM=y > +CONFIG_NEED_MULTIPLE_NODES=y > +CONFIG_HAVE_MEMORY_PRESENT=y > +CONFIG_SPARSEMEM_EXTREME=y > +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y > +CONFIG_SPARSEMEM_VMEMMAP=y > +CONFIG_HAVE_MEMBLOCK=y > +CONFIG_HAVE_MEMBLOCK_NODE_MAP=y > +CONFIG_MEMORY_ISOLATION=y > +CONFIG_HAVE_BOOTMEM_INFO_NODE=y > +CONFIG_MEMORY_HOTPLUG=y > +CONFIG_MEMORY_HOTPLUG_SPARSE=y > +CONFIG_MEMORY_HOTREMOVE=y > +CONFIG_PAGEFLAGS_EXTENDED=y > +CONFIG_SPLIT_PTLOCK_CPUS=4 > +CONFIG_BALLOON_COMPACTION=y > +CONFIG_COMPACTION=y > +CONFIG_MIGRATION=y > +CONFIG_PHYS_ADDR_T_64BIT=y > +CONFIG_ZONE_DMA_FLAG=1 > +CONFIG_BOUNCE=y > +CONFIG_MMU_NOTIFIER=y > +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 > +CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y > +CONFIG_CROSS_MEMORY_ATTACH=y > +CONFIG_CMA=y > +CONFIG_ARCH_MEMORY_PROBE=y > +CONFIG_NODES_SPAN_OTHER_NODES=y > +CONFIG_PPC_HAS_HASH_64K=y > +CONFIG_PPC_64K_PAGES=y > +CONFIG_FORCE_MAX_ZONEORDER=9 > +CONFIG_PPC_SUBPAGE_PROT=y Seeing lots of stuff in the above that smells like defaults or internally specified HAS/WANTS/SUPPORTS type stuff. > +CONFIG_SCHED_SMT=y Really doing emulation of a core with "hyperthread"? > +CONFIG_PPC_DENORMALISATION=y > +CONFIG_EXTRA_TARGETS="" > +CONFIG_SUSPEND=y > +CONFIG_SUSPEND_FREEZER=y > +CONFIG_PM_SLEEP=y > +CONFIG_PM_SLEEP_SMP=y > +CONFIG_PM=y > +CONFIG_SECCOMP=y > +CONFIG_ISA_DMA_API=y > + > +# > +# Bus options > +# > +CONFIG_ZONE_DMA=y > +CONFIG_NEED_DMA_MAP_STATE=y > +CONFIG_NEED_SG_DMA_LENGTH=y > +CONFIG_GENERIC_ISA_DMA=y > +CONFIG_PCI=y > +CONFIG_PCI_DOMAINS=y > +CONFIG_PCI_SYSCALL=y > +CONFIG_PCI_MSI=y > + > +# > +# PCI host controller drivers > +# > +CONFIG_HOTPLUG_PCI=y > +CONFIG_HOTPLUG_PCI_RPA=m > +CONFIG_HOTPLUG_PCI_RPA_DLPAR=m > +CONFIG_PAGE_OFFSET=0xc000000000000000 > +CONFIG_KERNEL_START=0xc000000000000000 > +CONFIG_PHYSICAL_START=0x00000000 Unless you've manually had to tune addrs to get qemu to boot, I'm guessing the defaults were sane. > +CONFIG_ARCH_RANDOM=y > + > +# > +# Generic Driver Options This comment above is a big flag telling you "I don't really care as much anymore about the settings that follow." You have moved from the core CPU and arch type stuff into driver territory. So at this point, your interest should boil down to "have I turned on the hardware options for my UART, my ethernet, and whatever hardware my block storage devices use?" Outside of those core hardware settings, everything else is of little consequence -- unless you decide to explicitly turn things OFF to reduce the footprint (probably not a goal here for qemu.) > +# > +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" Smells like default. > +CONFIG_DEVTMPFS=y > +CONFIG_DEVTMPFS_MOUNT=y > +CONFIG_STANDALONE=y > +CONFIG_PREVENT_FIRMWARE_BUILD=y > +CONFIG_FW_LOADER=y > +CONFIG_FIRMWARE_IN_KERNEL=y > +CONFIG_EXTRA_FIRMWARE="" > +CONFIG_FW_LOADER_USER_HELPER=y > + > +# > +# Bus devices > +# > +CONFIG_DTC=y > +CONFIG_OF=y I would expect device tree and open firmware to be default for any ppc nowadays. > + > +# > +# Device Tree and Open Firmware support > +# > +CONFIG_PROC_DEVICETREE=y > +CONFIG_OF_FLATTREE=y > +CONFIG_OF_EARLY_FLATTREE=y > +CONFIG_OF_DYNAMIC=y > +CONFIG_OF_ADDRESS=y > +CONFIG_OF_IRQ=y > +CONFIG_OF_NET=y > +CONFIG_OF_MDIO=y > +CONFIG_OF_PCI=y > +CONFIG_OF_PCI_IRQ=y Thes OF variants are probably the defaults too. > +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y Internal type setting. Delete. > +CONFIG_BLK_DEV=y > +CONFIG_BLK_DEV_LOOP=y > +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 > +CONFIG_BLK_DEV_NBD=y > +CONFIG_BLK_DEV_RAM=y > +CONFIG_BLK_DEV_RAM_COUNT=16 > +CONFIG_BLK_DEV_RAM_SIZE=65536 > +CONFIG_VIRTIO_BLK=m Pseudo hardware devices ; unless you are actively using them in your qemu use case, then leave them to the "family" type higher level kernel configuration fragments. > + > +# > +# Intel MIC Card Driver ? > +# > +CONFIG_HAVE_IDE=y > +CONFIG_IDE=y Is qemu really doing emulation via ancient IDE? Even if it is, can you configure it to be SATA so it isn't so 1990-ish? > + > +# > +# Please see Documentation/ide/ide.txt for help/info on IDE drives > +# > +CONFIG_IDE_XFER_MODE=y > +CONFIG_IDE_TIMINGS=y > +CONFIG_IDE_ATAPI=y > +CONFIG_IDE_GD=y > +CONFIG_IDE_GD_ATA=y > +CONFIG_BLK_DEV_IDECD=y > +CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y > +CONFIG_IDE_PROC_FS=y > + > +# > +# IDE chipset support/bugfixes > +# > +CONFIG_BLK_DEV_IDEDMA_SFF=y > + > +# > +# PCI IDE chipsets support > +# > +CONFIG_BLK_DEV_IDEPCI=y > +CONFIG_IDEPCI_PCIBUS_ORDER=y > +CONFIG_BLK_DEV_GENERIC=y > +CONFIG_BLK_DEV_IDEDMA_PCI=y > +CONFIG_BLK_DEV_AMD74XX=y > +CONFIG_BLK_DEV_IDEDMA=y Again, I question the validity of all this ancient IDE stuff. It shouldn't be needed, and if it really is, then it should be tuned to avoid it and be an emulation of something more modern. > + > +# > +# SCSI device support > +# > +CONFIG_SCSI_MOD=y > +CONFIG_RAID_ATTRS=m > +CONFIG_SCSI=y > +CONFIG_SCSI_DMA=y > +CONFIG_SCSI_NETLINK=y > +CONFIG_SCSI_PROC_FS=y > + > +# > +# SCSI support type (disk, tape, CD-ROM) > +# > +CONFIG_BLK_DEV_SD=y > +CONFIG_CHR_DEV_ST=y Tape? Doubt you need that. > +CONFIG_BLK_DEV_SR=y > +CONFIG_BLK_DEV_SR_VENDOR=y > +CONFIG_CHR_DEV_SG=y > +CONFIG_SCSI_MULTI_LUN=y > +CONFIG_SCSI_CONSTANTS=y Take defaults on above two and/or let family frags specify it. > + > +# > +# SCSI Transports > +# > +CONFIG_SCSI_SPI_ATTRS=y > +CONFIG_SCSI_FC_ATTRS=y > +CONFIG_SCSI_LOWLEVEL=y > +CONFIG_ISCSI_BOOT_SYSFS=y Actively using anything ISCSI? If not then leave it to family frags. > +CONFIG_SCSI_IBMVSCSI=y > +CONFIG_SCSI_IBMVFC=y > +CONFIG_SCSI_IBMVFC_TRACE=y > +CONFIG_SCSI_IPR=y > +CONFIG_SCSI_VIRTIO=y > +CONFIG_ATA=y > +CONFIG_ATA_VERBOSE_ERROR=y > +CONFIG_SATA_PMP=y > + > +CONFIG_ETHERNET=y Odd that it jumps to ethernet w/o any comment block. > +CONFIG_MDIO=` Above is not a valid setting. > +CONFIG_NET_VENDOR_IBM=y > +CONFIG_IBMVETH=y > +CONFIG_EHEA=y > +CONFIG_NET_VENDOR_INTEL=y > +CONFIG_E100=y > +CONFIG_E1000=y > +CONFIG_E1000E=y > +CONFIG_NET_VENDOR_I825XX=y > +CONFIG_NET_PACKET_ENGINE=y > +CONFIG_NET_VENDOR_REALTEK=y > +CONFIG_PHYLIB=y > + > +CONFIG_VMXNET3=y > +# > +# Userland interfaces > +# > +CONFIG_INPUT_MOUSEDEV=y > +# CONFIG_INPUT_MOUSEDEV_PSAUX is not set > +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 > +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 > +# CONFIG_INPUT_JOYDEV is not set > +CONFIG_INPUT_EVDEV=m > +# CONFIG_INPUT_EVBUG is not set > + > +# > +# Input Device Drivers > +# > +CONFIG_INPUT_KEYBOARD=y > +CONFIG_KEYBOARD_ATKBD=y > +CONFIG_INPUT_MOUSE=y > +CONFIG_MOUSE_PS2=y > +CONFIG_MOUSE_PS2_ALPS=y > +CONFIG_MOUSE_PS2_LOGIPS2PP=y > +CONFIG_MOUSE_PS2_SYNAPTICS=y > +CONFIG_MOUSE_PS2_CYPRESS=y > +CONFIG_MOUSE_PS2_TRACKPOINT=y > +CONFIG_INPUT_MISC=y > +CONFIG_INPUT_PCSPKR=m Some of these might be relevant for qemu if it is doing gfx and not just plain text mode; OTOH they could also be considered something that the qemu family frag should own. > + > +# > +# Hardware I/O ports > +# > +CONFIG_SERIO=y > +CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y > +CONFIG_SERIO_I8042=y > +CONFIG_SERIO_LIBPS2=y PS/2 ports and a PC style keyboard controller? I _guess_ qemu could be emulating those, but it seems odd. > +# > +# Character devices > +# > +CONFIG_TTY=y > +CONFIG_VT=y > +CONFIG_CONSOLE_TRANSLATIONS=y > +CONFIG_VT_CONSOLE=y > +CONFIG_VT_CONSOLE_SLEEP=y > +CONFIG_HW_CONSOLE=y > +CONFIG_VT_HW_CONSOLE_BINDING=y > +CONFIG_UNIX98_PTYS=y > +CONFIG_LEGACY_PTYS=y > +CONFIG_LEGACY_PTY_COUNT=256 > +CONFIG_DEVKMEM=y All that should be defaults and/or family frag content and not needed explicitly here. > + > +# > +# Serial drivers > +# > +CONFIG_SERIAL_8250_FSL=y THis is a bugfix to a very specific errata on real Freescale 8xxx silicon that I'd fixed, so I'm sure you don't need it here if you are emulating an IBM ppc64. > + > +# > +# Non-8250 serial port support > +# > +CONFIG_SERIAL_ICOM=m > +CONFIG_SERIAL_JSM=m Modules you'd ever actually use in qemu? If not don't call 'em out. > + > +CONFIG_IBM_BSR=M > +CONFIG_HW_RANDOM=m > +CONFIG_HW_RANDOM_PSERIES=m > +CONFIG_HW_RANDOM_POWERNV=m > +CONFIG_GEN_RTC=y > +CONFIG_RAW_DRIVER=y > +CONFIG_MAX_RAW_DEVS=1024 Take the default unless you've really a need to override it. > +CONFIG_DEVPORT=y > +CONFIG_I2C=y > +CONFIG_I2C_BOARDINFO=y > +CONFIG_I2C_COMPAT=y > +CONFIG_I2C_HELPER_AUTO=y > +CONFIG_I2C_ALGOBIT=y > + > +# > +# I2C Hardware Bus support > +# Seems odd to be specifying generic I2C options, and then having no actual I2C hardware settings. Either drop the above, or call out your actual I2C hardware settings here. > + > +CONFIG_PPS=y > +CONFIG_PTP_1588_CLOCK=y > + > +# > +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. > +# > +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y Another HAS/WANTS/NEEDS thing. > +CONFIG_HWMON=y > + > +CONFIG_SSB_POSSIBLE=y Same here. > + > +# > +# Sonics Silicon Backplane > +# > +# CONFIG_SSB is not set Do you really need to explicity disable this? I doubt it. > +CONFIG_BCMA_POSSIBLE=y Another HAS/WANTS/NEEDS thing. > + > +# > +# > +# Graphics support > +# > +CONFIG_VGA_ARB=y > +CONFIG_VGA_ARB_MAX_GPUS=16 > +CONFIG_FB=y > +CONFIG_FIRMWARE_EDID=y > +CONFIG_FB_DDC=y > +CONFIG_FB_CFB_FILLRECT=y > +CONFIG_FB_CFB_COPYAREA=y > +CONFIG_FB_CFB_IMAGEBLIT=y > +CONFIG_FB_MACMODES=y > +CONFIG_FB_BACKLIGHT=y > +CONFIG_FB_MODE_HELPERS=y > +CONFIG_FB_TILEBLITTING=y > + > +# > +# Frame buffer hardware drivers > +# > +CONFIG_FB_OF=y > +CONFIG_FB_IBM_GXT4500=y > +CONFIG_BACKLIGHT_LCD_SUPPORT=y > +CONFIG_LCD_CLASS_DEVICE=m > +CONFIG_LCD_PLATFORM=m > +CONFIG_BACKLIGHT_CLASS_DEVICE=y > +CONFIG_BACKLIGHT_GENERIC=y > +# > +# Console display driver support > +# > +# CONFIG_VGA_CONSOLE is not set > +CONFIG_DUMMY_CONSOLE=y > +CONFIG_FRAMEBUFFER_CONSOLE=y > + > +# > +# HID support > +# > +CONFIG_HID=y > +CONFIG_HID_GENERIC=y > + > +# > +# Special HID drivers > +# > +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 Does qemu emulate any/all of these human input devices? > +# > +# USB HID support > +# > +CONFIG_USB_HID=y > +CONFIG_USB_HIDDEV=y > + > +# > +# I2C HID support > +# Comment above doesn't match content below. > +CONFIG_USB_OHCI_LITTLE_ENDIAN=y > +CONFIG_USB_SUPPORT=y > +CONFIG_USB_COMMON=y > +CONFIG_USB_ARCH_HAS_HCD=y > +CONFIG_USB=y > +# CONFIG_USB_DEBUG is not set > +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set > + > +# > +# Miscellaneous USB options > +# > +CONFIG_USB_DEFAULT_PERSIST=y > +CONFIG_USB_MON=m > + > +# > +# USB Host Controller Drivers > +# > +CONFIG_USB_EHCI_HCD=y > +CONFIG_USB_EHCI_TT_NEWSCHED=y > +CONFIG_USB_EHCI_PCI=y > +CONFIG_USB_OHCI_HCD=y > +CONFIG_USB_OHCI_HCD_PCI=y No usb specific chipset/controller support? > + > +# > +CONFIG_VIRTIO_PCI=m > +CONFIG_VIRTIO_BALLOON=m > +# CONFIG_VIRTIO_MMIO is not set > + > +# > +# Hardware Spinlock drivers > +# > +CONFIG_I8253_LOCK=y > +CONFIG_CLKBLD_I8253=y > +# CONFIG_MAILBOX is not set > +CONFIG_IOMMU_SUPPORT=y > +CONFIG_OF_IOMMU=y > +# CONFIG_SPAPR_TCE_IOMMU is not set > + > +CONFIG_IRQCHIP=y Something odd has happened here. IOMMU and IRQCHIP are hardware-ish type things that my gut tells me should have been way higher in the content listing than way the heck down here.... > +# Anyway, at this point hopefully you get the general idea. Below are lots of other things relating to libraries, CRC, CRYPTO and such, that I suspect you really have zero interest in tuning away from the defaults, so most of the whole lot can go. Paul. -- > +# Library routines > +# > +CONFIG_RAID6_PQ=y > +CONFIG_BITREVERSE=y > +CONFIG_GENERIC_STRNCPY_FROM_USER=y > +CONFIG_GENERIC_STRNLEN_USER=y > +CONFIG_GENERIC_NET_UTILS=y > +CONFIG_GENERIC_PCI_IOMAP=y > +CONFIG_GENERIC_IOMAP=y > +CONFIG_GENERIC_IO=y > +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y > +CONFIG_CRC_CCITT=m > +CONFIG_CRC16=y > +CONFIG_CRC_T10DIF=y > +CONFIG_CRC_ITU_T=m > +CONFIG_CRC32=y > +CONFIG_CRC32_SLICEBY8=y > +CONFIG_LIBCRC32C=y > +CONFIG_ZLIB_INFLATE=y > +CONFIG_ZLIB_DEFLATE=y > +CONFIG_LZO_COMPRESS=y > +CONFIG_LZO_DECOMPRESS=y > +CONFIG_LZ4_DECOMPRESS=y > +CONFIG_XZ_DEC=y > +CONFIG_XZ_DEC_POWERPC=y > +CONFIG_XZ_DEC_BCJ=y > +CONFIG_DECOMPRESS_GZIP=y > +CONFIG_DECOMPRESS_BZIP2=y > +CONFIG_DECOMPRESS_LZMA=y > +CONFIG_DECOMPRESS_XZ=y > +CONFIG_DECOMPRESS_LZO=y > +CONFIG_DECOMPRESS_LZ4=y > +CONFIG_GENERIC_ALLOCATOR=y > +CONFIG_TEXTSEARCH=y > +CONFIG_TEXTSEARCH_KMP=m > +CONFIG_TEXTSEARCH_BM=m > +CONFIG_TEXTSEARCH_FSM=m > +CONFIG_ASSOCIATIVE_ARRAY=y > +CONFIG_HAS_IOMEM=y > +CONFIG_HAS_IOPORT=y > +CONFIG_HAS_DMA=y > +CONFIG_CPU_RMAP=y > +CONFIG_DQL=y > +CONFIG_NLATTR=y > +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y > +CONFIG_AVERAGE=y > +CONFIG_OID_REGISTRY=y > +CONFIG_FONT_SUPPORT=y > +CONFIG_FONT_8x8=y > +CONFIG_FONT_8x16=y > + > + > +# > +# Security options > +# > +CONFIG_KEYS=y > +CONFIG_DEFAULT_SECURITY_DAC=y > +CONFIG_DEFAULT_SECURITY="" > +CONFIG_KEYS_COMPAT=y > +CONFIG_XOR_BLOCKS=y > +CONFIG_ASYNC_CORE=m > +CONFIG_ASYNC_MEMCPY=m > +CONFIG_ASYNC_XOR=m > +CONFIG_ASYNC_PQ=m > +CONFIG_ASYNC_RAID6_RECOV=m > +CONFIG_CRYPTO=y > + > +# > +# Crypto core or helper > +# > +# CONFIG_CRYPTODEV is not set > +CONFIG_CRYPTO_ALGAPI=y > +CONFIG_CRYPTO_ALGAPI2=y > +CONFIG_CRYPTO_AEAD=y > +CONFIG_CRYPTO_AEAD2=y > +CONFIG_CRYPTO_BLKCIPHER=y > +CONFIG_CRYPTO_BLKCIPHER2=y > +CONFIG_CRYPTO_HASH=y > +CONFIG_CRYPTO_HASH2=y > +CONFIG_CRYPTO_RNG=m > +CONFIG_CRYPTO_RNG2=y > +CONFIG_CRYPTO_PCOMP2=y > +CONFIG_CRYPTO_MANAGER=y > +CONFIG_CRYPTO_MANAGER2=y > +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y > +CONFIG_CRYPTO_WORKQUEUE=y > +CONFIG_CRYPTO_AUTHENC=y > +CONFIG_CRYPTO_CCM=y > +CONFIG_CRYPTO_GCM=y > +CONFIG_CRYPTO_SEQIV=y > + > +# > +# Block modes > +# > +CONFIG_CRYPTO_CBC=y > +CONFIG_CRYPTO_CTR=y > +CONFIG_CRYPTO_ECB=y > + > +# > +# Hash modes > +# > +CONFIG_CRYPTO_CMAC=y > +CONFIG_CRYPTO_HMAC=y > +CONFIG_CRYPTO_XCBC=y > + > +# > +# Digest > +# > +CONFIG_CRYPTO_CRC32C=y > +CONFIG_CRYPTO_CRCT10DIF=y > +CONFIG_CRYPTO_GHASH=y > +CONFIG_CRYPTO_MD4=y > +CONFIG_CRYPTO_MD5=y > +CONFIG_CRYPTO_SHA1=y > +CONFIG_CRYPTO_SHA256=y > +CONFIG_CRYPTO_SHA512=y > + > +# > +# Ciphers > +# > +CONFIG_CRYPTO_AES=y > +CONFIG_CRYPTO_ARC4=y > +CONFIG_CRYPTO_DES=y > + > +# > +# Compression > +# > +CONFIG_CRYPTO_DEFLATE=y > +CONFIG_CRYPTO_LZO=y > + > +# > +# Random Number Generation > +# > +CONFIG_CRYPTO_ANSI_CPRNG=y > + > diff --git a/meta/cfg/kernel-cache/bsp/qemu-ppc64/qemu-ppc64.scc > b/meta/cfg/kernel-cache/bsp/qemu-ppc64/qemu-ppc64.scc > new file mode 100644 > index 0000000..a2d8d90 > --- /dev/null > +++ b/meta/cfg/kernel-cache/bsp/qemu-ppc64/qemu-ppc64.scc > @@ -0,0 +1,2 @@ > +kconf hardware qemu-ppc64.cfg > + > -- > 1.9.1 > > -- > _______________________________________________ > linux-yocto mailing list > [email protected] > https://lists.yoctoproject.org/listinfo/linux-yocto -- _______________________________________________ linux-yocto mailing list [email protected] https://lists.yoctoproject.org/listinfo/linux-yocto
