summaryrefslogtreecommitdiff
path: root/big-little/include/events.h
diff options
context:
space:
mode:
authorRobin Randhawa <robin.randhawa@arm.com>2011-10-12 16:07:02 +0100
committerRobin Randhawa <robin.randhawa@arm.com>2011-10-12 16:07:02 +0100
commit0656dea51f48c51a57e77187de4d5f66a6ba1337 (patch)
tree5b93e8967b0aa1cadd2724689346c6251cb47669 /big-little/include/events.h
downloadswitcher-0656dea51f48c51a57e77187de4d5f66a6ba1337.tar.gz
Initial commit of the virtualizer v2.0 release.
This will be the basis for the VSM.
Diffstat (limited to 'big-little/include/events.h')
-rw-r--r--big-little/include/events.h73
1 files changed, 73 insertions, 0 deletions
diff --git a/big-little/include/events.h b/big-little/include/events.h
new file mode 100644
index 0000000..248a5b3
--- /dev/null
+++ b/big-little/include/events.h
@@ -0,0 +1,73 @@
+/*
+ * $Copyright:
+ * ----------------------------------------------------------------
+ * This confidential and proprietary software may be used only as
+ * authorised by a licensing agreement from ARM Limited
+ * (C) COPYRIGHT 2008-2011 ARM Limited
+ * ALL RIGHTS RESERVED
+ * The entire notice above must be reproduced on all authorised
+ * copies and copies may only be made to the extent permitted
+ * by a licensing agreement from ARM Limited.
+ * ----------------------------------------------------------------
+ * File: events.h
+ * ----------------------------------------------------------------
+ * $
+ */
+
+#ifndef __EVENTS_H__
+#define __EVENTS_H__
+
+#include "context.h"
+#include "virt_helpers.h"
+#include "misc.h"
+
+/*
+ * Events for inter/intra-cluster sync
+ */
+#define MAX_EVENTS 13
+
+/* Inter cluster events */
+#define IB_HS_DONE 0
+#define IB_CONTEXT_DONE 1
+#define OB_CONTEXT_DONE 2
+
+/* Intra cluster events */
+#define L2_READY 3
+#define L1_DONE 4
+#define CCI_READY 5
+#define GIC_READY 6
+/* Cores have finished performing inbound headstart specific initialisation */
+#define HS_DONE 7
+/*
+ * Holding pen to ensure that all other context is restored only after all
+ * cpus have finished initialised local and global HYP mode context.
+ */
+#define HYP_CONTEXT_DONE 8
+/*
+ * Holding pen to ensure that all cores have setup the local and global
+ * virtualisor context before any one of them uses it
+ */
+#define VIRT_SETUP_DONE 9
+/*
+ * Event to synchronise creation of HYP mode pagetables
+ */
+#define VIRT_PGT_DONE 10
+
+#define CACHE_GEOM_DONE 11
+#define VID_REGS_DONE 12
+
+/* Defines for Secure events */
+#define MAX_SEC_EVENTS 4
+#define SEC_L1_DONE 0
+#define OB_SHUTDOWN 1
+#define FLUSH_L2 2
+#define SETUP_RST 3
+
+extern void set_event(unsigned, unsigned);
+extern void set_events(unsigned);
+extern unsigned get_event(unsigned, unsigned);
+extern void reset_event(unsigned, unsigned);
+extern void wait_for_event(unsigned, unsigned);
+extern void wait_for_events(unsigned);
+
+#endif /* __EVENTS_H__ */