[PATCH] D109372: [RISCV][RFC] Add Clang support for RISC-V overlay system

Ofer Shinaar via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Sep 12 06:22:05 PDT 2021


the_o added a comment.

In D109372#2989299 <https://reviews.llvm.org/D109372#2989299>, @edward-jones wrote:

> In D109372#2987411 <https://reviews.llvm.org/D109372#2987411>, @jrtc27 wrote:
>
>> In D109372#2987405 <https://reviews.llvm.org/D109372#2987405>, @MaskRay wrote:
>>
>>> The name "overlay" is ambiguous. Even after I ruled out Gentoo Overlay and overlayfs, I am thinking whether this has anything to do with `OVERLAY` description in a linker script: https://sourceware.org/binutils/docs/ld/Overlay-Description.html#Overlay-Description
>>>
>>>> which are used to mark functions or global data as only accessible through the overlay engine
>>>
>>> Can you give more descriptions for folks who don't follow the RISC-V side proposal but need to review your changes? :)
>>
>> Basically hardware-assisted code+rodata banking (I guess either by actually banking ROMs or just paging stuff in and out) that's mostly transparent to software. Functions at the boundary of components (don't know what the granularity is) use a weird indirect calling convention where you instead call into some magic runtime with a unique ID for the callee, it ensures everything's loaded and then tail calls it for you.
>
> Yes it's essentially this. The start of the proposal for this 'overlay' system for RISC-V is a FOSDEM talk 'Cacheable Overlay Manager RISC‐V' <https://archive.fosdem.org/2020/schedule/event/riscv_comrv/attachments/paper/3441/export/events/attachments/riscv_comrv/paper/3441/Summit_Paper_cacheable_overlay_manager_FOSDEM.pdf>. That's also the source of the weird name for the `-fcomrv` option name.
>
> Would something like `-foverlay-manager` make more sense? (maybe an `-m` option would actually be more appropriate given this is still very RISC-V specific?). I'm not sure how to disambiguate from the many overloaded meanings of 'overlay'.
>
> Thank's for the feedback. I'll update this and come back with a tidier patch.

Adding my two cents:
More info about `Overlay` can be found on the Overlay standard at 'FOSSi embedded overlay' <https://github.dihe.moe/fossi-foundation/embedded-sw-overlay/blob/master/docs/overlay-software-standard.adoc>
For the flag, on `RISCV` we agreed in //`-moveraly`// per the High Level Design section 2.7.1.1 - Flags <https://github.com/riscv-non-isa/riscv-overlay/blob/master/docs/overlay-hld.adoc#2711-flags>


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D109372/new/

https://reviews.llvm.org/D109372



More information about the cfe-commits mailing list