]> xenbits.xen.org Git - xenclient/xen-pq.git/commitdiff
Fix to the IO -> MMIO Intel trap code
authorThomas Horsten <thomas.horsten@citrix.com>
Wed, 14 Oct 2009 15:42:45 +0000 (16:42 +0100)
committerThomas Horsten <thomas.horsten@citrix.com>
Wed, 14 Oct 2009 15:42:45 +0000 (16:42 +0100)
master/filter-igfx-io

index 8176753c0863070282f904a8d77e26af38c64dec..2aed32a840fcf270a5736ff9d0efe07517492271 100644 (file)
@@ -1,5 +1,18 @@
+diff --git a/Config.mk b/Config.mk
+index 5ecf067..37392b7 100644
+--- a/Config.mk
++++ b/Config.mk
+@@ -1,7 +1,7 @@
+ # -*- mode: Makefile; -*-
+ # A debug build of Xen and tools?
+-debug ?= y
++debug ?= n
+ XEN_COMPILE_ARCH    ?= $(shell uname -m | sed -e s/i.86/x86_32/ \
+                          -e s/i86pc/x86_32/ -e s/amd64/x86_64/)
 diff --git a/xen/arch/x86/hvm/io.c b/xen/arch/x86/hvm/io.c
-index 0d7f5ff..940ff1f 100644
+index 0d7f5ff..aa6a4a4 100644
 --- a/xen/arch/x86/hvm/io.c
 +++ b/xen/arch/x86/hvm/io.c
 @@ -278,6 +278,7 @@ void dpci_ioport_write(uint32_t mport, ioreq_t *p)
@@ -18,9 +31,9 @@ index 0d7f5ff..940ff1f 100644
 +        {
 +            if ( mport == d->igfx_ioport )
 +            {
-+                if ((d->igfx_index & 1) && (d->igfx_index < 0x10000))
++                if ((data & 1) && (data < 0x10000))
 +                {
-+                    d->igfx_index = data & ~3;
++                    d->igfx_index = data;
 +                    continue;
 +                } else {
 +                    d->igfx_index = 0;
@@ -39,7 +52,7 @@ index 0d7f5ff..940ff1f 100644
          {
          case 1:
 diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
-index ff56a19..adeaa55 100644
+index 15555a0..d8c47ce 100644
 --- a/xen/drivers/passthrough/vtd/iommu.c
 +++ b/xen/drivers/passthrough/vtd/iommu.c
 @@ -1395,6 +1395,22 @@ static int domain_context_unmap(struct domain *domain, u8 bus, u8 devfn)