Backdate API calls
authorCafe <cafe@not.applicable>
Wed, 26 Jul 2017 00:00:00 +0000 (00:00 +0000)
committerCafe <cafe@not.applicable>
Wed, 26 Jul 2017 23:07:29 +0000 (23:07 +0000)
shim.c

diff --git a/shim.c b/shim.c
index cfb8522e9dac63f58dfa23f0030ad89c83aa5272..f3553963ee3d1a48bfec5da3c594719f5bdb11bb 100644 (file)
--- a/shim.c
+++ b/shim.c
@@ -33,8 +33,8 @@ int open_kernel_module()
        /* Declare the ABI version (handshake 1/3) */
 
        struct uku_version_check_args check = {
-               .major = BASE_UK_VERSION_MAJOR,
-               .minor = BASE_UK_VERSION_MINOR
+               .major = /* BASE_UK_VERSION_MAJOR */ 0x8,
+               .minor = /* BASE_UK_VERSION_MINOR */ 0x0,
        };
 
        m_ioctl(fd, check, UKP_FUNC_ID_CHECK_VERSION);
@@ -70,9 +70,19 @@ uint64_t alloc_gpu_pages(int fd, int pages, int e_flags)
                       | e_flags
        };
 
+       printf("Allocing %d pages flag %X to %d\n", pages, e_flags, fd);
+
        m_ioctl(fd, alloc, KBASE_FUNC_MEM_ALLOC);
 
-       return alloc.gpu_va;
+       // return alloc.gpu_va;
+
+       /* Only necessary when we report old versions */
+
+       if(e_flags & BASE_MEM_SAME_VA)  {
+               return (uint32_t) mmap(NULL, pages << PAGE_SHIFT, PROT_READ | PROT_WRITE, MAP_SHARED, fd, alloc.gpu_va);
+       } else {
+               return alloc.gpu_va;
+       }
 }
 
 void free_gpu(int fd, uint64_t addr)