|
@@ -17,6 +17,19 @@ ENTRY(stext)
|
|
|
|
|
|
jiffies = jiffies_64;
|
|
|
|
|
|
+#define HYPERVISOR_TEXT \
|
|
|
+ /* \
|
|
|
+ * Force the alignment to be compatible with \
|
|
|
+ * the vectors requirements \
|
|
|
+ */ \
|
|
|
+ . = ALIGN(2048); \
|
|
|
+ VMLINUX_SYMBOL(__hyp_idmap_text_start) = .; \
|
|
|
+ *(.hyp.idmap.text) \
|
|
|
+ VMLINUX_SYMBOL(__hyp_idmap_text_end) = .; \
|
|
|
+ VMLINUX_SYMBOL(__hyp_text_start) = .; \
|
|
|
+ *(.hyp.text) \
|
|
|
+ VMLINUX_SYMBOL(__hyp_text_end) = .;
|
|
|
+
|
|
|
SECTIONS
|
|
|
{
|
|
|
/*
|
|
@@ -49,6 +62,7 @@ SECTIONS
|
|
|
TEXT_TEXT
|
|
|
SCHED_TEXT
|
|
|
LOCK_TEXT
|
|
|
+ HYPERVISOR_TEXT
|
|
|
*(.fixup)
|
|
|
*(.gnu.warning)
|
|
|
. = ALIGN(16);
|
|
@@ -124,3 +138,9 @@ SECTIONS
|
|
|
STABS_DEBUG
|
|
|
.comment 0 : { *(.comment) }
|
|
|
}
|
|
|
+
|
|
|
+/*
|
|
|
+ * The HYP init code can't be more than a page long.
|
|
|
+ */
|
|
|
+ASSERT(((__hyp_idmap_text_start + PAGE_SIZE) > __hyp_idmap_text_end),
|
|
|
+ "HYP init code too big")
|