1. 07 12月, 2006 3 次提交
    • J
      [PATCH] i386: Use %gs as the PDA base-segment in the kernel · f95d47ca
      Jeremy Fitzhardinge 提交于
      This patch is the meat of the PDA change.  This patch makes several related
      changes:
      
      1: Most significantly, %gs is now used in the kernel.  This means that on
         entry, the old value of %gs is saved away, and it is reloaded with
         __KERNEL_PDA.
      
      2: entry.S constructs the stack in the shape of struct pt_regs, and this
         is passed around the kernel so that the process's saved register
         state can be accessed.
      
         Unfortunately struct pt_regs doesn't currently have space for %gs
         (or %fs). This patch extends pt_regs to add space for gs (no space
         is allocated for %fs, since it won't be used, and it would just
         complicate the code in entry.S to work around the space).
      
      3: Because %gs is now saved on the stack like %ds, %es and the integer
         registers, there are a number of places where it no longer needs to
         be handled specially; namely context switch, and saving/restoring the
         register state in a signal context.
      
      4: And since kernel threads run in kernel space and call normal kernel
         code, they need to be created with their %gs == __KERNEL_PDA.
      Signed-off-by: NJeremy Fitzhardinge <jeremy@xensource.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Cc: Chuck Ebbert <76306.1226@compuserve.com>
      Cc: Zachary Amsden <zach@vmware.com>
      Cc: Jan Beulich <jbeulich@novell.com>
      Cc: Andi Kleen <ak@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      f95d47ca
    • J
      [PATCH] i386: Basic definitions for i386-pda · 9ca36101
      Jeremy Fitzhardinge 提交于
      This patch has the basic definitions of struct i386_pda, and the segment
      selector in the GDT.
      
      asm-i386/pda.h is more or less a direct copy of asm-x86_64/pda.h.  The most
      interesting difference is the use of _proxy_pda, which is used to give gcc a
      model for the actual memory operations on the real pda structure.  No actual
      reference is ever made to _proxy_pda, so it is never defined.
      Signed-off-by: NJeremy Fitzhardinge <jeremy@xensource.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Cc: Chuck Ebbert <76306.1226@compuserve.com>
      Cc: Zachary Amsden <zach@vmware.com>
      Cc: Jan Beulich <jbeulich@novell.com>
      Cc: Andi Kleen <ak@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      9ca36101
    • S
      [PATCH] i386: espfix cleanup · be44d2aa
      Stas Sergeev 提交于
      Clean up the espfix code:
      
      - Introduced PER_CPU() macro to be used from asm
      - Introduced GET_DESC_BASE() macro to be used from asm
      - Rewrote the fixup code in asm, as calling a C code with the altered %ss
        appeared to be unsafe
      - No longer altering the stack from a .fixup section
      - 16bit per-cpu stack is no longer used, instead the stack segment base
        is patched the way so that the high word of the kernel and user %esp
        are the same.
      - Added the limit-patching for the espfix segment. (Chuck Ebbert)
      
      [jeremy@goop.org: use the x86 scaling addressing mode rather than shifting]
      Signed-off-by: NStas Sergeev <stsp@aknet.ru>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Acked-by: NZachary Amsden <zach@vmware.com>
      Acked-by: NChuck Ebbert <76306.1226@compuserve.com>
      Acked-by: NJan Beulich <jbeulich@novell.com>
      Cc: Andi Kleen <ak@muc.de>
      Signed-off-by: NJeremy Fitzhardinge <jeremy@goop.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      be44d2aa
  2. 22 10月, 2006 1 次提交
  3. 26 9月, 2006 1 次提交
  4. 31 8月, 2006 1 次提交
  5. 01 7月, 2006 1 次提交
  6. 23 3月, 2006 1 次提交
  7. 25 2月, 2006 1 次提交
    • J
      [PATCH] x86: fix broken SMP boot sequence · 2b932f6c
      James Bottomley 提交于
      Recent GDT changes broke the SMP boot sequence if the booting CPU is
      numbered anything other than zero.  There's also a subtle source of error
      in that the boot time CPU now uses cpu_gdt_table (which is actually the GDT
      for booting CPUs in head.S).  This patch fixes both problems by making GDT
      descriptors themselves allocated from a per_cpu area and switching to them
      in cpu_init(), which now means that cpu_gdt_table is exclusively used for
      booting CPUs again.
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      Cc: Zachary Amsden <zach@vmware.com>
      Cc: Matt Tolentino <metolent@snoqualmie.dp.intel.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      2b932f6c
  8. 12 2月, 2006 1 次提交
  9. 07 1月, 2006 4 次提交
  10. 10 9月, 2005 1 次提交
    • S
      kbuild: full dependency check on asm-offsets.h · 86feeaa8
      Sam Ravnborg 提交于
      Building asm-offsets.h has been moved to a seperate Kbuild file
      located in the top-level directory. This allow us to share the
      functionality across the architectures.
      
      The old rules in architecture specific Makefiles will die
      in subsequent patches.
      
      Furhtermore the usual kbuild dependency tracking is now used
      when deciding to rebuild asm-offsets.s. So we no longer risk
      to fail a rebuild caused by asm-offsets.c dependencies being touched.
      
      With this common rule-set we now force the same name across
      all architectures. Following patches will fix the rest.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      86feeaa8
  11. 05 9月, 2005 1 次提交
    • V
      [PATCH] kdump: Save parameter segment in protected mode (x86) · 484b90c4
      Vivek Goyal 提交于
      o With introduction of kexec as boot-loader, the assumption that parameter
        segment will always be loaded at lower address than kernel and will be
        addressable by early bootup page tables is no longer valid. In kexec on
        panic case parameter segment might well be loaded beyond kernel image and
        might not be addressable by early boot page tables.
      o This case might hit in the scenario where user has reserved a chunk of
        memory for second kernel, for example 16MB to 64MB, and has also built
        second kernel for physical memory location 16MB. In this case kexec has no
        choice but to load the parameter segment at a higher address than new kernel
        image at safe location where new kernel does not stomp it.
      o Though problem should automatically go away once relocatable kernel for i386
        is in place and kexec can determine the location of new kernel at run time
        and load parameter segment at lower address than kernel image. But till then
        this patch can go in (assuming it does not break something else).
      o This patch moves up the boot parameter saving code. Now boot parameters
        are copied out in protected mode before page tables are initialized. This
        will ensure that parameter segment is always addressable irrespective of
        its physical location.
      Signed-off-by: NVivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      484b90c4
  12. 26 6月, 2005 1 次提交
  13. 01 5月, 2005 1 次提交
  14. 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