1. 25 4月, 2008 21 次提交
  2. 21 4月, 2008 7 次提交
    • B
      PCI: x86: use generic pci_enable_resources() · b81d988c
      Bjorn Helgaas 提交于
      Use the generic pci_enable_resources() instead of the arch-specific code.
      
      Unlike this arch-specific code, the generic version:
          - checks for resource collisions with "!r->parent"
      Signed-off-by: NBjorn Helgaas <bjorn.helgaas@hp.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      b81d988c
    • B
      PCI: remove "pci=routeirq" noise from dmesg · 657472e9
      Bjorn Helgaas 提交于
      The "pci=routeirq" option was added in 2004, and I don't get any valid
      reports anymore.  The option is still mentioned in kernel-parameters.txt.
      Signed-off-by: NBjorn Helgaas <bjorn.helgaas@hp.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      657472e9
    • G
      PCI: Include PCI domain in PCI bus names on x86/x86_64 · cb3576fa
      Gary Hade 提交于
      The PCI bus names included in /proc/iomem and /proc/ioports are
      of the form 'PCI Bus #XX' where XX is the bus number.  This patch
      changes the naming to 'PCI Bus XXXX:YY' where XXXX is the domain
      number and YY is the bus number.  For example, PCI bus 14 in
      domain 0 will show as 'PCI Bus 0000:14' instead of 'PCI Bus #14'.
      This change makes the naming consistent with other architectures
      such as ia64 where multiple PCI domain support has been around
      longer.
      Signed-off-by: NGary Hade <garyhade@us.ibm.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      cb3576fa
    • G
      PCI: remove pcibios_fixup_ghosts() · 6355f3d1
      Greg Kroah-Hartman 提交于
      This function was obviously never being used since early 2.5 days as any
      device that it would try to remove would never really be removed from
      the system due to the PCI device list being held in the driver core, not
      the general list of PCI devices.
      
      As we have not had a single report of a problem here in 4 years, I think
      it's safe to remove now.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      6355f3d1
    • G
      PCI: remove initial bios sort of PCI devices on x86 · 1ba6ab11
      Greg Kroah-Hartman 提交于
      We currently keep 2 lists of PCI devices in the system, one in the
      driver core, and one all on its own.  This second list is sorted at boot
      time, in "BIOS" order, to try to remain compatible with older kernels
      (2.2 and earlier days).  There was also a "nosort" option to turn this
      sorting off, to remain compatible with even older kernel versions, but
      that just ends up being what we have been doing from 2.5 days...
      
      Unfortunately, the second list of devices is not really ever used to 
      determine the probing order of PCI devices or drivers[1].  That is done
      using the driver core list instead.  This change happened back in the
      early 2.5 days.
      
      Relying on BIOS ording for the binding of drivers to specific device
      names is problematic for many reasons, and userspace tools like udev
      exist to properly name devices in a persistant manner if that is needed,
      no reliance on the BIOS is needed.
      
      Matt Domsch and others at Dell noticed this back in 2006, and added a
      boot option to sort the PCI device lists (both of them) in a
      breadth-first manner to help remain compatible with the 2.4 order, if
      needed for any reason.  This option is not going away, as some systems
      rely on them.
      
      This patch removes the sorting of the internal PCI device list in "BIOS"
      mode, as it's not needed at all anymore, and hasn't for many years.
      I've also removed the PCI flags for this from some other arches that for
      some reason defined them, but never used them.
      
      This should not change the ordering of any drivers or device probing.
      
      [1] The old-style pci_get_device and pci_find_device() still used this
      sorting order, but there are very few drivers that use these functions,
      as they are deprecated for use in this manner.  If for some reason, a
      driver rely on the order and uses these functions, the breadth-first
      boot option will resolve any problem.
      
      Cc: Matt Domsch <Matt_Domsch@dell.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      1ba6ab11
    • G
      PCI: remove pci_get_device_reverse from calgary driver · a2b5d877
      Greg Kroah-Hartman 提交于
      This isn't needed, we can just walk the devices in bus order with no
      problems at all, as we really want to remove pci_get_device_reverse from
      the kernel tree.
      Acked-by: NMuli Ben-Yehuda <muli@il.ibm.com>
      Cc: Jon Mason <jdmason@kudzu.us>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      a2b5d877
    • S
      [CRYPTO] aes-x86-32: Remove unused return code · 744b5a28
      Sebastian Siewior 提交于
      The return parameter isn't used remove it.
      Signed-off-by: NSebastian Siewior <sebastian@breakpoint.cc>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      744b5a28
  3. 20 4月, 2008 12 次提交
    • R
      PM: Remove destroy_suspended_device() · b844eba2
      Rafael J. Wysocki 提交于
      After 2.6.24 there was a plan to make the PM core acquire all device
      semaphores during a suspend/hibernation to protect itself from
      concurrent operations involving device objects.  That proved to be
      too heavy-handed and we found a better way to achieve the goal, but
      before it happened, we had introduced the functions
      device_pm_schedule_removal() and destroy_suspended_device() to allow
      drivers to "safely" destroy a suspended device and we had adapted some
      drivers to use them.  Now that these functions are no longer necessary,
      it seems reasonable to remove them and modify their users to use the
      normal device unregistration instead.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NPavel Machek <pavel@ucw.cz>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      b844eba2
    • K
      Firmware: add iSCSI iBFT Support · 138fe4e0
      Konrad Rzeszutek 提交于
      Add /sysfs/firmware/ibft/[initiator|targetX|ethernetX] directories along with
      text properties which export the the iSCSI Boot Firmware Table (iBFT)
      structure.
      
      What is iSCSI Boot Firmware Table?  It is a mechanism for the iSCSI tools to
      extract from the machine NICs the iSCSI connection information so that they
      can automagically mount the iSCSI share/target.  Currently the iSCSI
      information is hard-coded in the initrd.  The /sysfs entries are read-only
      one-name-and-value fields.
      
      The usual set of data exposed is:
      
      # for a in `find /sys/firmware/ibft/ -type f -print`; do  echo -n "$a: ";  cat $a; done
      /sys/firmware/ibft/target0/target-name: iqn.2007.com.intel-sbx44:storage-10gb
      /sys/firmware/ibft/target0/nic-assoc: 0
      /sys/firmware/ibft/target0/chap-type: 0
      /sys/firmware/ibft/target0/lun: 00000000
      /sys/firmware/ibft/target0/port: 3260
      /sys/firmware/ibft/target0/ip-addr: 192.168.79.116
      /sys/firmware/ibft/target0/flags: 3
      /sys/firmware/ibft/target0/index: 0
      /sys/firmware/ibft/ethernet0/mac: 00:11:25:9d:8b:01
      /sys/firmware/ibft/ethernet0/vlan: 0
      /sys/firmware/ibft/ethernet0/gateway: 192.168.79.254
      /sys/firmware/ibft/ethernet0/origin: 0
      /sys/firmware/ibft/ethernet0/subnet-mask: 255.255.252.0
      /sys/firmware/ibft/ethernet0/ip-addr: 192.168.77.41
      /sys/firmware/ibft/ethernet0/flags: 7
      /sys/firmware/ibft/ethernet0/index: 0
      /sys/firmware/ibft/initiator/initiator-name: iqn.2007-07.com:konrad.initiator
      /sys/firmware/ibft/initiator/flags: 3
      /sys/firmware/ibft/initiator/index: 0
      
      For full details of the IBFT structure please take a look at:
      ftp://ftp.software.ibm.com/systems/support/system_x_pdf/ibm_iscsi_boot_firmware_table_v1.02.pdf
      
      [akpm@linux-foundation.org: fix build]
      Signed-off-by: NKonrad Rzeszutek <konradr@linux.vnet.ibm.com>
      Cc: Mike Christie <michaelc@cs.wisc.edu>
      Cc: Peter Jones <pjones@redhat.com>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      138fe4e0
    • M
      x86: modify show_shared_cpu_map in intel_cacheinfo · fb0f330e
      Mike Travis 提交于
        * Removed kmalloc (or local array) in show_shared_cpu_map().
      
        * Added show_shared_cpu_list() function.
      Signed-off-by: NMike Travis <travis@sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      fb0f330e
    • M
      x86: convert cpumask_of_cpu macro to allocated array · 9f0e8d04
      Mike Travis 提交于
        * Here is a simple patch to use an allocated array of cpumasks to
          represent cpumask_of_cpu() instead of constructing one on the stack.
          It's based on the Kconfig option "HAVE_CPUMASK_OF_CPU_MAP" which is
          currently only set for x86_64 SMP.  Otherwise the the existing
          cpumask_of_cpu() is used but has been changed to produce an lvalue
          so a pointer to it can be used.
      
      Cc: H. Peter Anvin <hpa@zytor.com>
      Signed-off-by: NChristoph Lameter <clameter@sgi.com>
      Signed-off-by: NMike Travis <travis@sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      9f0e8d04
    • M
      generic: reduce stack pressure in sched_affinity · b53e921b
      Mike Travis 提交于
        * Modify sched_affinity functions to pass cpumask_t variables by reference
          instead of by value.
      
        * Use new set_cpus_allowed_ptr function.
      
      Depends on:
      	[sched-devel]: sched: add new set_cpus_allowed_ptr function
      
      Cc: Paul Jackson <pj@sgi.com>
      Cc: Cliff Wickman <cpw@sgi.com>
      Signed-off-by: NMike Travis <travis@sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      b53e921b
    • M
      x86: use new set_cpus_allowed_ptr function · fc0e4748
      Mike Travis 提交于
        * Use new set_cpus_allowed_ptr() function added by previous patch,
          which instead of passing the "newly allowed cpus" cpumask_t arg
          by value,  pass it by pointer:
      
          -int set_cpus_allowed(struct task_struct *p, cpumask_t new_mask)
          +int set_cpus_allowed_ptr(struct task_struct *p, const cpumask_t *new_mask)
      
        * Cleanup uses of CPU_MASK_ALL.
      
        * Collapse other NR_CPUS changes to arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
          Use pointers to cpumask_t arguments whenever possible.
      
      Depends on:
      	[sched-devel]: sched: add new set_cpus_allowed_ptr function
      
      Cc: Len Brown <len.brown@intel.com>
      Cc: Dave Jones <davej@codemonkey.org.uk>
      Signed-off-by: NMike Travis <travis@sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      fc0e4748
    • M
      cpumask: Cleanup more uses of CPU_MASK and NODE_MASK · d366f8cb
      Mike Travis 提交于
       *  Replace usages of CPU_MASK_NONE, CPU_MASK_ALL, NODE_MASK_NONE,
          NODE_MASK_ALL to reduce stack requirements for large NR_CPUS
          and MAXNODES counts.
      
       *  In some cases, the cpumask variable was initialized but then overwritten
          with another value.  This is the case for changes like this:
      
          -       cpumask_t oldmask = CPU_MASK_ALL;
          +       cpumask_t oldmask;
      Signed-off-by: NMike Travis <travis@sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      d366f8cb
    • M
      numa: move large array from stack to _initdata section · f46bdf2d
      Mike Travis 提交于
        * Move large array "struct bootnode nodes" from stack to _initdata
          section to reduce amount of stack space required.
      
      Cc: H. Peter Anvin <hpa@zytor.com>
      Signed-off-by: NMike Travis <travis@sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      f46bdf2d
    • M
      x86: oprofile: remove NR_CPUS arrays in arch/x86/oprofile/nmi_int.c · d18d00f5
      Mike Travis 提交于
      Change the following arrays sized by NR_CPUS to be PERCPU variables:
      
      	static struct op_msrs cpu_msrs[NR_CPUS];
      	static unsigned long saved_lvtpc[NR_CPUS];
      
      Also some minor complaints from checkpatch.pl fixed.
      
      Based on:
      	git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
      	git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86.git
      
      All changes were transparent except for:
      
       static void nmi_shutdown(void)
       {
      +	struct op_msrs *msrs = &__get_cpu_var(cpu_msrs);
       	nmi_enabled = 0;
       	on_each_cpu(nmi_cpu_shutdown, NULL, 0, 1);
       	unregister_die_notifier(&profile_exceptions_nb);
      -	model->shutdown(cpu_msrs);
      +	model->shutdown(msrs);
       	free_msrs();
       }
      
      The existing code passed a reference to cpu 0's instance of struct op_msrs
      to model->shutdown, whilst the other functions are passed a reference to
      <this cpu's> instance of a struct op_msrs.  This seemed to be a bug to me
      even though as long as cpu 0 and <this cpu> are of the same type it would
      have the same effect...?
      
      Cc: Philippe Elie <phil.el@wanadoo.fr>
      Signed-off-by: NMike Travis <travis@sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      d18d00f5
    • M
      x86: reduce memory and stack usage in intel_cacheinfo · 6b6309b4
      Mike Travis 提交于
      * Change the following static arrays sized by NR_CPUS to
        per_cpu data variables:
      
      	_cpuid4_info *cpuid4_info[NR_CPUS];
      	_index_kobject *index_kobject[NR_CPUS];
      	kobject * cache_kobject[NR_CPUS];
      
      * Remove the local NR_CPUS array with a kmalloc'd region in
        show_shared_cpu_map().
      
      Also some minor complaints from checkpatch.pl fixed.
      
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Andi Kleen <ak@suse.de>
      Signed-off-by: NMike Travis <travis@sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      6b6309b4
    • J
      x86: UV startup of slave cpus · 34d05591
      Jack Steiner 提交于
      This patch changes smpboot.c so that it can start slave cpus running
      in UV non-unique apicid mode. The SIPI must be sent using a UV-specific
      mechanism.
      Signed-off-by: NJack Steiner <steiner@sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      34d05591
    • G
      x86: integrate pci-dma.c · 098cb7f2
      Glauber Costa 提交于
      The code in pci-dma_{32,64}.c are now sufficiently
      close to each other. We merge them in pci-dma.c.
      Signed-off-by: NGlauber Costa <gcosta@redhat.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      098cb7f2