1. 08 7月, 2008 6 次提交
  2. 05 6月, 2008 3 次提交
  3. 04 6月, 2008 1 次提交
  4. 03 6月, 2008 1 次提交
    • Y
      x86: update mptable · 2944e16b
      Yinghai Lu 提交于
      make mptable to be consistent with acpi routing, so we could:
      
      1. kexec kernel with acpi=off
      2. work around BIOSes where acpi routing is working, but mptable is
         not right, so can use kernel/kexec to start other OSes that don't have
         good acpi support.
      
      command line: update_mptable
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      2944e16b
  5. 25 5月, 2008 7 次提交
    • Y
      x86: move e820_mark_nosave_regions to e820.c · bf62f398
      Yinghai Lu 提交于
      and make e820_mark_nosave_regions to take limit_pfn to use max_low_pfn
      for 32bit and end_pfn for 64bit
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      bf62f398
    • Y
      x86: extend e820 ealy_res support 32bit · a4c81cf6
      Yinghai Lu 提交于
      move early_res related from e820_64.c to e820.c
      make edba detection to be done in head32.c
      remove smp_alloc_memory, because we have fixed trampoline address now.
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      
       arch/x86/kernel/e820.c              |  214 ++++++++++++++++++++++++++++++++++++
       arch/x86/kernel/e820_64.c           |  196 --------------------------------
       arch/x86/kernel/head32.c            |   76 ++++++++++++
       arch/x86/kernel/setup_32.c          |  109 +++---------------
       arch/x86/kernel/smpboot.c           |   17 --
       arch/x86/kernel/trampoline.c        |    2
       arch/x86/mach-voyager/voyager_smp.c |    9 -
       include/asm-x86/e820.h              |    6 +
       include/asm-x86/e820_64.h           |    9 -
       include/asm-x86/smp.h               |    1
       arch/x86/kernel/e820.c              |  214 ++++++++++++++++++++++++++++++++++++
       arch/x86/kernel/e820_64.c           |  196 --------------------------------
       arch/x86/kernel/head32.c            |   76 ++++++++++++
       arch/x86/kernel/setup_32.c          |  109 +++---------------
       arch/x86/kernel/smpboot.c           |   17 --
       arch/x86/kernel/trampoline.c        |    2
       arch/x86/mach-voyager/voyager_smp.c |    9 -
       include/asm-x86/e820.h              |    6 +
       include/asm-x86/e820_64.h           |    9 -
       include/asm-x86/smp.h               |    1
       arch/x86/kernel/e820.c              |  214 ++++++++++++++++++++++++++++++++++++
       arch/x86/kernel/e820_64.c           |  196 --------------------------------
       arch/x86/kernel/head32.c            |   76 ++++++++++++
       arch/x86/kernel/setup_32.c          |  109 +++---------------
       arch/x86/kernel/smpboot.c           |   17 --
       arch/x86/kernel/trampoline.c        |    2
       arch/x86/mach-voyager/voyager_smp.c |    9 -
       include/asm-x86/e820.h              |    6 +
       include/asm-x86/e820_64.h           |    9 -
       include/asm-x86/smp.h               |    1
       10 files changed, 320 insertions(+), 319 deletions(-)
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      a4c81cf6
    • P
      x86 boot: longer comment explaining sanitize_e820_map routine · 5b7eb2e9
      Paul Jackson 提交于
      Elaborate on the comment for sanitize_e820_map(), epxlaining more what
      it does, what it inputs, and what it returns.  Rearrange the placement of
      this comment to fit kernel conventions, before the routine's code rather
      than buried inside it.
      Signed-off-by: NPaul Jackson <pj@sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      5b7eb2e9
    • P
      x86 boot: change sanitize_e820_map parameter from byte to int to allow bigger memory maps · 6e9bcc79
      Paul Jackson 提交于
      The map size counter passed into, and back out of, sanitize_e820_map(),
      was an eight bit type (char or u8), as derived from its origins in
      legacy BIOS E820 structures.  This patch changes that type to an 'int',
      to allow this sanitize routine to also be used on larger maps (larger
      than the 256 count that fits in a char).  The legacy BIOS E820 interface
      of course does not change; that remains at 8 bits for this count, holding
      up to E820MAX == 128 entries.  But the kernel internals can handle more
      when those additional memory map entries are passed from the BIOS via
      EFI interfaces.
      Signed-off-by: NPaul Jackson <pj@sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      6e9bcc79
    • P
      x86 boot: extend some internal memory map arrays to handle larger EFI input · 028b7858
      Paul Jackson 提交于
      Extend internal boot time memory tables to allow for up to
      three entries per node, which may be larger than the 128 E820MAX
      entries handled by the legacy BIOS E820 interface.  The EFI
      interface, if present, is capable of passing memory map
      entries for these larger node counts.
      
      This patch requires an earlier patch that rewrote code depending
      on these array sizes from using E820MAX explicitly to size loops,
      to instead using ARRAY_SIZE() of the applicable array.
      
      Another patch following this one will provide the code to pick
      up additional memory entries passed via the EFI interface from
      the BIOS and insert them in the following, now enlarged, arrays.
      Signed-off-by: NPaul Jackson <pj@sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      028b7858
    • P
      x86 boot: proper use of ARRAY_SIZE instead of repeated E820MAX constant · c3965bd1
      Paul Jackson 提交于
      This patch is motivated by a subsequent patch which will allow for more
      memory map entries on EFI supported systems than can be passed via the x86
      legacy BIOS E820 interface.  The legacy interface is limited to E820MAX ==
      128 memory entries, and that "E820MAX" manifest constant was used as the
      size for several arrays and loops over those arrays.
      
      The primary change in this patch is to change code loop sizes over those
      arrays from using the constant E820MAX, to using the ARRAY_SIZE() macro
      evaluated for the array being looped.  That way, a subsequent patch can
      change the size of some of these arrays, without breaking this code.
      
      This patch also adds a parameter to the sanitize_e820_map() routine,
      which had an implicit size for the array passed it of E820MAX entries.
      This new parameter explicitly passes the size of said array.  Once again,
      this will allow a subsequent patch to change that array size for some
      calls to sanitize_e820_map() without breaking the code.
      
      As part of enhancing the sanitize_e820_map() interface this way, I further
      combined the unnecessarily distinct x86_32 and x86_64 declarations for
      this routine into a single, commonly used, declaration.
      
      This patch in itself should make no difference to the resulting kernel
      binary.
      
      [ mingo@elte.hu: merged to -tip ]
      Signed-off-by: NPaul Jackson <pj@sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      c3965bd1
    • Y
      x86: make e820.c to have common functions · b79cd8f1
      Yinghai Lu 提交于
      remove the duplicated copy of these functions.
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      b79cd8f1