[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [UNIKRAFT PATCH 1/1] plat/common, plat/linuxu: Solve wrong set_tls_pointer definition in Linuxu



Hey Vlad,

thanks a lot for looking into this and fixing it. It took a bit for me to figure out what was going on before commit ae683f4. In fact, linuxu replaced the common tls.h with the include order. Due to the movement of headers, this did not happen anymore.

Thanks,

Simon

Reviewed-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>

On 27.11.19 17:32, Vlad-Andrei BĂDOIU (78692) wrote:
After commit ae683f4, linuxu fails with a GPF due the wrong definition of
set_tls_pointer, it uses the default x86/arm implementation from
/common/include/x86/tls.h, whereas, it should use the definition from
linuxu/include/tls.h.

To solve this, we move plat/linuxu/include/tls.h to
plat/linuxu/inlclude/tls.h and include it in common/tls.h if LINUXUPLAT
is defined.

Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>
---
  plat/common/include/uk/plat/common/tls.h | 4 +++-
  plat/linuxu/include/{ => linuxu}/tls.h   | 0
  2 files changed, 3 insertions(+), 1 deletion(-)
  rename plat/linuxu/include/{ => linuxu}/tls.h (100%)

diff --git a/plat/common/include/uk/plat/common/tls.h 
b/plat/common/include/uk/plat/common/tls.h
index 45659d81..6fb78d24 100644
--- a/plat/common/include/uk/plat/common/tls.h
+++ b/plat/common/include/uk/plat/common/tls.h
@@ -32,7 +32,9 @@
  #ifndef __PLAT_CMN_TLS_H__
  #define __PLAT_CMN_TLS_H__
-#if defined(__X86_64__)
+#if defined(LINUXUPLAT)

I am actually not a big fan of having a platform-specific include guard in this common file but I would have done the same. The whole thing reminds me that we have to sit down and re-organize the code within platform/architecture. I like that your guard is an obvious hint, while the original include order is a bit non-transparent.

+#include <linuxu/tls.h>
+#elif defined(__X86_64__)
  #include <x86/tls.h>
  #elif defined(__ARM_64__)
  #include <arm/arm64/tls.h>
diff --git a/plat/linuxu/include/tls.h b/plat/linuxu/include/linuxu/tls.h
similarity index 100%
rename from plat/linuxu/include/tls.h
rename to plat/linuxu/include/linuxu/tls.h


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.