s390x Architecture support missing
Naveenaidu opened this issue · 4 comments
Boost.Context does not currently support s390x architectures. This in turn blocks the coroutine module from being available.
I am currently working on this issue as a part of OpenMainframe Project Internship
. Will be sending a PR soon :)
Will your fcontext support the vector registers? Also, what did you do to enable context to know about s390x? Adding entries to Jamfile.v2 and architecture.jam are part of the process but what else is needed?
@nealef I'm sorry - I won't be able to do a complete justice to your questions. My internship hasn't yet started and I am still reading the documentation to get started. I haven't yet started the implementation part
-
Boost's Build system
doesn't currently support thes390x
architecture - So the first change would be to update the Build system to detect the appropriate assembly file ( There's an open issue for this at Boost.build). Along with it as you said, we would also have to update the Jamfile.v2 and architecture.jam -
I would have to implement three assembly files for s390x arch:
- jump_s39x_sysv_elf_gas.S: context switch between two fibers/fiber_contexts
- make_s39x_sysv_elf_gas.S: prepares stack for the first invocation
- ontop_s39x_sysv_elf_gas.S: execute function on top of a fiber/fiber_context
I'll be using the ELF binary format and sysv as the ABI for the assembly files.
Now supported