On Mon, Apr 8, 2013 at 9:17 AM, Marc Zyngier <marc.zyngier@xxxxxxx> wrote: > Add the necessary infrastructure for identity-mapped HYP page > tables. Idmap-ed code must be in the ".hyp.idmap.text" linker > section. > > The rest of the HYP ends up in ".hyp.text". > > Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> > --- > arch/arm64/kernel/vmlinux.lds.S | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/arch/arm64/kernel/vmlinux.lds.S b/arch/arm64/kernel/vmlinux.lds.S > index 3fae2be..855d43d 100644 > --- a/arch/arm64/kernel/vmlinux.lds.S > +++ b/arch/arm64/kernel/vmlinux.lds.S > @@ -17,6 +17,15 @@ ENTRY(stext) > > jiffies = jiffies_64; > > +#define HYPERVISOR_TEXT \ > + . = ALIGN(2048); \ why align to 2048? Comment? are you changing this to the same idea as for the 32-bit code to reduce the kernel size? > + 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 +58,7 @@ SECTIONS > TEXT_TEXT > SCHED_TEXT > LOCK_TEXT > + HYPERVISOR_TEXT > *(.fixup) > *(.gnu.warning) > . = ALIGN(16); > @@ -124,3 +134,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") > -- > 1.8.1.4 > > > > _______________________________________________ > kvmarm mailing list > kvmarm@xxxxxxxxxxxxxxxxxxxxx > https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html