Messages in this thread | | | From | Atish Patra <> | Subject | Re: [PATCH v2 0/3] Add support for SBI v0.2 | Date | Fri, 27 Sep 2019 22:57:45 +0000 |
| |
On Fri, 2019-09-27 at 15:19 -0700, Christoph Hellwig wrote: > On Thu, Sep 26, 2019 at 05:09:12PM -0700, Atish Patra wrote: > > The Supervisor Binary Interface(SBI) specification[1] now defines a > > base extension that provides extendability to add future extensions > > while maintaining backward compatibility with previous versions. > > The new version is defined as 0.2 and older version is marked as > > 0.1. > > > > This series adds support v0.2 and a unified calling convention > > implementation between 0.1 and 0.2. It also adds minimal SBI > > functions > > from 0.2 as well to keep the series lean. > > So before we do this game can be please make sure we have a clean 0.2 > environment that never uses the legacy extensions as discussed > before? > Without that all this work is rather futile. >
As per our discussion offline, here are things need to be done to achieve that.
1. Replace timer, sfence and ipi with better alternative APIs - sbi_set_timer will be same but with new calling convention - send_ipi and sfence_* apis can be modified in such a way that - we don't have to use unprivileged load anymore - Make it scalable
2. Drop clear_ipi, console, and shutdown in 0.2.
We will have a new kernel config (LEGACY_SBI) that can be manually enabled if older firmware need to be used. By default, LEGACY_SBI will be disabled and kernel with new SBI will be built. We will have to set a flag day in a year or so when we can remove the LEGACY_SBI completely.
Let us know if it is not an acceptable approach to anybody. I will post a RFC patch with new alternate v0.2 APIs sometime next week.
> _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv
-- Regards, Atish
| |