Hi guys, Ben please add some commit message. If nothing obvious comes to mind, do mention how you tested the patch. My PPC ASM is quite limited, so there's only minor suggestions below.
> --- a/src/mapi/Makefile.sources > +++ b/src/mapi/Makefile.sources > @@ -15,6 +15,7 @@ > # this mode, compile MAPI_BRIDGE_FILES with MAPI_MODE_BRIDGE defined. > > MAPI_UTIL_FILES = \ > + ../util/u_endian.h \ Even though the header is used in entry.c we don't need this line. > --- a/src/mapi/entry.c > +++ b/src/mapi/entry.c > @@ -27,6 +27,10 @@ > > #include "entry.h" > #include "u_current.h" > +#include "../util/u_endian.h" > + $mesa_top/src is already in the search paths, so you can drop the "../" here. > +#include <stdlib.h> > +#include <stdint.h> > Nit: please move system headers to the top. > --- /dev/null > +++ b/src/mapi/entry_ppc64le_tls.h > + > +void > +entry_patch_public(void) > +{ > +} > + We have some code only in the x86 tls case, haven't looked too closely why. If anything comes to mind why the code is safe [as-is], please add a small comment. > + > +void > +entry_patch(mapi_func entry, int slot) > +{ > + char *code = (char *) entry; > + *((uint64_t *) (code + TEMPLATE_OFFSET_SLOT)) = slot * sizeof(mapi_func); > +} > + > +mapi_func > +entry_generate(int slot) > +{ > + char *code; To be consistent with the existing code base, please add mapi_func entry; > + > + code = u_execmem_alloc(sizeof(code_templ)); > + if (!code) > + return NULL; > + > + memcpy(code, code_templ, sizeof(code_templ)); > + > + *((uint64_t *) (code + TEMPLATE_OFFSET_TLS_ADDR)) = > ppc64le_dispatch_tls(); > + *((uint64_t *) (code + TEMPLATE_OFFSET_SLOT)) = slot * sizeof(mapi_func); > + > + return (mapi_func) code; ... and replace the above with entry = (mapi_func) code; entry_patch(entry, slot); return entry; Can you do the same in the TSD file? Thanks Emil _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev