1. 30 1月, 2008 4 次提交
    • J
      x86: add set/clear_cpu_cap operations · 53756d37
      Jeremy Fitzhardinge 提交于
      The patch to suppress bitops-related warnings added a pile of ugly
      casts.  Many of these were related to the management of x86 CPU
      capabilities.  Clean these up by adding specific set/clear_cpu_cap
      macros, and use them consistently.
      Signed-off-by: NJeremy Fitzhardinge <jeremy@xensource.com>
      Cc: Andi Kleen <ak@suse.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      53756d37
    • B
      x86: remove extern declarations for code, data, bss resources · c9cce83d
      Bernhard Walle 提交于
      This patch removes the extern struct resource declarations for
      data_resource, code_resource and bss_resource on x86 and declares that
      three structures as static as done on other architectures like IA64.
      
      On i386, these structures are moved to setup_32.c (from e820_32.c) because
      that's code that is not specific to e820 and also required on EFI systems.
      That makes the "extern" reference superfluous.
      
      On x86_64, data_resource, code_resource and bss_resource are passed to
      e820_reserve_resources() as arguments just as done on i386 and IA64.  That
      also avoids the "extern" reference and it's possible to make it static.
      Signed-off-by: NBernhard Walle <bwalle@suse.de>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      c9cce83d
    • T
      x86: move acpi and pci declarations · 376ff035
      Thomas Gleixner 提交于
      Move acpi/pci related declarations to the correct headers
      and remove the duplicate.
      
      Build fix from: Andrew Morton
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      376ff035
    • R
      x86: provide a DMI based port 0x80 I/O delay override. · b02aae9c
      Rene Herman 提交于
      x86: provide a DMI based port 0x80 I/O delay override.
      
      Certain (HP) laptops experience trouble from our port 0x80 I/O delay
      writes. This patch provides for a DMI based switch to the "alternate
      diagnostic port" 0xed (as used by some BIOSes as well) for these.
      
      David P. Reed confirmed that port 0xed works for him and provides a
      proper delay. The symptoms of _not_ working are a hanging machine,
      with "hwclock" use being a direct trigger.
      
      Earlier versions of this attempted to simply use udelay(2), with the
      2 being a value tested to be a nicely conservative upper-bound with
      help from many on the linux-kernel mailinglist but that approach has
      two problems.
      
      First, pre-loops_per_jiffy calibration (which is post PIT init while
      some implementations of the PIT are actually one of the historically
      problematic devices that need the delay) udelay() isn't particularly
      well-defined. We could initialise loops_per_jiffy conservatively (and
      based on CPU family so as to not unduly delay old machines) which
      would sort of work, but...
      
      Second, delaying isn't the only effect that a write to port 0x80 has.
      It's also a PCI posting barrier which some devices may be explicitly
      or implicitly relying on. Alan Cox did a survey and found evidence
      that additionally some drivers may be racy on SMP without the bus
      locking outb.
      
      Switching to an inb() makes the timing too unpredictable and as such,
      this DMI based switch should be the safest approach for now. Any more
      invasive changes should get more rigid testing first. It's moreover
      only very few machines with the problem and a DMI based hack seems
      to fit that situation.
      
      This also introduces a command-line parameter "io_delay" to override
      the DMI based choice again:
      
      	io_delay=<standard|alternate>
      
      where "standard" means using the standard port 0x80 and "alternate"
      port 0xed.
      
      This retains the udelay method as a config (CONFIG_UDELAY_IO_DELAY) and
      command-line ("io_delay=udelay") choice for testing purposes as well.
      
      This does not change the io_delay() in the boot code which is using
      the same port 0x80 I/O delay but those do not appear to be a problem
      as David P. Reed reported the problem was already gone after using the
      udelay version. He moreover reported that booting with "acpi=off" also
      fixed things and seeing as how ACPI isn't touched until after this DMI
      based I/O port switch I believe it's safe to leave the ones in the boot
      code be.
      
      The DMI strings from David's HP Pavilion dv9000z are in there already
      and we need to get/verify the DMI info from other machines with the
      problem, notably the HP Pavilion dv6000z.
      
      This patch is partly based on earlier patches from Pavel Machek and
      David P. Reed.
      Signed-off-by: NRene Herman <rene.herman@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      b02aae9c
  2. 20 12月, 2007 1 次提交
  3. 30 10月, 2007 1 次提交
  4. 22 10月, 2007 1 次提交
    • B
      kexec: add BSS to resource tree · 00bf4098
      Bernhard Walle 提交于
      Add the BSS to the resource tree just as kernel text and kernel data are in
      the resource tree.  The main reason behind this is to avoid crashkernel
      reservation in that area.
      
      While it's not strictly necessary to have the BSS in the resource tree (the
      actual collision detection is done in the reserve_bootmem() function before),
      the usage of the BSS resource should be presented to the user in /proc/iomem
      just as Kernel data and Kernel code.
      
      Note: The patch currently is only implemented for x86 and ia64 (because
      efi_initialize_iomem_resources() has the same signature on i386 and ia64).
      
      [akpm@linux-foundation.org: coding-style fixes]
      Signed-off-by: NBernhard Walle <bwalle@suse.de>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Vivek Goyal <vgoyal@in.ibm.com>
      Cc: <linux-arch@vger.kernel.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      00bf4098
  5. 20 10月, 2007 3 次提交
  6. 17 10月, 2007 1 次提交
  7. 14 10月, 2007 1 次提交
    • D
      Delete filenames in comments. · 835c34a1
      Dave Jones 提交于
      Since the x86 merge, lots of files that referenced their own filenames
      are no longer correct.  Rather than keep them up to date, just delete
      them, as they add no real value.
      
      Additionally:
      - fix up comment formatting in scx200_32.c
      - Remove a credit from myself in setup_64.c from a time when we had no SCM
      - remove longwinded history from tsc_32.c which can be figured out from
        git.
      Signed-off-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      835c34a1
  8. 11 10月, 2007 2 次提交
  9. 30 7月, 2007 1 次提交
  10. 25 7月, 2007 1 次提交
  11. 22 7月, 2007 3 次提交
  12. 18 7月, 2007 1 次提交
  13. 13 7月, 2007 1 次提交
  14. 05 3月, 2007 1 次提交
    • J
      [PATCH] clocksource init adjustments (fix bug #7426) · 6bb74df4
      john stultz 提交于
      This patch resolves the issue found here:
      http://bugme.osdl.org/show_bug.cgi?id=7426
      
      The basic summary is:
      Currently we register most of i386/x86_64 clocksources at module_init
      time. Then we enable clocksource selection at late_initcall time. This
      causes some problems for drivers that use gettimeofday for init
      calibration routines (specifically the es1968 driver in this case),
      where durring module_init, the only clocksource available is the low-res
      jiffies clocksource. This may cause slight calibration errors, due to
      the small sampling time used.
      
      It should be noted that drivers that require fine grained time may not
      function on architectures that do not have better then jiffies
      resolution timekeeping (there are a few). However, this does not
      discount the reasonable need for such fine-grained timekeeping at init
      time.
      
      Thus the solution here is to register clocksources earlier (ideally when
      the hardware is being initialized), and then we enable clocksource
      selection at fs_initcall (before device_initcall).
      
      This patch should probably get some testing time in -mm, since
      clocksource selection is one of the most important issues for correct
      timekeeping, and I've only been able to test this on a few of my own
      boxes.
      Signed-off-by: NJohn Stultz <johnstul@us.ibm.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6bb74df4
  15. 13 2月, 2007 3 次提交
  16. 11 1月, 2007 2 次提交
    • V
      [PATCH] i386: Convert some functions to __init to avoid MODPOST warnings · 88d20328
      Vivek Goyal 提交于
      o Some functions which should have been in init sections as they are called
        only once. Put them in init sections. Otherwise MODPOST generates warning
        as these functions are placed in .text and they end up accessing something
        in init sections.
      
      WARNING: vmlinux - Section mismatch: reference to .init.text:migration_init
      from .text between 'do_pre_smp_initcalls' (at offset 0xc01000d1) and
      'run_init_process'
      Signed-off-by: NVivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      88d20328
    • V
      [PATCH] i386: cpu hotplug/smpboot misc MODPOST warning fixes · 4a5d107a
      Vivek Goyal 提交于
      o Misc smpboot/cpu hotplug path cleanups. I did those to supress the
        warnings generated by MODPOST. These warnings are visible only
        if CONFIG_RELOCATABLE=y.
      
      o CONFIG_RELOCATABLE compiles the kernel with --emit-relocs option. This
        option retains relocation information in vmlinux file and MODPOST
        is quick to spit out "Section mismatch" warnings.
      
      o This patch fixes some of those warnings. Many of the functions in
        smpboot case are __devinit type and they in turn accesses text/data which
        if of type __cpuinit. Now if CONFIG_HOTPLUG=y and CONFIG_HOTPLUG_CPU=n
        then we end up in cases where a function in .text segment is calling
        another function in .init.text segment and MODPOST emits warning.
      
      WARNING: vmlinux - Section mismatch: reference to .init.text:identify_cpu from .text between 'smp_store_cpu_info' (at offset 0xc011020d) and 'do_boot_cpu'
      WARNING: vmlinux - Section mismatch: reference to .init.text:init_gdt from .text between 'do_boot_cpu' (at offset 0xc01102ca) and '__cpu_up'
      WARNING: vmlinux - Section mismatch: reference to .init.text:print_cpu_info from .text between 'do_boot_cpu' (at offset 0xc01105d0) and '__cpu_up'
      
      o It also fixes the issues where CONFIG_HOTPLUG_CPU=y and start_secondary()
        is calling smp_callin() which in-turn calls synchronize_tsc_ap() which is
        of type __init. This should have meant broken CPU hotplug.
      
      WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between 'start_secondary' (at offset 0xc011603f) and 'initialize_secondary'
      WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between 'MP_processor_info' (at offset 0xc0116a4f) and 'mp_register_lapic'
      WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between 'MP_processor_info' (at offset 0xc0116a4f) and 'mp_register_lapic'
      Signed-off-by: NVivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      4a5d107a
  17. 23 12月, 2006 1 次提交
  18. 08 12月, 2006 1 次提交
  19. 07 12月, 2006 7 次提交
    • 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
    • B
      [PATCH] i386: Move memory map printing and other code to e820.c · cef518e8
      bibo,mao 提交于
      This patch moves e820 memory map print and memmap boot param
      parsing function from setup.c to e820.c, also adds limit_regions
      and print_memory_map declaration in header file.
      Signed-off-by: Nbibo,mao <bibo.mao@intel.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      
       arch/i386/kernel/e820.c  |  152 +++++++++++++++++++++++++++
       arch/i386/kernel/setup.c |  158 ---------------------------------
       include/asm-i386/e820.h  |    2
       arch/i386/kernel/e820.c  |  152 ++++++++++++++++++++++++++++++++++++++++++++++
       arch/i386/kernel/setup.c |  153 -----------------------------------------------
       include/asm-i386/e820.h  |    2
       3 files changed, 155 insertions(+), 152 deletions(-)
      cef518e8
    • B
      [PATCH] i386: Move e820/efi memmap walking code to e820.c · b5b24057
      bibo,mao 提交于
      This patch moves e820/efi memmap table walking function from
      setup.c to e820.c, also this patch adds extern declaration in
      header file.
      Signed-off-by: Nbibo,mao <bibo.mao@intel.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      
       arch/i386/kernel/e820.c  |  115 +++++++++++++++++++++++++++++++++
       arch/i386/kernel/setup.c |  118 -----------------------------------
       include/asm-i386/e820.h  |    2
       arch/i386/kernel/e820.c  |  115 +++++++++++++++++++++++++++++++++++++++++++++
       arch/i386/kernel/setup.c |  118 -----------------------------------------------
       include/asm-i386/e820.h  |    2
       3 files changed, 117 insertions(+), 118 deletions(-)
      b5b24057
    • B
      [PATCH] i386: Move find_max_pfn function to e820.c · b2dff6a8
      bibo,mao 提交于
      Move more code from setup.c into e820.c
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      b2dff6a8
    • B
      [PATCH] i386: create e820.c for e820 map sanitize and copy function · 8e3342f7
      bibo,mao 提交于
      This patch moves bios e820 map sanitize and copy function from
      setup.c to e820.c
      Signed-off-by: Nbibo,mao <bibo.mao@intel.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      
       arch/i386/kernel/e820.c  |  252 +++++++++++++++++++++++++++++++++++++++++++++++
       arch/i386/kernel/setup.c |  240 --------------------------------------------
       2 files changed, 252 insertions(+), 240 deletions(-)
      8e3342f7
    • B
      [PATCH] i386: i386 create e820.c to handle standard io/mem resources · 269c2d81
      bibo,mao 提交于
      This patch creates new file named e820.c to hanle standard io/mem
      resources, moving request_standard_resources function from setup.c
      to e820.c. Also this patch modifies Makfile to compile file e820.c.
      Signed-off-by: Nbibo,mao <bibo.mao@intel.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      
       Makefile |    2
       arch/i386/kernel/Makefile |    2
       arch/i386/kernel/e820.c   |  289 ++++++++++++++++++++++++++++++++++++++++++++++
       arch/i386/kernel/setup.c  |  276 -------------------------------------------
       3 files changed, 293 insertions(+), 274 deletions(-)
      269c2d81
    • E
      [PATCH] i386: Reserve kernel memory starting from _text · 8621b81c
      Eric W. Biederman 提交于
      Currently when we are reserving the memory the kernel text
      resides in we start at __PHYSICAL_START which happens to be
      correct but not very obvious.  In addition when we start relocating
      the kernel __PHYSICAL_START is the wrong value, as it is an
      absolute symbol that does not get relocated.
      
      By starting the reservation at __pa_symbol(_text)
      the code is clearer and will be correct when relocated.
      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>
      8621b81c
  20. 29 10月, 2006 1 次提交
  21. 12 10月, 2006 1 次提交
    • M
      [PATCH] mm: use symbolic names instead of indices for zone initialisation · 6391af17
      Mel Gorman 提交于
      Arch-independent zone-sizing is using indices instead of symbolic names to
      offset within an array related to zones (max_zone_pfns).  The unintended
      impact is that ZONE_DMA and ZONE_NORMAL is initialised on powerpc instead
      of ZONE_DMA and ZONE_HIGHMEM when CONFIG_HIGHMEM is set.  As a result, the
      the machine fails to boot but will boot with CONFIG_HIGHMEM turned off.
      
      The following patch properly initialises the max_zone_pfns[] array and uses
      symbolic names instead of indices in each architecture using
      arch-independent zone-sizing.  Two users have successfully booted their
      powerpcs with it (one an ibook G4).  It has also been boot tested on x86,
      x86_64, ppc64 and ia64.  Please merge for 2.6.19-rc2.
      
      Credit to Benjamin Herrenschmidt for identifying the bug and rolling the
      first fix.  Additional credit to Johannes Berg and Andreas Schwab for
      reporting the problem and testing on powerpc.
      Signed-off-by: NMel Gorman <mel@csn.ul.ie>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      6391af17
  22. 30 9月, 2006 1 次提交
  23. 27 9月, 2006 1 次提交