summaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAgeFilesLines
...
* | | KVM: Fix dirty page log bitmap size/access calculationUri Lublin2007-03-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Since dirty_bitmap is an unsigned long array, the alignment and size need to take that into account. Signed-off-by: Uri Lublin <uril@qumranet.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
* | | KVM: Add missing calls to mark_page_dirty()Uri Lublin2007-03-041-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | A few places where we modify guest memory fail to call mark_page_dirty(), causing live migration to fail. This adds the missing calls. Signed-off-by: Uri Lublin <uril@qumranet.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
* | | KVM: Per-vcpu inodesAvi Kivity2007-03-044-119/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allocate a distinct inode for every vcpu in a VM. This has the following benefits: - the filp cachelines are no longer bounced when f_count is incremented on every ioctl() - the API and internal code are distinctly clearer; for example, on the KVM_GET_REGS ioctl, there is no need to copy the vcpu number from userspace and then copy the registers back; the vcpu identity is derived from the fd used to make the call Right now the performance benefits are completely theoretical since (a) we don't support more than one vcpu per VM and (b) virtualization hardware inefficiencies completely everwhelm any cacheline bouncing effects. But both of these will change, and we need to prepare the API today. Signed-off-by: Avi Kivity <avi@qumranet.com>
* | | KVM: Move kvm_vm_ioctl_create_vcpu() aroundAvi Kivity2007-03-041-51/+51
| | | | | | | | | | | | | | | | | | In preparation of some hacking. Signed-off-by: Avi Kivity <avi@qumranet.com>
* | | KVM: Rename some kvm_dev_ioctl_*() functions to kvm_vm_ioctl_*()Avi Kivity2007-03-041-24/+24
| | | | | | | | | | | | | | | | | | | | | This reflects the changed scope, from device-wide to single vm (previously every device open created a virtual machine). Signed-off-by: Avi Kivity <avi@qumranet.com>
* | | KVM: Create an inode per virtual machineAvi Kivity2007-03-041-41/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids having filp->f_op and the corresponding inode->i_fop different, which is a little unorthodox. The ioctl list is split into two: global kvm ioctls and per-vm ioctls. A new ioctl, KVM_CREATE_VM, is used to create VMs and return the VM fd. Signed-off-by: Avi Kivity <avi@qumranet.com>
* | | KVM: Add internal filesystem for generating inodesAvi Kivity2007-03-041-1/+32
| | | | | | | | | | | | | | | | | | | | | The kvmfs inodes will represent virtual machines and vcpus, as necessary, reducing cacheline bouncing due to inodes and filps being shared. Signed-off-by: Avi Kivity <avi@qumranet.com>
* | | KVM: More 0 -> NULL conversionsAvi Kivity2007-03-041-2/+2
| | | | | | | | | | | | Signed-off-by: Avi Kivity <avi@qumranet.com>
* | | KVM: SVM: intercept SMI to handle it at host levelJoerg Roedel2007-03-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This patch changes the SVM code to intercept SMIs and handle it outside the guest. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
* | | KVM: svm: init cr0 with the wp bit setAvi Kivity2007-03-041-1/+1
| | | | | | | | | | | | Signed-off-by: Avi Kivity <avi@qumranet.com>
* | | KVM: Wire up hypercall handlers to a central arch-independent locationAvi Kivity2007-03-044-18/+40
| | | | | | | | | | | | Signed-off-by: Avi Kivity <avi@qumranet.com>
* | | KVM: Add hypercall host support for svmAvi Kivity2007-03-041-1/+15
| | | | | | | | | | | | Signed-off-by: Avi Kivity <avi@qumranet.com>
* | | KVM: Add host hypercall support for vmxIngo Molnar2007-03-041-0/+15
| | | | | | | | | | | | Signed-off-by: Avi Kivity <avi@qumranet.com>
* | | KVM: add MSR based hypercall APIIngo Molnar2007-03-044-0/+105
| | | | | | | | | | | | | | | | | | | | | | | | This adds a special MSR based hypercall API to KVM. This is to be used by paravirtual kernels and virtual drivers. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Avi Kivity <avi@qumranet.com>
* | | KVM: Use page_private()/set_page_private() apisMarkus Rechberger2007-03-043-20/+20
| | | | | | | | | | | | | | | | | | | | | Besides using an established api, this allows using kvm in older kernels. Signed-off-by: Markus Rechberger <markus.rechberger@amd.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
* | | KVM: Use ARRAY_SIZE macro instead of manual calculation.Ahmed S. Darwish2007-03-043-4/+7
| | | | | | | | | | | | | | | | | | Signed-off-by: Ahmed S. Darwish <darwish.07@gmail.com> Signed-off-by: Dor Laor <dor.laor@qumranet.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
* | | KVM: vmx: hack set_cr0_no_modeswitch() to actually do modeswitchJoerg Roedel2007-03-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | The whole thing is rotten, but this allows vmx to boot with the guest reboot fix. Signed-off-by: Markus Rechberger <markus.rechberger@amd.com> Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
* | | KVM: CosmeticsAvi Kivity2007-03-044-23/+15
| | | | | | | | | | | | Signed-off-by: Avi Kivity <avi@qumranet.com>
* | | KVM: Move virtualization deactivation from CPU_DEAD state to CPU_DOWN_PREPAREJeremy Katz2007-03-041-2/+6
| | | | | | | | | | | | | | | | | | | | | This gives it more chances of surviving suspend. Signed-off-by: Jeremy Katz <katzj@redhat.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
* | | KVM: mmu: add missing dirty page tracking casesAvi Kivity2007-03-041-2/+13
| |/ |/| | | | | | | | | | | | | | | | | | | | | We fail to mark a page dirty in three cases: - setting the accessed bit in a pte - setting the dirty bit in a pte - emulating a write into a pagetable This fix adds the missing cases. Signed-off-by: Avi Kivity <avi@qumranet.com>
* | Merge branch 'upstream-linus' of ↵Linus Torvalds2007-03-0245-12/+294
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata: add CONFIG_PM to libata core layer libata: add missing CONFIG_PM in LLDs libata: add missing PM callbacks pata_qdi: Fix initialisation [libata] pata_cmd64x: fix driver description in comments [libata] pata_{legacy,sc1200,sl82c105}: add missing hooks [libata] change master/slave IDENTIFY order libata-core: Fix simplex handling
| * | libata: add CONFIG_PM to libata core layerTejun Heo2007-03-023-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | Conditionalize all PM related stuff in libata core layer using CONFIG_PM. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | libata: add missing CONFIG_PM in LLDsTejun Heo2007-03-0238-2/+191
| | | | | | | | | | | | | | | | | | | | | | | | Add missing #ifdef CONFIG_PM conditionals around all PM related parts in libata LLDs. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | libata: add missing PM callbacksTejun Heo2007-03-023-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | Some LLDs were missing scsi device PM callbacks while having host/port suspend support. Add missing ones. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | pata_qdi: Fix initialisationAlan Cox2007-03-021-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QDI init code contains some bugs which mean it only works if you have a test setup that causes both a successful and failed probe. Fix this Found by Philip Guo (Who found it working on code analysis tools not running VLB IDE controllers) Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | [libata] pata_cmd64x: fix driver description in commentsJeff Garzik2007-03-021-1/+1
| | | | | | | | | | | | | | | | | | Trivial comment fix, taken out of a larger Alan Cox patch. Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | [libata] pata_{legacy,sc1200,sl82c105}: add missing hooksJeff Garzik2007-03-023-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | Alan Cox noticed several hooks in pata_* drivers were missing, when he authored his ->cable_detect hook patches. This patch extracts just those fixes from Alan's patches, adding the necessary hooks (usually ->freeze, ->thaw, and ->post_internal_cmd) to the drivers. Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | [libata] change master/slave IDENTIFY orderJeff Garzik2007-03-021-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2.6.21-rc has horrible problems with libata and PATA cable types (and thus speeds). This occurs because Tejun fixed a pile of other bugs and we now do cable detect enforcement for drive side detection properly. Unfortunately we don't do the process around cable detection right. Tejun identified the problem and pointed to the right Annex in the spec, this patch implements the needed changes. The basic requirement is that we have to identify the slave before the master. The patch switches the identify order so that we can do the drive side detection correctly. [NOTE: patch and description extracted from a larger work written and signed-off-by Alan Cox] Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | libata-core: Fix simplex handlingAlan2007-03-021-3/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The initial simplex handling code is fooled if you suspend and resume. This also causes problems with some single channel controllers which claim to be simplex. The fix is fairly simple, instead of keeping a flag to remember if we gave away the simplex channel we remember the actual owner. As the owner is always part of the host_set we don't even need a refcount. Knowing the owner also means we can reassign simplex DMA channels in future hotplug code etc if we need to Signed-off-by: Alan Cox <alan@redhat.com> (and a signed-off for the patch I sent before while I remember) Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | [netdrvr] tulip, de2104x: fix typo: s/__sparc_/__sparc__/Jeff Garzik2007-03-022-2/+2
| | | | | | | | | | | | Noticed by Doug Nazar (via David Miller). Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | mv643xx_eth: move mac_addr inside mv643xx_eth_platform_dataDale Farnsworth2007-03-021-1/+1
| | | | | | | | | | | | | | | | | | The information contained within platform_data should be self-contained. Replace the pointer to a MAC address with the actual MAC address in struct mv643xx_eth_platform_data. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | Fix mv643xx_eth compilation.Dave Jones2007-03-021-1/+3
| | | | | | | | | | | | | | | | Commit 908b637fe793165b6aecdc875cdca67c4959a1ad removed ETH_DMA_ALIGN but missed a usage of it in a macro, which broke the build. Signed-off-by: Dave Jones <davej@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | qla3xxx: bugfix for line omitted in previous patch.Ron Mercer2007-03-021-1/+1
| | | | | | | | | | | | | | This missing line caused transmit errors on the Qlogic 4032 chip. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | NetXen: Fix second rmmod failure observed on PowerPC machines.Linsys Contractor Mithlesh Thukral2007-03-023-17/+20
| | | | | | | | | | | | Signed-off by: Mithlesh Thukral <mithlesh@netxen.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | NetXen: Updates, removal of unsupported features and minor bug fixes.Linsys Contractor Mithlesh Thukral2007-03-024-121/+34
| | | | | | | | | | Signed-off-by: Mithlesh Thukral <mithlesh@netxen.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | cxgb3 - Tag driver versionDivy Le Ray2007-03-021-1/+1
| | | | | | | | | | | | | | This patch adds a "-ko" tag to the driver version. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | myri10ge: fix copyright and licenseBrice Goglin2007-03-021-11/+11
| | | | | | | | | | | | | | Fix copyright and license ("regents" should not have ever been used). Signed-off-by: Brice Goglin <brice@myri.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | jmr3927: do not call tc35815_killall().Ralf Baechle2007-03-021-13/+0
| | | | | | | | | | | | | | | | | | No need to stop tc35815 before resetting the board. This fixes the build of tc35815 as a module. This also means there is no caller of tc35815_killall left, so remove that function also. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | Merge branch 'upstream-fixes' of ↵Jeff Garzik2007-03-021-2/+3
|\ \ | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream-fixes
| * | [PATCH] bcm43xx: fix for 4309Stefano Brivio2007-02-271-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | BCM4309 devices aren't working properly as A PHYs aren't supported yet, but we probe 802.11a cores anyway. This fixes it, while still allowing for A PHY code to be developed in the future. Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | | [AOE]: Add get_unaligned() calls where needed.David S. Miller2007-03-022-8/+9
| | | | | | | | | | | | | | | | | | Based upon a report by Andrew Walrond. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | [RADEON]: Fix blanking return value.David S. Miller2007-03-021-2/+1
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you'll recall, over a year ago, I pointed out that the current Radeon driver erroneously returns -EINVAL for valid blanking codes, here is a link to that thread: http://lkml.org/lkml/2006/1/28/6 No other driver does this, and it confuses the X server into thinking that the device does not support blanking properly. I looked again and there is simply no reason for the Radeon driver to return -EINVAL for FB_BLANK_NORMAL. It claims it wants to do this in order to convince fbcon to blank in software, right here: if (fb_blank(info, blank)) fbcon_generic_blank(vc, info, blank); to software blank the screen. But it only causes that to happen in the FB_BLANK_NORMAL case. That makes no sense because the Radeon code does this: val |= CRTC_DISPLAY_DIS; in the FB_BLANK_NORMAL case so should be blanking the hardware, and there is therefore no reason to SW blank by returning -EINVAL. Signed-off-by: David S. Miller <davem@davemloft.net> Acked-by: Antonino Daplas <adaplas@gmail.com>
* | Merge branch 'upstream-linus' of ↵Linus Torvalds2007-03-018-105/+95
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: ahci: improve spurious SDB FIS handling ahci/pata_jmicron: match class not function number jmicron ATA: reimplement jmicron ATA quirk pata_jmicron: drop unnecessary device programming in [re]init libata: blacklist FUJITSU MHT2060BH for NCQ sata_sil24: kill unused local variable idx in sil24_fill_sg() libata: clear drvdata in ata_host_release(), take#2
| * | ahci: improve spurious SDB FIS handlingTejun Heo2007-03-011-15/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Spurious SDB FIS during NCQ might not contain spurious completions. It could be spurious TF update or invalid async notification. Treat as HSM violation iff a spurious SDB FIS contains spurious completions; otherwise, just whine once about it. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | ahci/pata_jmicron: match class not function numberTejun Heo2007-03-013-23/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make jmiron_ata quirk update pdev->class after programming the device and update ahci and pata_jmicron such that they match class code instead of checking function number manually. For ahci, it matches for vendor and class. For pata_jmicron, it matches vendor, device and class as IDE class isn't as well defined as AHCI class. This makes jmicron device matching more conventional and script friendly. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | jmicron ATA: reimplement jmicron ATA quirkTejun Heo2007-03-011-30/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reimplement jmicron ATA quirk. * renamed to quirk_jmicron_ata() * quirk is invoked only for the affected controllers * programming is stricter. e.g. conf5 bit24 is cleared if unnecessary. * code factored for readability * JMB360 and JMB368 are programmed into proper mode Verified on JMB360, 363 and 368. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | pata_jmicron: drop unnecessary device programming in [re]initTejun Heo2007-03-011-31/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Channel redirect and AHCI mode enable programmings are done via PCI quirk for both probe and resume paths. Drop duplicate and possibly unsafe device programming from pata_jmicron(). Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | libata: blacklist FUJITSU MHT2060BH for NCQTejun Heo2007-03-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Blacklist FUJITSU MHT2060BH for NCQ. On this drive, NCQ works iff queue depth is equal to or less than 4. Just turn it off. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: Mike Accetta <maccetta@laurelnetworks.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | sata_sil24: kill unused local variable idx in sil24_fill_sg()Tejun Heo2007-03-011-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Kill unused local variable idx in sil24_fill_sg(). Spotted by Jeff Garzik. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: Jeff Garzik <jeff@garzik.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | libata: clear drvdata in ata_host_release(), take#2Tejun Heo2007-03-014-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | Clearing drvdata in ->remove_one causes NULL pointer deference. Clear drvdata only in ata_host_release() after all resources are freed. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>