On Thu, Sep 19, 2019 at 01:53:35PM +0300, Ard Biesheuvel wrote: > > > I mean that I'd prefer to assemble the .asm files in ARM mode, > > > especially since I am not convinced that the startup code we have is > > > guaranteed to switch into the right mode after the CPU comes out of > > > reset in ARM mode. > > > > That could be resolved with a trivial branch at that point (or just > > forcing ARM for the whole entry file) though. > > > > Of course. > > The problem is that the first branch instruction is patched into the > FV files by the BaseTools, and so the startup code is entered in ARM > mode by default. > > So that means we'll either have to > 1) switch to ARM mode > 2) emit one branch instruction > 3) switch back to Thumb mode
I was thinking more like tying down the entry function (or as I said, the whole file) as ARM, then letting the toolchain decide for the bits where we don't have instuction-set dependent ABIs. > 4) fix up all the code so it assembles in Thumb mode Which is what Baptiste has done in this set. > 1) switch to ARM mode In all 48 files (+3 in edk2-platforms), or just the ones where not doing so triggers build errors? Currently. I'm OK with restricting ourselves to just setting ARM in the triggering files for simplicity, especially in order to streamline the toolchain migration from RVCT to VS (and the subsequent purge of PVCT support). I'm not seeing it as a solution. / Leif -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#47596): https://edk2.groups.io/g/devel/message/47596 Mute This Topic: https://groups.io/mt/34187299/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-