Paul,

I appreciate time you took to respond and the feedback is enlightening to this process. I had a feeling I would have to go down this path (being lazy on my part).

I will be submitting V4 soon which I hope will meet the requirements.

kind regards,
Armin

On 08/31/2014 08:18 AM, Paul Gortmaker wrote:
[[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 <akuster...@gmail.com>
---
  .../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
linux-yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/linux-yocto
--
_______________________________________________
linux-yocto mailing list
linux-yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/linux-yocto

Reply via email to