summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLouis Burda <quent.burda@gmail.com>2023-02-06 19:35:27 -0600
committerLouis Burda <quent.burda@gmail.com>2023-02-06 19:35:27 -0600
commit546a50cb8bb80775c71e7469f2a2891ac1fa1b24 (patch)
treeadacd95e03251f03bea6f44451b676b96b93f106
parent0fd95a9cab80941eb00a740213a644ae567b1cb2 (diff)
downloadcachepc-546a50cb8bb80775c71e7469f2a2891ac1fa1b24.tar.gz
cachepc-546a50cb8bb80775c71e7469f2a2891ac1fa1b24.zip
fixup! Swap gp registers to xmm in vmenter
-rw-r--r--cachepc/cachepc.c6
-rw-r--r--cachepc/cachepc.h1
-rw-r--r--cachepc/kvm.c8
m---------linux0
-rw-r--r--test/kvm-step.c2
5 files changed, 10 insertions, 7 deletions
diff --git a/cachepc/cachepc.c b/cachepc/cachepc.c
index 53869e1..232e17a 100644
--- a/cachepc/cachepc.c
+++ b/cachepc/cachepc.c
@@ -163,8 +163,10 @@ cpc_save_msrmts(struct cpc_cl *head)
if (cl->first) {
BUG_ON(cl->set >= L1_SETS);
if (cl->count > L1_ASSOC) {
- CPC_ERR("Read count %llu for set %u line %u",
- cl->count, cl->set, cl->line);
+ CPC_ERR("OOB count %llu for set %u\n",
+ cl->count, cl->set);
+ } else if (cl->count == L1_ASSOC) {
+ CPC_ERR("Set %u saturated\n", cl->set);
}
cpc_msrmts[cl->set] = cl->count;
} else {
diff --git a/cachepc/cachepc.h b/cachepc/cachepc.h
index d6556a4..2eed961 100644
--- a/cachepc/cachepc.h
+++ b/cachepc/cachepc.h
@@ -139,3 +139,4 @@ extern struct cpc_track_steps cpc_track_steps;
extern struct list_head cpc_faults;
extern struct cpc_cl *cpc_ds;
+extern struct cpc_cl *cpc_ds_probe;
diff --git a/cachepc/kvm.c b/cachepc/kvm.c
index 9888d38..775e4cc 100644
--- a/cachepc/kvm.c
+++ b/cachepc/kvm.c
@@ -92,7 +92,9 @@ EXPORT_SYMBOL(cpc_track_pages);
struct cpc_cl *cpc_ds_ul = NULL;
struct cpc_cl *cpc_ds = NULL;
+struct cpc_cl *cpc_ds_probe = NULL;
EXPORT_SYMBOL(cpc_ds);
+EXPORT_SYMBOL(cpc_ds_probe);
void cpc_prime_probe_test_asm(void);
static noinline void cpc_prime_probe_test(void);
@@ -683,8 +685,6 @@ cpc_setup_test(void *p)
if (cpc_verify_topology())
goto exit;
- cpc_ds = cpc_ds_alloc(&cpc_ds_ul);
-
cpc_system_setup();
spin_lock_irq(&lock);
@@ -704,8 +704,8 @@ cpc_kvm_init(void)
cpc_loglevel = 1;
- cpc_ds = NULL;
- cpc_ds_ul = NULL;
+ cpc_ds = cpc_ds_alloc(&cpc_ds_ul);
+ cpc_ds_probe = cpc_ds->prev;
cpc_retinst = 0;
cpc_retinst_user = 0;
diff --git a/linux b/linux
-Subproject 93ddfc5c264338ed8c8e7cb0940e2c9c70e5b64
+Subproject 15554c668705bcbaa9da3fbf2a1efe45bb42adc
diff --git a/test/kvm-step.c b/test/kvm-step.c
index 7f42d6d..34594ae 100644
--- a/test/kvm-step.c
+++ b/test/kvm-step.c
@@ -173,7 +173,7 @@ main(int argc, const char **argv)
if (ret) err(1, "KVM_CPC_ACK_EVENT");
eventcnt = 0;
- while (eventcnt < 61) {
+ while (eventcnt < 57) {
eventcnt += monitor(&kvm, false);
}