[prev in list] [next in list] [prev in thread] [next in thread]
List: xen-cvs
Subject: [Xen-changelog] [xen master] tools/hvmloader: Don't perform AML hotplug debugging in production
From: patchbot () xen ! org
Date: 2015-04-14 10:50:25
Message-ID: E1YhyQD-0007GN-67 () xenbits ! xen ! org
[Download RAW message or body]
commit 614013d9475f8ccc7c807c5e22062c80069e0ee1
Author: Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Mon Mar 30 15:20:19 2015 +0100
Commit: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CommitDate: Fri Apr 10 11:36:20 2015 -0400
tools/hvmloader: Don't perform AML hotplug debugging in production
It is number of vmexits and a moderate quantity of qemu logging which can
safely be avoided when not specifically debugging a PCI hotplug issue.
As mk_dsdt is a build system tool, pass 'debug' as a command line parameter
rather than "hardcoding" it via the compilation of mk_dsdt itself.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Keir Fraser <keir@xen.org>
CC: Jan Beulich <JBeulich@suse.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
tools/firmware/hvmloader/acpi/Makefile | 4 ++--
tools/firmware/hvmloader/acpi/mk_dsdt.c | 29 ++++++++++++++++++++++-------
2 files changed, 24 insertions(+), 9 deletions(-)
diff --git a/tools/firmware/hvmloader/acpi/Makefile b/tools/firmware/hvmloader/acpi/Makefile
index 8d91881..33b714a 100644
--- a/tools/firmware/hvmloader/acpi/Makefile
+++ b/tools/firmware/hvmloader/acpi/Makefile
@@ -36,12 +36,12 @@ mk_dsdt: mk_dsdt.c
dsdt_anycpu_qemu_xen.asl: dsdt.asl mk_dsdt
awk 'NR > 1 {print s} {s=$$0}' $< > $@
- ./mk_dsdt --dm-version qemu-xen >> $@
+ ./mk_dsdt --debug=$(debug) --dm-version qemu-xen >> $@
# NB. awk invocation is a portable alternative to 'head -n -1'
dsdt_%cpu.asl: dsdt.asl mk_dsdt
awk 'NR > 1 {print s} {s=$$0}' $< > $@
- ./mk_dsdt --maxcpu $* >> $@
+ ./mk_dsdt --debug=$(debug) --maxcpu $* >> $@
$(filter dsdt_%.c,$(C_SRC)): %.c: iasl %.asl
iasl -vs -p $* -tc $*.asl
diff --git a/tools/firmware/hvmloader/acpi/mk_dsdt.c b/tools/firmware/hvmloader/acpi/mk_dsdt.c
index 1392525..b567b38 100644
--- a/tools/firmware/hvmloader/acpi/mk_dsdt.c
+++ b/tools/firmware/hvmloader/acpi/mk_dsdt.c
@@ -4,9 +4,11 @@
#include <string.h>
#include <getopt.h>
#include <stdlib.h>
+#include <stdbool.h>
#include <xen/hvm/hvm_info_table.h>
static unsigned int indent_level;
+static bool debug = false;
typedef enum dm_version {
QEMU_XEN_TRADITIONAL,
@@ -83,6 +85,7 @@ static void decision_tree(
static struct option options[] = {
{ "maxcpu", 1, 0, 'c' },
{ "dm-version", 1, 0, 'q' },
+ { "debug", 1, 0, 'd' },
{ 0, 0, 0, 0 }
};
@@ -125,6 +128,10 @@ int main(int argc, char **argv)
return -1;
}
break;
+ case 'd':
+ if (*optarg == 'y')
+ debug = true;
+ break;
default:
return -1;
}
@@ -344,14 +351,20 @@ int main(int argc, char **argv)
/* _SUN == dev */
stmt("Name", "_SUN, 0x%08x", slot >> 3);
push_block("Method", "_EJ0, 1");
- stmt("Store", "0x%02x, \\_GPE.DPT1", slot);
- stmt("Store", "0x88, \\_GPE.DPT2");
+ if (debug)
+ {
+ stmt("Store", "0x%02x, \\_GPE.DPT1", slot);
+ stmt("Store", "0x88, \\_GPE.DPT2");
+ }
stmt("Store", "0x%02x, \\_GPE.PH%02X", /* eject */
(slot & 1) ? 0x10 : 0x01, slot & ~1);
pop_block();
push_block("Method", "_STA, 0");
- stmt("Store", "0x%02x, \\_GPE.DPT1", slot);
- stmt("Store", "0x89, \\_GPE.DPT2");
+ if (debug)
+ {
+ stmt("Store", "0x%02x, \\_GPE.DPT1", slot);
+ stmt("Store", "0x89, \\_GPE.DPT2");
+ }
if ( slot & 1 )
stmt("ShiftRight", "0x4, \\_GPE.PH%02X, Local1", slot & ~1);
else
@@ -421,9 +434,11 @@ int main(int argc, char **argv)
stmt("And", "Local1, 0xf, EVT");
stmt("Store", "PSTB, Local1"); /* XXX: Store (PSTB, SLT) ? */
stmt("And", "Local1, 0xff, SLT");
- /* Debug */
- stmt("Store", "SLT, DPT1");
- stmt("Store", "EVT, DPT2");
+ if (debug)
+ {
+ stmt("Store", "SLT, DPT1");
+ stmt("Store", "EVT, DPT2");
+ }
/* Decision tree */
decision_tree(0x00, 0x100, "SLT", pci_hotplug_notify);
pop_block();
--
generated by git-patchbot for /home/xen/git/xen.git#master
_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic