summaryrefslogtreecommitdiffstats
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* kbuild: fix toplevel Makefile/depmodDavid Brownell2007-10-201-1/+1
| | | | | | | This removes a syntax error (seen building on Ubuntu Feisty). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuildLinus Torvalds2007-10-191-33/+38
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: kbuild: fix first module build kconfig: update kconfig-language text kbuild: introduce cc-cross-prefix kbuild: disable depmod in cross-compile kernel build kbuild: make deb-pkg - add 'Provides:' line kconfig: comment typo in scripts/kconfig/Makefile. kbuild: stop docproc segfaulting when SRCTREE isn't set. kbuild: modpost problem when symbols move from one module to another kbuild: cscope - filter out .tmp_* in find_sources kbuild: mailing list has moved kbuild: check asm symlink when building a kernel
| * kbuild: fix first module buildSam Ravnborg2007-10-191-6/+7
| | | | | | | | | | | | | | | | | | | | When building a specific module before doing a total kernel build it failed because $(MORVERDIR) were missing. Creating the MODVERDIR explicit (independent of KBUILD_MODULES) fixed this. As a side-effect the MODVERDIR will be created also for a non-module build - but no harm done by that. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: disable depmod in cross-compile kernel buildSam Ravnborg2007-10-181-18/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building embedded systems in a cross-compile environment and populating a target's file system image, we don't want to run the depmod on the host as we may be building for a completely different architecture. Since there's no such thing as a cross-depmod, we just disable running depmod in the cross-compile case and we just run depmod on the target at bootup. Inspired by patches from Christian, Armin and Deepak. This solves: http://bugzilla.kernel.org/show_bug.cgi?id=3881 Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Christian Bjølevik <nafallo@magicalforest.se> Cc: Deepak Saxena <dsaxena@mvista.com> and Cc: Armin Kuster <akuster@mvista.com>,
| * kbuild: cscope - filter out .tmp_* in find_sourcesYinghai Lu2007-10-181-1/+1
| | | | | | | | | | | | | | remove .tmp_kallsyms*.S in cscope.files Signed-off-by: Yinghai Lu <yinghai.lu@sun.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: check asm symlink when building a kernelSam Ravnborg2007-10-181-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We often hit the situation where the asm symlink in include/ points to the wrong architecture. In 9 out of 10 cases thats because we forgot to set ARCH but sometimes we just reused the same tree for another ARCH. For the merged x86 tree we need to create a new symlink but this is not obvious. So with the following patch we check if the symlink points to the correct architecture and error out if this is not the case. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* | markers: Add samples subdirMathieu Desnoyers2007-10-191-0/+3
|/ | | | | | | | | | | Begin infrastructure for kernel code samples in the samples/ directory. Add its Kconfig and Kbuild files. Source its Kconfig file in all arch/ Kconfigs. Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* kbuild: fix typo SRCARCH in find_sourcesYinghai Lu2007-10-171-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | otherwise get the two copy file list in SRCARCH for cscope: C symbol: start_kernel File Function Line 0 proto.h <global> 11 extern void start_kernel(void ); 1 start_kernel.h <global> 10 extern asmlinkage void __init start_kernel(void ); 2 head32.c i386_start_kernel 37 start_kernel(); 3 head32.c i386_start_kernel 37 start_kernel(); 4 head64.c x86_64_start_kernel 85 start_kernel(); 5 head64.c x86_64_start_kernel 85 start_kernel(); 6 head_32.S options 199 cmpb $0,%cl #the first CPU calls start_kernel 7 head_32.S options 199 cmpb $0,%cl #the first CPU calls start_kernel 8 enlighten.c xen_start_kernel 1145 start_kernel(); 9 enlighten.c xen_start_kernel 1145 start_kernel(); a lguest.c lguest_init 1095 start_kernel(); b main.c start_kernel 513 asmlinkage void __init start_kernel(void ) after the patch: C symbol: start_kernel File Function Line 0 proto.h <global> 11 extern void start_kernel(void ); 1 start_kernel.h <global> 10 extern asmlinkage void __init start_kernel(void ); 2 head32.c i386_start_kernel 37 start_kernel(); 3 head64.c x86_64_start_kernel 85 start_kernel(); 4 head_32.S options 199 cmpb $0,%cl #the first CPU calls start_kernel 5 enlighten.c xen_start_kernel 1145 start_kernel(); 6 lguest.c lguest_init 1095 start_kernel(); 7 main.c start_kernel 513 asmlinkage void __init start_kernel(void ) Signed-off-by: Yinghai Lu <yinghai.lu@sun.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* kbuild: enable 'make CPPFLAGS=...' to add additional options to CPPSam Ravnborg2007-10-151-6/+7
| | | | | | | | | | | | | | | The variable CPPFLAGS is a wellknown variable and the usage by kbuild may result in unexpected behaviour. This patch replace use of CPPFLAGS with KBUILD_CPPFLAGS all over the tree and enabling one to use: make CPPFLAGS=... to specify additional CPP commandline options. Patch was tested on following architectures: alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k, s390 Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* kbuild: enable use of AFLAGS and CFLAGS on commandlineSam Ravnborg2007-10-151-0/+4
| | | | | | | | | | | | | | | The previous patches was preparation. With this patch we can now say: make CFLAGS=-Os vmlinux And the option specified will be appended to the options passed to gcc for C files. For assembler use: make AFLAGS=-foo vmlinux for the same functionality. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* kbuild: enable 'make AFLAGS=...' to add additional options to ASSam Ravnborg2007-10-151-4/+4
| | | | | | | | | | | | | | | The variable AFLAGS is a wellknown variable and the usage by kbuild may result in unexpected behaviour. On top of that several people over time has asked for a way to pass in additional flags to gcc. This patch replace use of AFLAGS with KBUILD_AFLAGS all over the tree. Patch was tested on following architectures: alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k, s390 Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* kbuild: enable 'make CFLAGS=...' to add additional options to CCSam Ravnborg2007-10-141-10/+10
| | | | | | | | | | | | | | | | | | | | | | | The variable CFLAGS is a wellknown variable and the usage by kbuild may result in unexpected behaviour. On top of that several people over time has asked for a way to pass in additional flags to gcc. This patch replace use of CFLAGS with KBUILD_CFLAGS all over the tree and enabling one to use: make CFLAGS=... to specify additional gcc commandline options. One usecase is when trying to find gcc bugs but other use cases has been requested too. Patch was tested on following architectures: alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k Test was simple to do a defconfig build, apply the patch and check that nothing got rebuild. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* kbuild: call export_report from the MakefileAdrian Bunk2007-10-121-0/+4
| | | | | | | | The main feature is that export_report now automatically works for O= builds. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* kbuild: call make once for all targets when O=.. is usedMilton Miller2007-10-121-3/+8
| | | | | | | | | | | | | | | | | | | | | | Change the invocations of make in the output directory Makefile and the main Makefile for separate object trees to pass all goals to one $(MAKE) via a new phony target "sub-make" and the existing target _all. When compiling with separate object directories, a separate make is called in the context of another directory (from the output directory the main Makefile is called, the Makefile is then restarted with current directory set to the object tree). Before this patch, when multiple make command goals are specified, each target results in a separate make invocation. With make -j, these invocations may run in parallel, resulting in multiple commands running in the same directory clobbering each others results. I did not try to address make -j for mixed dot-config and no-dot-config targets. Because the order does matter, a solution was not obvious. Perhaps a simple check for MAKEFLAGS having -j and refusing to run would be appropriate. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* kbuild: pass -g to assembler under CONFIG_DEBUG_INFORoland McGrath2007-10-121-0/+1
| | | | | | | | | | | | | | The assembler for a while now supports -gdwarf to generate source line info just like the C compiler does. Source-level assembly debugging sounds like an oxymoron, but it is handy to be able to see the right source file and read its comments rather than just the disassembly. This patch enables -gdwarf for assembly files when CONFIG_DEBUG_INFO=y and the assembler supports the option. Signed-off-by: Roland McGrath <roland@redhat.com> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* kbuild: fix infinite make recursionSam Ravnborg2007-10-121-1/+3
| | | | | | | | | | | | | | | | | | | | Jan Engelhardt <jengelh@computergmbh.de> reported: You can cause a recursion in kbuild/make with the following: make O=$PWD kernel/time.o make mrproper Of course no one would use O=$PWD (that's just the testcase), but this happened too often: /ws/linux/linux-2.6.23$ make O=/ws/linux/linux-2.6.23 kernel/time.o (Oops - should have been O=/ws/linux/obj-2.6.23!) Fixed by an explicit test for this case - we error out if output directory and source directory are the same. Tested-by: Jan Engelhardt <jengelh@computergmbh.de> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* kbuild: clean Modules.symvers in external module dirsMike Frysinger2007-10-121-0/+2
| | | | | | | | | At the moment, running `make clean` in an external module directory does a nice job of cleaning up with one exception: it leaves behind Modules.symvers. Attached patch adds this file to the clean list for external modules. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* x86: Fix the $(ARCH) dependent help output in the top MakefileThomas Gleixner2007-10-111-2/+2
| | | | | | | | Change the $(ARCH) dependency to $(SRCARCH) to honor the x86 namespace for i386 and x86_64. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* i386/x86_64: move headers to include/asm-x86Thomas Gleixner2007-10-111-8/+9
| | | | | | | | Move the headers to include/asm-x86 and fixup the header install make rules Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* Kbuild: prepare scope and tags for arch/x86Thomas Gleixner2007-10-111-3/+8
| | | | | | | Preparatory patch for the source merge of arch/i386 and arch/x86_64 into arch/x86. Make scope and tags aware of SRCARCH Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* Kbuild: allow arch/xxx to use a different source pathThomas Gleixner2007-10-111-3/+4
| | | | | | | | | Preparatory patch for the source merge of arch/i386 and arch/x86_64 into arch/x86. This allows to keep the original arch directories as stubs for the main Makefiles, Kconfigs et. al during the transition phase while having the code in the new arch/x86 directory. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* Linux 2.6.23v2.6.23Linus Torvalds2007-10-091-1/+1
|
* Linux 2.6.23-rc9v2.6.23-rc9Linus Torvalds2007-10-011-1/+1
| | | | | No, I didn't want to do this, but we had more stuff go in after -rc8 than we had in the previous -rc. Gaah.
* Linux 2.6.23-rc8v2.6.23-rc8Linus Torvalds2007-09-241-1/+1
| | | | Getting there...
* Linux 2.6.23-rc7v2.6.23-rc7Linus Torvalds2007-09-191-2/+2
|
* Linux 2.6.23-rc6v2.6.23-rc6Linus Torvalds2007-09-101-1/+1
|
* Linux 2.6.23-rc5v2.6.23-rc5Linus Torvalds2007-08-311-1/+1
|
* Linux 2.6.23-rc4v2.6.23-rc4Linus Torvalds2007-08-271-2/+2
|
* Linux 2.6.23-rc3v2.6.23-rc3Linus Torvalds2007-08-121-1/+1
|
* Linux 2.6.23-rc2v2.6.23-rc2Linus Torvalds2007-08-031-1/+1
|
* kbuild: use LDFLAGS_MODULE only for .ko linksRoland McGrath2007-07-251-1/+1
| | | | | | | | | | Sam Ravnborg pointed out that Documentation/kbuild/makefiles.txt already says this is what it's for. This patch makes the reality live up to the documentation. This fixes the problem of LDFLAGS_BUILD_ID getting into too many places. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* Linux 2.6.23-rc1v2.6.23-rc1Linus Torvalds2007-07-221-2/+2
| | | | Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuildLinus Torvalds2007-07-191-5/+21
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (33 commits) xtensa: use DATA_DATA in xtensa powerpc: add missing DATA_DATA to powerpc cris: use DATA_DATA in cris kallsyms: remove usage of memmem and _GNU_SOURCE from scripts/kallsyms.c kbuild: use -fno-optimize-sibling-calls unconditionally kconfig: reset generated values only if Kconfig and .config agree. kbuild: fix the warning when running make tags kconfig: strip 'CONFIG_' automatically in kernel configuration search kbuild: use POSIX BRE in headers install target Whitelist references from __dbe_table to .init modpost white list pattern adjustment kbuild: do section mismatch check on full vmlinux kbuild: whitelist references from variables named _timer to .init.text kbuild: remove hardcoded _logo names from modpost kbuild: remove hardcoded apic_es7000 from modpost kbuild: warn about references from .init.text to .exit.text kbuild: consolidate section checks kbuild: refactor code in modpost to improve maintainability kbuild: ignore section mismatch warnings originating from .note section kbuild: .paravirtprobe section is obsolete, so modpost doesn't need to handle it ...
| * kbuild: use -fno-optimize-sibling-calls unconditionallyAdrian Bunk2007-07-171-1/+1
| | | | | | | | | | | | | | | | We don't have to check for -fno-optimize-sibling-calls since even gcc 3.2 supports it. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: fix the warning when running make tagsAneesh Kumar K.V2007-07-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | make tags was giving the below warning. ctags: Warning: arch/x86_64/kernel/head.S:124: null expansion of name pattern "\1" Fix the same by making sure we taken only ENTRY pattern found at the begining of the line. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: do section mismatch check on full vmlinuxSam Ravnborg2007-07-171-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we did do the check on the .o files used to link vmlinux but that failed to find questionable references across the .o files. Create a dedicated vmlinux.o file used only for section mismatch checks that uses the defualt linker script so section does not get renamed. The vmlinux.o may later be used as part of the the final link of vmlinux but for now it is used fo section mismatch only. For a defconfig build this is instant but for an allyesconfig this add two minutes to a full build (that anyways takes ~2 hours). Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* | Use --build-id ld optionRoland McGrath2007-07-191-0/+6
|/ | | | | | | | | | | | | | | | | | | | | | | | This change passes the --build-id when linking the kernel and when linking modules, if ld supports it. This is a new GNU ld option that synthesizes an ELF note section inside the read-only data. The note in this section contains unique identifying bits called the "build ID", which are generated so as to be different for any two linked ELF files that aren't identical. The build ID can be recovered from stripped files, memory dumps, etc. and used to look up the original program built, locate debuginfo or other details or history associated with it. For normal program linking, the compiler passes --build-id to ld by default, but the option is needed when using ld directly as we do. Signed-off-by: Roland McGrath <roland@redhat.com> Cc: Andi Kleen <ak@suse.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Richard Henderson <rth@twiddle.net> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Add -Werror-implicit-function-declarationDave Jones2007-07-161-1/+2
| | | | | | | | | | | Add -Werror-implicit-function-declaration This makes builds fail sooner if something is implicitly defined instead of having to wait half an hour for it to fail at the linking stage. Signed-off-by: Dave Jones <davej@redhat.com> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Linux 2.6.22v2.6.22Linus Torvalds2007-07-081-1/+1
| | | | | | | | Woo-hoo. I'm sure somebody will report a "this doesn't compile, and I have a new root exploit" five minutes after release, but it still feels good ;) Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Linux 2.6.22-rc7v2.6.22-rc7Linus Torvalds2007-07-011-1/+1
| | | | Last -rc? That's the plan..
* Linus 2.6.22-rc6v2.6.22-rc6Linus Torvalds2007-06-241-1/+1
|
* Linux 2.6.22-rc5v2.6.22-rc5Linus Torvalds2007-06-161-2/+2
| | | | | | The manatees, they are dancing! Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Linux 2.6.22-rc4v2.6.22-rc4Linus Torvalds2007-06-041-1/+1
|
* Linux 2.6.22-rc3v2.6.22-rc3Linus Torvalds2007-05-251-2/+2
| | | | | | | It's that time of the year again. Summer starts in the US, and people want to sit at the beach with a new -rc candidate. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Linux v2.6.22-rc2v2.6.22-rc2Linus Torvalds2007-05-181-1/+1
|
* Revert "[PATCH] x86: Drop cc-options call for all options supported in gcc 3.2+"Linus Torvalds2007-05-171-1/+1
| | | | | | | | | | | | | | | | | This reverts commit c8fdd247255a3a027cd9f66dcf93e6847d1d2f85. It turns out the kernel was correct, and the gcc complaint was a gcc bug. The preferred stack boundary is expressed not in bytes, but in the the log2() of the preferred boundary, so "-mpreferred-stack-boundary=2" is in fact exactly what we want, but a gcc that is compiled for x86-64 will consider it an error (because the 64-bit calling sequence says that the stack should be 16-byte aligned) even if we are then using "-m32" to generate 32-bit code. Noted-by: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz> Cc: Jan Hubicka <jh@suse.cz> Acked-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Linux 2.6.22-rc1v2.6.22-rc1Linus Torvalds2007-05-121-2/+2
| | | | .. close the merge window
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuildLinus Torvalds2007-05-061-6/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (38 commits) kconfig: fix mconf segmentation fault kbuild: enable use of code from a different dir kconfig: error out if recursive dependencies are found kbuild: scripts/basic/fixdep segfault on pathological string-o-death kconfig: correct minor typo in Kconfig warning message. kconfig: fix path to modules.txt in Kconfig help usr/Kconfig: fix typo kernel-doc: alphabetically-sorted entries in index.html of 'htmldocs' kbuild: be more explicit on missing .config file kbuild: clarify the creation of the LOCALVERSION_AUTO string. kbuild: propagate errors from find in scripts/gen_initramfs_list.sh kconfig: refer to qt3 if we cannot find qt libraries kbuild: handle compressed cpio initramfs-es kbuild: ignore section mismatch warning for references from .paravirtprobe to .init.text kbuild: remove stale comment in modpost.c kbuild/mkuboot.sh: allow spaces in CROSS_COMPILE kbuild: fix make mrproper for Documentation/DocBook/man kbuild: remove kconfig binaries during make mrproper kconfig/menuconfig: do not hardcode '.config' kbuild: override build timestamp & version ...
| * kbuild: complain about missing system callsSam Ravnborg2007-05-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most system calls seems to get added to i386 first. This patch automatically generates a warning for any new system call which is implemented on i386 but not the architecture currently being compiled. On PowerPC at the moment, for example, it results in these warnings: init/missing_syscalls.h:935:3: warning: #warning syscall sync_file_range not implemented init/missing_syscalls.h:947:3: warning: #warning syscall getcpu not implemented init/missing_syscalls.h:950:3: warning: #warning syscall epoll_pwait not implemented The file scripts/checksyscalls.sh list a number of legacy system calls that are ignored because they only makes sense on i386 systems. Other contributors to this patch are Russell King <rmk+lkml@arm.linux.org.uk> and Stéphane Jourdois <kwisatz@rubis.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * kbuild: move tags from ARCH and include/ ahead of driversDon Mullis2007-05-021-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move tags extracted from the ARCH and include/ sub-trees ahead of those from device drivers, so that the former will appear first during searches. Saves user time during interactive searches for certain patterns that happen to find unwanted matches in driver files. Example in emacs: "M-x find-tag PAGE_SIZE" "M-1 M-." (repeated until definition from asm-i386/page.h appears) Signed-off-by: Don Mullis <dwm@meer.net> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
OpenPOWER on IntegriCloud