Message ID | 1381930594-1701-1-git-send-email-pawel.moll@arm.com |
---|---|
State | New |
Headers | show |
Hi Pawel, Fathi, On 10/16/2013 09:36 AM, Pawel Moll wrote: > From: Fathi Boudra <fathi.boudra@linaro.org> > > This patch updates the Versatile Express defconfig to a level > which makes it possible to run a defconfig-ed kernel work > on the board and in QEMU with modern userspace. It does: > > - update cmdline to contain "console=ttyAMA0" only > - enable devtmpfs filesystem > - enable voltage regulator support > - enable ext4 filesystem > - disable low level debug and early printk > > Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org> > [PM: removed DEBUG_LL - it doesn't work on qemu] Does DEBUG_LL/EARLY_PRINTK break boot on QEMU? If not, why not leave it in for folks using other emulators, hardware, and maybe future versions of QEMU? Thanks, Christopher
Hi Pawel, On 10/16/2013 09:36 AM, Pawel Moll wrote: > This patch enables all drivers and alike to make defconfig-ed > kernels use Versatile Express specific features, like power > management services (PSCI, MCPM and cpuidle with drivers for > DCCSB on Fast Models and SPC on TC2), CMA for frame buffer > allocation, all virtio device drivers (for QEMU, KVM tools > and Fast Models), MTD physmap drivers with squashfs and UBIFS > for flash, I2C master, regulator and hwmon drivers and > LEDs support with most useful triggers. The maximum > amount of CPUs has been increased to 8 to facilitate > big.Little systems. > > Signed-off-by: Pawel Moll <pawel.moll@arm.com> > --- > arch/arm/configs/vexpress_defconfig | 65 ++++++++++++++++++++++++------------- > 1 file changed, 42 insertions(+), 23 deletions(-) > > diff --git a/arch/arm/configs/vexpress_defconfig b/arch/arm/configs/vexpress_defconfig [...] > @@ -121,21 +141,20 @@ CONFIG_EXT4_FS=y > CONFIG_VFAT_FS=y > CONFIG_TMPFS=y > CONFIG_JFFS2_FS=y > +CONFIG_UBIFS_FS=y > CONFIG_CRAMFS=y > +CONFIG_SQUASHFS=y > +CONFIG_SQUASHFS_LZO=y > CONFIG_NFS_FS=y > -CONFIG_NFS_V3=y > CONFIG_ROOT_NFS=y Isn't CONFIG_9P_FS=y needed for VirtIO passthrough filesystem support? [...] Thanks, Christopher
Hi Pawel, On 16/10/13 14:36, Pawel Moll wrote: > This patch enables all drivers and alike to make defconfig-ed > kernels use Versatile Express specific features, like power > management services (PSCI, MCPM and cpuidle with drivers for > DCCSB on Fast Models and SPC on TC2), CMA for frame buffer > allocation, all virtio device drivers (for QEMU, KVM tools > and Fast Models), MTD physmap drivers with squashfs and UBIFS > for flash, I2C master, regulator and hwmon drivers and > LEDs support with most useful triggers. The maximum > amount of CPUs has been increased to 8 to facilitate > big.Little systems. > > Signed-off-by: Pawel Moll <pawel.moll@arm.com> > --- > arch/arm/configs/vexpress_defconfig | 65 ++++++++++++++++++++++++------------- > 1 file changed, 42 insertions(+), 23 deletions(-) > > diff --git a/arch/arm/configs/vexpress_defconfig b/arch/arm/configs/vexpress_defconfig > index 6d20bc1..f2535e3 100644 > --- a/arch/arm/configs/vexpress_defconfig > +++ b/arch/arm/configs/vexpress_defconfig [snip] > @@ -44,39 +49,46 @@ CONFIG_IP_PNP_BOOTP=y > # CONFIG_INET_LRO is not set > # CONFIG_IPV6 is not set > # CONFIG_WIRELESS is not set > +CONFIG_NET_9P=y > +CONFIG_NET_9P_VIRTIO=y > CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" > CONFIG_DEVTMPFS=y > CONFIG_MTD=y > -CONFIG_MTD_CONCAT=y > -CONFIG_MTD_PARTITIONS=y > CONFIG_MTD_CMDLINE_PARTS=y > -CONFIG_MTD_CHAR=y > CONFIG_MTD_BLOCK=y > CONFIG_MTD_CFI=y > CONFIG_MTD_CFI_INTELEXT=y > CONFIG_MTD_CFI_AMDSTD=y > -CONFIG_MTD_ARM_INTEGRATOR=y > -CONFIG_MISC_DEVICES=y > +CONFIG_MTD_RAM=y > +CONFIG_MTD_PHYSMAP=y > +CONFIG_MTD_PHYSMAP_OF=y This could cause issues with CPUIdle on TC2. Since TC2 reset vector is in NOR flash, NOR flash has to be in Read mode when CPU resets and enter reset vector. But what I have seen is that NOR flash is left in Read Identifier Mode after the driver is initialised. So we need to make sure NOR device is in Read mode whenever CPU enters deeper C-states and also may have to register notifiers which seems overkill IMO. Most of the platform have separate(or secure) flash for this reason. Is it possible to disable flash on TC2 only in it's DT something like flash@0,00000000 { status = "disabled"; }; Regards, Sudeep
On Wed, 2013-10-16 at 18:48 +0100, Christopher Covington wrote: > > - disable low level debug and early printk > > > > Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org> > > [PM: removed DEBUG_LL - it doesn't work on qemu] > > Does DEBUG_LL/EARLY_PRINTK break boot on QEMU? If not, why not leave it in for > folks using other emulators, hardware, and maybe future versions of QEMU? Yep, unfortunately it does break qemu boot. And generally DEBUG_LL is considered to be a development-only option and in it was pointed out in many discussion that people using it must exactly know what are they doing. Definitely not a candidate for a defconfig. As to the details of the problem, the memory map detection heuristics has been crafted do match the V2P-CA9 board processor revision, and qemu returns a different one. Just a nuisance, but very hard to debug if things go wrong. And before you ask, I'd rather remove the detection code completely than change it yet another time, which will have the same result - no DEBUG_LL enabled in defconfig because one will have to explicitly select one of two options. Pick the wrong one and you're back in the same place - nothing work and you don't know where. Thanks for looking at the patch! Pawel
On Wed, 2013-10-16 at 18:57 +0100, Christopher Covington wrote: > > @@ -121,21 +141,20 @@ CONFIG_EXT4_FS=y > > CONFIG_VFAT_FS=y > > CONFIG_TMPFS=y > > CONFIG_JFFS2_FS=y > > +CONFIG_UBIFS_FS=y > > CONFIG_CRAMFS=y > > +CONFIG_SQUASHFS=y > > +CONFIG_SQUASHFS_LZO=y > > CONFIG_NFS_FS=y > > -CONFIG_NFS_V3=y > > CONFIG_ROOT_NFS=y > > Isn't CONFIG_9P_FS=y needed for VirtIO passthrough filesystem support? Yes, I think you're right. I've expected 9P_VFS and NET_9P select or depend on each other. Thanks for pointing this out! Paweł
On Thu, 2013-10-17 at 10:57 +0100, Sudeep KarkadaNagesha wrote: > > +CONFIG_MTD_PHYSMAP=y > > +CONFIG_MTD_PHYSMAP_OF=y > > This could cause issues with CPUIdle on TC2. Since TC2 reset vector is in NOR > flash, NOR flash has to be in Read mode when CPU resets and enter reset vector. > But what I have seen is that NOR flash is left in Read Identifier Mode after the > driver is initialised. So we need to make sure NOR device is in Read mode > whenever CPU enters deeper C-states and also may have to register notifiers > which seems overkill IMO. Most of the platform have separate(or secure) flash > for this reason. Oh boy, yes, I remember this now. > Is it possible to disable flash on TC2 only in it's DT something like > flash@0,00000000 { > status = "disabled"; > }; But flash is innocent, really... I may just remove CPU_IDLE for the time being. Paweł
On Wed, Oct 16, 2013 at 02:36:32PM +0100, Pawel Moll wrote: > Greetings, > > This micro-series updates the Versatile Express defconfig in two stages: > > 1. Makes the defconfig-ed kernels actually work on real boards and QEMU. > 2. Enables all platform-specific drivers and features. > > The first patch definitely should go in, as it is a de-facto bug fix. > The second has been suggested to increase build coverage. > > I've tried to keep the changes to minimum. The patches can be also > pulled as described below. > > Cheers! > > Pawel > > > The following changes since commit 61e6cfa80de5760bbe406f4e815b7739205754d2: > > Linux 3.12-rc5 (2013-10-13 15:41:28 -0700) > > are available in the git repository at: > > git://git.linaro.org/people/pawelmoll/linux.git tags/vexpress/defconfig-for-v3.13 Based on the comments on at least the first patch I'm guessing you'll want to respin, so I'll wait for a new pull request. -Olof