|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH v2 6/6] doc: Document reserved `isr` variant
Hi Simon, I might reword the text slightly on upstream.
Reviewed-by: Felipe Huici <felipe.huici@xxxxxxxxx>
On 13.03.20, 12:56, "Simon Kuenzer" <simon.kuenzer@xxxxxxxxx> wrote:
Document the reserved `isr` variant.
Signed-off-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>
---
doc/guides/developers-app.rst | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/doc/guides/developers-app.rst b/doc/guides/developers-app.rst
index 5b5f0918..9adce4dd 100644
--- a/doc/guides/developers-app.rst
+++ b/doc/guides/developers-app.rst
@@ -220,12 +220,21 @@ syntax: ::
APPNAME_FILENAME_INCLUDES-y += -Iextra/include
It is also be possible compile a single source files multiple times with
-different flags. For this case, Unikore supports variants:
+different flags. For this case, Unikraft supports variants: ::
APPNAME_SRCS-y += $(APPNAME_BASE)/filename.c|variantname
APPNAME_FILENAME_VARIANTNAME_FLAGS-y += -DFLAG2
APPNAME_FILENAME_VARIANTNAME_INCLUDES-y += -Iextra/include
+.. note:: The build system treats the reserved ``isr`` variant specially:
+ This variant is intended for build units that contain code that can
+ be called from interrupt context, as well. Different global
+ architecture flags are used to generate interrupt-safe code
+ (``ISR_ARCHFLAGS-y`` instead of ``ARCHFLAGS-y``). Generally, these
+ flags avoid using extended machine units which aren't saved by the
+ processor before entering interrupt context (e.g., floating point
+ units, vector units).
+
Finally, you may also need to provide "glue" code, for instance to
implement the ``main()`` function that Unikraft expects you to
implement by calling your application's main or init routines. As a
--
2.20.1
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |