Hi Marc, On Fri, 2013-04-05 at 10:08 +0100, Marc Zyngier wrote: > On 04/04/13 23:10, Geoff Levand wrote: > > On Tue, 2013-04-02 at 14:25 +0100, Marc Zyngier wrote: > >> + @ Jump to the trampoline page > >> + ldr r2, =#PAGE_MASK > >> + adr r3, target > >> + bic r3, r3, r2 > >> + ldr r2, =#TRAMPOLINE_VA > >> + add r3, r3, r2 > >> + mov pc, r3 > > > > I guess you need 'ldr r2, =PAGE_MASK'. > > > > arch/arm/kvm/init.S:114: Error: bad expression -- `ldr r2,=#(~((1<<12)-1))' > > arch/arm/kvm/init.S:117: Error: bad expression -- `ldr r2,=#0xffff0000' > > Oddly enough, this code compiles perfectly fine on my box. > What's your compiler/binutils versions? I thought # was for an immediate value in instructions. This is an assembler pseudo-instruction, and based on the ARM manual here I would think your coding should fail: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0473i/Chdcegci.html I use the current arm-linux-gnueabihf cross toolchain packages from Ubuntu 12.04: arm-linux-gnueabihf-gcc-4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 GNU assembler (GNU Binutils for Ubuntu) 2.22 -Geoff -- 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