1. 03 Jan, 2011 1 commit
  2. 23 Dec, 2010 1 commit
    • Dirk Brandewie's avatar
      of: Add support for linking device tree blobs into vmlinux · aab94339
      Dirk Brandewie authored
      
      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: default avatarDirk Brandewie <dirk.brandewie@gmail.com>
      Acked-by: default avatarMichal Marek <mmarek@suse.cz>
      [grant.likely@secretlab.ca: cleaned up whitespace inconsistencies]
      Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      aab94339
  3. 02 Dec, 2010 2 commits
  4. 24 Nov, 2010 1 commit
  5. 22 Nov, 2010 2 commits
  6. 18 Nov, 2010 1 commit
    • Randy Dunlap's avatar
      kernel-doc: escape xml for structs · 2b35f4d9
      Randy Dunlap authored
      
      scripts/kernel-doc was leaving unescaped '<', '>', and '&' in
      generated xml output for structs.  This causes xml parser errors.
      Convert these characters to "&lt;", "&gt;", and "&amp;" as needed
      to prevent errors.
      
      Most of the conversion was already done; complete it just before
      output.
      
      Documentation/DocBook/device-drivers.xml:41883: parser error : StartTag: invalid element name
      #define INPUT_KEYMAP_BY_INDEX	(1 << 0)
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2b35f4d9
  7. 01 Nov, 2010 1 commit
  8. 30 Oct, 2010 1 commit
    • Thomas Gleixner's avatar
      semaphore: Remove mutex emulation · 4882720b
      Thomas Gleixner authored
      
      Semaphores used as mutexes have been deprecated for years. Now that
      all users are either converted to real semaphores or to mutexes remove
      the cruft.
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Christoph Hellwig <hch@infradead.org>
      LKML-Reference: <20100907125057.562399240@linutronix.de>
      4882720b
  9. 29 Oct, 2010 7 commits
    • Wu Zhangjin's avatar
      ftrace/MIPS: Add module support for C version of recordmcount · 412910cd
      Wu Zhangjin authored
      
      Since MIPS modules' address space differs from the core kernel space, to access
      the _mcount in the core kernel, the kernel functions in modules must use long
      call (-mlong-calls): load the _mcount address into one register and jump to the
      address stored by the register:
      
       c:  3c030000        lui     v1,0x0  <-------->  b label
                 c: R_MIPS_HI16  _mcount
                 c: R_MIPS_NONE  *ABS*
                 c: R_MIPS_NONE  *ABS*
      10:  64630000        daddiu  v1,v1,0
                10: R_MIPS_LO16 _mcount
                10: R_MIPS_NONE *ABS*
                10: R_MIPS_NONE *ABS*
      14:	03e0082d 	move	at,ra
      18:	0060f809 	jalr	v1
      label:
      
      In the old Perl version of recordmcount, we only need to record the position of
      the 1st R_MIPS_HI16 type of _mcount, and later, in ftrace_make_nop(), replace
      the instruction in this position by a "b label" and in ftrace_make_call(),
      replace it back.
      
      But, the default C version of recordmcount records all of the _mcount symbols,
      so, we must filter the 2nd _mcount like the Perl version of recordmcount does.
      
      The C version of recordmcount copes with the symbols before they are linked, So
      It doesn't know the type of the symbols and therefore can not filter the
      symbols as the Perl version of recordmcount does. But as we can see above, the
      2nd _mcount symbols of the long call alawys follows the 1st _mcount symbol of
      the same long call, which means the offset from the 1st to the 2nd is fixed, it
      is 0x10-0xc = 4 here, 4 is the length of the 1st load instruciton, for MIPS has
      fixed length of instructions, this offset is always 4.
      
      And as we know, the _mcount is inserted into the entry of every kernel
      function, the offset between the other _mcount's is expected to be always
      bigger than 4. So, to filter the 2ns _mcount symbol of the long call, we can
      simply check the offset between two _mcount symbols, If it is 4, then, filter
      the 2nd _mcount symbol.
      
      To avoid touching too much code, an 'empty' function fn_is_fake_mcount() is
      added for all of the archs, and the specific archs can override it via chaning
      the function pointer: is_fake_mcount in do_file() with the e_machine. e.g. This
      patch adds MIPS_is_fake_mcount() to override the default fn_is_fake_mcount()
      pointed by is_fake_mcount.
      
      This fn_is_fake_mcount() checks if the _mcount symbol is fake, e.g. the 2nd
      _mcount symbol of the long call is fake, for there are 2 _mcount symbols mapped
      to one real mcount call, so, one of them is fake and must be filtered.
      
      This fn_is_fake_mcount() is called in sift_rel_mcount() after finding the
      _mcount symbols and before adding the _mcount symbol into mrelp, so, it can
      prevent the fake mcount symbol going into the last __mcount_loc table.
      Signed-off-by: default avatarWu Zhangjin <wuzhangjin@gmail.com>
      LKML-Reference: <b866f0138224340a132d31861fa3f9300dee30ac.1288176026.git.wuzhangjin@gmail.com>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      412910cd
    • John Reiser's avatar
      ftrace/MIPS: Add MIPS64 support for C version of recordmcount · a2d49358
      John Reiser authored
      MIPS64 has 'weird' Elf64_Rel.r_info[1,2], which must be used instead of
      the generic Elf64_Rel.r_info, otherwise, the C version of recordmcount
      will not work for "segmentation fault".
      
      Usage of "union mips_r_info" and the functions MIPS64_r_sym() and
      MIPS64_r_info() written by Maciej W. Rozycki <macro@linux-mips.org>
      
      ----
      [1] http://techpubs.sgi.com/library/manuals/4000/007-4658-001/pdf/007-4658-001.pdf
      
      
      [2] arch/mips/include/asm/module.h
      Tested-by: default avatarWu Zhangjin <wuzhangjin@gmail.com>
      Signed-off-by: default avatarJohn Reiser <jreiser@BitWagon.com>
      Signed-off-by: default avatarMaciej W. Rozycki <macro@linux-mips.org>
      LKML-Reference: <AANLkTinwXjLAYACUfhLYaocHD_vBbiErLN3NjwN8JqSy@mail.gmail.com>
      LKML-Reference: <910dc2d5ae1ed042df4f96815fe4a433078d1c2a.1288176026.git.wuzhangjin@gmail.com>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      a2d49358
    • Steven Rostedt's avatar
      kconfig: Have streamline_config process menuconfigs too · 8ef17fa2
      Steven Rostedt authored
      
      Some menuconfigs in the Kconfig files have prompts and dependencies.
      Currently, streamline_config misses these, and this can cause
      streamline_config to keep modules enabled that should not be, and
      even worse, not enable those that should.
      
      This patch makes streamline_config process menuconfigs just like it
      would process a config.
      Reported-by: default avatarmember graysky <graysky@archlinux.us>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      8ef17fa2
    • Steven Rostedt's avatar
      kconfig: Fix streamline_config to read multi line deps in Kconfig files · 20d19047
      Steven Rostedt authored
      
      I noticed that some Kconfig files have multi line dependencies
      that continue with a backslash. Those dependencies on the next
      line will be missed by streamline_config.
      
      For example:
      
      config CS89x0
      	tristate "CS89x0 support"
      	depends on NET_ETHERNET && (ISA || EISA || MACH_IXDP2351 \
      		|| ARCH_IXDP2X01 || MACH_MX31ADS)
      
      The "|| ARCH_IXDP2X01 || MACH_MX31ADS)" will not be processed.
      
      This patch adds code to handle this case.
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      20d19047
    • hiromu's avatar
      kconfig: Fix missing declaration of variable $dir in streamline_config.pl · cf5a189d
      hiromu authored
      
      On Fri, Aug 17, 2010 at 01:43PM +0800, Américo Wang wrote:
      > Acked-by: WANG Cong <xiyou.wangcong@gmail.com>
      >
      > BTW, I think we should add "use strict;" too.
      
      Then I added "use strict;" to streamline_config.pl, I saw another
      warning.
      
      > Global symbol "$dir" requires explicit package name at
      scripts/kconfig/streamline_config.pl line 286.
      > Global symbol "$dir" requires explicit package name at
      scripts/kconfig/streamline_config.pl line 287.
      > Global symbol "$dir" requires explicit package name at
      scripts/kconfig/streamline_config.pl line 288.
      
      Then I added "my $dir;" to line 285.
      
      Cc: Américo Wang <xiyou.wangcong@gmail.com>
      Cc: Toralf Foerster <toralf.foerster@gmx.de>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
      Signed-off-by: default avatarHiromu Yakura <hiromu1996@gmail.com>
      LKML-Reference: <1282042158.7160.9.camel@hiromu-Macbook>
      
      [ changed to just add my in front of $dir instead of new line ]
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      cf5a189d
    • hiromu yagura's avatar
      kconfig: Fix variable name typo %prompts in streamline_config.pl · ccece60a
      hiromu yagura authored
      
      When I added "use strict;" to streamline_config.pl, I saw the following
      warnings:
      
      > Global symbol "%prompt" requires explicit package name at
      scripts/kconfig/streamline_config.pl line 183.
      > Global symbol "%prompt" requires explicit package name at
      scripts/kconfig/streamline_config.pl line 368.
      
      The declaration of %prompt was incorrect, and should have been %prompts.
      
      Cc: Toralf Foerster <toralf.foerster@gmx.de>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
      Signed-off-by: default avatarHiromu Yakura <hiromu1996@gmail.com>
      LKML-Reference: <1281845597.11566.5.camel@camp10-laptop>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      ccece60a
    • Steven Rostedt's avatar
      kconfig: Make localmodconfig handle environment variables · 4908980b
      Steven Rostedt authored
      The commit 838a2e55
      
      
       kbuild: migrate all arch to the kconfig mainmenu upgrade
      
      Broke make localmodconfig. The reason was that it added a
      environment variable to the kconfig source, which the
      streamline_config.pl could not handle.
      
      This patch changes streamline_config.pl to handle kconfig sources
      using environment variables in their names.
      
      Cc: Arnaud Lacombe <lacombar@gmail.com>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Michal Marek <mmarek@suse.cz>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      4908980b
  10. 28 Oct, 2010 1 commit
  11. 27 Oct, 2010 11 commits
  12. 26 Oct, 2010 11 commits