Re: [PATCH] powerpc/64: whitelist unresolved modversions CRCs

2016-09-22 Thread Michal Marek
On 2016-09-14 04:45, Nicholas Piggin wrote:
> These are a symptom of CRC generation failure in generic
> build code, and not powerpc specific.
> 
> Signed-off-by: Nicholas Piggin 
> ---
> 
> Hi Michal,
> 
> Please merge this via your trees with Al's patches.

Done, thanks for the patch.

Michal



Re: linux-next: build warnings after merge of the kbuild tree

2016-08-19 Thread Michal Marek
On 2016-08-19 07:09, Stephen Rothwell wrote:
> Hi Nick,
> 
> On Fri, 19 Aug 2016 13:38:54 +1000 Stephen Rothwell  
> wrote:
>>
>> On Thu, 18 Aug 2016 11:09:48 +1000 Nicholas Piggin  wrote:
>>>
>>> On Wed, 17 Aug 2016 14:59:59 +0200
>>> Michal Marek  wrote:
>>>   
>>>> On 2016-08-17 03:44, Stephen Rothwell wrote:
>>>>>
>>>>> After merging the kbuild tree, today's linux-next build (powerpc
>>>>> ppc64_defconfig) produced these warnings:
>>>>>
>>>>> WARNING: 25 bad relocations
>>>>> c0cf2570 R_PPC64_ADDR64__crc___arch_hweight16  
>>>> [...]
>>>>> Introduced by commit
>>>>>
>>>>>   9445aa1a3062 ("ppc: move exports to definitions")
>>>>>
>>>>> I have reverted that commit for today.
>>>>>
>>>>> [cc-ing the ppc guys for clues - also involved is commit
>>>>>
>>>>>   22823ab419d8 ("EXPORT_SYMBOL() for asm")
>>>>> ]  
>>>>
>>>> FWIW, I see these warnings as well. Any help from ppc developers is
>>>> appreciated - should the R_PPC64_ADDR64 be whitelisted for exported asm
>>>> symbols (their CRCs actually)?
>>>
>>> The dangling relocation is a side effect of linker unable to resolve the
>>> reference to the undefined weak symbols. So the real question is, why has
>>> genksyms not overridden these symbols with their CRC values?
>>>
>>> This may not even be powerpc specific, but  I'll poke at it a bit more
>>> when I get a chance.  
>>
>> Not sure if this is relevant, but with the commit reverted, the
>> __crc___... symbols are absolute.
>>
>> f55b3b3d A __crc___arch_hweight16
> 
> Ignore that :-)
> 
> I just had a look at a x86_64 allmodconfig result and it looks like the
> weak symbols are not resolved their either ...
> 
> I may be missing something, but genksyms generates the crc's off the
> preprocessed C source code and we don't have any for the asm files ...

Of course you are right. Which means that we are losing type information
for these exports for CONFIG_MODVERSIONS purposes. I guess it's
acceptable, since the asm functions are pretty basic and their
signatures do not change.

Michal



Re: linux-next: build warnings after merge of the kbuild tree

2016-08-17 Thread Michal Marek
On 2016-08-17 03:44, Stephen Rothwell wrote:
> Hi Michal,
> 
> After merging the kbuild tree, today's linux-next build (powerpc
> ppc64_defconfig) produced these warnings:
> 
> WARNING: 25 bad relocations
> c0cf2570 R_PPC64_ADDR64__crc___arch_hweight16
[...]
> Introduced by commit
> 
>   9445aa1a3062 ("ppc: move exports to definitions")
> 
> I have reverted that commit for today.
> 
> [cc-ing the ppc guys for clues - also involved is commit
> 
>   22823ab419d8 ("EXPORT_SYMBOL() for asm")
> ]

FWIW, I see these warnings as well. Any help from ppc developers is
appreciated - should the R_PPC64_ADDR64 be whitelisted for exported asm
symbols (their CRCs actually)?

Thanks,
Michal


Re: [RFC, 1/2] scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target

2015-10-15 Thread Michal Marek
Dne 15.10.2015 v 05:27 Michael Ellerman napsal(a):
> On Wed, 2015-10-14 at 09:54 -0700, Olof Johansson wrote:
>> On Tue, Oct 13, 2015 at 4:43 PM, Michael Ellerman  
>> wrote:
>>> On Tue, 2015-10-13 at 14:02 -0700, Olof Johansson wrote:
>>>> On Fri, Oct 2, 2015 at 12:47 AM, Michael Ellerman  
>>>> wrote:
>>>>> On Wed, 2015-23-09 at 05:40:34 UTC, Michael Ellerman wrote:
>>>>>> Arch Makefiles can set KBUILD_DEFCONFIG to tell kbuild the name of the
>>>>>> defconfig that should be built by default.
>>>>>>
>>>>>> However currently there is an assumption that KBUILD_DEFCONFIG points to
>>>>>> a file at arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG).
>>>>>>
>>>>>> We would like to use a target, using merge_config, as our defconfig, so
>>>>>> adapt the logic in scripts/kconfig/Makefile to allow that.
>>>>>>
>>>>>> To minimise the chance of breaking anything, we first check if
>>>>>> KBUILD_DEFCONFIG is a file, and if so we do the old logic. If it's not a
>>>>>> file, then we call the top-level Makefile with KBUILD_DEFCONFIG as the
>>>>>> target.
>>>>>>
>>>>>> Signed-off-by: Michael Ellerman 
>>>>>> Acked-by: Michal Marek 
>>>>>
>>>>> Applied to powerpc next.
>>>>>
>>>>> https://git.kernel.org/powerpc/c/d2036f30cfe1daa19e63ce75
>>>>
>>>> This breaks arm64 defconfig for me:
>>>>
>>>> mkdir obj-tmp
>>>> make -f Makefile O=obj-tmp ARCH=arm64 defconfig
>>>> ... watch loop of:
>>>> *** Default configuration is based on target 'defconfig'
>>>>   GEN ./Makefile
>>>
>>> Crap, sorry. I knew I shouldn't have touched that code!
>>>
>>> Does this fix it for you?
>>
>> Yes, it does, however:
>>
>>> diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
>>> index b2b9c87..3043d6b 100644
>>> --- a/scripts/kconfig/Makefile
>>> +++ b/scripts/kconfig/Makefile
>>> @@ -96,7 +96,7 @@ savedefconfig: $(obj)/conf
>>>  defconfig: $(obj)/conf
>>>  ifeq ($(KBUILD_DEFCONFIG),)
>>> $< $(silent) --defconfig $(Kconfig)
>>> -else ifneq ($(wildcard arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)),)
>>> +else ifneq ($(wildcard 
>>> $(srctree)/arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)),)
>>> @$(kecho) "*** Default configuration is based on 
>>> '$(KBUILD_DEFCONFIG)'"
>>> $(Q)$< $(silent) 
>>> --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig)
>>
>> Do you need a $(srctree) prefix here too? I'm not entirely sure what I
>> would do to reproduce a run that goes down this path so I can't
>> confirm.
> 
> That is the path you're going down, now that it's fixed. That's the path where
> KBUILD_DEFCONFIG is a real file, ie. the old behaviour.
> 
> I'm not sure why it doesn't have a $(srctree) there, but it's never had one.
> 
> It looks like it eventually boils down to zconf_fopen() which looks for the
> file in both .  and $(srctree).

Yes, the kconfig frontends do part of what would ideally be the job of
make or the Makefile.

Michal
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH] scripts/kconfig/Makefile: Fix KBUILD_DEFCONFIG check when building with O=

