Skip to content

Commit

Permalink
linux-openamp: more hacks for preempt-none.cfg
Browse files Browse the repository at this point in the history
This configuration finally made the zyncmp QEMU work 100% of the time
when starting with defconfig + opeanamp.

None of these configs are acceptable for even medium term.
Noteworthy;
* PREEMPT_NONE
* RCU tree not PREEMPT
* No CPU_IDLE
* Reduced CPU_FREQ options
* NO_HZ
* No NUMA
* SLAB instead of SLUB
* reduced huge page support
* no IOMMU support
* No TEE (should not be active right now anyway)
* No ACPI (required to get CPU_IDLE off)
* No DRM Panfrost (required to get IOMMU PGTABLE* off)

Signed-off-by: Bill Mills <[email protected]>
  • Loading branch information
wmamills committed Dec 6, 2022
1 parent 96d9386 commit f7dc272
Showing 1 changed file with 68 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
# Xilinx QEMU zcu102 fails to boot 6% of the time with default config + zynqmp_extras even with the pinctrl backported patch.
# Xilinx QEMU zcu102 fails to boot 6% of the time
# with default config + zynqmp_extras even with the pinctrl backported patch
# The kernels that work use Xilinx/Petalinux config w/ uses PREEMPT_NONE
# so try that for us as well
# THIS SHOULD BE FIXED, PREEMPT_NONE is not acceptable
# PREEMPT_NONE was not enough, so I also disabled RCU_PREEMPT
# that was not enough so compared configs and added anything here I thought
# could be related
# This config (along with the things added to zynqmp-extras.cfg )
# does work and ran 120 times w/ zero fails
# It is unknown which of the below is required to fix the issue
# THIS SHOULD BE FIXED, None of the below is acceptable as a requirement

CONFIG_PREEMPT_NONE_BUILD=y
CONFIG_PREEMPT_NONE=y
Expand All @@ -19,3 +25,62 @@ CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_NEED_SEGCBLIST=y
# end of RCU Subsystem

CONFIG_ZYNQMP_FIRMWARE_DEBUG=y
CONFIG_UEVENT_HELPER=y

# CONFIG_VIRTUALIZATION is not set

# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
# CONFIG_CGROUP_HUGETLB is not set

# CONFIG_STRICT_DEVMEM is not set
# CONFIG_TEE is not set

CONFIG_SLAB=y
# CONFIG_SLUB is not set

# CONFIG_SECURITY is not set

CONFIG_NO_HZ=y
CONFIG_NR_CPUS=4
# CONFIG_NUMA is not set
# CONFIG_DMA_PERNUMA_CMA is not set
CONFIG_ARCH_HAS_ZONE_DMA_SET=y

# CONFIG_IRQ_POLL is not set
# IRQ_TIME_ACCOUNTING is not set
# CONFIG_KSM is not set I
# CONFIG_SCSI_MPT3SAS is not set

# CONFIG_INTERCONNECT is not set
# CONFIG_ARM_SMMU is not set
# CONFIG_ARM_SMMU_V3 is not set
# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set
# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set
# CONFIG_MTK_IOMMU is not set
# CONFIG_MSM_IOMMU is not set
# CONFIG_QCOM_IOMMU is not set
# CONFIG_APPLE_DART is not set
# CONFIG_IPMMU_VMSA is not set
# CONFIG_DRM_PANFROST is not set

CONFIG_EMBEDDED=y
CONFIG_EXPERT=y

# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_GOV_SCHEDUTIL is not set
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_IDLE is not set
# CONFIG_CPU_IDLE_GOV_MENU is not set
# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
# CONFIG_ACPI is not set

CONFIG_CMA_AREAS=7

# CONFIG_ARM_ARCH_TIMER_EVTSTREAM is not set

0 comments on commit f7dc272

Please sign in to comment.