1. 11 10月, 2007 2 次提交
  2. 20 7月, 2007 1 次提交
  3. 18 7月, 2007 1 次提交
    • J
      xen: suppress abs symbol warnings for unused reloc pointers · 600b2fc2
      Jeremy Fitzhardinge 提交于
      arch/i386/xen/xen-asm.S defines some small pieces of code which are
      used to implement a few paravirt_ops.  They're designed so they can be
      used either in-place, or be inline patched into their callsites if
      there's enough space.
      
      Some of those operations need to make calls out (specifically, if you
      re-enable events [interrupts], and there's a pending event at that
      time).  These calls need the call instruction to be relocated if the
      code is patched inline.  In this case xen_foo_reloc is a
      section-relative symbol which points to xen_foo's required relocation.
      
      Other operations have no need of a relocation, and so their
      corresponding xen_bar_reloc is absolute 0.  These are the cases which
      are triggering the warning.
      
      This patch adds those symbols to the list of safe abs symbols.
      Signed-off-by: NJeremy Fitzhardinge <jeremy@xensource.com>
      Cc: Adrian Bunk <bunk@stusta.de>
      600b2fc2
  4. 13 7月, 2007 2 次提交
  5. 03 5月, 2007 1 次提交
    • J
      [PATCH] x86: deflate stack usage in lib/inflate.c · 35c74226
      Jeremy Fitzhardinge 提交于
      inflate_fixed and huft_build together use around 2.7k of stack.  When
      using 4k stacks, I saw stack overflows from interrupts arriving while
      unpacking the root initrd:
      
      do_IRQ: stack overflow: 384
       [<c0106b64>] show_trace_log_lvl+0x1a/0x30
       [<c01075e6>] show_trace+0x12/0x14
       [<c010763f>] dump_stack+0x16/0x18
       [<c0107ca4>] do_IRQ+0x6d/0xd9
       [<c010202b>] xen_evtchn_do_upcall+0x6e/0xa2
       [<c0106781>] xen_hypervisor_callback+0x25/0x2c
       [<c010116c>] xen_restore_fl+0x27/0x29
       [<c0330f63>] _spin_unlock_irqrestore+0x4a/0x50
       [<c0117aab>] change_page_attr+0x577/0x584
       [<c0117b45>] kernel_map_pages+0x8d/0xb4
       [<c016a314>] cache_alloc_refill+0x53f/0x632
       [<c016a6c2>] __kmalloc+0xc1/0x10d
       [<c0463d34>] malloc+0x10/0x12
       [<c04641c1>] huft_build+0x2a7/0x5fa
       [<c04645a5>] inflate_fixed+0x91/0x136
       [<c04657e2>] unpack_to_rootfs+0x5f2/0x8c1
       [<c0465acf>] populate_rootfs+0x1e/0xe4
      
      (This was under Xen, but there's no reason it couldn't happen on bare
        hardware.)
      
      This patch mallocs the local variables, thereby reducing the stack
      usage to sane levels.
      
      Also, up the heap size for the kernel decompressor to deal with the
      extra allocation.
      Signed-off-by: NJeremy Fitzhardinge <jeremy@xensource.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Cc: Tim Yamin <plasmaroo@gentoo.org>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Matt Mackall <mpm@selenic.com>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Ian Molton <spyro@f2s.com>
      35c74226
  6. 18 2月, 2007 1 次提交
  7. 02 2月, 2007 1 次提交
    • A
      [PATCH] __crc_... is intended to be absolute · 2a3d4f1f
      Al Viro 提交于
      i386 boot/compressed/relocs checks for absolute symbols and warns about
      unexpected ones.  If you build with modversions, you get ~2500 warnings
      about __crc_<symbol>.  These suckers are really absolute symbols - we
      do _not_ want to modify them on relocation.
      
      They are generated by genksyms - EXPORT_... generates a weak alias, then
      genksyms produces an ld script with __crc_<symbol> = <checksum> and it's
      fed to ld to produce the final object file.  Their only use is to match
      kernel and module at modprobe time; they _must_ be absolute.
      
      boot/compressed/relocs has a whitelist of known absolute symbols, but
      it doesn't know about __crc_... stuff.  As the result, we get shitloads
      of false positives on any ld(1) version.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2a3d4f1f
  8. 03 1月, 2007 1 次提交
  9. 31 12月, 2006 1 次提交
  10. 07 12月, 2006 6 次提交
    • R
      [PATCH] x86-64: Fix numaq build error · d5d2448d
      Randy Dunlap 提交于
        CC      arch/i386/boot/compressed/misc.o
      arch/i386/boot/compressed/misc.c:120: error: static declaration of 'xquad_portio' follows non-static declaration
      include/asm/io.h:275: error: previous declaration of 'xquad_portio' was here
      make[2]: *** [arch/i386/boot/compressed/misc.o] Error 1
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      d5d2448d
    • R
      [PATCH] paravirt: header and stubs for paravirtualisation · d3561b7f
      Rusty Russell 提交于
      Create a paravirt.h header for all the critical operations which need to be
      replaced with hypervisor calls, and include that instead of defining native
      operations, when CONFIG_PARAVIRT.
      
      This patch does the dumbest possible replacement of paravirtualized
      instructions: calls through a "paravirt_ops" structure.  Currently these are
      function implementations of native hardware: hypervisors will override the ops
      structure with their own variants.
      
      All the pv-ops functions are declared "fastcall" so that a specific
      register-based ABI is used, to make inlining assember easier.
      
      And:
      
      +From: Andy Whitcroft <apw@shadowen.org>
      
      The paravirt ops introduce a 'weak' attribute onto memory_setup().
      Code ordering leads to the following warnings on x86:
      
          arch/i386/kernel/setup.c:651: warning: weak declaration of
                      `memory_setup' after first use results in unspecified behavior
      
      Move memory_setup() to avoid this.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NChris Wright <chrisw@sous-sol.org>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Cc: Jeremy Fitzhardinge <jeremy@goop.org>
      Cc: Zachary Amsden <zach@vmware.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NAndy Whitcroft <apw@shadowen.org>
      d3561b7f
    • V
      [PATCH] i386: Implement CONFIG_PHYSICAL_ALIGN · e69f202d
      Vivek Goyal 提交于
      o Now CONFIG_PHYSICAL_START is being replaced with CONFIG_PHYSICAL_ALIGN.
        Hardcoding the kernel physical start value creates a problem in relocatable
        kernel context due to boot loader limitations. For ex, if somebody
        compiles a relocatable kernel to be run from address 4MB, but this kernel
        will run from location 1MB as grub loads the kernel at physical address
        1MB. Kernel thinks that I am a relocatable kernel and I should run from
        the address I have been loaded at. So somebody wanting to run kernel
        from 4MB alignment location (for improved performance regions) can't do
        that.
      
      o Hence, Eric proposed that probably CONFIG_PHYSICAL_ALIGN will make
        more sense in relocatable kernel context. At run time kernel will move
        itself to a physical addr location which meets user specified alignment
        restrictions.
      Signed-off-by: NVivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      e69f202d
    • V
      [PATCH] i386: Warn upon absolute relocations being present · 6a044b3a
      Vivek Goyal 提交于
      o Relocations generated w.r.t absolute symbols are not processed as by
        definition, absolute symbols are not to be relocated. Explicitly warn
        user about absolutions relocations present at compile time.
      
      o These relocations get introduced either due to linker optimizations or
        some programming oversights.
      
      o Also create a list of symbols which have been audited to be safe and
        don't emit warnings for these.
      Signed-off-by: NVivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      6a044b3a
    • E
      [PATCH] i386: Relocatable kernel support · 968de4f0
      Eric W. Biederman 提交于
      This patch modifies the i386 kernel so that if CONFIG_RELOCATABLE is
      selected it will be able to be loaded at any 4K aligned address below
      1G.  The technique used is to compile the decompressor with -fPIC and
      modify it so the decompressor is fully relocatable.  For the main
      kernel relocations are generated.  Resulting in a kernel that is relocatable
      with no runtime overhead and no need to modify the source code.
      
      A reserved 32bit word in the parameters has been assigned
      to serve as a stack so we figure out where are running.
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: NVivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      968de4f0
    • E
      [PATCH] i386: CONFIG_PHYSICAL_START cleanup · 2a43f3ed
      Eric W. Biederman 提交于
      Defining __PHYSICAL_START and __KERNEL_START in asm-i386/page.h works but
      it triggers a full kernel rebuild for the silliest of reasons.  This
      modifies the users to directly use CONFIG_PHYSICAL_START and linux/config.h
      which prevents the full rebuild problem, which makes the code much
      more maintainer and hopefully user friendly.
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: NVivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      2a43f3ed
  11. 27 6月, 2006 1 次提交
  12. 09 1月, 2006 1 次提交
  13. 26 6月, 2005 2 次提交
  14. 01 5月, 2005 1 次提交
  15. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4