if (IS_GEN(engine->i915, 8))
                desc |= GEN8_CTX_L3LLC_COHERENT;
 
-       desc |= i915_ggtt_offset(ce->state) + LRC_HEADER_PAGES * PAGE_SIZE;
-                                                               /* bits 12-31 */
+       desc |= i915_ggtt_offset(ce->state); /* bits 12-31 */
        /*
         * The following 32bits are copied into the OA reports (dword 2).
         * Consider updating oa_get_render_ctx_id in i915_perf.c when changing
        if (!IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM))
                return;
 
-       vaddr += LRC_HEADER_PAGES * PAGE_SIZE;
        vaddr += engine->context_size;
 
        memset(vaddr, POISON_INUSE, I915_GTT_PAGE_SIZE);
        if (!IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM))
                return;
 
-       vaddr += LRC_HEADER_PAGES * PAGE_SIZE;
        vaddr += engine->context_size;
 
        if (memchr_inv(vaddr, POISON_INUSE, I915_GTT_PAGE_SIZE))
        set_redzone(vaddr, engine);
 
        if (engine->default_state) {
-               /*
-                * We only want to copy over the template context state;
-                * skipping over the headers reserved for GuC communication,
-                * leaving those as zero.
-                */
-               const unsigned long start = LRC_HEADER_PAGES * PAGE_SIZE;
                void *defaults;
 
                defaults = i915_gem_object_pin_map(engine->default_state,
                        goto err_unpin_ctx;
                }
 
-               memcpy(vaddr + start, defaults + start, engine->context_size);
+               memcpy(vaddr, defaults, engine->context_size);
                i915_gem_object_unpin_map(engine->default_state);
                inhibit = false;
        }
 
        ret = 0;
 err_unpin_ctx:
-       __i915_gem_object_flush_map(ctx_obj,
-                                   LRC_HEADER_PAGES * PAGE_SIZE,
-                                   engine->context_size);
+       __i915_gem_object_flush_map(ctx_obj, 0, engine->context_size);
        i915_gem_object_unpin_map(ctx_obj);
        return ret;
 }
        GEM_BUG_ON(ce->state);
        context_size = round_up(engine->context_size, I915_GTT_PAGE_SIZE);
 
-       /*
-        * Before the actual start of the context image, we insert a few pages
-        * for our own use and for sharing with the GuC.
-        */
-       context_size += LRC_HEADER_PAGES * PAGE_SIZE;
        if (IS_ENABLED(CONFIG_DRM_I915_DEBUG_GEM))
                context_size += I915_GTT_PAGE_SIZE; /* for redzone */
 
 
 int intel_execlists_submission_init(struct intel_engine_cs *engine);
 
 /* Logical Ring Contexts */
-
-/*
- * We allocate a header at the start of the context image for our own
- * use, therefore the actual location of the logical state is offset
- * from the start of the VMA. The layout is
- *
- * | [guc]          | [hwsp] [logical state] |
- * |<- our header ->|<- context image      ->|
- *
- */
-/* The first page is used for sharing data with the GuC */
-#define LRC_GUCSHR_PN  (0)
-#define LRC_GUCSHR_SZ  (1)
 /* At the start of the context image is its per-process HWS page */
-#define LRC_PPHWSP_PN  (LRC_GUCSHR_PN + LRC_GUCSHR_SZ)
+#define LRC_PPHWSP_PN  (0)
 #define LRC_PPHWSP_SZ  (1)
-/* Finally we have the logical state for the context */
+/* After the PPHWSP we have the logical state for the context */
 #define LRC_STATE_PN   (LRC_PPHWSP_PN + LRC_PPHWSP_SZ)
 
-/*
- * Currently we include the PPHWSP in __intel_engine_context_size() so
- * the size of the header is synonymous with the start of the PPHWSP.
- */
-#define LRC_HEADER_PAGES LRC_PPHWSP_PN
-
 /* Space within PPHWSP reserved to be used as scratch */
 #define LRC_PPHWSP_SCRATCH             0x34
 #define LRC_PPHWSP_SCRATCH_ADDR                (LRC_PPHWSP_SCRATCH * sizeof(u32))
 
                        return -EFAULT;
                }
 
-               page = i915_gem_object_get_page(ctx_obj, LRC_HEADER_PAGES + i);
+               page = i915_gem_object_get_page(ctx_obj, i);
                dst = kmap(page);
                intel_gvt_hypervisor_read_gpa(vgpu, context_gpa, dst,
                                I915_GTT_PAGE_SIZE);
                        return;
                }
 
-               page = i915_gem_object_get_page(ctx_obj, LRC_HEADER_PAGES + i);
+               page = i915_gem_object_get_page(ctx_obj, i);
                src = kmap(page);
                intel_gvt_hypervisor_write_gpa(vgpu, context_gpa, src,
                                I915_GTT_PAGE_SIZE);