monstr has quit [Remote host closed the connection]
guillaume_g has quit [Ping timeout: 268 seconds]
djStolen has quit [Ping timeout: 272 seconds]
djStolen has joined #u-boot
sszy has quit [Ping timeout: 272 seconds]
paulbarker has quit [Quit: Updating details, brb]
paulbarker has joined #u-boot
sakman has joined #u-boot
guillaume_g has joined #u-boot
djStolen has quit [Remote host closed the connection]
Duality has quit [Ping timeout: 272 seconds]
guillaume_g has quit [Quit: Konversation terminated!]
cpackham[m] has quit [Quit: Client limit exceeded: 10000]
pi__ has joined #u-boot
mvaittin has quit [Quit: Client limit exceeded: 10000]
akaWolf has joined #u-boot
akaWolf has quit [Quit: leaving]
akaWolf has joined #u-boot
akaWolf has quit [Client Quit]
akaWolf has joined #u-boot
akaWolf has quit [Client Quit]
samueldr has quit [Quit: Client limit exceeded: 10000]
akaWolf has joined #u-boot
akaWolf has quit [Client Quit]
akaWolf has joined #u-boot
<macromorgan>
has anyone seen this error when building Op-Tee before? common/spl/spl_optee.S:11: Error: operand 1 must be an integer register -- `mov pc,r3'
<macromorgan>
rather, when building Optee into their image?
akaWolf has quit [Quit: leaving]
akaWolf has joined #u-boot
<mrnuke>
macromorgan: looks like wrong compiler arch
<macromorgan>
anyone have experience building Optee for Rockchip?
<macromorgan>
not sure if I'm doing it right then, as I'm trying to do everything aarch64
<mrnuke>
macromorgan: CROSS_COMPILE=/path/to/aarch64-gcc- make ?
<macromorgan>
make CFG_ARM64_core=y CROSS_COMPILE=aarch64-linux-gnu- CROSS_COMPILE_core=aarch64-linux-gnu- CROSS_COMPILE_ta_arm32=arm-linux-gnueabihf- CROSS_COMPILE_ta_arm64=aarch64-linux-gnu- PLATFORM=rockchip-px30
<mrnuke>
marex: ^ Anyone around doing aarch64 builds?
<Sout>
err this is what i have. but different compiler, xilinx u-boot so not the same make zynq_custom_defconfig CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm \n make
<Sout>
and lovely my hextchat font is hiding the lowercase dashes
Guest50 has joined #u-boot
<macromorgan>
that's actually the make command for optee_os, the make command I'm doing for U-boot is just a straight make CROSS_COMPILE=aarch64-linux-gnu- -j24
<macromorgan>
which works until I try to add Optee into the mix
<mrnuke>
macromorgan: what does "add Optee into the mix" mean?
<macromorgan>
I set the build flag of CONFIG_OPTEE
<macromorgan>
I'm defining the path to my TEE just like I do for my BL31
<mrnuke>
macromorgan: and CONFIG_SPL_OPTEE=y ?
<macromorgan>
yep
<mrnuke>
macromorgan: I think the problem might be that spl_optee.o was written for arm32, and r3 should read x3
<mrnuke>
macromorgan: and nobody tested spl_optee.s with aarch64, thus this was not hit by anyone else
<macromorgan>
x3 doesn't change anything sadly
<macromorgan>
common/spl/spl_optee.S:11: Error: operand 1 must be an integer register -- `mov pc,x3'
<mrnuke>
"In AArch64 state, the PC is not a general purpose register and you cannot access it explicitly."
<mrnuke>
but we porbably need someone knowledgeable in aarch64 to tell us what the matter actually is
<macromorgan>
gotcha
<mrnuke>
You could try changing it to "b r3", but then OP-TEE (which has a horrible ABI BTW) will get confused and not jump back to the correct address
<mrnuke>
also, spl_optee_entry() is pretty horrible. It tells OP-TEE to return to normal world at CONFIG_SYS_TEXT_BASE, which may or may not be where you want to return
<mrnuke>
You could configure your OP-TEE build to ignore lr and jump to its own hardcoded address
<mrnuke>
for example: CFG_NS_ENTRY_ADDR=wherever make optee
<macromorgan>
would CFG_NS_ENTRY_ADDR be the SYS_TEXT_BASE for U-boot?
samueldr has joined #u-boot
<macromorgan>
mov b,r3 ?
cpackham[m] has joined #u-boot
mvaittin has joined #u-boot
flyback has quit [Quit: Leaving]
<mrnuke>
macromorgan: negative. "mov pc, r3" means set the program counter to r3, where r3 would have the optee entry address
flyback has joined #u-boot
<mrnuke>
now you want to mov pc instead of branch, because op-tee uses the contents of lr to know where to jump back, but a branch would clobber lr
<mrnuke>
so in order to quickly make it work, I suggested to replace the 'move' with a 'branch', so just "b r3"
<mrnuke>
Now wrt. CFG_NS_ENTRY_ADDR, if you want to return to U-boot via SYS_TEXT_BASE, then yes, you would set that value
flyback has quit [Read error: Connection reset by peer]
<mrnuke>
This is just a huge workaround until someone can fix the u-boot assembly to work with aarch64
flyback has joined #u-boot
flyback has quit [Read error: Connection reset by peer]