50 lines
1.7 KiB
Diff
50 lines
1.7 KiB
Diff
|
# Commit ad6eddb742577d182e634785bcfaf92732a50024
|
||
|
# Date 2014-08-28 16:05:10 +0200
|
||
|
# Author Andrew Cooper <andrew.cooper3@citrix.com>
|
||
|
# Committer Jan Beulich <jbeulich@suse.com>
|
||
|
x86/ats: Disable Address Translation Services by default
|
||
|
|
||
|
Xen cannot safely use any ATS functionality until it gains asynchronous queued
|
||
|
invalidation support, because of the current synchronous wait for completion.
|
||
|
|
||
|
Do not turn ATS on by default.
|
||
|
|
||
|
While editing the default in the command line documentation, correct the
|
||
|
statement regarding PCI Passthrough. ATS is purely a performance
|
||
|
optimisation, and is certainly not required for PCI Passthrough to function.
|
||
|
|
||
|
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
|
||
|
Reviewed-by: Jan Beulich <jbeulich@suse.com>
|
||
|
Acked-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
|
||
|
|
||
|
--- a/docs/misc/xen-command-line.markdown
|
||
|
+++ b/docs/misc/xen-command-line.markdown
|
||
|
@@ -167,10 +167,13 @@ developers wishing Xen to fall back to o
|
||
|
### ats
|
||
|
> `= <boolean>`
|
||
|
|
||
|
-> Default: `true`
|
||
|
+> Default: `false`
|
||
|
+
|
||
|
+Permits Xen to set up and use PCI Address Translation Services. This is a
|
||
|
+performance optimisation for PCI Passthrough.
|
||
|
|
||
|
-Permits Xen to set up and use PCI Address Translation Services, which
|
||
|
-is required for PCI Passthrough.
|
||
|
+**WARNING: Xen cannot currently safely use ATS because of its synchronous wait
|
||
|
+loops for Queued Invalidation completions.**
|
||
|
|
||
|
### availmem
|
||
|
> `= <size>`
|
||
|
--- a/xen/drivers/passthrough/x86/ats.c
|
||
|
+++ b/xen/drivers/passthrough/x86/ats.c
|
||
|
@@ -20,7 +20,7 @@
|
||
|
|
||
|
LIST_HEAD(ats_devices);
|
||
|
|
||
|
-bool_t __read_mostly ats_enabled = 1;
|
||
|
+bool_t __read_mostly ats_enabled = 0;
|
||
|
boolean_param("ats", ats_enabled);
|
||
|
|
||
|
int enable_ats_device(int seg, int bus, int devfn, const void *iommu)
|