]> xenbits.xensource.com Git - unikraft/libs/lua.git/commitdiff
Add patches directory
authorFelipe Huici <felipe.huici@neclab.eu>
Wed, 11 Sep 2019 12:01:06 +0000 (14:01 +0200)
committerFelipe Huici <felipe.huici@neclab.eu>
Tue, 17 Sep 2019 07:50:23 +0000 (09:50 +0200)
Patch to rename main function and to add initrd support to main loop.

Signed-off-by: Felipe Huici <felipe.huici@neclab.eu>
Reviewed-by: Jia He <justin.he@arm.com>
patches/0001-add-initrd-rename-entry-point.patch [new file with mode: 0644]

diff --git a/patches/0001-add-initrd-rename-entry-point.patch b/patches/0001-add-initrd-rename-entry-point.patch
new file mode 100644 (file)
index 0000000..135a0c4
--- /dev/null
@@ -0,0 +1,42 @@
+--- a/src/lua.c        2017-04-19 19:29:57.000000000 +0200
++++ b/src/lua.c        2019-09-03 13:36:09.437807890 +0200
+@@ -6,6 +6,8 @@
+ #define lua_c
++#include <uk/plat/memory.h>
++
+ #include "lprefix.h"
+@@ -555,6 +557,9 @@
+   int argc = (int)lua_tointeger(L, 1);
+   char **argv = (char **)lua_touserdata(L, 2);
+   int script;
++  struct ukplat_memregion_desc img;
++  char *cstr;
++  
+   int args = collectargs(argv, &script);
+   luaL_checkversion(L);  /* check that interpreter has correct version */
+   if (argv[0] && argv[0][0]) progname = argv[0];
+@@ -581,6 +586,11 @@
+     return 0;
+   if (args & has_i)  /* -i option? */
+     doREPL(L);  /* do read-eval-print loop */
++  /* see if script is available from initrd */
++  else if (ukplat_memregion_find_initrd0(&img) >= 0) {
++    cstr = (char *)img.base;
++    dostring(L, cstr, "initrd");
++  }
+   else if (script == argc && !(args & (has_e | has_v))) {  /* no arguments? */
+     if (lua_stdin_is_tty()) {  /* running in interactive mode? */
+       print_version();
+@@ -593,7 +603,7 @@
+ }
+-int main (int argc, char **argv) {
++int lua_main (int argc, char **argv) {
+   int status, result;
+   lua_State *L = luaL_newstate();  /* create state */
+   if (L == NULL) {