2015-10-15 Thread Michal Marek
Dne 15.10.2015 v 08:05 Michael Ellerman napsal(a):
> My recent commit d2036f30cfe1 ("scripts/kconfig/Makefile: Allow
> KBUILD_DEFCONFIG to be a target"), contained a bug in that when it
> checks if KBUILD_DEFCONFIG is a file it forgets to prepend $(srctree) to
> the path.
> 
> This causes the build to fail when building out of tree (with O=), and
> when the value of KBUILD_DEFCONFIG is 'defconfig'. In that case we will
> fail to find the 'defconfig' file, because we look in the build
> directory not $(srctree), and so we will call Make again with
> 'defconfig' as the target. From there we loop infinitely calling 'make
> defconfig' again and again.
> 
> The fix is simple, we need to look for the file under $(srctree).
> 
> Fixes: d2036f30cfe1 ("scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be 
> a target")
> Reported-by: Olof Johansson 
> Signed-off-by: Michael Ellerman 

Acked-by: Michal Marek 

I could have spotted it myself :-/.

Michal

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH] scripts/tags.sh: Teach tags about some powerpc macros

2015-10-13 Thread Michal Marek
On 2015-10-13 07:18, Michael Ellerman wrote:
> On Tue, 2015-09-22 at 13:08 +1000, Michael Ellerman wrote:
>> The IO accessors on powerpc are generated using macro fu, ie. out_be32()
>> etc. Also there are some debugger related symbols that are macro
>> generated. Teach scripts/tags.sh about both.
>>
>> Signed-off-by: Michael Ellerman 
>> ---
>>  scripts/tags.sh | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/scripts/tags.sh b/scripts/tags.sh
>> index 8e5aee6d9da2..262889046703 100755
>> --- a/scripts/tags.sh
>> +++ b/scripts/tags.sh
>> @@ -198,6 +198,8 @@ exuberant()
>>  --regex-c++='/TASK_PFA_TEST\([^,]*,\s*([^)]*)\)/task_\1/'   \
>>  --regex-c++='/TASK_PFA_SET\([^,]*,\s*([^)]*)\)/task_set_\1/'\
>>  --regex-c++='/TASK_PFA_CLEAR\([^,]*,\s*([^)]*)\)/task_clear_\1/'\
>> +--regex-c++='/DEF_MMIO_(IN|OUT)_(X|D)\(([^,]*),\s*[^)]*\)/\3/'  \
>> +--regex-c++='/DEBUGGER_BOILERPLATE\(([^,]*)\)/\1/'  \
>>  --regex-c='/PCI_OP_READ\((\w*).*[1-4]\)/pci_bus_read_config_\1/' \
>>  --regex-c='/PCI_OP_WRITE\((\w*).*[1-4]\)/pci_bus_write_config_\1/' \
>>  --regex-c='/DEFINE_(MUTEX|SEMAPHORE|SPINLOCK)\((\w*)/\2/v/' \
> 
> 
> Michal, do you want to take this one or should I ?

I applied it to kbuild.git#misc.

Michal

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [RFC PATCH 1/2] scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target

2015-09-30 Thread Michal Marek
On 2015-10-01 08:14, Michael Ellerman wrote:
> On Fri, 2015-09-25 at 22:46 +0200, Michal Marek wrote:
>> Dne 24.9.2015 v 00:16 Michael Ellerman napsal(a):
>>>
>>>
>>> On 23 September 2015 19:50:52 GMT+10:00, Michal Marek
>>>  wrote:
>>>> On 2015-09-23 07:40, Michael Ellerman wrote:
>>>>> +else ifneq ($(wildcard
>>>> arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)),)
>>>>> @$(kecho) "*** Default configuration is based on
>>>> '$(KBUILD_DEFCONFIG)'"
>>>>> $(Q)$< $(silent)
>>>> --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig)
>>>>> +else +   @$(kecho) "*** Default configuration is based on target
>>>> '$(KBUILD_DEFCONFIG)'"
>>>>> + $(Q)$(MAKE) -f $(srctree)/Makefile $(KBUILD_DEFCONFIG) endif
>>>>
>>>> What is the anticipated usage of this? The patch is not needed to
>>>> make
>>>>
>>>> make ppc64le_defconfig
>>>>
>>>> work with the second patch. If it was, this would create a loop
>>>> anyway.
>>>
>>> The idea is to make 'make defconfig' work when KBUILD_DEFCONFIG is
>>> ppc64le_defconfig (which happens for us when uname returns ppc64le)
>>> and additionally when ppc64le_defconfig is not a real file.
>>
>> Ah, that makes sense. You can add
>>
>> Acked-by: Michal Marek 
>>
>> if you want.
> 
> Thanks. I'll assume by that you mean you're happy if I take both patches
> through the powerpc tree.

Yes, I assumed that this was your plan.

Michal

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [RFC PATCH 1/2] scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target

2015-09-25 Thread Michal Marek
Dne 24.9.2015 v 00:16 Michael Ellerman napsal(a):
> 
> 
> On 23 September 2015 19:50:52 GMT+10:00, Michal Marek
>  wrote:
>> On 2015-09-23 07:40, Michael Ellerman wrote:
>>> +else ifneq ($(wildcard
>> arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)),)
>>> @$(kecho) "*** Default configuration is based on
>> '$(KBUILD_DEFCONFIG)'"
>>> $(Q)$< $(silent)
>> --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig)
>>> +else + @$(kecho) "*** Default configuration is based on target
>> '$(KBUILD_DEFCONFIG)'"
>>> +   $(Q)$(MAKE) -f $(srctree)/Makefile $(KBUILD_DEFCONFIG) endif
>> 
>> What is the anticipated usage of this? The patch is not needed to
>> make
>> 
>> make ppc64le_defconfig
>> 
>> work with the second patch. If it was, this would create a loop
>> anyway.
> 
> The idea is to make 'make defconfig' work when KBUILD_DEFCONFIG is
> ppc64le_defconfig (which happens for us when uname returns ppc64le)
> and additionally when ppc64le_defconfig is not a real file.

Ah, that makes sense. You can add

Acked-by: Michal Marek 

if you want.

Michal
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [RFC PATCH 1/2] scripts/kconfig/Makefile: Allow KBUILD_DEFCONFIG to be a target

2015-09-23 Thread Michal Marek
On 2015-09-23 07:40, Michael Ellerman wrote:
> +else ifneq ($(wildcard arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)),)
>   @$(kecho) "*** Default configuration is based on '$(KBUILD_DEFCONFIG)'"
>   $(Q)$< $(silent) 
> --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig)
> +else
> + @$(kecho) "*** Default configuration is based on target 
> '$(KBUILD_DEFCONFIG)'"
> + $(Q)$(MAKE) -f $(srctree)/Makefile $(KBUILD_DEFCONFIG)
>  endif

What is the anticipated usage of this? The patch is not needed to make

  make ppc64le_defconfig

work with the second patch. If it was, this would create a loop anyway.

Michal
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH 0/6] kbuild: refactor Makefiles related with cc-version

2015-01-09 Thread Michal Marek
On 2014-12-25 06:31, Masahiro Yamada wrote:
> Masahiro Yamada (6):
>   kbuild: fix cc-ifversion macro
>   kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion
>   kbuild,gcov: remove unnecessary workaround
>   kbuild,gcov: simplify kernel/gcov/Makefile
>   kbuild: allow cc-ifversion to have the argument for false condition
>   kbuild,gcov: simplify kernel/gcov/Makefile more

Applied to kbuild.git#kbuild, thanks.

Michal

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH] kbuild: Fix make help- on powerpc

2014-11-28 Thread Michal Marek
On 2014-11-28 13:52, Michal Marek wrote:
> make ARCH=powerpc help- should not require a cofigured
> source tree. Also, sort the boards in the output.

I added this to kbuild.git#kbuild.

Michal

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH] kbuild: Fix make help- on powerpc

2014-11-28 Thread Michal Marek
make ARCH=powerpc help- should not require a cofigured
source tree. Also, sort the boards in the output.

Signed-off-by: Michal Marek 
---
Sorry for the double post to the ppc mailing list. The first version got
rejected by the vger spam filter.
---
 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 88b7fa5..0cd4e14 100644
