From: Joao Pinto <Joao.Pinto@synopsys.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v5] board: add support for Synopsys VDK Software Development Platform
Date: Thu, 22 Oct 2015 10:21:25 +0100 [thread overview]
Message-ID: <5628AA95.3010402@synopsys.com> (raw)
In-Reply-To: <5626B5DE.3020201@mind.be>
Hi Arnout,
On 10/20/2015 10:45 PM, Arnout Vandecappelle wrote:
> On 13-10-15 12:10, Joao Pinto wrote:
>> title: Add support for Synopsys VDK Software Development Platform
>
> No need to repeat what is already in the subject.
>
>>
>> The Virtualizer Development Kit (VDK) Family for ARM Cortex Products
>> consists of a set of virtual prototypes that provide a virtualizer for
>> the ARM core variants. The VDK is a standalone package that runs on an
>> host computer.
>
> I guess it's non-free as well?
You're right, VDK is a Synopsys non-free tool.
>
>>
>> Signed-off-by: Joao Pinto <jpinto@synopsys.com>
>> ---
>> Change v4 -> v5:
>> - Changelog format, minimal defconfig (Yann E. MORIN)
>> Change v3 -> v4:
>> - drop 'Image' boot option (Thomas Petazzoni)
>> Change v2 -> v3:
>> - kernel defconfig was not generated properly (Thomas Petazzoni)
>>
>> board/synopsys/vdk/linux-vdk-aarch64-defconfig | 226 +++++++++++++++++++++++++
>> configs/snps_aarch64_vdk_defconfig | 15 ++
>> 2 files changed, 241 insertions(+)
>> create mode 100644 board/synopsys/vdk/linux-vdk-aarch64-defconfig
>> create mode 100644 configs/snps_aarch64_vdk_defconfig
>>
>> diff --git a/board/synopsys/vdk/linux-vdk-aarch64-defconfig b/board/synopsys/vdk/linux-vdk-aarch64-defconfig
>> new file mode 100644
>> index 0000000..f90f2ca
>> --- /dev/null
>> +++ b/board/synopsys/vdk/linux-vdk-aarch64-defconfig
>> @@ -0,0 +1,175 @@
>> +CONFIG_SYSVIPC=y
>> +CONFIG_POSIX_MQUEUE=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=16
>> +CONFIG_CGROUPS=y
>> +CONFIG_BLK_DEV_INITRD=y
>> +CONFIG_EMBEDDED=y
>> +CONFIG_SLAB=y
>> +CONFIG_PROFILING=y
>> +CONFIG_CC_STACKPROTECTOR_REGULAR=y
>> +CONFIG_MODULES=y
>> +CONFIG_MODULE_UNLOAD=y
>> +CONFIG_SMP=y
>> +CONFIG_SCHED_MC=y
>> +CONFIG_SCHED_SMT=y
>> +CONFIG_NR_CPUS=8
>> +CONFIG_PREEMPT=y
>> +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
>> +CONFIG_TRANSPARENT_HUGEPAGE=y
>> +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
>> +CONFIG_CMDLINE="console=ttyAMA0 earlyprintk=pl011,0x1c090000 debug user_debug=31 loglevel=9 root=/dev/vda"
>> +CONFIG_CMDLINE_FORCE=y
>
> Is this really needed? Well, VDK probably doesn't allow passing a command line
> anyway...
For the VDK environment we have two ways, this one or to set the bootargs in the
device tree, but in my opinion this option is more clean.
>
>
>> +CONFIG_BINFMT_MISC=y
>> +CONFIG_CPU_IDLE=y
>> +CONFIG_CPU_FREQ=y
>> +CONFIG_CPU_FREQ_GOV_USERSPACE=y
>> +CONFIG_CPU_FREQ_GOV_ONDEMAND=y
>
> Does VDK support frequency scaling?
VDK is an emulation of an ARMv8, so we try to include as features as possible.
So I would recommend to keep this options.
>
>> +CONFIG_ARM_BIG_LITTLE_CPUFREQ=y
>
> Does VDK support big.LITTLE?
Same as before.
>
>> +CONFIG_ARM_DT_BL_CPUFREQ=y
>> +CONFIG_ARM_SPCI_CPUFREQ=y
>> +CONFIG_NET=y
>> +CONFIG_PACKET=y
>> +CONFIG_UNIX=y
>> +CONFIG_XFRM_USER=y
>
> Is this needed?
>
>> +CONFIG_NET_KEY=y
>> +CONFIG_NET_KEY_MIGRATE=y
>> +CONFIG_INET=y
>> +CONFIG_IP_MULTICAST=y
>> +CONFIG_IP_PNP=y
>> +CONFIG_IP_PNP_DHCP=y
>> +CONFIG_IP_PNP_BOOTP=y
>> +CONFIG_IP_PNP_RARP=y
>> +CONFIG_SYN_COOKIES=y
>> +CONFIG_NETWORK_PHY_TIMESTAMPING=y
>> +CONFIG_NET_9P=y
>
> Is Plan9 useful in a simulator?
This one can be removed.
>
>> +CONFIG_NET_9P_VIRTIO=y
>> +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
>> +CONFIG_DEVTMPFS=y
>> +CONFIG_DEVTMPFS_MOUNT=y
>> +CONFIG_VEXPRESS_CONFIG=y
>
> Does VDK use VExpress?
Synopsys VDK runs a foundation model of ARMv8 and according to the tool' team,
the "Versatile Express" should be activated.
>
>> +CONFIG_CONNECTOR=y
>> +CONFIG_MTD=y
>> +CONFIG_MTD_CMDLINE_PARTS=y
>> +CONFIG_MTD_BLOCK=y
>> +CONFIG_MTD_OOPS=y
>> +CONFIG_MTD_CFI=y
>> +CONFIG_MTD_CFI_INTELEXT=y
>> +CONFIG_MTD_SLRAM=y
>
> Does VDK support all of that?
Yes, the MTD package can be removed.
>
>> +CONFIG_MTD_NAND=y
>> +CONFIG_OF_SELFTEST=y
>> +CONFIG_BLK_DEV_LOOP=y
>> +CONFIG_BLK_DEV_NBD=m
>> +CONFIG_BLK_DEV_RAM=y
>> +CONFIG_BLK_DEV_RAM_SIZE=65536
>
> Are these three needed?
The MTD module, as previously stated, can be removed.
I think CONFIG_BLK_DEV_NBD, CONFIG_OF_SELFTEST can be removed.
The CONFIG_BLK_DEV_* are useful when VDK is used as part of the Synopsys Hybrid
Prototyping Kits.
>
>> +CONFIG_VIRTIO_BLK=y
>> +CONFIG_SCSI=y
>> +CONFIG_BLK_DEV_SD=y
>> +CONFIG_BLK_DEV_DM=y
>> +CONFIG_NETDEVICES=y
>> +CONFIG_SMC91X=y
>> +CONFIG_SMSC911X=y
>> +CONFIG_STMMAC_ETH=m
>
> Does VDK support all of these?
I think CONFIG_SMC91X and CONFIG_SMSC911X can be removed.
>
>> +CONFIG_STMMAC_DEBUG_FS=y
>
> Is this needed?
>
I think CONFIG_STMMAC_DEBUG_FS can be removed.
>> +CONFIG_INPUT_EVDEV=y
>> +CONFIG_INPUT_MISC=y
>> +CONFIG_INPUT_UINPUT=y
>> +CONFIG_SERIO_AMBAKMI=y
>> +CONFIG_SERIAL_8250=y
>> +CONFIG_SERIAL_8250_CONSOLE=y
>> +CONFIG_SERIAL_AMBA_PL011=y
>> +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
>> +CONFIG_SERIAL_OF_PLATFORM=y
>
> Err, I thought OpenFirmware was a PowerPC thing?
>
>> +CONFIG_VIRTIO_CONSOLE=y
>> +CONFIG_I2C=y
>> +CONFIG_I2C_CHARDEV=y
>> +CONFIG_I2C_DESIGNWARE_PLATFORM=y
>> +CONFIG_GPIOLIB=y
>> +CONFIG_GPIO_SYSFS=y
>> +CONFIG_POWER_RESET_VEXPRESS=y
>> +CONFIG_FB=y
>> +CONFIG_FB_ARMCLCD=y
>> +CONFIG_FRAMEBUFFER_CONSOLE=y
>> +CONFIG_LOGO=y
>> +CONFIG_USB_HIDDEV=y
>> +CONFIG_USB=y
>> +CONFIG_USB_EHCI_HCD=y
>> +CONFIG_USB_EHCI_HCD_SYNOPSYS=y
>> +CONFIG_USB_OHCI_HCD=y
>> +CONFIG_NOP_USB_XCEIV=y
>> +CONFIG_USB_ULPI=y
>> +CONFIG_USB_DUMMY_HCD=m
>> +CONFIG_USB_G_SERIAL=m
>> +CONFIG_MMC=y
>> +CONFIG_MMC_ARMMMCI=y
>> +CONFIG_NEW_LEDS=y
>> +CONFIG_LEDS_CLASS=y
>> +CONFIG_LEDS_GPIO=y
>> +CONFIG_LEDS_TRIGGERS=y
>> +CONFIG_LEDS_TRIGGER_TIMER=y
>> +CONFIG_LEDS_TRIGGER_ONESHOT=y
>> +CONFIG_LEDS_TRIGGER_HEARTBEAT=y
>> +CONFIG_LEDS_TRIGGER_BACKLIGHT=y
>> +CONFIG_LEDS_TRIGGER_CPU=y
>> +CONFIG_LEDS_TRIGGER_GPIO=y
>> +CONFIG_SWITCH=y
>> +CONFIG_RTC_CLASS=y
>> +CONFIG_RTC_DRV_PL031=y
>> +CONFIG_VIRTIO_BALLOON=y
>> +CONFIG_VIRTIO_MMIO=y
>> +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
>> +CONFIG_COMMON_CLK_VERSATILE=y
>> +CONFIG_CLK_SP810=y
>> +CONFIG_CLK_VEXPRESS_OSC=y
>> +CONFIG_COMMON_CLK_SCPI=y
>> +CONFIG_MAILBOX=y
>> +CONFIG_ARM_SCPI_PROTOCOL=y
>> +CONFIG_EXT4_FS=y
>> +CONFIG_EXT4_FS_SECURITY=y
>> +CONFIG_BTRFS_FS=y
>
> I don't think btrfs is needed. Perhaps as a module. Same for the other fses.
Yep, we can put them as modules.
>
>> +CONFIG_QUOTA=y
>> +CONFIG_QFMT_V2=y
>> +CONFIG_AUTOFS4_FS=y
>> +CONFIG_MSDOS_FS=y
>> +CONFIG_VFAT_FS=y
>> +CONFIG_TMPFS=y
>> +CONFIG_TMPFS_POSIX_ACL=y
>> +CONFIG_HUGETLBFS=y
>> +CONFIG_ECRYPT_FS=y
>> +CONFIG_JFFS2_FS=y
>> +CONFIG_JFFS2_SUMMARY=y
>> +CONFIG_JFFS2_FS_XATTR=y
>> +CONFIG_JFFS2_COMPRESSION_OPTIONS=y
>> +CONFIG_JFFS2_LZO=y
>> +CONFIG_JFFS2_RUBIN=y
>> +CONFIG_CRAMFS=y
>> +CONFIG_9P_FS=y
>> +CONFIG_NLS_CODEPAGE_437=y
>> +CONFIG_NLS_ISO8859_1=y
>> +CONFIG_VIRTUALIZATION=y
>> +CONFIG_KVM=y
>> +CONFIG_DYNAMIC_DEBUG=y
>> +CONFIG_DEBUG_INFO=y
>> +CONFIG_MAGIC_SYSRQ=y
>> +CONFIG_SCHEDSTATS=y
>> +CONFIG_TIMER_STATS=y
>> +CONFIG_FUNCTION_TRACER=y
>> +CONFIG_STRICT_DEVMEM=y
>> +CONFIG_SECURITY=y
>> +CONFIG_SECURITY_NETWORK_XFRM=y
>> +CONFIG_LSM_MMAP_MIN_ADDR=0
>> +CONFIG_SECURITY_SELINUX=y
>> +CONFIG_SECURITY_SELINUX_BOOTPARAM=y
>> +CONFIG_SECURITY_SELINUX_DISABLE=y
>> +CONFIG_SECURITY_SMACK=y
>> +CONFIG_SECURITY_APPARMOR=y
>> +CONFIG_DEFAULT_SECURITY_APPARMOR=y
>
> We don't enable any security option in all the other kernel configs...
This is not a critical issue, we can remove the security packages.
>
>> +CONFIG_CRYPTO_MICHAEL_MIC=y
>> +CONFIG_CRC_CCITT=y
>> +CONFIG_CRC_T10DIF=y
>> +CONFIG_CRC_ITU_T=y
>> +CONFIG_CRC7=y
>
> All of these definitely have no business in a defconfig.
You're right is can be removed.
>
>> diff --git a/configs/snps_aarch64_vdk_defconfig b/configs/snps_aarch64_vdk_defconfig
>> new file mode 100644
>> index 0000000..a79b1d2
>> --- /dev/null
>> +++ b/configs/snps_aarch64_vdk_defconfig
>> @@ -0,0 +1,14 @@
>> +BR2_aarch64=y
>> +BR2_KERNEL_HEADERS_3_18=y
>> +BR2_TARGET_GENERIC_HOSTNAME="vdk-buildroot"
>> +BR2_TARGET_GENERIC_ISSUE="Welcome to SNPS VDK by Buildroot"
>> +BR2_LINUX_KERNEL=y
>> +BR2_LINUX_KERNEL_CUSTOM_GIT=y
>> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://git.linaro.org/kernel/linux-linaro-tracking.git"
>> +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux-linaro-3.18-2014.12"
>> +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
>> +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/synopsys/vdk/linux-vdk-aarch64-defconfig"
>> +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
>> +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image"
>> +BR2_TARGET_ROOTFS_EXT2=y
>
> Perhaps also select EXT2_4.
>
>
> It would also be good to add a readme file that explains how to start the
> simulator. Like board/qemu/arm-vexpress/readme.txt
Sure, I will include one.
>
>
> Regards,
> Arnout
>
>> +# BR2_TARGET_ROOTFS_TAR is not set
>>
>
>
Based on your comments I will make a new patch to support VDK.
Thanks,
-Joao
prev parent reply other threads:[~2015-10-22 9:21 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-12 9:34 [Buildroot] [PATCH v4] board: add support for Synopsys VDK Software Development Platform Joao Pinto
2015-10-12 21:01 ` Yann E. MORIN
2015-10-13 9:24 ` Joao Pinto
2015-10-20 21:45 ` [Buildroot] [PATCH v5] " Arnout Vandecappelle
2015-10-21 7:25 ` Thomas Petazzoni
2015-10-22 9:21 ` Joao Pinto [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5628AA95.3010402@synopsys.com \
--to=joao.pinto@synopsys.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.