17 Oct, 2008
4 commits
-
I dunno how this missed Bjorn and his quest to use %pF in commit
c80cfb0406c01bb5da91bfe30f5cb1fd96831138 ("vsprintf: use new vsprintf
symbolic function pointer format"), but it did.So use %pF in the two remaining places that still tried to print out
function pointers by hand.Signed-off-by: Linus Torvalds
-
* 'kvm-updates/2.6.28' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (134 commits)
KVM: ia64: Add intel iommu support for guests.
KVM: ia64: add directed mmio range support for kvm guests
KVM: ia64: Make pmt table be able to hold physical mmio entries.
KVM: Move irqchip_in_kernel() from ioapic.h to irq.h
KVM: Separate irq ack notification out of arch/x86/kvm/irq.c
KVM: Change is_mmio_pfn to kvm_is_mmio_pfn, and make it common for all archs
KVM: Move device assignment logic to common code
KVM: Device Assignment: Move vtd.c from arch/x86/kvm/ to virt/kvm/
KVM: VMX: enable invlpg exiting if EPT is disabled
KVM: x86: Silence various LAPIC-related host kernel messages
KVM: Device Assignment: Map mmio pages into VT-d page table
KVM: PIC: enhance IPI avoidance
KVM: MMU: add "oos_shadow" parameter to disable oos
KVM: MMU: speed up mmu_unsync_walk
KVM: MMU: out of sync shadow core
KVM: MMU: mmu_convert_notrap helper
KVM: MMU: awareness of new kvm_mmu_zap_page behaviour
KVM: MMU: mmu_parent_walk
KVM: x86: trap invlpg
KVM: MMU: sync roots on mmu reload
... -
* 'core-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
do_generic_file_read: s/EINTR/EIO/ if lock_page_killable() fails
softirq, warning fix: correct a format to avoid a warning
softirqs, debug: preemption check
x86, pci-hotplug, calgary / rio: fix EBDA ioremap()
IO resources, x86: ioremap sanity check to catch mapping requests exceeding, fix
IO resources, x86: ioremap sanity check to catch mapping requests exceeding the BAR sizes
softlockup: Documentation/sysctl/kernel.txt: fix softlockup_thresh description
dmi scan: warn about too early calls to dmi_check_system()
generic: redefine resource_size_t as phys_addr_t
generic: make PFN_PHYS explicitly return phys_addr_t
generic: add phys_addr_t for holding physical addresses
softirq: allocate less vectors
IO resources: fix/remove printk
printk: robustify printk, update comment
printk: robustify printk, fix #2
printk: robustify printk, fix
printk: robustify printkFixed up conflicts in:
arch/powerpc/include/asm/types.h
arch/powerpc/platforms/Kconfig.cputype
manually. -
The PCI core wants to reorder the devices in the bus list. So move this
functionality out of the pci core and into the driver core so that
anyone else can also do this if needed. This also lets us change how
struct device is attached to drivers in the future without messing with
the PCI core.Acked-by: Jesse Barnes
Signed-off-by: Greg Kroah-Hartman
15 Oct, 2008
3 commits
-
This patch extends the VT-d driver to support KVM
[Ben: fixed memory pinning]
[avi: move dma_remapping.h as well]Signed-off-by: Kay, Allen M
Signed-off-by: Weidong Han
Signed-off-by: Ben-Ami Yassour
Signed-off-by: Amit Shah
Acked-by: Mark Gross
Signed-off-by: Avi Kivity -
…' and 'core/misc' into core-v28-for-linus
-
Manual fixup of conflicts on:
arch/powerpc/include/asm/dcr-regs.h
drivers/net/ibm_newemac/core.h
12 Oct, 2008
1 commit
-
Conflicts:
arch/x86/kernel/apic_32.c
arch/x86/kernel/apic_64.c
arch/x86/kernel/setup.c
drivers/pci/intel-iommu.c
include/asm-x86/cpufeature.h
include/asm-x86/dma-mapping.h
11 Oct, 2008
1 commit
-
Conflicts:
arch/x86/kernel/pci-gart_64.c
include/asm-x86/dma-mapping.h
03 Oct, 2008
1 commit
-
This is loosely based on a patch by Jesse Barnes to check the user-space
PCI mappings though the sysfs interfaces. Quoting Jesse's original
explanation:It's fairly common for applications to map PCI resources through sysfs.
However, with the current implementation, it's possible for an application
to map far more than the range corresponding to the resourceN file it
opened. This patch plugs that hole by checking the range at mmap time,
similar to what is done on platforms like sparc64 in their lower level
PCI remapping routines.It was initially put together to help debug the e1000e NVRAM corruption
problem, since we initially thought an X driver might be walking past the
end of one of its mappings and clobbering the NVRAM. It now looks like
that's not the case, but doing the check is still important for obvious
reasons.and this version of the patch differs in that it uses a helper function
to clarify the code, and does all the checks in pages (instead of bytes)
in order to avoid overflows when doing "<< PAGE_SHIFT" etc.Acked-by: Jesse Barnes
Signed-off-by: Linus Torvalds
26 Sep, 2008
1 commit
-
IO resource and ioremap debugging uncovered this ioremap() done
by drivers/pci/hotplug/ibmphp_ebda.c:initcall pci_hotplug_init+0x0/0x41 returned 0 after 3 msecs
calling ibmphp_init+0x0/0x360 @ 1
ibmphpd: IBM Hot Plug PCI Controller Driver version: 0.6
resource map sanity check conflict: 0x9f800 0xaf5e7 0x9f800 0x9ffff reserved
------------[ cut here ]------------
WARNING: at arch/x86/mm/ioremap.c:175 __ioremap_caller+0x5c/0x226()
Pid: 1, comm: swapper Not tainted 2.6.27-rc7-tip-00914-g347b10f-dirty #36038
[] warn_on_slowpath+0x41/0x68
[] ? __lock_acquire+0x9ba/0xa7f
[] ? do_flush_tlb_all+0x0/0x59
[] ? smp_call_function_mask+0x74/0x17d
[] ? do_flush_tlb_all+0x0/0x59
[] ? printk+0x1a/0x1c
[] ? iomem_map_sanity_check+0x82/0x8c
[] ? _read_unlock+0x22/0x25
[] ? iomem_map_sanity_check+0x82/0x8c
[] ? trace_hardirqs_off+0xb/0xd
[] __ioremap_caller+0x5c/0x226
[] ? trace_hardirqs_on+0xb/0xd
[] ? iounmap+0x9d/0xa5
[] ioremap_nocache+0x15/0x17
[] ? ioremap+0xd/0xf
[] ioremap+0xd/0xf
[] ibmphp_access_ebda+0x60/0xa0e
[] ibmphp_init+0xb5/0x360
[] do_one_initcall+0x57/0x138
[] ? ibmphp_init+0x0/0x360
[] ? trace_hardirqs_on+0xb/0xd
[] ? __queue_work+0x2b/0x30
[] ? ibmphp_init+0x0/0x360
[] kernel_init+0x17b/0x1e2
[] ? kernel_init+0x0/0x1e2
[] kernel_thread_helper+0x7/0x10
=======================
---[ end trace a7919e7f17c0a725 ]---
initcall ibmphp_init+0x0/0x360 returned -19 after 144 msecs
calling zt5550_init+0x0/0x6a @ 1the problem is this code:
io_mem = ioremap (ebda_seg<
17 Sep, 2008
2 commits
-
pci_get_subsys() changed in 2.6.26 so that the from pointer is modified
when the call is being invoked, so fix up the 'const' marking of it that
the compiler is complaining about.Reported-by: Rufus & Azrael
Signed-off-by: Greg Kroah-Hartman
Signed-off-by: Jesse Barnes -
pcie_aspm=force did not work because aspm_force was being double negated
leading to the sanity check failing. Moving a bracket should fix this.Acked-by: Alan Cox
Signed-off-by: Sitsofe Wheeler
Signed-off-by: Jesse Barnes
14 Sep, 2008
3 commits
-
There's no good reason why a resource_size_t shouldn't just be a
physical address, so simply redefine it in terms of phys_addr_t.Signed-off-by: Jeremy Fitzhardinge
Signed-off-by: Ingo Molnar -
Conflicts:
lib/swiotlb.cSigned-off-by: Ingo Molnar
-
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
PCI: re-add debug prints for unmodified BARs
PCI: fix pciehp_free_irq()
PCI Hotplug: fakephp: fix deadlock... again
PCI: Fix printk warnings in setup-bus.c
PCI: Fix printk warnings in probe.c
PCI/iommu: blacklist DMAR on Intel G31/G33 chipsets
13 Sep, 2008
1 commit
-
Print out for device BAR values before the kernel tries to update them.
Also make related output use KERN_DEBUG.Signed-off-by: Yinghai Lu
Signed-off-by: Jesse Barnes
11 Sep, 2008
1 commit
-
This patch fixes an obvious bug (loop was never entered) caused by
commit 820943b6fc4781621dee52ba026106758a727dd3
(pciehp: cleanup pcie_poll_cmd).Reported-by: Adrian Bunk
Signed-off-by: Adrian Bunk
Acked-by: Kenji Kaneshige
Signed-off-by: Jesse Barnes
10 Sep, 2008
6 commits
-
Commit fe99740cac117f208707488c03f3789cf4904957 (construct one
fakephp slot per PCI slot) introduced a regression, causing a
deadlock when removing a PCI device.We also never actually removed the device from the PCI core.
So we:
- remove the device from the PCI core
- do not directly call remove_slot() to prevent deadlockYu Zhao reported and diagnosed this defect.
Signed-off-by: Alex Chiang
Acked-by: Yu Zhao
Cc: Matthew Wilcox
Cc: Kristen Carlson Accardi
Signed-off-by: Andrew Morton
Signed-off-by: Jesse Barnes -
Again, the cleaned up code introduced some resource warnings:
drivers/pci/setup-bus.c: In function 'pci_bus_dump_res':
drivers/pci/setup-bus.c:542: warning: format '%llx' expects type 'long long unsigned int', but argument 5 has type 'resource_size_t'
drivers/pci/setup-bus.c:542: warning: format '%llx' expects type 'long long unsigned int', but argument 6 has type 'resource_size_t'Fix those up too.
Signed-off-by: Johann Felix Soden
Signed-off-by: Jesse Barnes -
The cleaned up resource code in probe.c introduced some warnings:
drivers/pci/probe.c: In function 'pci_read_bridge_bases':
drivers/pci/probe.c:386: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'resource_size_t'
drivers/pci/probe.c:386: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'resource_size_t'
drivers/pci/probe.c:398: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'resource_size_t'
drivers/pci/probe.c:398: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'resource_size_t'
drivers/pci/probe.c:434: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'resource_size_t'
drivers/pci/probe.c:434: warning: format '%llx' expects type 'long long unsigned int', but argument 5 has type 'resource_size_t'So fix them up.
Signed-off-by: Johann Felix Soden
Signed-off-by: Jesse Barnes -
Some BIOSes (the Intel DG33BU, for example) wrongly claim to have DMAR
when they don't. Avoid the resulting crashes when it doesn't work as
expected.Signed-off-by: David Woodhouse
Acked-by: Ingo Molnar
Signed-off-by: Jesse Barnes
06 Sep, 2008
1 commit
-
Some BIOSes (the Intel DG33BU, for example) wrongly claim to have DMAR
when they don't. Avoid the resulting crashes when it doesn't work as
expected.I'd still be grateful if someone could test it on a DG33BU with the old
BIOS though, since I've killed mine. I tested the DMI version, but not
this one.Signed-off-by: David Woodhouse
Signed-off-by: Ingo Molnar
04 Sep, 2008
1 commit
-
Commit 884525655d07fdee9245716b998ecdc45cdd8007 ("PCI: clean up resource
alignment management") changed the resource handling to mark how a
resource was aligned on a per-resource basis.Thus, instead of looking at the resource number to determine whether it
was a bridge resource or a regular resource (they have different
alignment rules), we should just ask the resource for its alignment
directly.The reason this broke only cardbus resources was that for the other
types of resources, the old way of deciding alignment actually still
happened to work. But CardBus bridge resources had been changed by
commit 934b7024f0ed29003c95cef447d92737ab86dc4f ("Fix cardbus resource
allocation") to look more like regular resources than PCI bridge
resources from an alignment handling standpoint.Reported-and-tested-by: Andrew Morton
Cc: Ivan Kokshaysky
Cc: Jesse Barnes
Signed-off-by: Linus Torvalds
22 Aug, 2008
3 commits
-
Alex Chiang and Matthew Wilcox pointed out that pci_get_dev_by_id() does
not properly decrement the reference on the from pointer if it is
present, like the documentation for the function states it will.It fixes a pretty bad leak in the hotplug core (we were leaking an
entire struct pci_dev for each function of each offlined card, the first
time around; subsequent onlines/offlines were ok).Cc: Matthew Wilcox
Cc: stable
Tested-by: Alex Chiang
Acked-by: Alex Chiang
Signed-off-by: Greg Kroah-Hartman
Signed-off-by: Jesse Barnes -
Commit ef0ff95f136f0f2d035667af5d18b824609de320 (shpchp: fix slot name)
introduces the shpchp_slot_with_bus module parameter, which was intended
to help work around broken firmware that assigns the same name to multiple
slots.Commit b3bd307c628af2f0a581c42d5d7e4bcdbbf64b6a (shpchp: add message about
shpchp_slot_with_bus option) tells the user to use the above parameter
in the event of a name collision.This approach is sub-optimal because it requires too much work from
the user.Instead, let's rename the slot on behalf of the user. If firmware
assigns the name N to multiple slots, then:The first registered slot is assigned N
The second registered slot is assigned N-1
The third registered slot is assigned N-2
The Mth registered slot becomes N-MIn the event we overflow the slot->name parameter, we report an
error to the user.This is a temporary fix until the entire PCI core can be reworked
such that individual drivers no longer have to manage their own
slot names.Tested-by: Kenji Kaneshige
Acked-by: Kenji Kaneshige
Signed-off-by: Alex Chiang
Signed-off-by: Jesse Barnes -
Commit 3800345f723fd130d50434d4717b99d4a9f383c8 (pciehp: fix slot name)
introduces the pciehp_slot_with_bus module parameter, which was intended
to help work around broken firmware that assigns the same name to multiple
slots.Commit 9e4f2e8d4ddb04ad16a3828cd9a369a5a5287009 (pciehp: add message about
pciehp_slot_with_bus option) tells the user to use the above parameter
in the event of a name collision.This approach is sub-optimal because it requires too much work from
the user.Instead, let's rename the slot on behalf of the user. If firmware
assigns the name N to multiple slots, then:The first registered slot is assigned N
The second registered slot is assigned N-1
The third registered slot is assigned N-2
The Mth registered slot becomes N-MIn the event we overflow the slot->name parameter, we report an
error to the user.This is a temporary fix until the entire PCI core can be reworked
such that individual drivers no longer have to manage their own
slot names.Tested-by: Kenji Kaneshige
Acked-by: Kenji Kaneshige
Signed-off-by: Alex Chiang
Signed-off-by: Jesse Barnes
20 Aug, 2008
1 commit
-
Commit f46753c5e354b857b20ab8e0fe7b2579831dc369 ("PCI: introduce pci_slot") removed the need for this error path. Eliminate this warning:
drivers/pci/hotplug/rpaphp_slot.c: In function 'rpaphp_register_slot':
drivers/pci/hotplug/rpaphp_slot.c:151: warning: label 'sysfs_fail' defined but not usedSigned-off-by: Stephen Rothwell
Signed-off-by: Paul Mackerras
19 Aug, 2008
4 commits
-
Consolidate finding of a root bridge and getting its handle to the one
inline function. It's cut & pasted on multiple places. Use this new
inline in those.Cc: kristen.c.accardi@intel.com
Acked-by: Alex Chiang
Signed-off-by: Jiri Slaby
Signed-off-by: Jesse Barnes -
_OSC should be ran on a root bridge instead of the device itself. Do
this before touching OSHP since PCI fw specs states that _OSC should be
preferred over OSHP (however if the device has OSHP but not _OSC -- not
a root bridge -- it's not).Cc: kristen.c.accardi@intel.com
Acked-by: Alex Chiang
Signed-off-by: Jiri Slaby
Signed-off-by: Jesse Barnes -
…p/linux-2.6-tip into x86-merge
Conflicts:
drivers/pci/probe.c
14 Aug, 2008
1 commit
-
Conflicts:
arch/x86/kernel/genapic_64.c
include/asm-x86/kvm_host.hSigned-off-by: Ingo Molnar
08 Aug, 2008
3 commits
-
BCM5706S wont work correctly unless VPD length truncated to 128
Signed-off-by: Dean Hildebrand
Signed-off-by: Jesse Barnes -
Export pci_pme_active() to drivers, so that they can clear the
PME_status bit and disable PME# for their devices without involving
ACPI.Signed-off-by: Rafael J. Wysocki
Signed-off-by: Jesse Barnes -
Check the return value of device_create_bin_file in pci_create_bus and
unwind if necessary. Don't propagate error to caller, as failure to create
these files shouldn't prevent PCI from being initialised. Instead, just
log a warning.Cc: Sven Wegener
Cc: Michael Ellerman
Cc: Matthew Wilcox
Signed-off-by: Simon Horman
Signed-off-by: Jesse Barnes
07 Aug, 2008
2 commits
-
With the recent change to avoid masking MSIs using the MSI enable bit, devices
without an MSI mask bit will have their MSI capability always enabled when MSI
is in use, so we need to restore it regardless of the mask bit state.Fixes kernel bz 11178.
Acked-by: Matthew Wilcox
Signed-off-by: Alan Jenkins
Signed-off-by: Jesse Barnes -
BCM5708S wont work correctly unless VPD length truncated to 128
Signed-off-by: Eric Dumazet
Signed-off-by: Jesse Barnes