--- a/Makefile
+++ b/Makefile
@@ -482,7 +482,7 @@ asm-generic:
 version_h := include/generated/uapi/linux/version.h
 
 no-dot-config-targets := clean mrproper distclean \
-cscope gtags TAGS tags help %docs check% coccicheck \
+cscope gtags TAGS tags help% %docs check% coccicheck \
 $(version_h) headers_% archheaders archscripts \
 kernelversion %src-pkg
 
@@ -1323,7 +1323,7 @@ help-board-dirs := $(addprefix help-,$(board-dirs))
 
 help-boards: $(help-board-dirs)
 
-boards-per-dir = $(notdir $(wildcard 
$(srctree)/arch/$(SRCARCH)/configs/$*/*_defconfig))
+boards-per-dir = $(sort $(notdir $(wildcard 
$(srctree)/arch/$(SRCARCH)/configs/$*/*_defconfig)))
 
 $(help-board-dirs): help-%:
@echo  'Architecture specific targets ($(SRCARCH) $*):'
-- 
2.1.2

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH] kbuild: Fix make help-XXX on powerpc

2014-11-28 Thread Michal Marek
make ARCH=powerpc help- should not require a cofigured
source tree. Also, sort the boards in the output.

Signed-off-by: Michal Marek 
---
 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 88b7fa5..0cd4e14 100644
--- a/Makefile
+++ b/Makefile
@@ -482,7 +482,7 @@ asm-generic:
 version_h := include/generated/uapi/linux/version.h
 
 no-dot-config-targets := clean mrproper distclean \
-cscope gtags TAGS tags help %docs check% coccicheck \
+cscope gtags TAGS tags help% %docs check% coccicheck \
 $(version_h) headers_% archheaders archscripts \
 kernelversion %src-pkg
 
@@ -1323,7 +1323,7 @@ help-board-dirs := $(addprefix help-,$(board-dirs))
 
 help-boards: $(help-board-dirs)
 
-boards-per-dir = $(notdir $(wildcard 
$(srctree)/arch/$(SRCARCH)/configs/$*/*_defconfig))
+boards-per-dir = $(sort $(notdir $(wildcard 
$(srctree)/arch/$(SRCARCH)/configs/$*/*_defconfig)))
 
 $(help-board-dirs): help-%:
@echo  'Architecture specific targets ($(SRCARCH) $*):'
-- 
2.1.2

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH] powerpc/boot: Makefile cleanup

2014-10-02 Thread Michal Marek
The $(image-n) variable will never exist, because unset Kconfig options
are '' and not 'n'.

