Currently on gen7 specific_ctx_id is only updated via i915_oa_legacy_context_pin_notify which implies we won't have a valid id if the context was pinned before opening up an i915-perf stream, unless there is some need to re-pin the context while the stream is open.
Also i915-perf currently depends on zero being an invalid ctx offset which is probably ok, but strictly speaking a ctx could be mapped at zero.