Building x86 uberapp

Did you reinstall the uberspark tool-chain via sudo make install? The above kludge should spew out more verbose debug info during the build process…

I did, and I just re-ran make install. And I’m still getting the same outputs.

When I remove my xh_uhcalltest and replace it with xh_hyperdep in, the build succeeds. The step that occurs after my build failure is

[umf] Parsed all uobjs
[umfparse]  Proceeding to compute memory map

Found the issue.

There were missing entries in some of the *.gsm files that can call the new hypapp. Specifically, xh_uhcalltest needed to be added to xc_init.gsm and xc_ihub.gsm

Coolio. So are you able to build successfully now?

YES! :smiley: I have a successful build!

And successful test! :partying_face:

Wohoo! Would you mind adding s PR for uhcalltest and also add a section in the docs titled “adding uapps” with salient points from this discussion?

Thanks @Cap!

Will do! I’ll knock this out tonight.

Awesome! Thanks @Cap!

PR submitted. Adds uhcalltest hypapp for x86 and adds documentation section about adding hypapps for both rpi3 and x86.

Out of curiosity, I attempted to add uhcalltest with hyperdep (without replacing any of the existing uapps). However, When I attempt to boot the hypervisor, I get an error: GEEC_SENTINEL(ln:271): Uncrecognized transition. Halting!

Any insights as to why this is occurring?

see complete log: add_hypapp.log (30.5 KB)

Thanks @Cap! I just pushed a couple of minor commits to the PR branch, so please pull. Also, can you revise the PR to make sure that hyperdep is the default uobj instead of uhcalltest? I am assuming you describe how you can switch out hyperdep for uhcalltest within the docs.

I can merge once you get a chance to make the aforementioned changes.


Adding a new extension is a little more involved currently and will require tweaking the memory map and size within include/xmhf-config.h (including definitions like XMHFGEEC_xxx_BASE/MAX_IDX ) and (including UXMHF_TOTAL_xxSLABS, XMHF_CONFIG_LOADADDR, XMHF_CONFIG_LOADMAXSIZE, XMHF_CONFIG_LOADMAXADDR)

OK, I had changed the BASE/MAX_IDX defines. But didn’t change anything in

So in the docs should I mention that currently it only supports 4 uapps?

@amitvasudevan, updated the PR to make hyperdep the default uobj.

The docs discuss adding an uapp, which switching an existing one out is a subset of. The only thing I don’t mention is anything wrt a limitation on the total number of uapps (see previous post). I can easily add a one liner to that effect

Thanks @Cap!

Perhaps we can say that the preferred method of adding uapps currently is to switch out to the uapp of choice while preserving the memory map.

We can then add a blurb based on the paragraph in my post above which mentions changing the required definitions within xmhf-config h and in case someone wants to expand the memory map and add additional uapps.

Let me know when you have had the chance to revise the docs based on the above. I can then merge this PR.

Thanks again for your contribution!

PR updated. The docs now reflect these discussions.

A post was split to a new topic: üApp Crypto Library

Linked PR and merge information to OP. Made a few refinements to the docs and have merged into develop. Closing thread. Thanks @Cap!

1 Like