Signed-off-by: Michal Marek 
---
 arch/powerpc/boot/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index ccc25ed..c456d07 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -317,7 +317,7 @@ endif
 # Allow extra targets to be added to the defconfig
 image-y+= $(subst ",,$(CONFIG_EXTRA_TARGETS))
 
-initrd-  := $(patsubst zImage%, zImage.initrd%, $(image-n) $(image-))
+initrd-  := $(patsubst zImage%, zImage.initrd%, $(image-))
 initrd-y := $(patsubst zImage%, zImage.initrd%, \
$(patsubst dtbImage%, dtbImage.initrd%, \
$(patsubst simpleImage%, simpleImage.initrd%, \
-- 
1.8.4.5

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH 3/5] powerpc: Set CONFIG_NET=y in defconfigs

2014-09-23 Thread Michal Marek
Commit 5d6be6a5 ("scsi_netlink : Make SCSI_NETLINK dependent on NET
instead of selecting NET") removed what happened to be the only instance
of 'select NET'. Defconfigs that were relying on the select now lack
networking support.

Reported-by: Stephen Rothwell 
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Michal Marek 
---
 arch/powerpc/configs/pmac32_defconfig | 1 +
 arch/powerpc/configs/ppc64_defconfig  | 1 +
 arch/powerpc/configs/ppc64e_defconfig | 1 +
 arch/powerpc/configs/pseries_defconfig| 1 +
 arch/powerpc/configs/pseries_le_defconfig | 1 +
 5 files changed, 5 insertions(+)

diff --git a/arch/powerpc/configs/pmac32_defconfig 
b/arch/powerpc/configs/pmac32_defconfig
index 553e662..0351b5f 100644
--- a/arch/powerpc/configs/pmac32_defconfig
+++ b/arch/powerpc/configs/pmac32_defconfig
@@ -31,6 +31,7 @@ CONFIG_HIBERNATION=y
 CONFIG_APM_EMULATION=y
 CONFIG_PCCARD=m
 CONFIG_YENTA=m
+CONFIG_NET=y
 CONFIG_PACKET=y
 CONFIG_UNIX=y
 CONFIG_XFRM_USER=y
diff --git a/arch/powerpc/configs/ppc64_defconfig 
b/arch/powerpc/configs/ppc64_defconfig
index f6c02f8..3651887 100644
--- a/arch/powerpc/configs/ppc64_defconfig
+++ b/arch/powerpc/configs/ppc64_defconfig
@@ -58,6 +58,7 @@ CONFIG_ELECTRA_CF=y
 CONFIG_HOTPLUG_PCI=y
 CONFIG_HOTPLUG_PCI_RPA=m
 CONFIG_HOTPLUG_PCI_RPA_DLPAR=m
+CONFIG_NET=y
 CONFIG_PACKET=y
 CONFIG_UNIX=y
 CONFIG_XFRM_USER=m
diff --git a/arch/powerpc/configs/ppc64e_defconfig 
b/arch/powerpc/configs/ppc64e_defconfig
index 587f551..c3a3269 100644
--- a/arch/powerpc/configs/ppc64e_defconfig
+++ b/arch/powerpc/configs/ppc64e_defconfig
@@ -33,6 +33,7 @@ CONFIG_SPARSEMEM_MANUAL=y
 CONFIG_PCI_MSI=y
 CONFIG_PCCARD=y
 CONFIG_HOTPLUG_PCI=y
+CONFIG_NET=y
 CONFIG_PACKET=y
 CONFIG_UNIX=y
 CONFIG_XFRM_USER=m
diff --git a/arch/powerpc/configs/pseries_defconfig 
b/arch/powerpc/configs/pseries_defconfig
index 50375f1..dd2a9ca 100644
--- a/arch/powerpc/configs/pseries_defconfig
+++ b/arch/powerpc/configs/pseries_defconfig
@@ -53,6 +53,7 @@ CONFIG_SCHED_SMT=y
 CONFIG_HOTPLUG_PCI=y
 CONFIG_HOTPLUG_PCI_RPA=m
 CONFIG_HOTPLUG_PCI_RPA_DLPAR=m
+CONFIG_NET=y
 CONFIG_PACKET=y
 CONFIG_UNIX=y
 CONFIG_XFRM_USER=m
diff --git a/arch/powerpc/configs/pseries_le_defconfig 
b/arch/powerpc/configs/pseries_le_defconfig
index 4428ee4..63392f4 100644
--- a/arch/powerpc/configs/pseries_le_defconfig
+++ b/arch/powerpc/configs/pseries_le_defconfig
@@ -55,6 +55,7 @@ CONFIG_SCHED_SMT=y
 CONFIG_HOTPLUG_PCI=y
 CONFIG_HOTPLUG_PCI_RPA=m
 CONFIG_HOTPLUG_PCI_RPA_DLPAR=m
+CONFIG_NET=y
 CONFIG_PACKET=y
 CONFIG_UNIX=y
 CONFIG_XFRM_USER=m
-- 
1.8.4.5

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH v2] deb-pkg: Add support for powerpc little endian

2014-09-12 Thread Michal Marek
On 2014-09-07 04:42, Ben Hutchings wrote:
> On Fri, 2014-09-05 at 09:09 -0300, Thadeu Lima de Souza Cascardo wrote:
>> On Fri, Sep 05, 2014 at 05:55:18PM +1000, Michael Neuling wrote:
>>> On Fri, 2014-09-05 at 09:13 +0200, Gabriel Paubert wrote:
>>>> On Fri, Sep 05, 2014 at 03:28:47PM +1000, Michael Neuling wrote:
>>>>> The Debian powerpc little endian architecture is called ppc64le.  This
>>>>
>>>> Huh? ppc64le or ppc64el?
>>>
>>> ppc64el.  Commit message is wrong.  Fixed below.
>>>
>>> Mikey
>>>
>>>
>>
>> What about ppc64?
>>
>> Also, I sent that already a month ago. Both linuxppc-dev and Michal
>> Marek were on cc.
>>
>> http://marc.info/?l=linux-kernel&m=140744360328562&w=2
> 
> Anyone using powerpc (32-bit) will then need to add ppc64 as a foreign
> architecture before they can install a 64-bit custom kernel.  This is
> fine in principle, except that ppc64 is not an official Debian port and
> its packages are not mirrored on the same servers.
[...]
> So I think Michael's version, leaving big-endian kernels as powerpc by
> default, is preferable for now.

I applied v2 of Michael's patch to kbuild.git#misc.

Michal
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH v2] powerpc: Avoid circular dependency with zImage.%

2014-06-12 Thread Michal Marek
Dne 12.6.2014 04:07, Mike Qiu napsal(a):
> This v2 patch is good,
> 
> Tested-by: Mike Qiu 

Thanks. In kbuild.git it goes.

Michal
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

[PATCH v2] powerpc: Avoid circular dependency with zImage.%

2014-06-11 Thread Michal Marek
The rule to create the final images uses a zImage.% pattern.
Unfortunately, this also matches the names of the zImage.*.lds linker
scripts, which appear as a dependency of the final images. This somehow
worked when $(srctree) used to be an absolute path, but now the pattern
matches too much. List only the images from $(image-y) as the target of
the rule, to avoid the circular dependency.

Signed-off-by: Michal Marek 
---
v2:
  - Filter out duplicates in the target list
  - fix the platform argument to cmd_wrap

 arch/powerpc/boot/Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 426dce7..ccc25ed 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -333,8 +333,8 @@ $(addprefix $(obj)/, $(initrd-y)): $(obj)/ramdisk.image.gz
 $(obj)/zImage.initrd.%: vmlinux $(wrapperbits)
$(call if_changed,wrap,$*,,,$(obj)/ramdisk.image.gz)
 
-$(obj)/zImage.%: vmlinux $(wrapperbits)
-   $(call if_changed,wrap,$*)
+$(addprefix $(obj)/, $(sort $(filter zImage.%, $(image-y: vmlinux 
$(wrapperbits)
+   $(call if_changed,wrap,$(subst $(obj)/zImage.,,$@))
 
 # dtbImage% - a dtbImage is a zImage with an embedded device tree blob
 $(obj)/dtbImage.initrd.%: vmlinux $(wrapperbits) $(obj)/%.dtb
-- 
1.9.2

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: Kernel build fail with "Circular xxxx <- xxxx dependency dropped"

2014-06-11 Thread Michal Marek
Dne 11.6.2014 14:21, Michal Marek napsal(a):
> On Wed, Jun 11, 2014 at 10:24:24AM +0200, Michal Marek wrote:
>> Dne 11.6.2014 08:02, Mike Qiu napsal(a):
>>> make[1]: Circular arch/powerpc/boot/zImage.lds.S <-
>>> arch/powerpc/boot/zImage.lds dependency dropped.
>>> make[1]: Circular arch/powerpc/boot/zImage.coff.lds.S <-
>>> arch/powerpc/boot/zImage.lds dependency dropped.
>>> make[1]: Circular arch/powerpc/boot/zImage.coff.lds.S <-
>>> arch/powerpc/boot/zImage.coff.lds dependency dropped.
>>> make[1]: Circular arch/powerpc/boot/zImage.ps3.lds.S <-
>>> arch/powerpc/boot/zImage.lds dependency dropped.
>>> make[1]: Circular arch/powerpc/boot/zImage.ps3.lds.S <-
>>> arch/powerpc/boot/zImage.coff.lds dependency dropped.
>>> make[1]: Circular arch/powerpc/boot/zImage.ps3.lds.S <-
>>> arch/powerpc/boot/zImage.ps3.lds dependency dropped.
>>>   WRAParch/powerpc/boot/zImage.ps3.lds.S
>>> INFO: Uncompressed kernel (size 0x14d0db8) overlaps the address of the
>>> wrapper(0x40)
>>> INFO: Fixing the link_address of wrapper to (0x150)
>>> ld: cannot open linker script file arch/powerpc/boot/zImage.lds: No such
>>> file or directory
>>> make[1]: *** [arch/powerpc/boot/zImage.ps3.lds.S] Error 1
>>> make: *** [zImage] Error 2
>>> make: *** Waiting for unfinished jobs
>>>   MODPOST 1853 modules
>>>
>>> I use git bisect to find out the possible commits to lead this problem:
>>> 7e1c04779efd51154baf652e653ceb24ce68939b kbuild: Use relative path for
>>> $(objtree)
>>> 890676c65d699db3ad82e70cf8fb449031af kbuild: Use relative path when
>>> building in the source tree
>>> 9da0763bdd82572be243fcf5161734f11568960f kbuild: Use relative path when
>>> building in a subdir of the source tree
>>
>> Thanks for the report, I'll have a look. If I do not come up with a
>> solution soon, I'll revert the series.
> 
> I have yet to test this, but can you try the patch below?
> 
> Thanks!
> Michal
> 
> 
> From 7f8336f4c7f2131efbe82543580dda3ec1988609 Mon Sep 17 00:00:00 2001
> From: Michal Marek 
> Date: Wed, 11 Jun 2014 13:53:48 +0200
> Subject: [PATCH] powerpc: Avoid circular dependency with zImage.%
> 
> The rule to create the final images uses a zImage.% pattern.
> Unfortunately, this also matches the names of the zImage.*.lds linker
> scripts, which appear as a dependency of the final images. This somehow
> worked when $(srctree) used to be an absolute path, but now the pattern
> matches too much. List only the images from $(image-y) as the target of
> the rule, to avoid the circular dependency.
> 

If merged, this should of course have a Reported-by: Mike Qiu


Michal
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: Kernel build fail with "Circular xxxx <- xxxx dependency dropped"

2014-06-11 Thread Michal Marek
On Wed, Jun 11, 2014 at 10:24:24AM +0200, Michal Marek wrote:
> Dne 11.6.2014 08:02, Mike Qiu napsal(a):
> > make[1]: Circular arch/powerpc/boot/zImage.lds.S <-
> > arch/powerpc/boot/zImage.lds dependency dropped.
> > make[1]: Circular arch/powerpc/boot/zImage.coff.lds.S <-
> > arch/powerpc/boot/zImage.lds dependency dropped.
> > make[1]: Circular arch/powerpc/boot/zImage.coff.lds.S <-
> > arch/powerpc/boot/zImage.coff.lds dependency dropped.
> > make[1]: Circular arch/powerpc/boot/zImage.ps3.lds.S <-
> > arch/powerpc/boot/zImage.lds dependency dropped.
> > make[1]: Circular arch/powerpc/boot/zImage.ps3.lds.S <-
> > arch/powerpc/boot/zImage.coff.lds dependency dropped.
> > make[1]: Circular arch/powerpc/boot/zImage.ps3.lds.S <-
> > arch/powerpc/boot/zImage.ps3.lds dependency dropped.
> >   WRAParch/powerpc/boot/zImage.ps3.lds.S
> > INFO: Uncompressed kernel (size 0x14d0db8) overlaps the address of the
> > wrapper(0x40)
> > INFO: Fixing the link_address of wrapper to (0x150)
> > ld: cannot open linker script file arch/powerpc/boot/zImage.lds: No such
> > file or directory
> > make[1]: *** [arch/powerpc/boot/zImage.ps3.lds.S] Error 1
> > make: *** [zImage] Error 2
> > make: *** Waiting for unfinished jobs
> >   MODPOST 1853 modules
> > 
> > I use git bisect to find out the possible commits to lead this problem:
> > 7e1c04779efd51154baf652e653ceb24ce68939b kbuild: Use relative path for
> > $(objtree)
> > 890676c65d699db3ad82e70cf8fb449031af kbuild: Use relative path when
> > building in the source tree
> > 9da0763bdd82572be243fcf5161734f11568960f kbuild: Use relative path when
> > building in a subdir of the source tree
> 
> Thanks for the report, I'll have a look. If I do not come up with a
> solution soon, I'll revert the series.

I have yet to test this, but can you try the patch below?

Thanks!
Michal


From 7f8336f4c7f2131efbe82543580dda3ec1988609 Mon Sep 17 00:00:00 2001
From: Michal Marek 
Date: Wed, 11 Jun 2014 13:53:48 +0200
Subject: [PATCH] powerpc: Avoid circular dependency with zImage.%

The rule to create the final images uses a zImage.% pattern.
Unfortunately, this also matches the names of the zImage.*.lds linker
scripts, which appear as a dependency of the final images. This somehow
worked when $(srctree) used to be an absolute path, but now the pattern
matches too much. List only the images from $(image-y) as the target of
the rule, to avoid the circular dependency.

Signed-off-by: Michal Marek 
---
 arch/powerpc/boot/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 426dce7..c60992c 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -333,7 +333,7 @@ $(addprefix $(obj)/, $(initrd-y)): $(obj)/ramdisk.image.gz
 $(obj)/zImage.initrd.%: vmlinux $(wrapperbits)
$(call if_changed,wrap,$*,,,$(obj)/ramdisk.image.gz)
 
-$(obj)/zImage.%: vmlinux $(wrapperbits)
+$(addprefix $(obj)/, $(filter zImage.%, $(image-y))): vmlinux $(wrapperbits)
$(call if_changed,wrap,$*)
 
 # dtbImage% - a dtbImage is a zImage with an embedded device tree blob
-- 
1.9.2

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: Kernel build fail with "Circular xxxx <- xxxx dependency dropped"

2014-06-11 Thread Michal Marek
Dne 11.6.2014 08:02, Mike Qiu napsal(a):
> Hi all,
> 
> I recently build linux next kernel in IBM Power7 platform, use default
> config file copy from /boot/config-3.6.10-4.fc18.ppc64p7
> 
> [root@cena01 linux-next]# uname -a
> Linux cena01.austin.ibm.com 3.15.0-rc1+ #47 SMP Thu Apr 24 20:59:46 CDT
> 2014 ppc64 ppc64 ppc64 GNU/Linux
> 
> [root@cena01 linux-next]# cat /etc/issue
> Fedora release 18 (Spherical Cow)
> Kernel \r on an \m (\l)
> 
> and build error log below:
> 
> [root@cena01 linux-next]# make -j60
>   CHK include/config/kernel.release
>   CHK include/generated/uapi/linux/version.h
>   CHK include/generated/utsrelease.h
>   CALLscripts/checksyscalls.sh
>   CHK include/generated/compile.h
>   CALLarch/powerpc/kernel/systbl_chk.sh
>   CALLarch/powerpc/kernel/prom_init_check.sh
>   CHK include/generated/uapi/linux/version.h
>   CALLarch/powerpc/relocs_check.pl
>   Building modules, stage 2.
> WARNING: 1 bad relocations
> c1455040 R_PPC64_ADDR64uprobes_fetch_type_table
> make[1]: Circular arch/powerpc/boot/zImage.lds.S <-
> arch/powerpc/boot/zImage.lds dependency dropped.
> make[1]: Circular arch/powerpc/boot/zImage.coff.lds.S <-
> arch/powerpc/boot/zImage.lds dependency dropped.
> make[1]: Circular arch/powerpc/boot/zImage.coff.lds.S <-
> arch/powerpc/boot/zImage.coff.lds dependency dropped.
> make[1]: Circular arch/powerpc/boot/zImage.ps3.lds.S <-
> arch/powerpc/boot/zImage.lds dependency dropped.
> make[1]: Circular arch/powerpc/boot/zImage.ps3.lds.S <-
> arch/powerpc/boot/zImage.coff.lds dependency dropped.
> make[1]: Circular arch/powerpc/boot/zImage.ps3.lds.S <-
> arch/powerpc/boot/zImage.ps3.lds dependency dropped.
>   WRAParch/powerpc/boot/zImage.ps3.lds.S
> INFO: Uncompressed kernel (size 0x14d0db8) overlaps the address of the
> wrapper(0x40)
> INFO: Fixing the link_address of wrapper to (0x150)
> ld: cannot open linker script file arch/powerpc/boot/zImage.lds: No such
> file or directory
> make[1]: *** [arch/powerpc/boot/zImage.ps3.lds.S] Error 1
> make: *** [zImage] Error 2
> make: *** Waiting for unfinished jobs
>   MODPOST 1853 modules
> 
> I use git bisect to find out the possible commits to lead this problem:
> 7e1c04779efd51154baf652e653ceb24ce68939b kbuild: Use relative path for
> $(objtree)
> 890676c65d699db3ad82e70cf8fb449031af kbuild: Use relative path when
> building in the source tree
> 9da0763bdd82572be243fcf5161734f11568960f kbuild: Use relative path when
> building in a subdir of the source tree

Thanks for the report, I'll have a look. If I do not come up with a
solution soon, I'll revert the series.

Michal

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH 2/2] Kbuild: Use dtc's -d (dependency) option

2012-01-18 Thread Michal Marek
On 17.1.2012 18:20, Stephen Warren wrote:
> Michal Marek wrote at Saturday, January 14, 2012 3:51 PM:
>> As the C6X port has been merged in this merge window, I can't easily
>> apply this patch to my kbuild branch and at the same time please Linus
>> by basing the pull request on a tagged release. So I'm going to drop the
>> arch/c6x part to keep the kbuild branch "pretty" and let either Mark or
>> Stephen send the patch to Linus directly, once he has merged the kbuild
>> branch. Would that work?
> 
> I was assuming my patches were for 3.4 rather than 3.3, since it's pretty
> late for new features in 3.3. In that case, there wouldn't be an issue,
> right?

OK, that was a misunderstanding then. I applied it to the kbuild branch
for 3.3 and Linus pulled it in the meantime. It's not a terribly
intrusive change, after all.

Michal
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH 2/2] Kbuild: Use dtc's -d (dependency) option

2012-01-14 Thread Michal Marek
On 11.1.2012 20:36, Mark Salter wrote:
> On Mon, 2012-01-09 at 11:38 -0700, Stephen Warren wrote:
>> This hooks dtc into Kbuild's dependency system.
>>
>> Thus, for example, "make dtbs" will rebuild tegra-harmony.dtb if only
>> tegra20.dtsi has changed yet tegra-harmony.dts has not. The previous
>> lack of this feature recently caused me to have very confusing "git
>> bisect" results.
>>
>> For ARM, it's obvious what to add to $(targets). I'm not familiar enough
>> with other architectures to know what to add there. Powerpc appears to
>> already add various .dtb files into $(targets), but the other archs may
>> need something added to $(targets) to work.
>>
>> Signed-off-by: Stephen Warren 
>>
> 
> Acked-by: Mark Salter 
> 
> For the arch/c6x bit.

As the C6X port has been merged in this merge window, I can't easily
apply this patch to my kbuild branch and at the same time please Linus
by basing the pull request on a tagged release. So I'm going to drop the
arch/c6x part to keep the kbuild branch "pretty" and let either Mark or
Stephen send the patch to Linus directly, once he has merged the kbuild
branch. Would that work?

Thanks,
Michal
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


[PATCH v2] powerpc: Use the deterministic mode of ar

2011-05-05 Thread Michal Marek
Cc: Benjamin Herrenschmidt 
Cc: Paul Mackerras 
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Michal Marek 

---

Hi,

this version fixes build with binutils <= 2.19 by first checking if ar(1)
supports the D option. It depends on a previous patch in the kbuild tree,
commit 40df759e (kbuild: Fix build with binutils <= 2.19) in linux-next,
so it will need to go through the kbuild tree. But feedback from the PPC
maintainers would be appreciated.

Thanks
Michal

---
 arch/powerpc/boot/Makefile |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 8917816..f0543f8 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -127,7 +127,7 @@ quiet_cmd_bootas = BOOTAS  $@
   cmd_bootas = $(CROSS32CC) -Wp,-MD,$(depfile) $(BOOTAFLAGS) -c -o $@ $<
 
 quiet_cmd_bootar = BOOTAR  $@
-  cmd_bootar = $(CROSS32AR) -cr $@. $(filter-out FORCE,$^); mv $@. 
$@
+  cmd_bootar = $(CROSS32AR) -cr$(KBUILD_ARFLAGS) $@. $(filter-out 
FORCE,$^); mv $@. $@
 
 $(obj-libfdt): $(obj)/%.o: $(srctree)/scripts/dtc/libfdt/%.c FORCE
$(call if_changed_dep,bootcc)
-- 
1.7.4.1

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH 00/34] Make kernel build deterministic

2011-04-06 Thread Michal Marek
On 5.4.2011 17:49, Greg KH wrote:
> Very nice stuff.  Do you want to take the individual patches through one
> of your trees, or do you mind if the subsystem maintainers take them
> through theirs?

I'd leave it up to the subsystem maintainers. I'll check once the merge
window opens and send the remaining patches to Linus directly.

Michal
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH 00/34] Make kernel build deterministic

2011-04-06 Thread Michal Marek
On 5.4.2011 21:24, Artem Bityutskiy wrote:
> On Tue, 2011-04-05 at 08:49 -0700, Greg KH wrote:
>> On Tue, Apr 05, 2011 at 04:58:47PM +0200, Michal Marek wrote:
>>>
>>> Hi,
>>>
>>> this series makes it possible to build bit-identical kernel image and
>>> modules from identical sources. Of course the build is already
>>> deterministic in terms of behavior of the code, but the various
>>> timestamps embedded in the object files make it hard to compare two
>>> builds, for instance to verify that a makefile cleanup didn't
>>> accidentally change something. A prime example is /proc/config.gz, which
>>> has both a timestamp in the gzip header and a timestamp in the payload
>>> data. With this series applied, a script like this will produce
>>> identical kernels each time:
>>
>> Very nice stuff.  Do you want to take the individual patches through one
>> of your trees, or do you mind if the subsystem maintainers take them
>> through theirs?
> 
> But unfortunately, it is very easy to break this and for sure it'll be
> broken very soon.

I'm not so pessimistic. 34 patches and 57 files might sound like a lot,
but given that this has been accumulating since day one, the cleanup
should last for some time.


> So additionally, I'd suggest:
> 1. Instrument checkpatch.pl and make it err or warn on timestamps.

This is patch 34/34 in this series: https://lkml.org/lkml/2011/4/5/198


> 2. Probably instrument linux-next to rise a warning when people break
>this.

I'm not sure if Stephen has that much spare time, and I don't think it
is necessary. I think the checkpatch check is sufficient and I'll check
myself occasionally.

Michal
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


[PATCH 00/34] Make kernel build deterministic

2011-04-05 Thread Michal Marek

Hi,

this series makes it possible to build bit-identical kernel image and
modules from identical sources. Of course the build is already
deterministic in terms of behavior of the code, but the various
timestamps embedded in the object files make it hard to compare two
builds, for instance to verify that a makefile cleanup didn't
accidentally change something. A prime example is /proc/config.gz, which
has both a timestamp in the gzip header and a timestamp in the payload
data. With this series applied, a script like this will produce
identical kernels each time:

#!/bin/bash
rm -rf /dev/shm/{source,build}{,1,2}
export KCONFIG_NOTIMESTAMP=1
export KBUILD_BUILD_TIMESTAMP='Sun May  1 12:00:00 CEST 2011'
export KBUILD_BUILD_USER=user
export KBUILD_BUILD_HOST=host
export ROOT_DEV=FLOPPY
for i in 1 2; do
mkdir /dev/shm/source
# randomize the inode order just for fun
git ls-tree -r -z --name-only HEAD | sort -R -z | xargs -0 \
cp --parents --target=/dev/shm/source
pushd /dev/shm/source
mkdir /dev/shm/build
>/dev/shm/build/all.config
for opt in GCOV_KERNEL UBIFS_FS_DEBUG; do
echo "# CONFIG_$opt is not set" >>"/dev/shm/build"/all.config
done
make O="/dev/shm/build" KCONFIG_ALLCONFIG=1 allmodconfig
make O="/dev/shm/build" -j64
popd
mv /dev/shm/source /dev/shm/source$i
mv /dev/shm/build /dev/shm/build$i
done
diff -rq /dev/shm/build{1,2}

Unfortunatelly, this cannot be used to validate indentation-only
patches, even if CONFIG_DEBUG_INFO is turned off. This is because of the
__FILE__ and __LINE__ macros used in many places. For the same reason,
the source and build directory needs to be the same, otherwise the
results will differ. This was tested on
x86_64/{defconfig,allmodconfig,allyesconfig} and ppc64/defconfig. The
series is also available at

git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6.git 
deterministic-build-v1

Michal


Michal Marek (34):
  kconfig: Do not record timestamp in auto.conf and autoconf.h
  kbuild: Call gzip with -n
  powerpc: Call gzip with -n
  kbuild: Use the deterministic mode of ar
  powerpc: Use the deterministic mode of ar
  kbuild: Drop unused LINUX_COMPILE_TIME and LINUX_COMPILE_DOMAIN
macros
  kbuild: Allow to override LINUX_COMPILE_BY and LINUX_COMPILE_HOST
macros
  initramfs: Use KBUILD_BUILD_TIMESTAMP for generated entries
  x86: Allow to override the ROOT_DEV variable
  cyclades: Drop __TIME__ usage
  nozomi: Drop __TIME__ usage
  isdn/diva: Drop __TIME__ usage
  media/radio-maxiradio: Drop __TIME__ usage
  media/cx231xx: Drop __TIME__ usage
  baycom: Drop __TIME__ usage
  nand/denali: Drop __TIME__ usage
  hdlcdrv: Drop __TIME__ usage
  wan/pc300: Drop __TIME__ usage
  rt2x00: Drop __TIME__ usage
  parport: Drop __TIME__ usage
  aacraid: Drop __TIME__ usage
  scsi/in2000: Drop __TIME__ usage
  scsi/wd33c93: Drop __TIME__ usage
  usb/u132-hcd: Drop __TIME__ usage
  usb/ftdi-elan: Drop __TIME__ usage
  dlm: Drop __TIME__ usage
  gfs2: Drop __TIME__ usage
  atm: Drop __TIME__ usage
  tipc: Drop __TIME__ usage
  rio: Drop __DATE__ usage
  edac: Drop __DATE__ usage
  pmcraid: Drop __DATE__ usage
  usb/lh7a40x_udc: Drop __DATE__ usage
  checkpatch: Warn about usage of __DATE__, __TIME__ and __TIMESTAMP__

 Documentation/kbuild/kbuild.txt  |   12 ++
 arch/powerpc/boot/Makefile   |2 +-
 arch/powerpc/boot/wrapper|6 ++--
 arch/x86/boot/Makefile   |2 +-
 drivers/char/cyclades.c  |3 +-
 drivers/char/nozomi.c|3 +-
 drivers/char/rio/rioinit.c   |2 +-
 drivers/edac/amd76x_edac.c   |2 +-
 drivers/edac/amd8111_edac.c  |2 +-
 drivers/edac/amd8131_edac.c  |2 +-
 drivers/edac/cpc925_edac.c   |2 +-
 drivers/edac/e752x_edac.c|2 +-
 drivers/edac/e7xxx_edac.c|2 +-
 drivers/edac/edac_module.c   |2 +-
 drivers/edac/i5000_edac.c|2 +-
 drivers/edac/i5400_edac.c|2 +-
 drivers/edac/i7300_edac.c|2 +-
 drivers/edac/i7core_edac.c   |2 +-
 drivers/edac/i82860_edac.c   |2 +-
 drivers/edac/i82875p_edac.c  |2 +-
 drivers/edac/i82975x_edac.c  |2 +-
 drivers/edac/mpc85xx_edac.h  |2 +-
 drivers/edac/mv64x60_edac.h  |2 +-
 drivers/edac/ppc4xx_edac.c   |2 +-
 drivers/edac/r82600_edac.c   |2 +-
 drivers/isdn/hardware/eicon/divasfunc.c  |5 +--
 drivers/media/radio/radio-maxiradio.c|3 +-
 drivers/media/video/cx231xx/cx231xx-avcore.c |2 +-
 dri

[PATCH 05/34] powerpc: Use the deterministic mode of ar

2011-04-05 Thread Michal Marek
Cc: Benjamin Herrenschmidt 
Cc: Paul Mackerras 
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Michal Marek 
---
 arch/powerpc/boot/Makefile |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 8917816..d028a65 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -127,7 +127,7 @@ quiet_cmd_bootas = BOOTAS  $@
   cmd_bootas = $(CROSS32CC) -Wp,-MD,$(depfile) $(BOOTAFLAGS) -c -o $@ $<
 
 quiet_cmd_bootar = BOOTAR  $@
-  cmd_bootar = $(CROSS32AR) -cr $@. $(filter-out FORCE,$^); mv $@. 
$@
+  cmd_bootar = $(CROSS32AR) -crD $@. $(filter-out FORCE,$^); mv 
$@. $@
 
 $(obj-libfdt): $(obj)/%.o: $(srctree)/scripts/dtc/libfdt/%.c FORCE
$(call if_changed_dep,bootcc)
-- 
1.7.4.1

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


[PATCH 03/34] powerpc: Call gzip with -n

2011-04-05 Thread Michal Marek
The timestamps recorded in the .gz files add no value.

Cc: Benjamin Herrenschmidt 
Cc: Paul Mackerras 
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Michal Marek 
---
 arch/powerpc/boot/wrapper |6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper
index cb97e75..854797b 100755
--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
@@ -251,7 +251,7 @@ if [ -z "$cacheit" -o ! -f "$vmz$gzip" -o "$vmz$gzip" -ot 
"$kernel" ]; then
 ${CROSS}objcopy $objflags "$kernel" "$vmz.$$"
 
 if [ -n "$gzip" ]; then
-gzip -f -9 "$vmz.$$"
+gzip -n -f -9 "$vmz.$$"
 fi
 
 if [ -n "$cacheit" ]; then
@@ -336,7 +336,7 @@ coff)
 $objbin/hack-coff "$ofile"
 ;;
 cuboot*)
