1. 27 3月, 2009 1 次提交
  2. 03 2月, 2009 1 次提交
    • J
      headers_check fix: x86, setup.h · 15c55443
      Jaswinder Singh Rajput 提交于
      fix the following 'make headers_check' warning:
      
        usr/include/asm/setup.h:16: extern's make no sense in userspace
        usr/include/asm/setup.h:17: extern's make no sense in userspace
        usr/include/asm/setup.h:23: extern's make no sense in userspace
        usr/include/asm/setup.h:24: extern's make no sense in userspace
        usr/include/asm/setup.h:51: extern's make no sense in userspace
        usr/include/asm/setup.h:52: extern's make no sense in userspace
      Signed-off-by: NJaswinder Singh Rajput <jaswinderrajput@gmail.com>
      15c55443
  3. 04 1月, 2009 3 次提交
  4. 18 11月, 2008 2 次提交
    • Y
      x86: fix wakeup_cpu with numaq/es7000, v2, fix · 54ac14a8
      Yinghai Lu 提交于
      Impact: fix wakeup_secondary_cpu with hotplug
      
      We can not put that into x86_quirks, because that is __initdata.
      So try to move that to genapic, and add update_genapic in x86_quirks.
      
      later we even could use that stub to:
      
       1. autodetect CONFIG_ES7000_CLUSTERED_APIC
       2. more correct inquire_remote_apic with apic_verbosity setting.
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      54ac14a8
    • Y
      x86: fix wakeup_cpu with numaq/es7000, v2 · 569712b2
      Yinghai Lu 提交于
      Impact: fix secondary-CPU wakeup/init path with numaq and es7000
      
      While looking at wakeup_secondary_cpu for WAKE_SECONDARY_VIA_NMI:
      
      |#ifdef WAKE_SECONDARY_VIA_NMI
      |/*
      | * Poke the other CPU in the eye via NMI to wake it up. Remember that the normal
      | * INIT, INIT, STARTUP sequence will reset the chip hard for us, and this
      | * won't ... remember to clear down the APIC, etc later.
      | */
      |static int __devinit
      |wakeup_secondary_cpu(int logical_apicid, unsigned long start_eip)
      |{
      |        unsigned long send_status, accept_status = 0;
      |        int maxlvt;
      |...
      |        if (APIC_INTEGRATED(apic_version[phys_apicid])) {
      |                maxlvt = lapic_get_maxlvt();
      
      I noticed that there is no warning about undefined phys_apicid...
      
      because WAKE_SECONDARY_VIA_NMI and WAKE_SECONDARY_VIA_INIT can not be
      defined at the same time. So NUMAQ is using wrong wakeup_secondary_cpu.
      
      WAKE_SECONDARY_VIA_NMI, WAKE_SECONDARY_VIA_INIT and
      WAKE_SECONDARY_VIA_MIP are variants of a weird and fragile
      preprocessor-driven "HAL" mechanisms to specify the kind of secondary-CPU
      wakeup strategy a given x86 kernel will use.
      
      The vast majority of systems want to use INIT for secondary wakeup - NUMAQ
      uses an NMI, (old-style-) ES7000 uses 'MIP' (a firmware driven in-memory
      flag to let secondaries continue).
      
      So convert these mechanisms to x86_quirks and add a
      ->wakeup_secondary_cpu() method to specify the rare exception
      to the sane default.
      
      Extend genapic accordingly as well, for 32-bit.
      
      While looking further, I noticed that functions in wakecup.h for numaq
      and es7000 are different to the default in mach_wakecpu.h - but smpboot.c
      will only use default mach_wakecpu.h with smphook.h.
      
      So we need to add mach_wakecpu.h for mach_generic, to properly support
      numaq and es7000, and vectorize the following SMP init methods:
      
      	int trampoline_phys_low;
      	int trampoline_phys_high;
      	void (*wait_for_init_deassert)(atomic_t *deassert);
      	void (*smp_callin_clear_local_apic)(void);
      	void (*store_NMI_vector)(unsigned short *high, unsigned short *low);
      	void (*restore_NMI_vector)(unsigned short *high, unsigned short *low);
      	void (*inquire_remote_apic)(int apicid);
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      569712b2
  5. 28 10月, 2008 1 次提交
  6. 23 10月, 2008 2 次提交
  7. 26 7月, 2008 1 次提交
  8. 23 7月, 2008 1 次提交
    • V
      x86: consolidate header guards · 77ef50a5
      Vegard Nossum 提交于
      This patch is the result of an automatic script that consolidates the
      format of all the headers in include/asm-x86/.
      
      The format:
      
      1. No leading underscore. Names with leading underscores are reserved.
      2. Pathname components are separated by two underscores. So we can
         distinguish between mm_types.h and mm/types.h.
      3. Everything except letters and numbers are turned into single
         underscores.
      Signed-off-by: NVegard Nossum <vegard.nossum@gmail.com>
      77ef50a5
  9. 22 7月, 2008 1 次提交
  10. 20 7月, 2008 3 次提交
  11. 16 7月, 2008 1 次提交
  12. 11 7月, 2008 2 次提交
  13. 08 7月, 2008 12 次提交
  14. 02 6月, 2008 1 次提交
  15. 31 5月, 2008 1 次提交
  16. 25 5月, 2008 1 次提交
    • 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
  17. 17 4月, 2008 2 次提交
  18. 30 1月, 2008 1 次提交
  19. 24 10月, 2007 2 次提交
  20. 11 10月, 2007 1 次提交