pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/sysutils/xenkernel46 Disable a couple more warnings fo...
details: https://anonhg.NetBSD.org/pkgsrc/rev/b8e9792e3ba4
branches: trunk
changeset: 358567:b8e9792e3ba4
user: joerg <joerg%pkgsrc.org@localhost>
date: Tue Feb 14 21:38:34 2017 +0000
description:
Disable a couple more warnings for the clang build and merge some
patches from Git to fix another set of issues.
diffstat:
sysutils/xenkernel46/Makefile | 7 +-
sysutils/xenkernel46/distinfo | 6 +-
sysutils/xenkernel46/patches/patch-tools_xentrace_xenalyze.c | 264 ++++++++++
sysutils/xenkernel46/patches/patch-xen_arch_x86_mm.c | 15 +
sysutils/xenkernel46/patches/patch-xen_arch_x86_xen.lds.S | 15 +
sysutils/xenkernel46/patches/patch-xen_include_asm-x86_spinlock.h | 16 +
6 files changed, 320 insertions(+), 3 deletions(-)
diffs (truncated from 370 to 300 lines):
diff -r ae08bda26672 -r b8e9792e3ba4 sysutils/xenkernel46/Makefile
--- a/sysutils/xenkernel46/Makefile Tue Feb 14 21:36:15 2017 +0000
+++ b/sysutils/xenkernel46/Makefile Tue Feb 14 21:38:34 2017 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.8 2017/01/01 14:43:59 wiz Exp $
+# $NetBSD: Makefile,v 1.9 2017/02/14 21:38:34 joerg Exp $
VERSION= 4.6.3
DISTNAME= xen-${VERSION}
@@ -34,7 +34,10 @@
EXTRA_CFLAGS+= -Qunused-arguments -no-integrated-as -Wno-error=format \
-Wno-error=parentheses-equality -Wno-error=enum-conversion \
-Wno-error=unused-function -Wno-error=unused-const-variable \
- -Wno-error=ignored-attributes -Wno-error=initializer-overrides
+ -Wno-error=ignored-attributes -Wno-error=constant-conversion \
+ -Wno-error=address-of-packed-member \
+ -Wno-error=initializer-overrides \
+ -Wno-error=tautological-compare
.endif
MAKE_ENV+= EXTRA_CFLAGS=${EXTRA_CFLAGS:Q}
diff -r ae08bda26672 -r b8e9792e3ba4 sysutils/xenkernel46/distinfo
--- a/sysutils/xenkernel46/distinfo Tue Feb 14 21:36:15 2017 +0000
+++ b/sysutils/xenkernel46/distinfo Tue Feb 14 21:38:34 2017 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.5 2016/12/21 15:36:39 bouyer Exp $
+$NetBSD: distinfo,v 1.6 2017/02/14 21:38:34 joerg Exp $
SHA1 (xen-4.6.3.tar.gz) = 2aa59d0a05a6c5ac7f336f2069c66a54f95c4349
RMD160 (xen-4.6.3.tar.gz) = 2798bd888ee001a4829165e55feb705a86af4f74
@@ -20,9 +20,13 @@
SHA1 (patch-XSA-202) = 52cb1da3bb078f6b7574f606b8c9cacdf24f6518
SHA1 (patch-XSA-203) = 43310c4e95e0070a24e6a847502e057b9e0eefe9
SHA1 (patch-XSA-204) = 05defb8d99976a712024d35a81f4dde5627107d9
+SHA1 (patch-tools_xentrace_xenalyze.c) = ab973cb7090dc90867dcddf9ab8965f8f2f36c46
SHA1 (patch-xen_Makefile) = be3f4577a205b23187b91319f91c50720919f70b
SHA1 (patch-xen_arch_x86_Rules.mk) = 7b0894ba7311edb02118a021671f304cf3872154
+SHA1 (patch-xen_arch_x86_mm.c) = 3c1435fa5db6a0f542e5efe726997f262fa04041
+SHA1 (patch-xen_arch_x86_xen.lds.S) = 58a890c404ca4f86ccfb58cf5a83b07e235034fc
SHA1 (patch-xen_common_page__alloc.c) = c4d606de1cada8cf89b5abd16efada3d58c68a03
SHA1 (patch-xen_drivers_passthrough_vtd_x86_ats.c) = f72fd4bb2aeeaeb0b167031dfd5498e73666aa4e
SHA1 (patch-xen_include_asm-x86_current.h) = 8a21577be06383c0c7f53c15ba828f77fb6314ad
+SHA1 (patch-xen_include_asm-x86_spinlock.h) = a78fe84c87632f0524af255f173676732418a75e
SHA1 (patch-xen_include_xen_lib.h) = 82a219b7d9c5deaa2b8e0adc774f60395adc4815
diff -r ae08bda26672 -r b8e9792e3ba4 sysutils/xenkernel46/patches/patch-tools_xentrace_xenalyze.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysutils/xenkernel46/patches/patch-tools_xentrace_xenalyze.c Tue Feb 14 21:38:34 2017 +0000
@@ -0,0 +1,264 @@
+$NetBSD: patch-tools_xentrace_xenalyze.c,v 1.1 2017/02/14 21:38:34 joerg Exp $
+
+Based on 28ab9f3d0e7cbb22f5ce77500af7873f6e2d3c59.
+
+--- tools/xentrace/xenalyze.c.orig 2016-06-20 12:08:22.000000000 +0000
++++ tools/xentrace/xenalyze.c
+@@ -509,7 +509,6 @@ struct {
+ #define HVM_VMX_EXIT_REASON_MAX (EXIT_REASON_XSETBV+1)
+
+ char * hvm_vmx_exit_reason_name[HVM_VMX_EXIT_REASON_MAX] = {
+- [0] = "NONE",
+ [EXIT_REASON_EXCEPTION_NMI]="EXCEPTION_NMI",
+ [EXIT_REASON_EXTERNAL_INTERRUPT]="EXTERNAL_INTERRUPT",
+ [EXIT_REASON_TRIPLE_FAULT]="TRIPLE_FAULT",
+@@ -2262,11 +2261,6 @@ static inline void update_summary(struct
+ s->count++;
+ }
+
+-static inline void clear_interval_summary(struct event_cycle_summary *s) {
+- s->interval.count = 0;
+- s->interval.cycles = 0;
+-}
+-
+ static inline void update_cycles(struct cycle_summary *s, long long c) {
+ /* We don't know ahead of time how many samples there are, and working
+ * with dynamic stuff is a pain, and unnecessary. This algorithm will
+@@ -2314,6 +2308,7 @@ static inline void clear_interval_cycles
+ e->instructions = 0;
+ }
+
++#if 0
+ static inline void update_cpi(struct weighted_cpi_summary *s,
+ unsigned long long i,
+ unsigned long long c) {
+@@ -2359,6 +2354,7 @@ static inline void clear_interval_cpi(st
+ s->interval.count = 0;
+ s->interval.instructions = 0;
+ }
++#endif
+
+ static inline void print_cpu_affinity(struct cycle_summary *s, char *p) {
+ if(s->count) {
+@@ -2639,6 +2635,23 @@ void interval_cr3_value_check(struct cr3
+ }
+ }
+
++int cr3_time_compare(const void *_a, const void *_b) {
++ struct cr3_value_struct *a=*(typeof(&a))_a;
++ struct cr3_value_struct *b=*(typeof(&a))_b;
++
++ if(a->total_time.interval.cycles < b->total_time.interval.cycles)
++ return 1;
++ else if(b->total_time.interval.cycles == a->total_time.interval.cycles) {
++ if(a->total_time.interval.count < b->total_time.interval.count)
++ return 1;
++ else if(a->total_time.interval.count == b->total_time.interval.count)
++ return 0;
++ else
++ return -1;
++ } else
++ return -1;
++}
++
+ void interval_cr3_schedule_ordered_output(void) {
+ struct cr3_value_struct *p;
+ int i;
+@@ -2646,23 +2659,6 @@ void interval_cr3_schedule_ordered_outpu
+ struct cr3_value_struct **qsort_array;
+ int N=0;
+
+- int cr3_time_compare(const void *_a, const void *_b) {
+- struct cr3_value_struct *a=*(typeof(&a))_a;
+- struct cr3_value_struct *b=*(typeof(&a))_b;
+-
+- if(a->total_time.interval.cycles < b->total_time.interval.cycles)
+- return 1;
+- else if(b->total_time.interval.cycles == a->total_time.interval.cycles) {
+- if(a->total_time.interval.count < b->total_time.interval.count)
+- return 1;
+- else if(a->total_time.interval.count == b->total_time.interval.count)
+- return 0;
+- else
+- return -1;
+- } else
+- return -1;
+- }
+-
+ for(p=P.cr3.head; p; p=p->gnext)
+ N++;
+
+@@ -2958,6 +2954,23 @@ void update_eip(struct eip_list_struct *
+ update_summary(&p->summary, cycles);
+ }
+
++int eip_compare(const void *_a, const void *_b) {
++ struct eip_list_struct *a=*(typeof(&a))_a;
++ struct eip_list_struct *b=*(typeof(&a))_b;
++
++ if(a->summary.cycles < b->summary.cycles)
++ return 1;
++ else if(b->summary.cycles == a->summary.cycles) {
++ if(a->summary.count < b->summary.count)
++ return 1;
++ else if(a->summary.count == b->summary.count)
++ return 0;
++ else
++ return -1;
++ } else
++ return -1;
++}
++
+ void dump_eip(struct eip_list_struct *head) {
+ struct eip_list_struct *p;
+ int i;
+@@ -2966,23 +2979,6 @@ void dump_eip(struct eip_list_struct *he
+ struct eip_list_struct **qsort_array;
+ int N=0;
+
+- int eip_compare(const void *_a, const void *_b) {
+- struct eip_list_struct *a=*(typeof(&a))_a;
+- struct eip_list_struct *b=*(typeof(&a))_b;
+-
+- if(a->summary.cycles < b->summary.cycles)
+- return 1;
+- else if(b->summary.cycles == a->summary.cycles) {
+- if(a->summary.count < b->summary.count)
+- return 1;
+- else if(a->summary.count == b->summary.count)
+- return 0;
+- else
+- return -1;
+- } else
+- return -1;
+- }
+-
+ for(p=head; p; p=p->next)
+ {
+ total += p->summary.count;
+@@ -3549,6 +3545,50 @@ struct outstanding_ipi *find_vec(struct
+ return o;
+ }
+
++void ipi_send(struct vcpu_data *ov, int vec)
++{
++ struct vlapic_struct *vla;
++ struct outstanding_ipi *o = NULL;
++
++ if(ov->runstate.state == RUNSTATE_LOST) {
++ if(opt.dump_all)
++ fprintf(warn, "%s: v%d in state RUNSTATE_LOST, not counting ipi\n",
++ __func__, ov->vid);
++ return;
++ }
++
++ vla = &ov->vlapic;
++
++ o = find_vec(vla, vec);
++
++ if(!o)
++ {
++ fprintf(warn, "%s: Couldn't find an open slot!\n",
++ __func__);
++ return;
++ }
++
++ if(!o->first_tsc)
++ o->first_tsc = P.now;
++
++ if(opt.dump_all && o->count == 0 && o->injected)
++ printf(" [vla] Pre-injection\n");
++
++ o->count++;
++
++ if((opt.dump_all)
++#if 0
++ && (ov->runstate.state != RUNSTATE_RUNNING
++ || ov->hvm.vmexit_valid)
++#endif
++ )
++ printf(" [vla] d%dv%d vec %d state %s (outstanding ipis %d)\n",
++ ov->d->did, ov->vid,
++ o->vec,
++ runstate_name[ov->runstate.state],
++ o->count);
++}
++
+ void hvm_vlapic_icr_handler(struct hvm_data *h)
+ {
+ struct mmio_info *m = &h->inflight.mmio;
+@@ -3567,50 +3607,6 @@ void hvm_vlapic_icr_handler(struct hvm_d
+ };
+ } icr = { .val = m->data };
+
+- void ipi_send(struct vcpu_data *ov, int vec)
+- {
+- struct vlapic_struct *vla;
+- struct outstanding_ipi *o = NULL;
+-
+- if(ov->runstate.state == RUNSTATE_LOST) {
+- if(opt.dump_all)
+- fprintf(warn, "%s: v%d in state RUNSTATE_LOST, not counting ipi\n",
+- __func__, ov->vid);
+- return;
+- }
+-
+- vla = &ov->vlapic;
+-
+- o = find_vec(vla, vec);
+-
+- if(!o)
+- {
+- fprintf(warn, "%s: Couldn't find an open slot!\n",
+- __func__);
+- return;
+- }
+-
+- if(!o->first_tsc)
+- o->first_tsc = P.now;
+-
+- if(opt.dump_all && o->count == 0 && o->injected)
+- printf(" [vla] Pre-injection\n");
+-
+- o->count++;
+-
+- if((opt.dump_all)
+-#if 0
+- && (ov->runstate.state != RUNSTATE_RUNNING
+- || ov->hvm.vmexit_valid)
+-#endif
+- )
+- printf(" [vla] d%dv%d vec %d state %s (outstanding ipis %d)\n",
+- ov->d->did, ov->vid,
+- o->vec,
+- runstate_name[ov->runstate.state],
+- o->count);
+- }
+-
+ if(m->is_write) {
+ if(opt.dump_all) {
+ printf(" [vla] d%dv%d icr vec %d %s\n",
+@@ -4116,11 +4112,6 @@ void cr3_prealloc_unpin(struct vcpu_data
+ gmfn, cr3->prealloc_unpin.count);
+ }
+
+-void cr3_dump_list(struct cr3_value_struct *head){
+- struct cr3_value_struct *p;
+- struct cr3_value_struct **qsort_array;
+- int i, N=0;
+-
+ int cr3_compare_total(const void *_a, const void *_b) {
+ struct cr3_value_struct *a=*(typeof(&a))_a;
+ struct cr3_value_struct *b=*(typeof(&a))_b;
Home |
Main Index |
Thread Index |
Old Index