-gzip -f -9 "$ofile"
+gzip -n -f -9 "$ofile"
 ${MKIMAGE} -A ppc -O linux -T kernel -C gzip -a "$base" -e "$entry" \
 $uboot_version -d "$ofile".gz "$ofile"
 ;;
@@ -383,6 +383,6 @@ ps3)
 
 odir="$(dirname "$ofile.bin")"
 rm -f "$odir/otheros.bld"
-gzip --force -9 --stdout "$ofile.bin" > "$odir/otheros.bld"
+gzip -n --force -9 --stdout "$ofile.bin" > "$odir/otheros.bld"
 ;;
 esac
-- 
1.7.4.1

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH 1/4] of: Add support for linking device tree blobs into vmlinux

2010-12-22 Thread Michal Marek

On 22.12.2010 20:57, dirk.brande...@gmail.com wrote:

From: Dirk Brandewie

This patch adds support for linking device tree blob(s) into
vmlinux. Modifies asm-generic/vmlinux.lds.h to add linking
.dtb sections into vmlinux. To maintain compatiblity with the of/fdt
driver code platforms MUST copy the blob to a non-init memory location
before the kernel frees the .init.* sections in the image.

Modifies scripts/Makefile.lib to add a kbuild command to
compile DTS files to device tree blobs and a rule to create objects to
wrap the blobs for linking.

STRUCT_ALIGNMENT is defined in vmlinux.lds.h for use in the rule to
create wrapper objects for the dtb in Makefile.lib.  The
STRUCT_ALIGN() macro in vmlinux.lds.h is modified to use the
STRUCT_ALIGNMENT definition.

The DTB's are placed on 32 byte boundries to allow parsing the blob
with driver/of/fdt.c during early boot without having to copy the blob
to get the structure alignment GCC expects.

A DTB is linked in by adding the DTB object to the list of objects to
be linked into vmlinux in the archtecture specific Makefile using
obj-y += foo.dtb.o

Signed-off-by: Dirk Brandewie


Hi,

you can add
Acked-by: Michal Marek 
but I thing this series should go through the tip tree, as your primary 
target seems to be x86 and patch 2/4 depends on the ce4100 code that is 
only in tip.


Michal


---
  Documentation/kbuild/makefiles.txt |   15 +++
  include/asm-generic/vmlinux.lds.h  |   13 +++--
  scripts/Makefile.lib   |   23 +++
  3 files changed, 49 insertions(+), 2 deletions(-)

diff --git a/Documentation/kbuild/makefiles.txt 
b/Documentation/kbuild/makefiles.txt
index 0ef00bd..86e3cd0 100644
--- a/Documentation/kbuild/makefiles.txt
+++ b/Documentation/kbuild/makefiles.txt
@@ -1136,6 +1136,21 @@ When kbuild executes, the following steps are followed 
(roughly):
  resulting in the target file being recompiled for no
  obvious reason.

+dtc
+   Create flattend device tree blob object suitable for linking
+   into vmlinux. Device tree blobs linked into vmlinux are placed
+   in an init section in the image. Platform code *must* copy the
+   blob to non-init memory prior to calling unflatten_device_tree().
+
+   Example:
+   #arch/x86/platform/ce4100/Makefile
+   clean-files := *dtb.S
+
+   DTC_FLAGS := -p 1024
+   obj-y += foo.dtb.o
+
+   $(obj)/%.dtb: $(src)/%.dts
+   $(call cmd,dtc)

  --- 6.7 Custom kbuild commands

diff --git a/include/asm-generic/vmlinux.lds.h 
b/include/asm-generic/vmlinux.lds.h
index bd69d79..05cbad0 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -67,7 +67,8 @@
   * Align to a 32 byte boundary equal to the
   * alignment gcc 4.5 uses for a struct
   */
-#define STRUCT_ALIGN() . = ALIGN(32)
+#define STRUCT_ALIGNMENT 32
+#define STRUCT_ALIGN() . = ALIGN(STRUCT_ALIGNMENT)

  /* The actual configuration determine if the init/exit sections
   * are handled as text/data or they can be discarded (which
@@ -146,6 +147,13 @@
  #define TRACE_SYSCALLS()
  #endif

+
+#define KERNEL_DTB()   \
+   STRUCT_ALIGN(); \
+   VMLINUX_SYMBOL(__dtb_start) = .;\
+   *(.dtb.init.rodata) \
+   VMLINUX_SYMBOL(__dtb_end) = .;
+
  /* .data section */
  #define DATA_DATA \
*(.data)\
@@ -468,7 +476,8 @@
MCOUNT_REC()\
DEV_DISCARD(init.rodata)\
CPU_DISCARD(init.rodata)\
-   MEM_DISCARD(init.rodata)
+   MEM_DISCARD(init.rodata)\
+   KERNEL_DTB()

  #define INIT_TEXT \
*(.init.text)   \
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 4c72c11..7df8eb5 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -200,6 +200,29 @@ quiet_cmd_gzip = GZIP$@
  cmd_gzip = (cat $(filter-out FORCE,$^) | gzip -f -9>  $@) || \
(rm -f $@ ; false)

+# DTC
+#  ---
+
+# Generate an assembly file to wrap the output of the device tree compiler
+quiet_cmd_dt_S_dtb= DTB$@
+cmd_dt_S_dtb=  \
+(  \
+   echo '\#include';  \
+   echo '.section .dtb.init.rodata,"a"'; \
+   echo '.balign STRUCT_ALIGNMENT';  

Re: [PATCH 1/4] of: Add support for linking device tree blobs into vmlinux

2010-12-21 Thread Michal Marek
On 8.12.2010 16:01, dirk.brande...@gmail.com wrote:
> +quiet_cmd_dt_S_dtb= DTB$@

> +quiet_cmd_dtc = DTC $@

Hi,

just an aesthetic remark: The target name should start at the 9th
column, so there should be 5 spaces after both "DTB" and "DTC".

Michal
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH 2/4] x86/of: Add building device tree blob(s) into image.

2010-12-21 Thread Michal Marek
On 8.12.2010 16:01, dirk.brande...@gmail.com wrote:
> From: Dirk Brandewie 
> 
> This patch adds linking device tree blob into vmlinux. DTB's are
> added by adding the blob object name to list of objects to be linked
> into the image.
> 
> Signed-off-by: Dirk Brandewie 
> ---
>  arch/x86/platform/ce4100/Makefile |   10 ++
>  1 files changed, 10 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/x86/platform/ce4100/Makefile 
> b/arch/x86/platform/ce4100/Makefile
> index 91fc929..e5f3b7b 100644
> --- a/arch/x86/platform/ce4100/Makefile
> +++ b/arch/x86/platform/ce4100/Makefile
> @@ -1 +1,11 @@
>  obj-$(CONFIG_X86_INTEL_CE)   += ce4100.o
> +clean-files := *dtb.S
> +
> +ifdef CONFIG_X86_OF
> +###
> +# device tree blob
> +obj-$(CONFIG_X86_INTEL_CE) += ce4100.dtb.o
> +
> +$(obj)/%.dtb: $(src)/%.dts
> + $(call cmd,dtc)
> +endif

Hi,

CONFIG_X86_OF should be defined in some Kconfig file and there is no
ce4100.dts??

Michal
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH] kbuild: Enable building defconfigs from Kconfig files

2010-07-13 Thread Michal Marek
On 07/13/2010 03:43 AM, Stephen Rothwell wrote:
> After this change, doing a "make xxx_defconfig" will check first for
> a file called arch//configs/Kconfig.xxx and use that to generate
> the .config (effectively starting from an allnoconfig).  If that file
> doesn't exist, it will use arch//configs/xxx_defconfig as now.
> 
> Signed-off-by: Stephen Rothwell 
> ---
>  scripts/kconfig/Makefile |   14 +-
>  1 files changed, 13 insertions(+), 1 deletions(-)
> 
> Hi Linus,
> 
> Is this more the direction you want to take?
> 
> There are still 2 main problems with is approach:
> 
>   - there are some config options that are globally and
> unconditionally enabled that some platforms may not want.  The only way
> currently to turn them off is to reproduce the config entry with the
> different default.  I am not sure if we need a wa to turn them off or to
> just change them to being neede to be selected by those that do want them.
>   - we have no way to select options that are neither bool or
> tristate to suitable values.  Again the only way to do that currently is
> to reproduce the config entry with a different default value.

Hi Stephen,

how are these Kconfig.xxx files going look like? A list of 'select FOO'
 and 'include "Kconfig.other"' statements?

What about adding support for an include statement to the .config file
format and using that in the defconfigs instead? The VARIABLE=VALUE
grammar seems much more suitable for this than the kconfig language.

Michal
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH 31/40] trace syscalls: Convert various generic compat syscalls

2010-06-24 Thread Michal Marek
On 23.6.2010 12:37, Andi Kleen wrote:
> It also has maintenance costs, e.g. I doubt ctags and cscope
> will be able to deal with these kinds of macros, so it has a
> high cost for everyone using these tools.

FWIW, patch 16/40 of this series teaches 'make tags' to recognize these
macros: http://permalink.gmane.org/gmane.linux.kernel/1002103

Michal
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH 16/40] tags: recognize compat syscalls

2010-06-24 Thread Michal Marek
On 23.6.2010 12:02, Ian Munsie wrote:
> From: Jason Baron 
> 
> make tags.sh recognize the new syscall macros:
> 
> COMPAT_SYSCALL_DEFINE#N()
> ARCH_COMPAT_SYSCALL_DEFINE#N()
> 
> Signed-off-by: Jason Baron 
> Signed-off-by: Ian Munsie 

Acked-by: Michal Marek 

Michal
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [patch 2/2] kbuild: move -fno-dwarf2-cfi-asm to powerpc only

2010-02-04 Thread Michal Marek
On 4.2.2010 00:22, Benjamin Herrenschmidt wrote:
> On Tue, 2010-02-02 at 14:40 -0800, a...@linux-foundation.org wrote:
>> From: Andi Kleen 
>>
>> Better dwarf2 unwind information is a good thing, it allows better
>> debugging with kgdb and crash and helps systemtap.
>>
>> Commit 003086497f07f7f1e67c0c295e261740f822b377 ("Build with
>> -fno-dwarf2-cfi-asm") disabled some CFI information globally to work
>> around a module loader bug on powerpc.
>>
>> But this disables the better unwind tables for all architectures, not just
>> powerpc.  Move the workaround to powerpc and also add a suitable comment
>> that's it really a workaround.
>>
>> This improves dwarf2 unwind tables on x86 at least.
>>
>> Signed-off-by: Andi Kleen 
>> Cc: Kyle McMartin 
> 
> Acked-by: Benjamin Herrenschmidt 
> 
> Do you want me to carry that in powerpc-next ?

I can add it to kbuild-next. Changes to the top-level Makefile usually
go through kbuild, so it will avoid potential conflicts.

Michal
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: 2.6.22-rc6-mm1

2007-06-30 Thread Michal Marek
Andrew Morton wrote:
> On Fri, 29 Jun 2007 14:32:09 +0200
> Mariusz Kozlowski <[EMAIL PROTECTED]> wrote:
>> anyway after unselecting XMON we can see:
>>
>>   CC [M]  fs/xfs/linux-2.6/xfs_ioctl32.o
>> fs/xfs/linux-2.6/xfs_ioctl32.c: In function 'xfs_ioc_bulkstat_compat':
>> fs/xfs/linux-2.6/xfs_ioctl32.c:334: error: 'xfs_inumbers_fmt_compat' 
>> undeclared (first use in this function)
>> fs/xfs/linux-2.6/xfs_ioctl32.c:334: error: (Each undeclared identifier is 
>> reported only once
>> fs/xfs/linux-2.6/xfs_ioctl32.c:334: error: for each function it appears in.)
>> make[2]: *** [fs/xfs/linux-2.6/xfs_ioctl32.o] Blad 1
>> make[1]: *** [fs/xfs] Blad 2
> 
> Michal cc'ed.  I think this is the one which was already reported but
> I haven't seen a fix yet?

Hi, I sent you an updated patch yesterday (should I've changed the
subject / started a new thread? This was my first patch so bear with
me... :)). Anyway, the mail with the fix is here:
http://lkml.org/lkml/2007/6/29/87

Michal
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev