<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Steve Scargall</title><link>https://stevescargall.com/</link><description>Recent content on Steve Scargall</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 10 May 2026 10:00:00 -0600</lastBuildDate><atom:link href="https://stevescargall.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Graphify + MemMachine: 79× Token Reduction, Zero Vector Database</title><link>https://stevescargall.com/blog/2026/05/graphify--memmachine-79-token-reduction-zero-vector-database/</link><pubDate>Sun, 10 May 2026 10:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2026/05/graphify--memmachine-79-token-reduction-zero-vector-database/</guid><description>&lt;p&gt;I help maintain &lt;a href="https://github.com/MemMachine/MemMachine"




 target="_blank"
 


&gt;MemMachine&lt;/a&gt;
 — an open-source long-term memory layer for AI agents. It&amp;rsquo;s a real codebase: 442 source files, 171 docs, a graph database, a SQL store, an MCP server, a REST API, a Python SDK, and integrations with eight different agent frameworks. When a new contributor asks &amp;ldquo;where does episodic memory actually get written?&amp;rdquo;, grep, the tool of choice for many AI coding assistants, doesn&amp;rsquo;t cut it. The answer threads through five files in three folders, plus a docker-compose service definition and a Helm chart. Each question you ask, it has to search all of these files, using the LLM to semantically understand the question and the files, then piece together an answer. This can take a lot of tokens and consume much of the context window.&lt;/p&gt;</description></item><item><title>Is Thinking Mode Affecting Your Agentic Workflows?</title><link>https://stevescargall.com/blog/2026/05/is-thinking-mode-affecting-your-agentic-workflows/</link><pubDate>Thu, 07 May 2026 10:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2026/05/is-thinking-mode-affecting-your-agentic-workflows/</guid><description>&lt;p&gt;I jumped on the trend of running local LLMs and agents and was having a lot of fun until my agents kept failing, timing out, and just stopping without any obvious reason. I tried PaperClip + ZeroClaw, PaperClip + Hermes-Agent, and Hermes-Agent + Hermes-Workspace with Qwen 3.6 and Gemma 4 models (various sizes and quantization levels). All of them failed in the same way at some point in the workflow with almost nothing reported in the logs to indicate what was happening. Some tasks completed without any problem, but most did not, often leaving me to wonder what was going on. After many hours of debugging and reading many forums, I finally found that this was a model serving configuration trap that catches many people the first time they self-host a reasoning model.&lt;/p&gt;</description></item><item><title>How To Run ZeroClaw in Docker with local LLMs (Qwen3 on an NVIDIA DGX Spark)</title><link>https://stevescargall.com/blog/2026/05/how-to-run-zeroclaw-in-docker-with-local-llms-qwen3-on-an-nvidia-dgx-spark/</link><pubDate>Fri, 01 May 2026 15:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2026/05/how-to-run-zeroclaw-in-docker-with-local-llms-qwen3-on-an-nvidia-dgx-spark/</guid><description>&lt;p&gt;&lt;a href="https://github.com/zeroclaw-labs/zeroclaw"




 target="_blank"
 


&gt;ZeroClaw&lt;/a&gt;
 is an open-source agent runtime. By default it expects a frontier model API key such as Claude, OpenAI, etc. This guide shows how to use a &lt;strong&gt;local Qwen3.6&lt;/strong&gt; model served by &lt;strong&gt;vLLM&lt;/strong&gt; on an NVIDIA DGX Spark, routed through &lt;strong&gt;LiteLLM&lt;/strong&gt;, with ZeroClaw and Firecrawl running in Docker on a separate host.&lt;/p&gt;
&lt;p&gt;It also documents the onboarding bug I hit on a fresh install in v0.7.4 — ZeroClaw issue &lt;a href="https://github.com/zeroclaw-labs/zeroclaw/issues/6123"




 target="_blank"
 


&gt;#6123&lt;/a&gt;
 — and the config-only workaround.&lt;/p&gt;</description></item><item><title>Run Free LLMs at Scale: LiteLLM Gateway with Groq, NVIDIA NIM, OpenRouter, and Local vLLM</title><link>https://stevescargall.com/blog/2026/04/run-free-llms-at-scale-litellm-gateway-with-groq-nvidia-nim-openrouter-and-local-vllm/</link><pubDate>Sun, 26 Apr 2026 12:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2026/04/run-free-llms-at-scale-litellm-gateway-with-groq-nvidia-nim-openrouter-and-local-vllm/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Running large language models is increasingly affordable — but &amp;ldquo;affordable&amp;rdquo; rarely means &amp;ldquo;free, all the time, for every request.&amp;rdquo; Cloud providers each come with their own rate limits, daily quotas, and occasional model deprecations. Local hardware is fast and private, but not always available (DGX Spark powered down, model being updated, VRAM needed elsewhere). Somewhere between &amp;ldquo;I have an API key&amp;rdquo; and &amp;ldquo;my agents work reliably at scale&amp;rdquo; is a configuration problem that most guides skip over entirely.&lt;/p&gt;</description></item><item><title>vLLM Recipe: RedHatAI/Qwen3.6-35B-A3B-NVFP4 on DGX Spark</title><link>https://stevescargall.com/blog/2026/04/vllm-recipe-redhatai/qwen3.6-35b-a3b-nvfp4-on-dgx-spark/</link><pubDate>Sat, 25 Apr 2026 12:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2026/04/vllm-recipe-redhatai/qwen3.6-35b-a3b-nvfp4-on-dgx-spark/</guid><description>&lt;p&gt;This is a &lt;strong&gt;vLLM Recipe&lt;/strong&gt; - a production-ready Docker Compose configuration for running open-weight models on local hardware. It documents the exact setup, configuration rationale, and benchmark results so you can get a model running quickly. You are welcome to change the parameters to suit your workloads. This worked for me, so I hope you find it helpful.&lt;/p&gt;
&lt;p&gt;This recipe covers &lt;strong&gt;Qwen3.6-35B-A3B-NVFP4&lt;/strong&gt; - a Mixture-of-Experts model with 35B total parameters but only ~3B active at inference - quantized to NVFP4 by Red Hat AI and running on the &lt;strong&gt;NVIDIA DGX Spark&lt;/strong&gt; (my GigaByte AI Top Atom) with a GB10 Blackwell GPU and 128 GB of unified CPU/GPU memory.&lt;/p&gt;</description></item><item><title>Self-Hosting Firecrawl on Ubuntu 25.04 with Docker Compose</title><link>https://stevescargall.com/blog/2026/04/self-hosting-firecrawl-on-ubuntu-25.04-with-docker-compose/</link><pubDate>Wed, 22 Apr 2026 12:00:00 -0700</pubDate><guid>https://stevescargall.com/blog/2026/04/self-hosting-firecrawl-on-ubuntu-25.04-with-docker-compose/</guid><description>&lt;p&gt;Modern AI agents — Claude Code, Codex, OpenClaw, Hermes-Agent, and custom LangChain pipelines — need a way to read the web. Not raw HTML full of navigation debris, cookie banners, and JavaScript noise, but clean structured text that a language model can actually reason about. &lt;a href="https://www.firecrawl.dev/"




 target="_blank"
 


&gt;Firecrawl&lt;/a&gt;
 is the missing piece: an open-source web scraping and crawling API that fetches any URL and returns clean Markdown, ready to drop straight into a context window or a RAG pipeline.&lt;/p&gt;</description></item><item><title>Building an Agentic Team for an Open Source Project with Claude Code</title><link>https://stevescargall.com/blog/2026/04/building-an-agentic-team-for-an-open-source-project-with-claude-code/</link><pubDate>Tue, 14 Apr 2026 12:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2026/04/building-an-agentic-team-for-an-open-source-project-with-claude-code/</guid><description>&lt;p&gt;A core engineer on &lt;a href="https://github.com/MemMachine/MemMachine"




 target="_blank"
 


&gt;MemMachine&lt;/a&gt;
 — the one who owned the Semantic Memory subsystem — left the project. The codebase didn&amp;rsquo;t grow any less complex overnight, but the human attention available to maintain it did. That&amp;rsquo;s a familiar shape of problem in any open source project, and it&amp;rsquo;s the exact shape where a well-designed Claude Code agent team earns its keep.&lt;/p&gt;
&lt;p&gt;This post documents what I built: a 22-agent maintenance team that lives entirely inside MemMachine&amp;rsquo;s repository, coordinates via Claude Code&amp;rsquo;s experimental Agent Teams runtime, and operates under a design I can reproduce for any existing repository with real code. The agents don&amp;rsquo;t push code, don&amp;rsquo;t sign commits, don&amp;rsquo;t merge pull requests, and don&amp;rsquo;t cut releases — humans still gatekeep every consequential action. What the agents &lt;em&gt;do&lt;/em&gt; do is the tedious and error-prone middle of software maintenance: triage, spec drafting, implementation, QA, security review, docs, dependency and upstream tracking.&lt;/p&gt;</description></item><item><title>Using the API to Find Free Hosted Models on NVIDIA Builder</title><link>https://stevescargall.com/blog/2026/04/using-the-api-to-find-free-hosted-models-on-nvidia-builder/</link><pubDate>Mon, 06 Apr 2026 12:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2026/04/using-the-api-to-find-free-hosted-models-on-nvidia-builder/</guid><description>&lt;p&gt;The &lt;a href="https://build.nvidia.com/models"




 target="_blank"
 


&gt;NVIDIA Developer Program&lt;/a&gt;
 provides access to a wide catalog of AI models through NVIDIA Inference Microservices (NIM), offering an OpenAI-compatible API. You can browse and discover available models at &lt;a href="https://build.nvidia.com/explore/discover"




 target="_blank"
 


&gt;build.nvidia.com/explore/discover&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;If you want to find models with free hosted endpoints in the browser, you can enable the &lt;a href="https://build.nvidia.com/models?filters=nimType%3Anim_type_preview"




 target="_blank"
 


&gt;&amp;ldquo;Free Endpoint&amp;rdquo; filter&lt;/a&gt;
 on the model catalog page. But what if you need that information programmatically &amp;ndash; in a script, a CI pipeline, or as part of an automated workflow? The browser filter is not accessible through the API, and the &lt;code&gt;/v1/models&lt;/code&gt; endpoint does not distinguish between free hosted models and everything else.&lt;/p&gt;</description></item><item><title>Reflections and What's Next: Lessons from Building lib3mf-rs</title><link>https://stevescargall.com/blog/2026/02/reflections-and-whats-next-lessons-from-building-lib3mf-rs/</link><pubDate>Thu, 05 Feb 2026 13:05:00 -0600</pubDate><guid>https://stevescargall.com/blog/2026/02/reflections-and-whats-next-lessons-from-building-lib3mf-rs/</guid><description>&lt;h2 id="series-building-lib3mf-rs"&gt;Series: Building lib3mf-rs&lt;/h2&gt;
&lt;p&gt;This post is part of a 5-part series on building a comprehensive 3MF library in Rust:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://stevescargall.com/blog/2026/02/my-journey-building-a-3mf-native-rust-library-from-scratch/"



 


&gt;Part 1: My Journey Building a 3MF Native Rust Library from Scratch&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stevescargall.com/blog/2026/02/the-library-landscape-why-build-another-one/"



 


&gt;Part 2: The Library Landscape - Why Build Another One?&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stevescargall.com/blog/2026/02/into-the-3mf-specification-wilderness-reading-1000-pages-of-specifications/"



 


&gt;Part 3: Into the 3MF Specification Wilderness - Reading 1000+ Pages of Specifications&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stevescargall.com/blog/2026/02/design-for-developers-features-flags-and-the-cli/"



 


&gt;Part 4: Design for Developers - Features, Flags, and the CLI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stevescargall.com/blog/2026/02/reflections-and-whats-next-lessons-from-building-lib3mf-rs/"



 


&gt;Part 5: Reflections and What&amp;rsquo;s Next - Lessons from Building lib3mf-rs&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;On February 4th, 2026, lib3mf-rs is a published open-source project with complete specification coverage, available for anyone to use.&lt;/p&gt;</description></item><item><title>Design for Developers: Features, Flags, and the CLI</title><link>https://stevescargall.com/blog/2026/02/design-for-developers-features-flags-and-the-cli/</link><pubDate>Wed, 04 Feb 2026 13:05:00 -0600</pubDate><guid>https://stevescargall.com/blog/2026/02/design-for-developers-features-flags-and-the-cli/</guid><description>&lt;h2 id="series-building-lib3mf-rs"&gt;Series: Building lib3mf-rs&lt;/h2&gt;
&lt;p&gt;This post is part of a 5-part series on building a comprehensive 3MF library in Rust:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://stevescargall.com/blog/2026/02/my-journey-building-a-3mf-native-rust-library-from-scratch/"



 


&gt;Part 1: My Journey Building a 3MF Native Rust Library from Scratch&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stevescargall.com/blog/2026/02/the-library-landscape-why-build-another-one/"



 


&gt;Part 2: The Library Landscape - Why Build Another One?&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stevescargall.com/blog/2026/02/into-the-3mf-specification-wilderness-reading-1000-pages-of-specifications/"



 


&gt;Part 3: Into the 3MF Specification Wilderness - Reading 1000+ Pages of Specifications&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stevescargall.com/blog/2026/02/design-for-developers-features-flags-and-the-cli/"



 


&gt;Part 4: Design for Developers - Features, Flags, and the CLI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stevescargall.com/blog/2026/02/reflections-and-whats-next-lessons-from-building-lib3mf-rs/"



 


&gt;Part 5: Reflections and What&amp;rsquo;s Next - Lessons from Building lib3mf-rs&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Understanding the specifications was one thing. Designing a library that developers would actually want to use? That was another challenge entirely. I&amp;rsquo;ve worked on many libraries over the years, and I&amp;rsquo;ve learned a lot about what makes a good library, for example the &lt;a href="https://github.com/pmem/pmdk"




 target="_blank"
 


&gt;Persistent Memory Development Kit&lt;/a&gt;
. The difference is understanding how Rust does things.&lt;/p&gt;</description></item><item><title>Into the 3MF Specification Wilderness: Reading 1000+ Pages of Specifications</title><link>https://stevescargall.com/blog/2026/02/into-the-3mf-specification-wilderness-reading-1000-pages-of-specifications/</link><pubDate>Tue, 03 Feb 2026 13:05:00 -0600</pubDate><guid>https://stevescargall.com/blog/2026/02/into-the-3mf-specification-wilderness-reading-1000-pages-of-specifications/</guid><description>&lt;h2 id="series-building-lib3mf-rs"&gt;Series: Building lib3mf-rs&lt;/h2&gt;
&lt;p&gt;This post is part of a 5-part series on building a comprehensive 3MF library in Rust:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://stevescargall.com/blog/2026/02/my-journey-building-a-3mf-native-rust-library-from-scratch/"



 


&gt;Part 1: My Journey Building a 3MF Native Rust Library from Scratch&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stevescargall.com/blog/2026/02/the-library-landscape-why-build-another-one/"



 


&gt;Part 2: The Library Landscape - Why Build Another One?&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stevescargall.com/blog/2026/02/into-the-3mf-specification-wilderness-reading-1000-pages-of-specifications/"



 


&gt;Part 3: Into the 3MF Specification Wilderness - Reading 1000+ Pages of Specifications&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stevescargall.com/blog/2026/02/design-for-developers-features-flags-and-the-cli/"



 


&gt;Part 4: Design for Developers - Features, Flags, and the CLI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stevescargall.com/blog/2026/02/reflections-and-whats-next-lessons-from-building-lib3mf-rs/"



 


&gt;Part 5: Reflections and What&amp;rsquo;s Next - Lessons from Building lib3mf-rs&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="how-hard-can-it-be-its-just-a-file-format"&gt;&amp;ldquo;How hard can it be? It&amp;rsquo;s just a file format.&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;That&amp;rsquo;s what I thought before I started reading the 3MF specifications. After reading, re-reading, and getting AI to help summarize and dig deeper into the interpretations and understandings, I was ready to begin.&lt;/p&gt;</description></item><item><title>The Library Landscape: Why Build Another One?</title><link>https://stevescargall.com/blog/2026/02/the-library-landscape-why-build-another-one/</link><pubDate>Mon, 02 Feb 2026 13:05:00 -0600</pubDate><guid>https://stevescargall.com/blog/2026/02/the-library-landscape-why-build-another-one/</guid><description>&lt;h2 id="series-building-lib3mf-rs"&gt;Series: Building lib3mf-rs&lt;/h2&gt;
&lt;p&gt;This post is part of a 5-part series on building a comprehensive 3MF library in Rust:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://stevescargall.com/blog/2026/02/my-journey-building-a-3mf-native-rust-library-from-scratch/"



 


&gt;Part 1: My Journey Building a 3MF Native Rust Library from Scratch&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stevescargall.com/blog/2026/02/the-library-landscape-why-build-another-one/"



 


&gt;Part 2: The Library Landscape - Why Build Another One?&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stevescargall.com/blog/2026/02/into-the-3mf-specification-wilderness-reading-1000-pages-of-specifications/"



 


&gt;Part 3: Into the 3MF Specification Wilderness - Reading 1000+ Pages of Specifications&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stevescargall.com/blog/2026/02/design-for-developers-features-flags-and-the-cli/"



 


&gt;Part 4: Design for Developers - Features, Flags, and the CLI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stevescargall.com/blog/2026/02/reflections-and-whats-next-lessons-from-building-lib3mf-rs/"



 


&gt;Part 5: Reflections and What&amp;rsquo;s Next - Lessons from Building lib3mf-rs&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="why-not-just-use-the-existing-library"&gt;&amp;ldquo;Why not just use the existing library?&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;It&amp;rsquo;s a fair question. One I asked myself many times during the early days of this project. The 3MF Consortium maintains &lt;a href="https://github.com/3MFConsortium/lib3mf"




 target="_blank"
 


&gt;lib3MF&lt;/a&gt;
, a comprehensive C++ implementation used by major companies in additive manufacturing. Why build another one?&lt;/p&gt;</description></item><item><title>My Journey Building a 3MF Native Rust Library from Scratch</title><link>https://stevescargall.com/blog/2026/02/my-journey-building-a-3mf-native-rust-library-from-scratch/</link><pubDate>Sun, 01 Feb 2026 13:05:00 -0600</pubDate><guid>https://stevescargall.com/blog/2026/02/my-journey-building-a-3mf-native-rust-library-from-scratch/</guid><description>&lt;p&gt;For the past few years, I&amp;rsquo;ve been getting more and more into 3D printing as a hobbyist. Like everyone, I started with one, a Bambu Lab X1 Carbon, which has now grown to three printers. I find the hobby fascinating as it entangles software, firmware, hardware, physics, and materials science.&lt;/p&gt;
&lt;p&gt;As a software engineer, I&amp;rsquo;m naturally drawn to the software side of things (Slicer and Firmware). But what interests me most, is how the software interacts with the hardware and the materials. How the slicer translates the 3D model into instructions for the printer (G-Code). How the printer executes those instructions. How the materials behave under the printer&amp;rsquo;s control.&lt;/p&gt;</description></item><item><title>I Added a Feature to OrcaSlicer to Show Travel Distance and Moves</title><link>https://stevescargall.com/blog/2025/10/i-added-a-feature-to-orcaslicer-to-show-travel-distance-and-moves/</link><pubDate>Wed, 29 Oct 2025 13:05:00 -0600</pubDate><guid>https://stevescargall.com/blog/2025/10/i-added-a-feature-to-orcaslicer-to-show-travel-distance-and-moves/</guid><description>&lt;p&gt;&lt;a href="https://www.orcaslicer.com/"




 target="_blank"
 


&gt;OrcaSlicer&lt;/a&gt;
 is a powerful and popular slicer for 3D printers, known for its rich feature set and active development community. In this blog post, we&amp;rsquo;ll take a closer look at a new feature I proposed and implemented that provides more insight into your prints: the display of total travel distance and the number of travel moves. See the &lt;a href="https://github.com/OrcaSlicer/OrcaSlicer/pull/11187"




 target="_blank"
 


&gt;feat: Display travel distance and move count in G-code summary&lt;/a&gt;
 for more details.&lt;/p&gt;</description></item><item><title>How to Build OrcaSlicer from Source on macOS 15 Sequoia - A Step-by-Step Guide</title><link>https://stevescargall.com/blog/2025/10/how-to-build-orcaslicer-from-source-on-macos-15-sequoia-a-step-by-step-guide/</link><pubDate>Wed, 22 Oct 2025 13:05:00 -0600</pubDate><guid>https://stevescargall.com/blog/2025/10/how-to-build-orcaslicer-from-source-on-macos-15-sequoia-a-step-by-step-guide/</guid><description>&lt;p&gt;Building OrcaSlicer from source on macOS 15 (15.6.1 Sequoia) can be straightforward, but recent changes in macOS, Xcode, and CMake require some extra care. This guide updates the &lt;a href="https://github.com/SoftFever/OrcaSlicer/wiki/How-to-build#macos-64-bit"




 target="_blank"
 


&gt;official instructions&lt;/a&gt;
 with important tips and fixes from this &lt;a href="https://github.com/SoftFever/OrcaSlicer/issues/4920"




 target="_blank"
 


&gt;GitHub issue&lt;/a&gt;
 to avoid common build issues.&lt;/p&gt;
&lt;p&gt;For this article, we will be using this build system:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Apple MacBook Pro M1 (Apple Silicon)&lt;/li&gt;
&lt;li&gt;macOS 15.6.1 (Sequoia)&lt;/li&gt;
&lt;li&gt;Orca Slicer 2.3.1 from &lt;a href="https://github.com/SoftFever/OrcaSlicer"




 target="_blank"
 


&gt;https://github.com/SoftFever/OrcaSlicer&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;p&gt;Before you start, ensure you have the following installed:&lt;/p&gt;</description></item><item><title>How to Build acpidump from Source and use it to Debug Complex CXL and PCI Issues</title><link>https://stevescargall.com/blog/2025/08/how-to-build-acpidump-from-source-and-use-it-to-debug-complex-cxl-and-pci-issues/</link><pubDate>Mon, 11 Aug 2025 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2025/08/how-to-build-acpidump-from-source-and-use-it-to-debug-complex-cxl-and-pci-issues/</guid><description>&lt;p&gt;This article is a detailed guide on how to build the latest version of the &lt;code&gt;acpidump&lt;/code&gt; tool from its source code. While many Linux distributions, like Ubuntu, offer a packaged version of this utility, it&amp;rsquo;s often outdated. For developers and enthusiasts working with modern hardware features, particularly those related to Compute Express Link (CXL), having the most current version is essential.&lt;/p&gt;
&lt;p&gt;Before you begin, it&amp;rsquo;s important to remove any old, conflicting versions of the tools. If you have previously installed the &lt;code&gt;acpica-tools&lt;/code&gt; package from your distribution&amp;rsquo;s repository, you should remove it to prevent conflicts.&lt;/p&gt;</description></item><item><title>Is Your Application Really Using Persistent Memory? Here’s How to Tell.</title><link>https://stevescargall.com/blog/2025/07/is-your-application-really-using-persistent-memory-heres-how-to-tell./</link><pubDate>Wed, 23 Jul 2025 17:35:00 -0600</pubDate><guid>https://stevescargall.com/blog/2025/07/is-your-application-really-using-persistent-memory-heres-how-to-tell./</guid><description>&lt;p&gt;Persistent memory (PMEM), especially when accessed via technologies like CXL, promises the best of both worlds: DRAM-like speed with the durability of an SSD. When you set up a filesystem like XFS or EXT4 in &lt;strong&gt;FSDAX (File System Direct Access)&lt;/strong&gt; mode on a PMEM device, you&amp;rsquo;re paving a superhighway for your applications, allowing them to map files directly into their address space and bypass the kernel&amp;rsquo;s page cache entirely.&lt;/p&gt;
&lt;p&gt;But here&amp;rsquo;s the crucial question: after all the setup and configuration, how do you &lt;em&gt;prove&lt;/em&gt; that your application&amp;rsquo;s data is physically residing on the PMEM device and not just in regular RAM? I&amp;rsquo;ve run into this question myself, so I wrote a small Python script to get a definitive answer using SQLite3 as an example application. However, before we proceed with the script, let&amp;rsquo;s examine how you can verify this manually.&lt;/p&gt;</description></item><item><title>How to Confirm Virtual to Physical Memory Mappings for PMem and FSDAX Files</title><link>https://stevescargall.com/blog/2025/07/how-to-confirm-virtual-to-physical-memory-mappings-for-pmem-and-fsdax-files/</link><pubDate>Sat, 19 Jul 2025 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2025/07/how-to-confirm-virtual-to-physical-memory-mappings-for-pmem-and-fsdax-files/</guid><description>&lt;p&gt;Are you curious whether your application’s memory-mapped files are really using Intel Optane Persistent Memory (PMem), Compute Express Link (CXL) Non-Volatile Memory Modules (NV-CMM), or another DAX-enabled persistent memory device? Want to understand how virtual memory maps onto physical, non-volatile regions? Let&amp;rsquo;s use easily adaptable scripts in both Python and C to confirm this on your Linux system, definitively.&lt;/p&gt;
&lt;h2 id="why-does-this-matter"&gt;Why Does This Matter?&lt;/h2&gt;
&lt;p&gt;With the advent of &lt;strong&gt;persistent memory and DAX (Direct Access) filesystems&lt;/strong&gt;, applications can memory-map files directly onto PMem, bypassing the traditional DRAM page cache. This promises significant performance and durability improvements for data-intensive workloads and databases, such as SQLite, Redis, and others.&lt;/p&gt;</description></item><item><title>CXL Memory NUMA Node Mapping with Sub-NUMA Clustering (SNC) on Linux</title><link>https://stevescargall.com/blog/2025/07/cxl-memory-numa-node-mapping-with-sub-numa-clustering-snc-on-linux/</link><pubDate>Tue, 01 Jul 2025 16:44:00 -0600</pubDate><guid>https://stevescargall.com/blog/2025/07/cxl-memory-numa-node-mapping-with-sub-numa-clustering-snc-on-linux/</guid><description>&lt;p&gt;CXL (Compute Express Link) memory devices are revolutionizing server architectures, but they also introduce new NUMA complexity, especially when advanced memory configurations, such as Sub-NUMA Clustering (SNC), are enabled. One of the most confusing issues is the mismatch between NUMA node numbers reported by CXL sysfs attributes and those used by Linux memory management tools.&lt;/p&gt;
&lt;p&gt;This blog post walks through a real-world scenario, complete with command outputs and diagrams, to help you understand and resolve the CXL NUMA node mapping issue with SNC enabled.&lt;/p&gt;</description></item><item><title>CXL Device &amp; Fabric Buyer's Guide: A List of GA Components (2025)</title><link>https://stevescargall.com/blog/2025/06/cxl-device-fabric-buyers-guide-a-list-of-ga-components-2025/</link><pubDate>Fri, 27 Jun 2025 17:15:01 +0000</pubDate><guid>https://stevescargall.com/blog/2025/06/cxl-device-fabric-buyers-guide-a-list-of-ga-components-2025/</guid><description>&lt;p&gt;&lt;strong&gt;Last Updated: June 27, 2025&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This guide provides a curated list of generally available (GA) Compute Express Link (CXL) devices, fabric components, and memory appliances. It is a technical resource for engineers, architects, and hardware specialists looking to identify and compare CXL memory expansion modules, switches, and full system-level appliances from leading vendors. The tables below detail market-ready components, focusing on the specifications required to design and build CXL-enabled infrastructure.&lt;/p&gt;</description></item><item><title>CXL Server Buyer's Guide: A Complete List of GA Platforms (Updated 2025)</title><link>https://stevescargall.com/blog/2025/06/cxl-server-buyers-guide-a-complete-list-of-ga-platforms-updated-2025/</link><pubDate>Fri, 27 Jun 2025 16:35:01 +0000</pubDate><guid>https://stevescargall.com/blog/2025/06/cxl-server-buyers-guide-a-complete-list-of-ga-platforms-updated-2025/</guid><description>&lt;p&gt;&lt;strong&gt;Last Updated: June 27, 2025&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This quick reference guide provides a definitive, up-to-date list of generally available (GA) Compute Express Link (CXL) servers from major OEMs like Dell, HPE, Lenovo, and Supermicro. It is designed for data center architects, engineers, and IT decision-makers who need to identify and compare server platforms that support CXL 1.1 and CXL 2.0 for memory expansion and pooling. The tables below offer a direct comparison of server models, supported CPUs, CXL versions, and compatible CXL device form factors. The goal is to cut through the noise of announcements and roadmaps to provide a clear view of what you can deploy &lt;em&gt;today&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>Your Personal Codespace: Self-Host VS Code on Any Server</title><link>https://stevescargall.com/blog/2025/06/your-personal-codespace-self-host-vs-code-on-any-server/</link><pubDate>Thu, 19 Jun 2025 13:04:00 +0000</pubDate><guid>https://stevescargall.com/blog/2025/06/your-personal-codespace-self-host-vs-code-on-any-server/</guid><description>&lt;p&gt;GitHub Codespaces and other cloud IDEs have revolutionized development, offering a complete VS Code environment that runs on a remote server and is accessible from any browser. It&amp;rsquo;s a game-changer for productivity and flexibility.&lt;/p&gt;
&lt;p&gt;But what if you could have that same powerful, seamless experience on your own terms?&lt;/p&gt;
&lt;p&gt;This guide will show you how to build your very own private Codespace, replicating the convenience of the GitHub experience on any server you control—be it a machine in your home lab, a dedicated server, or a budget-friendly cloud VM. We&amp;rsquo;ll explore two distinct paths to get you up and running with a persistent, browser-based VS Code instance on Ubuntu 24.04, complete with AI assistants like Gemini and GitHub Copilot to boost your workflow.&lt;/p&gt;</description></item><item><title>Unlock Your CXL Memory: How to Switch from NUMA (System-RAM) to Direct Access (DAX) Mode</title><link>https://stevescargall.com/blog/2025/06/unlock-your-cxl-memory-how-to-switch-from-numa-system-ram-to-direct-access-dax-mode/</link><pubDate>Thu, 12 Jun 2025 16:03:01 +0000</pubDate><guid>https://stevescargall.com/blog/2025/06/unlock-your-cxl-memory-how-to-switch-from-numa-system-ram-to-direct-access-dax-mode/</guid><description>&lt;p&gt;As a Linux System Administrator working with Compute Express Link (CXL) memory devices, you should be aware that as of Linux Kernel 6.3, Type 3 CXL.mem devices are now automatically brought online as memory-only NUMA nodes. While this can be beneficial for most situations, it might not be ideal if your application is designed to directly manage the CXL memory as a DAX (Direct Access) device using &lt;code&gt;mmap()&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;This blog post will explain this behavior and provide a step-by-step guide on how to convert a CXL memory device from a memory-only NUMA node back to DAX mode, allowing applications to &lt;code&gt;mmap&lt;/code&gt; the underlying &lt;code&gt;/dev/daxX.Y&lt;/code&gt; device. We&amp;rsquo;ll also cover troubleshooting steps if the memory is actively in use by the kernel or other processes.&lt;/p&gt;</description></item><item><title>Fastfetch: The Speedy Successor Neofetch Replacement Your Ubuntu Terminal Needs</title><link>https://stevescargall.com/blog/2025/04/fastfetch-the-speedy-successor-neofetch-replacement-your-ubuntu-terminal-needs/</link><pubDate>Thu, 24 Apr 2025 00:00:00 +0000</pubDate><guid>https://stevescargall.com/blog/2025/04/fastfetch-the-speedy-successor-neofetch-replacement-your-ubuntu-terminal-needs/</guid><description>&lt;p&gt;If you love customizing your Linux terminal and getting a quick, visually appealing overview of your system specs, you might have used &lt;code&gt;neofetch&lt;/code&gt; in the past. However, &lt;strong&gt;&lt;code&gt;neofetch&lt;/code&gt; is now deprecated and no longer actively maintained&lt;/strong&gt;. A fantastic, actively maintained alternative is &lt;strong&gt;Fastfetch&lt;/strong&gt; – known for its speed, extensive customization options, and feature set.&lt;/p&gt;
&lt;p&gt;While you &lt;em&gt;might&lt;/em&gt; be able to install Fastfetch on Ubuntu 22.04 (Jammy Jellyfish) using the standard &lt;code&gt;sudo apt install fastfetch&lt;/code&gt;, the version available in the default Ubuntu repositories is often outdated. To get the &lt;strong&gt;latest features, bug fixes, and performance improvements&lt;/strong&gt;, you&amp;rsquo;ll want to use a different method.&lt;/p&gt;</description></item><item><title>How I Created a Custom ChatGPT Trained on the CXL Specification Documents</title><link>https://stevescargall.com/blog/2025/04/how-i-created-a-custom-chatgpt-trained-on-the-cxl-specification-documents/</link><pubDate>Wed, 09 Apr 2025 00:00:00 +0000</pubDate><guid>https://stevescargall.com/blog/2025/04/how-i-created-a-custom-chatgpt-trained-on-the-cxl-specification-documents/</guid><description>&lt;p&gt;If you&amp;rsquo;re working with Compute Express Link (CXL) and wish you had an AI assistant trained on all the different versions of the specification—1.0, 1.1, 2.0, 3.0, 3.1&amp;hellip; you&amp;rsquo;re in luck.&lt;/p&gt;
&lt;p&gt;Whether you&amp;rsquo;re a CXL device vendor, a firmware engineer, a Linux Kernel developer, a memory subsystem architect, a hardware validation engineer, or even an application developer working on CXL tools and utilities, chances are you’ve had to reference the CXL spec at some point. And if you have, you already know: these documents are dense, extremely technical, and constantly evolving.&lt;/p&gt;</description></item><item><title>I Turned Myself Into an Action Figure</title><link>https://stevescargall.com/blog/2025/04/i-turned-myself-into-an-action-figure/</link><pubDate>Wed, 09 Apr 2025 00:00:00 +0000</pubDate><guid>https://stevescargall.com/blog/2025/04/i-turned-myself-into-an-action-figure/</guid><description>&lt;p&gt;Part of being in tech, especially in emerging memory technology, is constantly switching between the serious and the surreal. One day you&amp;rsquo;re in kernel debug mode, the next you&amp;rsquo;re explaining complex system architectures on a whiteboard, and then suddenly you&amp;rsquo;re jumping on the latest craze such as making yourself into an action figure.&lt;/p&gt;
&lt;p&gt;It’s fun. It’s human. And honestly? It’s a reminder not to take yourself too seriously. (Even if your job title suggests differently)&lt;/p&gt;</description></item><item><title>Linux Kernel 6.14 is Released: This is What's New for Compute Express Link (CXL)</title><link>https://stevescargall.com/blog/2025/03/linux-kernel-6.14-is-released-this-is-whats-new-for-compute-express-link-cxl/</link><pubDate>Tue, 25 Mar 2025 00:00:00 +0000</pubDate><guid>https://stevescargall.com/blog/2025/03/linux-kernel-6.14-is-released-this-is-whats-new-for-compute-express-link-cxl/</guid><description>&lt;p&gt;The Linux Kernel 6.14 release brings several improvements and additions related to Compute Express Link (CXL) technology.&lt;/p&gt;
&lt;h2 id="cxl-related-changes-from-kernel-v613-to-v614"&gt;CXL related changes from Kernel v6.13 to v6.14&lt;/h2&gt;
&lt;p&gt;Here is the detailed list of all commits merged into the 6.14 Kernel for CXL and DAX. This list was generated by the &lt;a href="https://github.com/sscargal/linux-cxl-tracker"




 target="_blank"
 


&gt;Linux Kernel CXL Feature Tracker&lt;/a&gt;
.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9071080d1e7af1a3a1699c3ba065c3293b5d09ce"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-6.14&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/448a60e85ae2afe2cb760f5d2ed2c8a49d2bd1b4"




 target="_blank"
 


&gt;cxl/core/regs: Refactor out functions to count regblocks of given type&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4c6e20eb564e0d77497f452ab1ae1b40b1de3ab7"




 target="_blank"
 


&gt;cxl/events: Update Memory Module Event Record to CXL spec rev 3.1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/24ec41f7c7b22d668443c1581b3b8f8aceed18f9"




 target="_blank"
 


&gt;cxl/events: Update DRAM Event Record to CXL spec rev 3.1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ae8341313058f76f3ce4169c780af4cf5cb05e1e"




 target="_blank"
 


&gt;cxl/events: Update General Media Event Record to CXL spec rev 3.1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8166675850165f3d7cf3e33519515656e5c72bfc"




 target="_blank"
 


&gt;cxl/events: Add Component Identifier formatting for CXL spec rev 3.1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5e31e3477f1661ebbbec1cbf141f91ad3cffafc3"




 target="_blank"
 


&gt;cxl/events: Update Common Event Record to CXL spec rev 3.1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dd19f4116ec330bc985e1a85a66b8dd0f2dca20d"




 target="_blank"
 


&gt;Merge 6.13-rc7 into driver-core-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/523c6b3ed7702a638e0f8fd02708a7ed4f938269"




 target="_blank"
 


&gt;driver core: Correct API device_for_each_child_reverse_from() prototype&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6a6fef929d2828ad2e5e5b03b369eb07c19c61a6"




 target="_blank"
 


&gt;cxl/pmem: Remove is_cxl_nvdimm_bridge()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/98d4a843437401429fea1c1957d5cce242f5e4c4"




 target="_blank"
 


&gt;cxl/pmem: Replace match_nvdimm_bridge() with API device_match_type()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f1e8bf56320a7fb32095b6c51b707459361b403b"




 target="_blank"
 


&gt;driver core: Constify API device_find_child() and adapt for various usages&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2f84d072bdcb7d6ec66cc4d0de9f37a3dc394cd2"




 target="_blank"
 


&gt;cxl/pci: Add CXL Type 1/2 support to cxl_dvsec_rr_decode()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/76467a94810c2aa4dd3096903291ac6df30c399e"




 target="_blank"
 


&gt;cxl/region: Fix region creation for greater than x2 switches&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/09ceba3a93450b652ae6910b6f65be99885f4437"




 target="_blank"
 


&gt;cxl/pci: Check dport-&amp;gt;regs.rcd_pcie_cap availability before accessing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/da4d8c83358163df9a4addaeba0ef8bcb03b22e8"




 target="_blank"
 


&gt;cxl/pci: Fix potential bogus return value upon successful probing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cdd30ebb1b9f36159d66f088b61aee264e649d7a"




 target="_blank"
 


&gt;module: Convert symbol namespace to string literal&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/55cb93fd243bad2c6e15f9151a32f575d2f5371f"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;driver-core-6.13-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/563cb0b1e736853cfc78956b9de362d2aae74887"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-6.13&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a83383e2ae7c499ff7b318945d9b2fe4e3006c2c"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;cxl/for-6.13/dcd-prep&amp;rsquo; into cxl-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a90326c76bd684bdf0a4f2842ff987ad5c77ff11"




 target="_blank"
 


&gt;cxl/region: Refactor common create region code&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/27fcfb416827b9e549d821317a9bd21d1abe6821"




 target="_blank"
 


&gt;cxl/hdm: Use guard() in cxl_dpa_set_mode()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0f6f0d687adcb4747e71f2a797acc9a739d71778"




 target="_blank"
 


&gt;cxl/pci: Delay event buffer allocation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b626816fdd7f9beb841856ba049396cff46e99aa"




 target="_blank"
 


&gt;sysfs: treewide: constify attribute callback of bin_is_visible()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/86bcd81d66d63c549e98c9c502ccd3be01a52fe2"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;cxl/for-6.12/printf&amp;rsquo; into cxl-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bdd7c35fc59f391de5a1d93ca7cbc715bf8c015c"




 target="_blank"
 


&gt;cxl/cdat: Use %pra for dpa range outputs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9474d586819940f00a98dd98015fe456f9b35452"




 target="_blank"
 


&gt;cxl: downgrade a warning message to debug level in cxl_probe_component_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c5eaec79fa43e994ec54c11538dc603d60cd0c4e"




 target="_blank"
 


&gt;cxl/pci: Add sysfs attribute for CXL 1.1 device link status&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7a01213d6c18d97c2f98455bb22c8416f8cca28b"




 target="_blank"
 


&gt;cxl/core/regs: Add rcd_pcie_cap initialization&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/105b6235ad0f24f271aef17f8865186c4546cb3a"




 target="_blank"
 


&gt;cxl/port: Prevent out-of-order decoder allocation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/101c268bd2f37e965a5468353e62d154db38838e"




 target="_blank"
 


&gt;cxl/port: Fix use-after-free, permit out-of-order decoder shutdown&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/48f62d38a07d464a499fa834638afcfd2b68f852"




 target="_blank"
 


&gt;cxl/acpi: Ensure ports ready at cxl_acpi_probe() return&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3d6ebf16438de5d712030fefbb4182b46373d677"




 target="_blank"
 


&gt;cxl/port: Fix cxl_bus_rescan() vs bus_rescan_devices()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6575b268157f37929948a8d1f3bafb3d7c055bc1"




 target="_blank"
 


&gt;cxl/port: Fix CXL port initialization order when the subsystem is built-in&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/53ab8678e7180834be29cf56cd52825fc3427c02"




 target="_blank"
 


&gt;cxl/events: Fix Trace DRAM Event Record&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cce3cd647721dc30273f0546852b5c26820eb715"




 target="_blank"
 


&gt;cxl/core: Return error when cxl_endpoint_gather_bandwidth() handles a non-PCI device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5f60d5f6bbc12e782fac78110b0ee62698f3b576"




 target="_blank"
 


&gt;move asm/unaligned.h to linux/unaligned.h&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/033af36def3e8676b344f4b4817b5ad81ed22aa7"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-6.12&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a5ab0de0ebaa65e0a75ec0761a2745c66a9d17dc"




 target="_blank"
 


&gt;cxl: Calculate region bandwidth of targets with shared upstream link&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e91be3ed30d79ccd3e87e3970a26dea844c04919"




 target="_blank"
 


&gt;cxl: Preserve the CDAT access_coordinate for an endpoint&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/423c9baae4c7fe73d5812e28610418fd2e8050bd"




 target="_blank"
 


&gt;cxl: Fix comment regarding cxl_query_cmd() return data&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b5209da36b19b573cf25fe7e698e3a45b0f40a75"




 target="_blank"
 


&gt;cxl: Convert cxl_internal_send_cmd() to use &amp;lsquo;struct cxl_mailbox&amp;rsquo; as input&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8d8081cecfb9940beeb4a8a700db34e615a96056"




 target="_blank"
 


&gt;cxl: Move mailbox related bits to the same context&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/40a895fd9a358eea16901026360bd2cd3ca691a7"




 target="_blank"
 


&gt;cxl: move cxl headers to new include/cxl/ directory&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d9a476c837fab38856c6b6ff9f794c33907a9f81"




 target="_blank"
 


&gt;cxl/region: Remove lock from memory notifier callback&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3f9e07531778ce66e0100d93f482e9a299d10d8d"




 target="_blank"
 


&gt;cxl/pci: simplify the check of mem_enabled in cxl_hdm_decode_init()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/99bf0eebc75c9085440d6dca014724e7e49b5116"




 target="_blank"
 


&gt;cxl/pci: Check Mem_info_valid bit for each applicable DVSEC&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5c6e3d5a5da118be2ae074bd70d111994147c708"




 target="_blank"
 


&gt;cxl/pci: Remove duplicated implementation of waiting for memory_info_valid&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/55e268694e8b07026c88191f9b6949b6887d9ce3"




 target="_blank"
 


&gt;cxl/pci: Fix to record only non-zero ranges&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1b5695b02444660297cc54cab44f123ff28de2cc"




 target="_blank"
 


&gt;mm: make range-to-target_node lookup facility a part of numa_memblks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d75ccd4f2ea2aa2679e6c807d76953dcd3f9d56d"




 target="_blank"
 


&gt;cxl/pci: Remove duplicate host_bridge-&amp;gt;native_aer checking&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c8706cc15a5814becacff778017bbcc5c031490a"




 target="_blank"
 


&gt;cxl/pci: cxl_dport_map_rch_aer() cleanup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/577a67662ff529f617981fe9692ff277b5756402"




 target="_blank"
 


&gt;cxl/pci: Rename cxl_setup_parent_dport() and cxl_dport_map_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/91c0e9d6a205ab0e318dc0dc6e72cbbdb21f8094"




 target="_blank"
 


&gt;cxl/port: Refactor __devm_cxl_add_port() to drop goto pattern&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7f569e917b7866b6760e2cfc3a9549cabc890071"




 target="_blank"
 


&gt;cxl/port: Use scoped_guard()/guard() to drop device_lock() for cxl_port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dd2617ebd2a69c012001a29274557199409eff39"




 target="_blank"
 


&gt;cxl/port: Use __free() to drop put_device() for cxl_port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fa724cd747cdc347cde0d2ef6ba4ee34344f72cb"




 target="_blank"
 


&gt;cxl: Remove duplicate included header file core.h&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1f9651bfc51326fbed10df820c4e80f885f921d8"




 target="_blank"
 


&gt;cxl/port: Convert to use ERR_CAST()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8c251c5ab1b7cd204231e4ee936bfe078a33f234"




 target="_blank"
 


&gt;cxl/pci: Get AER capability address from RCRB only for RCH dport&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e62f81bbd24db746c9b1aa29e7b6423211262ac4"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-6.11&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c2a96b7f187fb6a455836d4a6e113947ff11de97"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;driver-core-6.11-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a0328b397f3339d8d17a6ec356e94b3c110b010c"




 target="_blank"
 


&gt;cxl/core/pci: Move reading of control register to immediately before usage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/56478475560bde71dd3ef944b5013900272db273"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.11/xor_fixes&amp;rsquo; into cxl-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8f55ada796565ce801418bf579f31a6a522d0337"




 target="_blank"
 


&gt;cxl: Remove defunct code calculating host bridge target positions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/82a3e3a235633aa0575fac9507d648dd80f3437f"




 target="_blank"
 


&gt;cxl/region: Verify target positions using the ordered target list&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3b2fedcd75e3991e77c2a8c3ebcab0ea68b2d69d"




 target="_blank"
 


&gt;cxl: Restore XOR&amp;rsquo;d position bits during address translation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9aa5f6235e16ac6fceed789a30e72addf1abd7d8"




 target="_blank"
 


&gt;cxl/core: Fold cxl_trace_hpa() into cxl_dpa_to_hpa()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/591209c79844c1ecbee79e6b5a019e5b61eab8d3"




 target="_blank"
 


&gt;cxl/memdev: Replace ENXIO with EBUSY for inject poison limit reached&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bebfbbaffccfb69126c5a6a1d41cd868b6419370"




 target="_blank"
 


&gt;cxl/acpi: Warn on mixed CXL VH and RCH/RCD Hierarchy&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8ecef8e01a08c7e3e4ffc8f08d9f9663984f334b"




 target="_blank"
 


&gt;cxl/core: Fix incorrect vendor debug UUID define&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d69d804845985c29ab5be5a4b3b1f4787893daf8"




 target="_blank"
 


&gt;driver core: have match() callback in struct bus_type take a const *&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f3d70720e92c24c22e0e63c2588636edba33eb1a"




 target="_blank"
 


&gt;cxl/region: Simplify cxl_region_nid()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/643e8e3e65290fdfe507bb23fa524c77e1345af3"




 target="_blank"
 


&gt;cxl/region: Support to calculate memory tier abstract distance&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a3483ee7e6a7f2d12b5950246f4e0ef94f4a5df0"




 target="_blank"
 


&gt;cxl/region: Fix a race condition in memory hotplug notifier&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a0caa19711ceb54c34368f66a746844fb03fde6c"




 target="_blank"
 


&gt;cxl: add missing MODULE_DESCRIPTION() macros&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/675e979db473d08be346a3190c5f0db095a57153"




 target="_blank"
 


&gt;cxl/events: Use a common struct for DRAM and General Media events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a0f39d51dbf72c28283bd201b97559ed82bc0fe5"




 target="_blank"
 


&gt;cxl: documentation: add missing files to cxl driver-api&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/84328c5acebc10c8cdcf17283ab6c6d548885bfc"




 target="_blank"
 


&gt;cxl/region: check interleave capability&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/285f2a08841432fc3e498b1cd00cce5216cdf189"




 target="_blank"
 


&gt;cxl/region: Avoid null pointer dereference in region lookup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/84ec985944ef34a34a1605b93ce401aa8737af96"




 target="_blank"
 


&gt;cxl/mem: Fix no cxl_nvd during pmem region auto-assembling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/49ba7b515c4c0719b866d16f068e62d16a8a3dd1"




 target="_blank"
 


&gt;cxl/region: Fix memregion leaks in devm_cxl_add_region()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2c92ca849fcc6ee7d0c358e9959abc9f58661aea"




 target="_blank"
 


&gt;tracing/treewide: Remove second parameter of __assign_str()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f0bae243b2bcf2b160ae547463bf542762beef8f"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;pci-v6.10-changes&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2e9250022e9f2c9cde3b98fd26dcad1c2a9aedf3"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-6.10&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/934edcd436dca0447e0d3691a908394ba16d06c3"




 target="_blank"
 


&gt;cxl: Add post-reset warning if reset results in loss of previously committed HDM decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/962f1e79e7acfb30207a378894b1bbf6742e6212"




 target="_blank"
 


&gt;PCI/CXL: Move CXL Vendor ID to pci_ids.h&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/df2a8f4b444f92152a9e981d9b0eb0776130892a"




 target="_blank"
 


&gt;Merge remote-tracking branch &amp;lsquo;cxl/for-6.10/cper&amp;rsquo; into cxl-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c19ac30eda3a1d14d4883de0ea214b6c5c96a9b4"




 target="_blank"
 


&gt;cxl/pci: Process CPER events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d357dd8ad2f154376e5cb930284e7bf4fe21ffaa"




 target="_blank"
 


&gt;cxl/region: Convert cxl_pmem_region_alloc to scope-based resource management&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e4ff70a8e3352f71b5db52c752a9417402a098c8"




 target="_blank"
 


&gt;cxl/acpi: Cleanup __cxl_parse_cfmws()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1c987cf22d6b65ade46145c03eef13f0e3e81d83"




 target="_blank"
 


&gt;cxl/region: Fix cxlr_pmem leaks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/660c0a8679e57e9147c27962605e8f94bd520b5e"




 target="_blank"
 


&gt;Merge remote-tracking branch &amp;lsquo;cxl/for-6.10/dpa-to-hpa&amp;rsquo; into cxl-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6aec00139d3a83e2394d4bcb0084e872b4036e8f"




 target="_blank"
 


&gt;cxl/core: Add region info to cxl_general_media and cxl_dram events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/86954ff5032d9d60a5458334001ab3ae3b2c45e8"




 target="_blank"
 


&gt;cxl/region: Move cxl_trace_hpa() work to the region driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b98d042698a32518c93e47730e9ad86b387a9c21"




 target="_blank"
 


&gt;cxl/region: Move cxl_dpa_to_region() work to the region driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2042d11cb57b7e0cbda7910e5ff80e9e8bf0ae17"




 target="_blank"
 


&gt;cxl/trace: Correct DPA field masks for general_media &amp;amp; dram events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/db4fdb73f9835cab1e21c901e59d17fad32a0369"




 target="_blank"
 


&gt;Merge remote-tracking branch &amp;lsquo;cxl/for-6.10/add-log-mbox-cmds&amp;rsquo; into cxl-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6ef37af6f465127d7a81d7d2efa228f91d725bf8"




 target="_blank"
 


&gt;cxl/hdm: Debug, use decoder name function&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4cce9c6d4bde821c21f7bd75c26f1e98a00d3858"




 target="_blank"
 


&gt;cxl: Fix use of phys_to_target_node() for x86&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4afaed94bc2f635fa03ea1c2cdb9c5bf1ef9bd9b"




 target="_blank"
 


&gt;cxl/hdm: dev_warn() on unsupported mixed mode decoder&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/54e8dd59a76c031317eef61fef93f01d4e76fd3e"




 target="_blank"
 


&gt;cxl/hdm: Add debug message for invalid interleave granularity&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3381586a40b93d04cf311ba6ccc9858bee5d2fa2"




 target="_blank"
 


&gt;cxl: Fix compile warning for cxl_security_ops extern&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/206f9fa9d55592c8cea0ccf84a5242b7c7cf3748"




 target="_blank"
 


&gt;cxl/mbox: Add Clear Log mailbox command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/940325add1c54e3018277d6d783ec419262729e8"




 target="_blank"
 


&gt;cxl/mbox: Add Get Log Capabilities and Get Supported Logs Sub-List commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5d211c7090590033581175d6405ae40917ca3a06"




 target="_blank"
 


&gt;cxl: Fix cxl_endpoint_get_perf_coordinate() support for RCH&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4b759dd5765503bd466defac7d93aca14c23a15d"




 target="_blank"
 


&gt;cxl/core: Fix potential payload size confusion in cxl_mem_get_poison()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/586b5dfb51b962c1b6c06495715e4c4f76a7fc5a"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-fixes-6.9-rc4&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7bcf809b1e7889ab7e75fe1fcf8f1a98332f36d2"




 target="_blank"
 


&gt;cxl: Add checks to access_coordinate calculation to fail missing data&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/001c5d19341a39cb683ab0a18ce4b662a09d96a0"




 target="_blank"
 


&gt;cxl: Consolidate dport access_coordinate -&amp;gt;hb_coord and -&amp;gt;sw_coord into -&amp;gt;coord&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/51293c565cf4b8d57c154efadb57b17866c74bcb"




 target="_blank"
 


&gt;cxl: Fix incorrect region perf data calculation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/592780b8391fe31f129ef4823c1513528f4dcb76"




 target="_blank"
 


&gt;cxl: Fix retrieving of access_coordinates in PCIe path&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/648dae58a830ecceea3b1bebf68432435980f137"




 target="_blank"
 


&gt;cxl: Remove checking of iter in cxl_endpoint_get_perf_coordinates()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f7c52345ccc96343c0a05bdea3121c8ac7b67d5f"




 target="_blank"
 


&gt;cxl/core: Fix initialization of mbox_cmd.size_out in get event&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5c88a9ccd4c431d58b532e4158b6999a8350062c"




 target="_blank"
 


&gt;cxl/core/regs: Fix usage of map-&amp;gt;reg_type in cxl_decode_regblock() before assigned&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b7c59b038c656214f56432867056997c2e0fc268"




 target="_blank"
 


&gt;cxl/mem: Fix for the index of Clear Event Record Handle&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a46aba14cf8f35b13d8846217740da9935403b2a"




 target="_blank"
 


&gt;cxl: remove CONFIG_CXL_PMU entry in drivers/cxl/Kconfig&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ad584d73a22b2f6e6b4c928956fdece5c44cdb3e"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;trace-v6.9-2&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6c871260965255a1c142fb77ccee58b172d1690b"




 target="_blank"
 


&gt;cxl/trace: Properly initialize cxl_poison region name&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/88482878c3b4abc2a6e66e016cc01eacbdc5b0ed"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.9/cxl-fixes&amp;rsquo; into for-6.9/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/75f4d93ee8faf08546f3cc4c3d96c866b24358c8"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.9/cxl-einj&amp;rsquo; into for-6.9/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d5c0078033e2adf30e897d985fd29084ecb56b51"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.9/cxl-qos&amp;rsquo; into for-6.9/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c6c3187d66bc4e87086036266def4170742d7214"




 target="_blank"
 


&gt;lib/firmware_table: Provide buffer length argument to cdat_table_parse()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e0c818e00443ce4a704519d85a21e3c14179e3a6"




 target="_blank"
 


&gt;cxl/pci: Get rid of pointer arithmetic reading CDAT table&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ec8ffff3a9f86435996f71299ce729126a7ac8a2"




 target="_blank"
 


&gt;cxl/pci: Rename DOE mailbox handle to doe_mb&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/99b52aac2d40203d0f6468325018f68e2c494c24"




 target="_blank"
 


&gt;cxl: Fix the incorrect assignment of SSLBIS entry pointer initial location&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8039804cfa7314ad50085a779923aa5469889f88"




 target="_blank"
 


&gt;cxl/core: Add CXL EINJ debugfs files&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/debdce20c4f28b7e5aa48512e7abf270a00e9051"




 target="_blank"
 


&gt;cxl/region: Deal with numa nodes not enumerated by SRAT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/067353a46d8ccdac279ebab97c038c3658e97541"




 target="_blank"
 


&gt;cxl/region: Add memory hotplug notifier for cxl region&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c20eaf44113eac090b0d77fa2036143a836b9f56"




 target="_blank"
 


&gt;cxl/region: Add sysfs attribute for locality attributes of CXL regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3d9f4a197230d6f4d5f816bcae0e0497b0eec410"




 target="_blank"
 


&gt;cxl/region: Calculate performance data for a region&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3d8be8b398e3d315200d6c139f0166fe5f1bd576"




 target="_blank"
 


&gt;cxl: Set cxlmd-&amp;gt;endpoint before adding port device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6ef83c4e19e9ce20a05127eec8a10911cf3516a7"




 target="_blank"
 


&gt;cxl: Move QoS class to be calculated from the nearest CPU&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/863027d40993f13155451bd898bfe4c4e9b7002f"




 target="_blank"
 


&gt;cxl: Split out host bridge access coordinates&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/032f7b37adff6985e22516053698b77131c2ce96"




 target="_blank"
 


&gt;cxl: Split out combine_coordinates() for common shared usage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bd98cbbbf82a3086423865816e1b5ab4bb4b6c60"




 target="_blank"
 


&gt;ACPI: HMAT / cxl: Add retrieval of generic port coordinates for both access classes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5c6224bfabbf7f3e491c51ab50fd2c6f92ba1141"




 target="_blank"
 


&gt;cxl/acpi: Fix load failures due to single window creation failure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/40de53fd002c6ba087a623722915e8006ed68a02"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.8/cxl-cper&amp;rsquo; into for-6.8/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f3e6b3ae9cfc128af11b665c6ef4022ba2683778"




 target="_blank"
 


&gt;acpi/ghes: Remove CXL CPER notifications&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0cab687205986491302cd2e440ef1d253031c221"




 target="_blank"
 


&gt;cxl/pci: Fix disabling memory if DVSEC CXL Range does not match a CFMWS window&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cc214417f06f6b0a8f6da09220c8bcdb742210b9"




 target="_blank"
 


&gt;cxl: Fix sysfs export of qos_class for memdev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/10cb393d769bed9473e1fa8d34e4d6d389db9155"




 target="_blank"
 


&gt;cxl: Remove unnecessary type cast in cxl_qos_class_verify()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/00413c15068276f6e5a50215849a8d4bd812b443"




 target="_blank"
 


&gt;cxl: Change &amp;lsquo;struct cxl_memdev_state&amp;rsquo; *_perf_list to single &amp;lsquo;struct cxl_dpa_perf&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cb66b1d60c283bb340a2fc19deff7de8acea74b1"




 target="_blank"
 


&gt;cxl/region: Allow out of order assembly of autodiscovered regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/453a7fde8031a5192ed2f9646ad048c1a5e930dc"




 target="_blank"
 


&gt;cxl/region: Handle endpoint decoders in cxl_region_find_decoder()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e6f39a90de9213693db19aeb2ddea54163f104d7"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;efi-fixes-for-v6.8-1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dbea519d6878c298dd0f48e6ec2dbacebe4bbb2a"




 target="_blank"
 


&gt;cxl/trace: Remove unnecessary memcpy&amp;rsquo;s&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/eef5c7b28dbecd6b141987a96db6c54e49828102"




 target="_blank"
 


&gt;cxl/pci: Skip to handle RAS errors if CXL.mem device is detached&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d76779dd3681c01a4c6c3cae4d0627c9083e0ee6"




 target="_blank"
 


&gt;cxl/region：Fix overflow issue in alloc_hpa()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d72a4caf685989e353dff0a97d7376ee10edbf87"




 target="_blank"
 


&gt;cxl/pci: Skip irq features if MSI/MSI-X are not supported&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/73bf93edeeea866b0b6efbc8d2595bdaaba7f1a5"




 target="_blank"
 


&gt;cxl/core: use sysfs_emit() for attr&amp;rsquo;s _show()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3601311593eb44d34f142b993cb6f38f9a7863b3"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.8/cxl-cper&amp;rsquo; into for-6.8/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dc97f6344f205b0dfa144e1b3e16d6dc05383d57"




 target="_blank"
 


&gt;cxl/pci: Register for and process CPER events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f9c683386f5bc0364615138ce2b14be50848dbcf"




 target="_blank"
 


&gt;cxl/events: Create a CXL event union&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6eade110754c085cee9e46f4d87d2c3ea4e59e8c"




 target="_blank"
 


&gt;cxl/events: Separate UUID from event structures&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/207a1f82301de0b4123f00a8d26ea55bb2484757"




 target="_blank"
 


&gt;cxl/events: Remove passing a UUID to known event traces&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4c115c9c1f81a6efe2bd68fcefec6836f7f3dc71"




 target="_blank"
 


&gt;cxl/events: Create common event UUID defines&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e16bf7e015d75fdd805528bedaf285fcb71dad2a"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.7/cxl&amp;rsquo; into for-6.8/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/80dda9a69a487c72ded1ac69234c8a89d5922b04"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.8/cxl-misc&amp;rsquo; into for-6.8/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d3953c78fc78d37f1b795740632ec7c3d83ef98a"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.8/cxl-cdat&amp;rsquo; into for-6.8/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/26a1a86dd093a10d0653429bf013dae6e95dccbf"




 target="_blank"
 


&gt;cxl/events: Promote CXL event structures to a core header&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/321dd36c286b3f982b341ce9a273b0f66f0e00ed"




 target="_blank"
 


&gt;cxl: Refactor to use __free() for cxl_root allocation in cxl_endpoint_port_probe()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/66f11890d35a609012037cccfd9e63ed98474f99"




 target="_blank"
 


&gt;cxl: Refactor to use __free() for cxl_root allocation in cxl_find_nvdimm_bridge()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/98e7ab3345e105339b7d919b4918f3c1879052ed"




 target="_blank"
 


&gt;cxl: Fix device reference leak in cxl_port_perf_data_calculate()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/44cd71ef7bacdfcf7c3e8a7b13f11a7eba69533d"




 target="_blank"
 


&gt;cxl: Convert find_cxl_root() to return a &amp;lsquo;struct cxl_root *&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/98856b2ea3065d8f60e90f423d7707f4a4706ec5"




 target="_blank"
 


&gt;cxl: Introduce put_cxl_root() helper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5459e186a5c9f412334321cff58d70dcb0e48a04"




 target="_blank"
 


&gt;cxl/port: Fix missing target list lock&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d6488fee66472b468ed88d265b14aa3f04dc3bdf"




 target="_blank"
 


&gt;cxl/port: Fix decoder initialization when nr_targets &amp;gt; interleave_ways&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c7ad3dc3649730af483ee1e78be5d0362da25bfe"




 target="_blank"
 


&gt;cxl/region: fix x9 interleave typo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6d0fc416c42a98b39a74151376928d577873941c"




 target="_blank"
 


&gt;cxl/trace: Pass UUID explicitly to event traces&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/11c83932028714014e4259072bd230473d6db730"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.8/cxl-cdat&amp;rsquo; into for-6.8/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/58f1e9d3a30438042fc9ed65b3dc56b2e5f7886a"




 target="_blank"
 


&gt;cxl/region: use %pap format to print resource_size_t&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7984d22f1315bf30433e11e5010e4ce09ca22037"




 target="_blank"
 


&gt;cxl/region: Add dev_dbg() detail on failure to allocate HPA space&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/185c1a489f873cb71520fc089401e02dbf302dcd"




 target="_blank"
 


&gt;cxl: Check qos_class validity on memdev probe&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/42834b17cf1f00fa79ff1f02134f9c576a125252"




 target="_blank"
 


&gt;cxl: Export sysfs attributes for memory device QoS class&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/86557b7edf77d2a3835136c325c8baa6fe803234"




 target="_blank"
 


&gt;cxl: Store QTG IDs and related info to the CXL memory device context&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7a4f148dd8d518bc1e012aa738b0ed6244959293"




 target="_blank"
 


&gt;cxl: Compute the entire CXL path latency and bandwidth data&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/14a6960b3e928ccea22d687fb0626237885a20bd"




 target="_blank"
 


&gt;cxl: Add helper function that calculate performance data for downstream ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1037b82fccfe9c001ffa7a883651bb4cde7b705c"




 target="_blank"
 


&gt;cxl: Store the access coordinates for the generic ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4d07a05397c8c15c37c8c3abb7afaea1dcd2f0e7"




 target="_blank"
 


&gt;cxl: Calculate and store PCI link latency for the downstream ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/790815902ec61ba1715fd67d3cb9036e13c942bc"




 target="_blank"
 


&gt;cxl: Add support for _DSM Function for retrieving QTG ID&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/80aa780dda20618be76162bf991d49cf962fda38"




 target="_blank"
 


&gt;cxl: Add callback to parse the SSLBIS subtable from CDAT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/63cef81b9dca6ddf1c34d697016f830ddcfadf28"




 target="_blank"
 


&gt;cxl: Add callback to parse the DSLBIS subtable from CDAT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ad6f04c0269b0b7908f09621d3b3c90def39a297"




 target="_blank"
 


&gt;cxl: Add callback to parse the DSMAS subtables from CDAT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ace196de694ebea5e2b3161e21ad169eb45accc6"




 target="_blank"
 


&gt;cxl: Fix unregister_region() callback parameter assignment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ef3d5cf9c59cccb012aa6b93d99f4c6eb5d6648e"




 target="_blank"
 


&gt;cxl/pmu: Ensure put_device on pmu devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c65efe3685f5d150eeca5599afeabdc85da899d1"




 target="_blank"
 


&gt;cxl/cdat: Free correct buffer on checksum error&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6f5c4eca48ffe18307b4e1d375817691c9005c87"




 target="_blank"
 


&gt;cxl/hdm: Fix dpa translation locking&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cb46fca88d14939da2785567253d0a297f31be27"




 target="_blank"
 


&gt;cxl: Add Support for Get Timestamp&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0e33ac9c3ffe5e4f55c68345f44cea7fec2fe750"




 target="_blank"
 


&gt;cxl/memdev: Hold region_rwsem during inject and clear poison ops&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5558b92e8d39e18aa19619be2ee37274e9592528"




 target="_blank"
 


&gt;cxl/core: Always hold region_rwsem while reading poison lists&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/36a1c2ee50f573972aea3c3019555f47ee0094c0"




 target="_blank"
 


&gt;cxl/hdm: Fix a benign lockdep splat&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b3741ac86c8e648709506102f7ab51905d50df43"




 target="_blank"
 


&gt;cxl/pci: Change CXL AER support check to use native AER&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5d09c63f11f083707b60c8ea0bb420651c47740f"




 target="_blank"
 


&gt;cxl/hdm: Remove broken error path&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/69d56b15a7941680aba8c3175b165221ecdf54b6"




 target="_blank"
 


&gt;cxl/hdm: Fix &amp;amp;&amp;amp; vs || bug&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b3cfdbf6a062bcfb431153f92d6bc1ad20bfc687"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.7/cxl-commited&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/de5512b2a293863261c6b04c0c73ec0ec09ed550"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.7/cxl&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/624eda92abd47f35386028e4a54d423037a75d12"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.7/cxl-qtg&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7f946e6d830fbdf411cd0641314edf11831efc88"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.7/cxl-rch-eh&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8358e8f1596b0b23d3bbc4cf5df5e5e55afc0122"




 target="_blank"
 


&gt;cxl: Add support for reading CXL switch CDAT table&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/670e4e88f3b1a88a5a089be329b95c51592973ee"




 target="_blank"
 


&gt;cxl: Add checksum verification to CDAT from CXL&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/529c0a44045e59c3c067f1f2c5887759644c50ae"




 target="_blank"
 


&gt;cxl: Export QTG ids from CFMWS to sysfs as qos_class attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/05e37b2138a6deb1f23daf1282dc86b29968a1ab"




 target="_blank"
 


&gt;cxl: Add decoders_committed sysfs attribute to cxl_port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/458ba8189cb4380aa6a6cc4d52ab067f80a64829"




 target="_blank"
 


&gt;cxl: Add cxl_decoders_committed() helper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e8db0701605bccbeb8d7907ecd2e50f346a725bd"




 target="_blank"
 


&gt;cxl/core/regs: Rework cxl_map_pmu_regs() to use map-&amp;gt;dev for devm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d3970f006f084e5aab5091a865203899259e4d70"




 target="_blank"
 


&gt;cxl/core/regs: Rename phys_addr in cxl_map_component_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d1a9def33d7043df7445114cb89c0aa65818ae91"




 target="_blank"
 


&gt;cxl/pci: Disable root port interrupts in RCH mode&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6ac07883dbb5f60f7bc56a13b7a84a382aa9c1ab"




 target="_blank"
 


&gt;cxl/pci: Add RCH downstream port error logging&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6c5f3aacb2963d49a11d4f8accb1188db6a6404b"




 target="_blank"
 


&gt;cxl/pci: Map RCH downstream AER registers for logging protocol errors&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bf6c9fa846e2a0f7db2a2eabd52ad4f8d4335bcb"




 target="_blank"
 


&gt;cxl/pci: Update CXL error logging to use RAS register address&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6777877eb7a3290cf0a8a6b621e46f72f9d94b6b"




 target="_blank"
 


&gt;PCI/AER: Refactor cper_print_aer() for use by CXL driver module&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f05fd10d138d8ba795fcd72ace99e9c8eb7e777e"




 target="_blank"
 


&gt;cxl/pci: Add RCH downstream port AER register discovery&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a2fcb84a1978e4e855d632a07412030e99819cb8"




 target="_blank"
 


&gt;cxl/port: Remove Component Register base address from struct cxl_port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f611d98a003644f76ad8fea7c3ca786a8ca69aff"




 target="_blank"
 


&gt;cxl/pci: Remove Component Register base address from struct cxl_dev_state&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8ce520fdea245c9e17ebc0659973984362bc1fde"




 target="_blank"
 


&gt;cxl/hdm: Use stored Component Register mappings to map HDM decoder capability&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2dd18279202f6247904e6e23738c1ec6a86b24b1"




 target="_blank"
 


&gt;cxl/pci: Store the endpoint&amp;rsquo;s Component Register mappings in struct cxl_dev_state&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4d758764e7f9db83806135f3bfcff1ab64f16e60"




 target="_blank"
 


&gt;cxl/port: Pre-initialize component register mappings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d8add49263a98d766e5758dc2ec9f83c3b685c12"




 target="_blank"
 


&gt;cxl/port: Rename @comp_map to @reg_map in struct cxl_register_map&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/33d9c987bf8fb68a9292aba7cc4b1711fcb1be4d"




 target="_blank"
 


&gt;cxl/port: Fix @host confusion in cxl_dport_setup_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dd22581f89537163f065e8ef7c125ce0fddf62cc"




 target="_blank"
 


&gt;cxl/core/regs: Rename @dev to @host in struct cxl_register_map&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8d2ad999ca3c64cb08cf6a58d227b9d9e746d708"




 target="_blank"
 


&gt;cxl/port: Fix delete_endpoint() vs parent unregistration race&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/98a04c7aced2b43b3ac4befe216c4eecc7257d4b"




 target="_blank"
 


&gt;cxl/region: Fix x1 root-decoder granularity calculations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3531b27f1f04a6bc9c95cf00d40efe618d57aa93"




 target="_blank"
 


&gt;cxl/region: Fix cxl_region_rwsem lock held when returning to user space&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0cf36a85c1408f86a967fb1db721de1b89b9e675"




 target="_blank"
 


&gt;cxl/region: Use cxl_calc_interleave_pos() for auto-discovery&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a3e00c964fb943934af916f48f0dd43b5110c866"




 target="_blank"
 


&gt;cxl/region: Calculate a target position in a region interleave&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1110581412c7a223439bb3ecdcdd9f4432e08231"




 target="_blank"
 


&gt;cxl/region: Prepare the decoder match range helper for reuse&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9214c9d56c470b183f3d374c7aed7c8756f80fd9"




 target="_blank"
 


&gt;cxl/mbox: Remove useless cast in cxl_mem_create_range_info()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0718588c7aaa7a1510b4de972370535b61dddd0d"




 target="_blank"
 


&gt;cxl/region: Do not try to cleanup after cxl_region_setup_targets() fails&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/88d3917f82ed4215a2154432c26de1480a61b209"




 target="_blank"
 


&gt;cxl/mem: Fix shutdown order&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/339818380868e34ff2c482db05031bf47a67d609"




 target="_blank"
 


&gt;cxl/memdev: Fix sanitize vs decoder setup locking&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5f2da19714465739da2449253b13ac06cb353a26"




 target="_blank"
 


&gt;cxl/pci: Fix sanitize notifier setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f29a824b0b6710328a78b018de3c2cfa9db65876"




 target="_blank"
 


&gt;cxl/pci: Clarify devm host for memdev relative setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2627c995c15dc375f4b5a591d782a14b1c0e3e7d"




 target="_blank"
 


&gt;cxl/pci: Remove inconsistent usage of dev_err_probe()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/08b8a8c05423174e3ef4fb0bd514de20088cf5ac"




 target="_blank"
 


&gt;cxl/pci: Remove hardirq handler for cxl_request_irq()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e30a106558e7d1e06d1fcfd12466dc646673d03d"




 target="_blank"
 


&gt;cxl/pci: Cleanup &amp;lsquo;sanitize&amp;rsquo; to always poll&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/76fe8713dd0a1331d84d767e8e5d3f365d959e8a"




 target="_blank"
 


&gt;cxl/pci: Remove unnecessary device reference management in sanitize work&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c66650d29764e228eba40b7a59fdb70fa6567daa"




 target="_blank"
 


&gt;cxl/acpi: Annotate struct cxl_cxims_data with __counted_by&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a76b62518eb30ef59158fa777ab2e2a23e1334f9"




 target="_blank"
 


&gt;cxl/port: Fix cxl_test register enumeration regression&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1b27978d69670282a1586465de640cff363a34d8"




 target="_blank"
 


&gt;cxl/pci: Update comment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7914992b37d5a4b165e65a32a7723afde9356720"




 target="_blank"
 


&gt;cxl/port: Quiet warning messages from the cxl_test environment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/18f35dc9314db89e2d215951e5afa3e636b72baf"




 target="_blank"
 


&gt;cxl/region: Refactor granularity select in cxl_port_setup_targets()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9e4edf1a2196fa4bea6e8201f166785bd066446a"




 target="_blank"
 


&gt;cxl/region: Match auto-discovered region decoders by HPA range&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d2f706058826b803f5b9dc3f6d4c213ae0c54eb9"




 target="_blank"
 


&gt;cxl/mbox: Fix CEL logic for poison and security commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/55b8ff06a0c70e9a6a1696c69f52c0240167d23f"




 target="_blank"
 


&gt;cxl/pci: Replace host_bridge-&amp;gt;native_aer with pcie_aer_is_native()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0339dc39a521ead3dbcf101acd8c028c61db57dc"




 target="_blank"
 


&gt;cxl/pci: Fix appropriate checking for _OSC while handling CXL RAS registers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ad64f5952ce3ea565c7f76ec37ab41df0dde773a"




 target="_blank"
 


&gt;cxl/memdev: Only show sanitize sysfs files when supported&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3de8cd2242419fb0adaee629d488acfd6cd93c92"




 target="_blank"
 


&gt;cxl/memdev: Document security state in kern-doc&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/91019b5bc7c2c5e6f676cce80ee6d12b2753d018"




 target="_blank"
 


&gt;cxl/acpi: Return &amp;lsquo;rc&amp;rsquo; instead of &amp;lsquo;0&amp;rsquo; in cxl_parse_cfmws()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4cf67d3cc9994a59cf77bb9c0ccf9007fe916afe"




 target="_blank"
 


&gt;cxl/acpi: Fix a use-after-free in cxl_parse_cfmws()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/95c6bff72b02ca084be60c08503d563e506b733f"




 target="_blank"
 


&gt;cxl/mem: Fix a double shift bug&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9171dfcda4f26dc6ebfd8d50137c5f294c2060ee"




 target="_blank"
 


&gt;cxl: fix CONFIG_FW_LOADER dependency&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fe77cc2e5a6a7c85f5c6ef8a39d7694ffc7f41c9"




 target="_blank"
 


&gt;cxl: Fix one kernel-doc comment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/71baec7b8500c92f9723f39d06a7ae465483da1f"




 target="_blank"
 


&gt;cxl/pci: Use correct flag for sanitize polling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0c0df63177e37ae826d803280eb2c5b6b6a7a9a4"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.5/cxl-rch-eh&amp;rsquo; into for-6.5/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d2f9fe695313b1e50028c1ec4cd09bea67152a60"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.5/cxl-perf&amp;rsquo; into for-6.5/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5d7107c72796df3be2ba574f1cf6eca75c60d5ef"




 target="_blank"
 


&gt;perf: CXL Performance Monitoring Unit driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e2c18eb50c7bb191d1ebfed973c2ec3e0066ad37"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.5/cxl-region-fixes&amp;rsquo; into for-6.5/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/aeaefabc59ec3c7edd6d0ca7add7aff2ff6f59d0"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.5/cxl-type-2&amp;rsquo; into for-6.5/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/867eab655d3b38740d8d6c24705af25e0b1dbdb6"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.5/cxl-fwupd&amp;rsquo; into for-6.5/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dcfb70610d40704d929d824db36b1444c8f37f7a"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.5/cxl-background&amp;rsquo; into for-6.5/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9521875bbe0055805557fff0b08fd9a29d02b7bc"




 target="_blank"
 


&gt;cxl: add a firmware update mechanism using the sysfs firmware loader&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/180ffd338c35057c3e8521d55555ae3b36b67fa6"




 target="_blank"
 


&gt;cxl/mem: Support Secure Erase&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/48dcdbb16e5dc0947f949ce17bc2d09a625a0d5c"




 target="_blank"
 


&gt;cxl/mem: Wire up Sanitization support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0c36b6ad436a38b167af16e6c690c890b8b2df62"




 target="_blank"
 


&gt;cxl/mbox: Add sanitization handling machinery&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9968c9dd568e83f57fdc1f6127f8b369a0594991"




 target="_blank"
 


&gt;cxl/mem: Introduce security state sysfs file&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8ea9c33d48f20479e87b5fc3a97cd25e656d30dc"




 target="_blank"
 


&gt;cxl/mbox: Allow for IRQ_NONE case in the isr&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8f0220af58c3b73e9041377a23708d37600b33c1"




 target="_blank"
 


&gt;Revert &amp;ldquo;cxl/port: Enable the HDM decoder capability for switch ports&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/516b300c4ca86aa7953b75ce79b5c5eea5779b22"




 target="_blank"
 


&gt;cxl/memdev: Formalize endpoint port linkage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f3c8a37a432e65dda1384929198dd12c1df3ea38"




 target="_blank"
 


&gt;cxl/pci: Unconditionally unmask 256B Flit errors&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8c897b366cda9c7e5ebbb6e8e3da238ecec84535"




 target="_blank"
 


&gt;cxl/region: Manage decoder target_type at decoder-attach time&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cecbb5da921231aa0933667fba85bea5b91d6a46"




 target="_blank"
 


&gt;cxl/hdm: Default CXL_DEVTYPE_DEVMEM decoders to CXL_DECODER_DEVMEM&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5aa39a9165cfc80d37f1db8ba8fee798a3ecf74f"




 target="_blank"
 


&gt;cxl/port: Rename CXL_DECODER_{EXPANDER, ACCELERATOR} =&amp;gt; {HOSTONLYMEM, DEVMEM}&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f6b8ab32e3ec48ecc02d1b4a42ee03576040ddd2"




 target="_blank"
 


&gt;cxl/memdev: Make mailbox functionality optional&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/59f8d1510739e92135df62d52e8c29bc075c46ad"




 target="_blank"
 


&gt;cxl/mbox: Move mailbox related driver state to its own data structure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3fe7feb0f37e4dcbd51b9a4019866dc55b965a55"




 target="_blank"
 


&gt;cxl: Remove leftover attribute documentation in &amp;lsquo;struct cxl_dev_state&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c192e5432f2519c8016af126076a5be1e5befbf5"




 target="_blank"
 


&gt;cxl: Fix kernel-doc warnings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/688baac1097d30a51d6469efdc8707fdac80eab6"




 target="_blank"
 


&gt;cxl/regs: Clarify when a &amp;lsquo;struct cxl_register_map&amp;rsquo; is input vs output&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/adfe19738b71a893da62cb2e30bd6bdb4299ea67"




 target="_blank"
 


&gt;cxl/region: Fix state transitions after reset failure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2ab47045ac96a605e3037d479a7d5854570ee5bf"




 target="_blank"
 


&gt;cxl/region: Flag partially torn down regions as unusable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d1257d098a5a38753a0736a50db0a26a62377ad7"




 target="_blank"
 


&gt;cxl/region: Move cache invalidation before region teardown, and before setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5d2ffbe4b81a3b6353bf888a523e7e5d4fec47ad"




 target="_blank"
 


&gt;cxl/port: Store the downstream port&amp;rsquo;s Component Register mappings in struct cxl_dport&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/19ab69a60e3ba58b4942b9ab5095cf90477a54ce"




 target="_blank"
 


&gt;cxl/port: Store the port&amp;rsquo;s Component Register mappings in struct cxl_port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/733b57f262b0e9f05ffeac102fe5bd729e263170"




 target="_blank"
 


&gt;cxl/pci: Early setup RCH dport component registers from RCRB&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/86917c560dcf29270093768d947387ca00f729b4"




 target="_blank"
 


&gt;cxl/mem: Prepare for early RCH dport component register setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f1d0525effc4fffe821905671ea24c30a4bfa393"




 target="_blank"
 


&gt;cxl/regs: Remove early capability checks in Component Register setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d8bffff2016f7aef1c1dbe01125720475507b6f2"




 target="_blank"
 


&gt;cxl/port: Remove Component Register base address from struct cxl_dport&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d02034b4025a086b1294bfd4a2e77525e816cea4"




 target="_blank"
 


&gt;cxl/acpi: Directly bind the CEDT detected CHBCR to the Host Bridge&amp;rsquo;s port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f44c7b7ad9b8def769ba709e369fe92906250c02"




 target="_blank"
 


&gt;cxl/acpi: Move add_host_bridge_uport() after cxl_get_chbs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d076bb8c4cee23fa1ddeae36f72a4695529c9198"




 target="_blank"
 


&gt;cxl/pci: Refactor component register discovery for reuse&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/573408049b7598a7c4ef6981b70b1275447d28e4"




 target="_blank"
 


&gt;cxl/core/regs: Add @dev to cxl_register_map&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7481653deef24fb9a030339430d2f5723e0ccf78"




 target="_blank"
 


&gt;cxl: Rename &amp;lsquo;uport&amp;rsquo; to &amp;lsquo;uport_dev&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/227db57459e8b6dce33c071020b0c05b1f9fa8d6"




 target="_blank"
 


&gt;cxl: Rename member @dport of struct cxl_dport to @dport_dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0619337856c9a1cb999417be38c4049a6b0235a0"




 target="_blank"
 


&gt;cxl/rch: Prepare for caching the MMIO mapped PCIe AER capability&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/eb4663b07e13bc138aad9e2a93ee9893c7139f51"




 target="_blank"
 


&gt;cxl/acpi: Probe RCRB later during RCH downstream port creation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1ad3f701c3999904d0c6cdea299df16c6cd9878d"




 target="_blank"
 


&gt;cxl/pci: Find and register CXL PMU devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d717d7f3df18494baafd9595fb4bcb9c380d7389"




 target="_blank"
 


&gt;cxl: Add functions to get an instance of / count regblocks of a given type&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/793a539ac78843ef9378bb42a44edfbc552a67d5"




 target="_blank"
 


&gt;cxl: Explicitly initialize resources when media is not ready&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ccadf1310fb0bc8d2cbcd14f94a6279c12ea9bee"




 target="_blank"
 


&gt;cxl/mbox: Add background cmd handling machinery&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9f7a320d167cd7f310114cf25009ceedf6a323ed"




 target="_blank"
 


&gt;cxl/pci: Introduce cxl_request_irq()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f279d0bc13505a25a8b6a307b806312116c2efd2"




 target="_blank"
 


&gt;cxl/pci: Allocate irq vectors earlier during probe&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a70fc4ed20a6118837b0aecbbf789074935f473b"




 target="_blank"
 


&gt;cxl/port: Fix NULL pointer access in devm_cxl_add_port()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e764f12208b99ac7892c4e3f6bf88d71ca71036f"




 target="_blank"
 


&gt;cxl: Move cxl_await_media_ready() to before capacity info retrieval&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ce17ad0d54985e2595a3e615fda31df61808a08c"




 target="_blank"
 


&gt;cxl: Wait Memory_Info_Valid before access memory related info&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/eb0764b822b9b26880b28ccb9100b2983e01bc17"




 target="_blank"
 


&gt;cxl/port: Enable the HDM decoder capability for switch ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/764d102ef94e880ca834a7fe3968a00a05b1fb12"




 target="_blank"
 


&gt;cxl: Add missing return to cdat read error path&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7acc1372113083fa281ba426021801e2402caca1"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-6.4&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/556eb8b79190151506187bf0b16dda423c34d9a8"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;driver-core-6.4-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bfe58458fd2557c9a81b89bc0ff10eb03d6c0745"




 target="_blank"
 


&gt;cxl/mbox: Update CMD_RC_TABLE&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ca899f4021c9fc673935a09c17a7323527aefccd"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl-autodetect-fixes&amp;rsquo; into for-6.4/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/856ef55e7e1fb411cd42b917bac2a7aaf75344ae"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.4/cxl-poison&amp;rsquo; into for-6.4/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/50d527f52cbf0680c87d11a254383ca730c5c19f"




 target="_blank"
 


&gt;cxl/mem: Add debugfs attributes for poison inject and clear&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/98b6926562d9ccdbca69de9a0e0bf4f90d7f1326"




 target="_blank"
 


&gt;cxl/memdev: Trace inject and clear poison as cxl_poison events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0a105ab28a4de44eb738ce64e9ac74946aa5133b"




 target="_blank"
 


&gt;cxl/memdev: Warn of poison inject or clear to a mapped region&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9690b07748d18ac667036a68442081c4aea33ba7"




 target="_blank"
 


&gt;cxl/memdev: Add support for the Clear Poison mailbox command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d2fbc48658022f48625064ae192baff52057987d"




 target="_blank"
 


&gt;cxl/memdev: Add support for the Inject Poison mailbox command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/28a3ae4ff66c622448f5dfb7416bbe753e182eb4"




 target="_blank"
 


&gt;cxl/trace: Add an HPA to cxl_poison trace events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f0832a58639691af575fa28ffaeb657c51f3ca06"




 target="_blank"
 


&gt;cxl/region: Provide region info to the cxl_poison trace event&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7ff6ad1075885fdc71f6fea94b95109a582dec29"




 target="_blank"
 


&gt;cxl/memdev: Add trigger_poison_list sysfs attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ddf49d57b841e55e1b0aee1224a9f526e50e1bcc"




 target="_blank"
 


&gt;cxl/trace: Add TRACE support for CXL media-error records&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ed83f7ca398b3798b82c1d5d1113011c0e5a2198"




 target="_blank"
 


&gt;cxl/mbox: Add GET_POISON_LIST mailbox command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d0abf5787adc0341a04667d3b4a23b4d0999af30"




 target="_blank"
 


&gt;cxl/mbox: Initialize the poison state&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dec441d32a9a1e4a891ccda3356cac61cc1ffe79"




 target="_blank"
 


&gt;cxl/mbox: Restrict poison cmds to debugfs cxl_raw_allow_all&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3db166d6cf0ea73dd2c887036aad2e95e0884d9b"




 target="_blank"
 


&gt;cxl/mbox: Deprecate poison commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/267214a2319b5692bbc9b128a6514960291dcca8"




 target="_blank"
 


&gt;cxl/port: Fix port to pci device assumptions in read_cdat_data()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f960e57dca9fa3653d9e9c0a9e1386d2241e0aad"




 target="_blank"
 


&gt;cxl/pci: Rightsize CDAT response allocation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7a877c923995b8257069209b1d757735af4f4ce0"




 target="_blank"
 


&gt;cxl/pci: Simplify CDAT retrieval error path&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/af0a6c3587dc39df348d23c46996b9dad46d07db"




 target="_blank"
 


&gt;cxl/pci: Use CDAT DOE mailbox created by PCI core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/58709b924ea5911b7d500bba9ed36b71e1e76598"




 target="_blank"
 


&gt;cxl/pci: Use synchronous API for DOE&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c841ecd8277154c9297dd9ac959494f6deb61e76"




 target="_blank"
 


&gt;cxl/hdm: Add more HDM decoder debug messages at startup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7bba261e0aa6e8e5f28a3a3def8338b6512534ee"




 target="_blank"
 


&gt;cxl/port: Scan single-target ports for decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/104087a8aaf0f46d89376917eca977fad972cc93"




 target="_blank"
 


&gt;cxl/core: Drop unused io-64-nonatomic-lo-hi.h&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1423885c84a5b3a53b79bcf241b18124d0d7cba6"




 target="_blank"
 


&gt;cxl/hdm: Use 4-byte reads to retrieve HDM decoder base+limit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7701c8bef4f14bd9f7940c6ed0e6a73584115a96"




 target="_blank"
 


&gt;cxl/hdm: Fail upon detecting 0-sized decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ca712e47054678c5ce93a0e0f686353ad5561195"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl-doe-fixes&amp;rsquo; into for-6.3/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/24b18197184ac39bb8566fb82c0bf788bcd0d45b"




 target="_blank"
 


&gt;cxl/hdm: Extend DVSEC range register emulation for region enumeration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/52cc48ad2a76a5fe82d239044d67944bbb928de6"




 target="_blank"
 


&gt;cxl/hdm: Limit emulation to the number of range registers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9ff3eec958cf365857ae8a630237ece4f83bb337"




 target="_blank"
 


&gt;cxl/region: Move coherence tracking into cxl_region_attach()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/030f880342b875c7d714d06d3ca4058ae9f13fee"




 target="_blank"
 


&gt;cxl/region: Fix region setup/teardown for RCDs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d35b495ddf92c964eedf2ac86fdbf88dc3e5cbc9"




 target="_blank"
 


&gt;cxl/port: Fix find_cxl_root() for RCDs and simplify it&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b70c2cf95ee1ca2806cb7191504920f8f5b4454e"




 target="_blank"
 


&gt;cxl/hdm: Skip emulation when driver manages mem_enable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/82f0832af26a30ae5f21b335c5f68b538e710c29"




 target="_blank"
 


&gt;cxl/hdm: Fix double allocation of @cxlhdm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4fe2c13d59d849be3b45371e3913ec5dc77fc0fb"




 target="_blank"
 


&gt;cxl/pci: Handle excessive CDAT length&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b56faef2312057db20479b240eb71bd2e51fb51c"




 target="_blank"
 


&gt;cxl/pci: Handle truncated CDAT entries&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/34bafc747c54fb58c1908ec3116fa6137393e596"




 target="_blank"
 


&gt;cxl/pci: Handle truncated CDAT header&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/75cff725d9566699a670a02b3cfd1c6e9e9ed53e"




 target="_blank"
 


&gt;driver core: bus: mark the struct bus_type for sysfs callbacks as constant&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fbaa38214cd9e150764ccaa82e04ecf42cc1140c"




 target="_blank"
 


&gt;cxl/pci: Fix CDAT retrieval on big endian&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7c3dc440b1f5c75f45e24430f913e561dc82a419"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-6.3&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a93e884edf61f9debc9ca61ef9e545f0394ab666"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;driver-core-6.3-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/23c198e3dfaabbc891681aecb0855b9e0ac791e1"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl-events&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1bb31131231ddef851bd01299f19603d38a111de"




 target="_blank"
 


&gt;cxl/mem: Add kdoc param for event log driver state&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/279676c9aa5e5f11377dddfdecfd22df526ee9b8"




 target="_blank"
 


&gt;cxl/trace: Add serial number to trace points&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cd0570172dd8427e0bf36b4d70f0b595616da55d"




 target="_blank"
 


&gt;cxl/trace: Add host output to trace points&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0c8393dcdb1ef4dc358d95a2523297175135874b"




 target="_blank"
 


&gt;cxl/trace: Standardize device information output&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a5fcd228ca1db9810ba1ed461c90b6ee933b9daf"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl-rr-emu&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6980daaa3ed5959bf4fe2719d96b1da437026b58"




 target="_blank"
 


&gt;cxl/pci: Remove locked check for dvsec_range_allowed()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d7a2153762c7369534c432ac7e86996063e246df"




 target="_blank"
 


&gt;cxl/hdm: Add emulation when HDM decoders are not committed&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4474ce565ee4490fb4e6d8443b617a9d98ae10ff"




 target="_blank"
 


&gt;cxl/hdm: Create emulated cxl_hdm for devices that do not have HDM decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b777e9bec960a29374dc486d47784c73b7ac4cef"




 target="_blank"
 


&gt;cxl/hdm: Emulate HDM decoder from DVSEC range registers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9de321e93c3b3fd7fd2621a2557c42fa7d43e314"




 target="_blank"
 


&gt;cxl/pci: Refactor cxl_hdm_decode_init()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/59c3368b2e69eb7da7f271286a0bd80930dfc070"




 target="_blank"
 


&gt;cxl/port: Export cxl_dvsec_rr_decode() to cxl_port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1acba6e9206c655f8eb6736c7cafbf022492f36d"




 target="_blank"
 


&gt;cxl/pci: Break out range register decoding from cxl_hdm_decode_init()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5a6fe61facdb7f830895712b31fb39f544ffc165"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ee817acaa01d5c56e5fef396bea05c869b7e9351"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl-ram-region&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/248529edc86f8d7d390a15a86bd1904951311665"




 target="_blank"
 


&gt;cxl: add RAS status unmasking for CXL&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1922a6dc0502ed3fd0786f57cc9e5f515c902009"




 target="_blank"
 


&gt;cxl: remove unnecessary calling of pci_enable_pcie_error_reporting()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7abcb0b10668eaf3c174ff383f3b2a7a8c95fb34"




 target="_blank"
 


&gt;cxl: avoid returning uninitialized error code&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f57aec443c24d2e8e1f3b5b4856aea12ddda4254"




 target="_blank"
 


&gt;cxl/pmem: Fix nvdimm registration races&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b8b9ffced017528bcdd262730ab10bc5084c3bb4"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl-ram-region&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dfd423e0a3256f88b8ea622fbbe04f91594195b6"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/814a15f3b4131d3205bd47e23b50ccc6c666ce1d"




 target="_blank"
 


&gt;cxl/uapi: Tag commands from cxl_query_cmd()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/860334e59003f684d85c519179038bd655eeb9ef"




 target="_blank"
 


&gt;cxl/mem: Remove unused CXL_CMD_FLAG_NONE define&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/09d09e04d2fcf88c4620dd28097e0e2a8f720eac"




 target="_blank"
 


&gt;cxl/dax: Create dax devices for CXL RAM regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3d8f7ccaa611a743ae3a1e6f605346993d37c513"




 target="_blank"
 


&gt;tools/testing/cxl: Define a fixed volatile configuration to parse&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a32320b71f085f8d82afedcf285f1682c8c00aed"




 target="_blank"
 


&gt;cxl/region: Add region autodiscovery&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/32ce3f185bbb3802cd0ac925bc8fddf1797e0ad4"




 target="_blank"
 


&gt;cxl/port: Split endpoint and switch port probe&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/45d235c56b2bc51749af9cc8fe6ace18aa8b81be"




 target="_blank"
 


&gt;cxl/region: Enable CONFIG_CXL_REGION to be toggled&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/93c177fd6ff0655a5fa43ec945a57d7b0200ad80"




 target="_blank"
 


&gt;kernel/range: Uplevel the cxl subsystem&amp;rsquo;s range_contains() helper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9995576cef48dcbb0ba3de068292ed14f72fa0eb"




 target="_blank"
 


&gt;cxl/region: Move region-position validation to a helper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/86987c766276acf1289700cd38bd6d5b5a167fea"




 target="_blank"
 


&gt;cxl/region: Cleanup target list on attach error&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3528b1e101a40ff75c8130e0b94e9555d2976f45"




 target="_blank"
 


&gt;cxl/region: Refactor attach_target() for autodiscovery&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6e099264185d05f50400ea494f5029264a4fe995"




 target="_blank"
 


&gt;cxl/region: Add volatile region creation support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1b9b7a6fd618239db47a83da39dff9e725a5865a"




 target="_blank"
 


&gt;cxl/region: Validate region mode vs decoder mode&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a8e7d558f7e9c2921de8b487baa01d23f068aa93"




 target="_blank"
 


&gt;cxl/region: Support empty uuids for non-pmem regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7d505f982f53189da819581ad4cc13c8cef76803"




 target="_blank"
 


&gt;cxl/region: Add a mode attribute for regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2345df54249c6fb7779e2a72b427ee79ed3eaad5"




 target="_blank"
 


&gt;cxl/memdev: Fix endpoint port removal&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d874297bc7c8bb69f9fcbe6422ac5623c5897977"




 target="_blank"
 


&gt;cxl/mem: Correct full ID range allocation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dbe9f7d1e155b97a42f7da81e22acc98fe0a9072"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl-events&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5485eb955994a238eafd08d9266005b1c9ac7991"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/711442e29f16f0d39dd0e2460c9baacfccb9d5a7"




 target="_blank"
 


&gt;cxl/region: Fix passthrough-decoder detection&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4fa4302d6dc7de7e8e74dc7405611a2efb4bf54b"




 target="_blank"
 


&gt;cxl/region: Fix null pointer dereference for resetting decoder&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5a84711fd734c09b7d991b00657ba61a96612254"




 target="_blank"
 


&gt;cxl/pci: Fix irq oneshot expectations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fa8843451bec55f900b8673d9ddc0be02a61528a"




 target="_blank"
 


&gt;cxl/pci: Set the device timestamp&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7ebf38c9115ec3b4502c73b4377a7648374d700f"




 target="_blank"
 


&gt;cxl/mbox: Add missing parameter to docs.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/623c0751336e4035ab0047f2c152a02bd26b612b"




 target="_blank"
 


&gt;cxl/mbox: Fix Payload Length check for Get Log command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2a81ada32f0e584fc0c943e0d3a8c9f4fae411d6"




 target="_blank"
 


&gt;driver core: make struct bus_type.uevent() take a const *&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a9b12f8b4e3309c4c25d39e7ab818943b9c48c1c"




 target="_blank"
 


&gt;driver core: make struct device_type.devnode() take a const *&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/95b4947992858f725ad6a65a2087a3533749660f"




 target="_blank"
 


&gt;cxl/mem: Trace Memory Module Event Record&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2d6c1e6d60ba3030450ca8396a332da84e8b7614"




 target="_blank"
 


&gt;cxl/mem: Trace DRAM Event Record&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d54a531a430b775ae505563934a03720329fa5bd"




 target="_blank"
 


&gt;cxl/mem: Trace General Media Event Record&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a49aa8141b657a7fd33d86f7bed3ca07567ab37a"




 target="_blank"
 


&gt;cxl/mem: Wire up event interrupts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cbbd05d036e91b9dd976af4382f6c8d91b69b38a"




 target="_blank"
 


&gt;cxl: fix spelling mistakes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ee611e5e6616f7981939cc0441a5fb531312c2b6"




 target="_blank"
 


&gt;cxl/mbox: Add debug messages for enabled mailbox commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6ebe28f9ec7228e1a35df6074695ac11d7cdcf68"




 target="_blank"
 


&gt;cxl/mem: Read, trace, and clear events on driver load&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/19398821b25a9cde564265262e680ae1c2351be7"




 target="_blank"
 


&gt;cxl/pmem: Fix nvdimm unregistration when cxl_pmem driver is absent&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/172738bbccdb4ef76bdd72fc72a315c741c39161"




 target="_blank"
 


&gt;cxl/port: Link the &amp;lsquo;parent_dport&amp;rsquo; in portX/ and endpointX/ sysfs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/af3ea9ab61d728d5a8be01bbec6d5cf7551b9600"




 target="_blank"
 


&gt;cxl/region: Clarify when a cxld-&amp;gt;commit() callback is mandatory&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/852db33c6c180a48268eca52e25b267ed32de3ab"




 target="_blank"
 


&gt;cxl/pci: Show opcode in debug messages when sending a command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2ec1b17f745b08526220f3c169d2eb9799a9be39"




 target="_blank"
 


&gt;cxl: fix cxl_report_and_clear() RAS UE addr mis-assignment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e520d52d7cabf6817b2c56d2681e9618bc5540ae"




 target="_blank"
 


&gt;cxl/region: Only warn about cpu_cache_invalidate_memregion() once&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4a20bc3e207488064e08fc5d7220d6acf95c80dd"




 target="_blank"
 


&gt;cxl/pci: Move tracepoint definitions to drivers/cxl/core/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f04facfb993de47e2133b2b842d72b97b1c50162"




 target="_blank"
 


&gt;cxl/region: Fix memdev reuse check&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9b5f77efb0dc71d95403b528756e39b6cae0b948"




 target="_blank"
 


&gt;cxl/pci: Remove endian confusion&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/372ab3bc3711db46ae1205401c2aac2ed16fc348"




 target="_blank"
 


&gt;cxl/pci: Add some type-safety to the AER trace points&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7fe898041fb0c8e630504ecc2cb8805651ac85c1"




 target="_blank"
 


&gt;cxl/security: Drop security command ioctl uapi&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2aeaf663b85e436dc6287692b7561ffbf0aa4381"




 target="_blank"
 


&gt;cxl/mbox: Add variable output size validation for internal commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5331cdf44dc389ac56f7ba5c24ca52d13eaad8d7"




 target="_blank"
 


&gt;cxl/mbox: Enable cxl_mbox_send_cmd() users to validate output size&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f5ee4cc19c3eff4459931b6fe8f29d1e0cc204a5"




 target="_blank"
 


&gt;cxl/security: Fix Get Security State output payload endian handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c99b2e8cf79616157eeab34828fbe6e41ef2271c"




 target="_blank"
 


&gt;cxl: update names for interleave ways conversion macros&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/83351ddb786b30952485a5c302cd0cffbd62097e"




 target="_blank"
 


&gt;cxl: update names for interleave granularity conversion macros&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d3cdf4585f2f9122d1165acca40e801c75afa320"




 target="_blank"
 


&gt;cxl/acpi: Warn about an invalid CHBCR in an existing CHBS entry&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/14628aec8415e4847ae7e470b175412896716cd8"




 target="_blank"
 


&gt;cxl/acpi: Fail decoder add if CXIMS for HBIG is missing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cb4cdf74bd77af187085ab9d73ab9fd88283e3dc"




 target="_blank"
 


&gt;cxl/region: Fix spelling mistake &amp;ldquo;memergion&amp;rdquo; -&amp;gt; &amp;ldquo;memregion&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/397cd265815eae562685d9832dc8b61c927c1cfb"




 target="_blank"
 


&gt;cxl/regs: Fix sparse warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/02fedf1466567424c336cd11cf368dcf78f2af33"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.2/cxl-xor&amp;rsquo; into for-6.2/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e0f6fa0d425f745a887e640be66e22b45451e169"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.2/cxl-aer&amp;rsquo; into for-6.2/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/95dddcb5e86381abddeb1ccab5b5826fdcc74c70"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.2/cxl-security&amp;rsquo; into for-6.2/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0a19bfc8de93d5b5d12cf0a7bb74efc88b9ad077"




 target="_blank"
 


&gt;cxl/port: Add RCD endpoint port enumeration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7592d935b7ae71e2b4ff93830743c39a9d13d113"




 target="_blank"
 


&gt;cxl/mem: Move devm_cxl_add_endpoint() from cxl_core to cxl_mem&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f9db85bfec0dcc01556a41d23aec47b866ab3569"




 target="_blank"
 


&gt;cxl/acpi: Support CXL XOR Interleave Math (CXIMS)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6155ccc9ddf6642056f1c00c2851d1938d27a7f2"




 target="_blank"
 


&gt;cxl/pci: Add callback to log AER correctable error&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2905cb5236cba63a5dc8a83752dcc31f3cc819f9"




 target="_blank"
 


&gt;cxl/pci: Add (hopeful) error handling support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2f6e9c305127f8dea4e2d697b4bdd33e126ccbf7"




 target="_blank"
 


&gt;cxl/pci: add tracepoint events for CXL RAS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bd09626b39dff97779e1543e25e60ab2876e7e88"




 target="_blank"
 


&gt;cxl/pci: Find and map the RAS Capability Structure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a1554e9cac5ea04aaf2fb2de0df9936a94cb96fc"




 target="_blank"
 


&gt;cxl/pci: Prepare for mapping RAS Capability Structure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/920d8d2c60787bf63e023b120e81ca788d4191ff"




 target="_blank"
 


&gt;cxl/port: Limit the port driver to just the HDM Decoder Capability&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6c7f4f1e51c2a2474e6d4024d2ed32f8965be4a4"




 target="_blank"
 


&gt;cxl/core/regs: Make cxl_map_{component, device}_regs() device generic&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/43a2fb3aef165ffe9d4315059a2e951253f4050b"




 target="_blank"
 


&gt;cxl/pci: Kill cxl_map_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1191ca102d32456d29cf64bd4547e216986ff6b6"




 target="_blank"
 


&gt;cxl/pci: Cleanup cxl_map_device_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/af2dfef854aa6afdf380e15e39d936d3b66097f1"




 target="_blank"
 


&gt;cxl/pci: Cleanup repeated code in cxl_probe_regs() helpers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d5b1a27143cb7f78030bb2b6812730992a930c47"




 target="_blank"
 


&gt;cxl/acpi: Extract component registers of restricted hosts from RCRB&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d18bc74aced65e4ad68a30ac8db883398141e918"




 target="_blank"
 


&gt;cxl/region: Manage CPU caches relative to DPA invalidation events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/07cb5f705b4fe9e1386a610da4cb3c063267714f"




 target="_blank"
 


&gt;cxl/pmem: Enforce keyctl ABI for PMEM security&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bf3e5da8cb43a671b32fc125fa81b8f6a3677192"




 target="_blank"
 


&gt;cxl/region: Fix missing probe failure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b5807c80b5bc49764724ca22e83c04f527e86fd4"




 target="_blank"
 


&gt;cxl: add dimm_id support for __nvdimm_create()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1dedb6f3cf7feeb84b10c24046d8e4436173cc4d"




 target="_blank"
 


&gt;cxl/ACPI: Register CXL host ports by bridge device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8b3b1c0dc500a00c34ab74fb8a0d9e7286220c04"




 target="_blank"
 


&gt;tools/testing/cxl: Make mock CEDT parsing more robust&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4029c32fb601d505dfb92bdf0db9fdcc41fe1434"




 target="_blank"
 


&gt;cxl/acpi: Move rescan to the workqueue&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/03ff079aa633369763bc0b7409b0a3a8ffa21d40"




 target="_blank"
 


&gt;cxl/pmem: Remove the cxl_pmem_wq and related infrastructure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f17b558d6663101f876a1d9cbbad3de0c8f4ce4d"




 target="_blank"
 


&gt;cxl/pmem: Refactor nvdimm device registration, delete the workqueue&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/16d53cb0d6900ba7c5920397480016d3ee844610"




 target="_blank"
 


&gt;cxl/region: Drop redundant pmem region release handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cb9cfff82f6a862c1f54b8b01d9d9a979bb8ae78"




 target="_blank"
 


&gt;cxl/acpi: Simplify cxl_nvdimm_bridge probing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/452996fa079b1a8751a02ac04c54b1d69f512249"




 target="_blank"
 


&gt;cxl/pmem: add provider name to cxl pmem dimm attribute group&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bd429e5355cd58aeb7e38b905fbecee357a6379b"




 target="_blank"
 


&gt;cxl/pmem: add id attribute to CXL based nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dcedadfae28562ad04bc351cabfbc0c65b810847"




 target="_blank"
 


&gt;nvdimm/cxl/pmem: Add support for master passphrase disable security command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3b502e886d01c2f96b2774176be4c7bceef2516b"




 target="_blank"
 


&gt;cxl/pmem: Add &amp;ldquo;Passphrase Secure Erase&amp;rdquo; security command support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2bb692f7a6cd0a7b2c29d8d5029c4469c4ec02dd"




 target="_blank"
 


&gt;cxl/pmem: Add &amp;ldquo;Unlock&amp;rdquo; security command support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a072f7b7972fd85bdefefa1d6febec483438d420"




 target="_blank"
 


&gt;cxl/pmem: Add &amp;ldquo;Freeze Security State&amp;rdquo; security command support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c4ef680d0b72815003a76074ca1cd872a2fecfc3"




 target="_blank"
 


&gt;cxl/pmem: Add Disable Passphrase security command support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/997469407f266250040f20ec73aecc77ad277145"




 target="_blank"
 


&gt;cxl/pmem: Add &amp;ldquo;Set Passphrase&amp;rdquo; security command support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/328281155539b44539e12d62803e09310d86d11f"




 target="_blank"
 


&gt;cxl/pmem: Introduce nvdimm_security_ops with -&amp;gt;get_flags() operation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3b39fd6cf12ceda2a2582dcb9b9ee9f4d197b857"




 target="_blank"
 


&gt;cxl: Replace HDM decoder granularity magic numbers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b51d76752120a267397276121619fca80f767e62"




 target="_blank"
 


&gt;cxl/acpi: Improve debug messages in cxl_acpi_probe()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/58eef878fcd1f44612445b5cdde598f04b940da8"




 target="_blank"
 


&gt;cxl: Unify debug messages when calling devm_cxl_add_dport()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f3cd264c4ec1ab9b8918f3b083cfc13c5e7c26b7"




 target="_blank"
 


&gt;cxl: Unify debug messages when calling devm_cxl_add_port()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3bb80da51b1c1dbf31af2226f57cbc258f5e994b"




 target="_blank"
 


&gt;cxl/core: Check physical address before mapping it in devm_cxl_iomap_block()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fa89248e669d589cdb895517e75cdead8d8ba5c0"




 target="_blank"
 


&gt;cxl/core: Remove duplicate declaration of devm_cxl_iomap_block()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/487d828d751d90cf9ca594f45b02dd0e0d712b64"




 target="_blank"
 


&gt;cxl/doe: Request exclusive DOE access&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8f401ec1c8975eabfe4c089de91cbe058deabf71"




 target="_blank"
 


&gt;cxl/region: Recycle region ids&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e4f6dfa9ef756a3934a4caf618b1e86e9e8e21d0"




 target="_blank"
 


&gt;cxl/region: Fix &amp;lsquo;distance&amp;rsquo; calculation with passthrough ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4d07ae22e79ebc2d7528bbc69daa53b86981cb3a"




 target="_blank"
 


&gt;cxl/pmem: Fix cxl_pmem_region and cxl_memdev leak&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0d9e734018d70cecf79e2e4c6082167160a0f13f"




 target="_blank"
 


&gt;cxl/region: Fix cxl_region leak, cleanup targets at region delete&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a90accb358ae33ea982a35595573f7a045993f8b"




 target="_blank"
 


&gt;cxl/region: Fix region HPA ordering validation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4f1aa35f1fb7d51b125487c835982af792697ecb"




 target="_blank"
 


&gt;cxl/pmem: Use size_add() against integer overflow&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/71ee71d7adcba648077997a29a91158d20c40b09"




 target="_blank"
 


&gt;cxl/region: Fix decoder allocation crash&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f010c75c05299ecd65adfd31a7841eea3476ce1f"




 target="_blank"
 


&gt;cxl/pmem: Fix failure to account for 8 byte header for writes to the device LSA.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2816e24b0510e0c185c0c46acff1ce7aa4c4443f"




 target="_blank"
 


&gt;cxl/region: Fix null pointer dereference due to pass through decoder commit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cf00b33058b196b4db928419dde68993b15a975b"




 target="_blank"
 


&gt;cxl/mbox: Add a check on input payload size&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1cd8a2537eb07751d405ab7e2223f20338a90506"




 target="_blank"
 


&gt;cxl/hdm: Fix skip allocations vs multiple pmem allocations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4d8e4ea5bb396897111e8a740201bfd3c5926170"




 target="_blank"
 


&gt;cxl/region: Disallow region granularity != window granularity&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/298d44d04b2ba97824c3dadd1dbf7c154a2a86e2"




 target="_blank"
 


&gt;cxl/region: Fix x1 interleave to greater than x1 interleave routing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/910bc55da8285605308cb76f69a335b36780da43"




 target="_blank"
 


&gt;cxl/region: Move HPA setup to cxl_region_attach()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2901c8bdedca19e5efdab2ea55b465102231b315"




 target="_blank"
 


&gt;cxl/region: Fix decoder interleave programming&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/038e6eb803870113ca78fc70905a27aaa7141fd9"




 target="_blank"
 


&gt;cxl/region: describe targets and nr_targets members of cxl_region_params&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f13da0d9c3252eb922fc12495f2068fbb18c2e8f"




 target="_blank"
 


&gt;cxl/regions: add padding for cxl_rr_ep_add nested lists&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9fd2cf4d6fba8253efa62ba45f623ab7f09df12d"




 target="_blank"
 


&gt;cxl/region: Fix IS_ERR() vs NULL check&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e29a8995d63f6f861b2cc446c58cef430885f469"




 target="_blank"
 


&gt;cxl/region: Fix region reference target accounting&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/69c9961387f244077101de3ce4e272717617dc87"




 target="_blank"
 


&gt;cxl/region: Fix region commit uninitialized variable warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8d428542571428fb68b5c41b092ae70d2fc2cd17"




 target="_blank"
 


&gt;cxl/region: Fix port setup uninitialized variable warnings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/817b279467404ae3b16db8886b87eaefd8b13a6d"




 target="_blank"
 


&gt;cxl/region: Stop initializing interleave granularity&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4d5c42a80bd17d1979dbcd40c5c44ff3c93e1476"




 target="_blank"
 


&gt;cxl/hdm: Fix DPA reservation vs cxl_endpoint_decoder lifetime&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e77483055c325fa629c5835913b07f3dce3ac7fd"




 target="_blank"
 


&gt;cxl/acpi: Minimize granularity for x1 interleaves&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2bde6dbebc1cf02fd1b3d740246b92df1514a370"




 target="_blank"
 


&gt;cxl/region: Delete &amp;lsquo;region&amp;rsquo; attribute from root decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a53c28b6ae4bcda3c386bfd704b329926bcf3f92"




 target="_blank"
 


&gt;cxl/acpi: Autoload driver for &amp;lsquo;cxl_acpi&amp;rsquo; test devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5e42bcbc3fef6e759dfb4d3f4cfb394c382b4249"




 target="_blank"
 


&gt;cxl/region: decrement -&amp;gt;nr_targets on error in cxl_region_attach()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c7e3548cac4a8a8bc1ad183cc7c7249463dff55f"




 target="_blank"
 


&gt;cxl/region: prevent underflow in ways_to_cxl()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/88ab1dde792aa6a3902e2a30929e00acc99d351a"




 target="_blank"
 


&gt;cxl/region: uninitialized variable in alloc_hpa()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/04ad63f086d1a9649b8b082748cbc7a570ade461"




 target="_blank"
 


&gt;cxl/region: Introduce cxl_pmem_region objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/99183d26ed6191010fca09518dae34d6aff3cd14"




 target="_blank"
 


&gt;cxl/pmem: Fix offline_nvdimm_bus() to offline by bridge&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8d48817df6ac2049955b6b3a4f1b68dbe5b31f1b"




 target="_blank"
 


&gt;cxl/region: Add region driver boiler plate&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/176baefb2eb5d7a3ddebe3ff803db1fce44574b5"




 target="_blank"
 


&gt;cxl/hdm: Commit decoder state to hardware&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/27b3f8d13830cdbd8deae2b709af182d88237ba5"




 target="_blank"
 


&gt;cxl/region: Program target lists&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/384e624bb211b406db40edc900bb51af8bb267d0"




 target="_blank"
 


&gt;cxl/region: Attach endpoint decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6aa41144e7f1a624062f1e66a4744c168ade1f31"




 target="_blank"
 


&gt;cxl/acpi: Add a host-bridge index lookup mechanism&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b9686e8c8e39d4072081ef078c04915ee51c8af4"




 target="_blank"
 


&gt;cxl/region: Enable the assignment of endpoint decoders to regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/23a22cd1c98be518774fe7f7e8a5203af050525a"




 target="_blank"
 


&gt;cxl/region: Allocate HPA capacity to regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/80d10a6cee05029cae9d9d6e8ddb799ea6d01e0c"




 target="_blank"
 


&gt;cxl/region: Add interleave geometry attributes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dd5ba0ebbdc414f4dda4dc4ec076f46fb6f26ffd"




 target="_blank"
 


&gt;cxl/region: Add a &amp;lsquo;uuid&amp;rsquo; attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/779dd20cfb56c510f89877cca45529fa9f8bc450"




 target="_blank"
 


&gt;cxl/region: Add region creation support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7f8faf96a2fb562833db73595640329ca8da7b1d"




 target="_blank"
 


&gt;cxl/mem: Enumerate port targets before adding endpoints&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/538831f1beb818c93e5879bf19de37d89ec88ed6"




 target="_blank"
 


&gt;cxl/hdm: Add sysfs attributes for interleave ways + granularity&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/391785859e7e6521f622ad8c965c9792767023bc"




 target="_blank"
 


&gt;cxl/port: Move dport tracking to an xarray&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/256d0e9ee4f2f14d30b93fd593cef3108b0527ca"




 target="_blank"
 


&gt;cxl/port: Move &amp;lsquo;cxl_ep&amp;rsquo; references to an xarray per port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1b58b4cac6fc6fab55f34f74087594125fc60b84"




 target="_blank"
 


&gt;cxl/port: Record parent dport when adding ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/de516b40116e98c60ee475e92108453686098c85"




 target="_blank"
 


&gt;cxl/port: Record dport in endpoint references&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cf880423b6a0599499c1f83542cab0b75daa29ba"




 target="_blank"
 


&gt;cxl/hdm: Add support for allocating DPA to an endpoint decoder&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0c33b3935265cd5aafa18904363bab0c545adeee"




 target="_blank"
 


&gt;cxl/hdm: Track next decoder to allocate&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2c8669033f16f5d791e10a5bdd42e39c7380da57"




 target="_blank"
 


&gt;cxl/hdm: Add &amp;lsquo;mode&amp;rsquo; attribute to decoder objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9c57cde0dcbd0f76f649d152b83a2b9316277b22"




 target="_blank"
 


&gt;cxl/hdm: Enumerate allocated DPA&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3bf65915cefa879e3693a824d8801a08e4778619"




 target="_blank"
 


&gt;cxl/core: Define a &amp;lsquo;struct cxl_endpoint_decoder&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0f157c7fa1a0e1a55b602d8b269344392e9033ad"




 target="_blank"
 


&gt;cxl/core: Define a &amp;lsquo;struct cxl_root_decoder&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/974854ab0728532600c72e41a44d6ce1cf8f20a4"




 target="_blank"
 


&gt;cxl/acpi: Track CXL resources in iomem_resource&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e636479e2f1b611892783405a302221e4f069e4f"




 target="_blank"
 


&gt;cxl/core: Define a &amp;lsquo;struct cxl_switch_decoder&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c97006046c791f82cb5ba3219ef4a511ec5f3932"




 target="_blank"
 


&gt;cxl/port: Read CDAT table&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3eddcc938581968d126e7345e9ec84c75290e7a4"




 target="_blank"
 


&gt;cxl/pci: Create PCI DOE mailbox&amp;rsquo;s for memory devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b060edfd8cdd52bc8648392500bf152a8dd6d4c5"




 target="_blank"
 


&gt;cxl/pmem: Delete unused nvdimm attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9e9e44017db33a74177ffe91307b4c922fe2f094"




 target="_blank"
 


&gt;cxl/hdm: Initialize decoder type for memory expander devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ee800010835db23c70acc01000f182955cab27a5"




 target="_blank"
 


&gt;cxl/port: Cache CXL host bridge data&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e7ad1bf683295024e7a4e09e41015989a004a0f5"




 target="_blank"
 


&gt;tools/testing/cxl: Add partition support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cc2a4878700b2467f36e03f581a0a877ae6a568d"




 target="_blank"
 


&gt;cxl/mem: Add a debugfs version of &amp;lsquo;iomem&amp;rsquo; for DPA, &amp;lsquo;dpamem&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9b99ecf5a316f056d7139fa76198c8a2297846d1"




 target="_blank"
 


&gt;cxl/debug: Move debugfs init to cxl_core_init()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/14e473e1a7a97d1188f7fabd87c452b44f9801af"




 target="_blank"
 


&gt;cxl/hdm: Require all decoders to be enumerated&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d3b75029f353c64e1e0e45ba5083cf8679d17f0a"




 target="_blank"
 


&gt;cxl/mem: Convert partition-info to resources&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/419af595b11891d632a31440b9ca5a3cdf93996d"




 target="_blank"
 


&gt;cxl: Introduce cxl_to_{ways,granularity}&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/885d3bed6de153bfeba40e4d25cc600bef8af1b8"




 target="_blank"
 


&gt;cxl/core: Drop is_cxl_decoder()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e50fe01e1f2a4aba2275edee7d5c77ac87674ddb"




 target="_blank"
 


&gt;cxl/core: Drop -&amp;gt;platform_res attribute for root decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e8b7ea58abbd2335734e67cccbd992e4735366bd"




 target="_blank"
 


&gt;cxl/core: Rename -&amp;gt;decoder_range -&amp;gt;hpa_range&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/04ed37a2baf957620970b4049b0390089da5ec17"




 target="_blank"
 


&gt;cxl/hdm: Use local hdm variable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fe80f1ad593c84bf90299496b3f93ab998ba70ad"




 target="_blank"
 


&gt;cxl/port: Keep port-&amp;gt;uport valid for the entire life of a port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e35f5718903b093be4b1d3833aa8a32f864a3ef1"




 target="_blank"
 


&gt;cxl/mbox: Fix missing variable payload checks in cmd size validation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8a66487506161dbc1d22fd154d2de0244e232040"




 target="_blank"
 


&gt;cxl/mbox: Use __le32 in get,set_lsa mailbox structures&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8ae3cebc1704b9a3ab8398dc7820c37183026bbc"




 target="_blank"
 


&gt;cxl/core: Use is_endpoint_decoder&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/db9a3a35d31ea337331f0e6e07e04bcd52642894"




 target="_blank"
 


&gt;cxl: Fix cleanup of port devices on failure to probe driver.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/34e37b4c432cd0f1842b352fde4b8878b4166888"




 target="_blank"
 


&gt;cxl/port: Enable HDM Capability after validating DVSEC Ranges&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fcfbc93cc33ec601f00f113eca6fc484b930532d"




 target="_blank"
 


&gt;cxl/port: Reuse &amp;lsquo;struct cxl_hdm&amp;rsquo; context for hdm init&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5e5f4ad52f33c125af9b91d4c3b7cad59c13772e"




 target="_blank"
 


&gt;cxl/port: Move endpoint HDM Decoder Capability init to port driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/92804edb11f065aadb3a4f398bed8a846a035cd3"




 target="_blank"
 


&gt;cxl/pci: Drop @info argument to cxl_hdm_decode_init()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a12562bb70776093b270f79a4b6ef18f4bcead2b"




 target="_blank"
 


&gt;cxl/mem: Merge cxl_dvsec_ranges() and cxl_hdm_decode_init()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dd2d42ad6f422076d1bd49b132bec74376c26f5c"




 target="_blank"
 


&gt;cxl/mem: Skip range enumeration if mem_enable clear&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/14d78874077442d1d0f08129f5a0ea5070984b4b"




 target="_blank"
 


&gt;cxl/mem: Consolidate CXL DVSEC Range enumeration in the core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2e4ba0ec978335b4b550bbed95cb198ac3a00745"




 target="_blank"
 


&gt;cxl/pci: Move cxl_await_media_ready() to the core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/75b7ae29991f945b69c10d75b861d7d5e90bd541"




 target="_blank"
 


&gt;cxl/mem: Validate port connectivity before dvsec ranges&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/76a4121e86649bf381aa32cb69ede913def57202"




 target="_blank"
 


&gt;cxl/mem: Fix cxl_mem_probe() error exit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/194d5edadf0b403f6de2be89c484a01c83ee269f"




 target="_blank"
 


&gt;cxl/pci: Drop wait_for_valid() from cxl_await_media_ready()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1e14c9fbb55fbc48eb88b55d1736c994b1deb631"




 target="_blank"
 


&gt;cxl/pci: Consolidate wait_for_media() and wait_for_media_ready()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2bcf3bbd348fc10260aa6243ff6a22a1882b5b35"




 target="_blank"
 


&gt;cxl/mem: Drop mem_enabled check from wait_for_media()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/38a34e10768c85d3be4bb31fea5d8942bb72bbd7"




 target="_blank"
 


&gt;cxl: Drop cxl_device_lock()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d864b8ea6468cf1dce614a58eec92a23d8e07fec"




 target="_blank"
 


&gt;cxl/acpi: Add root device lockdep validation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3750d013182b071dbf458144540390de0031be8c"




 target="_blank"
 


&gt;cxl: Replace lockdep_mutex with local lock classes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/35e01667c84b1e16060020c3a13099447e61c822"




 target="_blank"
 


&gt;cxl/mbox: fix logical vs bitwise typo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/280302f0e8f6919f0c591753ea21906d77797746"




 target="_blank"
 


&gt;cxl/mbox: Replace NULL check with IS_ERR() after vmemdup_user()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/26f89535a5bb17915a2e1062c3999a2ee797c7b0"




 target="_blank"
 


&gt;cxl/mbox: Use type __u32 for mailbox payload sizes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9ea4dcf49878bb9546b8fa9319dcbdc9b7ee20f8"




 target="_blank"
 


&gt;PM: CXL: Disable suspend&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/35ee1f499091c76bd5f5d52f5ef79c3568ac74a6"




 target="_blank"
 


&gt;cxl/mem: Replace redundant debug message with a comment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/31e624a77e748e4ab7d5c9c3ddc46ba7735bd75e"




 target="_blank"
 


&gt;cxl/mem: Rename cxl_dvsec_decode_init() to cxl_hdm_decode_init()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/36bfc6ad508af38f212cf5a38147d867fb3f80a8"




 target="_blank"
 


&gt;cxl/pci: Make cxl_dvsec_ranges() failure not fatal to cxl_pci&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fbaf2b079d2a0a9c7114fbd4d1c0f3dd7a3cb3ad"




 target="_blank"
 


&gt;cxl/mem: Make cxl_dvsec_range() init failure fatal&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e39f9be08d9dfe685c8a325ac1755c04f383effc"




 target="_blank"
 


&gt;cxl/pci: Add debug for DVSEC range init failures&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e08063fb87944b1db963e94b833608318179708d"




 target="_blank"
 


&gt;cxl/mem: Drop DVSEC vs EFI Memory Map sanity check&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c43e036d6f861f4c68b50eea49ab55b539eaab02"




 target="_blank"
 


&gt;cxl/mbox: Use new return_code handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/92fcc1abab095dceb2337444f79875c8a85063df"




 target="_blank"
 


&gt;cxl/mbox: Improve handling of mbox_cmd hw return codes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cbe83a2052682c6f57d45f76fe7fea4bf254acd9"




 target="_blank"
 


&gt;cxl/pci: Use CXL_MBOX_SUCCESS to check against mbox_cmd return code&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ee92c7e261fd4b58ed5991a776ae9b25e9a5e030"




 target="_blank"
 


&gt;cxl/mbox: Drop mbox_mutex comment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6aa657f416b65f23d7a3c9d04f144b1c4aa2ebc1"




 target="_blank"
 


&gt;cxl/pmem: Remove CXL SET_PARTITION_INFO from exclusive_cmds list&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6179045ccc0c6229dc449afc1701dc7fbd40571f"




 target="_blank"
 


&gt;cxl/mbox: Block immediate mode in SET_PARTITION_INFO command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2dd5600a0e4e1aca8541e1c5bb2bc26bc0441d4d"




 target="_blank"
 


&gt;cxl/mbox: Move cxl_mem_command param to a local variable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d97fe8eec2b895b2aa2f7bb3d55e7b88bc2d53f3"




 target="_blank"
 


&gt;cxl/mbox: Make handle_mailbox_cmd_from_user() use a mbox param&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/82b8ba29538e5dae0a4e481dbbea4d5015c683af"




 target="_blank"
 


&gt;cxl/mbox: Remove dependency on cxl_mem_command for a debug msg&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9ae016aeb722504703c67e6e59c673719868f467"




 target="_blank"
 


&gt;cxl/mbox: Construct a users cxl_mbox_cmd in the validation path&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/63cf60b7e0a556b3542e6e915dfe9c93eaa559fd"




 target="_blank"
 


&gt;cxl/mbox: Move build of user mailbox cmd to a helper functions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/39ed8da4f341c8dbe9c15f716d3a328269a07fc7"




 target="_blank"
 


&gt;cxl/mbox: Move raw command warning to raw command validation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6dd0e5cc87b33aee9cfe4d485c4d8b8382701558"




 target="_blank"
 


&gt;cxl/mbox: Move cxl_mem_command construction to helper funcs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d28820419ca332f856cdf8bef0cafed79c29ed05"




 target="_blank"
 


&gt;cxl/pci: Drop shadowed variable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/05e815539f3f161585c13a9ab023341bade2c52f"




 target="_blank"
 


&gt;cxl/core/port: Fix NULL but dereferenced coccicheck error&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/74be98774dfbc5b8b795db726bd772e735d2edd4"




 target="_blank"
 


&gt;cxl/port: Hold port reference until decoder release&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/41ae9105f5e23e98a1734be2eeddddf488e42c2e"




 target="_blank"
 


&gt;cxl/port: Fix endpoint refcount leak&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e6e17cc6ed751072513fe16cb595ac09f6821a43"




 target="_blank"
 


&gt;cxl/core: Fix cxl_device_lock() class detection&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5c3c067b601bcbcd381214e3a40e666fda5f3d6f"




 target="_blank"
 


&gt;cxl/core/port: Fix unregister_port() lock assertion&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/74b0fe80409733055971bbfaf33c80a33fddeeb3"




 target="_blank"
 


&gt;cxl/regs: Fix size of CXL Capability Header Register&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7004cc9d1585fb7fc9ec7e3e92b70b65e13b11fd"




 target="_blank"
 


&gt;cxl/core/port: Handle invalid decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0909b4e5287bcda34f00da878ac1f37a0921d959"




 target="_blank"
 


&gt;cxl/core/port: Fix / relax decoder target enumeration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9b71e1c9c3aaae5079f5e267785b6f035c5f23da"




 target="_blank"
 


&gt;cxl/core/port: Add endpoint decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8aea0ef19fde030f983aba0e7ec5bcf10880a6fe"




 target="_blank"
 


&gt;cxl/core: Move target_list out of base decoder attributes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8dd2bc0f8e02d39bd80851ca787bcbdb7d495e69"




 target="_blank"
 


&gt;cxl/mem: Add the cxl_mem driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2703c16c75aea142c3079ec34ae2262c0557ef7f"




 target="_blank"
 


&gt;cxl/core/port: Add switch port enumeration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cf1f6877b088cd9ddeb5f3db8ade3a61e3a3f9eb"




 target="_blank"
 


&gt;cxl/memdev: Add numa_node attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bcc79ea34398845d814170ddc06a457b35ae1975"




 target="_blank"
 


&gt;cxl/pci: Emit device serial number&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/523e594d9cc03db962c741ce02c8a58aab58a123"




 target="_blank"
 


&gt;cxl/pci: Implement wait for media active&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/560f78559006a4bab20455ae7eca33d8417c38fc"




 target="_blank"
 


&gt;cxl/pci: Retrieve CXL DVSEC memory info&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/06e279e5ebe4f32ffe544ec96a199870319a7315"




 target="_blank"
 


&gt;cxl/pci: Cache device DVSEC offset&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4112a08dd3c5ea0a96029f14061f2320826cfd32"




 target="_blank"
 


&gt;cxl/pci: Store component register base in cxlds&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/664bf115833c2d4ee717ab63f4e6e72a25c66e77"




 target="_blank"
 


&gt;cxl/core/port: Remove @host argument for dport + decoder enumeration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/54cdbf845cf719c09b45ae588cba469aabb3159c"




 target="_blank"
 


&gt;cxl/port: Add a driver for &amp;lsquo;struct cxl_port&amp;rsquo; objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/83fbdbe4c18678eebe63fc49913f149a5afde057"




 target="_blank"
 


&gt;cxl/core: Emit modalias for CXL devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d17d0540a0dbf109210f7b57a37571e2978da0fa"




 target="_blank"
 


&gt;cxl/core/hdm: Add CXL standard decoder enumeration to the core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/98d2d3a264543680281fd8a4e6ae490ca26b4f85"




 target="_blank"
 


&gt;cxl/core: Generalize dport enumeration in the core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/af9cae9facc2de773b4aa59916913cfd6e18bdd0"




 target="_blank"
 


&gt;cxl/pci: Rename pci.h to cxlpci.h&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c978f1b10aba8ce4f8e1f6fcc86b174e08a6e7f7"




 target="_blank"
 


&gt;cxl/port: Up-level cxl_add_dport() locking requirements to the caller&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a46cfc0f011ce77d120e1cdbf973f733d18f0105"




 target="_blank"
 


&gt;cxl/pmem: Introduce a find_cxl_root() helper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5ff7316f6fea4798c66b1ba953d1ebe6617503e4"




 target="_blank"
 


&gt;cxl/port: Introduce cxl_port_to_pci_bus()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/86c8ea0f3b32aae6d824bdc0d835b6a9361dc912"




 target="_blank"
 


&gt;cxl/core/port: Use dedicated lock for decoder target list&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3c5b903955251ea464fca383a42d981e33004df6"




 target="_blank"
 


&gt;cxl: Prove CXL locking&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/53fa1bff3426344d466d91e81f076eab677d0ece"




 target="_blank"
 


&gt;cxl/core: Track port depth&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d2b61ed2ff63fd9f294db8399c7a680ea7fe8a23"




 target="_blank"
 


&gt;cxl/core/port: Make passthrough decoder init implicit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d621bc2e7282f9955033a6359877fd4ac4be60e1"




 target="_blank"
 


&gt;cxl/core: Fix cxl_probe_component_regs() error message&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d54c1bbe2d34e301382968d8b05bd8162e8f60fb"




 target="_blank"
 


&gt;cxl/core/port: Clarify decoder creation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/608135db1b790170d22848815c4671407af74e37"




 target="_blank"
 


&gt;cxl/core: Convert decoder range to resource&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c3bca8d4bb3ff77b8784cdc794eb1f8f89b10fb5"




 target="_blank"
 


&gt;cxl/decoder: Hide physical address information from non-root&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0ff0af18216436d0151af4e410400c7a19ca9437"




 target="_blank"
 


&gt;cxl/core/port: Rename bus.c to port.c&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c57cae78bfa6a8535d4baade451107b0577c2750"




 target="_blank"
 


&gt;cxl: Introduce module_cxl_driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/303ebc1b1741b6a18349d8e5753c2d25fdb41a21"




 target="_blank"
 


&gt;cxl/acpi: Map component registers for Root Ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8baa787b93dbda6b24081297b934e8edd886d4bb"




 target="_blank"
 


&gt;cxl/pci: Add new DVSEC definitions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/46c6ad27625ca00f59903585e41667d7a45b4eb8"




 target="_blank"
 


&gt;cxl: Flesh out register names&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4f195ee73ade1adf8326e5ed5fb271da51778991"




 target="_blank"
 


&gt;cxl/pci: Defer mailbox status checks to command timeouts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/229e8828c206be8fa0a159f6ff71e3b1a0484233"




 target="_blank"
 


&gt;cxl/pci: Implement Interface Ready Timeout&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/68cdd3d2af6964dae2f8d9b53ee94f740dcbda35"




 target="_blank"
 


&gt;cxl: Rename CXL_MEM to CXL_PCI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/be185c2988b48db65348d94168c793bdbc8d23c3"




 target="_blank"
 


&gt;cxl/core: Remove cxld_const_init in cxl_decoder_alloc()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/53989fad1286e652ea3655ae3367ba698da8d2ff"




 target="_blank"
 


&gt;cxl/pmem: Fix module reload vs workqueue state&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fd49f99c180996cef2d707ad71bee4f060dbe367"




 target="_blank"
 


&gt;ACPI: NUMA: Add a node and memblk for each CFMWS not in SRAT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/814dff9ae234d70003b8733a637fec621c90f0bc"




 target="_blank"
 


&gt;cxl/test: Mock acpi_table_parse_cedt()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f4ce1f766f1ebf39161b3b9447a83f4f1dfe593b"




 target="_blank"
 


&gt;cxl/acpi: Convert CFMWS parsing to ACPI sub-table helpers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a91bd78967c49b43d2835695c7b53b11170c98f4"




 target="_blank"
 


&gt;cxl/memdev: Remove unused cxlmd field&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/affec782742e08a7469ef81d7d0a4ae9d1345dfd"




 target="_blank"
 


&gt;cxl/core: Convert to EXPORT_SYMBOL_NS_GPL&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5e2411ae8071612396cd25017e29f9ce0662a5ff"




 target="_blank"
 


&gt;cxl/memdev: Change cxl_mem to a more descriptive name&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/888e034a74f41643dee6a8142c98946b8be00bf0"




 target="_blank"
 


&gt;cxl/mbox: Remove bad comment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/08b9e0ab8af48895337192e683de44ab1e1b7427"




 target="_blank"
 


&gt;cxl/pmem: Fix reference counting for delayed work&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dd72945c43d34bee496b847e021069dc31f7398f"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-5.16&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/55006a2c94645b4da85dea48c3752c4eb28f1711"




 target="_blank"
 


&gt;cxl/pci: Use pci core&amp;rsquo;s DVSEC functionality&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/85afc3175aeb100d72e59e3d0470ad75a0e26249"




 target="_blank"
 


&gt;cxl/pci: Split cxl_pci_setup_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a261e9a1576ab32966be907e73786282d52afb61"




 target="_blank"
 


&gt;cxl/pci: Add @base to cxl_register_map&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7dc7a64de2bb3daf613f4c2e809e49678c579148"




 target="_blank"
 


&gt;cxl/pci: Make more use of cxl_register_map&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/84e36a9d1bbd2c41481e7160e0553480781b008b"




 target="_blank"
 


&gt;cxl/pci: Remove pci request/release regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ca76a3a8052b71c0334d5c094859cfa340c290a8"




 target="_blank"
 


&gt;cxl/pci: Fix NULL vs ERR_PTR confusion&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d22fed9c2b70d8ccc91c9a56ed2df2c1a0c2ebab"




 target="_blank"
 


&gt;cxl/pci: Remove dev_dbg for unknown register blocks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cdcce47cb33a6a2ecb1bc113d0ba42ec300a33fe"




 target="_blank"
 


&gt;cxl/pci: Convert register block identifiers to an enum&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/91a45b12d49e2b43d86caba25ed59fae43344ab8"




 target="_blank"
 


&gt;cxl/acpi: Do not fail cxl_acpi_probe() based on a missing CHBS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/301e68dd9b9b4986d401b967d17e27b91f524143"




 target="_blank"
 


&gt;cxl/core: Replace unions with struct_group()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ed97afb53365cd03dde266c9644334a558fe5a16"




 target="_blank"
 


&gt;cxl/pci: Disambiguate cxl_pci further from cxl_mem&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/48667f676189eccfe9b7ac3a31772d55d6da40e5"




 target="_blank"
 


&gt;cxl/core: Split decoder setup into alloc + add&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7d3eb23c4ccf457b52cafdca1a7b20cddf29e021"




 target="_blank"
 


&gt;tools/testing/cxl: Introduce a mock memory device + driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/49be6dd807511db31809000a7b9d430b18d5e780"




 target="_blank"
 


&gt;cxl/mbox: Move command definitions to common location&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a5c25802168993c67a03a6e04142761dfb4a3bf5"




 target="_blank"
 


&gt;cxl/bus: Populate the target list at decoder create&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/67dcdd4d3b832ace448f454c47426f657d648fc5"




 target="_blank"
 


&gt;tools/testing/cxl: Introduce a mocked-up CXL port hierarchy&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2e52b6256b9af23c5a881f56b5b5e7f5cb9b8b4b"




 target="_blank"
 


&gt;cxl/pmem: Add support for multiple nvdimm-bridge objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/60b8f17215de1e6551fec4e942494c3832c3e98b"




 target="_blank"
 


&gt;cxl/pmem: Translate NVDIMM label commands to CXL label commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/12f3856ad42d6ce0dbd4266e105c04ae999f908c"




 target="_blank"
 


&gt;cxl/mbox: Add exclusive kernel command support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ff56ab9e164d71c4a6ae33fc61ae856faec265a1"




 target="_blank"
 


&gt;cxl/mbox: Convert &amp;rsquo;enabled_cmds&amp;rsquo; to DECLARE_BITMAP&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5a2328f4e872a5bcbb2ff790497f000e8f79b152"




 target="_blank"
 


&gt;cxl/pci: Use module_pci_driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4faf31b43468c58e2c8c91cc5fa26f08a6b733be"




 target="_blank"
 


&gt;cxl/mbox: Move mailbox and other non-PCI specific infrastructure to the core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4cb35f1ca05a42acbc4a3c8cf7de1029a06558d0"




 target="_blank"
 


&gt;cxl/pci: Drop idr.h&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b64955a92929346f16df058ad2bb53630eb80466"




 target="_blank"
 


&gt;cxl/mbox: Introduce the mbox_send operation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/13e7749d06b335774bbb341c65a0232484beb457"




 target="_blank"
 


&gt;cxl/pci: Clean up cxl_mem_get_partition_info()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/99e222a5f1b67dd17c2c780f4eb9a694707d3bf7"




 target="_blank"
 


&gt;cxl/pci: Make &amp;lsquo;struct cxl_mem&amp;rsquo; device type generic&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/70868a180501d17fea58153c649d56bc18435315"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-5.15&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2b922a9d064f8e86b53b04f5819917b7a04142ed"




 target="_blank"
 


&gt;cxl/registers: Fix Documentation warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a01da6ca7d0ad66b6fa2dc4af0fc97ca8ba28b45"




 target="_blank"
 


&gt;cxl/pmem: Fix Documentation warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/da582aa5ad5787c46e3f475ab3f4602ec84c1617"




 target="_blank"
 


&gt;cxl/pci: Fix debug message in cxl_probe_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9e56614c44b994b78fc9fcb2070bcbe3f5df0d7b"




 target="_blank"
 


&gt;cxl/pci: Fix lockdown level&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a7bfaad54b8b9cf06041528988d6b75b4b921546"




 target="_blank"
 


&gt;cxl/acpi: Do not add DSDT disabled ACPI0016 host bridge ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ceeb0da0a0322bcba4c50ab3cf97fe9a7aa8a2e4"




 target="_blank"
 


&gt;cxl/mem: Adjust ram/pmem range to represent DPA ranges&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f847502ad8e3299e7ad256aa0bd7eaf184646117"




 target="_blank"
 


&gt;cxl/mem: Account for partitionable space in ram/pmem ranges&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0b9159d0ff21bc281dbb9ede06ad566330ac0943"




 target="_blank"
 


&gt;cxl/pci: Store memory capacity values&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5b68705d1e6340127464ef0ac0e1de94f823f14e"




 target="_blank"
 


&gt;cxl/pci: Simplify register setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1e39db573e4cdf798b899de2b1e72ac9bea08013"




 target="_blank"
 


&gt;cxl/pci: Ignore unknown register block types&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3d135db510240fefd79da46181493d3e3b415f6b"




 target="_blank"
 


&gt;cxl/core: Move memdev management to core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9cc238c7a526dba9ee8c210fa2828886fc65db66"




 target="_blank"
 


&gt;cxl/pci: Introduce cdevm_file_operations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0f06157e0135f5563efbc9aadbd93ba3d9322cab"




 target="_blank"
 


&gt;cxl/core: Move register mapping infrastructure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/06737cd0d216be1cf6e8052e4fca0d391298f184"




 target="_blank"
 


&gt;cxl/core: Move pmem functionality&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/95aaed266801a801add6d17cd3a4f7deb610af2e"




 target="_blank"
 


&gt;cxl/core: Improve CXL core kernel docs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5161a55c069f53d88da49274cbef6e3c74eadea9"




 target="_blank"
 


&gt;cxl: Move cxl_core to new directory&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fc7a6209d5710618eb4f72a77cd81b8d694ecf89"




 target="_blank"
 


&gt;bus: Make remove callback return void&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4ad6181e4b216ed0cb52f45d3c6d2c70c8ae9243"




 target="_blank"
 


&gt;cxl/pci: Rename CXL REGLOC ID&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3e23d17ce1980c7cbd9426a3764eef7d7bcd443f"




 target="_blank"
 


&gt;cxl/acpi: Use the ACPI CFMWS to create static decoder objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/da6aafec3dca6132dd80a74a4d918ffd86c7ae35"




 target="_blank"
 


&gt;cxl/acpi: Add the Host Bridge base address to CXL port objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/21083f51521fb0f60dbac591f175c3ed48435af4"




 target="_blank"
 


&gt;cxl/pmem: Register &amp;lsquo;pmem&amp;rsquo; / cxl_nvdimm devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8fdcb1704f61a8fd9be0f3849a174d084def0666"




 target="_blank"
 


&gt;cxl/pmem: Add initial infrastructure for pmem support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6af7139c979474a29a6ad642c9bf32d92e24c5bc"




 target="_blank"
 


&gt;cxl/core: Add cxl-bus driver infrastructure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/87815ee9d0060a91bdf18266e42837a9adb5972e"




 target="_blank"
 


&gt;cxl/pci: Add media provisioning required commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ba268647368844ed290e2f7b4da7a28cd12ee049"




 target="_blank"
 


&gt;cxl/component_regs: Fix offset&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6423035fd26c1ecb72f90ecab909e9afa36942b8"




 target="_blank"
 


&gt;cxl/hdm: Fix decoder count calculation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/40ba17afdfabb01688c61565dbe02a916241bc05"




 target="_blank"
 


&gt;cxl/acpi: Introduce cxl_decoder objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3b94ce7b7bc1b436465a93f19a50e0b495b429a1"




 target="_blank"
 


&gt;cxl/acpi: Enumerate host bridge root ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7d4b5ca2e2cb5d28db628ec79c706bcfa832feea"




 target="_blank"
 


&gt;cxl/acpi: Add downstream port data to cxl_port instances&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3feaa2d35880de935fc0d02acf808f355564f4e6"




 target="_blank"
 


&gt;cxl/Kconfig: Default drivers to CONFIG_CXL_BUS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4812be97c015bddf12c70155858df43acc35a4eb"




 target="_blank"
 


&gt;cxl/acpi: Introduce the root of a cxl_port topology&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/605a5e41db7d8c930fb80115686991c4c1d08ee4"




 target="_blank"
 


&gt;cxl/pci: Fixup devm_cxl_iomap_block() to take a &amp;lsquo;struct device *&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/08422378c4adacf528d573bb1631d4818f8f9a01"




 target="_blank"
 


&gt;cxl/pci: Add HDM decoder capabilities&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9a016527dcb71e2ecadfeacf52122a79b428790c"




 target="_blank"
 


&gt;cxl/pci: Reserve individual register block regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/30af97296f48d84bc4a6abbaabb92c796a84ca57"




 target="_blank"
 


&gt;cxl/pci: Map registers based on capabilities&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f8a7e8c29be873b90fcc426e93bdb6184df5970e"




 target="_blank"
 


&gt;cxl/pci: Reserve all device regions at once&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/07d62eac422c5c8aec6ec1dacdc27423334b2d17"




 target="_blank"
 


&gt;cxl/pci: Introduce cxl_decode_register_block()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6630d31c912ed2dfbc035caf0f54709b50ce779e"




 target="_blank"
 


&gt;cxl/mem: Get rid of @cxlm.base&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1d5a4159074bde1b2d5e4a6f5ed34de70a83a39f"




 target="_blank"
 


&gt;cxl/mem: Move register locator logic into reg setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1b0a1a2a193400d305931a40ac68e89bcfdad9c5"




 target="_blank"
 


&gt;cxl/mem: Split creation from mapping in probe&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5d0c6f02595310a17762755bb6f015786b8900db"




 target="_blank"
 


&gt;cxl/mem: Use dev instead of pdev-&amp;gt;dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dd2a93a814e7ffbd4d2c3e361f4609c9bd384a96"




 target="_blank"
 


&gt;cxl/mem: Demarcate vendor specific capability IDs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/199cf8c3feec2947015da84643312790b21531cb"




 target="_blank"
 


&gt;cxl/pci.c: Add a &amp;rsquo;label_storage_size&amp;rsquo; attribute to the memdev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/21e9f76733a8c152b794cba5463ff9bf2db919d4"




 target="_blank"
 


&gt;cxl: Rename mem to pci&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/399d34ebc2483c6091a587e5905c6ed34116fb05"




 target="_blank"
 


&gt;cxl/core: Refactor CXL register lookup for bridge reuse&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5f653f7590ab7db7379f668b2975744585206b0d"




 target="_blank"
 


&gt;cxl/core: Rename bus.c to core.c&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8ac75dd6ab3039ef0656d777a564ea1b65071971"




 target="_blank"
 


&gt;cxl/mem: Introduce &amp;lsquo;struct cxl_regs&amp;rsquo; for &amp;ldquo;composable&amp;rdquo; CXL devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5f50d6b20ca31d91de14cc09be3e5ce67bc99e04"




 target="_blank"
 


&gt;cxl/mem: Move some definitions to mem.h&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fae8817ae804a682c6823ad1672438f39fc46c28"




 target="_blank"
 


&gt;cxl/mem: Fix memory device capacity probing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b21bb4cd1102dd9e24a169d09cf4e6f3c8a46bcf"




 target="_blank"
 


&gt;cxl/mem: Fix register block offset calculation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/392be0bda730df3c71241b2a16bbecac78ee627d"




 target="_blank"
 


&gt;cxl/mem: Force array size of mem_commands[] to CXL_MEM_COMMAND_ID_MAX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7eda6457a9ca4dc9754e1158c3794e4487ea4392"




 target="_blank"
 


&gt;cxl/mem: Disable cxl device power management&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1c3333a28d4532cfc37d4d25bfc76654a0c76643"




 target="_blank"
 


&gt;cxl/mem: Do not rely on device_add() side effects for dev_set_name() failures&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5877515912cc4f0d67071b7cee15076ebef24708"




 target="_blank"
 


&gt;cxl/mem: Fix synchronization mechanism for device removal vs ioctl operations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6eff5721933c08c3b76d6126aee24d8f134518ef"




 target="_blank"
 


&gt;cxl/mem: Use sysfs_emit() for attribute show routines&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/88ff5d466c0250259818f3153dbdc4af1f8615dd"




 target="_blank"
 


&gt;cxl/mem: Fix potential memory leak&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/58294927f468a428c7a1ba09cf986fdca14a2747"




 target="_blank"
 


&gt;cxl/mem: Return -EFAULT if copy_to_user() fails&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/57ee605b976c30a86613648935d255bbe704aeab"




 target="_blank"
 


&gt;cxl/mem: Add set of informational commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/472b1ce6e9d6396ab3f11fc5101c6b63b934a018"




 target="_blank"
 


&gt;cxl/mem: Enable commands via CEL&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/13237183c735f5cba4ae26bc782c613ae0d4e4d3"




 target="_blank"
 


&gt;cxl/mem: Add a &amp;ldquo;RAW&amp;rdquo; send command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/583fa5e71caeb79e04e477e9837e2f7fa53b71e4"




 target="_blank"
 


&gt;cxl/mem: Add basic IOCTL interface&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b39cb1052a5cf41bc12201ec1c0ddae5cb8be868"




 target="_blank"
 


&gt;cxl/mem: Register CXL memX devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8adaf747c9f0b470aea1b0c88583aa0a344e1540"




 target="_blank"
 


&gt;cxl/mem: Find device capabilities&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4cdadfd5e0a70017fec735b7b6d7f2f731842dc6"




 target="_blank"
 


&gt;cxl/mem: Introduce a driver for CXL-2.0-Type-3 endpoints&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cdd30ebb1b9f36159d66f088b61aee264e649d7a"




 target="_blank"
 


&gt;module: Convert symbol namespace to string literal&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/78a2cbd809ef834b680f2825d3e4c16ec66f8ffa"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-6.13&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b8e6d7ce50673c39514921ac61f7af00bbb58b87"




 target="_blank"
 


&gt;dax: delete a stale directory pmem&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f88b3ecc9cc737fc518b7a386d38bb2110712fa2"




 target="_blank"
 


&gt;dax: Document struct dev_dax_range&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7fcbd9785d4c17ea533c42f20a9083a83f301fa6"




 target="_blank"
 


&gt;device-dax: correct pgoff align in dax_set_mapping()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1b5695b02444660297cc54cab44f123ff28de2cc"




 target="_blank"
 


&gt;mm: make range-to-target_node lookup facility a part of numa_memblks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5b198b4759ef7e618817d390601740b30ff56041"




 target="_blank"
 


&gt;mm/dax: dump start address in fault handler&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c2a96b7f187fb6a455836d4a6e113947ff11de97"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;driver-core-6.11-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d69d804845985c29ab5be5a4b3b1f4787893daf8"




 target="_blank"
 


&gt;driver core: have match() callback in struct bus_type take a const *&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1d5198dd08ac04b13a8b7539131baf0980998032"




 target="_blank"
 


&gt;dax: add missing MODULE_DESCRIPTION() macros&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/61307b7be41a1f1039d1d1368810a1d92cb97b44"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;mm-stable-2024-05-17-19-19&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c405aa3ea36c1f973a9f10bbcfabc9aeeb38040c"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-6.10&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2acf04532d6d655d8c3b2ee4ddeb320107043086"




 target="_blank"
 


&gt;dax/bus.c: use the right locking mode (read vs write) in size_show&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e39dbcfba714c4c2e924e96fc8fdde1080a5a737"




 target="_blank"
 


&gt;dax/bus.c: don&amp;rsquo;t use down_write_killable for non-user processes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6f6544f27e41f9d7dca55c288f12175a9c48dfe2"




 target="_blank"
 


&gt;dax/bus.c: fix locking for unregister_dax_dev / unregister_dax_mapping paths&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c14c647bbe23fd96f6bffcc122b9c6c8c46c7928"




 target="_blank"
 


&gt;dax/bus.c: replace WARN_ON_ONCE() with lockdep asserts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a72a30af550c08423de1b9feecb6ceeddc434889"




 target="_blank"
 


&gt;memory tier: dax/kmem: introduce an abstract layer for finding, allocating, and putting memory types&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/529ce23a764f25d172198b4c6ba90f1e2ad17f93"




 target="_blank"
 


&gt;mm: switch mm-&amp;gt;get_unmapped_area() to a flag&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/41147b006be2174b825a54b0620ecf4cc7ec5c84"




 target="_blank"
 


&gt;dax: remove redundant assignment to variable rc&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2c720b492c59b070930aa1be8bef6e256d3bf4b2"




 target="_blank"
 


&gt;dax: constify the struct device_type usage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/210a03c9d51aa0e6e6f06980116e3256da8d4c48"




 target="_blank"
 


&gt;fs: claw back a few FMODE_* bits&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4757c3c64a71820a37da7a14c5b63a1f26fed0f5"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-6.9&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/902861e34c401696ed9ad17a54c8790e7e8e3069"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;mm-stable-2024-03-13-20-04&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f88c3fb81c4badb46c2fef7d168ff138043e86bb"




 target="_blank"
 


&gt;mm, slab: remove last vestiges of SLAB_MEM_SPREAD&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d9212b35da52109361247b66010802d43c6b1f0d"




 target="_blank"
 


&gt;dax: remove SLAB_MEM_SPREAD flag usage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/902ccb86ed02eea5b81c2afb514c0a7d72f63de2"




 target="_blank"
 


&gt;dax: fix incorrect list of data cache aliasing architectures&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1df4ca0155acb37b9b1d03ab91323d70a309ff54"




 target="_blank"
 


&gt;dax: check for data cache aliasing at runtime&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6d439c18d9b190ab1e0f1196bc45590f95752bf1"




 target="_blank"
 


&gt;dax: alloc_dax() return ERR_PTR(-EOPNOTSUPP) for CONFIG_DAX=n&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/73954d379efd176e9b011142c55aa8da93ac740a"




 target="_blank"
 


&gt;dax: add a sysfs knob to control memmap_on_memory behavior&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6ebed0007f082cd80a63a8849c54e7cad0069469"




 target="_blank"
 


&gt;dax/bus.c: replace several sprintf() with sysfs_emit()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c05ae9d85b47211edb187b854b62ec68fb2a1e93"




 target="_blank"
 


&gt;dax/bus.c: replace driver-core lock usage by a local rwsem&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bc22374c96d959084bea1287cfc6ea0fd9ca4e40"




 target="_blank"
 


&gt;device-dax: make dax_bus_type const&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/12958e9c4c8e93ef694c10960c78453edf21526e"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;xfs-6.8-merge-3&amp;rsquo; of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4eca0ef49af9b2b0c52ef2b58e045ab34629796b"




 target="_blank"
 


&gt;dax/kmem: allow kmem to add memory with memmap_on_memory&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fa422b353d212373fb2b2857a5ea5a6fa4876f9c"




 target="_blank"
 


&gt;mm, pmem, xfs: Introduce MF_MEM_PRE_REMOVE for unbind&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ecae0bd5173b1014f95a14a8dfbe40ec10367dcf"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;mm-stable-2023-11-01-14-33&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6bc2cfdf82d56863b7cf5e86e37a662b2ae5d47e"




 target="_blank"
 


&gt;dax, kmem: calculate abstract distance with general interface&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/75b3d5dc0846cfa54ea52d7d84215b761ecbf569"




 target="_blank"
 


&gt;dax: refactor deprecated strncpy&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1d024e7a8dabcc3c84d77532a88c774c32cf8245"




 target="_blank"
 


&gt;mm: remove enum page_entry_size&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bded67f81ec47e6054ad24c1c7992a6523a9b2c6"




 target="_blank"
 


&gt;memory tier: rename destroy_memory_type() to put_memory_type()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1ea7ca1b090145519aad998679222f0a14ab8fce"




 target="_blank"
 


&gt;dax: enable dax fault handler to report VM_FAULT_HWPOISON&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/46e66dab8565f742374e9cc4ff7d35f344d774e2"




 target="_blank"
 


&gt;dax/kmem: Pass valid argument to memory_group_register_static&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2532f41607c4308733239dd43278f8a5540f3ec7"




 target="_blank"
 


&gt;dax: Cleanup extra dax_region references&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/70aab281e18c68a1284bc387de127c2fc0bed3f8"




 target="_blank"
 


&gt;dax: Introduce alloc_dev_dax_id()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/82b4ceeccb89cfd0b03706f1b15e31a7db6a027d"




 target="_blank"
 


&gt;dax: Use device_unregister() in unregister_dax_mapping()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6d24b170a9db0456f577b1ab01226a2254c016a8"




 target="_blank"
 


&gt;dax: Fix dax_mapping_release() use after free&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2d5153526f929838b0912ded26862840f72745f4"




 target="_blank"
 


&gt;dax: fix missing-prototype warnings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7c3dc440b1f5c75f45e24430f913e561dc82a419"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-6.3&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a93e884edf61f9debc9ca61ef9e545f0394ab666"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;driver-core-6.3-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3822a7c40997dc86b1458766a3f146d62393f084"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;mm-stable-2023-02-20-13-37&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8cc01d43f882fa1f44d8aa6727a6ea783d8fbe3f"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;rcu.2023.02.10a&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e686c32590f40bffc45f105c04c836ffad3e531a"




 target="_blank"
 


&gt;dax/kmem: Fix leak of memory-hotplug resources&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0c16c83ed57fc66b033306ba426a5b324966a33e"




 target="_blank"
 


&gt;dax: cxl: add CXL_REGION dependency&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/09d09e04d2fcf88c4620dd28097e0e2a8f720eac"




 target="_blank"
 


&gt;cxl/dax: Create dax devices for CXL RAM regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e9ee9fe3a9d4ae0e1e935fc2ec1218b66a043cae"




 target="_blank"
 


&gt;dax: Assign RAM regions to memory-hotplug by default&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7dab174e2e27eeaf10273e597ffbef4f8ea032bb"




 target="_blank"
 


&gt;dax/hmem: Move hmem device registration to dax_hmem.ko&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fe098574a93b4e2acb046b583e9857337d807f38"




 target="_blank"
 


&gt;dax/hmem: Convey the dax range via memregion_info()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/84fe17f8e9c68a4389c6e89b7ce3b4651b359989"




 target="_blank"
 


&gt;dax/hmem: Drop unnecessary dax_hmem_remove()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/df2798bc778acadcd87d7ff98a4db47197defc5f"




 target="_blank"
 


&gt;dax/hmem: Move HMAT and Soft reservation probe initcall level&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1c71222e5f2393b5ea1a41795c67589eea7e3490"




 target="_blank"
 


&gt;mm: replace vma-&amp;gt;vm_flags direct modifications with modifier calls&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a870acc11230d7bf52b9bbeb6c096448f1176964"




 target="_blank"
 


&gt;drivers/dax: Remove &amp;ldquo;select SRCU&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2a81ada32f0e584fc0c943e0d3a8c9f4fae411d6"




 target="_blank"
 


&gt;driver core: make struct bus_type.uevent() take a const *&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1c88b9ba6b126080a9c121abd943b25e20cd7ac1"




 target="_blank"
 


&gt;dax: super.c: fix kernel-doc bad line warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/472faf72b33d80aa8e7a99c9410c1a23d3bf0cd8"




 target="_blank"
 


&gt;device-dax: Fix duplicate &amp;lsquo;hmem&amp;rsquo; device registration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/19d17ab7c68b62180e0537f92400a6f798019775"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-6.1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/27bc50fc90647bbf7b734c3fc306a5e61350da53"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;mm-stable-2022-10-08&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6a02124c87f0b61dcaaeb65e7fd406d8afb40fd4"




 target="_blank"
 


&gt;ACPI: HMAT: Release platform device in case of platform_device_add_data() fails&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0f702033a64bd3adcd57c9d5cf91ea64c08fad42"




 target="_blank"
 


&gt;dax: Remove usage of the deprecated ida_simple_xxx API&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7b88bda3761b95856cf97822efe8281c8100067b"




 target="_blank"
 


&gt;mm/demotion/dax/kmem: set node&amp;rsquo;s abstract distance to MEMTIER_DEFAULT_DAX_ADISTANCE&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/67feaba413ec68daf4124e9870878899b4ed9a0e"




 target="_blank"
 


&gt;devdax: Fix soft-reservation memory description&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8012b866085523758780850087102421dbcce522"




 target="_blank"
 


&gt;dax: introduce holder for dax_device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/047218ec904da19c45c4a70274fc3f818a1fcba1"




 target="_blank"
 


&gt;dax: add .recovery_write dax_operation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e511c4a3d2a1f64aafc1f5df37a2ffcf7ef91b55"




 target="_blank"
 


&gt;dax: introduce DAX_RECOVERY_WRITE dax access mode&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f0614eefbf829a2914ac9a82cb8bbeaf1af28f9d"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;dax-for-5.18&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6b1f86f8e9c7f9de7ca1cb987b2cf25e99b1ae3a"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;folio-5.18b&amp;rsquo; of git://git.infradead.org/users/willy/pagecache&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fd60b28842df833477c42da6a6d63d0d114a5fcc"




 target="_blank"
 


&gt;fs: allocate inode by using alloc_inode_sb()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/46de8b979492e1377947700ecb1e3169088668b2"




 target="_blank"
 


&gt;fs: Convert __set_page_dirty_no_writeback to noop_dirty_folio&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5660a8630dab61a28e07ec00c42bf605b182d725"




 target="_blank"
 


&gt;fs: Remove noop_invalidatepage()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/db8cd5efeebc4904df1653926102413d088a5c7e"




 target="_blank"
 


&gt;dax: Fix missing kdoc for dax_device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a7e8de822e0b1979f08767c751f6c8a9c1d4ad86"




 target="_blank"
 


&gt;dax: make sure inodes are flushed before destroy cache&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f56caedaf94f9ced5dbfcdb0060a3e788d2078af"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;akpm&amp;rsquo; (patches from Andrew)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/14606001efb48a17be31a5bec626c13ca49d783a"




 target="_blank"
 


&gt;device-dax: compound devmap support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6ec228b6fef5ad3a1f19e76c29640a9161415240"




 target="_blank"
 


&gt;device-dax: remove pfn from _&lt;em&gt;dev_dax&lt;/em&gt;{pte,pmd,pud}_fault()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0e7325f03f09802d1667b8860e10fe39c25bf14c"




 target="_blank"
 


&gt;device-dax: set mapping prior to vmf_insert_pfn{,_pmd,pud}()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a0fb038e50d72f8e60731dc48fb83a3a141b822e"




 target="_blank"
 


&gt;device-dax: factor out page mapping initialization&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fc65c4eb0b2a27c30d35636650e3f4ddb07506cd"




 target="_blank"
 


&gt;device-dax: ensure dev_dax-&amp;gt;pgmap is valid for dynamic devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/09b80137033dbc5f1d197e99116527c0f8d253f2"




 target="_blank"
 


&gt;device-dax: use struct_size()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b9b5777f09be84d0de472ded2253d2f5101427f2"




 target="_blank"
 


&gt;device-dax: use ALIGN() for determining pgoff&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7ac5360cd4d02cc7e0eaf10867f599e041822f12"




 target="_blank"
 


&gt;dax: remove the copy_from_iter and copy_to_iter methods&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/30c6828a17a572aeb9e3a3bacce05fdcf1106541"




 target="_blank"
 


&gt;dax: remove the DAXDEV_F_SYNC flag&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fd1d00ec92002d8fe28ca981a72395eaa7ae3d11"




 target="_blank"
 


&gt;dax: simplify dax_synchronous and set_dax_synchronous&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cd913c76f489def1a388e3a5b10df94948ede3f5"




 target="_blank"
 


&gt;dax: return the partition offset from fs_dax_get_by_bdev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/60696eb26a37ab0199f7833ddbc1b75138c36d16"




 target="_blank"
 


&gt;fsdax: simplify the pgoff calculation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7b0800d00dae8c897398abaf61e82db0d67d7afc"




 target="_blank"
 


&gt;dax: remove dax_capable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0c445871388f4bac74ea74e8c7a12c6c05c6a427"




 target="_blank"
 


&gt;dax: move the partition alignment check into fs_dax_get_by_bdev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/586f61682816f0cf7865b2dab7210b8f5339f834"




 target="_blank"
 


&gt;dax: remove the pgmap sanity checks in generic_fsdax_supported&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fb08a1908cb119a4585611d91461ab6d27756b14"




 target="_blank"
 


&gt;dax: simplify the dax_device &amp;lt;-&amp;gt; gendisk association&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/afd586f0d06ce3d81b7c474499630fec88833828"




 target="_blank"
 


&gt;dax: remove CONFIG_DAX_DRIVER&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5d2a228b9e1319ff188f9ea89006fbe575561921"




 target="_blank"
 


&gt;dm: make the DAX support depend on CONFIG_FS_DAX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/83762cb5c7c464af4cbaba5679af31c7fe534979"




 target="_blank"
 


&gt;dax: Kill DEV_DAX_PMEM_COMPAT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e765f13ed126fe7e41d1a6e3c60d754cd6c2af93"




 target="_blank"
 


&gt;nvdimm/pmem: move dax_attribute_group from dax to pmem&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2e5fd489a4e5fcc97b035c03ace724c1d481a4c1"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-5.15&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2d338201d5311bcd79d42f66df4cecbcbc5f4f2c"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;akpm&amp;rsquo; (patches from Andrew)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/eedf634aac3b85b70e7b139c32fc68f565ecf815"




 target="_blank"
 


&gt;dax/kmem: use a single static memory group for a single probed unit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e1c158e4956612e7bada4c03dfb99210af4d6cde"




 target="_blank"
 


&gt;mm/memory_hotplug: remove nid parameter from remove_memory() and friends&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c6c3c5704ba70820f6b632982abde06661b7222a"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;driver-core-5.15-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bdd3c50d83bf7f6acc869b48d02670d19030ae03"




 target="_blank"
 


&gt;dax: remove bdev_dax_supported&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/60b8340f0d6587d7b51990689fcdae567f309fbf"




 target="_blank"
 


&gt;dax: stub out dax_supported for !CONFIG_FS_DAX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cd93a2a4d1b076f5c73d70d836c202bbcbeea49e"




 target="_blank"
 


&gt;dax: remove __generic_fsdax_supported&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/673a0658f6ac359131a881c0dcf1b91c2500ab9c"




 target="_blank"
 


&gt;dax: move the dax_read_lock() locking into dax_supported&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1b7646014e0d838b06be7288e2dec3262948cc56"




 target="_blank"
 


&gt;dax: mark dax_get_by_host static&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/39b6389a7fdc0457d980a3ea1e77ca457402f477"




 target="_blank"
 


&gt;dax: stop using bdevname&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/96dcb97d0a40a60b9aee9f2c7a44ce8a1b6704bc"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-5.14/dax&amp;rsquo; into libnvdimm-fixes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fc7a6209d5710618eb4f72a77cd81b8d694ecf89"




 target="_blank"
 


&gt;bus: Make remove callback return void&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b05d4c576b697b9f462b9c532c997171d5c3b067"




 target="_blank"
 


&gt;dax: Ensure errno is returned from dax_direct_access&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b82a96c9253333a8834b2df5f262a39cccf4f6c7"




 target="_blank"
 


&gt;fs: remove noop_set_page_dirty()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9de82caad0282205d4c38a39456bce58e3219540"




 target="_blank"
 


&gt;dax: avoid -Wempty-body warnings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5ceabb6078b80a8544ba86d6ee523ad755ae6d5e"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;work.misc&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/64ffe84320745ea836555ad207ebfb0e896b6167"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-5.12/dax&amp;rsquo; into for-5.12/libnvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6f24784f00f2b5862b367caeecc5cca22a77faa3"




 target="_blank"
 


&gt;whack-a-mole: don&amp;rsquo;t open-code iminor/imajor&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0d519e0d52ee7c532d4018b90cd0b042d374c06d"




 target="_blank"
 


&gt;dax-device: Make remove callback return void&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c80b53204d6ee8f70e5f4e846bc0e62dda64aee0"




 target="_blank"
 


&gt;device-dax: Drop an empty .remove callback&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e307bf11c5198dbc0c9de0694c3e85c681648df6"




 target="_blank"
 


&gt;device-dax: Fix error path in dax_driver_register&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8029968e2ae02361f376751459dc644b45970b40"




 target="_blank"
 


&gt;device-dax: Properly handle drivers without remove callback&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5b8e64f1ada37574b9ab124e1414af2adf688a19"




 target="_blank"
 


&gt;device-dax: Prevent registering drivers without probe callback&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1f975074634a63f014e2b7e76852ee6d6005a91d"




 target="_blank"
 


&gt;libnvdimm: Make remove callback return void&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7323fb22f05ff1d20498d267828870a5fbbaebd6"




 target="_blank"
 


&gt;device-dax: Fix default return code of range_parse()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1f13d2f7d8a407be09e841f17805b2451271d493"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-5.11&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ff8da37d3d8d438ded5a4841d979899269b94d0d"




 target="_blank"
 


&gt;device-dax: Avoid an unnecessary check in alloc_dev_dax_range()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6268d7da4d192af339f4d688942b9ccb45a65e04"




 target="_blank"
 


&gt;device-dax: Fix range release&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8bcbe3132c66c07d03f64d5da80be753359f2e92"




 target="_blank"
 


&gt;device-dax: delete a redundancy check in dev_dax_validate_align()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1aa574312518ef1d60d2dc62d58f7021db3b163a"




 target="_blank"
 


&gt;device-dax/core: Fix memory leak when rmmod dax.ko&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4e6a7b3bbd5a6f9e6f0c5c3ad976ed116c7ade79"




 target="_blank"
 


&gt;device-dax/pmem: Convert comma to semicolon&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dd3b614f858d88f33e0cf8b7353e2ad937e71da3"




 target="_blank"
 


&gt;vm_ops: rename .split() callback to .may_split()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7d18dd75a8afc072aabc77f2a9c3df94cdc53f33"




 target="_blank"
 


&gt;device-dax/kmem: use struct_size()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a927bd6ba952d13c52b8b385030943032f659a3e"




 target="_blank"
 


&gt;mm: fix phys_to_target_node() and memory_add_physaddr_to_nid() exports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/694565356c2e06224d94774a42709cc8dfab49ee"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;fuse-update-5.10&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b6117199787c60539105d2de0d010146e8396fc3"




 target="_blank"
 


&gt;mm/memory_hotplug: prepare passing flags to add_memory() and friends&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a455aa72f7c46b881721668b3ee810713adc7a5b"




 target="_blank"
 


&gt;device-dax/kmem: fix resource release&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8490e2e25b5a1f9591145f0e3bbd09b99409be76"




 target="_blank"
 


&gt;device-dax: add a range mapping allocation attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5a505603a917854fd68d2c25e86e1fb96c845ced"




 target="_blank"
 


&gt;dax/hmem: introduce dax_hmem.region_idle parameter&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6d82120f41561426dd67c86380d779b4599d070d"




 target="_blank"
 


&gt;device-dax: add an &amp;lsquo;align&amp;rsquo; attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/33cf94d7176672174042bea0566065f356e2caab"




 target="_blank"
 


&gt;device-dax: make align a per-device property&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0b07ce872a9eca1ff88c0eb7f6e92dde127d21ca"




 target="_blank"
 


&gt;device-dax: introduce &amp;lsquo;mapping&amp;rsquo; devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/60e93dc097f7f13a16a7e4b75b8803eb2adbb721"




 target="_blank"
 


&gt;device-dax: add dis-contiguous resource support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b7b3c01b191596d27a6980d1a42504f5b607f802"




 target="_blank"
 


&gt;mm/memremap_pages: support multiple ranges per invocation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a4574f63edc6f76fb46dcd65d3eb4d5a8e23ba38"




 target="_blank"
 


&gt;mm/memremap_pages: convert to &amp;lsquo;struct range&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fcffb6a1df921c81579e9c01f9caa281c3f991d5"




 target="_blank"
 


&gt;device-dax: add resize support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0f3da14a4f0503998fc6c12da3d2fc6e8b33e669"




 target="_blank"
 


&gt;device-dax: introduce &amp;lsquo;seed&amp;rsquo; devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f11cf813dee20e67eac22a6d78502aa564554eb4"




 target="_blank"
 


&gt;device-dax: introduce &amp;lsquo;struct dev_dax&amp;rsquo; typed-driver operations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c2f3011ee697f85ba0166fb3780332aafc66b8f4"




 target="_blank"
 


&gt;device-dax: add an allocation interface for device-dax instances&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0513bd5bb11456d45250c9283e1cb52533125180"




 target="_blank"
 


&gt;device-dax/kmem: replace release_resource() with release_mem_region()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7e6b431aaef8b611a5adcd7f18fe089ff0d7bb59"




 target="_blank"
 


&gt;device-dax/kmem: move resource name tracking to drvdata&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/59bc8d10dc417884a3bc18a092a62e13645ed044"




 target="_blank"
 


&gt;device-dax/kmem: introduce dax_kmem_range()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f5516ec5efb9fe0f426a46eeef25d389d3c2f988"




 target="_blank"
 


&gt;device-dax: make pgmap optional for instance creation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/174ebece379bad6331048560dc7f7abfdb8442ee"




 target="_blank"
 


&gt;device-dax: move instance creation parameters to &amp;lsquo;struct dev_dax_data&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ec826909981c0b3262681ed7021b959593426d46"




 target="_blank"
 


&gt;device-dax: drop the dax_region.pfn_flags attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5ccac54f3e124a49789c3773d5a351e87470cf12"




 target="_blank"
 


&gt;ACPI: HMAT: attach a device for each soft-reserved range&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c01044cc819160323f3ca4acd44fca487c4432e6"




 target="_blank"
 


&gt;ACPI: HMAT: refactor hmat_register_target_device to hmem_register_device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d4c5da5049ac27c6ef8f6f98548c3a1ade352d25"




 target="_blank"
 


&gt;dax: Fix stack overflow when mounting fsdax pmem device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e2ec5128254518cae320d5dc631b71b94160f663"




 target="_blank"
 


&gt;dm: Call proper helper to determine dax support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4f8b0a5b3f7e5f03b188de9025b60c15559790f9"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-fix-v5.9-rc5&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1a9d5d405962d134acb8efb4ccb4bc17805134c7"




 target="_blank"
 


&gt;dax: Modify bdev_dax_pgoff() to handle NULL bdev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/68beef571071014ef34a3beac65fe2af7e8e3cf6"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;for-linus-5.9-rc4-tag&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4533d3aed857c558d6aabd00d0cb04100c5a2258"




 target="_blank"
 


&gt;memremap: rename MEMORY_DEVICE_DEVDAX to MEMORY_DEVICE_GENERIC&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6180bb446ab624b9ab8bf201ed251ca87f07b413"




 target="_blank"
 


&gt;dax: fix detection of dax support for non-persistent memory block devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c2affe920b0e0669650943ac086215cf6519be34"




 target="_blank"
 


&gt;dax: do not print error message for non-persistent memory block device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4bf5e3611895ede257d736b7359db669879a109f"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-5.9&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/eedfd73d401b5584ab270b5f9f80079e56c7807e"




 target="_blank"
 


&gt;drivers/dax: Expand lock scope to cover the use of addresses&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/231609785cbfb341e7d6d24a74d6ab8cc518835f"




 target="_blank"
 


&gt;dax: print error message by pr_info() in __generic_fsdax_supported()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e556f6ba10f0f3c3484a1597382ceaec1e7bc700"




 target="_blank"
 


&gt;block: remove the bd_queue field from struct block_device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8a725e4694b52ffad755500277d36f3b2eb34755"




 target="_blank"
 


&gt;device-dax: add memory via add_memory_driver_managed()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/735e4ae5ba28c886d249ad04d3c8cc097dad6336"




 target="_blank"
 


&gt;vfs: track per-sb writeback errors and report them to syncfs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/60858c00e5f018eda711a3aa84cf62214ef62d61"




 target="_blank"
 


&gt;device-dax: don&amp;rsquo;t leak kernel memory to user space after unloading kmem&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4e4ced93794acb42adb19484132966defba8f3a6"




 target="_blank"
 


&gt;dax: Move mandatory -&amp;gt;zero_page_range() check in alloc_dax()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f605a263e0690177ecc180417eacf2b5507dd177"




 target="_blank"
 


&gt;dax, pmem: Add a dax operation zero_page_range&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f01b16a85bfae2e6b4f32de0a1f37ac4050dc316"




 target="_blank"
 


&gt;dax: Get rid of fs_dax_get_by_host() helper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d10032dd539c93dbff016f5667e5627c6c2a4467"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-5.5&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cb4dd729ee6ccc67ad604b1750990eb8c18783fa"




 target="_blank"
 


&gt;dax: Add numa_node to the default device-dax attributes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/153dd28647d63086dc6e1df5ee06fd0a5d6435a5"




 target="_blank"
 


&gt;dax: Simplify root read-only definition for the &amp;lsquo;resource&amp;rsquo; attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/770619a95106340230a72a725c958c037284ec1f"




 target="_blank"
 


&gt;dax: Create a dax device_type&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8f4b01fcded2dc821349cc0edfa5311c05abe293"




 target="_blank"
 


&gt;libnvdimm/namespace: Differentiate between probe mapping and runtime mapping&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a6c7f4c6aea5f4ca6056b06cec7ebd79f8c23e33"




 target="_blank"
 


&gt;device-dax: Add a driver for &amp;ldquo;hmem&amp;rdquo; devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/460370ab20b6cc174256e46e192adf01e730faf6"




 target="_blank"
 


&gt;dax: Fix alloc_dax_region() compile warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/933a90bf4f3505f8ec83bda21a3c7d70d7c2b426"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;work.mount0&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0fe49f70a08d7d25acee3b066a88c654fea26121"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;dax-for-5.3&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f8c3500cd137867927bc080f4a6e02e0222dd1b8"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-5.3&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9f960da72b25054163cf555e622dcdc3b8ccc488"




 target="_blank"
 


&gt;device-dax: &amp;ldquo;Hotremove&amp;rdquo; persistent memory that is used like normal RAM&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/31e4ca92a7dd4cdebd7fe1456b3b0b6ace9a816f"




 target="_blank"
 


&gt;device-dax: fix memory and resource leak if hotplug fails&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fefc1d97fa4b5e016bbe15447dc3edcd9e1bcb9f"




 target="_blank"
 


&gt;libnvdimm: add dax_dev sync flag&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ea31d5859f5862fc915ccf3fa34f6c6c5f63f336"




 target="_blank"
 


&gt;device-dax: use the dev_pagemap internal refcount&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d8668bb0451c3c45b59dbcde2654e0539aad1d2a"




 target="_blank"
 


&gt;memremap: pass a struct dev_pagemap to -&amp;gt;kill and -&amp;gt;cleanup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1e240e8d4a7d92232b6214e02a0a4197a53afd6c"




 target="_blank"
 


&gt;memremap: move dev_pagemap callbacks into a separate structure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3ed2dcdf54d5bf1f9823b5faf1a702e7cee53982"




 target="_blank"
 


&gt;memremap: validate the pagemap type passed to devm_memremap_pages&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/40cdc60ac16a42eb4e013f84d0e7aa1d6ee060d3"




 target="_blank"
 


&gt;device-dax: Add a &amp;lsquo;resource&amp;rsquo; attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/50f44ee7248ad2f7984ef081974a6ecd09724b3e"




 target="_blank"
 


&gt;mm/devm_memremap_pages: fix final page put race&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5b497af42fab12cadc0e29bcb7052cf9963603f5"




 target="_blank"
 


&gt;treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 295&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/75d4e06f049ffb059fdf7e81c0c4c9fab2ba60e4"




 target="_blank"
 


&gt;vfs: Convert dax to use the new mount API&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1f58bb18f6f28d1df0b7144d90bc90ee5672416d"




 target="_blank"
 


&gt;mount_pseudo(): drop &amp;rsquo;name&amp;rsquo; argument, switch to d_make_root()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b2ad81363f12261f8b6a97ed7723960ea6450f31"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-fixes-5.2-rc2&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ec8f24b7faaf3d4799a7c3f4c1b87f6b02778ad1"




 target="_blank"
 


&gt;treewide: Add SPDX license identifier - Makefile/Kconfig&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1a6e9e76b713d9632783efe78295ed3507fdad64"




 target="_blank"
 


&gt;device-dax: Drop register_filesystem()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7bf7eac8d648057519adb6fce1e31458c902212c"




 target="_blank"
 


&gt;dax: Arrange for dax_supported check to span multiple devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/83f3ef3de625a5766de2382f9e077d4daafd5bac"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-fixes-5.2-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fce86ff5802bac3a7b19db171aa1949ef9caac31"




 target="_blank"
 


&gt;mm/huge_memory: fix vmf_insert_pfn_{pmd, pud}() crash, handle unaligned addresses&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/67476656febd7ec5f1fe1aeec3c441fcf53b1e45"




 target="_blank"
 


&gt;drivers/dax: Allow to include DEV_DAX_PMEM as builtin&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/53e228299965fff2359857e5c592eadba65d95a9"




 target="_blank"
 


&gt;dax: make use of -&amp;gt;free_inode()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d521fbaeda726ef3a9dad91c0239e7207d9864b7"




 target="_blank"
 


&gt;dax/pmem: Fix whitespace in dax_pmem&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f67e3fb4891287b8248ebb3320f794b9f5e782d4"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;devdax-for-5.1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c221c0b0308fd01d9fb33a16f64d2fd95f8830a4"




 target="_blank"
 


&gt;device-dax: &amp;ldquo;Hotplug&amp;rdquo; persistent memory for use like normal RAM&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c347bd71dcdb2d0ac8b3a771486584dca8c8dd80"




 target="_blank"
 


&gt;device-dax: Add a &amp;lsquo;modalias&amp;rsquo; attribute to DAX &amp;lsquo;bus&amp;rsquo; devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ad428cdb525a97d15c0349fdc80f3d58befb50df"




 target="_blank"
 


&gt;dax: Check the end of the block-device capacity with dax_direct_access()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/21c75763a3ae18679e5c4e2260aa9379b073566b"




 target="_blank"
 


&gt;device-dax: Add a &amp;rsquo;target_node&amp;rsquo; attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/664525b2d84abca1074c9546654ae9689de8a818"




 target="_blank"
 


&gt;device-dax: Auto-bind device after successful new_id&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8fc5c73554db0ac18c0c6ac5b2099ab917f83bdf"




 target="_blank"
 


&gt;acpi/nfit, device-dax: Identify differentiated memory with a unique numa-node&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/730926c3b0998943654019f00296cf8e3b02277e"




 target="_blank"
 


&gt;device-dax: Add /sys/class/dax backwards compatibility&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d200781ef237a354d918ceff5cee350d88a93d42"




 target="_blank"
 


&gt;device-dax: Add support for a dax override driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/89ec9f2cfa36cc5fca2fb445ed221bb9add7b536"




 target="_blank"
 


&gt;device-dax: Move resource pinning+mapping into the common driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9567da0b408a2553d32ca83cba4f1fc5a8aad459"




 target="_blank"
 


&gt;device-dax: Introduce bus + driver model&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/51cf784c42d07fbd62cb604836a9270cf3361509"




 target="_blank"
 


&gt;device-dax: Start defining a dax bus model&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/753a0850e707e9a8c5861356222f9b9e4eba7945"




 target="_blank"
 


&gt;device-dax: Remove multi-resource infrastructure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/93694f9630b0ed29cda61df58e480dcb34ef52fd"




 target="_blank"
 


&gt;device-dax: Kill dax_region base&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/21b9e979501fdb5f6797193d70428a2b00bd5247"




 target="_blank"
 


&gt;device-dax: Kill dax_region ida&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a95c90f1e2c253b280385ecf3d4ebfe476926b28"




 target="_blank"
 


&gt;mm, devm_memremap_pages: fix shutdown handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/41c9b1be335b5afc3b5fb71c5d16f9d5939cd13f"




 target="_blank"
 


&gt;device-dax: Add missing address_space_operations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/36bdac1e674debd2714cb3e80eaa18266c2426e4"




 target="_blank"
 


&gt;drivers/dax/device.c: convert variable to vm_fault_t type&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2923b27e54242acf27fd16b299e102117c82f52f"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.19_dax-memory-failure&amp;rsquo; of gitolite.kernel.org:pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/828bf6e904eb8fc8969333568802689fbbf07a40"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.19_misc&amp;rsquo; of gitolite.kernel.org:pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e1fb4a0864958fac2fb1b23f9f4562a9f90e3e8f"




 target="_blank"
 


&gt;dax: remove VM_MIXEDMAP for fsdax and device dax&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b7751410c180a05fdc21268f8661b1480169b0df"




 target="_blank"
 


&gt;device-dax: avoid hang on error before devm_memremap_pages()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e0b401e3fef0f81fd87434793db1adb0d7568058"




 target="_blank"
 


&gt;dax/super: Do not request a pointer kaddr when not required&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/35de299547d1c3300e078f9f7c6eb01dadae47f9"




 target="_blank"
 


&gt;device-dax: Set page-&amp;gt;index&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2232c6382a453db73d2e723df1b52030066e135e"




 target="_blank"
 


&gt;device-dax: Enable page_mapping()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/226ab561075f6f8f3cd5f7b3b7544f3997aab51f"




 target="_blank"
 


&gt;device-dax: Convert to vmf_insert_mixed and vm_fault_t&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4596f55476b5b861ca37e525460d2e43e90f1f2e"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-fixes-4.18-rc5&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5a14e91d559aee5bdb0e002e1153fd9c4338a29e"




 target="_blank"
 


&gt;dev-dax: check_vma: ratelimit dev_info-s&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/15256f6cc4b44f2e70503758150267fd2a53c0d6"




 target="_blank"
 


&gt;dax: check for QUEUE_FLAG_DAX in bdev_dax_supported()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7d3bf613e99abbd96ac7b90ee3694a246c975021"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.18&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/930218affeadd1325ea17e053f0dcecf218f5a4f"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.18/mcsafe&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b56845794e1e93121acb74ca325db965035d5545"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.18/dax&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/285767604576148fc1be7fcd112e4a90eb0d6ad2"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;overflow-v4.18-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/acafe7e30216166a17e6e226aadc3ecb63993242"




 target="_blank"
 


&gt;treewide: Use struct_size() for kmalloc()-family&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/808c340be17dc77131fcdf9ad1eb34452d650da1"




 target="_blank"
 


&gt;dax: Use dax_write_cache* helpers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/80660f20252d6f76c9f203874ad7c7a4a8508cf8"




 target="_blank"
 


&gt;dax: change bdev_dax_supported() to support boolean returns&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ba23cba9b3bdc967aabdc6ff1e3e9b11ce05bb4f"




 target="_blank"
 


&gt;fs: allow per-device dax status checking for filesystems&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b3a9a0c36e1f7b9e2e6cf965c2bb973624f2b3b9"




 target="_blank"
 


&gt;dax: Introduce a -&amp;gt;copy_to_iter dax operation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e7638488434415aa478e78435cac8f0365737638"




 target="_blank"
 


&gt;mm: introduce MEMORY_DEVICE_FS_DAX and CONFIG_DEV_PAGEMAP_OPS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ef8423022324cf79bd1b41d8707c766461e7e555"




 target="_blank"
 


&gt;device-dax: allow MAP_SYNC to succeed&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9f3a0941fb5efaa4d27911e251dc595034d58baa"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.17&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e13e75b86ef2f88e3a47d672dd4c52a293efb95b"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.17/dax&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c1d53b92b95c23909de11a97bcc51f26a9509231"




 target="_blank"
 


&gt;device-dax: implement -&amp;gt;pagesize() for smaps to report MMUPageSize&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2080e88aecd78773eacbe7d6b9d59968000ba55a"




 target="_blank"
 


&gt;dax: introduce CONFIG_DAX_DRIVER&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3fe0791c295cfd3cd735de7a32cc0780949c009f"




 target="_blank"
 


&gt;dax: store pfns in the radix&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d812b0d500040b8c7b9c7a93f29be0a010eb09d1"




 target="_blank"
 


&gt;device-dax: use module_nd_driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6daaca522ab464d32419aea61dd1b41dc1c71dba"




 target="_blank"
 


&gt;device-dax: remove redundant &lt;strong&gt;func&lt;/strong&gt; in dev_dbg&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9d4949b4935831be10534d5432bf611285a572a5"




 target="_blank"
 


&gt;dax: -&amp;gt;direct_access does not sleep anymore&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d121f07691415df824e6b60520f782f6d13b3c81"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.16/dax&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1c47a645ba48508dd641315ba01a949bea979e8e"




 target="_blank"
 


&gt;device-dax: Fix trailing semicolon&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/569d0365f571fa6421a5c80bc30d1b2cdab857fe"




 target="_blank"
 


&gt;dax: require &amp;lsquo;struct page&amp;rsquo; by default for filesystem dax&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e8d5134833006a46fcbefc5f4a84d0b62bd520e7"




 target="_blank"
 


&gt;memremap: change devm_memremap_pages interface to use struct dev_pagemap&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9702cffdbf2129516db679e4467db81e1cd287da"




 target="_blank"
 


&gt;device-dax: implement -&amp;gt;split() to catch invalid munmap attempts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a3841f94c7ecb3ede0f888d3fcfe8fb6368ddd7a"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.15&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4247f24c23589bcc3bc3490515ef8c9497e9ae55"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.15/dax&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9f586fff6574f6ecbf323f92d44ffaf0d96225fe"




 target="_blank"
 


&gt;dax: fix general protection fault in dax_alloc_inode&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6a21586a637e624ae736f94aeb0839f6a1dd0411"




 target="_blank"
 


&gt;dax: stop requiring a live device for dax_flush()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/66a86cc10945648cf506ef314b98deeb7af06419"




 target="_blank"
 


&gt;dax: quiet bdev_dax_supported()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b24413180f5600bcb3bb70fbed5cf186b60864bd"




 target="_blank"
 


&gt;License cleanup: add SPDX GPL-2.0 license identifier to files with no license&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0a3ff78699d1817e711441715d22665475466036"




 target="_blank"
 


&gt;dev/dax: fix uninitialized variable build warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d083e6dae083ba3576ee454d5cab4491d9c21ec5"




 target="_blank"
 


&gt;dax: pr_err() strings should end with newlines&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dff4d1f6fe85627b7ce8e4c5291d8621a1995605"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;for-4.14/dm-changes&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c3ca015fab6df124c933b91902f3f2a3473f9da5"




 target="_blank"
 


&gt;dax: remove the pmem_dax_ops-&amp;gt;flush abstraction&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/26f2f4de0bd93cbe891e11307d9e4906253bfda8"




 target="_blank"
 


&gt;dax: fix FS_DAX=n BLOCK=y compilation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/78f35473508118df5ea04b9515ac3f1aaec0a980"




 target="_blank"
 


&gt;dax: introduce a fs_dax_get_by_bdev() helper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1731a47444e7bf66d5cf9415bbd6ac5e3903d719"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;for-4.13/dm-fixes&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/273752c9ff03eb83856601b2a3458218bb949e46"




 target="_blank"
 


&gt;dm, dax: Make sure dm_dax_flush() is called if device supports it&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bbb3be170ac2891526ad07b18af7db226879a8e7"




 target="_blank"
 


&gt;device-dax: fix sysfs duplicate warnings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/43fe51e11c194a6576634585f81ba33e104194a5"




 target="_blank"
 


&gt;device-dax: fix &amp;lsquo;passing zero to ERR_PTR()&amp;rsquo; warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/088737f44bbf6378745f5b57b035e57ee3dc4750"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;for-linus-v4.13-2&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b6ffe9ba46016f8351896ccee33bebcd0e5ea7c0"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.13&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5660e13d2fd6af1903d4b0b98020af95ca2d638a"




 target="_blank"
 


&gt;fs: new infrastructure for writeback error handling and reporting&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6e0c90d691cd5d90569f5918ab03eb76c81f9c6e"




 target="_blank"
 


&gt;libnvdimm, pmem, dax: export a cache control attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9a60c3ef577beb0376704808949f2c1f8fb0672c"




 target="_blank"
 


&gt;dax: convert to bitmask for flags&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5d61e43b3975c0582003329d9de9d5e85abf5d33"




 target="_blank"
 


&gt;dax: remove default copy_from_iter fallback&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/abebfbe2f7315dd3ec9a0c69596a76e32beb5749"




 target="_blank"
 


&gt;dm: add -&amp;gt;flush() dax operation support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7e026c8c0a4200da86bc51edeaad79dcdccf78ca"




 target="_blank"
 


&gt;dm: add -&amp;gt;copy_from_iter() dax operation support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b9d39d17e4819ca2e69ad1f14acaad12240a1de5"




 target="_blank"
 


&gt;device-dax: fix &amp;lsquo;dax&amp;rsquo; device filesystem inode destruction crash&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9d109081c261d87fc84e0cce245796796ae4c460"




 target="_blank"
 


&gt;dax: fix false CONFIG_BLOCK dependency&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0fcc3ab23d7395f58e8ab0834e7913e2e4314a83"




 target="_blank"
 


&gt;Merge branch &amp;rsquo;libnvdimm-fixes&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cf1e22891bee39f50e058bee0827086fd75a8717"




 target="_blank"
 


&gt;device-dax: kill NR_DEV_DAX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ef51042472f55b325fd7f2b26a2e29fd89757234"




 target="_blank"
 


&gt;block, dax: move &amp;ldquo;select DAX&amp;rdquo; from BLOCK to FS_DAX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/74d71a01abef37f71d914f2105a4cb8712a2beb8"




 target="_blank"
 


&gt;device-dax: Tell kbuild DEV_DAX_PMEM depends on DEV_DAX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/53ef7d0e208fa38c3f63d287e0c3ab174f1e1235"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.12&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/736163671bcb163fc82600b46c83dfa89d532d95"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.12/dax&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/af82455f7dbd9dc20244d80d033721b30d22c065"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;char-misc-4.12-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d3b5d35290d729a2518af00feca867385a1b08fa"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;x86-mm-for-linus&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/565851c972b50612f3a4542e26879ffb3e906fc2"




 target="_blank"
 


&gt;device-dax: fix sysfs attribute deadlock&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/71389703839ebe9cb426c72d5f0bd549592e583c"




 target="_blank"
 


&gt;mm, zone_device: Replace {get, put}_zone_device_page() with a single reference to fix pmem crash&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b0686260fecaa924d8eff2ace94bee70506bc308"




 target="_blank"
 


&gt;dax: introduce dax_direct_access()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c1d6e828a35df524df2af277eedd1471d05e4f4c"




 target="_blank"
 


&gt;pmem: add dax_operations support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6568b08b77816cda2a95919c7494108d983d5941"




 target="_blank"
 


&gt;dax: introduce dax_operations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/72058005411ffddcae6c06f7b691d635489132af"




 target="_blank"
 


&gt;dax: add a facility to lookup a dax device by &amp;lsquo;host&amp;rsquo; device name&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7b6be8444e0f0dd675b54d059793423d3c9b4c03"




 target="_blank"
 


&gt;dax: refactor dax-fs into a generic provider of &amp;lsquo;struct dax_device&amp;rsquo; instances&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5f0694b300b9fb8409272c550418c22e0e57314a"




 target="_blank"
 


&gt;device-dax: rename &amp;lsquo;dax_dev&amp;rsquo; to &amp;lsquo;dev_dax&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/762026203c0b87b1088342b664e67ca7c45fb7c4"




 target="_blank"
 


&gt;device-dax: improve fault handler debug output&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/54eafcc9e339affb8982fd21e1fc4aa4a036655b"




 target="_blank"
 


&gt;device-dax: fix dax_dev_huge_fault() unknown fault size handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bfca9acf1a5df0ff98fbf47e363adb48612bb7ec"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.11/libnvdimm&amp;rsquo; into for-4.12/dax&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/efebc711180f7fed701f6e23f23814fcfda7fbfc"




 target="_blank"
 


&gt;device-dax, tools/testing/nvdimm: enable device-dax with mock resources&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/956a4cd2c957acf638ff29951aabaa9d8e92bbc2"




 target="_blank"
 


&gt;device-dax: switch to srcu, fix rcu_read_lock() vs pte allocation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/57c0eabbd57e1a0872122525f6eeefe1f6529c33"




 target="_blank"
 


&gt;Merge 4.11-rc4 into char-misc-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/92a3fa075d3d2716b9c662814540f1d660cbf2f5"




 target="_blank"
 


&gt;device-dax: utilize new cdev_device_add helper function&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ed01e50acdd3e4a640cf9ebd28a7e810c3ceca97"




 target="_blank"
 


&gt;device-dax: fix cdev leak&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/52084f89b38cdd896b59627c629915ef1a7bf615"




 target="_blank"
 


&gt;device-dax: fix debug output typo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/70b085b06c4560a69e95607f77bb4c2b2e41943c"




 target="_blank"
 


&gt;device-dax: fix pud fault fallback handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0134ed4fb9e78672ee9f7b18007114404c81e63f"




 target="_blank"
 


&gt;device-dax: fix pmd/pte fault fallback handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/50d34394cee68dd12c5e01fff073d1167700bfce"




 target="_blank"
 


&gt;sched/headers: Prepare to remove the &amp;lt;linux/magic.h&amp;gt; include from &amp;lt;linux/sched/task_stack.h&amp;gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c791ace1e747371658237f0d30234fef56c39669"




 target="_blank"
 


&gt;mm: replace FAULT_FLAG_SIZE with parameter to huge_fault&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9557feee39b75ceb502b4777e08706df1ddf10ed"




 target="_blank"
 


&gt;dax: support for transparent PUD pages for device DAX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a2d581675d485eb7188f521f36efc114639a3096"




 target="_blank"
 


&gt;mm,fs,dax: change -&amp;gt;pmd_fault to -&amp;gt;huge_fault&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/11bac80004499ea59f361ef2a5516c84b6eab675"




 target="_blank"
 


&gt;mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f42003917b4569a2f4f0c79c35e1e3df2859f81a"




 target="_blank"
 


&gt;mm, dax: change pmd_fault() to take only vmf parameter&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d8a849e1bc123790bbbf1facba94452a3aef5736"




 target="_blank"
 


&gt;mm, dax: make pmd_fault() and friends be the same as fault()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3be134e5152f08e8bd3c2afdaac723f64d93c2bb"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.10&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c44ef859ceff45db1c72f9ccbfae96843c4b1501"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.10/libnvdimm&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d7fe1a67f658b50ec98ee1afb86df7b35c2b2593"




 target="_blank"
 


&gt;dax: add region &amp;lsquo;id&amp;rsquo;, &amp;lsquo;size&amp;rsquo;, and &amp;lsquo;align&amp;rsquo; attributes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1a29d85eb0f19b7d8271923d8917d7b4f5540b3e"




 target="_blank"
 


&gt;mm: use vmf-&amp;gt;address instead of of vmf-&amp;gt;virtual_address&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/325896ffdf90f7cbd59fb873b7ba20d60d1ddf3c"




 target="_blank"
 


&gt;device-dax: fix private mapping restriction, permit read-only&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/450c6633e874c4d38112b39647831f67b41a8067"




 target="_blank"
 


&gt;libnvdimm: use consistent naming for request_mem_region()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4cb19355ea19995941ccaad115dbfac6b75215ca"




 target="_blank"
 


&gt;device-dax: fail all private mapping attempts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6a84fb4b4e439a8ef0ce19ec7e7661ad76f655c9"




 target="_blank"
 


&gt;device-dax: check devm_nsio_enable() return value&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/52e73eb2872c9af6f382b2b22954ca8214397a4e"




 target="_blank"
 


&gt;device-dax: fix percpu_ref_exit ordering&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/867dfe342118b1ea0256a85f7c0d9ceb0ead032a"




 target="_blank"
 


&gt;nvdimm: make CONFIG_NVDIMM_DAX &amp;lsquo;bool&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e476f94482fc20a23b7b33b3d8e50f1953f71828"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.9/dax&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bc0a0fe94f33dd15edf2ed555bfc4d6dbb5e1995"




 target="_blank"
 


&gt;dax: use correct dev_t value&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d76911ee933a64c9dfc453e580e7ad612b394e83"




 target="_blank"
 


&gt;dax: convert devm_create_dax_dev to PTR_ERR&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4c3cb6e9a9d94d1553807854a565cd27ff4c22aa"




 target="_blank"
 


&gt;dax: fix mapping size check&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d0e5845561c238619de9f5b77e0d763f4c331ca5"




 target="_blank"
 


&gt;dax: fix device-dax region base&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9d2d01a031a945075d4609b1c4d3c73f10ba61e7"




 target="_blank"
 


&gt;dax: check resource alignment at dax region/device create&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9dc1e4927bfabaf654738c9ecca3a4926a0aaeb5"




 target="_blank"
 


&gt;dax: unmap/truncate on device shutdown&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3bc52c45bac26bf7ed1dc8d287ad1aeaed1250b6"




 target="_blank"
 


&gt;dax: define a unified inode/address_space for device-dax mappings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ba09c01d2fa866f22e42ac2af405fe386f491879"




 target="_blank"
 


&gt;dax: convert to the cdev api&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ebd84d724c85f22037a5c9cb04b9e6631309cb78"




 target="_blank"
 


&gt;dax: embed a struct device in dax_dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/af69f51e506f5ad3625c817ba2449a439bbe68ef"




 target="_blank"
 


&gt;dax: rename fops from dax_dev_ to dax_&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/043a9255021bad498e31365d104d33915b6a6e33"




 target="_blank"
 


&gt;dax: reorder dax_fops function definitions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ccdb07f62986968ecd687a71550ed187c8cf875c"




 target="_blank"
 


&gt;dax: cleanup needlessly global symbol warnings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d1c8e0c521c111f387a17096a17e49af5dea4aa9"




 target="_blank"
 


&gt;dax: use devm_add_action_or_reset()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dee410792419aaa8bc3e3b35d2ccb6515835916d"




 target="_blank"
 


&gt;/dev/dax, core: file operations and dax-mmap&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ab68f26221366f92611650e8470e6a926801c7d4"




 target="_blank"
 


&gt;/dev/dax, pmem: direct access to persistent memory&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Building NDCTL Utilities from Source: A Comprehensive Guide</title><link>https://stevescargall.com/blog/2025/03/building-ndctl-utilities-from-source-a-comprehensive-guide/</link><pubDate>Sat, 22 Mar 2025 12:28:00 +0000</pubDate><guid>https://stevescargall.com/blog/2025/03/building-ndctl-utilities-from-source-a-comprehensive-guide/</guid><description>&lt;p&gt;&lt;strong&gt;Building NDCTL with Meson on Ubuntu 24.04&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://github.com/pmem/ndctl"




 target="_blank"
 


&gt;NDCTL&lt;/a&gt;
 package includes the &lt;code&gt;cxl&lt;/code&gt;, &lt;code&gt;daxctl&lt;/code&gt;, and &lt;code&gt;ndctl&lt;/code&gt; utilities. It uses the Meson build system for streamlined compilation. This guide reflects the modern build process for managing NVDIMMs, CXL, and PMEM on Ubuntu 24.04.&lt;/p&gt;
&lt;p&gt;If you do not install a more recent Kernel than the one provided by the distro, then it is not recommended to compile these utilities from source code. If you have installed a mainline Kernel, then you will likely require a newer version of these utilities that are compatible with your Kernel. See the &lt;a href="https://github.com/pmem/ndctl/releases"




 target="_blank"
 


&gt;NDCTL Releases&lt;/a&gt;
 as the Kernel support information is provided there.&lt;/p&gt;</description></item><item><title>Linux Kernel 6.13 is Released: This is What's New for Compute Express Link (CXL)</title><link>https://stevescargall.com/blog/2025/01/linux-kernel-6.13-is-released-this-is-whats-new-for-compute-express-link-cxl/</link><pubDate>Mon, 20 Jan 2025 00:00:00 +0000</pubDate><guid>https://stevescargall.com/blog/2025/01/linux-kernel-6.13-is-released-this-is-whats-new-for-compute-express-link-cxl/</guid><description>&lt;p&gt;The Linux Kernel 6.13 release brings several improvements and additions related to Compute Express Link (CXL) technology.&lt;/p&gt;
&lt;h2 id="cxl-related-changes-from-kernel-v612-to-v613"&gt;CXL related changes from Kernel v6.12 to v6.13:&lt;/h2&gt;
&lt;p&gt;Here is the detailed list of all commits merged into the 6.13 Kernel for CXL and DAX. This list was generated by the &lt;a href="https://github.com/sscargal/linux-cxl-tracker"




 target="_blank"
 


&gt;Linux Kernel CXL Feature Tracker&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;CXL related changes from Kernel v6.12 to v6.13:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/76467a94810c2aa4dd3096903291ac6df30c399e"




 target="_blank"
 


&gt;cxl/region: Fix region creation for greater than x2 switches&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/09ceba3a93450b652ae6910b6f65be99885f4437"




 target="_blank"
 


&gt;cxl/pci: Check dport-&amp;gt;regs.rcd_pcie_cap availability before accessing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/da4d8c83358163df9a4addaeba0ef8bcb03b22e8"




 target="_blank"
 


&gt;cxl/pci: Fix potential bogus return value upon successful probing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cdd30ebb1b9f36159d66f088b61aee264e649d7a"




 target="_blank"
 


&gt;module: Convert symbol namespace to string literal&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/55cb93fd243bad2c6e15f9151a32f575d2f5371f"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;driver-core-6.13-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/563cb0b1e736853cfc78956b9de362d2aae74887"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-6.13&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a83383e2ae7c499ff7b318945d9b2fe4e3006c2c"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;cxl/for-6.13/dcd-prep&amp;rsquo; into cxl-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a90326c76bd684bdf0a4f2842ff987ad5c77ff11"




 target="_blank"
 


&gt;cxl/region: Refactor common create region code&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/27fcfb416827b9e549d821317a9bd21d1abe6821"




 target="_blank"
 


&gt;cxl/hdm: Use guard() in cxl_dpa_set_mode()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0f6f0d687adcb4747e71f2a797acc9a739d71778"




 target="_blank"
 


&gt;cxl/pci: Delay event buffer allocation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b626816fdd7f9beb841856ba049396cff46e99aa"




 target="_blank"
 


&gt;sysfs: treewide: constify attribute callback of bin_is_visible()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/86bcd81d66d63c549e98c9c502ccd3be01a52fe2"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;cxl/for-6.12/printf&amp;rsquo; into cxl-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bdd7c35fc59f391de5a1d93ca7cbc715bf8c015c"




 target="_blank"
 


&gt;cxl/cdat: Use %pra for dpa range outputs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9474d586819940f00a98dd98015fe456f9b35452"




 target="_blank"
 


&gt;cxl: downgrade a warning message to debug level in cxl_probe_component_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c5eaec79fa43e994ec54c11538dc603d60cd0c4e"




 target="_blank"
 


&gt;cxl/pci: Add sysfs attribute for CXL 1.1 device link status&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7a01213d6c18d97c2f98455bb22c8416f8cca28b"




 target="_blank"
 


&gt;cxl/core/regs: Add rcd_pcie_cap initialization&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/105b6235ad0f24f271aef17f8865186c4546cb3a"




 target="_blank"
 


&gt;cxl/port: Prevent out-of-order decoder allocation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/101c268bd2f37e965a5468353e62d154db38838e"




 target="_blank"
 


&gt;cxl/port: Fix use-after-free, permit out-of-order decoder shutdown&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/48f62d38a07d464a499fa834638afcfd2b68f852"




 target="_blank"
 


&gt;cxl/acpi: Ensure ports ready at cxl_acpi_probe() return&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3d6ebf16438de5d712030fefbb4182b46373d677"




 target="_blank"
 


&gt;cxl/port: Fix cxl_bus_rescan() vs bus_rescan_devices()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6575b268157f37929948a8d1f3bafb3d7c055bc1"




 target="_blank"
 


&gt;cxl/port: Fix CXL port initialization order when the subsystem is built-in&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/53ab8678e7180834be29cf56cd52825fc3427c02"




 target="_blank"
 


&gt;cxl/events: Fix Trace DRAM Event Record&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cce3cd647721dc30273f0546852b5c26820eb715"




 target="_blank"
 


&gt;cxl/core: Return error when cxl_endpoint_gather_bandwidth() handles a non-PCI device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5f60d5f6bbc12e782fac78110b0ee62698f3b576"




 target="_blank"
 


&gt;move asm/unaligned.h to linux/unaligned.h&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/033af36def3e8676b344f4b4817b5ad81ed22aa7"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-6.12&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a5ab0de0ebaa65e0a75ec0761a2745c66a9d17dc"




 target="_blank"
 


&gt;cxl: Calculate region bandwidth of targets with shared upstream link&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e91be3ed30d79ccd3e87e3970a26dea844c04919"




 target="_blank"
 


&gt;cxl: Preserve the CDAT access_coordinate for an endpoint&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/423c9baae4c7fe73d5812e28610418fd2e8050bd"




 target="_blank"
 


&gt;cxl: Fix comment regarding cxl_query_cmd() return data&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b5209da36b19b573cf25fe7e698e3a45b0f40a75"




 target="_blank"
 


&gt;cxl: Convert cxl_internal_send_cmd() to use &amp;lsquo;struct cxl_mailbox&amp;rsquo; as input&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8d8081cecfb9940beeb4a8a700db34e615a96056"




 target="_blank"
 


&gt;cxl: Move mailbox related bits to the same context&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/40a895fd9a358eea16901026360bd2cd3ca691a7"




 target="_blank"
 


&gt;cxl: move cxl headers to new include/cxl/ directory&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d9a476c837fab38856c6b6ff9f794c33907a9f81"




 target="_blank"
 


&gt;cxl/region: Remove lock from memory notifier callback&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3f9e07531778ce66e0100d93f482e9a299d10d8d"




 target="_blank"
 


&gt;cxl/pci: simplify the check of mem_enabled in cxl_hdm_decode_init()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/99bf0eebc75c9085440d6dca014724e7e49b5116"




 target="_blank"
 


&gt;cxl/pci: Check Mem_info_valid bit for each applicable DVSEC&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5c6e3d5a5da118be2ae074bd70d111994147c708"




 target="_blank"
 


&gt;cxl/pci: Remove duplicated implementation of waiting for memory_info_valid&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/55e268694e8b07026c88191f9b6949b6887d9ce3"




 target="_blank"
 


&gt;cxl/pci: Fix to record only non-zero ranges&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1b5695b02444660297cc54cab44f123ff28de2cc"




 target="_blank"
 


&gt;mm: make range-to-target_node lookup facility a part of numa_memblks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d75ccd4f2ea2aa2679e6c807d76953dcd3f9d56d"




 target="_blank"
 


&gt;cxl/pci: Remove duplicate host_bridge-&amp;gt;native_aer checking&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c8706cc15a5814becacff778017bbcc5c031490a"




 target="_blank"
 


&gt;cxl/pci: cxl_dport_map_rch_aer() cleanup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/577a67662ff529f617981fe9692ff277b5756402"




 target="_blank"
 


&gt;cxl/pci: Rename cxl_setup_parent_dport() and cxl_dport_map_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/91c0e9d6a205ab0e318dc0dc6e72cbbdb21f8094"




 target="_blank"
 


&gt;cxl/port: Refactor __devm_cxl_add_port() to drop goto pattern&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7f569e917b7866b6760e2cfc3a9549cabc890071"




 target="_blank"
 


&gt;cxl/port: Use scoped_guard()/guard() to drop device_lock() for cxl_port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dd2617ebd2a69c012001a29274557199409eff39"




 target="_blank"
 


&gt;cxl/port: Use __free() to drop put_device() for cxl_port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fa724cd747cdc347cde0d2ef6ba4ee34344f72cb"




 target="_blank"
 


&gt;cxl: Remove duplicate included header file core.h&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1f9651bfc51326fbed10df820c4e80f885f921d8"




 target="_blank"
 


&gt;cxl/port: Convert to use ERR_CAST()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8c251c5ab1b7cd204231e4ee936bfe078a33f234"




 target="_blank"
 


&gt;cxl/pci: Get AER capability address from RCRB only for RCH dport&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e62f81bbd24db746c9b1aa29e7b6423211262ac4"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-6.11&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c2a96b7f187fb6a455836d4a6e113947ff11de97"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;driver-core-6.11-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a0328b397f3339d8d17a6ec356e94b3c110b010c"




 target="_blank"
 


&gt;cxl/core/pci: Move reading of control register to immediately before usage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/56478475560bde71dd3ef944b5013900272db273"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.11/xor_fixes&amp;rsquo; into cxl-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8f55ada796565ce801418bf579f31a6a522d0337"




 target="_blank"
 


&gt;cxl: Remove defunct code calculating host bridge target positions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/82a3e3a235633aa0575fac9507d648dd80f3437f"




 target="_blank"
 


&gt;cxl/region: Verify target positions using the ordered target list&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3b2fedcd75e3991e77c2a8c3ebcab0ea68b2d69d"




 target="_blank"
 


&gt;cxl: Restore XOR&amp;rsquo;d position bits during address translation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9aa5f6235e16ac6fceed789a30e72addf1abd7d8"




 target="_blank"
 


&gt;cxl/core: Fold cxl_trace_hpa() into cxl_dpa_to_hpa()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/591209c79844c1ecbee79e6b5a019e5b61eab8d3"




 target="_blank"
 


&gt;cxl/memdev: Replace ENXIO with EBUSY for inject poison limit reached&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bebfbbaffccfb69126c5a6a1d41cd868b6419370"




 target="_blank"
 


&gt;cxl/acpi: Warn on mixed CXL VH and RCH/RCD Hierarchy&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8ecef8e01a08c7e3e4ffc8f08d9f9663984f334b"




 target="_blank"
 


&gt;cxl/core: Fix incorrect vendor debug UUID define&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d69d804845985c29ab5be5a4b3b1f4787893daf8"




 target="_blank"
 


&gt;driver core: have match() callback in struct bus_type take a const *&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f3d70720e92c24c22e0e63c2588636edba33eb1a"




 target="_blank"
 


&gt;cxl/region: Simplify cxl_region_nid()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/643e8e3e65290fdfe507bb23fa524c77e1345af3"




 target="_blank"
 


&gt;cxl/region: Support to calculate memory tier abstract distance&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a3483ee7e6a7f2d12b5950246f4e0ef94f4a5df0"




 target="_blank"
 


&gt;cxl/region: Fix a race condition in memory hotplug notifier&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a0caa19711ceb54c34368f66a746844fb03fde6c"




 target="_blank"
 


&gt;cxl: add missing MODULE_DESCRIPTION() macros&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/675e979db473d08be346a3190c5f0db095a57153"




 target="_blank"
 


&gt;cxl/events: Use a common struct for DRAM and General Media events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a0f39d51dbf72c28283bd201b97559ed82bc0fe5"




 target="_blank"
 


&gt;cxl: documentation: add missing files to cxl driver-api&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/84328c5acebc10c8cdcf17283ab6c6d548885bfc"




 target="_blank"
 


&gt;cxl/region: check interleave capability&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/285f2a08841432fc3e498b1cd00cce5216cdf189"




 target="_blank"
 


&gt;cxl/region: Avoid null pointer dereference in region lookup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/84ec985944ef34a34a1605b93ce401aa8737af96"




 target="_blank"
 


&gt;cxl/mem: Fix no cxl_nvd during pmem region auto-assembling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/49ba7b515c4c0719b866d16f068e62d16a8a3dd1"




 target="_blank"
 


&gt;cxl/region: Fix memregion leaks in devm_cxl_add_region()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2c92ca849fcc6ee7d0c358e9959abc9f58661aea"




 target="_blank"
 


&gt;tracing/treewide: Remove second parameter of __assign_str()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f0bae243b2bcf2b160ae547463bf542762beef8f"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;pci-v6.10-changes&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2e9250022e9f2c9cde3b98fd26dcad1c2a9aedf3"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-6.10&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/934edcd436dca0447e0d3691a908394ba16d06c3"




 target="_blank"
 


&gt;cxl: Add post-reset warning if reset results in loss of previously committed HDM decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/962f1e79e7acfb30207a378894b1bbf6742e6212"




 target="_blank"
 


&gt;PCI/CXL: Move CXL Vendor ID to pci_ids.h&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/df2a8f4b444f92152a9e981d9b0eb0776130892a"




 target="_blank"
 


&gt;Merge remote-tracking branch &amp;lsquo;cxl/for-6.10/cper&amp;rsquo; into cxl-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c19ac30eda3a1d14d4883de0ea214b6c5c96a9b4"




 target="_blank"
 


&gt;cxl/pci: Process CPER events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d357dd8ad2f154376e5cb930284e7bf4fe21ffaa"




 target="_blank"
 


&gt;cxl/region: Convert cxl_pmem_region_alloc to scope-based resource management&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e4ff70a8e3352f71b5db52c752a9417402a098c8"




 target="_blank"
 


&gt;cxl/acpi: Cleanup __cxl_parse_cfmws()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1c987cf22d6b65ade46145c03eef13f0e3e81d83"




 target="_blank"
 


&gt;cxl/region: Fix cxlr_pmem leaks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/660c0a8679e57e9147c27962605e8f94bd520b5e"




 target="_blank"
 


&gt;Merge remote-tracking branch &amp;lsquo;cxl/for-6.10/dpa-to-hpa&amp;rsquo; into cxl-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6aec00139d3a83e2394d4bcb0084e872b4036e8f"




 target="_blank"
 


&gt;cxl/core: Add region info to cxl_general_media and cxl_dram events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/86954ff5032d9d60a5458334001ab3ae3b2c45e8"




 target="_blank"
 


&gt;cxl/region: Move cxl_trace_hpa() work to the region driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b98d042698a32518c93e47730e9ad86b387a9c21"




 target="_blank"
 


&gt;cxl/region: Move cxl_dpa_to_region() work to the region driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2042d11cb57b7e0cbda7910e5ff80e9e8bf0ae17"




 target="_blank"
 


&gt;cxl/trace: Correct DPA field masks for general_media &amp;amp; dram events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/db4fdb73f9835cab1e21c901e59d17fad32a0369"




 target="_blank"
 


&gt;Merge remote-tracking branch &amp;lsquo;cxl/for-6.10/add-log-mbox-cmds&amp;rsquo; into cxl-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6ef37af6f465127d7a81d7d2efa228f91d725bf8"




 target="_blank"
 


&gt;cxl/hdm: Debug, use decoder name function&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4cce9c6d4bde821c21f7bd75c26f1e98a00d3858"




 target="_blank"
 


&gt;cxl: Fix use of phys_to_target_node() for x86&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4afaed94bc2f635fa03ea1c2cdb9c5bf1ef9bd9b"




 target="_blank"
 


&gt;cxl/hdm: dev_warn() on unsupported mixed mode decoder&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/54e8dd59a76c031317eef61fef93f01d4e76fd3e"




 target="_blank"
 


&gt;cxl/hdm: Add debug message for invalid interleave granularity&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3381586a40b93d04cf311ba6ccc9858bee5d2fa2"




 target="_blank"
 


&gt;cxl: Fix compile warning for cxl_security_ops extern&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/206f9fa9d55592c8cea0ccf84a5242b7c7cf3748"




 target="_blank"
 


&gt;cxl/mbox: Add Clear Log mailbox command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/940325add1c54e3018277d6d783ec419262729e8"




 target="_blank"
 


&gt;cxl/mbox: Add Get Log Capabilities and Get Supported Logs Sub-List commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5d211c7090590033581175d6405ae40917ca3a06"




 target="_blank"
 


&gt;cxl: Fix cxl_endpoint_get_perf_coordinate() support for RCH&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4b759dd5765503bd466defac7d93aca14c23a15d"




 target="_blank"
 


&gt;cxl/core: Fix potential payload size confusion in cxl_mem_get_poison()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/586b5dfb51b962c1b6c06495715e4c4f76a7fc5a"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-fixes-6.9-rc4&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7bcf809b1e7889ab7e75fe1fcf8f1a98332f36d2"




 target="_blank"
 


&gt;cxl: Add checks to access_coordinate calculation to fail missing data&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/001c5d19341a39cb683ab0a18ce4b662a09d96a0"




 target="_blank"
 


&gt;cxl: Consolidate dport access_coordinate -&amp;gt;hb_coord and -&amp;gt;sw_coord into -&amp;gt;coord&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/51293c565cf4b8d57c154efadb57b17866c74bcb"




 target="_blank"
 


&gt;cxl: Fix incorrect region perf data calculation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/592780b8391fe31f129ef4823c1513528f4dcb76"




 target="_blank"
 


&gt;cxl: Fix retrieving of access_coordinates in PCIe path&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/648dae58a830ecceea3b1bebf68432435980f137"




 target="_blank"
 


&gt;cxl: Remove checking of iter in cxl_endpoint_get_perf_coordinates()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f7c52345ccc96343c0a05bdea3121c8ac7b67d5f"




 target="_blank"
 


&gt;cxl/core: Fix initialization of mbox_cmd.size_out in get event&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5c88a9ccd4c431d58b532e4158b6999a8350062c"




 target="_blank"
 


&gt;cxl/core/regs: Fix usage of map-&amp;gt;reg_type in cxl_decode_regblock() before assigned&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b7c59b038c656214f56432867056997c2e0fc268"




 target="_blank"
 


&gt;cxl/mem: Fix for the index of Clear Event Record Handle&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a46aba14cf8f35b13d8846217740da9935403b2a"




 target="_blank"
 


&gt;cxl: remove CONFIG_CXL_PMU entry in drivers/cxl/Kconfig&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ad584d73a22b2f6e6b4c928956fdece5c44cdb3e"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;trace-v6.9-2&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6c871260965255a1c142fb77ccee58b172d1690b"




 target="_blank"
 


&gt;cxl/trace: Properly initialize cxl_poison region name&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/88482878c3b4abc2a6e66e016cc01eacbdc5b0ed"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.9/cxl-fixes&amp;rsquo; into for-6.9/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/75f4d93ee8faf08546f3cc4c3d96c866b24358c8"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.9/cxl-einj&amp;rsquo; into for-6.9/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d5c0078033e2adf30e897d985fd29084ecb56b51"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.9/cxl-qos&amp;rsquo; into for-6.9/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c6c3187d66bc4e87086036266def4170742d7214"




 target="_blank"
 


&gt;lib/firmware_table: Provide buffer length argument to cdat_table_parse()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e0c818e00443ce4a704519d85a21e3c14179e3a6"




 target="_blank"
 


&gt;cxl/pci: Get rid of pointer arithmetic reading CDAT table&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ec8ffff3a9f86435996f71299ce729126a7ac8a2"




 target="_blank"
 


&gt;cxl/pci: Rename DOE mailbox handle to doe_mb&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/99b52aac2d40203d0f6468325018f68e2c494c24"




 target="_blank"
 


&gt;cxl: Fix the incorrect assignment of SSLBIS entry pointer initial location&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8039804cfa7314ad50085a779923aa5469889f88"




 target="_blank"
 


&gt;cxl/core: Add CXL EINJ debugfs files&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/debdce20c4f28b7e5aa48512e7abf270a00e9051"




 target="_blank"
 


&gt;cxl/region: Deal with numa nodes not enumerated by SRAT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/067353a46d8ccdac279ebab97c038c3658e97541"




 target="_blank"
 


&gt;cxl/region: Add memory hotplug notifier for cxl region&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c20eaf44113eac090b0d77fa2036143a836b9f56"




 target="_blank"
 


&gt;cxl/region: Add sysfs attribute for locality attributes of CXL regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3d9f4a197230d6f4d5f816bcae0e0497b0eec410"




 target="_blank"
 


&gt;cxl/region: Calculate performance data for a region&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3d8be8b398e3d315200d6c139f0166fe5f1bd576"




 target="_blank"
 


&gt;cxl: Set cxlmd-&amp;gt;endpoint before adding port device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6ef83c4e19e9ce20a05127eec8a10911cf3516a7"




 target="_blank"
 


&gt;cxl: Move QoS class to be calculated from the nearest CPU&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/863027d40993f13155451bd898bfe4c4e9b7002f"




 target="_blank"
 


&gt;cxl: Split out host bridge access coordinates&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/032f7b37adff6985e22516053698b77131c2ce96"




 target="_blank"
 


&gt;cxl: Split out combine_coordinates() for common shared usage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bd98cbbbf82a3086423865816e1b5ab4bb4b6c60"




 target="_blank"
 


&gt;ACPI: HMAT / cxl: Add retrieval of generic port coordinates for both access classes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5c6224bfabbf7f3e491c51ab50fd2c6f92ba1141"




 target="_blank"
 


&gt;cxl/acpi: Fix load failures due to single window creation failure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/40de53fd002c6ba087a623722915e8006ed68a02"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.8/cxl-cper&amp;rsquo; into for-6.8/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f3e6b3ae9cfc128af11b665c6ef4022ba2683778"




 target="_blank"
 


&gt;acpi/ghes: Remove CXL CPER notifications&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0cab687205986491302cd2e440ef1d253031c221"




 target="_blank"
 


&gt;cxl/pci: Fix disabling memory if DVSEC CXL Range does not match a CFMWS window&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cc214417f06f6b0a8f6da09220c8bcdb742210b9"




 target="_blank"
 


&gt;cxl: Fix sysfs export of qos_class for memdev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/10cb393d769bed9473e1fa8d34e4d6d389db9155"




 target="_blank"
 


&gt;cxl: Remove unnecessary type cast in cxl_qos_class_verify()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/00413c15068276f6e5a50215849a8d4bd812b443"




 target="_blank"
 


&gt;cxl: Change &amp;lsquo;struct cxl_memdev_state&amp;rsquo; *_perf_list to single &amp;lsquo;struct cxl_dpa_perf&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cb66b1d60c283bb340a2fc19deff7de8acea74b1"




 target="_blank"
 


&gt;cxl/region: Allow out of order assembly of autodiscovered regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/453a7fde8031a5192ed2f9646ad048c1a5e930dc"




 target="_blank"
 


&gt;cxl/region: Handle endpoint decoders in cxl_region_find_decoder()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e6f39a90de9213693db19aeb2ddea54163f104d7"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;efi-fixes-for-v6.8-1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dbea519d6878c298dd0f48e6ec2dbacebe4bbb2a"




 target="_blank"
 


&gt;cxl/trace: Remove unnecessary memcpy&amp;rsquo;s&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/eef5c7b28dbecd6b141987a96db6c54e49828102"




 target="_blank"
 


&gt;cxl/pci: Skip to handle RAS errors if CXL.mem device is detached&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d76779dd3681c01a4c6c3cae4d0627c9083e0ee6"




 target="_blank"
 


&gt;cxl/region：Fix overflow issue in alloc_hpa()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d72a4caf685989e353dff0a97d7376ee10edbf87"




 target="_blank"
 


&gt;cxl/pci: Skip irq features if MSI/MSI-X are not supported&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/73bf93edeeea866b0b6efbc8d2595bdaaba7f1a5"




 target="_blank"
 


&gt;cxl/core: use sysfs_emit() for attr&amp;rsquo;s _show()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3601311593eb44d34f142b993cb6f38f9a7863b3"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.8/cxl-cper&amp;rsquo; into for-6.8/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dc97f6344f205b0dfa144e1b3e16d6dc05383d57"




 target="_blank"
 


&gt;cxl/pci: Register for and process CPER events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f9c683386f5bc0364615138ce2b14be50848dbcf"




 target="_blank"
 


&gt;cxl/events: Create a CXL event union&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6eade110754c085cee9e46f4d87d2c3ea4e59e8c"




 target="_blank"
 


&gt;cxl/events: Separate UUID from event structures&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/207a1f82301de0b4123f00a8d26ea55bb2484757"




 target="_blank"
 


&gt;cxl/events: Remove passing a UUID to known event traces&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4c115c9c1f81a6efe2bd68fcefec6836f7f3dc71"




 target="_blank"
 


&gt;cxl/events: Create common event UUID defines&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e16bf7e015d75fdd805528bedaf285fcb71dad2a"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.7/cxl&amp;rsquo; into for-6.8/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/80dda9a69a487c72ded1ac69234c8a89d5922b04"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.8/cxl-misc&amp;rsquo; into for-6.8/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d3953c78fc78d37f1b795740632ec7c3d83ef98a"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.8/cxl-cdat&amp;rsquo; into for-6.8/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/26a1a86dd093a10d0653429bf013dae6e95dccbf"




 target="_blank"
 


&gt;cxl/events: Promote CXL event structures to a core header&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/321dd36c286b3f982b341ce9a273b0f66f0e00ed"




 target="_blank"
 


&gt;cxl: Refactor to use __free() for cxl_root allocation in cxl_endpoint_port_probe()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/66f11890d35a609012037cccfd9e63ed98474f99"




 target="_blank"
 


&gt;cxl: Refactor to use __free() for cxl_root allocation in cxl_find_nvdimm_bridge()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/98e7ab3345e105339b7d919b4918f3c1879052ed"




 target="_blank"
 


&gt;cxl: Fix device reference leak in cxl_port_perf_data_calculate()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/44cd71ef7bacdfcf7c3e8a7b13f11a7eba69533d"




 target="_blank"
 


&gt;cxl: Convert find_cxl_root() to return a &amp;lsquo;struct cxl_root *&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/98856b2ea3065d8f60e90f423d7707f4a4706ec5"




 target="_blank"
 


&gt;cxl: Introduce put_cxl_root() helper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5459e186a5c9f412334321cff58d70dcb0e48a04"




 target="_blank"
 


&gt;cxl/port: Fix missing target list lock&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d6488fee66472b468ed88d265b14aa3f04dc3bdf"




 target="_blank"
 


&gt;cxl/port: Fix decoder initialization when nr_targets &amp;gt; interleave_ways&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c7ad3dc3649730af483ee1e78be5d0362da25bfe"




 target="_blank"
 


&gt;cxl/region: fix x9 interleave typo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6d0fc416c42a98b39a74151376928d577873941c"




 target="_blank"
 


&gt;cxl/trace: Pass UUID explicitly to event traces&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/11c83932028714014e4259072bd230473d6db730"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.8/cxl-cdat&amp;rsquo; into for-6.8/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/58f1e9d3a30438042fc9ed65b3dc56b2e5f7886a"




 target="_blank"
 


&gt;cxl/region: use %pap format to print resource_size_t&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7984d22f1315bf30433e11e5010e4ce09ca22037"




 target="_blank"
 


&gt;cxl/region: Add dev_dbg() detail on failure to allocate HPA space&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/185c1a489f873cb71520fc089401e02dbf302dcd"




 target="_blank"
 


&gt;cxl: Check qos_class validity on memdev probe&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/42834b17cf1f00fa79ff1f02134f9c576a125252"




 target="_blank"
 


&gt;cxl: Export sysfs attributes for memory device QoS class&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/86557b7edf77d2a3835136c325c8baa6fe803234"




 target="_blank"
 


&gt;cxl: Store QTG IDs and related info to the CXL memory device context&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7a4f148dd8d518bc1e012aa738b0ed6244959293"




 target="_blank"
 


&gt;cxl: Compute the entire CXL path latency and bandwidth data&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/14a6960b3e928ccea22d687fb0626237885a20bd"




 target="_blank"
 


&gt;cxl: Add helper function that calculate performance data for downstream ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1037b82fccfe9c001ffa7a883651bb4cde7b705c"




 target="_blank"
 


&gt;cxl: Store the access coordinates for the generic ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4d07a05397c8c15c37c8c3abb7afaea1dcd2f0e7"




 target="_blank"
 


&gt;cxl: Calculate and store PCI link latency for the downstream ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/790815902ec61ba1715fd67d3cb9036e13c942bc"




 target="_blank"
 


&gt;cxl: Add support for _DSM Function for retrieving QTG ID&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/80aa780dda20618be76162bf991d49cf962fda38"




 target="_blank"
 


&gt;cxl: Add callback to parse the SSLBIS subtable from CDAT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/63cef81b9dca6ddf1c34d697016f830ddcfadf28"




 target="_blank"
 


&gt;cxl: Add callback to parse the DSLBIS subtable from CDAT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ad6f04c0269b0b7908f09621d3b3c90def39a297"




 target="_blank"
 


&gt;cxl: Add callback to parse the DSMAS subtables from CDAT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ace196de694ebea5e2b3161e21ad169eb45accc6"




 target="_blank"
 


&gt;cxl: Fix unregister_region() callback parameter assignment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ef3d5cf9c59cccb012aa6b93d99f4c6eb5d6648e"




 target="_blank"
 


&gt;cxl/pmu: Ensure put_device on pmu devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c65efe3685f5d150eeca5599afeabdc85da899d1"




 target="_blank"
 


&gt;cxl/cdat: Free correct buffer on checksum error&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6f5c4eca48ffe18307b4e1d375817691c9005c87"




 target="_blank"
 


&gt;cxl/hdm: Fix dpa translation locking&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cb46fca88d14939da2785567253d0a297f31be27"




 target="_blank"
 


&gt;cxl: Add Support for Get Timestamp&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0e33ac9c3ffe5e4f55c68345f44cea7fec2fe750"




 target="_blank"
 


&gt;cxl/memdev: Hold region_rwsem during inject and clear poison ops&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5558b92e8d39e18aa19619be2ee37274e9592528"




 target="_blank"
 


&gt;cxl/core: Always hold region_rwsem while reading poison lists&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/36a1c2ee50f573972aea3c3019555f47ee0094c0"




 target="_blank"
 


&gt;cxl/hdm: Fix a benign lockdep splat&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b3741ac86c8e648709506102f7ab51905d50df43"




 target="_blank"
 


&gt;cxl/pci: Change CXL AER support check to use native AER&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5d09c63f11f083707b60c8ea0bb420651c47740f"




 target="_blank"
 


&gt;cxl/hdm: Remove broken error path&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/69d56b15a7941680aba8c3175b165221ecdf54b6"




 target="_blank"
 


&gt;cxl/hdm: Fix &amp;amp;&amp;amp; vs || bug&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b3cfdbf6a062bcfb431153f92d6bc1ad20bfc687"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.7/cxl-commited&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/de5512b2a293863261c6b04c0c73ec0ec09ed550"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.7/cxl&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/624eda92abd47f35386028e4a54d423037a75d12"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.7/cxl-qtg&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7f946e6d830fbdf411cd0641314edf11831efc88"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.7/cxl-rch-eh&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8358e8f1596b0b23d3bbc4cf5df5e5e55afc0122"




 target="_blank"
 


&gt;cxl: Add support for reading CXL switch CDAT table&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/670e4e88f3b1a88a5a089be329b95c51592973ee"




 target="_blank"
 


&gt;cxl: Add checksum verification to CDAT from CXL&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/529c0a44045e59c3c067f1f2c5887759644c50ae"




 target="_blank"
 


&gt;cxl: Export QTG ids from CFMWS to sysfs as qos_class attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/05e37b2138a6deb1f23daf1282dc86b29968a1ab"




 target="_blank"
 


&gt;cxl: Add decoders_committed sysfs attribute to cxl_port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/458ba8189cb4380aa6a6cc4d52ab067f80a64829"




 target="_blank"
 


&gt;cxl: Add cxl_decoders_committed() helper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e8db0701605bccbeb8d7907ecd2e50f346a725bd"




 target="_blank"
 


&gt;cxl/core/regs: Rework cxl_map_pmu_regs() to use map-&amp;gt;dev for devm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d3970f006f084e5aab5091a865203899259e4d70"




 target="_blank"
 


&gt;cxl/core/regs: Rename phys_addr in cxl_map_component_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d1a9def33d7043df7445114cb89c0aa65818ae91"




 target="_blank"
 


&gt;cxl/pci: Disable root port interrupts in RCH mode&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6ac07883dbb5f60f7bc56a13b7a84a382aa9c1ab"




 target="_blank"
 


&gt;cxl/pci: Add RCH downstream port error logging&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6c5f3aacb2963d49a11d4f8accb1188db6a6404b"




 target="_blank"
 


&gt;cxl/pci: Map RCH downstream AER registers for logging protocol errors&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bf6c9fa846e2a0f7db2a2eabd52ad4f8d4335bcb"




 target="_blank"
 


&gt;cxl/pci: Update CXL error logging to use RAS register address&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6777877eb7a3290cf0a8a6b621e46f72f9d94b6b"




 target="_blank"
 


&gt;PCI/AER: Refactor cper_print_aer() for use by CXL driver module&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f05fd10d138d8ba795fcd72ace99e9c8eb7e777e"




 target="_blank"
 


&gt;cxl/pci: Add RCH downstream port AER register discovery&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a2fcb84a1978e4e855d632a07412030e99819cb8"




 target="_blank"
 


&gt;cxl/port: Remove Component Register base address from struct cxl_port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f611d98a003644f76ad8fea7c3ca786a8ca69aff"




 target="_blank"
 


&gt;cxl/pci: Remove Component Register base address from struct cxl_dev_state&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8ce520fdea245c9e17ebc0659973984362bc1fde"




 target="_blank"
 


&gt;cxl/hdm: Use stored Component Register mappings to map HDM decoder capability&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2dd18279202f6247904e6e23738c1ec6a86b24b1"




 target="_blank"
 


&gt;cxl/pci: Store the endpoint&amp;rsquo;s Component Register mappings in struct cxl_dev_state&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4d758764e7f9db83806135f3bfcff1ab64f16e60"




 target="_blank"
 


&gt;cxl/port: Pre-initialize component register mappings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d8add49263a98d766e5758dc2ec9f83c3b685c12"




 target="_blank"
 


&gt;cxl/port: Rename @comp_map to @reg_map in struct cxl_register_map&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/33d9c987bf8fb68a9292aba7cc4b1711fcb1be4d"




 target="_blank"
 


&gt;cxl/port: Fix @host confusion in cxl_dport_setup_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dd22581f89537163f065e8ef7c125ce0fddf62cc"




 target="_blank"
 


&gt;cxl/core/regs: Rename @dev to @host in struct cxl_register_map&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8d2ad999ca3c64cb08cf6a58d227b9d9e746d708"




 target="_blank"
 


&gt;cxl/port: Fix delete_endpoint() vs parent unregistration race&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/98a04c7aced2b43b3ac4befe216c4eecc7257d4b"




 target="_blank"
 


&gt;cxl/region: Fix x1 root-decoder granularity calculations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3531b27f1f04a6bc9c95cf00d40efe618d57aa93"




 target="_blank"
 


&gt;cxl/region: Fix cxl_region_rwsem lock held when returning to user space&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0cf36a85c1408f86a967fb1db721de1b89b9e675"




 target="_blank"
 


&gt;cxl/region: Use cxl_calc_interleave_pos() for auto-discovery&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a3e00c964fb943934af916f48f0dd43b5110c866"




 target="_blank"
 


&gt;cxl/region: Calculate a target position in a region interleave&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1110581412c7a223439bb3ecdcdd9f4432e08231"




 target="_blank"
 


&gt;cxl/region: Prepare the decoder match range helper for reuse&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9214c9d56c470b183f3d374c7aed7c8756f80fd9"




 target="_blank"
 


&gt;cxl/mbox: Remove useless cast in cxl_mem_create_range_info()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0718588c7aaa7a1510b4de972370535b61dddd0d"




 target="_blank"
 


&gt;cxl/region: Do not try to cleanup after cxl_region_setup_targets() fails&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/88d3917f82ed4215a2154432c26de1480a61b209"




 target="_blank"
 


&gt;cxl/mem: Fix shutdown order&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/339818380868e34ff2c482db05031bf47a67d609"




 target="_blank"
 


&gt;cxl/memdev: Fix sanitize vs decoder setup locking&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5f2da19714465739da2449253b13ac06cb353a26"




 target="_blank"
 


&gt;cxl/pci: Fix sanitize notifier setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f29a824b0b6710328a78b018de3c2cfa9db65876"




 target="_blank"
 


&gt;cxl/pci: Clarify devm host for memdev relative setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2627c995c15dc375f4b5a591d782a14b1c0e3e7d"




 target="_blank"
 


&gt;cxl/pci: Remove inconsistent usage of dev_err_probe()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/08b8a8c05423174e3ef4fb0bd514de20088cf5ac"




 target="_blank"
 


&gt;cxl/pci: Remove hardirq handler for cxl_request_irq()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e30a106558e7d1e06d1fcfd12466dc646673d03d"




 target="_blank"
 


&gt;cxl/pci: Cleanup &amp;lsquo;sanitize&amp;rsquo; to always poll&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/76fe8713dd0a1331d84d767e8e5d3f365d959e8a"




 target="_blank"
 


&gt;cxl/pci: Remove unnecessary device reference management in sanitize work&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c66650d29764e228eba40b7a59fdb70fa6567daa"




 target="_blank"
 


&gt;cxl/acpi: Annotate struct cxl_cxims_data with __counted_by&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a76b62518eb30ef59158fa777ab2e2a23e1334f9"




 target="_blank"
 


&gt;cxl/port: Fix cxl_test register enumeration regression&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1b27978d69670282a1586465de640cff363a34d8"




 target="_blank"
 


&gt;cxl/pci: Update comment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7914992b37d5a4b165e65a32a7723afde9356720"




 target="_blank"
 


&gt;cxl/port: Quiet warning messages from the cxl_test environment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/18f35dc9314db89e2d215951e5afa3e636b72baf"




 target="_blank"
 


&gt;cxl/region: Refactor granularity select in cxl_port_setup_targets()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9e4edf1a2196fa4bea6e8201f166785bd066446a"




 target="_blank"
 


&gt;cxl/region: Match auto-discovered region decoders by HPA range&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d2f706058826b803f5b9dc3f6d4c213ae0c54eb9"




 target="_blank"
 


&gt;cxl/mbox: Fix CEL logic for poison and security commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/55b8ff06a0c70e9a6a1696c69f52c0240167d23f"




 target="_blank"
 


&gt;cxl/pci: Replace host_bridge-&amp;gt;native_aer with pcie_aer_is_native()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0339dc39a521ead3dbcf101acd8c028c61db57dc"




 target="_blank"
 


&gt;cxl/pci: Fix appropriate checking for _OSC while handling CXL RAS registers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ad64f5952ce3ea565c7f76ec37ab41df0dde773a"




 target="_blank"
 


&gt;cxl/memdev: Only show sanitize sysfs files when supported&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3de8cd2242419fb0adaee629d488acfd6cd93c92"




 target="_blank"
 


&gt;cxl/memdev: Document security state in kern-doc&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/91019b5bc7c2c5e6f676cce80ee6d12b2753d018"




 target="_blank"
 


&gt;cxl/acpi: Return &amp;lsquo;rc&amp;rsquo; instead of &amp;lsquo;0&amp;rsquo; in cxl_parse_cfmws()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4cf67d3cc9994a59cf77bb9c0ccf9007fe916afe"




 target="_blank"
 


&gt;cxl/acpi: Fix a use-after-free in cxl_parse_cfmws()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/95c6bff72b02ca084be60c08503d563e506b733f"




 target="_blank"
 


&gt;cxl/mem: Fix a double shift bug&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9171dfcda4f26dc6ebfd8d50137c5f294c2060ee"




 target="_blank"
 


&gt;cxl: fix CONFIG_FW_LOADER dependency&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fe77cc2e5a6a7c85f5c6ef8a39d7694ffc7f41c9"




 target="_blank"
 


&gt;cxl: Fix one kernel-doc comment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/71baec7b8500c92f9723f39d06a7ae465483da1f"




 target="_blank"
 


&gt;cxl/pci: Use correct flag for sanitize polling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0c0df63177e37ae826d803280eb2c5b6b6a7a9a4"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.5/cxl-rch-eh&amp;rsquo; into for-6.5/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d2f9fe695313b1e50028c1ec4cd09bea67152a60"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.5/cxl-perf&amp;rsquo; into for-6.5/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5d7107c72796df3be2ba574f1cf6eca75c60d5ef"




 target="_blank"
 


&gt;perf: CXL Performance Monitoring Unit driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e2c18eb50c7bb191d1ebfed973c2ec3e0066ad37"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.5/cxl-region-fixes&amp;rsquo; into for-6.5/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/aeaefabc59ec3c7edd6d0ca7add7aff2ff6f59d0"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.5/cxl-type-2&amp;rsquo; into for-6.5/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/867eab655d3b38740d8d6c24705af25e0b1dbdb6"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.5/cxl-fwupd&amp;rsquo; into for-6.5/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dcfb70610d40704d929d824db36b1444c8f37f7a"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.5/cxl-background&amp;rsquo; into for-6.5/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9521875bbe0055805557fff0b08fd9a29d02b7bc"




 target="_blank"
 


&gt;cxl: add a firmware update mechanism using the sysfs firmware loader&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/180ffd338c35057c3e8521d55555ae3b36b67fa6"




 target="_blank"
 


&gt;cxl/mem: Support Secure Erase&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/48dcdbb16e5dc0947f949ce17bc2d09a625a0d5c"




 target="_blank"
 


&gt;cxl/mem: Wire up Sanitization support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0c36b6ad436a38b167af16e6c690c890b8b2df62"




 target="_blank"
 


&gt;cxl/mbox: Add sanitization handling machinery&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9968c9dd568e83f57fdc1f6127f8b369a0594991"




 target="_blank"
 


&gt;cxl/mem: Introduce security state sysfs file&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8ea9c33d48f20479e87b5fc3a97cd25e656d30dc"




 target="_blank"
 


&gt;cxl/mbox: Allow for IRQ_NONE case in the isr&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8f0220af58c3b73e9041377a23708d37600b33c1"




 target="_blank"
 


&gt;Revert &amp;ldquo;cxl/port: Enable the HDM decoder capability for switch ports&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/516b300c4ca86aa7953b75ce79b5c5eea5779b22"




 target="_blank"
 


&gt;cxl/memdev: Formalize endpoint port linkage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f3c8a37a432e65dda1384929198dd12c1df3ea38"




 target="_blank"
 


&gt;cxl/pci: Unconditionally unmask 256B Flit errors&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8c897b366cda9c7e5ebbb6e8e3da238ecec84535"




 target="_blank"
 


&gt;cxl/region: Manage decoder target_type at decoder-attach time&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cecbb5da921231aa0933667fba85bea5b91d6a46"




 target="_blank"
 


&gt;cxl/hdm: Default CXL_DEVTYPE_DEVMEM decoders to CXL_DECODER_DEVMEM&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5aa39a9165cfc80d37f1db8ba8fee798a3ecf74f"




 target="_blank"
 


&gt;cxl/port: Rename CXL_DECODER_{EXPANDER, ACCELERATOR} =&amp;gt; {HOSTONLYMEM, DEVMEM}&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f6b8ab32e3ec48ecc02d1b4a42ee03576040ddd2"




 target="_blank"
 


&gt;cxl/memdev: Make mailbox functionality optional&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/59f8d1510739e92135df62d52e8c29bc075c46ad"




 target="_blank"
 


&gt;cxl/mbox: Move mailbox related driver state to its own data structure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3fe7feb0f37e4dcbd51b9a4019866dc55b965a55"




 target="_blank"
 


&gt;cxl: Remove leftover attribute documentation in &amp;lsquo;struct cxl_dev_state&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c192e5432f2519c8016af126076a5be1e5befbf5"




 target="_blank"
 


&gt;cxl: Fix kernel-doc warnings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/688baac1097d30a51d6469efdc8707fdac80eab6"




 target="_blank"
 


&gt;cxl/regs: Clarify when a &amp;lsquo;struct cxl_register_map&amp;rsquo; is input vs output&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/adfe19738b71a893da62cb2e30bd6bdb4299ea67"




 target="_blank"
 


&gt;cxl/region: Fix state transitions after reset failure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2ab47045ac96a605e3037d479a7d5854570ee5bf"




 target="_blank"
 


&gt;cxl/region: Flag partially torn down regions as unusable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d1257d098a5a38753a0736a50db0a26a62377ad7"




 target="_blank"
 


&gt;cxl/region: Move cache invalidation before region teardown, and before setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5d2ffbe4b81a3b6353bf888a523e7e5d4fec47ad"




 target="_blank"
 


&gt;cxl/port: Store the downstream port&amp;rsquo;s Component Register mappings in struct cxl_dport&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/19ab69a60e3ba58b4942b9ab5095cf90477a54ce"




 target="_blank"
 


&gt;cxl/port: Store the port&amp;rsquo;s Component Register mappings in struct cxl_port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/733b57f262b0e9f05ffeac102fe5bd729e263170"




 target="_blank"
 


&gt;cxl/pci: Early setup RCH dport component registers from RCRB&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/86917c560dcf29270093768d947387ca00f729b4"




 target="_blank"
 


&gt;cxl/mem: Prepare for early RCH dport component register setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f1d0525effc4fffe821905671ea24c30a4bfa393"




 target="_blank"
 


&gt;cxl/regs: Remove early capability checks in Component Register setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d8bffff2016f7aef1c1dbe01125720475507b6f2"




 target="_blank"
 


&gt;cxl/port: Remove Component Register base address from struct cxl_dport&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d02034b4025a086b1294bfd4a2e77525e816cea4"




 target="_blank"
 


&gt;cxl/acpi: Directly bind the CEDT detected CHBCR to the Host Bridge&amp;rsquo;s port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f44c7b7ad9b8def769ba709e369fe92906250c02"




 target="_blank"
 


&gt;cxl/acpi: Move add_host_bridge_uport() after cxl_get_chbs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d076bb8c4cee23fa1ddeae36f72a4695529c9198"




 target="_blank"
 


&gt;cxl/pci: Refactor component register discovery for reuse&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/573408049b7598a7c4ef6981b70b1275447d28e4"




 target="_blank"
 


&gt;cxl/core/regs: Add @dev to cxl_register_map&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7481653deef24fb9a030339430d2f5723e0ccf78"




 target="_blank"
 


&gt;cxl: Rename &amp;lsquo;uport&amp;rsquo; to &amp;lsquo;uport_dev&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/227db57459e8b6dce33c071020b0c05b1f9fa8d6"




 target="_blank"
 


&gt;cxl: Rename member @dport of struct cxl_dport to @dport_dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0619337856c9a1cb999417be38c4049a6b0235a0"




 target="_blank"
 


&gt;cxl/rch: Prepare for caching the MMIO mapped PCIe AER capability&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/eb4663b07e13bc138aad9e2a93ee9893c7139f51"




 target="_blank"
 


&gt;cxl/acpi: Probe RCRB later during RCH downstream port creation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1ad3f701c3999904d0c6cdea299df16c6cd9878d"




 target="_blank"
 


&gt;cxl/pci: Find and register CXL PMU devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d717d7f3df18494baafd9595fb4bcb9c380d7389"




 target="_blank"
 


&gt;cxl: Add functions to get an instance of / count regblocks of a given type&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/793a539ac78843ef9378bb42a44edfbc552a67d5"




 target="_blank"
 


&gt;cxl: Explicitly initialize resources when media is not ready&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ccadf1310fb0bc8d2cbcd14f94a6279c12ea9bee"




 target="_blank"
 


&gt;cxl/mbox: Add background cmd handling machinery&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9f7a320d167cd7f310114cf25009ceedf6a323ed"




 target="_blank"
 


&gt;cxl/pci: Introduce cxl_request_irq()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f279d0bc13505a25a8b6a307b806312116c2efd2"




 target="_blank"
 


&gt;cxl/pci: Allocate irq vectors earlier during probe&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a70fc4ed20a6118837b0aecbbf789074935f473b"




 target="_blank"
 


&gt;cxl/port: Fix NULL pointer access in devm_cxl_add_port()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e764f12208b99ac7892c4e3f6bf88d71ca71036f"




 target="_blank"
 


&gt;cxl: Move cxl_await_media_ready() to before capacity info retrieval&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ce17ad0d54985e2595a3e615fda31df61808a08c"




 target="_blank"
 


&gt;cxl: Wait Memory_Info_Valid before access memory related info&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/eb0764b822b9b26880b28ccb9100b2983e01bc17"




 target="_blank"
 


&gt;cxl/port: Enable the HDM decoder capability for switch ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/764d102ef94e880ca834a7fe3968a00a05b1fb12"




 target="_blank"
 


&gt;cxl: Add missing return to cdat read error path&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7acc1372113083fa281ba426021801e2402caca1"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-6.4&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/556eb8b79190151506187bf0b16dda423c34d9a8"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;driver-core-6.4-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bfe58458fd2557c9a81b89bc0ff10eb03d6c0745"




 target="_blank"
 


&gt;cxl/mbox: Update CMD_RC_TABLE&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ca899f4021c9fc673935a09c17a7323527aefccd"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl-autodetect-fixes&amp;rsquo; into for-6.4/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/856ef55e7e1fb411cd42b917bac2a7aaf75344ae"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.4/cxl-poison&amp;rsquo; into for-6.4/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/50d527f52cbf0680c87d11a254383ca730c5c19f"




 target="_blank"
 


&gt;cxl/mem: Add debugfs attributes for poison inject and clear&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/98b6926562d9ccdbca69de9a0e0bf4f90d7f1326"




 target="_blank"
 


&gt;cxl/memdev: Trace inject and clear poison as cxl_poison events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0a105ab28a4de44eb738ce64e9ac74946aa5133b"




 target="_blank"
 


&gt;cxl/memdev: Warn of poison inject or clear to a mapped region&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9690b07748d18ac667036a68442081c4aea33ba7"




 target="_blank"
 


&gt;cxl/memdev: Add support for the Clear Poison mailbox command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d2fbc48658022f48625064ae192baff52057987d"




 target="_blank"
 


&gt;cxl/memdev: Add support for the Inject Poison mailbox command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/28a3ae4ff66c622448f5dfb7416bbe753e182eb4"




 target="_blank"
 


&gt;cxl/trace: Add an HPA to cxl_poison trace events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f0832a58639691af575fa28ffaeb657c51f3ca06"




 target="_blank"
 


&gt;cxl/region: Provide region info to the cxl_poison trace event&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7ff6ad1075885fdc71f6fea94b95109a582dec29"




 target="_blank"
 


&gt;cxl/memdev: Add trigger_poison_list sysfs attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ddf49d57b841e55e1b0aee1224a9f526e50e1bcc"




 target="_blank"
 


&gt;cxl/trace: Add TRACE support for CXL media-error records&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ed83f7ca398b3798b82c1d5d1113011c0e5a2198"




 target="_blank"
 


&gt;cxl/mbox: Add GET_POISON_LIST mailbox command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d0abf5787adc0341a04667d3b4a23b4d0999af30"




 target="_blank"
 


&gt;cxl/mbox: Initialize the poison state&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dec441d32a9a1e4a891ccda3356cac61cc1ffe79"




 target="_blank"
 


&gt;cxl/mbox: Restrict poison cmds to debugfs cxl_raw_allow_all&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3db166d6cf0ea73dd2c887036aad2e95e0884d9b"




 target="_blank"
 


&gt;cxl/mbox: Deprecate poison commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/267214a2319b5692bbc9b128a6514960291dcca8"




 target="_blank"
 


&gt;cxl/port: Fix port to pci device assumptions in read_cdat_data()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f960e57dca9fa3653d9e9c0a9e1386d2241e0aad"




 target="_blank"
 


&gt;cxl/pci: Rightsize CDAT response allocation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7a877c923995b8257069209b1d757735af4f4ce0"




 target="_blank"
 


&gt;cxl/pci: Simplify CDAT retrieval error path&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/af0a6c3587dc39df348d23c46996b9dad46d07db"




 target="_blank"
 


&gt;cxl/pci: Use CDAT DOE mailbox created by PCI core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/58709b924ea5911b7d500bba9ed36b71e1e76598"




 target="_blank"
 


&gt;cxl/pci: Use synchronous API for DOE&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c841ecd8277154c9297dd9ac959494f6deb61e76"




 target="_blank"
 


&gt;cxl/hdm: Add more HDM decoder debug messages at startup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7bba261e0aa6e8e5f28a3a3def8338b6512534ee"




 target="_blank"
 


&gt;cxl/port: Scan single-target ports for decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/104087a8aaf0f46d89376917eca977fad972cc93"




 target="_blank"
 


&gt;cxl/core: Drop unused io-64-nonatomic-lo-hi.h&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1423885c84a5b3a53b79bcf241b18124d0d7cba6"




 target="_blank"
 


&gt;cxl/hdm: Use 4-byte reads to retrieve HDM decoder base+limit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7701c8bef4f14bd9f7940c6ed0e6a73584115a96"




 target="_blank"
 


&gt;cxl/hdm: Fail upon detecting 0-sized decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ca712e47054678c5ce93a0e0f686353ad5561195"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl-doe-fixes&amp;rsquo; into for-6.3/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/24b18197184ac39bb8566fb82c0bf788bcd0d45b"




 target="_blank"
 


&gt;cxl/hdm: Extend DVSEC range register emulation for region enumeration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/52cc48ad2a76a5fe82d239044d67944bbb928de6"




 target="_blank"
 


&gt;cxl/hdm: Limit emulation to the number of range registers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9ff3eec958cf365857ae8a630237ece4f83bb337"




 target="_blank"
 


&gt;cxl/region: Move coherence tracking into cxl_region_attach()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/030f880342b875c7d714d06d3ca4058ae9f13fee"




 target="_blank"
 


&gt;cxl/region: Fix region setup/teardown for RCDs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d35b495ddf92c964eedf2ac86fdbf88dc3e5cbc9"




 target="_blank"
 


&gt;cxl/port: Fix find_cxl_root() for RCDs and simplify it&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b70c2cf95ee1ca2806cb7191504920f8f5b4454e"




 target="_blank"
 


&gt;cxl/hdm: Skip emulation when driver manages mem_enable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/82f0832af26a30ae5f21b335c5f68b538e710c29"




 target="_blank"
 


&gt;cxl/hdm: Fix double allocation of @cxlhdm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4fe2c13d59d849be3b45371e3913ec5dc77fc0fb"




 target="_blank"
 


&gt;cxl/pci: Handle excessive CDAT length&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b56faef2312057db20479b240eb71bd2e51fb51c"




 target="_blank"
 


&gt;cxl/pci: Handle truncated CDAT entries&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/34bafc747c54fb58c1908ec3116fa6137393e596"




 target="_blank"
 


&gt;cxl/pci: Handle truncated CDAT header&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/75cff725d9566699a670a02b3cfd1c6e9e9ed53e"




 target="_blank"
 


&gt;driver core: bus: mark the struct bus_type for sysfs callbacks as constant&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fbaa38214cd9e150764ccaa82e04ecf42cc1140c"




 target="_blank"
 


&gt;cxl/pci: Fix CDAT retrieval on big endian&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7c3dc440b1f5c75f45e24430f913e561dc82a419"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-6.3&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a93e884edf61f9debc9ca61ef9e545f0394ab666"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;driver-core-6.3-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/23c198e3dfaabbc891681aecb0855b9e0ac791e1"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl-events&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1bb31131231ddef851bd01299f19603d38a111de"




 target="_blank"
 


&gt;cxl/mem: Add kdoc param for event log driver state&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/279676c9aa5e5f11377dddfdecfd22df526ee9b8"




 target="_blank"
 


&gt;cxl/trace: Add serial number to trace points&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cd0570172dd8427e0bf36b4d70f0b595616da55d"




 target="_blank"
 


&gt;cxl/trace: Add host output to trace points&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0c8393dcdb1ef4dc358d95a2523297175135874b"




 target="_blank"
 


&gt;cxl/trace: Standardize device information output&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a5fcd228ca1db9810ba1ed461c90b6ee933b9daf"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl-rr-emu&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6980daaa3ed5959bf4fe2719d96b1da437026b58"




 target="_blank"
 


&gt;cxl/pci: Remove locked check for dvsec_range_allowed()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d7a2153762c7369534c432ac7e86996063e246df"




 target="_blank"
 


&gt;cxl/hdm: Add emulation when HDM decoders are not committed&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4474ce565ee4490fb4e6d8443b617a9d98ae10ff"




 target="_blank"
 


&gt;cxl/hdm: Create emulated cxl_hdm for devices that do not have HDM decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b777e9bec960a29374dc486d47784c73b7ac4cef"




 target="_blank"
 


&gt;cxl/hdm: Emulate HDM decoder from DVSEC range registers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9de321e93c3b3fd7fd2621a2557c42fa7d43e314"




 target="_blank"
 


&gt;cxl/pci: Refactor cxl_hdm_decode_init()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/59c3368b2e69eb7da7f271286a0bd80930dfc070"




 target="_blank"
 


&gt;cxl/port: Export cxl_dvsec_rr_decode() to cxl_port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1acba6e9206c655f8eb6736c7cafbf022492f36d"




 target="_blank"
 


&gt;cxl/pci: Break out range register decoding from cxl_hdm_decode_init()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5a6fe61facdb7f830895712b31fb39f544ffc165"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ee817acaa01d5c56e5fef396bea05c869b7e9351"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl-ram-region&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/248529edc86f8d7d390a15a86bd1904951311665"




 target="_blank"
 


&gt;cxl: add RAS status unmasking for CXL&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1922a6dc0502ed3fd0786f57cc9e5f515c902009"




 target="_blank"
 


&gt;cxl: remove unnecessary calling of pci_enable_pcie_error_reporting()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7abcb0b10668eaf3c174ff383f3b2a7a8c95fb34"




 target="_blank"
 


&gt;cxl: avoid returning uninitialized error code&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f57aec443c24d2e8e1f3b5b4856aea12ddda4254"




 target="_blank"
 


&gt;cxl/pmem: Fix nvdimm registration races&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b8b9ffced017528bcdd262730ab10bc5084c3bb4"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl-ram-region&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dfd423e0a3256f88b8ea622fbbe04f91594195b6"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/814a15f3b4131d3205bd47e23b50ccc6c666ce1d"




 target="_blank"
 


&gt;cxl/uapi: Tag commands from cxl_query_cmd()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/860334e59003f684d85c519179038bd655eeb9ef"




 target="_blank"
 


&gt;cxl/mem: Remove unused CXL_CMD_FLAG_NONE define&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/09d09e04d2fcf88c4620dd28097e0e2a8f720eac"




 target="_blank"
 


&gt;cxl/dax: Create dax devices for CXL RAM regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3d8f7ccaa611a743ae3a1e6f605346993d37c513"




 target="_blank"
 


&gt;tools/testing/cxl: Define a fixed volatile configuration to parse&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a32320b71f085f8d82afedcf285f1682c8c00aed"




 target="_blank"
 


&gt;cxl/region: Add region autodiscovery&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/32ce3f185bbb3802cd0ac925bc8fddf1797e0ad4"




 target="_blank"
 


&gt;cxl/port: Split endpoint and switch port probe&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/45d235c56b2bc51749af9cc8fe6ace18aa8b81be"




 target="_blank"
 


&gt;cxl/region: Enable CONFIG_CXL_REGION to be toggled&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/93c177fd6ff0655a5fa43ec945a57d7b0200ad80"




 target="_blank"
 


&gt;kernel/range: Uplevel the cxl subsystem&amp;rsquo;s range_contains() helper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9995576cef48dcbb0ba3de068292ed14f72fa0eb"




 target="_blank"
 


&gt;cxl/region: Move region-position validation to a helper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/86987c766276acf1289700cd38bd6d5b5a167fea"




 target="_blank"
 


&gt;cxl/region: Cleanup target list on attach error&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3528b1e101a40ff75c8130e0b94e9555d2976f45"




 target="_blank"
 


&gt;cxl/region: Refactor attach_target() for autodiscovery&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6e099264185d05f50400ea494f5029264a4fe995"




 target="_blank"
 


&gt;cxl/region: Add volatile region creation support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1b9b7a6fd618239db47a83da39dff9e725a5865a"




 target="_blank"
 


&gt;cxl/region: Validate region mode vs decoder mode&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a8e7d558f7e9c2921de8b487baa01d23f068aa93"




 target="_blank"
 


&gt;cxl/region: Support empty uuids for non-pmem regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7d505f982f53189da819581ad4cc13c8cef76803"




 target="_blank"
 


&gt;cxl/region: Add a mode attribute for regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2345df54249c6fb7779e2a72b427ee79ed3eaad5"




 target="_blank"
 


&gt;cxl/memdev: Fix endpoint port removal&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d874297bc7c8bb69f9fcbe6422ac5623c5897977"




 target="_blank"
 


&gt;cxl/mem: Correct full ID range allocation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dbe9f7d1e155b97a42f7da81e22acc98fe0a9072"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl-events&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5485eb955994a238eafd08d9266005b1c9ac7991"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/711442e29f16f0d39dd0e2460c9baacfccb9d5a7"




 target="_blank"
 


&gt;cxl/region: Fix passthrough-decoder detection&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4fa4302d6dc7de7e8e74dc7405611a2efb4bf54b"




 target="_blank"
 


&gt;cxl/region: Fix null pointer dereference for resetting decoder&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5a84711fd734c09b7d991b00657ba61a96612254"




 target="_blank"
 


&gt;cxl/pci: Fix irq oneshot expectations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fa8843451bec55f900b8673d9ddc0be02a61528a"




 target="_blank"
 


&gt;cxl/pci: Set the device timestamp&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7ebf38c9115ec3b4502c73b4377a7648374d700f"




 target="_blank"
 


&gt;cxl/mbox: Add missing parameter to docs.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/623c0751336e4035ab0047f2c152a02bd26b612b"




 target="_blank"
 


&gt;cxl/mbox: Fix Payload Length check for Get Log command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2a81ada32f0e584fc0c943e0d3a8c9f4fae411d6"




 target="_blank"
 


&gt;driver core: make struct bus_type.uevent() take a const *&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a9b12f8b4e3309c4c25d39e7ab818943b9c48c1c"




 target="_blank"
 


&gt;driver core: make struct device_type.devnode() take a const *&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/95b4947992858f725ad6a65a2087a3533749660f"




 target="_blank"
 


&gt;cxl/mem: Trace Memory Module Event Record&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2d6c1e6d60ba3030450ca8396a332da84e8b7614"




 target="_blank"
 


&gt;cxl/mem: Trace DRAM Event Record&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d54a531a430b775ae505563934a03720329fa5bd"




 target="_blank"
 


&gt;cxl/mem: Trace General Media Event Record&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a49aa8141b657a7fd33d86f7bed3ca07567ab37a"




 target="_blank"
 


&gt;cxl/mem: Wire up event interrupts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cbbd05d036e91b9dd976af4382f6c8d91b69b38a"




 target="_blank"
 


&gt;cxl: fix spelling mistakes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ee611e5e6616f7981939cc0441a5fb531312c2b6"




 target="_blank"
 


&gt;cxl/mbox: Add debug messages for enabled mailbox commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6ebe28f9ec7228e1a35df6074695ac11d7cdcf68"




 target="_blank"
 


&gt;cxl/mem: Read, trace, and clear events on driver load&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/19398821b25a9cde564265262e680ae1c2351be7"




 target="_blank"
 


&gt;cxl/pmem: Fix nvdimm unregistration when cxl_pmem driver is absent&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/172738bbccdb4ef76bdd72fc72a315c741c39161"




 target="_blank"
 


&gt;cxl/port: Link the &amp;lsquo;parent_dport&amp;rsquo; in portX/ and endpointX/ sysfs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/af3ea9ab61d728d5a8be01bbec6d5cf7551b9600"




 target="_blank"
 


&gt;cxl/region: Clarify when a cxld-&amp;gt;commit() callback is mandatory&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/852db33c6c180a48268eca52e25b267ed32de3ab"




 target="_blank"
 


&gt;cxl/pci: Show opcode in debug messages when sending a command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2ec1b17f745b08526220f3c169d2eb9799a9be39"




 target="_blank"
 


&gt;cxl: fix cxl_report_and_clear() RAS UE addr mis-assignment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e520d52d7cabf6817b2c56d2681e9618bc5540ae"




 target="_blank"
 


&gt;cxl/region: Only warn about cpu_cache_invalidate_memregion() once&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4a20bc3e207488064e08fc5d7220d6acf95c80dd"




 target="_blank"
 


&gt;cxl/pci: Move tracepoint definitions to drivers/cxl/core/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f04facfb993de47e2133b2b842d72b97b1c50162"




 target="_blank"
 


&gt;cxl/region: Fix memdev reuse check&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9b5f77efb0dc71d95403b528756e39b6cae0b948"




 target="_blank"
 


&gt;cxl/pci: Remove endian confusion&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/372ab3bc3711db46ae1205401c2aac2ed16fc348"




 target="_blank"
 


&gt;cxl/pci: Add some type-safety to the AER trace points&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7fe898041fb0c8e630504ecc2cb8805651ac85c1"




 target="_blank"
 


&gt;cxl/security: Drop security command ioctl uapi&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2aeaf663b85e436dc6287692b7561ffbf0aa4381"




 target="_blank"
 


&gt;cxl/mbox: Add variable output size validation for internal commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5331cdf44dc389ac56f7ba5c24ca52d13eaad8d7"




 target="_blank"
 


&gt;cxl/mbox: Enable cxl_mbox_send_cmd() users to validate output size&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f5ee4cc19c3eff4459931b6fe8f29d1e0cc204a5"




 target="_blank"
 


&gt;cxl/security: Fix Get Security State output payload endian handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c99b2e8cf79616157eeab34828fbe6e41ef2271c"




 target="_blank"
 


&gt;cxl: update names for interleave ways conversion macros&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/83351ddb786b30952485a5c302cd0cffbd62097e"




 target="_blank"
 


&gt;cxl: update names for interleave granularity conversion macros&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d3cdf4585f2f9122d1165acca40e801c75afa320"




 target="_blank"
 


&gt;cxl/acpi: Warn about an invalid CHBCR in an existing CHBS entry&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/14628aec8415e4847ae7e470b175412896716cd8"




 target="_blank"
 


&gt;cxl/acpi: Fail decoder add if CXIMS for HBIG is missing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cb4cdf74bd77af187085ab9d73ab9fd88283e3dc"




 target="_blank"
 


&gt;cxl/region: Fix spelling mistake &amp;ldquo;memergion&amp;rdquo; -&amp;gt; &amp;ldquo;memregion&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/397cd265815eae562685d9832dc8b61c927c1cfb"




 target="_blank"
 


&gt;cxl/regs: Fix sparse warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/02fedf1466567424c336cd11cf368dcf78f2af33"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.2/cxl-xor&amp;rsquo; into for-6.2/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e0f6fa0d425f745a887e640be66e22b45451e169"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.2/cxl-aer&amp;rsquo; into for-6.2/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/95dddcb5e86381abddeb1ccab5b5826fdcc74c70"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.2/cxl-security&amp;rsquo; into for-6.2/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0a19bfc8de93d5b5d12cf0a7bb74efc88b9ad077"




 target="_blank"
 


&gt;cxl/port: Add RCD endpoint port enumeration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7592d935b7ae71e2b4ff93830743c39a9d13d113"




 target="_blank"
 


&gt;cxl/mem: Move devm_cxl_add_endpoint() from cxl_core to cxl_mem&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f9db85bfec0dcc01556a41d23aec47b866ab3569"




 target="_blank"
 


&gt;cxl/acpi: Support CXL XOR Interleave Math (CXIMS)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6155ccc9ddf6642056f1c00c2851d1938d27a7f2"




 target="_blank"
 


&gt;cxl/pci: Add callback to log AER correctable error&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2905cb5236cba63a5dc8a83752dcc31f3cc819f9"




 target="_blank"
 


&gt;cxl/pci: Add (hopeful) error handling support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2f6e9c305127f8dea4e2d697b4bdd33e126ccbf7"




 target="_blank"
 


&gt;cxl/pci: add tracepoint events for CXL RAS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bd09626b39dff97779e1543e25e60ab2876e7e88"




 target="_blank"
 


&gt;cxl/pci: Find and map the RAS Capability Structure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a1554e9cac5ea04aaf2fb2de0df9936a94cb96fc"




 target="_blank"
 


&gt;cxl/pci: Prepare for mapping RAS Capability Structure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/920d8d2c60787bf63e023b120e81ca788d4191ff"




 target="_blank"
 


&gt;cxl/port: Limit the port driver to just the HDM Decoder Capability&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6c7f4f1e51c2a2474e6d4024d2ed32f8965be4a4"




 target="_blank"
 


&gt;cxl/core/regs: Make cxl_map_{component, device}_regs() device generic&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/43a2fb3aef165ffe9d4315059a2e951253f4050b"




 target="_blank"
 


&gt;cxl/pci: Kill cxl_map_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1191ca102d32456d29cf64bd4547e216986ff6b6"




 target="_blank"
 


&gt;cxl/pci: Cleanup cxl_map_device_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/af2dfef854aa6afdf380e15e39d936d3b66097f1"




 target="_blank"
 


&gt;cxl/pci: Cleanup repeated code in cxl_probe_regs() helpers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d5b1a27143cb7f78030bb2b6812730992a930c47"




 target="_blank"
 


&gt;cxl/acpi: Extract component registers of restricted hosts from RCRB&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d18bc74aced65e4ad68a30ac8db883398141e918"




 target="_blank"
 


&gt;cxl/region: Manage CPU caches relative to DPA invalidation events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/07cb5f705b4fe9e1386a610da4cb3c063267714f"




 target="_blank"
 


&gt;cxl/pmem: Enforce keyctl ABI for PMEM security&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bf3e5da8cb43a671b32fc125fa81b8f6a3677192"




 target="_blank"
 


&gt;cxl/region: Fix missing probe failure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b5807c80b5bc49764724ca22e83c04f527e86fd4"




 target="_blank"
 


&gt;cxl: add dimm_id support for __nvdimm_create()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1dedb6f3cf7feeb84b10c24046d8e4436173cc4d"




 target="_blank"
 


&gt;cxl/ACPI: Register CXL host ports by bridge device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8b3b1c0dc500a00c34ab74fb8a0d9e7286220c04"




 target="_blank"
 


&gt;tools/testing/cxl: Make mock CEDT parsing more robust&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4029c32fb601d505dfb92bdf0db9fdcc41fe1434"




 target="_blank"
 


&gt;cxl/acpi: Move rescan to the workqueue&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/03ff079aa633369763bc0b7409b0a3a8ffa21d40"




 target="_blank"
 


&gt;cxl/pmem: Remove the cxl_pmem_wq and related infrastructure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f17b558d6663101f876a1d9cbbad3de0c8f4ce4d"




 target="_blank"
 


&gt;cxl/pmem: Refactor nvdimm device registration, delete the workqueue&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/16d53cb0d6900ba7c5920397480016d3ee844610"




 target="_blank"
 


&gt;cxl/region: Drop redundant pmem region release handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cb9cfff82f6a862c1f54b8b01d9d9a979bb8ae78"




 target="_blank"
 


&gt;cxl/acpi: Simplify cxl_nvdimm_bridge probing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/452996fa079b1a8751a02ac04c54b1d69f512249"




 target="_blank"
 


&gt;cxl/pmem: add provider name to cxl pmem dimm attribute group&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bd429e5355cd58aeb7e38b905fbecee357a6379b"




 target="_blank"
 


&gt;cxl/pmem: add id attribute to CXL based nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dcedadfae28562ad04bc351cabfbc0c65b810847"




 target="_blank"
 


&gt;nvdimm/cxl/pmem: Add support for master passphrase disable security command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3b502e886d01c2f96b2774176be4c7bceef2516b"




 target="_blank"
 


&gt;cxl/pmem: Add &amp;ldquo;Passphrase Secure Erase&amp;rdquo; security command support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2bb692f7a6cd0a7b2c29d8d5029c4469c4ec02dd"




 target="_blank"
 


&gt;cxl/pmem: Add &amp;ldquo;Unlock&amp;rdquo; security command support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a072f7b7972fd85bdefefa1d6febec483438d420"




 target="_blank"
 


&gt;cxl/pmem: Add &amp;ldquo;Freeze Security State&amp;rdquo; security command support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c4ef680d0b72815003a76074ca1cd872a2fecfc3"




 target="_blank"
 


&gt;cxl/pmem: Add Disable Passphrase security command support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/997469407f266250040f20ec73aecc77ad277145"




 target="_blank"
 


&gt;cxl/pmem: Add &amp;ldquo;Set Passphrase&amp;rdquo; security command support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/328281155539b44539e12d62803e09310d86d11f"




 target="_blank"
 


&gt;cxl/pmem: Introduce nvdimm_security_ops with -&amp;gt;get_flags() operation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3b39fd6cf12ceda2a2582dcb9b9ee9f4d197b857"




 target="_blank"
 


&gt;cxl: Replace HDM decoder granularity magic numbers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b51d76752120a267397276121619fca80f767e62"




 target="_blank"
 


&gt;cxl/acpi: Improve debug messages in cxl_acpi_probe()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/58eef878fcd1f44612445b5cdde598f04b940da8"




 target="_blank"
 


&gt;cxl: Unify debug messages when calling devm_cxl_add_dport()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f3cd264c4ec1ab9b8918f3b083cfc13c5e7c26b7"




 target="_blank"
 


&gt;cxl: Unify debug messages when calling devm_cxl_add_port()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3bb80da51b1c1dbf31af2226f57cbc258f5e994b"




 target="_blank"
 


&gt;cxl/core: Check physical address before mapping it in devm_cxl_iomap_block()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fa89248e669d589cdb895517e75cdead8d8ba5c0"




 target="_blank"
 


&gt;cxl/core: Remove duplicate declaration of devm_cxl_iomap_block()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/487d828d751d90cf9ca594f45b02dd0e0d712b64"




 target="_blank"
 


&gt;cxl/doe: Request exclusive DOE access&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8f401ec1c8975eabfe4c089de91cbe058deabf71"




 target="_blank"
 


&gt;cxl/region: Recycle region ids&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e4f6dfa9ef756a3934a4caf618b1e86e9e8e21d0"




 target="_blank"
 


&gt;cxl/region: Fix &amp;lsquo;distance&amp;rsquo; calculation with passthrough ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4d07ae22e79ebc2d7528bbc69daa53b86981cb3a"




 target="_blank"
 


&gt;cxl/pmem: Fix cxl_pmem_region and cxl_memdev leak&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0d9e734018d70cecf79e2e4c6082167160a0f13f"




 target="_blank"
 


&gt;cxl/region: Fix cxl_region leak, cleanup targets at region delete&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a90accb358ae33ea982a35595573f7a045993f8b"




 target="_blank"
 


&gt;cxl/region: Fix region HPA ordering validation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4f1aa35f1fb7d51b125487c835982af792697ecb"




 target="_blank"
 


&gt;cxl/pmem: Use size_add() against integer overflow&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/71ee71d7adcba648077997a29a91158d20c40b09"




 target="_blank"
 


&gt;cxl/region: Fix decoder allocation crash&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f010c75c05299ecd65adfd31a7841eea3476ce1f"




 target="_blank"
 


&gt;cxl/pmem: Fix failure to account for 8 byte header for writes to the device LSA.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2816e24b0510e0c185c0c46acff1ce7aa4c4443f"




 target="_blank"
 


&gt;cxl/region: Fix null pointer dereference due to pass through decoder commit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cf00b33058b196b4db928419dde68993b15a975b"




 target="_blank"
 


&gt;cxl/mbox: Add a check on input payload size&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1cd8a2537eb07751d405ab7e2223f20338a90506"




 target="_blank"
 


&gt;cxl/hdm: Fix skip allocations vs multiple pmem allocations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4d8e4ea5bb396897111e8a740201bfd3c5926170"




 target="_blank"
 


&gt;cxl/region: Disallow region granularity != window granularity&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/298d44d04b2ba97824c3dadd1dbf7c154a2a86e2"




 target="_blank"
 


&gt;cxl/region: Fix x1 interleave to greater than x1 interleave routing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/910bc55da8285605308cb76f69a335b36780da43"




 target="_blank"
 


&gt;cxl/region: Move HPA setup to cxl_region_attach()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2901c8bdedca19e5efdab2ea55b465102231b315"




 target="_blank"
 


&gt;cxl/region: Fix decoder interleave programming&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/038e6eb803870113ca78fc70905a27aaa7141fd9"




 target="_blank"
 


&gt;cxl/region: describe targets and nr_targets members of cxl_region_params&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f13da0d9c3252eb922fc12495f2068fbb18c2e8f"




 target="_blank"
 


&gt;cxl/regions: add padding for cxl_rr_ep_add nested lists&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9fd2cf4d6fba8253efa62ba45f623ab7f09df12d"




 target="_blank"
 


&gt;cxl/region: Fix IS_ERR() vs NULL check&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e29a8995d63f6f861b2cc446c58cef430885f469"




 target="_blank"
 


&gt;cxl/region: Fix region reference target accounting&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/69c9961387f244077101de3ce4e272717617dc87"




 target="_blank"
 


&gt;cxl/region: Fix region commit uninitialized variable warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8d428542571428fb68b5c41b092ae70d2fc2cd17"




 target="_blank"
 


&gt;cxl/region: Fix port setup uninitialized variable warnings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/817b279467404ae3b16db8886b87eaefd8b13a6d"




 target="_blank"
 


&gt;cxl/region: Stop initializing interleave granularity&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4d5c42a80bd17d1979dbcd40c5c44ff3c93e1476"




 target="_blank"
 


&gt;cxl/hdm: Fix DPA reservation vs cxl_endpoint_decoder lifetime&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e77483055c325fa629c5835913b07f3dce3ac7fd"




 target="_blank"
 


&gt;cxl/acpi: Minimize granularity for x1 interleaves&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2bde6dbebc1cf02fd1b3d740246b92df1514a370"




 target="_blank"
 


&gt;cxl/region: Delete &amp;lsquo;region&amp;rsquo; attribute from root decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a53c28b6ae4bcda3c386bfd704b329926bcf3f92"




 target="_blank"
 


&gt;cxl/acpi: Autoload driver for &amp;lsquo;cxl_acpi&amp;rsquo; test devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5e42bcbc3fef6e759dfb4d3f4cfb394c382b4249"




 target="_blank"
 


&gt;cxl/region: decrement -&amp;gt;nr_targets on error in cxl_region_attach()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c7e3548cac4a8a8bc1ad183cc7c7249463dff55f"




 target="_blank"
 


&gt;cxl/region: prevent underflow in ways_to_cxl()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/88ab1dde792aa6a3902e2a30929e00acc99d351a"




 target="_blank"
 


&gt;cxl/region: uninitialized variable in alloc_hpa()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/04ad63f086d1a9649b8b082748cbc7a570ade461"




 target="_blank"
 


&gt;cxl/region: Introduce cxl_pmem_region objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/99183d26ed6191010fca09518dae34d6aff3cd14"




 target="_blank"
 


&gt;cxl/pmem: Fix offline_nvdimm_bus() to offline by bridge&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8d48817df6ac2049955b6b3a4f1b68dbe5b31f1b"




 target="_blank"
 


&gt;cxl/region: Add region driver boiler plate&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/176baefb2eb5d7a3ddebe3ff803db1fce44574b5"




 target="_blank"
 


&gt;cxl/hdm: Commit decoder state to hardware&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/27b3f8d13830cdbd8deae2b709af182d88237ba5"




 target="_blank"
 


&gt;cxl/region: Program target lists&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/384e624bb211b406db40edc900bb51af8bb267d0"




 target="_blank"
 


&gt;cxl/region: Attach endpoint decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6aa41144e7f1a624062f1e66a4744c168ade1f31"




 target="_blank"
 


&gt;cxl/acpi: Add a host-bridge index lookup mechanism&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b9686e8c8e39d4072081ef078c04915ee51c8af4"




 target="_blank"
 


&gt;cxl/region: Enable the assignment of endpoint decoders to regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/23a22cd1c98be518774fe7f7e8a5203af050525a"




 target="_blank"
 


&gt;cxl/region: Allocate HPA capacity to regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/80d10a6cee05029cae9d9d6e8ddb799ea6d01e0c"




 target="_blank"
 


&gt;cxl/region: Add interleave geometry attributes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dd5ba0ebbdc414f4dda4dc4ec076f46fb6f26ffd"




 target="_blank"
 


&gt;cxl/region: Add a &amp;lsquo;uuid&amp;rsquo; attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/779dd20cfb56c510f89877cca45529fa9f8bc450"




 target="_blank"
 


&gt;cxl/region: Add region creation support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7f8faf96a2fb562833db73595640329ca8da7b1d"




 target="_blank"
 


&gt;cxl/mem: Enumerate port targets before adding endpoints&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/538831f1beb818c93e5879bf19de37d89ec88ed6"




 target="_blank"
 


&gt;cxl/hdm: Add sysfs attributes for interleave ways + granularity&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/391785859e7e6521f622ad8c965c9792767023bc"




 target="_blank"
 


&gt;cxl/port: Move dport tracking to an xarray&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/256d0e9ee4f2f14d30b93fd593cef3108b0527ca"




 target="_blank"
 


&gt;cxl/port: Move &amp;lsquo;cxl_ep&amp;rsquo; references to an xarray per port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1b58b4cac6fc6fab55f34f74087594125fc60b84"




 target="_blank"
 


&gt;cxl/port: Record parent dport when adding ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/de516b40116e98c60ee475e92108453686098c85"




 target="_blank"
 


&gt;cxl/port: Record dport in endpoint references&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cf880423b6a0599499c1f83542cab0b75daa29ba"




 target="_blank"
 


&gt;cxl/hdm: Add support for allocating DPA to an endpoint decoder&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0c33b3935265cd5aafa18904363bab0c545adeee"




 target="_blank"
 


&gt;cxl/hdm: Track next decoder to allocate&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2c8669033f16f5d791e10a5bdd42e39c7380da57"




 target="_blank"
 


&gt;cxl/hdm: Add &amp;lsquo;mode&amp;rsquo; attribute to decoder objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9c57cde0dcbd0f76f649d152b83a2b9316277b22"




 target="_blank"
 


&gt;cxl/hdm: Enumerate allocated DPA&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3bf65915cefa879e3693a824d8801a08e4778619"




 target="_blank"
 


&gt;cxl/core: Define a &amp;lsquo;struct cxl_endpoint_decoder&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0f157c7fa1a0e1a55b602d8b269344392e9033ad"




 target="_blank"
 


&gt;cxl/core: Define a &amp;lsquo;struct cxl_root_decoder&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/974854ab0728532600c72e41a44d6ce1cf8f20a4"




 target="_blank"
 


&gt;cxl/acpi: Track CXL resources in iomem_resource&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e636479e2f1b611892783405a302221e4f069e4f"




 target="_blank"
 


&gt;cxl/core: Define a &amp;lsquo;struct cxl_switch_decoder&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c97006046c791f82cb5ba3219ef4a511ec5f3932"




 target="_blank"
 


&gt;cxl/port: Read CDAT table&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3eddcc938581968d126e7345e9ec84c75290e7a4"




 target="_blank"
 


&gt;cxl/pci: Create PCI DOE mailbox&amp;rsquo;s for memory devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b060edfd8cdd52bc8648392500bf152a8dd6d4c5"




 target="_blank"
 


&gt;cxl/pmem: Delete unused nvdimm attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9e9e44017db33a74177ffe91307b4c922fe2f094"




 target="_blank"
 


&gt;cxl/hdm: Initialize decoder type for memory expander devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ee800010835db23c70acc01000f182955cab27a5"




 target="_blank"
 


&gt;cxl/port: Cache CXL host bridge data&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e7ad1bf683295024e7a4e09e41015989a004a0f5"




 target="_blank"
 


&gt;tools/testing/cxl: Add partition support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cc2a4878700b2467f36e03f581a0a877ae6a568d"




 target="_blank"
 


&gt;cxl/mem: Add a debugfs version of &amp;lsquo;iomem&amp;rsquo; for DPA, &amp;lsquo;dpamem&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9b99ecf5a316f056d7139fa76198c8a2297846d1"




 target="_blank"
 


&gt;cxl/debug: Move debugfs init to cxl_core_init()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/14e473e1a7a97d1188f7fabd87c452b44f9801af"




 target="_blank"
 


&gt;cxl/hdm: Require all decoders to be enumerated&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d3b75029f353c64e1e0e45ba5083cf8679d17f0a"




 target="_blank"
 


&gt;cxl/mem: Convert partition-info to resources&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/419af595b11891d632a31440b9ca5a3cdf93996d"




 target="_blank"
 


&gt;cxl: Introduce cxl_to_{ways,granularity}&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/885d3bed6de153bfeba40e4d25cc600bef8af1b8"




 target="_blank"
 


&gt;cxl/core: Drop is_cxl_decoder()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e50fe01e1f2a4aba2275edee7d5c77ac87674ddb"




 target="_blank"
 


&gt;cxl/core: Drop -&amp;gt;platform_res attribute for root decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e8b7ea58abbd2335734e67cccbd992e4735366bd"




 target="_blank"
 


&gt;cxl/core: Rename -&amp;gt;decoder_range -&amp;gt;hpa_range&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/04ed37a2baf957620970b4049b0390089da5ec17"




 target="_blank"
 


&gt;cxl/hdm: Use local hdm variable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fe80f1ad593c84bf90299496b3f93ab998ba70ad"




 target="_blank"
 


&gt;cxl/port: Keep port-&amp;gt;uport valid for the entire life of a port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e35f5718903b093be4b1d3833aa8a32f864a3ef1"




 target="_blank"
 


&gt;cxl/mbox: Fix missing variable payload checks in cmd size validation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8a66487506161dbc1d22fd154d2de0244e232040"




 target="_blank"
 


&gt;cxl/mbox: Use __le32 in get,set_lsa mailbox structures&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8ae3cebc1704b9a3ab8398dc7820c37183026bbc"




 target="_blank"
 


&gt;cxl/core: Use is_endpoint_decoder&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/db9a3a35d31ea337331f0e6e07e04bcd52642894"




 target="_blank"
 


&gt;cxl: Fix cleanup of port devices on failure to probe driver.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/34e37b4c432cd0f1842b352fde4b8878b4166888"




 target="_blank"
 


&gt;cxl/port: Enable HDM Capability after validating DVSEC Ranges&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fcfbc93cc33ec601f00f113eca6fc484b930532d"




 target="_blank"
 


&gt;cxl/port: Reuse &amp;lsquo;struct cxl_hdm&amp;rsquo; context for hdm init&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5e5f4ad52f33c125af9b91d4c3b7cad59c13772e"




 target="_blank"
 


&gt;cxl/port: Move endpoint HDM Decoder Capability init to port driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/92804edb11f065aadb3a4f398bed8a846a035cd3"




 target="_blank"
 


&gt;cxl/pci: Drop @info argument to cxl_hdm_decode_init()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a12562bb70776093b270f79a4b6ef18f4bcead2b"




 target="_blank"
 


&gt;cxl/mem: Merge cxl_dvsec_ranges() and cxl_hdm_decode_init()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dd2d42ad6f422076d1bd49b132bec74376c26f5c"




 target="_blank"
 


&gt;cxl/mem: Skip range enumeration if mem_enable clear&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/14d78874077442d1d0f08129f5a0ea5070984b4b"




 target="_blank"
 


&gt;cxl/mem: Consolidate CXL DVSEC Range enumeration in the core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2e4ba0ec978335b4b550bbed95cb198ac3a00745"




 target="_blank"
 


&gt;cxl/pci: Move cxl_await_media_ready() to the core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/75b7ae29991f945b69c10d75b861d7d5e90bd541"




 target="_blank"
 


&gt;cxl/mem: Validate port connectivity before dvsec ranges&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/76a4121e86649bf381aa32cb69ede913def57202"




 target="_blank"
 


&gt;cxl/mem: Fix cxl_mem_probe() error exit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/194d5edadf0b403f6de2be89c484a01c83ee269f"




 target="_blank"
 


&gt;cxl/pci: Drop wait_for_valid() from cxl_await_media_ready()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1e14c9fbb55fbc48eb88b55d1736c994b1deb631"




 target="_blank"
 


&gt;cxl/pci: Consolidate wait_for_media() and wait_for_media_ready()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2bcf3bbd348fc10260aa6243ff6a22a1882b5b35"




 target="_blank"
 


&gt;cxl/mem: Drop mem_enabled check from wait_for_media()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/38a34e10768c85d3be4bb31fea5d8942bb72bbd7"




 target="_blank"
 


&gt;cxl: Drop cxl_device_lock()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d864b8ea6468cf1dce614a58eec92a23d8e07fec"




 target="_blank"
 


&gt;cxl/acpi: Add root device lockdep validation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3750d013182b071dbf458144540390de0031be8c"




 target="_blank"
 


&gt;cxl: Replace lockdep_mutex with local lock classes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/35e01667c84b1e16060020c3a13099447e61c822"




 target="_blank"
 


&gt;cxl/mbox: fix logical vs bitwise typo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/280302f0e8f6919f0c591753ea21906d77797746"




 target="_blank"
 


&gt;cxl/mbox: Replace NULL check with IS_ERR() after vmemdup_user()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/26f89535a5bb17915a2e1062c3999a2ee797c7b0"




 target="_blank"
 


&gt;cxl/mbox: Use type __u32 for mailbox payload sizes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9ea4dcf49878bb9546b8fa9319dcbdc9b7ee20f8"




 target="_blank"
 


&gt;PM: CXL: Disable suspend&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/35ee1f499091c76bd5f5d52f5ef79c3568ac74a6"




 target="_blank"
 


&gt;cxl/mem: Replace redundant debug message with a comment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/31e624a77e748e4ab7d5c9c3ddc46ba7735bd75e"




 target="_blank"
 


&gt;cxl/mem: Rename cxl_dvsec_decode_init() to cxl_hdm_decode_init()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/36bfc6ad508af38f212cf5a38147d867fb3f80a8"




 target="_blank"
 


&gt;cxl/pci: Make cxl_dvsec_ranges() failure not fatal to cxl_pci&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fbaf2b079d2a0a9c7114fbd4d1c0f3dd7a3cb3ad"




 target="_blank"
 


&gt;cxl/mem: Make cxl_dvsec_range() init failure fatal&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e39f9be08d9dfe685c8a325ac1755c04f383effc"




 target="_blank"
 


&gt;cxl/pci: Add debug for DVSEC range init failures&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e08063fb87944b1db963e94b833608318179708d"




 target="_blank"
 


&gt;cxl/mem: Drop DVSEC vs EFI Memory Map sanity check&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c43e036d6f861f4c68b50eea49ab55b539eaab02"




 target="_blank"
 


&gt;cxl/mbox: Use new return_code handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/92fcc1abab095dceb2337444f79875c8a85063df"




 target="_blank"
 


&gt;cxl/mbox: Improve handling of mbox_cmd hw return codes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cbe83a2052682c6f57d45f76fe7fea4bf254acd9"




 target="_blank"
 


&gt;cxl/pci: Use CXL_MBOX_SUCCESS to check against mbox_cmd return code&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ee92c7e261fd4b58ed5991a776ae9b25e9a5e030"




 target="_blank"
 


&gt;cxl/mbox: Drop mbox_mutex comment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6aa657f416b65f23d7a3c9d04f144b1c4aa2ebc1"




 target="_blank"
 


&gt;cxl/pmem: Remove CXL SET_PARTITION_INFO from exclusive_cmds list&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6179045ccc0c6229dc449afc1701dc7fbd40571f"




 target="_blank"
 


&gt;cxl/mbox: Block immediate mode in SET_PARTITION_INFO command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2dd5600a0e4e1aca8541e1c5bb2bc26bc0441d4d"




 target="_blank"
 


&gt;cxl/mbox: Move cxl_mem_command param to a local variable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d97fe8eec2b895b2aa2f7bb3d55e7b88bc2d53f3"




 target="_blank"
 


&gt;cxl/mbox: Make handle_mailbox_cmd_from_user() use a mbox param&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/82b8ba29538e5dae0a4e481dbbea4d5015c683af"




 target="_blank"
 


&gt;cxl/mbox: Remove dependency on cxl_mem_command for a debug msg&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9ae016aeb722504703c67e6e59c673719868f467"




 target="_blank"
 


&gt;cxl/mbox: Construct a users cxl_mbox_cmd in the validation path&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/63cf60b7e0a556b3542e6e915dfe9c93eaa559fd"




 target="_blank"
 


&gt;cxl/mbox: Move build of user mailbox cmd to a helper functions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/39ed8da4f341c8dbe9c15f716d3a328269a07fc7"




 target="_blank"
 


&gt;cxl/mbox: Move raw command warning to raw command validation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6dd0e5cc87b33aee9cfe4d485c4d8b8382701558"




 target="_blank"
 


&gt;cxl/mbox: Move cxl_mem_command construction to helper funcs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d28820419ca332f856cdf8bef0cafed79c29ed05"




 target="_blank"
 


&gt;cxl/pci: Drop shadowed variable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/05e815539f3f161585c13a9ab023341bade2c52f"




 target="_blank"
 


&gt;cxl/core/port: Fix NULL but dereferenced coccicheck error&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/74be98774dfbc5b8b795db726bd772e735d2edd4"




 target="_blank"
 


&gt;cxl/port: Hold port reference until decoder release&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/41ae9105f5e23e98a1734be2eeddddf488e42c2e"




 target="_blank"
 


&gt;cxl/port: Fix endpoint refcount leak&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e6e17cc6ed751072513fe16cb595ac09f6821a43"




 target="_blank"
 


&gt;cxl/core: Fix cxl_device_lock() class detection&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5c3c067b601bcbcd381214e3a40e666fda5f3d6f"




 target="_blank"
 


&gt;cxl/core/port: Fix unregister_port() lock assertion&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/74b0fe80409733055971bbfaf33c80a33fddeeb3"




 target="_blank"
 


&gt;cxl/regs: Fix size of CXL Capability Header Register&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7004cc9d1585fb7fc9ec7e3e92b70b65e13b11fd"




 target="_blank"
 


&gt;cxl/core/port: Handle invalid decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0909b4e5287bcda34f00da878ac1f37a0921d959"




 target="_blank"
 


&gt;cxl/core/port: Fix / relax decoder target enumeration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9b71e1c9c3aaae5079f5e267785b6f035c5f23da"




 target="_blank"
 


&gt;cxl/core/port: Add endpoint decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8aea0ef19fde030f983aba0e7ec5bcf10880a6fe"




 target="_blank"
 


&gt;cxl/core: Move target_list out of base decoder attributes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8dd2bc0f8e02d39bd80851ca787bcbdb7d495e69"




 target="_blank"
 


&gt;cxl/mem: Add the cxl_mem driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2703c16c75aea142c3079ec34ae2262c0557ef7f"




 target="_blank"
 


&gt;cxl/core/port: Add switch port enumeration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cf1f6877b088cd9ddeb5f3db8ade3a61e3a3f9eb"




 target="_blank"
 


&gt;cxl/memdev: Add numa_node attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bcc79ea34398845d814170ddc06a457b35ae1975"




 target="_blank"
 


&gt;cxl/pci: Emit device serial number&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/523e594d9cc03db962c741ce02c8a58aab58a123"




 target="_blank"
 


&gt;cxl/pci: Implement wait for media active&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/560f78559006a4bab20455ae7eca33d8417c38fc"




 target="_blank"
 


&gt;cxl/pci: Retrieve CXL DVSEC memory info&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/06e279e5ebe4f32ffe544ec96a199870319a7315"




 target="_blank"
 


&gt;cxl/pci: Cache device DVSEC offset&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4112a08dd3c5ea0a96029f14061f2320826cfd32"




 target="_blank"
 


&gt;cxl/pci: Store component register base in cxlds&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/664bf115833c2d4ee717ab63f4e6e72a25c66e77"




 target="_blank"
 


&gt;cxl/core/port: Remove @host argument for dport + decoder enumeration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/54cdbf845cf719c09b45ae588cba469aabb3159c"




 target="_blank"
 


&gt;cxl/port: Add a driver for &amp;lsquo;struct cxl_port&amp;rsquo; objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/83fbdbe4c18678eebe63fc49913f149a5afde057"




 target="_blank"
 


&gt;cxl/core: Emit modalias for CXL devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d17d0540a0dbf109210f7b57a37571e2978da0fa"




 target="_blank"
 


&gt;cxl/core/hdm: Add CXL standard decoder enumeration to the core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/98d2d3a264543680281fd8a4e6ae490ca26b4f85"




 target="_blank"
 


&gt;cxl/core: Generalize dport enumeration in the core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/af9cae9facc2de773b4aa59916913cfd6e18bdd0"




 target="_blank"
 


&gt;cxl/pci: Rename pci.h to cxlpci.h&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c978f1b10aba8ce4f8e1f6fcc86b174e08a6e7f7"




 target="_blank"
 


&gt;cxl/port: Up-level cxl_add_dport() locking requirements to the caller&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a46cfc0f011ce77d120e1cdbf973f733d18f0105"




 target="_blank"
 


&gt;cxl/pmem: Introduce a find_cxl_root() helper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5ff7316f6fea4798c66b1ba953d1ebe6617503e4"




 target="_blank"
 


&gt;cxl/port: Introduce cxl_port_to_pci_bus()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/86c8ea0f3b32aae6d824bdc0d835b6a9361dc912"




 target="_blank"
 


&gt;cxl/core/port: Use dedicated lock for decoder target list&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3c5b903955251ea464fca383a42d981e33004df6"




 target="_blank"
 


&gt;cxl: Prove CXL locking&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/53fa1bff3426344d466d91e81f076eab677d0ece"




 target="_blank"
 


&gt;cxl/core: Track port depth&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d2b61ed2ff63fd9f294db8399c7a680ea7fe8a23"




 target="_blank"
 


&gt;cxl/core/port: Make passthrough decoder init implicit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d621bc2e7282f9955033a6359877fd4ac4be60e1"




 target="_blank"
 


&gt;cxl/core: Fix cxl_probe_component_regs() error message&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d54c1bbe2d34e301382968d8b05bd8162e8f60fb"




 target="_blank"
 


&gt;cxl/core/port: Clarify decoder creation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/608135db1b790170d22848815c4671407af74e37"




 target="_blank"
 


&gt;cxl/core: Convert decoder range to resource&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c3bca8d4bb3ff77b8784cdc794eb1f8f89b10fb5"




 target="_blank"
 


&gt;cxl/decoder: Hide physical address information from non-root&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0ff0af18216436d0151af4e410400c7a19ca9437"




 target="_blank"
 


&gt;cxl/core/port: Rename bus.c to port.c&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c57cae78bfa6a8535d4baade451107b0577c2750"




 target="_blank"
 


&gt;cxl: Introduce module_cxl_driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/303ebc1b1741b6a18349d8e5753c2d25fdb41a21"




 target="_blank"
 


&gt;cxl/acpi: Map component registers for Root Ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8baa787b93dbda6b24081297b934e8edd886d4bb"




 target="_blank"
 


&gt;cxl/pci: Add new DVSEC definitions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/46c6ad27625ca00f59903585e41667d7a45b4eb8"




 target="_blank"
 


&gt;cxl: Flesh out register names&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4f195ee73ade1adf8326e5ed5fb271da51778991"




 target="_blank"
 


&gt;cxl/pci: Defer mailbox status checks to command timeouts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/229e8828c206be8fa0a159f6ff71e3b1a0484233"




 target="_blank"
 


&gt;cxl/pci: Implement Interface Ready Timeout&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/68cdd3d2af6964dae2f8d9b53ee94f740dcbda35"




 target="_blank"
 


&gt;cxl: Rename CXL_MEM to CXL_PCI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/be185c2988b48db65348d94168c793bdbc8d23c3"




 target="_blank"
 


&gt;cxl/core: Remove cxld_const_init in cxl_decoder_alloc()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/53989fad1286e652ea3655ae3367ba698da8d2ff"




 target="_blank"
 


&gt;cxl/pmem: Fix module reload vs workqueue state&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fd49f99c180996cef2d707ad71bee4f060dbe367"




 target="_blank"
 


&gt;ACPI: NUMA: Add a node and memblk for each CFMWS not in SRAT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/814dff9ae234d70003b8733a637fec621c90f0bc"




 target="_blank"
 


&gt;cxl/test: Mock acpi_table_parse_cedt()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f4ce1f766f1ebf39161b3b9447a83f4f1dfe593b"




 target="_blank"
 


&gt;cxl/acpi: Convert CFMWS parsing to ACPI sub-table helpers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a91bd78967c49b43d2835695c7b53b11170c98f4"




 target="_blank"
 


&gt;cxl/memdev: Remove unused cxlmd field&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/affec782742e08a7469ef81d7d0a4ae9d1345dfd"




 target="_blank"
 


&gt;cxl/core: Convert to EXPORT_SYMBOL_NS_GPL&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5e2411ae8071612396cd25017e29f9ce0662a5ff"




 target="_blank"
 


&gt;cxl/memdev: Change cxl_mem to a more descriptive name&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/888e034a74f41643dee6a8142c98946b8be00bf0"




 target="_blank"
 


&gt;cxl/mbox: Remove bad comment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/08b9e0ab8af48895337192e683de44ab1e1b7427"




 target="_blank"
 


&gt;cxl/pmem: Fix reference counting for delayed work&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dd72945c43d34bee496b847e021069dc31f7398f"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-5.16&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/55006a2c94645b4da85dea48c3752c4eb28f1711"




 target="_blank"
 


&gt;cxl/pci: Use pci core&amp;rsquo;s DVSEC functionality&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/85afc3175aeb100d72e59e3d0470ad75a0e26249"




 target="_blank"
 


&gt;cxl/pci: Split cxl_pci_setup_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a261e9a1576ab32966be907e73786282d52afb61"




 target="_blank"
 


&gt;cxl/pci: Add @base to cxl_register_map&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7dc7a64de2bb3daf613f4c2e809e49678c579148"




 target="_blank"
 


&gt;cxl/pci: Make more use of cxl_register_map&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/84e36a9d1bbd2c41481e7160e0553480781b008b"




 target="_blank"
 


&gt;cxl/pci: Remove pci request/release regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ca76a3a8052b71c0334d5c094859cfa340c290a8"




 target="_blank"
 


&gt;cxl/pci: Fix NULL vs ERR_PTR confusion&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d22fed9c2b70d8ccc91c9a56ed2df2c1a0c2ebab"




 target="_blank"
 


&gt;cxl/pci: Remove dev_dbg for unknown register blocks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cdcce47cb33a6a2ecb1bc113d0ba42ec300a33fe"




 target="_blank"
 


&gt;cxl/pci: Convert register block identifiers to an enum&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/91a45b12d49e2b43d86caba25ed59fae43344ab8"




 target="_blank"
 


&gt;cxl/acpi: Do not fail cxl_acpi_probe() based on a missing CHBS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/301e68dd9b9b4986d401b967d17e27b91f524143"




 target="_blank"
 


&gt;cxl/core: Replace unions with struct_group()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ed97afb53365cd03dde266c9644334a558fe5a16"




 target="_blank"
 


&gt;cxl/pci: Disambiguate cxl_pci further from cxl_mem&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/48667f676189eccfe9b7ac3a31772d55d6da40e5"




 target="_blank"
 


&gt;cxl/core: Split decoder setup into alloc + add&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7d3eb23c4ccf457b52cafdca1a7b20cddf29e021"




 target="_blank"
 


&gt;tools/testing/cxl: Introduce a mock memory device + driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/49be6dd807511db31809000a7b9d430b18d5e780"




 target="_blank"
 


&gt;cxl/mbox: Move command definitions to common location&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a5c25802168993c67a03a6e04142761dfb4a3bf5"




 target="_blank"
 


&gt;cxl/bus: Populate the target list at decoder create&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/67dcdd4d3b832ace448f454c47426f657d648fc5"




 target="_blank"
 


&gt;tools/testing/cxl: Introduce a mocked-up CXL port hierarchy&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2e52b6256b9af23c5a881f56b5b5e7f5cb9b8b4b"




 target="_blank"
 


&gt;cxl/pmem: Add support for multiple nvdimm-bridge objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/60b8f17215de1e6551fec4e942494c3832c3e98b"




 target="_blank"
 


&gt;cxl/pmem: Translate NVDIMM label commands to CXL label commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/12f3856ad42d6ce0dbd4266e105c04ae999f908c"




 target="_blank"
 


&gt;cxl/mbox: Add exclusive kernel command support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ff56ab9e164d71c4a6ae33fc61ae856faec265a1"




 target="_blank"
 


&gt;cxl/mbox: Convert &amp;rsquo;enabled_cmds&amp;rsquo; to DECLARE_BITMAP&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5a2328f4e872a5bcbb2ff790497f000e8f79b152"




 target="_blank"
 


&gt;cxl/pci: Use module_pci_driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4faf31b43468c58e2c8c91cc5fa26f08a6b733be"




 target="_blank"
 


&gt;cxl/mbox: Move mailbox and other non-PCI specific infrastructure to the core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4cb35f1ca05a42acbc4a3c8cf7de1029a06558d0"




 target="_blank"
 


&gt;cxl/pci: Drop idr.h&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b64955a92929346f16df058ad2bb53630eb80466"




 target="_blank"
 


&gt;cxl/mbox: Introduce the mbox_send operation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/13e7749d06b335774bbb341c65a0232484beb457"




 target="_blank"
 


&gt;cxl/pci: Clean up cxl_mem_get_partition_info()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/99e222a5f1b67dd17c2c780f4eb9a694707d3bf7"




 target="_blank"
 


&gt;cxl/pci: Make &amp;lsquo;struct cxl_mem&amp;rsquo; device type generic&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/70868a180501d17fea58153c649d56bc18435315"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-5.15&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2b922a9d064f8e86b53b04f5819917b7a04142ed"




 target="_blank"
 


&gt;cxl/registers: Fix Documentation warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a01da6ca7d0ad66b6fa2dc4af0fc97ca8ba28b45"




 target="_blank"
 


&gt;cxl/pmem: Fix Documentation warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/da582aa5ad5787c46e3f475ab3f4602ec84c1617"




 target="_blank"
 


&gt;cxl/pci: Fix debug message in cxl_probe_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9e56614c44b994b78fc9fcb2070bcbe3f5df0d7b"




 target="_blank"
 


&gt;cxl/pci: Fix lockdown level&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a7bfaad54b8b9cf06041528988d6b75b4b921546"




 target="_blank"
 


&gt;cxl/acpi: Do not add DSDT disabled ACPI0016 host bridge ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ceeb0da0a0322bcba4c50ab3cf97fe9a7aa8a2e4"




 target="_blank"
 


&gt;cxl/mem: Adjust ram/pmem range to represent DPA ranges&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f847502ad8e3299e7ad256aa0bd7eaf184646117"




 target="_blank"
 


&gt;cxl/mem: Account for partitionable space in ram/pmem ranges&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0b9159d0ff21bc281dbb9ede06ad566330ac0943"




 target="_blank"
 


&gt;cxl/pci: Store memory capacity values&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5b68705d1e6340127464ef0ac0e1de94f823f14e"




 target="_blank"
 


&gt;cxl/pci: Simplify register setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1e39db573e4cdf798b899de2b1e72ac9bea08013"




 target="_blank"
 


&gt;cxl/pci: Ignore unknown register block types&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3d135db510240fefd79da46181493d3e3b415f6b"




 target="_blank"
 


&gt;cxl/core: Move memdev management to core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9cc238c7a526dba9ee8c210fa2828886fc65db66"




 target="_blank"
 


&gt;cxl/pci: Introduce cdevm_file_operations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0f06157e0135f5563efbc9aadbd93ba3d9322cab"




 target="_blank"
 


&gt;cxl/core: Move register mapping infrastructure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/06737cd0d216be1cf6e8052e4fca0d391298f184"




 target="_blank"
 


&gt;cxl/core: Move pmem functionality&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/95aaed266801a801add6d17cd3a4f7deb610af2e"




 target="_blank"
 


&gt;cxl/core: Improve CXL core kernel docs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5161a55c069f53d88da49274cbef6e3c74eadea9"




 target="_blank"
 


&gt;cxl: Move cxl_core to new directory&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fc7a6209d5710618eb4f72a77cd81b8d694ecf89"




 target="_blank"
 


&gt;bus: Make remove callback return void&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4ad6181e4b216ed0cb52f45d3c6d2c70c8ae9243"




 target="_blank"
 


&gt;cxl/pci: Rename CXL REGLOC ID&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3e23d17ce1980c7cbd9426a3764eef7d7bcd443f"




 target="_blank"
 


&gt;cxl/acpi: Use the ACPI CFMWS to create static decoder objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/da6aafec3dca6132dd80a74a4d918ffd86c7ae35"




 target="_blank"
 


&gt;cxl/acpi: Add the Host Bridge base address to CXL port objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/21083f51521fb0f60dbac591f175c3ed48435af4"




 target="_blank"
 


&gt;cxl/pmem: Register &amp;lsquo;pmem&amp;rsquo; / cxl_nvdimm devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8fdcb1704f61a8fd9be0f3849a174d084def0666"




 target="_blank"
 


&gt;cxl/pmem: Add initial infrastructure for pmem support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6af7139c979474a29a6ad642c9bf32d92e24c5bc"




 target="_blank"
 


&gt;cxl/core: Add cxl-bus driver infrastructure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/87815ee9d0060a91bdf18266e42837a9adb5972e"




 target="_blank"
 


&gt;cxl/pci: Add media provisioning required commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ba268647368844ed290e2f7b4da7a28cd12ee049"




 target="_blank"
 


&gt;cxl/component_regs: Fix offset&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6423035fd26c1ecb72f90ecab909e9afa36942b8"




 target="_blank"
 


&gt;cxl/hdm: Fix decoder count calculation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/40ba17afdfabb01688c61565dbe02a916241bc05"




 target="_blank"
 


&gt;cxl/acpi: Introduce cxl_decoder objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3b94ce7b7bc1b436465a93f19a50e0b495b429a1"




 target="_blank"
 


&gt;cxl/acpi: Enumerate host bridge root ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7d4b5ca2e2cb5d28db628ec79c706bcfa832feea"




 target="_blank"
 


&gt;cxl/acpi: Add downstream port data to cxl_port instances&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3feaa2d35880de935fc0d02acf808f355564f4e6"




 target="_blank"
 


&gt;cxl/Kconfig: Default drivers to CONFIG_CXL_BUS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4812be97c015bddf12c70155858df43acc35a4eb"




 target="_blank"
 


&gt;cxl/acpi: Introduce the root of a cxl_port topology&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/605a5e41db7d8c930fb80115686991c4c1d08ee4"




 target="_blank"
 


&gt;cxl/pci: Fixup devm_cxl_iomap_block() to take a &amp;lsquo;struct device *&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/08422378c4adacf528d573bb1631d4818f8f9a01"




 target="_blank"
 


&gt;cxl/pci: Add HDM decoder capabilities&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9a016527dcb71e2ecadfeacf52122a79b428790c"




 target="_blank"
 


&gt;cxl/pci: Reserve individual register block regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/30af97296f48d84bc4a6abbaabb92c796a84ca57"




 target="_blank"
 


&gt;cxl/pci: Map registers based on capabilities&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f8a7e8c29be873b90fcc426e93bdb6184df5970e"




 target="_blank"
 


&gt;cxl/pci: Reserve all device regions at once&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/07d62eac422c5c8aec6ec1dacdc27423334b2d17"




 target="_blank"
 


&gt;cxl/pci: Introduce cxl_decode_register_block()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6630d31c912ed2dfbc035caf0f54709b50ce779e"




 target="_blank"
 


&gt;cxl/mem: Get rid of @cxlm.base&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1d5a4159074bde1b2d5e4a6f5ed34de70a83a39f"




 target="_blank"
 


&gt;cxl/mem: Move register locator logic into reg setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1b0a1a2a193400d305931a40ac68e89bcfdad9c5"




 target="_blank"
 


&gt;cxl/mem: Split creation from mapping in probe&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5d0c6f02595310a17762755bb6f015786b8900db"




 target="_blank"
 


&gt;cxl/mem: Use dev instead of pdev-&amp;gt;dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dd2a93a814e7ffbd4d2c3e361f4609c9bd384a96"




 target="_blank"
 


&gt;cxl/mem: Demarcate vendor specific capability IDs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/199cf8c3feec2947015da84643312790b21531cb"




 target="_blank"
 


&gt;cxl/pci.c: Add a &amp;rsquo;label_storage_size&amp;rsquo; attribute to the memdev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/21e9f76733a8c152b794cba5463ff9bf2db919d4"




 target="_blank"
 


&gt;cxl: Rename mem to pci&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/399d34ebc2483c6091a587e5905c6ed34116fb05"




 target="_blank"
 


&gt;cxl/core: Refactor CXL register lookup for bridge reuse&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5f653f7590ab7db7379f668b2975744585206b0d"




 target="_blank"
 


&gt;cxl/core: Rename bus.c to core.c&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8ac75dd6ab3039ef0656d777a564ea1b65071971"




 target="_blank"
 


&gt;cxl/mem: Introduce &amp;lsquo;struct cxl_regs&amp;rsquo; for &amp;ldquo;composable&amp;rdquo; CXL devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5f50d6b20ca31d91de14cc09be3e5ce67bc99e04"




 target="_blank"
 


&gt;cxl/mem: Move some definitions to mem.h&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fae8817ae804a682c6823ad1672438f39fc46c28"




 target="_blank"
 


&gt;cxl/mem: Fix memory device capacity probing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b21bb4cd1102dd9e24a169d09cf4e6f3c8a46bcf"




 target="_blank"
 


&gt;cxl/mem: Fix register block offset calculation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/392be0bda730df3c71241b2a16bbecac78ee627d"




 target="_blank"
 


&gt;cxl/mem: Force array size of mem_commands[] to CXL_MEM_COMMAND_ID_MAX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7eda6457a9ca4dc9754e1158c3794e4487ea4392"




 target="_blank"
 


&gt;cxl/mem: Disable cxl device power management&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1c3333a28d4532cfc37d4d25bfc76654a0c76643"




 target="_blank"
 


&gt;cxl/mem: Do not rely on device_add() side effects for dev_set_name() failures&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5877515912cc4f0d67071b7cee15076ebef24708"




 target="_blank"
 


&gt;cxl/mem: Fix synchronization mechanism for device removal vs ioctl operations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6eff5721933c08c3b76d6126aee24d8f134518ef"




 target="_blank"
 


&gt;cxl/mem: Use sysfs_emit() for attribute show routines&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/88ff5d466c0250259818f3153dbdc4af1f8615dd"




 target="_blank"
 


&gt;cxl/mem: Fix potential memory leak&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/58294927f468a428c7a1ba09cf986fdca14a2747"




 target="_blank"
 


&gt;cxl/mem: Return -EFAULT if copy_to_user() fails&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/57ee605b976c30a86613648935d255bbe704aeab"




 target="_blank"
 


&gt;cxl/mem: Add set of informational commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/472b1ce6e9d6396ab3f11fc5101c6b63b934a018"




 target="_blank"
 


&gt;cxl/mem: Enable commands via CEL&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/13237183c735f5cba4ae26bc782c613ae0d4e4d3"




 target="_blank"
 


&gt;cxl/mem: Add a &amp;ldquo;RAW&amp;rdquo; send command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/583fa5e71caeb79e04e477e9837e2f7fa53b71e4"




 target="_blank"
 


&gt;cxl/mem: Add basic IOCTL interface&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b39cb1052a5cf41bc12201ec1c0ddae5cb8be868"




 target="_blank"
 


&gt;cxl/mem: Register CXL memX devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8adaf747c9f0b470aea1b0c88583aa0a344e1540"




 target="_blank"
 


&gt;cxl/mem: Find device capabilities&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4cdadfd5e0a70017fec735b7b6d7f2f731842dc6"




 target="_blank"
 


&gt;cxl/mem: Introduce a driver for CXL-2.0-Type-3 endpoints&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cdd30ebb1b9f36159d66f088b61aee264e649d7a"




 target="_blank"
 


&gt;module: Convert symbol namespace to string literal&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/78a2cbd809ef834b680f2825d3e4c16ec66f8ffa"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-6.13&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b8e6d7ce50673c39514921ac61f7af00bbb58b87"




 target="_blank"
 


&gt;dax: delete a stale directory pmem&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f88b3ecc9cc737fc518b7a386d38bb2110712fa2"




 target="_blank"
 


&gt;dax: Document struct dev_dax_range&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7fcbd9785d4c17ea533c42f20a9083a83f301fa6"




 target="_blank"
 


&gt;device-dax: correct pgoff align in dax_set_mapping()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1b5695b02444660297cc54cab44f123ff28de2cc"




 target="_blank"
 


&gt;mm: make range-to-target_node lookup facility a part of numa_memblks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5b198b4759ef7e618817d390601740b30ff56041"




 target="_blank"
 


&gt;mm/dax: dump start address in fault handler&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c2a96b7f187fb6a455836d4a6e113947ff11de97"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;driver-core-6.11-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d69d804845985c29ab5be5a4b3b1f4787893daf8"




 target="_blank"
 


&gt;driver core: have match() callback in struct bus_type take a const *&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1d5198dd08ac04b13a8b7539131baf0980998032"




 target="_blank"
 


&gt;dax: add missing MODULE_DESCRIPTION() macros&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/61307b7be41a1f1039d1d1368810a1d92cb97b44"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;mm-stable-2024-05-17-19-19&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c405aa3ea36c1f973a9f10bbcfabc9aeeb38040c"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-6.10&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2acf04532d6d655d8c3b2ee4ddeb320107043086"




 target="_blank"
 


&gt;dax/bus.c: use the right locking mode (read vs write) in size_show&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e39dbcfba714c4c2e924e96fc8fdde1080a5a737"




 target="_blank"
 


&gt;dax/bus.c: don&amp;rsquo;t use down_write_killable for non-user processes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6f6544f27e41f9d7dca55c288f12175a9c48dfe2"




 target="_blank"
 


&gt;dax/bus.c: fix locking for unregister_dax_dev / unregister_dax_mapping paths&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c14c647bbe23fd96f6bffcc122b9c6c8c46c7928"




 target="_blank"
 


&gt;dax/bus.c: replace WARN_ON_ONCE() with lockdep asserts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a72a30af550c08423de1b9feecb6ceeddc434889"




 target="_blank"
 


&gt;memory tier: dax/kmem: introduce an abstract layer for finding, allocating, and putting memory types&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/529ce23a764f25d172198b4c6ba90f1e2ad17f93"




 target="_blank"
 


&gt;mm: switch mm-&amp;gt;get_unmapped_area() to a flag&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/41147b006be2174b825a54b0620ecf4cc7ec5c84"




 target="_blank"
 


&gt;dax: remove redundant assignment to variable rc&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2c720b492c59b070930aa1be8bef6e256d3bf4b2"




 target="_blank"
 


&gt;dax: constify the struct device_type usage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/210a03c9d51aa0e6e6f06980116e3256da8d4c48"




 target="_blank"
 


&gt;fs: claw back a few FMODE_* bits&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4757c3c64a71820a37da7a14c5b63a1f26fed0f5"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-6.9&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/902861e34c401696ed9ad17a54c8790e7e8e3069"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;mm-stable-2024-03-13-20-04&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f88c3fb81c4badb46c2fef7d168ff138043e86bb"




 target="_blank"
 


&gt;mm, slab: remove last vestiges of SLAB_MEM_SPREAD&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d9212b35da52109361247b66010802d43c6b1f0d"




 target="_blank"
 


&gt;dax: remove SLAB_MEM_SPREAD flag usage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/902ccb86ed02eea5b81c2afb514c0a7d72f63de2"




 target="_blank"
 


&gt;dax: fix incorrect list of data cache aliasing architectures&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1df4ca0155acb37b9b1d03ab91323d70a309ff54"




 target="_blank"
 


&gt;dax: check for data cache aliasing at runtime&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6d439c18d9b190ab1e0f1196bc45590f95752bf1"




 target="_blank"
 


&gt;dax: alloc_dax() return ERR_PTR(-EOPNOTSUPP) for CONFIG_DAX=n&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/73954d379efd176e9b011142c55aa8da93ac740a"




 target="_blank"
 


&gt;dax: add a sysfs knob to control memmap_on_memory behavior&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6ebed0007f082cd80a63a8849c54e7cad0069469"




 target="_blank"
 


&gt;dax/bus.c: replace several sprintf() with sysfs_emit()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c05ae9d85b47211edb187b854b62ec68fb2a1e93"




 target="_blank"
 


&gt;dax/bus.c: replace driver-core lock usage by a local rwsem&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bc22374c96d959084bea1287cfc6ea0fd9ca4e40"




 target="_blank"
 


&gt;device-dax: make dax_bus_type const&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/12958e9c4c8e93ef694c10960c78453edf21526e"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;xfs-6.8-merge-3&amp;rsquo; of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4eca0ef49af9b2b0c52ef2b58e045ab34629796b"




 target="_blank"
 


&gt;dax/kmem: allow kmem to add memory with memmap_on_memory&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fa422b353d212373fb2b2857a5ea5a6fa4876f9c"




 target="_blank"
 


&gt;mm, pmem, xfs: Introduce MF_MEM_PRE_REMOVE for unbind&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ecae0bd5173b1014f95a14a8dfbe40ec10367dcf"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;mm-stable-2023-11-01-14-33&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6bc2cfdf82d56863b7cf5e86e37a662b2ae5d47e"




 target="_blank"
 


&gt;dax, kmem: calculate abstract distance with general interface&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/75b3d5dc0846cfa54ea52d7d84215b761ecbf569"




 target="_blank"
 


&gt;dax: refactor deprecated strncpy&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1d024e7a8dabcc3c84d77532a88c774c32cf8245"




 target="_blank"
 


&gt;mm: remove enum page_entry_size&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bded67f81ec47e6054ad24c1c7992a6523a9b2c6"




 target="_blank"
 


&gt;memory tier: rename destroy_memory_type() to put_memory_type()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1ea7ca1b090145519aad998679222f0a14ab8fce"




 target="_blank"
 


&gt;dax: enable dax fault handler to report VM_FAULT_HWPOISON&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/46e66dab8565f742374e9cc4ff7d35f344d774e2"




 target="_blank"
 


&gt;dax/kmem: Pass valid argument to memory_group_register_static&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2532f41607c4308733239dd43278f8a5540f3ec7"




 target="_blank"
 


&gt;dax: Cleanup extra dax_region references&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/70aab281e18c68a1284bc387de127c2fc0bed3f8"




 target="_blank"
 


&gt;dax: Introduce alloc_dev_dax_id()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/82b4ceeccb89cfd0b03706f1b15e31a7db6a027d"




 target="_blank"
 


&gt;dax: Use device_unregister() in unregister_dax_mapping()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6d24b170a9db0456f577b1ab01226a2254c016a8"




 target="_blank"
 


&gt;dax: Fix dax_mapping_release() use after free&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2d5153526f929838b0912ded26862840f72745f4"




 target="_blank"
 


&gt;dax: fix missing-prototype warnings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7c3dc440b1f5c75f45e24430f913e561dc82a419"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-6.3&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a93e884edf61f9debc9ca61ef9e545f0394ab666"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;driver-core-6.3-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3822a7c40997dc86b1458766a3f146d62393f084"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;mm-stable-2023-02-20-13-37&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8cc01d43f882fa1f44d8aa6727a6ea783d8fbe3f"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;rcu.2023.02.10a&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e686c32590f40bffc45f105c04c836ffad3e531a"




 target="_blank"
 


&gt;dax/kmem: Fix leak of memory-hotplug resources&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0c16c83ed57fc66b033306ba426a5b324966a33e"




 target="_blank"
 


&gt;dax: cxl: add CXL_REGION dependency&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/09d09e04d2fcf88c4620dd28097e0e2a8f720eac"




 target="_blank"
 


&gt;cxl/dax: Create dax devices for CXL RAM regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e9ee9fe3a9d4ae0e1e935fc2ec1218b66a043cae"




 target="_blank"
 


&gt;dax: Assign RAM regions to memory-hotplug by default&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7dab174e2e27eeaf10273e597ffbef4f8ea032bb"




 target="_blank"
 


&gt;dax/hmem: Move hmem device registration to dax_hmem.ko&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fe098574a93b4e2acb046b583e9857337d807f38"




 target="_blank"
 


&gt;dax/hmem: Convey the dax range via memregion_info()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/84fe17f8e9c68a4389c6e89b7ce3b4651b359989"




 target="_blank"
 


&gt;dax/hmem: Drop unnecessary dax_hmem_remove()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/df2798bc778acadcd87d7ff98a4db47197defc5f"




 target="_blank"
 


&gt;dax/hmem: Move HMAT and Soft reservation probe initcall level&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1c71222e5f2393b5ea1a41795c67589eea7e3490"




 target="_blank"
 


&gt;mm: replace vma-&amp;gt;vm_flags direct modifications with modifier calls&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a870acc11230d7bf52b9bbeb6c096448f1176964"




 target="_blank"
 


&gt;drivers/dax: Remove &amp;ldquo;select SRCU&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2a81ada32f0e584fc0c943e0d3a8c9f4fae411d6"




 target="_blank"
 


&gt;driver core: make struct bus_type.uevent() take a const *&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1c88b9ba6b126080a9c121abd943b25e20cd7ac1"




 target="_blank"
 


&gt;dax: super.c: fix kernel-doc bad line warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/472faf72b33d80aa8e7a99c9410c1a23d3bf0cd8"




 target="_blank"
 


&gt;device-dax: Fix duplicate &amp;lsquo;hmem&amp;rsquo; device registration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/19d17ab7c68b62180e0537f92400a6f798019775"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-6.1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/27bc50fc90647bbf7b734c3fc306a5e61350da53"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;mm-stable-2022-10-08&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6a02124c87f0b61dcaaeb65e7fd406d8afb40fd4"




 target="_blank"
 


&gt;ACPI: HMAT: Release platform device in case of platform_device_add_data() fails&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0f702033a64bd3adcd57c9d5cf91ea64c08fad42"




 target="_blank"
 


&gt;dax: Remove usage of the deprecated ida_simple_xxx API&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7b88bda3761b95856cf97822efe8281c8100067b"




 target="_blank"
 


&gt;mm/demotion/dax/kmem: set node&amp;rsquo;s abstract distance to MEMTIER_DEFAULT_DAX_ADISTANCE&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/67feaba413ec68daf4124e9870878899b4ed9a0e"




 target="_blank"
 


&gt;devdax: Fix soft-reservation memory description&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8012b866085523758780850087102421dbcce522"




 target="_blank"
 


&gt;dax: introduce holder for dax_device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/047218ec904da19c45c4a70274fc3f818a1fcba1"




 target="_blank"
 


&gt;dax: add .recovery_write dax_operation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e511c4a3d2a1f64aafc1f5df37a2ffcf7ef91b55"




 target="_blank"
 


&gt;dax: introduce DAX_RECOVERY_WRITE dax access mode&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f0614eefbf829a2914ac9a82cb8bbeaf1af28f9d"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;dax-for-5.18&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6b1f86f8e9c7f9de7ca1cb987b2cf25e99b1ae3a"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;folio-5.18b&amp;rsquo; of git://git.infradead.org/users/willy/pagecache&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fd60b28842df833477c42da6a6d63d0d114a5fcc"




 target="_blank"
 


&gt;fs: allocate inode by using alloc_inode_sb()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/46de8b979492e1377947700ecb1e3169088668b2"




 target="_blank"
 


&gt;fs: Convert __set_page_dirty_no_writeback to noop_dirty_folio&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5660a8630dab61a28e07ec00c42bf605b182d725"




 target="_blank"
 


&gt;fs: Remove noop_invalidatepage()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/db8cd5efeebc4904df1653926102413d088a5c7e"




 target="_blank"
 


&gt;dax: Fix missing kdoc for dax_device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a7e8de822e0b1979f08767c751f6c8a9c1d4ad86"




 target="_blank"
 


&gt;dax: make sure inodes are flushed before destroy cache&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f56caedaf94f9ced5dbfcdb0060a3e788d2078af"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;akpm&amp;rsquo; (patches from Andrew)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/14606001efb48a17be31a5bec626c13ca49d783a"




 target="_blank"
 


&gt;device-dax: compound devmap support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6ec228b6fef5ad3a1f19e76c29640a9161415240"




 target="_blank"
 


&gt;device-dax: remove pfn from _&lt;em&gt;dev_dax&lt;/em&gt;{pte,pmd,pud}_fault()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0e7325f03f09802d1667b8860e10fe39c25bf14c"




 target="_blank"
 


&gt;device-dax: set mapping prior to vmf_insert_pfn{,_pmd,pud}()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a0fb038e50d72f8e60731dc48fb83a3a141b822e"




 target="_blank"
 


&gt;device-dax: factor out page mapping initialization&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fc65c4eb0b2a27c30d35636650e3f4ddb07506cd"




 target="_blank"
 


&gt;device-dax: ensure dev_dax-&amp;gt;pgmap is valid for dynamic devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/09b80137033dbc5f1d197e99116527c0f8d253f2"




 target="_blank"
 


&gt;device-dax: use struct_size()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b9b5777f09be84d0de472ded2253d2f5101427f2"




 target="_blank"
 


&gt;device-dax: use ALIGN() for determining pgoff&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7ac5360cd4d02cc7e0eaf10867f599e041822f12"




 target="_blank"
 


&gt;dax: remove the copy_from_iter and copy_to_iter methods&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/30c6828a17a572aeb9e3a3bacce05fdcf1106541"




 target="_blank"
 


&gt;dax: remove the DAXDEV_F_SYNC flag&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fd1d00ec92002d8fe28ca981a72395eaa7ae3d11"




 target="_blank"
 


&gt;dax: simplify dax_synchronous and set_dax_synchronous&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cd913c76f489def1a388e3a5b10df94948ede3f5"




 target="_blank"
 


&gt;dax: return the partition offset from fs_dax_get_by_bdev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/60696eb26a37ab0199f7833ddbc1b75138c36d16"




 target="_blank"
 


&gt;fsdax: simplify the pgoff calculation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7b0800d00dae8c897398abaf61e82db0d67d7afc"




 target="_blank"
 


&gt;dax: remove dax_capable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0c445871388f4bac74ea74e8c7a12c6c05c6a427"




 target="_blank"
 


&gt;dax: move the partition alignment check into fs_dax_get_by_bdev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/586f61682816f0cf7865b2dab7210b8f5339f834"




 target="_blank"
 


&gt;dax: remove the pgmap sanity checks in generic_fsdax_supported&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fb08a1908cb119a4585611d91461ab6d27756b14"




 target="_blank"
 


&gt;dax: simplify the dax_device &amp;lt;-&amp;gt; gendisk association&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/afd586f0d06ce3d81b7c474499630fec88833828"




 target="_blank"
 


&gt;dax: remove CONFIG_DAX_DRIVER&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5d2a228b9e1319ff188f9ea89006fbe575561921"




 target="_blank"
 


&gt;dm: make the DAX support depend on CONFIG_FS_DAX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/83762cb5c7c464af4cbaba5679af31c7fe534979"




 target="_blank"
 


&gt;dax: Kill DEV_DAX_PMEM_COMPAT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e765f13ed126fe7e41d1a6e3c60d754cd6c2af93"




 target="_blank"
 


&gt;nvdimm/pmem: move dax_attribute_group from dax to pmem&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2e5fd489a4e5fcc97b035c03ace724c1d481a4c1"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-5.15&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2d338201d5311bcd79d42f66df4cecbcbc5f4f2c"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;akpm&amp;rsquo; (patches from Andrew)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/eedf634aac3b85b70e7b139c32fc68f565ecf815"




 target="_blank"
 


&gt;dax/kmem: use a single static memory group for a single probed unit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e1c158e4956612e7bada4c03dfb99210af4d6cde"




 target="_blank"
 


&gt;mm/memory_hotplug: remove nid parameter from remove_memory() and friends&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c6c3c5704ba70820f6b632982abde06661b7222a"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;driver-core-5.15-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bdd3c50d83bf7f6acc869b48d02670d19030ae03"




 target="_blank"
 


&gt;dax: remove bdev_dax_supported&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/60b8340f0d6587d7b51990689fcdae567f309fbf"




 target="_blank"
 


&gt;dax: stub out dax_supported for !CONFIG_FS_DAX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cd93a2a4d1b076f5c73d70d836c202bbcbeea49e"




 target="_blank"
 


&gt;dax: remove __generic_fsdax_supported&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/673a0658f6ac359131a881c0dcf1b91c2500ab9c"




 target="_blank"
 


&gt;dax: move the dax_read_lock() locking into dax_supported&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1b7646014e0d838b06be7288e2dec3262948cc56"




 target="_blank"
 


&gt;dax: mark dax_get_by_host static&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/39b6389a7fdc0457d980a3ea1e77ca457402f477"




 target="_blank"
 


&gt;dax: stop using bdevname&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/96dcb97d0a40a60b9aee9f2c7a44ce8a1b6704bc"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-5.14/dax&amp;rsquo; into libnvdimm-fixes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fc7a6209d5710618eb4f72a77cd81b8d694ecf89"




 target="_blank"
 


&gt;bus: Make remove callback return void&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b05d4c576b697b9f462b9c532c997171d5c3b067"




 target="_blank"
 


&gt;dax: Ensure errno is returned from dax_direct_access&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b82a96c9253333a8834b2df5f262a39cccf4f6c7"




 target="_blank"
 


&gt;fs: remove noop_set_page_dirty()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9de82caad0282205d4c38a39456bce58e3219540"




 target="_blank"
 


&gt;dax: avoid -Wempty-body warnings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5ceabb6078b80a8544ba86d6ee523ad755ae6d5e"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;work.misc&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/64ffe84320745ea836555ad207ebfb0e896b6167"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-5.12/dax&amp;rsquo; into for-5.12/libnvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6f24784f00f2b5862b367caeecc5cca22a77faa3"




 target="_blank"
 


&gt;whack-a-mole: don&amp;rsquo;t open-code iminor/imajor&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0d519e0d52ee7c532d4018b90cd0b042d374c06d"




 target="_blank"
 


&gt;dax-device: Make remove callback return void&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c80b53204d6ee8f70e5f4e846bc0e62dda64aee0"




 target="_blank"
 


&gt;device-dax: Drop an empty .remove callback&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e307bf11c5198dbc0c9de0694c3e85c681648df6"




 target="_blank"
 


&gt;device-dax: Fix error path in dax_driver_register&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8029968e2ae02361f376751459dc644b45970b40"




 target="_blank"
 


&gt;device-dax: Properly handle drivers without remove callback&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5b8e64f1ada37574b9ab124e1414af2adf688a19"




 target="_blank"
 


&gt;device-dax: Prevent registering drivers without probe callback&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1f975074634a63f014e2b7e76852ee6d6005a91d"




 target="_blank"
 


&gt;libnvdimm: Make remove callback return void&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7323fb22f05ff1d20498d267828870a5fbbaebd6"




 target="_blank"
 


&gt;device-dax: Fix default return code of range_parse()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1f13d2f7d8a407be09e841f17805b2451271d493"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-5.11&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ff8da37d3d8d438ded5a4841d979899269b94d0d"




 target="_blank"
 


&gt;device-dax: Avoid an unnecessary check in alloc_dev_dax_range()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6268d7da4d192af339f4d688942b9ccb45a65e04"




 target="_blank"
 


&gt;device-dax: Fix range release&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8bcbe3132c66c07d03f64d5da80be753359f2e92"




 target="_blank"
 


&gt;device-dax: delete a redundancy check in dev_dax_validate_align()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1aa574312518ef1d60d2dc62d58f7021db3b163a"




 target="_blank"
 


&gt;device-dax/core: Fix memory leak when rmmod dax.ko&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4e6a7b3bbd5a6f9e6f0c5c3ad976ed116c7ade79"




 target="_blank"
 


&gt;device-dax/pmem: Convert comma to semicolon&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dd3b614f858d88f33e0cf8b7353e2ad937e71da3"




 target="_blank"
 


&gt;vm_ops: rename .split() callback to .may_split()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7d18dd75a8afc072aabc77f2a9c3df94cdc53f33"




 target="_blank"
 


&gt;device-dax/kmem: use struct_size()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a927bd6ba952d13c52b8b385030943032f659a3e"




 target="_blank"
 


&gt;mm: fix phys_to_target_node() and memory_add_physaddr_to_nid() exports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/694565356c2e06224d94774a42709cc8dfab49ee"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;fuse-update-5.10&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b6117199787c60539105d2de0d010146e8396fc3"




 target="_blank"
 


&gt;mm/memory_hotplug: prepare passing flags to add_memory() and friends&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a455aa72f7c46b881721668b3ee810713adc7a5b"




 target="_blank"
 


&gt;device-dax/kmem: fix resource release&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8490e2e25b5a1f9591145f0e3bbd09b99409be76"




 target="_blank"
 


&gt;device-dax: add a range mapping allocation attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5a505603a917854fd68d2c25e86e1fb96c845ced"




 target="_blank"
 


&gt;dax/hmem: introduce dax_hmem.region_idle parameter&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6d82120f41561426dd67c86380d779b4599d070d"




 target="_blank"
 


&gt;device-dax: add an &amp;lsquo;align&amp;rsquo; attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/33cf94d7176672174042bea0566065f356e2caab"




 target="_blank"
 


&gt;device-dax: make align a per-device property&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0b07ce872a9eca1ff88c0eb7f6e92dde127d21ca"




 target="_blank"
 


&gt;device-dax: introduce &amp;lsquo;mapping&amp;rsquo; devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/60e93dc097f7f13a16a7e4b75b8803eb2adbb721"




 target="_blank"
 


&gt;device-dax: add dis-contiguous resource support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b7b3c01b191596d27a6980d1a42504f5b607f802"




 target="_blank"
 


&gt;mm/memremap_pages: support multiple ranges per invocation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a4574f63edc6f76fb46dcd65d3eb4d5a8e23ba38"




 target="_blank"
 


&gt;mm/memremap_pages: convert to &amp;lsquo;struct range&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fcffb6a1df921c81579e9c01f9caa281c3f991d5"




 target="_blank"
 


&gt;device-dax: add resize support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0f3da14a4f0503998fc6c12da3d2fc6e8b33e669"




 target="_blank"
 


&gt;device-dax: introduce &amp;lsquo;seed&amp;rsquo; devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f11cf813dee20e67eac22a6d78502aa564554eb4"




 target="_blank"
 


&gt;device-dax: introduce &amp;lsquo;struct dev_dax&amp;rsquo; typed-driver operations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c2f3011ee697f85ba0166fb3780332aafc66b8f4"




 target="_blank"
 


&gt;device-dax: add an allocation interface for device-dax instances&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0513bd5bb11456d45250c9283e1cb52533125180"




 target="_blank"
 


&gt;device-dax/kmem: replace release_resource() with release_mem_region()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7e6b431aaef8b611a5adcd7f18fe089ff0d7bb59"




 target="_blank"
 


&gt;device-dax/kmem: move resource name tracking to drvdata&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/59bc8d10dc417884a3bc18a092a62e13645ed044"




 target="_blank"
 


&gt;device-dax/kmem: introduce dax_kmem_range()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f5516ec5efb9fe0f426a46eeef25d389d3c2f988"




 target="_blank"
 


&gt;device-dax: make pgmap optional for instance creation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/174ebece379bad6331048560dc7f7abfdb8442ee"




 target="_blank"
 


&gt;device-dax: move instance creation parameters to &amp;lsquo;struct dev_dax_data&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ec826909981c0b3262681ed7021b959593426d46"




 target="_blank"
 


&gt;device-dax: drop the dax_region.pfn_flags attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5ccac54f3e124a49789c3773d5a351e87470cf12"




 target="_blank"
 


&gt;ACPI: HMAT: attach a device for each soft-reserved range&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c01044cc819160323f3ca4acd44fca487c4432e6"




 target="_blank"
 


&gt;ACPI: HMAT: refactor hmat_register_target_device to hmem_register_device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d4c5da5049ac27c6ef8f6f98548c3a1ade352d25"




 target="_blank"
 


&gt;dax: Fix stack overflow when mounting fsdax pmem device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e2ec5128254518cae320d5dc631b71b94160f663"




 target="_blank"
 


&gt;dm: Call proper helper to determine dax support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4f8b0a5b3f7e5f03b188de9025b60c15559790f9"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-fix-v5.9-rc5&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1a9d5d405962d134acb8efb4ccb4bc17805134c7"




 target="_blank"
 


&gt;dax: Modify bdev_dax_pgoff() to handle NULL bdev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/68beef571071014ef34a3beac65fe2af7e8e3cf6"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;for-linus-5.9-rc4-tag&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4533d3aed857c558d6aabd00d0cb04100c5a2258"




 target="_blank"
 


&gt;memremap: rename MEMORY_DEVICE_DEVDAX to MEMORY_DEVICE_GENERIC&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6180bb446ab624b9ab8bf201ed251ca87f07b413"




 target="_blank"
 


&gt;dax: fix detection of dax support for non-persistent memory block devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c2affe920b0e0669650943ac086215cf6519be34"




 target="_blank"
 


&gt;dax: do not print error message for non-persistent memory block device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4bf5e3611895ede257d736b7359db669879a109f"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-5.9&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/eedfd73d401b5584ab270b5f9f80079e56c7807e"




 target="_blank"
 


&gt;drivers/dax: Expand lock scope to cover the use of addresses&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/231609785cbfb341e7d6d24a74d6ab8cc518835f"




 target="_blank"
 


&gt;dax: print error message by pr_info() in __generic_fsdax_supported()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e556f6ba10f0f3c3484a1597382ceaec1e7bc700"




 target="_blank"
 


&gt;block: remove the bd_queue field from struct block_device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8a725e4694b52ffad755500277d36f3b2eb34755"




 target="_blank"
 


&gt;device-dax: add memory via add_memory_driver_managed()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/735e4ae5ba28c886d249ad04d3c8cc097dad6336"




 target="_blank"
 


&gt;vfs: track per-sb writeback errors and report them to syncfs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/60858c00e5f018eda711a3aa84cf62214ef62d61"




 target="_blank"
 


&gt;device-dax: don&amp;rsquo;t leak kernel memory to user space after unloading kmem&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4e4ced93794acb42adb19484132966defba8f3a6"




 target="_blank"
 


&gt;dax: Move mandatory -&amp;gt;zero_page_range() check in alloc_dax()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f605a263e0690177ecc180417eacf2b5507dd177"




 target="_blank"
 


&gt;dax, pmem: Add a dax operation zero_page_range&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f01b16a85bfae2e6b4f32de0a1f37ac4050dc316"




 target="_blank"
 


&gt;dax: Get rid of fs_dax_get_by_host() helper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d10032dd539c93dbff016f5667e5627c6c2a4467"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-5.5&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cb4dd729ee6ccc67ad604b1750990eb8c18783fa"




 target="_blank"
 


&gt;dax: Add numa_node to the default device-dax attributes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/153dd28647d63086dc6e1df5ee06fd0a5d6435a5"




 target="_blank"
 


&gt;dax: Simplify root read-only definition for the &amp;lsquo;resource&amp;rsquo; attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/770619a95106340230a72a725c958c037284ec1f"




 target="_blank"
 


&gt;dax: Create a dax device_type&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8f4b01fcded2dc821349cc0edfa5311c05abe293"




 target="_blank"
 


&gt;libnvdimm/namespace: Differentiate between probe mapping and runtime mapping&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a6c7f4c6aea5f4ca6056b06cec7ebd79f8c23e33"




 target="_blank"
 


&gt;device-dax: Add a driver for &amp;ldquo;hmem&amp;rdquo; devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/460370ab20b6cc174256e46e192adf01e730faf6"




 target="_blank"
 


&gt;dax: Fix alloc_dax_region() compile warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/933a90bf4f3505f8ec83bda21a3c7d70d7c2b426"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;work.mount0&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0fe49f70a08d7d25acee3b066a88c654fea26121"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;dax-for-5.3&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f8c3500cd137867927bc080f4a6e02e0222dd1b8"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-5.3&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9f960da72b25054163cf555e622dcdc3b8ccc488"




 target="_blank"
 


&gt;device-dax: &amp;ldquo;Hotremove&amp;rdquo; persistent memory that is used like normal RAM&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/31e4ca92a7dd4cdebd7fe1456b3b0b6ace9a816f"




 target="_blank"
 


&gt;device-dax: fix memory and resource leak if hotplug fails&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fefc1d97fa4b5e016bbe15447dc3edcd9e1bcb9f"




 target="_blank"
 


&gt;libnvdimm: add dax_dev sync flag&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ea31d5859f5862fc915ccf3fa34f6c6c5f63f336"




 target="_blank"
 


&gt;device-dax: use the dev_pagemap internal refcount&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d8668bb0451c3c45b59dbcde2654e0539aad1d2a"




 target="_blank"
 


&gt;memremap: pass a struct dev_pagemap to -&amp;gt;kill and -&amp;gt;cleanup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1e240e8d4a7d92232b6214e02a0a4197a53afd6c"




 target="_blank"
 


&gt;memremap: move dev_pagemap callbacks into a separate structure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3ed2dcdf54d5bf1f9823b5faf1a702e7cee53982"




 target="_blank"
 


&gt;memremap: validate the pagemap type passed to devm_memremap_pages&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/40cdc60ac16a42eb4e013f84d0e7aa1d6ee060d3"




 target="_blank"
 


&gt;device-dax: Add a &amp;lsquo;resource&amp;rsquo; attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/50f44ee7248ad2f7984ef081974a6ecd09724b3e"




 target="_blank"
 


&gt;mm/devm_memremap_pages: fix final page put race&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5b497af42fab12cadc0e29bcb7052cf9963603f5"




 target="_blank"
 


&gt;treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 295&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/75d4e06f049ffb059fdf7e81c0c4c9fab2ba60e4"




 target="_blank"
 


&gt;vfs: Convert dax to use the new mount API&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1f58bb18f6f28d1df0b7144d90bc90ee5672416d"




 target="_blank"
 


&gt;mount_pseudo(): drop &amp;rsquo;name&amp;rsquo; argument, switch to d_make_root()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b2ad81363f12261f8b6a97ed7723960ea6450f31"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-fixes-5.2-rc2&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ec8f24b7faaf3d4799a7c3f4c1b87f6b02778ad1"




 target="_blank"
 


&gt;treewide: Add SPDX license identifier - Makefile/Kconfig&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1a6e9e76b713d9632783efe78295ed3507fdad64"




 target="_blank"
 


&gt;device-dax: Drop register_filesystem()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7bf7eac8d648057519adb6fce1e31458c902212c"




 target="_blank"
 


&gt;dax: Arrange for dax_supported check to span multiple devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/83f3ef3de625a5766de2382f9e077d4daafd5bac"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-fixes-5.2-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fce86ff5802bac3a7b19db171aa1949ef9caac31"




 target="_blank"
 


&gt;mm/huge_memory: fix vmf_insert_pfn_{pmd, pud}() crash, handle unaligned addresses&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/67476656febd7ec5f1fe1aeec3c441fcf53b1e45"




 target="_blank"
 


&gt;drivers/dax: Allow to include DEV_DAX_PMEM as builtin&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/53e228299965fff2359857e5c592eadba65d95a9"




 target="_blank"
 


&gt;dax: make use of -&amp;gt;free_inode()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d521fbaeda726ef3a9dad91c0239e7207d9864b7"




 target="_blank"
 


&gt;dax/pmem: Fix whitespace in dax_pmem&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f67e3fb4891287b8248ebb3320f794b9f5e782d4"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;devdax-for-5.1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c221c0b0308fd01d9fb33a16f64d2fd95f8830a4"




 target="_blank"
 


&gt;device-dax: &amp;ldquo;Hotplug&amp;rdquo; persistent memory for use like normal RAM&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c347bd71dcdb2d0ac8b3a771486584dca8c8dd80"




 target="_blank"
 


&gt;device-dax: Add a &amp;lsquo;modalias&amp;rsquo; attribute to DAX &amp;lsquo;bus&amp;rsquo; devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ad428cdb525a97d15c0349fdc80f3d58befb50df"




 target="_blank"
 


&gt;dax: Check the end of the block-device capacity with dax_direct_access()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/21c75763a3ae18679e5c4e2260aa9379b073566b"




 target="_blank"
 


&gt;device-dax: Add a &amp;rsquo;target_node&amp;rsquo; attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/664525b2d84abca1074c9546654ae9689de8a818"




 target="_blank"
 


&gt;device-dax: Auto-bind device after successful new_id&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8fc5c73554db0ac18c0c6ac5b2099ab917f83bdf"




 target="_blank"
 


&gt;acpi/nfit, device-dax: Identify differentiated memory with a unique numa-node&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/730926c3b0998943654019f00296cf8e3b02277e"




 target="_blank"
 


&gt;device-dax: Add /sys/class/dax backwards compatibility&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d200781ef237a354d918ceff5cee350d88a93d42"




 target="_blank"
 


&gt;device-dax: Add support for a dax override driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/89ec9f2cfa36cc5fca2fb445ed221bb9add7b536"




 target="_blank"
 


&gt;device-dax: Move resource pinning+mapping into the common driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9567da0b408a2553d32ca83cba4f1fc5a8aad459"




 target="_blank"
 


&gt;device-dax: Introduce bus + driver model&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/51cf784c42d07fbd62cb604836a9270cf3361509"




 target="_blank"
 


&gt;device-dax: Start defining a dax bus model&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/753a0850e707e9a8c5861356222f9b9e4eba7945"




 target="_blank"
 


&gt;device-dax: Remove multi-resource infrastructure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/93694f9630b0ed29cda61df58e480dcb34ef52fd"




 target="_blank"
 


&gt;device-dax: Kill dax_region base&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/21b9e979501fdb5f6797193d70428a2b00bd5247"




 target="_blank"
 


&gt;device-dax: Kill dax_region ida&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a95c90f1e2c253b280385ecf3d4ebfe476926b28"




 target="_blank"
 


&gt;mm, devm_memremap_pages: fix shutdown handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/41c9b1be335b5afc3b5fb71c5d16f9d5939cd13f"




 target="_blank"
 


&gt;device-dax: Add missing address_space_operations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/36bdac1e674debd2714cb3e80eaa18266c2426e4"




 target="_blank"
 


&gt;drivers/dax/device.c: convert variable to vm_fault_t type&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2923b27e54242acf27fd16b299e102117c82f52f"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.19_dax-memory-failure&amp;rsquo; of gitolite.kernel.org:pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/828bf6e904eb8fc8969333568802689fbbf07a40"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.19_misc&amp;rsquo; of gitolite.kernel.org:pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e1fb4a0864958fac2fb1b23f9f4562a9f90e3e8f"




 target="_blank"
 


&gt;dax: remove VM_MIXEDMAP for fsdax and device dax&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b7751410c180a05fdc21268f8661b1480169b0df"




 target="_blank"
 


&gt;device-dax: avoid hang on error before devm_memremap_pages()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e0b401e3fef0f81fd87434793db1adb0d7568058"




 target="_blank"
 


&gt;dax/super: Do not request a pointer kaddr when not required&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/35de299547d1c3300e078f9f7c6eb01dadae47f9"




 target="_blank"
 


&gt;device-dax: Set page-&amp;gt;index&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2232c6382a453db73d2e723df1b52030066e135e"




 target="_blank"
 


&gt;device-dax: Enable page_mapping()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/226ab561075f6f8f3cd5f7b3b7544f3997aab51f"




 target="_blank"
 


&gt;device-dax: Convert to vmf_insert_mixed and vm_fault_t&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4596f55476b5b861ca37e525460d2e43e90f1f2e"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-fixes-4.18-rc5&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5a14e91d559aee5bdb0e002e1153fd9c4338a29e"




 target="_blank"
 


&gt;dev-dax: check_vma: ratelimit dev_info-s&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/15256f6cc4b44f2e70503758150267fd2a53c0d6"




 target="_blank"
 


&gt;dax: check for QUEUE_FLAG_DAX in bdev_dax_supported()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7d3bf613e99abbd96ac7b90ee3694a246c975021"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.18&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/930218affeadd1325ea17e053f0dcecf218f5a4f"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.18/mcsafe&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b56845794e1e93121acb74ca325db965035d5545"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.18/dax&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/285767604576148fc1be7fcd112e4a90eb0d6ad2"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;overflow-v4.18-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/acafe7e30216166a17e6e226aadc3ecb63993242"




 target="_blank"
 


&gt;treewide: Use struct_size() for kmalloc()-family&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/808c340be17dc77131fcdf9ad1eb34452d650da1"




 target="_blank"
 


&gt;dax: Use dax_write_cache* helpers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/80660f20252d6f76c9f203874ad7c7a4a8508cf8"




 target="_blank"
 


&gt;dax: change bdev_dax_supported() to support boolean returns&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ba23cba9b3bdc967aabdc6ff1e3e9b11ce05bb4f"




 target="_blank"
 


&gt;fs: allow per-device dax status checking for filesystems&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b3a9a0c36e1f7b9e2e6cf965c2bb973624f2b3b9"




 target="_blank"
 


&gt;dax: Introduce a -&amp;gt;copy_to_iter dax operation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e7638488434415aa478e78435cac8f0365737638"




 target="_blank"
 


&gt;mm: introduce MEMORY_DEVICE_FS_DAX and CONFIG_DEV_PAGEMAP_OPS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ef8423022324cf79bd1b41d8707c766461e7e555"




 target="_blank"
 


&gt;device-dax: allow MAP_SYNC to succeed&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9f3a0941fb5efaa4d27911e251dc595034d58baa"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.17&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e13e75b86ef2f88e3a47d672dd4c52a293efb95b"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.17/dax&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c1d53b92b95c23909de11a97bcc51f26a9509231"




 target="_blank"
 


&gt;device-dax: implement -&amp;gt;pagesize() for smaps to report MMUPageSize&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2080e88aecd78773eacbe7d6b9d59968000ba55a"




 target="_blank"
 


&gt;dax: introduce CONFIG_DAX_DRIVER&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3fe0791c295cfd3cd735de7a32cc0780949c009f"




 target="_blank"
 


&gt;dax: store pfns in the radix&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d812b0d500040b8c7b9c7a93f29be0a010eb09d1"




 target="_blank"
 


&gt;device-dax: use module_nd_driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6daaca522ab464d32419aea61dd1b41dc1c71dba"




 target="_blank"
 


&gt;device-dax: remove redundant &lt;strong&gt;func&lt;/strong&gt; in dev_dbg&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9d4949b4935831be10534d5432bf611285a572a5"




 target="_blank"
 


&gt;dax: -&amp;gt;direct_access does not sleep anymore&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d121f07691415df824e6b60520f782f6d13b3c81"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.16/dax&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1c47a645ba48508dd641315ba01a949bea979e8e"




 target="_blank"
 


&gt;device-dax: Fix trailing semicolon&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/569d0365f571fa6421a5c80bc30d1b2cdab857fe"




 target="_blank"
 


&gt;dax: require &amp;lsquo;struct page&amp;rsquo; by default for filesystem dax&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e8d5134833006a46fcbefc5f4a84d0b62bd520e7"




 target="_blank"
 


&gt;memremap: change devm_memremap_pages interface to use struct dev_pagemap&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9702cffdbf2129516db679e4467db81e1cd287da"




 target="_blank"
 


&gt;device-dax: implement -&amp;gt;split() to catch invalid munmap attempts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a3841f94c7ecb3ede0f888d3fcfe8fb6368ddd7a"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.15&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4247f24c23589bcc3bc3490515ef8c9497e9ae55"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.15/dax&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9f586fff6574f6ecbf323f92d44ffaf0d96225fe"




 target="_blank"
 


&gt;dax: fix general protection fault in dax_alloc_inode&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6a21586a637e624ae736f94aeb0839f6a1dd0411"




 target="_blank"
 


&gt;dax: stop requiring a live device for dax_flush()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/66a86cc10945648cf506ef314b98deeb7af06419"




 target="_blank"
 


&gt;dax: quiet bdev_dax_supported()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b24413180f5600bcb3bb70fbed5cf186b60864bd"




 target="_blank"
 


&gt;License cleanup: add SPDX GPL-2.0 license identifier to files with no license&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0a3ff78699d1817e711441715d22665475466036"




 target="_blank"
 


&gt;dev/dax: fix uninitialized variable build warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d083e6dae083ba3576ee454d5cab4491d9c21ec5"




 target="_blank"
 


&gt;dax: pr_err() strings should end with newlines&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dff4d1f6fe85627b7ce8e4c5291d8621a1995605"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;for-4.14/dm-changes&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c3ca015fab6df124c933b91902f3f2a3473f9da5"




 target="_blank"
 


&gt;dax: remove the pmem_dax_ops-&amp;gt;flush abstraction&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/26f2f4de0bd93cbe891e11307d9e4906253bfda8"




 target="_blank"
 


&gt;dax: fix FS_DAX=n BLOCK=y compilation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/78f35473508118df5ea04b9515ac3f1aaec0a980"




 target="_blank"
 


&gt;dax: introduce a fs_dax_get_by_bdev() helper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1731a47444e7bf66d5cf9415bbd6ac5e3903d719"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;for-4.13/dm-fixes&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/273752c9ff03eb83856601b2a3458218bb949e46"




 target="_blank"
 


&gt;dm, dax: Make sure dm_dax_flush() is called if device supports it&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bbb3be170ac2891526ad07b18af7db226879a8e7"




 target="_blank"
 


&gt;device-dax: fix sysfs duplicate warnings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/43fe51e11c194a6576634585f81ba33e104194a5"




 target="_blank"
 


&gt;device-dax: fix &amp;lsquo;passing zero to ERR_PTR()&amp;rsquo; warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/088737f44bbf6378745f5b57b035e57ee3dc4750"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;for-linus-v4.13-2&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b6ffe9ba46016f8351896ccee33bebcd0e5ea7c0"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.13&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5660e13d2fd6af1903d4b0b98020af95ca2d638a"




 target="_blank"
 


&gt;fs: new infrastructure for writeback error handling and reporting&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6e0c90d691cd5d90569f5918ab03eb76c81f9c6e"




 target="_blank"
 


&gt;libnvdimm, pmem, dax: export a cache control attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9a60c3ef577beb0376704808949f2c1f8fb0672c"




 target="_blank"
 


&gt;dax: convert to bitmask for flags&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5d61e43b3975c0582003329d9de9d5e85abf5d33"




 target="_blank"
 


&gt;dax: remove default copy_from_iter fallback&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/abebfbe2f7315dd3ec9a0c69596a76e32beb5749"




 target="_blank"
 


&gt;dm: add -&amp;gt;flush() dax operation support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7e026c8c0a4200da86bc51edeaad79dcdccf78ca"




 target="_blank"
 


&gt;dm: add -&amp;gt;copy_from_iter() dax operation support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b9d39d17e4819ca2e69ad1f14acaad12240a1de5"




 target="_blank"
 


&gt;device-dax: fix &amp;lsquo;dax&amp;rsquo; device filesystem inode destruction crash&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9d109081c261d87fc84e0cce245796796ae4c460"




 target="_blank"
 


&gt;dax: fix false CONFIG_BLOCK dependency&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0fcc3ab23d7395f58e8ab0834e7913e2e4314a83"




 target="_blank"
 


&gt;Merge branch &amp;rsquo;libnvdimm-fixes&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cf1e22891bee39f50e058bee0827086fd75a8717"




 target="_blank"
 


&gt;device-dax: kill NR_DEV_DAX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ef51042472f55b325fd7f2b26a2e29fd89757234"




 target="_blank"
 


&gt;block, dax: move &amp;ldquo;select DAX&amp;rdquo; from BLOCK to FS_DAX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/74d71a01abef37f71d914f2105a4cb8712a2beb8"




 target="_blank"
 


&gt;device-dax: Tell kbuild DEV_DAX_PMEM depends on DEV_DAX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/53ef7d0e208fa38c3f63d287e0c3ab174f1e1235"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.12&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/736163671bcb163fc82600b46c83dfa89d532d95"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.12/dax&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/af82455f7dbd9dc20244d80d033721b30d22c065"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;char-misc-4.12-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d3b5d35290d729a2518af00feca867385a1b08fa"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;x86-mm-for-linus&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/565851c972b50612f3a4542e26879ffb3e906fc2"




 target="_blank"
 


&gt;device-dax: fix sysfs attribute deadlock&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/71389703839ebe9cb426c72d5f0bd549592e583c"




 target="_blank"
 


&gt;mm, zone_device: Replace {get, put}_zone_device_page() with a single reference to fix pmem crash&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b0686260fecaa924d8eff2ace94bee70506bc308"




 target="_blank"
 


&gt;dax: introduce dax_direct_access()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c1d6e828a35df524df2af277eedd1471d05e4f4c"




 target="_blank"
 


&gt;pmem: add dax_operations support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6568b08b77816cda2a95919c7494108d983d5941"




 target="_blank"
 


&gt;dax: introduce dax_operations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/72058005411ffddcae6c06f7b691d635489132af"




 target="_blank"
 


&gt;dax: add a facility to lookup a dax device by &amp;lsquo;host&amp;rsquo; device name&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7b6be8444e0f0dd675b54d059793423d3c9b4c03"




 target="_blank"
 


&gt;dax: refactor dax-fs into a generic provider of &amp;lsquo;struct dax_device&amp;rsquo; instances&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5f0694b300b9fb8409272c550418c22e0e57314a"




 target="_blank"
 


&gt;device-dax: rename &amp;lsquo;dax_dev&amp;rsquo; to &amp;lsquo;dev_dax&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/762026203c0b87b1088342b664e67ca7c45fb7c4"




 target="_blank"
 


&gt;device-dax: improve fault handler debug output&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/54eafcc9e339affb8982fd21e1fc4aa4a036655b"




 target="_blank"
 


&gt;device-dax: fix dax_dev_huge_fault() unknown fault size handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bfca9acf1a5df0ff98fbf47e363adb48612bb7ec"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.11/libnvdimm&amp;rsquo; into for-4.12/dax&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/efebc711180f7fed701f6e23f23814fcfda7fbfc"




 target="_blank"
 


&gt;device-dax, tools/testing/nvdimm: enable device-dax with mock resources&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/956a4cd2c957acf638ff29951aabaa9d8e92bbc2"




 target="_blank"
 


&gt;device-dax: switch to srcu, fix rcu_read_lock() vs pte allocation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/57c0eabbd57e1a0872122525f6eeefe1f6529c33"




 target="_blank"
 


&gt;Merge 4.11-rc4 into char-misc-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/92a3fa075d3d2716b9c662814540f1d660cbf2f5"




 target="_blank"
 


&gt;device-dax: utilize new cdev_device_add helper function&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ed01e50acdd3e4a640cf9ebd28a7e810c3ceca97"




 target="_blank"
 


&gt;device-dax: fix cdev leak&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/52084f89b38cdd896b59627c629915ef1a7bf615"




 target="_blank"
 


&gt;device-dax: fix debug output typo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/70b085b06c4560a69e95607f77bb4c2b2e41943c"




 target="_blank"
 


&gt;device-dax: fix pud fault fallback handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0134ed4fb9e78672ee9f7b18007114404c81e63f"




 target="_blank"
 


&gt;device-dax: fix pmd/pte fault fallback handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/50d34394cee68dd12c5e01fff073d1167700bfce"




 target="_blank"
 


&gt;sched/headers: Prepare to remove the &amp;lt;linux/magic.h&amp;gt; include from &amp;lt;linux/sched/task_stack.h&amp;gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c791ace1e747371658237f0d30234fef56c39669"




 target="_blank"
 


&gt;mm: replace FAULT_FLAG_SIZE with parameter to huge_fault&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9557feee39b75ceb502b4777e08706df1ddf10ed"




 target="_blank"
 


&gt;dax: support for transparent PUD pages for device DAX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a2d581675d485eb7188f521f36efc114639a3096"




 target="_blank"
 


&gt;mm,fs,dax: change -&amp;gt;pmd_fault to -&amp;gt;huge_fault&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/11bac80004499ea59f361ef2a5516c84b6eab675"




 target="_blank"
 


&gt;mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f42003917b4569a2f4f0c79c35e1e3df2859f81a"




 target="_blank"
 


&gt;mm, dax: change pmd_fault() to take only vmf parameter&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d8a849e1bc123790bbbf1facba94452a3aef5736"




 target="_blank"
 


&gt;mm, dax: make pmd_fault() and friends be the same as fault()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3be134e5152f08e8bd3c2afdaac723f64d93c2bb"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.10&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c44ef859ceff45db1c72f9ccbfae96843c4b1501"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.10/libnvdimm&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d7fe1a67f658b50ec98ee1afb86df7b35c2b2593"




 target="_blank"
 


&gt;dax: add region &amp;lsquo;id&amp;rsquo;, &amp;lsquo;size&amp;rsquo;, and &amp;lsquo;align&amp;rsquo; attributes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1a29d85eb0f19b7d8271923d8917d7b4f5540b3e"




 target="_blank"
 


&gt;mm: use vmf-&amp;gt;address instead of of vmf-&amp;gt;virtual_address&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/325896ffdf90f7cbd59fb873b7ba20d60d1ddf3c"




 target="_blank"
 


&gt;device-dax: fix private mapping restriction, permit read-only&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/450c6633e874c4d38112b39647831f67b41a8067"




 target="_blank"
 


&gt;libnvdimm: use consistent naming for request_mem_region()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4cb19355ea19995941ccaad115dbfac6b75215ca"




 target="_blank"
 


&gt;device-dax: fail all private mapping attempts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6a84fb4b4e439a8ef0ce19ec7e7661ad76f655c9"




 target="_blank"
 


&gt;device-dax: check devm_nsio_enable() return value&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/52e73eb2872c9af6f382b2b22954ca8214397a4e"




 target="_blank"
 


&gt;device-dax: fix percpu_ref_exit ordering&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/867dfe342118b1ea0256a85f7c0d9ceb0ead032a"




 target="_blank"
 


&gt;nvdimm: make CONFIG_NVDIMM_DAX &amp;lsquo;bool&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e476f94482fc20a23b7b33b3d8e50f1953f71828"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.9/dax&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bc0a0fe94f33dd15edf2ed555bfc4d6dbb5e1995"




 target="_blank"
 


&gt;dax: use correct dev_t value&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d76911ee933a64c9dfc453e580e7ad612b394e83"




 target="_blank"
 


&gt;dax: convert devm_create_dax_dev to PTR_ERR&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4c3cb6e9a9d94d1553807854a565cd27ff4c22aa"




 target="_blank"
 


&gt;dax: fix mapping size check&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d0e5845561c238619de9f5b77e0d763f4c331ca5"




 target="_blank"
 


&gt;dax: fix device-dax region base&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9d2d01a031a945075d4609b1c4d3c73f10ba61e7"




 target="_blank"
 


&gt;dax: check resource alignment at dax region/device create&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9dc1e4927bfabaf654738c9ecca3a4926a0aaeb5"




 target="_blank"
 


&gt;dax: unmap/truncate on device shutdown&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3bc52c45bac26bf7ed1dc8d287ad1aeaed1250b6"




 target="_blank"
 


&gt;dax: define a unified inode/address_space for device-dax mappings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ba09c01d2fa866f22e42ac2af405fe386f491879"




 target="_blank"
 


&gt;dax: convert to the cdev api&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ebd84d724c85f22037a5c9cb04b9e6631309cb78"




 target="_blank"
 


&gt;dax: embed a struct device in dax_dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/af69f51e506f5ad3625c817ba2449a439bbe68ef"




 target="_blank"
 


&gt;dax: rename fops from dax_dev_ to dax_&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/043a9255021bad498e31365d104d33915b6a6e33"




 target="_blank"
 


&gt;dax: reorder dax_fops function definitions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ccdb07f62986968ecd687a71550ed187c8cf875c"




 target="_blank"
 


&gt;dax: cleanup needlessly global symbol warnings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d1c8e0c521c111f387a17096a17e49af5dea4aa9"




 target="_blank"
 


&gt;dax: use devm_add_action_or_reset()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dee410792419aaa8bc3e3b35d2ccb6515835916d"




 target="_blank"
 


&gt;/dev/dax, core: file operations and dax-mmap&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ab68f26221366f92611650e8470e6a926801c7d4"




 target="_blank"
 


&gt;/dev/dax, pmem: direct access to persistent memory&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Understanding STREAM: Benchmarking Memory Bandwidth for DRAM and CXL</title><link>https://stevescargall.com/blog/2025/01/understanding-stream-benchmarking-memory-bandwidth-for-dram-and-cxl/</link><pubDate>Mon, 20 Jan 2025 00:00:00 +0000</pubDate><guid>https://stevescargall.com/blog/2025/01/understanding-stream-benchmarking-memory-bandwidth-for-dram-and-cxl/</guid><description>&lt;p&gt;In today’s Artificial Intelligence (AI), Machine Learning (ML), and high-performance computing (HPC) landscape, memory bandwidth is a critical factor in determining overall system performance. As workloads grow increasingly data-intensive, traditional DRAM-only setups are often insufficient, prompting the rise of new memory expansion technologies like &lt;strong&gt;Compute Express Link (CXL)&lt;/strong&gt;. To evaluate memory bandwidth across DRAM and CXL devices, we use a modified industry-standard tool called &lt;strong&gt;STREAM&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;In this blog, we’ll explore what STREAM is, how it works, why it’s commonly used for benchmarking memory bandwidth, and how a modified version of STREAM can be used to measure performance in heterogeneous memory environments, including DRAM and CXL.&lt;/p&gt;</description></item><item><title>A Step-by-Step Guide on Using Cloud Images with QEMU 9 on Ubuntu 24.04</title><link>https://stevescargall.com/blog/2024/12/a-step-by-step-guide-on-using-cloud-images-with-qemu-9-on-ubuntu-24.04/</link><pubDate>Mon, 23 Dec 2024 00:00:00 +0000</pubDate><guid>https://stevescargall.com/blog/2024/12/a-step-by-step-guide-on-using-cloud-images-with-qemu-9-on-ubuntu-24.04/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Cloud images are pre-configured, optimized templates of operating systems designed specifically for cloud and virtualized environments. Cloud images are essentially vanilla operating system installations, such as Ubuntu, with the addition of the &lt;code&gt;cloud-init&lt;/code&gt; package. This package enables run-time configuration of the OS through user data, such as text files on an ISO filesystem or cloud provider metadata. Using cloud images significantly reduces the time and effort required to set up a new virtual machine. Unlike ISO images, which require a full installation process, cloud images boot up immediately with the OS pre-installed&lt;/p&gt;</description></item><item><title>Remote Development Using VS Code and SSH with AWS EC2</title><link>https://stevescargall.com/blog/2024/09/remote-development-using-vs-code-and-ssh-with-aws-ec2/</link><pubDate>Mon, 09 Sep 2024 00:00:00 +0000</pubDate><guid>https://stevescargall.com/blog/2024/09/remote-development-using-vs-code-and-ssh-with-aws-ec2/</guid><description>&lt;h1 id="how-to-perform-remote-code-development-using-vs-code-on-a-remote-aws-ec2-instance-via-ssh"&gt;How to Perform Remote Code Development Using VS Code on a Remote AWS EC2 Instance via SSH&lt;/h1&gt;
&lt;p&gt;Remote development has become a crucial tool for developers, enabling the convenience of coding and deploying directly to remote environments. In this blog, I’ll walk you through the process of setting up &lt;strong&gt;Visual Studio Code (VS Code)&lt;/strong&gt; to develop remotely on an &lt;strong&gt;AWS EC2 instance&lt;/strong&gt; using &lt;strong&gt;SSH&lt;/strong&gt;. By the end of this guide, you&amp;rsquo;ll be able to connect to your EC2 instance from VS Code and develop code as if you were working locally.&lt;/p&gt;</description></item><item><title>How Much RAM Could a Vector Database Use If a Vector Database Could Use RAM</title><link>https://stevescargall.com/blog/2024/08/how-much-ram-could-a-vector-database-use-if-a-vector-database-could-use-ram/</link><pubDate>Sat, 24 Aug 2024 00:00:00 +0000</pubDate><guid>https://stevescargall.com/blog/2024/08/how-much-ram-could-a-vector-database-use-if-a-vector-database-could-use-ram/</guid><description>&lt;p&gt;&lt;em&gt;Featured image generated by ChatGPT 4o model: &amp;ldquo;a low poly woodchuck by a serene lake, surrounded by mountains and a forest with tree leaves made from DDR memory modules. The woodchuck is munching on a memory DIMM. The only memory DIMM in the image should be the one being eaten.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;h1 id="how-much-ram-could-a-vector-database-use-if-a-vector-database-could-use-ram"&gt;How Much RAM Could a Vector Database Use If a Vector Database Could Use RAM?&lt;/h1&gt;
&lt;p&gt;Although the title is a punn from the famous &amp;ldquo;woodchuck rhyme,&amp;rdquo; the question is serious for LLM applications using vector databases. As large language models (LLMs) continue to evolve, leveraging vector databases to store and search embeddings is critical. Understanding the memory usage of these systems is essential for maintaining performance, response times, and ensuring system scalability.&lt;/p&gt;</description></item><item><title>Understanding Memory Usage with `smem`</title><link>https://stevescargall.com/blog/2024/08/understanding-memory-usage-with-smem/</link><pubDate>Tue, 20 Aug 2024 00:00:00 +0000</pubDate><guid>https://stevescargall.com/blog/2024/08/understanding-memory-usage-with-smem/</guid><description>&lt;p&gt;Memory management is crucial for Linux administrators and developers, especially when optimizing performance for resource-intensive applications. While tools like &lt;code&gt;top&lt;/code&gt; and &lt;code&gt;htop&lt;/code&gt; are commonly used to monitor system performance, they often don&amp;rsquo;t provide enough detail regarding memory usage breakdown. This is where &lt;code&gt;smem&lt;/code&gt; comes into play.&lt;/p&gt;
&lt;h3 id="what-is-smem"&gt;What is &lt;code&gt;smem&lt;/code&gt;?&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;smem&lt;/code&gt; is a command-line tool that reports memory usage per process and provides better insight into shared memory than most traditional tools, taking shared memory pages into account. Unlike &lt;code&gt;top&lt;/code&gt; or &lt;code&gt;htop&lt;/code&gt;, which primarily display RSS (Resident Set Size), &lt;code&gt;smem&lt;/code&gt; can also show USS (Unique Set Size), which is a better metric for understanding how much memory would be freed if a particular process were terminated. This blog will guide you through using &lt;code&gt;smem&lt;/code&gt;, explaining these critical memory metrics and providing comparisons to more familiar tools.&lt;/p&gt;</description></item><item><title>Benchmarking GPUs: Measuring Throughput between CPU and GPU</title><link>https://stevescargall.com/blog/2024/08/benchmarking-gpus-measuring-throughput-between-cpu-and-gpu/</link><pubDate>Fri, 16 Aug 2024 00:00:00 +0000</pubDate><guid>https://stevescargall.com/blog/2024/08/benchmarking-gpus-measuring-throughput-between-cpu-and-gpu/</guid><description>&lt;p&gt;This article was inspired by a &lt;a href="https://www.linkedin.com/posts/dennis-kennetz_softwareengineering-cuda-activity-7229229553980772353-HExs"




 target="_blank"
 


&gt;LinkedIn post&lt;/a&gt;
 by &lt;a href="https://www.linkedin.com/in/dennis-kennetz/"




 target="_blank"
 


&gt;Dennis Kennetz&lt;/a&gt;
. The CPU to GPU bandwidth check is available on &lt;a href="https://github.com/drkennetz/cuda_examples/tree/main/003_bandwidth_check"




 target="_blank"
 


&gt;GitHub&lt;/a&gt;
 which uses a specific flow to assess the data transfer rates. Like many in the industry, my focus is on AI and ML workloads and how we can improve efficiencies and performance using DRAM, CXL, CPU, GPUs, and software improvements.&lt;/p&gt;
&lt;p&gt;In the rapidly evolving landscape of artificial intelligence (AI) and machine learning (ML), the ability to process vast amounts of data efficiently is paramount. As AI models grow in complexity and size, the demand for high-performance computing resources intensifies. At the heart of this demand lies the crucial task of optimizing data transfers between various components of a computing system, particularly from DRAM, CPU, and emerging technologies like CXL (Compute Express Link) to and from the GPU.&lt;/p&gt;</description></item><item><title>50 Generative AI Prompts I use as a Product Manager to Improve Efficiency and Product Quality</title><link>https://stevescargall.com/blog/2024/08/50-generative-ai-prompts-i-use-as-a-product-manager-to-improve-efficiency-and-product-quality/</link><pubDate>Tue, 13 Aug 2024 00:00:00 +0000</pubDate><guid>https://stevescargall.com/blog/2024/08/50-generative-ai-prompts-i-use-as-a-product-manager-to-improve-efficiency-and-product-quality/</guid><description>&lt;p&gt;As a product manager, the success of our products depends on our ability to make informed, strategic decisions quickly and efficiently. In the fast-paced world of the IT industry, it’s crucial to stay ahead of trends, understand our customers deeply, and align our product development with our business goals. This is where generative AI and a well-crafted set of prompts have become invaluable tools in my daily workflow.&lt;/p&gt;
&lt;h2 id="why-i-use-these-prompts-daily"&gt;Why I Use These Prompts Daily&lt;/h2&gt;
&lt;p&gt;Every day, I’m faced with decisions that can significantly impact the trajectory of our product roadmap, customer satisfaction, and ultimately, our bottom line. The prompts I use are not just about generating ideas but about driving actionable insights that are tailored to our specific needs. These prompts cover a wide range of product management aspects—from prioritizing features based on customer feedback to crafting a go-to-market strategy that aligns with our business objectives.&lt;/p&gt;</description></item><item><title>Linux Kernel 6.10 is Released: This is What's New for Compute Express Link (CXL)</title><link>https://stevescargall.com/blog/2024/07/linux-kernel-6.10-is-released-this-is-whats-new-for-compute-express-link-cxl/</link><pubDate>Sun, 14 Jul 2024 00:00:00 +0000</pubDate><guid>https://stevescargall.com/blog/2024/07/linux-kernel-6.10-is-released-this-is-whats-new-for-compute-express-link-cxl/</guid><description>&lt;p&gt;The Linux Kernel 6.10 release brings several improvements and additions related to Compute Express Link (CXL) technology.&lt;/p&gt;
&lt;h2 id="cxl-related-changes-from-kernel-v69-to-v610"&gt;CXL related changes from Kernel v6.9 to v6.10:&lt;/h2&gt;
&lt;p&gt;Here is the detailed list of all commits merged into the 6.10 Kernel for CXL and DAX. This list was generated by the &lt;a href="https://github.com/sscargal/linux-cxl-tracker"




 target="_blank"
 


&gt;Linux Kernel CXL Feature Tracker&lt;/a&gt;
.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a0f39d51dbf72c28283bd201b97559ed82bc0fe5"




 target="_blank"
 


&gt;cxl: documentation: add missing files to cxl driver-api&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/84328c5acebc10c8cdcf17283ab6c6d548885bfc"




 target="_blank"
 


&gt;cxl/region: check interleave capability&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/285f2a08841432fc3e498b1cd00cce5216cdf189"




 target="_blank"
 


&gt;cxl/region: Avoid null pointer dereference in region lookup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/84ec985944ef34a34a1605b93ce401aa8737af96"




 target="_blank"
 


&gt;cxl/mem: Fix no cxl_nvd during pmem region auto-assembling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/49ba7b515c4c0719b866d16f068e62d16a8a3dd1"




 target="_blank"
 


&gt;cxl/region: Fix memregion leaks in devm_cxl_add_region()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2c92ca849fcc6ee7d0c358e9959abc9f58661aea"




 target="_blank"
 


&gt;tracing/treewide: Remove second parameter of __assign_str()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f0bae243b2bcf2b160ae547463bf542762beef8f"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;pci-v6.10-changes&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2e9250022e9f2c9cde3b98fd26dcad1c2a9aedf3"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-6.10&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/934edcd436dca0447e0d3691a908394ba16d06c3"




 target="_blank"
 


&gt;cxl: Add post-reset warning if reset results in loss of previously committed HDM decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/962f1e79e7acfb30207a378894b1bbf6742e6212"




 target="_blank"
 


&gt;PCI/CXL: Move CXL Vendor ID to pci_ids.h&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/df2a8f4b444f92152a9e981d9b0eb0776130892a"




 target="_blank"
 


&gt;Merge remote-tracking branch &amp;lsquo;cxl/for-6.10/cper&amp;rsquo; into cxl-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c19ac30eda3a1d14d4883de0ea214b6c5c96a9b4"




 target="_blank"
 


&gt;cxl/pci: Process CPER events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d357dd8ad2f154376e5cb930284e7bf4fe21ffaa"




 target="_blank"
 


&gt;cxl/region: Convert cxl_pmem_region_alloc to scope-based resource management&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e4ff70a8e3352f71b5db52c752a9417402a098c8"




 target="_blank"
 


&gt;cxl/acpi: Cleanup __cxl_parse_cfmws()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1c987cf22d6b65ade46145c03eef13f0e3e81d83"




 target="_blank"
 


&gt;cxl/region: Fix cxlr_pmem leaks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/660c0a8679e57e9147c27962605e8f94bd520b5e"




 target="_blank"
 


&gt;Merge remote-tracking branch &amp;lsquo;cxl/for-6.10/dpa-to-hpa&amp;rsquo; into cxl-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6aec00139d3a83e2394d4bcb0084e872b4036e8f"




 target="_blank"
 


&gt;cxl/core: Add region info to cxl_general_media and cxl_dram events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/86954ff5032d9d60a5458334001ab3ae3b2c45e8"




 target="_blank"
 


&gt;cxl/region: Move cxl_trace_hpa() work to the region driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b98d042698a32518c93e47730e9ad86b387a9c21"




 target="_blank"
 


&gt;cxl/region: Move cxl_dpa_to_region() work to the region driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2042d11cb57b7e0cbda7910e5ff80e9e8bf0ae17"




 target="_blank"
 


&gt;cxl/trace: Correct DPA field masks for general_media &amp;amp; dram events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/db4fdb73f9835cab1e21c901e59d17fad32a0369"




 target="_blank"
 


&gt;Merge remote-tracking branch &amp;lsquo;cxl/for-6.10/add-log-mbox-cmds&amp;rsquo; into cxl-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6ef37af6f465127d7a81d7d2efa228f91d725bf8"




 target="_blank"
 


&gt;cxl/hdm: Debug, use decoder name function&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4cce9c6d4bde821c21f7bd75c26f1e98a00d3858"




 target="_blank"
 


&gt;cxl: Fix use of phys_to_target_node() for x86&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4afaed94bc2f635fa03ea1c2cdb9c5bf1ef9bd9b"




 target="_blank"
 


&gt;cxl/hdm: dev_warn() on unsupported mixed mode decoder&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/54e8dd59a76c031317eef61fef93f01d4e76fd3e"




 target="_blank"
 


&gt;cxl/hdm: Add debug message for invalid interleave granularity&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3381586a40b93d04cf311ba6ccc9858bee5d2fa2"




 target="_blank"
 


&gt;cxl: Fix compile warning for cxl_security_ops extern&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/206f9fa9d55592c8cea0ccf84a5242b7c7cf3748"




 target="_blank"
 


&gt;cxl/mbox: Add Clear Log mailbox command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/940325add1c54e3018277d6d783ec419262729e8"




 target="_blank"
 


&gt;cxl/mbox: Add Get Log Capabilities and Get Supported Logs Sub-List commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5d211c7090590033581175d6405ae40917ca3a06"




 target="_blank"
 


&gt;cxl: Fix cxl_endpoint_get_perf_coordinate() support for RCH&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4b759dd5765503bd466defac7d93aca14c23a15d"




 target="_blank"
 


&gt;cxl/core: Fix potential payload size confusion in cxl_mem_get_poison()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/586b5dfb51b962c1b6c06495715e4c4f76a7fc5a"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-fixes-6.9-rc4&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7bcf809b1e7889ab7e75fe1fcf8f1a98332f36d2"




 target="_blank"
 


&gt;cxl: Add checks to access_coordinate calculation to fail missing data&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/001c5d19341a39cb683ab0a18ce4b662a09d96a0"




 target="_blank"
 


&gt;cxl: Consolidate dport access_coordinate -&amp;gt;hb_coord and -&amp;gt;sw_coord into -&amp;gt;coord&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/51293c565cf4b8d57c154efadb57b17866c74bcb"




 target="_blank"
 


&gt;cxl: Fix incorrect region perf data calculation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/592780b8391fe31f129ef4823c1513528f4dcb76"




 target="_blank"
 


&gt;cxl: Fix retrieving of access_coordinates in PCIe path&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/648dae58a830ecceea3b1bebf68432435980f137"




 target="_blank"
 


&gt;cxl: Remove checking of iter in cxl_endpoint_get_perf_coordinates()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f7c52345ccc96343c0a05bdea3121c8ac7b67d5f"




 target="_blank"
 


&gt;cxl/core: Fix initialization of mbox_cmd.size_out in get event&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5c88a9ccd4c431d58b532e4158b6999a8350062c"




 target="_blank"
 


&gt;cxl/core/regs: Fix usage of map-&amp;gt;reg_type in cxl_decode_regblock() before assigned&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b7c59b038c656214f56432867056997c2e0fc268"




 target="_blank"
 


&gt;cxl/mem: Fix for the index of Clear Event Record Handle&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a46aba14cf8f35b13d8846217740da9935403b2a"




 target="_blank"
 


&gt;cxl: remove CONFIG_CXL_PMU entry in drivers/cxl/Kconfig&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ad584d73a22b2f6e6b4c928956fdece5c44cdb3e"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;trace-v6.9-2&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6c871260965255a1c142fb77ccee58b172d1690b"




 target="_blank"
 


&gt;cxl/trace: Properly initialize cxl_poison region name&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/88482878c3b4abc2a6e66e016cc01eacbdc5b0ed"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.9/cxl-fixes&amp;rsquo; into for-6.9/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/75f4d93ee8faf08546f3cc4c3d96c866b24358c8"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.9/cxl-einj&amp;rsquo; into for-6.9/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d5c0078033e2adf30e897d985fd29084ecb56b51"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.9/cxl-qos&amp;rsquo; into for-6.9/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c6c3187d66bc4e87086036266def4170742d7214"




 target="_blank"
 


&gt;lib/firmware_table: Provide buffer length argument to cdat_table_parse()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e0c818e00443ce4a704519d85a21e3c14179e3a6"




 target="_blank"
 


&gt;cxl/pci: Get rid of pointer arithmetic reading CDAT table&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ec8ffff3a9f86435996f71299ce729126a7ac8a2"




 target="_blank"
 


&gt;cxl/pci: Rename DOE mailbox handle to doe_mb&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/99b52aac2d40203d0f6468325018f68e2c494c24"




 target="_blank"
 


&gt;cxl: Fix the incorrect assignment of SSLBIS entry pointer initial location&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8039804cfa7314ad50085a779923aa5469889f88"




 target="_blank"
 


&gt;cxl/core: Add CXL EINJ debugfs files&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/debdce20c4f28b7e5aa48512e7abf270a00e9051"




 target="_blank"
 


&gt;cxl/region: Deal with numa nodes not enumerated by SRAT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/067353a46d8ccdac279ebab97c038c3658e97541"




 target="_blank"
 


&gt;cxl/region: Add memory hotplug notifier for cxl region&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c20eaf44113eac090b0d77fa2036143a836b9f56"




 target="_blank"
 


&gt;cxl/region: Add sysfs attribute for locality attributes of CXL regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3d9f4a197230d6f4d5f816bcae0e0497b0eec410"




 target="_blank"
 


&gt;cxl/region: Calculate performance data for a region&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3d8be8b398e3d315200d6c139f0166fe5f1bd576"




 target="_blank"
 


&gt;cxl: Set cxlmd-&amp;gt;endpoint before adding port device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6ef83c4e19e9ce20a05127eec8a10911cf3516a7"




 target="_blank"
 


&gt;cxl: Move QoS class to be calculated from the nearest CPU&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/863027d40993f13155451bd898bfe4c4e9b7002f"




 target="_blank"
 


&gt;cxl: Split out host bridge access coordinates&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/032f7b37adff6985e22516053698b77131c2ce96"




 target="_blank"
 


&gt;cxl: Split out combine_coordinates() for common shared usage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bd98cbbbf82a3086423865816e1b5ab4bb4b6c60"




 target="_blank"
 


&gt;ACPI: HMAT / cxl: Add retrieval of generic port coordinates for both access classes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5c6224bfabbf7f3e491c51ab50fd2c6f92ba1141"




 target="_blank"
 


&gt;cxl/acpi: Fix load failures due to single window creation failure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/40de53fd002c6ba087a623722915e8006ed68a02"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.8/cxl-cper&amp;rsquo; into for-6.8/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f3e6b3ae9cfc128af11b665c6ef4022ba2683778"




 target="_blank"
 


&gt;acpi/ghes: Remove CXL CPER notifications&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0cab687205986491302cd2e440ef1d253031c221"




 target="_blank"
 


&gt;cxl/pci: Fix disabling memory if DVSEC CXL Range does not match a CFMWS window&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cc214417f06f6b0a8f6da09220c8bcdb742210b9"




 target="_blank"
 


&gt;cxl: Fix sysfs export of qos_class for memdev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/10cb393d769bed9473e1fa8d34e4d6d389db9155"




 target="_blank"
 


&gt;cxl: Remove unnecessary type cast in cxl_qos_class_verify()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/00413c15068276f6e5a50215849a8d4bd812b443"




 target="_blank"
 


&gt;cxl: Change &amp;lsquo;struct cxl_memdev_state&amp;rsquo; *_perf_list to single &amp;lsquo;struct cxl_dpa_perf&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cb66b1d60c283bb340a2fc19deff7de8acea74b1"




 target="_blank"
 


&gt;cxl/region: Allow out of order assembly of autodiscovered regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/453a7fde8031a5192ed2f9646ad048c1a5e930dc"




 target="_blank"
 


&gt;cxl/region: Handle endpoint decoders in cxl_region_find_decoder()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e6f39a90de9213693db19aeb2ddea54163f104d7"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;efi-fixes-for-v6.8-1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dbea519d6878c298dd0f48e6ec2dbacebe4bbb2a"




 target="_blank"
 


&gt;cxl/trace: Remove unnecessary memcpy&amp;rsquo;s&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/eef5c7b28dbecd6b141987a96db6c54e49828102"




 target="_blank"
 


&gt;cxl/pci: Skip to handle RAS errors if CXL.mem device is detached&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d76779dd3681c01a4c6c3cae4d0627c9083e0ee6"




 target="_blank"
 


&gt;cxl/region：Fix overflow issue in alloc_hpa()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d72a4caf685989e353dff0a97d7376ee10edbf87"




 target="_blank"
 


&gt;cxl/pci: Skip irq features if MSI/MSI-X are not supported&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/73bf93edeeea866b0b6efbc8d2595bdaaba7f1a5"




 target="_blank"
 


&gt;cxl/core: use sysfs_emit() for attr&amp;rsquo;s _show()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3601311593eb44d34f142b993cb6f38f9a7863b3"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.8/cxl-cper&amp;rsquo; into for-6.8/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dc97f6344f205b0dfa144e1b3e16d6dc05383d57"




 target="_blank"
 


&gt;cxl/pci: Register for and process CPER events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f9c683386f5bc0364615138ce2b14be50848dbcf"




 target="_blank"
 


&gt;cxl/events: Create a CXL event union&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6eade110754c085cee9e46f4d87d2c3ea4e59e8c"




 target="_blank"
 


&gt;cxl/events: Separate UUID from event structures&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/207a1f82301de0b4123f00a8d26ea55bb2484757"




 target="_blank"
 


&gt;cxl/events: Remove passing a UUID to known event traces&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4c115c9c1f81a6efe2bd68fcefec6836f7f3dc71"




 target="_blank"
 


&gt;cxl/events: Create common event UUID defines&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e16bf7e015d75fdd805528bedaf285fcb71dad2a"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.7/cxl&amp;rsquo; into for-6.8/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/80dda9a69a487c72ded1ac69234c8a89d5922b04"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.8/cxl-misc&amp;rsquo; into for-6.8/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d3953c78fc78d37f1b795740632ec7c3d83ef98a"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.8/cxl-cdat&amp;rsquo; into for-6.8/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/26a1a86dd093a10d0653429bf013dae6e95dccbf"




 target="_blank"
 


&gt;cxl/events: Promote CXL event structures to a core header&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/321dd36c286b3f982b341ce9a273b0f66f0e00ed"




 target="_blank"
 


&gt;cxl: Refactor to use __free() for cxl_root allocation in cxl_endpoint_port_probe()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/66f11890d35a609012037cccfd9e63ed98474f99"




 target="_blank"
 


&gt;cxl: Refactor to use __free() for cxl_root allocation in cxl_find_nvdimm_bridge()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/98e7ab3345e105339b7d919b4918f3c1879052ed"




 target="_blank"
 


&gt;cxl: Fix device reference leak in cxl_port_perf_data_calculate()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/44cd71ef7bacdfcf7c3e8a7b13f11a7eba69533d"




 target="_blank"
 


&gt;cxl: Convert find_cxl_root() to return a &amp;lsquo;struct cxl_root *&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/98856b2ea3065d8f60e90f423d7707f4a4706ec5"




 target="_blank"
 


&gt;cxl: Introduce put_cxl_root() helper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5459e186a5c9f412334321cff58d70dcb0e48a04"




 target="_blank"
 


&gt;cxl/port: Fix missing target list lock&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d6488fee66472b468ed88d265b14aa3f04dc3bdf"




 target="_blank"
 


&gt;cxl/port: Fix decoder initialization when nr_targets &amp;gt; interleave_ways&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c7ad3dc3649730af483ee1e78be5d0362da25bfe"




 target="_blank"
 


&gt;cxl/region: fix x9 interleave typo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6d0fc416c42a98b39a74151376928d577873941c"




 target="_blank"
 


&gt;cxl/trace: Pass UUID explicitly to event traces&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/11c83932028714014e4259072bd230473d6db730"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.8/cxl-cdat&amp;rsquo; into for-6.8/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/58f1e9d3a30438042fc9ed65b3dc56b2e5f7886a"




 target="_blank"
 


&gt;cxl/region: use %pap format to print resource_size_t&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7984d22f1315bf30433e11e5010e4ce09ca22037"




 target="_blank"
 


&gt;cxl/region: Add dev_dbg() detail on failure to allocate HPA space&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/185c1a489f873cb71520fc089401e02dbf302dcd"




 target="_blank"
 


&gt;cxl: Check qos_class validity on memdev probe&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/42834b17cf1f00fa79ff1f02134f9c576a125252"




 target="_blank"
 


&gt;cxl: Export sysfs attributes for memory device QoS class&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/86557b7edf77d2a3835136c325c8baa6fe803234"




 target="_blank"
 


&gt;cxl: Store QTG IDs and related info to the CXL memory device context&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7a4f148dd8d518bc1e012aa738b0ed6244959293"




 target="_blank"
 


&gt;cxl: Compute the entire CXL path latency and bandwidth data&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/14a6960b3e928ccea22d687fb0626237885a20bd"




 target="_blank"
 


&gt;cxl: Add helper function that calculate performance data for downstream ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1037b82fccfe9c001ffa7a883651bb4cde7b705c"




 target="_blank"
 


&gt;cxl: Store the access coordinates for the generic ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4d07a05397c8c15c37c8c3abb7afaea1dcd2f0e7"




 target="_blank"
 


&gt;cxl: Calculate and store PCI link latency for the downstream ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/790815902ec61ba1715fd67d3cb9036e13c942bc"




 target="_blank"
 


&gt;cxl: Add support for _DSM Function for retrieving QTG ID&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/80aa780dda20618be76162bf991d49cf962fda38"




 target="_blank"
 


&gt;cxl: Add callback to parse the SSLBIS subtable from CDAT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/63cef81b9dca6ddf1c34d697016f830ddcfadf28"




 target="_blank"
 


&gt;cxl: Add callback to parse the DSLBIS subtable from CDAT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ad6f04c0269b0b7908f09621d3b3c90def39a297"




 target="_blank"
 


&gt;cxl: Add callback to parse the DSMAS subtables from CDAT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ace196de694ebea5e2b3161e21ad169eb45accc6"




 target="_blank"
 


&gt;cxl: Fix unregister_region() callback parameter assignment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ef3d5cf9c59cccb012aa6b93d99f4c6eb5d6648e"




 target="_blank"
 


&gt;cxl/pmu: Ensure put_device on pmu devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c65efe3685f5d150eeca5599afeabdc85da899d1"




 target="_blank"
 


&gt;cxl/cdat: Free correct buffer on checksum error&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6f5c4eca48ffe18307b4e1d375817691c9005c87"




 target="_blank"
 


&gt;cxl/hdm: Fix dpa translation locking&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cb46fca88d14939da2785567253d0a297f31be27"




 target="_blank"
 


&gt;cxl: Add Support for Get Timestamp&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0e33ac9c3ffe5e4f55c68345f44cea7fec2fe750"




 target="_blank"
 


&gt;cxl/memdev: Hold region_rwsem during inject and clear poison ops&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5558b92e8d39e18aa19619be2ee37274e9592528"




 target="_blank"
 


&gt;cxl/core: Always hold region_rwsem while reading poison lists&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/36a1c2ee50f573972aea3c3019555f47ee0094c0"




 target="_blank"
 


&gt;cxl/hdm: Fix a benign lockdep splat&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b3741ac86c8e648709506102f7ab51905d50df43"




 target="_blank"
 


&gt;cxl/pci: Change CXL AER support check to use native AER&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5d09c63f11f083707b60c8ea0bb420651c47740f"




 target="_blank"
 


&gt;cxl/hdm: Remove broken error path&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/69d56b15a7941680aba8c3175b165221ecdf54b6"




 target="_blank"
 


&gt;cxl/hdm: Fix &amp;amp;&amp;amp; vs || bug&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b3cfdbf6a062bcfb431153f92d6bc1ad20bfc687"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.7/cxl-commited&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/de5512b2a293863261c6b04c0c73ec0ec09ed550"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.7/cxl&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/624eda92abd47f35386028e4a54d423037a75d12"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.7/cxl-qtg&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7f946e6d830fbdf411cd0641314edf11831efc88"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.7/cxl-rch-eh&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8358e8f1596b0b23d3bbc4cf5df5e5e55afc0122"




 target="_blank"
 


&gt;cxl: Add support for reading CXL switch CDAT table&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/670e4e88f3b1a88a5a089be329b95c51592973ee"




 target="_blank"
 


&gt;cxl: Add checksum verification to CDAT from CXL&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/529c0a44045e59c3c067f1f2c5887759644c50ae"




 target="_blank"
 


&gt;cxl: Export QTG ids from CFMWS to sysfs as qos_class attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/05e37b2138a6deb1f23daf1282dc86b29968a1ab"




 target="_blank"
 


&gt;cxl: Add decoders_committed sysfs attribute to cxl_port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/458ba8189cb4380aa6a6cc4d52ab067f80a64829"




 target="_blank"
 


&gt;cxl: Add cxl_decoders_committed() helper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e8db0701605bccbeb8d7907ecd2e50f346a725bd"




 target="_blank"
 


&gt;cxl/core/regs: Rework cxl_map_pmu_regs() to use map-&amp;gt;dev for devm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d3970f006f084e5aab5091a865203899259e4d70"




 target="_blank"
 


&gt;cxl/core/regs: Rename phys_addr in cxl_map_component_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d1a9def33d7043df7445114cb89c0aa65818ae91"




 target="_blank"
 


&gt;cxl/pci: Disable root port interrupts in RCH mode&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6ac07883dbb5f60f7bc56a13b7a84a382aa9c1ab"




 target="_blank"
 


&gt;cxl/pci: Add RCH downstream port error logging&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6c5f3aacb2963d49a11d4f8accb1188db6a6404b"




 target="_blank"
 


&gt;cxl/pci: Map RCH downstream AER registers for logging protocol errors&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bf6c9fa846e2a0f7db2a2eabd52ad4f8d4335bcb"




 target="_blank"
 


&gt;cxl/pci: Update CXL error logging to use RAS register address&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6777877eb7a3290cf0a8a6b621e46f72f9d94b6b"




 target="_blank"
 


&gt;PCI/AER: Refactor cper_print_aer() for use by CXL driver module&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f05fd10d138d8ba795fcd72ace99e9c8eb7e777e"




 target="_blank"
 


&gt;cxl/pci: Add RCH downstream port AER register discovery&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a2fcb84a1978e4e855d632a07412030e99819cb8"




 target="_blank"
 


&gt;cxl/port: Remove Component Register base address from struct cxl_port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f611d98a003644f76ad8fea7c3ca786a8ca69aff"




 target="_blank"
 


&gt;cxl/pci: Remove Component Register base address from struct cxl_dev_state&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8ce520fdea245c9e17ebc0659973984362bc1fde"




 target="_blank"
 


&gt;cxl/hdm: Use stored Component Register mappings to map HDM decoder capability&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2dd18279202f6247904e6e23738c1ec6a86b24b1"




 target="_blank"
 


&gt;cxl/pci: Store the endpoint&amp;rsquo;s Component Register mappings in struct cxl_dev_state&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4d758764e7f9db83806135f3bfcff1ab64f16e60"




 target="_blank"
 


&gt;cxl/port: Pre-initialize component register mappings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d8add49263a98d766e5758dc2ec9f83c3b685c12"




 target="_blank"
 


&gt;cxl/port: Rename @comp_map to @reg_map in struct cxl_register_map&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/33d9c987bf8fb68a9292aba7cc4b1711fcb1be4d"




 target="_blank"
 


&gt;cxl/port: Fix @host confusion in cxl_dport_setup_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dd22581f89537163f065e8ef7c125ce0fddf62cc"




 target="_blank"
 


&gt;cxl/core/regs: Rename @dev to @host in struct cxl_register_map&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8d2ad999ca3c64cb08cf6a58d227b9d9e746d708"




 target="_blank"
 


&gt;cxl/port: Fix delete_endpoint() vs parent unregistration race&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/98a04c7aced2b43b3ac4befe216c4eecc7257d4b"




 target="_blank"
 


&gt;cxl/region: Fix x1 root-decoder granularity calculations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3531b27f1f04a6bc9c95cf00d40efe618d57aa93"




 target="_blank"
 


&gt;cxl/region: Fix cxl_region_rwsem lock held when returning to user space&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0cf36a85c1408f86a967fb1db721de1b89b9e675"




 target="_blank"
 


&gt;cxl/region: Use cxl_calc_interleave_pos() for auto-discovery&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a3e00c964fb943934af916f48f0dd43b5110c866"




 target="_blank"
 


&gt;cxl/region: Calculate a target position in a region interleave&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1110581412c7a223439bb3ecdcdd9f4432e08231"




 target="_blank"
 


&gt;cxl/region: Prepare the decoder match range helper for reuse&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9214c9d56c470b183f3d374c7aed7c8756f80fd9"




 target="_blank"
 


&gt;cxl/mbox: Remove useless cast in cxl_mem_create_range_info()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0718588c7aaa7a1510b4de972370535b61dddd0d"




 target="_blank"
 


&gt;cxl/region: Do not try to cleanup after cxl_region_setup_targets() fails&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/88d3917f82ed4215a2154432c26de1480a61b209"




 target="_blank"
 


&gt;cxl/mem: Fix shutdown order&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/339818380868e34ff2c482db05031bf47a67d609"




 target="_blank"
 


&gt;cxl/memdev: Fix sanitize vs decoder setup locking&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5f2da19714465739da2449253b13ac06cb353a26"




 target="_blank"
 


&gt;cxl/pci: Fix sanitize notifier setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f29a824b0b6710328a78b018de3c2cfa9db65876"




 target="_blank"
 


&gt;cxl/pci: Clarify devm host for memdev relative setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2627c995c15dc375f4b5a591d782a14b1c0e3e7d"




 target="_blank"
 


&gt;cxl/pci: Remove inconsistent usage of dev_err_probe()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/08b8a8c05423174e3ef4fb0bd514de20088cf5ac"




 target="_blank"
 


&gt;cxl/pci: Remove hardirq handler for cxl_request_irq()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e30a106558e7d1e06d1fcfd12466dc646673d03d"




 target="_blank"
 


&gt;cxl/pci: Cleanup &amp;lsquo;sanitize&amp;rsquo; to always poll&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/76fe8713dd0a1331d84d767e8e5d3f365d959e8a"




 target="_blank"
 


&gt;cxl/pci: Remove unnecessary device reference management in sanitize work&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c66650d29764e228eba40b7a59fdb70fa6567daa"




 target="_blank"
 


&gt;cxl/acpi: Annotate struct cxl_cxims_data with __counted_by&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a76b62518eb30ef59158fa777ab2e2a23e1334f9"




 target="_blank"
 


&gt;cxl/port: Fix cxl_test register enumeration regression&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1b27978d69670282a1586465de640cff363a34d8"




 target="_blank"
 


&gt;cxl/pci: Update comment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7914992b37d5a4b165e65a32a7723afde9356720"




 target="_blank"
 


&gt;cxl/port: Quiet warning messages from the cxl_test environment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/18f35dc9314db89e2d215951e5afa3e636b72baf"




 target="_blank"
 


&gt;cxl/region: Refactor granularity select in cxl_port_setup_targets()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9e4edf1a2196fa4bea6e8201f166785bd066446a"




 target="_blank"
 


&gt;cxl/region: Match auto-discovered region decoders by HPA range&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d2f706058826b803f5b9dc3f6d4c213ae0c54eb9"




 target="_blank"
 


&gt;cxl/mbox: Fix CEL logic for poison and security commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/55b8ff06a0c70e9a6a1696c69f52c0240167d23f"




 target="_blank"
 


&gt;cxl/pci: Replace host_bridge-&amp;gt;native_aer with pcie_aer_is_native()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0339dc39a521ead3dbcf101acd8c028c61db57dc"




 target="_blank"
 


&gt;cxl/pci: Fix appropriate checking for _OSC while handling CXL RAS registers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ad64f5952ce3ea565c7f76ec37ab41df0dde773a"




 target="_blank"
 


&gt;cxl/memdev: Only show sanitize sysfs files when supported&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3de8cd2242419fb0adaee629d488acfd6cd93c92"




 target="_blank"
 


&gt;cxl/memdev: Document security state in kern-doc&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/91019b5bc7c2c5e6f676cce80ee6d12b2753d018"




 target="_blank"
 


&gt;cxl/acpi: Return &amp;lsquo;rc&amp;rsquo; instead of &amp;lsquo;0&amp;rsquo; in cxl_parse_cfmws()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4cf67d3cc9994a59cf77bb9c0ccf9007fe916afe"




 target="_blank"
 


&gt;cxl/acpi: Fix a use-after-free in cxl_parse_cfmws()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/95c6bff72b02ca084be60c08503d563e506b733f"




 target="_blank"
 


&gt;cxl/mem: Fix a double shift bug&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9171dfcda4f26dc6ebfd8d50137c5f294c2060ee"




 target="_blank"
 


&gt;cxl: fix CONFIG_FW_LOADER dependency&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fe77cc2e5a6a7c85f5c6ef8a39d7694ffc7f41c9"




 target="_blank"
 


&gt;cxl: Fix one kernel-doc comment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/71baec7b8500c92f9723f39d06a7ae465483da1f"




 target="_blank"
 


&gt;cxl/pci: Use correct flag for sanitize polling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0c0df63177e37ae826d803280eb2c5b6b6a7a9a4"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.5/cxl-rch-eh&amp;rsquo; into for-6.5/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d2f9fe695313b1e50028c1ec4cd09bea67152a60"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.5/cxl-perf&amp;rsquo; into for-6.5/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5d7107c72796df3be2ba574f1cf6eca75c60d5ef"




 target="_blank"
 


&gt;perf: CXL Performance Monitoring Unit driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e2c18eb50c7bb191d1ebfed973c2ec3e0066ad37"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.5/cxl-region-fixes&amp;rsquo; into for-6.5/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/aeaefabc59ec3c7edd6d0ca7add7aff2ff6f59d0"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.5/cxl-type-2&amp;rsquo; into for-6.5/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/867eab655d3b38740d8d6c24705af25e0b1dbdb6"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.5/cxl-fwupd&amp;rsquo; into for-6.5/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dcfb70610d40704d929d824db36b1444c8f37f7a"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.5/cxl-background&amp;rsquo; into for-6.5/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9521875bbe0055805557fff0b08fd9a29d02b7bc"




 target="_blank"
 


&gt;cxl: add a firmware update mechanism using the sysfs firmware loader&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/180ffd338c35057c3e8521d55555ae3b36b67fa6"




 target="_blank"
 


&gt;cxl/mem: Support Secure Erase&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/48dcdbb16e5dc0947f949ce17bc2d09a625a0d5c"




 target="_blank"
 


&gt;cxl/mem: Wire up Sanitization support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0c36b6ad436a38b167af16e6c690c890b8b2df62"




 target="_blank"
 


&gt;cxl/mbox: Add sanitization handling machinery&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9968c9dd568e83f57fdc1f6127f8b369a0594991"




 target="_blank"
 


&gt;cxl/mem: Introduce security state sysfs file&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8ea9c33d48f20479e87b5fc3a97cd25e656d30dc"




 target="_blank"
 


&gt;cxl/mbox: Allow for IRQ_NONE case in the isr&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8f0220af58c3b73e9041377a23708d37600b33c1"




 target="_blank"
 


&gt;Revert &amp;ldquo;cxl/port: Enable the HDM decoder capability for switch ports&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/516b300c4ca86aa7953b75ce79b5c5eea5779b22"




 target="_blank"
 


&gt;cxl/memdev: Formalize endpoint port linkage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f3c8a37a432e65dda1384929198dd12c1df3ea38"




 target="_blank"
 


&gt;cxl/pci: Unconditionally unmask 256B Flit errors&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8c897b366cda9c7e5ebbb6e8e3da238ecec84535"




 target="_blank"
 


&gt;cxl/region: Manage decoder target_type at decoder-attach time&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cecbb5da921231aa0933667fba85bea5b91d6a46"




 target="_blank"
 


&gt;cxl/hdm: Default CXL_DEVTYPE_DEVMEM decoders to CXL_DECODER_DEVMEM&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5aa39a9165cfc80d37f1db8ba8fee798a3ecf74f"




 target="_blank"
 


&gt;cxl/port: Rename CXL_DECODER_{EXPANDER, ACCELERATOR} =&amp;gt; {HOSTONLYMEM, DEVMEM}&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f6b8ab32e3ec48ecc02d1b4a42ee03576040ddd2"




 target="_blank"
 


&gt;cxl/memdev: Make mailbox functionality optional&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/59f8d1510739e92135df62d52e8c29bc075c46ad"




 target="_blank"
 


&gt;cxl/mbox: Move mailbox related driver state to its own data structure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3fe7feb0f37e4dcbd51b9a4019866dc55b965a55"




 target="_blank"
 


&gt;cxl: Remove leftover attribute documentation in &amp;lsquo;struct cxl_dev_state&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c192e5432f2519c8016af126076a5be1e5befbf5"




 target="_blank"
 


&gt;cxl: Fix kernel-doc warnings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/688baac1097d30a51d6469efdc8707fdac80eab6"




 target="_blank"
 


&gt;cxl/regs: Clarify when a &amp;lsquo;struct cxl_register_map&amp;rsquo; is input vs output&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/adfe19738b71a893da62cb2e30bd6bdb4299ea67"




 target="_blank"
 


&gt;cxl/region: Fix state transitions after reset failure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2ab47045ac96a605e3037d479a7d5854570ee5bf"




 target="_blank"
 


&gt;cxl/region: Flag partially torn down regions as unusable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d1257d098a5a38753a0736a50db0a26a62377ad7"




 target="_blank"
 


&gt;cxl/region: Move cache invalidation before region teardown, and before setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5d2ffbe4b81a3b6353bf888a523e7e5d4fec47ad"




 target="_blank"
 


&gt;cxl/port: Store the downstream port&amp;rsquo;s Component Register mappings in struct cxl_dport&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/19ab69a60e3ba58b4942b9ab5095cf90477a54ce"




 target="_blank"
 


&gt;cxl/port: Store the port&amp;rsquo;s Component Register mappings in struct cxl_port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/733b57f262b0e9f05ffeac102fe5bd729e263170"




 target="_blank"
 


&gt;cxl/pci: Early setup RCH dport component registers from RCRB&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/86917c560dcf29270093768d947387ca00f729b4"




 target="_blank"
 


&gt;cxl/mem: Prepare for early RCH dport component register setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f1d0525effc4fffe821905671ea24c30a4bfa393"




 target="_blank"
 


&gt;cxl/regs: Remove early capability checks in Component Register setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d8bffff2016f7aef1c1dbe01125720475507b6f2"




 target="_blank"
 


&gt;cxl/port: Remove Component Register base address from struct cxl_dport&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d02034b4025a086b1294bfd4a2e77525e816cea4"




 target="_blank"
 


&gt;cxl/acpi: Directly bind the CEDT detected CHBCR to the Host Bridge&amp;rsquo;s port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f44c7b7ad9b8def769ba709e369fe92906250c02"




 target="_blank"
 


&gt;cxl/acpi: Move add_host_bridge_uport() after cxl_get_chbs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d076bb8c4cee23fa1ddeae36f72a4695529c9198"




 target="_blank"
 


&gt;cxl/pci: Refactor component register discovery for reuse&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/573408049b7598a7c4ef6981b70b1275447d28e4"




 target="_blank"
 


&gt;cxl/core/regs: Add @dev to cxl_register_map&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7481653deef24fb9a030339430d2f5723e0ccf78"




 target="_blank"
 


&gt;cxl: Rename &amp;lsquo;uport&amp;rsquo; to &amp;lsquo;uport_dev&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/227db57459e8b6dce33c071020b0c05b1f9fa8d6"




 target="_blank"
 


&gt;cxl: Rename member @dport of struct cxl_dport to @dport_dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0619337856c9a1cb999417be38c4049a6b0235a0"




 target="_blank"
 


&gt;cxl/rch: Prepare for caching the MMIO mapped PCIe AER capability&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/eb4663b07e13bc138aad9e2a93ee9893c7139f51"




 target="_blank"
 


&gt;cxl/acpi: Probe RCRB later during RCH downstream port creation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1ad3f701c3999904d0c6cdea299df16c6cd9878d"




 target="_blank"
 


&gt;cxl/pci: Find and register CXL PMU devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d717d7f3df18494baafd9595fb4bcb9c380d7389"




 target="_blank"
 


&gt;cxl: Add functions to get an instance of / count regblocks of a given type&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/793a539ac78843ef9378bb42a44edfbc552a67d5"




 target="_blank"
 


&gt;cxl: Explicitly initialize resources when media is not ready&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ccadf1310fb0bc8d2cbcd14f94a6279c12ea9bee"




 target="_blank"
 


&gt;cxl/mbox: Add background cmd handling machinery&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9f7a320d167cd7f310114cf25009ceedf6a323ed"




 target="_blank"
 


&gt;cxl/pci: Introduce cxl_request_irq()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f279d0bc13505a25a8b6a307b806312116c2efd2"




 target="_blank"
 


&gt;cxl/pci: Allocate irq vectors earlier during probe&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a70fc4ed20a6118837b0aecbbf789074935f473b"




 target="_blank"
 


&gt;cxl/port: Fix NULL pointer access in devm_cxl_add_port()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e764f12208b99ac7892c4e3f6bf88d71ca71036f"




 target="_blank"
 


&gt;cxl: Move cxl_await_media_ready() to before capacity info retrieval&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ce17ad0d54985e2595a3e615fda31df61808a08c"




 target="_blank"
 


&gt;cxl: Wait Memory_Info_Valid before access memory related info&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/eb0764b822b9b26880b28ccb9100b2983e01bc17"




 target="_blank"
 


&gt;cxl/port: Enable the HDM decoder capability for switch ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/764d102ef94e880ca834a7fe3968a00a05b1fb12"




 target="_blank"
 


&gt;cxl: Add missing return to cdat read error path&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7acc1372113083fa281ba426021801e2402caca1"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-6.4&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/556eb8b79190151506187bf0b16dda423c34d9a8"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;driver-core-6.4-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bfe58458fd2557c9a81b89bc0ff10eb03d6c0745"




 target="_blank"
 


&gt;cxl/mbox: Update CMD_RC_TABLE&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ca899f4021c9fc673935a09c17a7323527aefccd"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl-autodetect-fixes&amp;rsquo; into for-6.4/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/856ef55e7e1fb411cd42b917bac2a7aaf75344ae"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.4/cxl-poison&amp;rsquo; into for-6.4/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/50d527f52cbf0680c87d11a254383ca730c5c19f"




 target="_blank"
 


&gt;cxl/mem: Add debugfs attributes for poison inject and clear&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/98b6926562d9ccdbca69de9a0e0bf4f90d7f1326"




 target="_blank"
 


&gt;cxl/memdev: Trace inject and clear poison as cxl_poison events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0a105ab28a4de44eb738ce64e9ac74946aa5133b"




 target="_blank"
 


&gt;cxl/memdev: Warn of poison inject or clear to a mapped region&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9690b07748d18ac667036a68442081c4aea33ba7"




 target="_blank"
 


&gt;cxl/memdev: Add support for the Clear Poison mailbox command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d2fbc48658022f48625064ae192baff52057987d"




 target="_blank"
 


&gt;cxl/memdev: Add support for the Inject Poison mailbox command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/28a3ae4ff66c622448f5dfb7416bbe753e182eb4"




 target="_blank"
 


&gt;cxl/trace: Add an HPA to cxl_poison trace events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f0832a58639691af575fa28ffaeb657c51f3ca06"




 target="_blank"
 


&gt;cxl/region: Provide region info to the cxl_poison trace event&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7ff6ad1075885fdc71f6fea94b95109a582dec29"




 target="_blank"
 


&gt;cxl/memdev: Add trigger_poison_list sysfs attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ddf49d57b841e55e1b0aee1224a9f526e50e1bcc"




 target="_blank"
 


&gt;cxl/trace: Add TRACE support for CXL media-error records&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ed83f7ca398b3798b82c1d5d1113011c0e5a2198"




 target="_blank"
 


&gt;cxl/mbox: Add GET_POISON_LIST mailbox command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d0abf5787adc0341a04667d3b4a23b4d0999af30"




 target="_blank"
 


&gt;cxl/mbox: Initialize the poison state&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dec441d32a9a1e4a891ccda3356cac61cc1ffe79"




 target="_blank"
 


&gt;cxl/mbox: Restrict poison cmds to debugfs cxl_raw_allow_all&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3db166d6cf0ea73dd2c887036aad2e95e0884d9b"




 target="_blank"
 


&gt;cxl/mbox: Deprecate poison commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/267214a2319b5692bbc9b128a6514960291dcca8"




 target="_blank"
 


&gt;cxl/port: Fix port to pci device assumptions in read_cdat_data()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f960e57dca9fa3653d9e9c0a9e1386d2241e0aad"




 target="_blank"
 


&gt;cxl/pci: Rightsize CDAT response allocation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7a877c923995b8257069209b1d757735af4f4ce0"




 target="_blank"
 


&gt;cxl/pci: Simplify CDAT retrieval error path&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/af0a6c3587dc39df348d23c46996b9dad46d07db"




 target="_blank"
 


&gt;cxl/pci: Use CDAT DOE mailbox created by PCI core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/58709b924ea5911b7d500bba9ed36b71e1e76598"




 target="_blank"
 


&gt;cxl/pci: Use synchronous API for DOE&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c841ecd8277154c9297dd9ac959494f6deb61e76"




 target="_blank"
 


&gt;cxl/hdm: Add more HDM decoder debug messages at startup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7bba261e0aa6e8e5f28a3a3def8338b6512534ee"




 target="_blank"
 


&gt;cxl/port: Scan single-target ports for decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/104087a8aaf0f46d89376917eca977fad972cc93"




 target="_blank"
 


&gt;cxl/core: Drop unused io-64-nonatomic-lo-hi.h&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1423885c84a5b3a53b79bcf241b18124d0d7cba6"




 target="_blank"
 


&gt;cxl/hdm: Use 4-byte reads to retrieve HDM decoder base+limit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7701c8bef4f14bd9f7940c6ed0e6a73584115a96"




 target="_blank"
 


&gt;cxl/hdm: Fail upon detecting 0-sized decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ca712e47054678c5ce93a0e0f686353ad5561195"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl-doe-fixes&amp;rsquo; into for-6.3/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/24b18197184ac39bb8566fb82c0bf788bcd0d45b"




 target="_blank"
 


&gt;cxl/hdm: Extend DVSEC range register emulation for region enumeration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/52cc48ad2a76a5fe82d239044d67944bbb928de6"




 target="_blank"
 


&gt;cxl/hdm: Limit emulation to the number of range registers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9ff3eec958cf365857ae8a630237ece4f83bb337"




 target="_blank"
 


&gt;cxl/region: Move coherence tracking into cxl_region_attach()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/030f880342b875c7d714d06d3ca4058ae9f13fee"




 target="_blank"
 


&gt;cxl/region: Fix region setup/teardown for RCDs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d35b495ddf92c964eedf2ac86fdbf88dc3e5cbc9"




 target="_blank"
 


&gt;cxl/port: Fix find_cxl_root() for RCDs and simplify it&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b70c2cf95ee1ca2806cb7191504920f8f5b4454e"




 target="_blank"
 


&gt;cxl/hdm: Skip emulation when driver manages mem_enable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/82f0832af26a30ae5f21b335c5f68b538e710c29"




 target="_blank"
 


&gt;cxl/hdm: Fix double allocation of @cxlhdm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4fe2c13d59d849be3b45371e3913ec5dc77fc0fb"




 target="_blank"
 


&gt;cxl/pci: Handle excessive CDAT length&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b56faef2312057db20479b240eb71bd2e51fb51c"




 target="_blank"
 


&gt;cxl/pci: Handle truncated CDAT entries&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/34bafc747c54fb58c1908ec3116fa6137393e596"




 target="_blank"
 


&gt;cxl/pci: Handle truncated CDAT header&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/75cff725d9566699a670a02b3cfd1c6e9e9ed53e"




 target="_blank"
 


&gt;driver core: bus: mark the struct bus_type for sysfs callbacks as constant&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fbaa38214cd9e150764ccaa82e04ecf42cc1140c"




 target="_blank"
 


&gt;cxl/pci: Fix CDAT retrieval on big endian&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7c3dc440b1f5c75f45e24430f913e561dc82a419"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-6.3&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a93e884edf61f9debc9ca61ef9e545f0394ab666"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;driver-core-6.3-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/23c198e3dfaabbc891681aecb0855b9e0ac791e1"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl-events&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1bb31131231ddef851bd01299f19603d38a111de"




 target="_blank"
 


&gt;cxl/mem: Add kdoc param for event log driver state&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/279676c9aa5e5f11377dddfdecfd22df526ee9b8"




 target="_blank"
 


&gt;cxl/trace: Add serial number to trace points&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cd0570172dd8427e0bf36b4d70f0b595616da55d"




 target="_blank"
 


&gt;cxl/trace: Add host output to trace points&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0c8393dcdb1ef4dc358d95a2523297175135874b"




 target="_blank"
 


&gt;cxl/trace: Standardize device information output&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a5fcd228ca1db9810ba1ed461c90b6ee933b9daf"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl-rr-emu&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6980daaa3ed5959bf4fe2719d96b1da437026b58"




 target="_blank"
 


&gt;cxl/pci: Remove locked check for dvsec_range_allowed()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d7a2153762c7369534c432ac7e86996063e246df"




 target="_blank"
 


&gt;cxl/hdm: Add emulation when HDM decoders are not committed&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4474ce565ee4490fb4e6d8443b617a9d98ae10ff"




 target="_blank"
 


&gt;cxl/hdm: Create emulated cxl_hdm for devices that do not have HDM decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b777e9bec960a29374dc486d47784c73b7ac4cef"




 target="_blank"
 


&gt;cxl/hdm: Emulate HDM decoder from DVSEC range registers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9de321e93c3b3fd7fd2621a2557c42fa7d43e314"




 target="_blank"
 


&gt;cxl/pci: Refactor cxl_hdm_decode_init()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/59c3368b2e69eb7da7f271286a0bd80930dfc070"




 target="_blank"
 


&gt;cxl/port: Export cxl_dvsec_rr_decode() to cxl_port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1acba6e9206c655f8eb6736c7cafbf022492f36d"




 target="_blank"
 


&gt;cxl/pci: Break out range register decoding from cxl_hdm_decode_init()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5a6fe61facdb7f830895712b31fb39f544ffc165"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ee817acaa01d5c56e5fef396bea05c869b7e9351"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl-ram-region&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/248529edc86f8d7d390a15a86bd1904951311665"




 target="_blank"
 


&gt;cxl: add RAS status unmasking for CXL&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1922a6dc0502ed3fd0786f57cc9e5f515c902009"




 target="_blank"
 


&gt;cxl: remove unnecessary calling of pci_enable_pcie_error_reporting()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7abcb0b10668eaf3c174ff383f3b2a7a8c95fb34"




 target="_blank"
 


&gt;cxl: avoid returning uninitialized error code&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f57aec443c24d2e8e1f3b5b4856aea12ddda4254"




 target="_blank"
 


&gt;cxl/pmem: Fix nvdimm registration races&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b8b9ffced017528bcdd262730ab10bc5084c3bb4"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl-ram-region&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dfd423e0a3256f88b8ea622fbbe04f91594195b6"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/814a15f3b4131d3205bd47e23b50ccc6c666ce1d"




 target="_blank"
 


&gt;cxl/uapi: Tag commands from cxl_query_cmd()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/860334e59003f684d85c519179038bd655eeb9ef"




 target="_blank"
 


&gt;cxl/mem: Remove unused CXL_CMD_FLAG_NONE define&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/09d09e04d2fcf88c4620dd28097e0e2a8f720eac"




 target="_blank"
 


&gt;cxl/dax: Create dax devices for CXL RAM regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3d8f7ccaa611a743ae3a1e6f605346993d37c513"




 target="_blank"
 


&gt;tools/testing/cxl: Define a fixed volatile configuration to parse&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a32320b71f085f8d82afedcf285f1682c8c00aed"




 target="_blank"
 


&gt;cxl/region: Add region autodiscovery&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/32ce3f185bbb3802cd0ac925bc8fddf1797e0ad4"




 target="_blank"
 


&gt;cxl/port: Split endpoint and switch port probe&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/45d235c56b2bc51749af9cc8fe6ace18aa8b81be"




 target="_blank"
 


&gt;cxl/region: Enable CONFIG_CXL_REGION to be toggled&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/93c177fd6ff0655a5fa43ec945a57d7b0200ad80"




 target="_blank"
 


&gt;kernel/range: Uplevel the cxl subsystem&amp;rsquo;s range_contains() helper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9995576cef48dcbb0ba3de068292ed14f72fa0eb"




 target="_blank"
 


&gt;cxl/region: Move region-position validation to a helper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/86987c766276acf1289700cd38bd6d5b5a167fea"




 target="_blank"
 


&gt;cxl/region: Cleanup target list on attach error&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3528b1e101a40ff75c8130e0b94e9555d2976f45"




 target="_blank"
 


&gt;cxl/region: Refactor attach_target() for autodiscovery&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6e099264185d05f50400ea494f5029264a4fe995"




 target="_blank"
 


&gt;cxl/region: Add volatile region creation support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1b9b7a6fd618239db47a83da39dff9e725a5865a"




 target="_blank"
 


&gt;cxl/region: Validate region mode vs decoder mode&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a8e7d558f7e9c2921de8b487baa01d23f068aa93"




 target="_blank"
 


&gt;cxl/region: Support empty uuids for non-pmem regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7d505f982f53189da819581ad4cc13c8cef76803"




 target="_blank"
 


&gt;cxl/region: Add a mode attribute for regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2345df54249c6fb7779e2a72b427ee79ed3eaad5"




 target="_blank"
 


&gt;cxl/memdev: Fix endpoint port removal&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d874297bc7c8bb69f9fcbe6422ac5623c5897977"




 target="_blank"
 


&gt;cxl/mem: Correct full ID range allocation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dbe9f7d1e155b97a42f7da81e22acc98fe0a9072"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl-events&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5485eb955994a238eafd08d9266005b1c9ac7991"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.3/cxl&amp;rsquo; into cxl/next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/711442e29f16f0d39dd0e2460c9baacfccb9d5a7"




 target="_blank"
 


&gt;cxl/region: Fix passthrough-decoder detection&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4fa4302d6dc7de7e8e74dc7405611a2efb4bf54b"




 target="_blank"
 


&gt;cxl/region: Fix null pointer dereference for resetting decoder&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5a84711fd734c09b7d991b00657ba61a96612254"




 target="_blank"
 


&gt;cxl/pci: Fix irq oneshot expectations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fa8843451bec55f900b8673d9ddc0be02a61528a"




 target="_blank"
 


&gt;cxl/pci: Set the device timestamp&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7ebf38c9115ec3b4502c73b4377a7648374d700f"




 target="_blank"
 


&gt;cxl/mbox: Add missing parameter to docs.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/623c0751336e4035ab0047f2c152a02bd26b612b"




 target="_blank"
 


&gt;cxl/mbox: Fix Payload Length check for Get Log command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2a81ada32f0e584fc0c943e0d3a8c9f4fae411d6"




 target="_blank"
 


&gt;driver core: make struct bus_type.uevent() take a const *&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a9b12f8b4e3309c4c25d39e7ab818943b9c48c1c"




 target="_blank"
 


&gt;driver core: make struct device_type.devnode() take a const *&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/95b4947992858f725ad6a65a2087a3533749660f"




 target="_blank"
 


&gt;cxl/mem: Trace Memory Module Event Record&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2d6c1e6d60ba3030450ca8396a332da84e8b7614"




 target="_blank"
 


&gt;cxl/mem: Trace DRAM Event Record&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d54a531a430b775ae505563934a03720329fa5bd"




 target="_blank"
 


&gt;cxl/mem: Trace General Media Event Record&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a49aa8141b657a7fd33d86f7bed3ca07567ab37a"




 target="_blank"
 


&gt;cxl/mem: Wire up event interrupts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cbbd05d036e91b9dd976af4382f6c8d91b69b38a"




 target="_blank"
 


&gt;cxl: fix spelling mistakes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ee611e5e6616f7981939cc0441a5fb531312c2b6"




 target="_blank"
 


&gt;cxl/mbox: Add debug messages for enabled mailbox commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6ebe28f9ec7228e1a35df6074695ac11d7cdcf68"




 target="_blank"
 


&gt;cxl/mem: Read, trace, and clear events on driver load&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/19398821b25a9cde564265262e680ae1c2351be7"




 target="_blank"
 


&gt;cxl/pmem: Fix nvdimm unregistration when cxl_pmem driver is absent&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/172738bbccdb4ef76bdd72fc72a315c741c39161"




 target="_blank"
 


&gt;cxl/port: Link the &amp;lsquo;parent_dport&amp;rsquo; in portX/ and endpointX/ sysfs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/af3ea9ab61d728d5a8be01bbec6d5cf7551b9600"




 target="_blank"
 


&gt;cxl/region: Clarify when a cxld-&amp;gt;commit() callback is mandatory&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/852db33c6c180a48268eca52e25b267ed32de3ab"




 target="_blank"
 


&gt;cxl/pci: Show opcode in debug messages when sending a command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2ec1b17f745b08526220f3c169d2eb9799a9be39"




 target="_blank"
 


&gt;cxl: fix cxl_report_and_clear() RAS UE addr mis-assignment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e520d52d7cabf6817b2c56d2681e9618bc5540ae"




 target="_blank"
 


&gt;cxl/region: Only warn about cpu_cache_invalidate_memregion() once&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4a20bc3e207488064e08fc5d7220d6acf95c80dd"




 target="_blank"
 


&gt;cxl/pci: Move tracepoint definitions to drivers/cxl/core/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f04facfb993de47e2133b2b842d72b97b1c50162"




 target="_blank"
 


&gt;cxl/region: Fix memdev reuse check&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9b5f77efb0dc71d95403b528756e39b6cae0b948"




 target="_blank"
 


&gt;cxl/pci: Remove endian confusion&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/372ab3bc3711db46ae1205401c2aac2ed16fc348"




 target="_blank"
 


&gt;cxl/pci: Add some type-safety to the AER trace points&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7fe898041fb0c8e630504ecc2cb8805651ac85c1"




 target="_blank"
 


&gt;cxl/security: Drop security command ioctl uapi&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2aeaf663b85e436dc6287692b7561ffbf0aa4381"




 target="_blank"
 


&gt;cxl/mbox: Add variable output size validation for internal commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5331cdf44dc389ac56f7ba5c24ca52d13eaad8d7"




 target="_blank"
 


&gt;cxl/mbox: Enable cxl_mbox_send_cmd() users to validate output size&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f5ee4cc19c3eff4459931b6fe8f29d1e0cc204a5"




 target="_blank"
 


&gt;cxl/security: Fix Get Security State output payload endian handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c99b2e8cf79616157eeab34828fbe6e41ef2271c"




 target="_blank"
 


&gt;cxl: update names for interleave ways conversion macros&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/83351ddb786b30952485a5c302cd0cffbd62097e"




 target="_blank"
 


&gt;cxl: update names for interleave granularity conversion macros&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d3cdf4585f2f9122d1165acca40e801c75afa320"




 target="_blank"
 


&gt;cxl/acpi: Warn about an invalid CHBCR in an existing CHBS entry&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/14628aec8415e4847ae7e470b175412896716cd8"




 target="_blank"
 


&gt;cxl/acpi: Fail decoder add if CXIMS for HBIG is missing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cb4cdf74bd77af187085ab9d73ab9fd88283e3dc"




 target="_blank"
 


&gt;cxl/region: Fix spelling mistake &amp;ldquo;memergion&amp;rdquo; -&amp;gt; &amp;ldquo;memregion&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/397cd265815eae562685d9832dc8b61c927c1cfb"




 target="_blank"
 


&gt;cxl/regs: Fix sparse warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/02fedf1466567424c336cd11cf368dcf78f2af33"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.2/cxl-xor&amp;rsquo; into for-6.2/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e0f6fa0d425f745a887e640be66e22b45451e169"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.2/cxl-aer&amp;rsquo; into for-6.2/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/95dddcb5e86381abddeb1ccab5b5826fdcc74c70"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-6.2/cxl-security&amp;rsquo; into for-6.2/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0a19bfc8de93d5b5d12cf0a7bb74efc88b9ad077"




 target="_blank"
 


&gt;cxl/port: Add RCD endpoint port enumeration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7592d935b7ae71e2b4ff93830743c39a9d13d113"




 target="_blank"
 


&gt;cxl/mem: Move devm_cxl_add_endpoint() from cxl_core to cxl_mem&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f9db85bfec0dcc01556a41d23aec47b866ab3569"




 target="_blank"
 


&gt;cxl/acpi: Support CXL XOR Interleave Math (CXIMS)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6155ccc9ddf6642056f1c00c2851d1938d27a7f2"




 target="_blank"
 


&gt;cxl/pci: Add callback to log AER correctable error&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2905cb5236cba63a5dc8a83752dcc31f3cc819f9"




 target="_blank"
 


&gt;cxl/pci: Add (hopeful) error handling support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2f6e9c305127f8dea4e2d697b4bdd33e126ccbf7"




 target="_blank"
 


&gt;cxl/pci: add tracepoint events for CXL RAS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bd09626b39dff97779e1543e25e60ab2876e7e88"




 target="_blank"
 


&gt;cxl/pci: Find and map the RAS Capability Structure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a1554e9cac5ea04aaf2fb2de0df9936a94cb96fc"




 target="_blank"
 


&gt;cxl/pci: Prepare for mapping RAS Capability Structure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/920d8d2c60787bf63e023b120e81ca788d4191ff"




 target="_blank"
 


&gt;cxl/port: Limit the port driver to just the HDM Decoder Capability&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6c7f4f1e51c2a2474e6d4024d2ed32f8965be4a4"




 target="_blank"
 


&gt;cxl/core/regs: Make cxl_map_{component, device}_regs() device generic&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/43a2fb3aef165ffe9d4315059a2e951253f4050b"




 target="_blank"
 


&gt;cxl/pci: Kill cxl_map_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1191ca102d32456d29cf64bd4547e216986ff6b6"




 target="_blank"
 


&gt;cxl/pci: Cleanup cxl_map_device_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/af2dfef854aa6afdf380e15e39d936d3b66097f1"




 target="_blank"
 


&gt;cxl/pci: Cleanup repeated code in cxl_probe_regs() helpers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d5b1a27143cb7f78030bb2b6812730992a930c47"




 target="_blank"
 


&gt;cxl/acpi: Extract component registers of restricted hosts from RCRB&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d18bc74aced65e4ad68a30ac8db883398141e918"




 target="_blank"
 


&gt;cxl/region: Manage CPU caches relative to DPA invalidation events&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/07cb5f705b4fe9e1386a610da4cb3c063267714f"




 target="_blank"
 


&gt;cxl/pmem: Enforce keyctl ABI for PMEM security&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bf3e5da8cb43a671b32fc125fa81b8f6a3677192"




 target="_blank"
 


&gt;cxl/region: Fix missing probe failure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b5807c80b5bc49764724ca22e83c04f527e86fd4"




 target="_blank"
 


&gt;cxl: add dimm_id support for __nvdimm_create()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1dedb6f3cf7feeb84b10c24046d8e4436173cc4d"




 target="_blank"
 


&gt;cxl/ACPI: Register CXL host ports by bridge device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8b3b1c0dc500a00c34ab74fb8a0d9e7286220c04"




 target="_blank"
 


&gt;tools/testing/cxl: Make mock CEDT parsing more robust&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4029c32fb601d505dfb92bdf0db9fdcc41fe1434"




 target="_blank"
 


&gt;cxl/acpi: Move rescan to the workqueue&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/03ff079aa633369763bc0b7409b0a3a8ffa21d40"




 target="_blank"
 


&gt;cxl/pmem: Remove the cxl_pmem_wq and related infrastructure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f17b558d6663101f876a1d9cbbad3de0c8f4ce4d"




 target="_blank"
 


&gt;cxl/pmem: Refactor nvdimm device registration, delete the workqueue&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/16d53cb0d6900ba7c5920397480016d3ee844610"




 target="_blank"
 


&gt;cxl/region: Drop redundant pmem region release handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cb9cfff82f6a862c1f54b8b01d9d9a979bb8ae78"




 target="_blank"
 


&gt;cxl/acpi: Simplify cxl_nvdimm_bridge probing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/452996fa079b1a8751a02ac04c54b1d69f512249"




 target="_blank"
 


&gt;cxl/pmem: add provider name to cxl pmem dimm attribute group&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bd429e5355cd58aeb7e38b905fbecee357a6379b"




 target="_blank"
 


&gt;cxl/pmem: add id attribute to CXL based nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dcedadfae28562ad04bc351cabfbc0c65b810847"




 target="_blank"
 


&gt;nvdimm/cxl/pmem: Add support for master passphrase disable security command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3b502e886d01c2f96b2774176be4c7bceef2516b"




 target="_blank"
 


&gt;cxl/pmem: Add &amp;ldquo;Passphrase Secure Erase&amp;rdquo; security command support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2bb692f7a6cd0a7b2c29d8d5029c4469c4ec02dd"




 target="_blank"
 


&gt;cxl/pmem: Add &amp;ldquo;Unlock&amp;rdquo; security command support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a072f7b7972fd85bdefefa1d6febec483438d420"




 target="_blank"
 


&gt;cxl/pmem: Add &amp;ldquo;Freeze Security State&amp;rdquo; security command support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c4ef680d0b72815003a76074ca1cd872a2fecfc3"




 target="_blank"
 


&gt;cxl/pmem: Add Disable Passphrase security command support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/997469407f266250040f20ec73aecc77ad277145"




 target="_blank"
 


&gt;cxl/pmem: Add &amp;ldquo;Set Passphrase&amp;rdquo; security command support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/328281155539b44539e12d62803e09310d86d11f"




 target="_blank"
 


&gt;cxl/pmem: Introduce nvdimm_security_ops with -&amp;gt;get_flags() operation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3b39fd6cf12ceda2a2582dcb9b9ee9f4d197b857"




 target="_blank"
 


&gt;cxl: Replace HDM decoder granularity magic numbers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b51d76752120a267397276121619fca80f767e62"




 target="_blank"
 


&gt;cxl/acpi: Improve debug messages in cxl_acpi_probe()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/58eef878fcd1f44612445b5cdde598f04b940da8"




 target="_blank"
 


&gt;cxl: Unify debug messages when calling devm_cxl_add_dport()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f3cd264c4ec1ab9b8918f3b083cfc13c5e7c26b7"




 target="_blank"
 


&gt;cxl: Unify debug messages when calling devm_cxl_add_port()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3bb80da51b1c1dbf31af2226f57cbc258f5e994b"




 target="_blank"
 


&gt;cxl/core: Check physical address before mapping it in devm_cxl_iomap_block()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fa89248e669d589cdb895517e75cdead8d8ba5c0"




 target="_blank"
 


&gt;cxl/core: Remove duplicate declaration of devm_cxl_iomap_block()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/487d828d751d90cf9ca594f45b02dd0e0d712b64"




 target="_blank"
 


&gt;cxl/doe: Request exclusive DOE access&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8f401ec1c8975eabfe4c089de91cbe058deabf71"




 target="_blank"
 


&gt;cxl/region: Recycle region ids&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e4f6dfa9ef756a3934a4caf618b1e86e9e8e21d0"




 target="_blank"
 


&gt;cxl/region: Fix &amp;lsquo;distance&amp;rsquo; calculation with passthrough ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4d07ae22e79ebc2d7528bbc69daa53b86981cb3a"




 target="_blank"
 


&gt;cxl/pmem: Fix cxl_pmem_region and cxl_memdev leak&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0d9e734018d70cecf79e2e4c6082167160a0f13f"




 target="_blank"
 


&gt;cxl/region: Fix cxl_region leak, cleanup targets at region delete&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a90accb358ae33ea982a35595573f7a045993f8b"




 target="_blank"
 


&gt;cxl/region: Fix region HPA ordering validation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4f1aa35f1fb7d51b125487c835982af792697ecb"




 target="_blank"
 


&gt;cxl/pmem: Use size_add() against integer overflow&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/71ee71d7adcba648077997a29a91158d20c40b09"




 target="_blank"
 


&gt;cxl/region: Fix decoder allocation crash&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f010c75c05299ecd65adfd31a7841eea3476ce1f"




 target="_blank"
 


&gt;cxl/pmem: Fix failure to account for 8 byte header for writes to the device LSA.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2816e24b0510e0c185c0c46acff1ce7aa4c4443f"




 target="_blank"
 


&gt;cxl/region: Fix null pointer dereference due to pass through decoder commit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cf00b33058b196b4db928419dde68993b15a975b"




 target="_blank"
 


&gt;cxl/mbox: Add a check on input payload size&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1cd8a2537eb07751d405ab7e2223f20338a90506"




 target="_blank"
 


&gt;cxl/hdm: Fix skip allocations vs multiple pmem allocations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4d8e4ea5bb396897111e8a740201bfd3c5926170"




 target="_blank"
 


&gt;cxl/region: Disallow region granularity != window granularity&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/298d44d04b2ba97824c3dadd1dbf7c154a2a86e2"




 target="_blank"
 


&gt;cxl/region: Fix x1 interleave to greater than x1 interleave routing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/910bc55da8285605308cb76f69a335b36780da43"




 target="_blank"
 


&gt;cxl/region: Move HPA setup to cxl_region_attach()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2901c8bdedca19e5efdab2ea55b465102231b315"




 target="_blank"
 


&gt;cxl/region: Fix decoder interleave programming&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/038e6eb803870113ca78fc70905a27aaa7141fd9"




 target="_blank"
 


&gt;cxl/region: describe targets and nr_targets members of cxl_region_params&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f13da0d9c3252eb922fc12495f2068fbb18c2e8f"




 target="_blank"
 


&gt;cxl/regions: add padding for cxl_rr_ep_add nested lists&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9fd2cf4d6fba8253efa62ba45f623ab7f09df12d"




 target="_blank"
 


&gt;cxl/region: Fix IS_ERR() vs NULL check&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e29a8995d63f6f861b2cc446c58cef430885f469"




 target="_blank"
 


&gt;cxl/region: Fix region reference target accounting&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/69c9961387f244077101de3ce4e272717617dc87"




 target="_blank"
 


&gt;cxl/region: Fix region commit uninitialized variable warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8d428542571428fb68b5c41b092ae70d2fc2cd17"




 target="_blank"
 


&gt;cxl/region: Fix port setup uninitialized variable warnings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/817b279467404ae3b16db8886b87eaefd8b13a6d"




 target="_blank"
 


&gt;cxl/region: Stop initializing interleave granularity&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4d5c42a80bd17d1979dbcd40c5c44ff3c93e1476"




 target="_blank"
 


&gt;cxl/hdm: Fix DPA reservation vs cxl_endpoint_decoder lifetime&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e77483055c325fa629c5835913b07f3dce3ac7fd"




 target="_blank"
 


&gt;cxl/acpi: Minimize granularity for x1 interleaves&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2bde6dbebc1cf02fd1b3d740246b92df1514a370"




 target="_blank"
 


&gt;cxl/region: Delete &amp;lsquo;region&amp;rsquo; attribute from root decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a53c28b6ae4bcda3c386bfd704b329926bcf3f92"




 target="_blank"
 


&gt;cxl/acpi: Autoload driver for &amp;lsquo;cxl_acpi&amp;rsquo; test devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5e42bcbc3fef6e759dfb4d3f4cfb394c382b4249"




 target="_blank"
 


&gt;cxl/region: decrement -&amp;gt;nr_targets on error in cxl_region_attach()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c7e3548cac4a8a8bc1ad183cc7c7249463dff55f"




 target="_blank"
 


&gt;cxl/region: prevent underflow in ways_to_cxl()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/88ab1dde792aa6a3902e2a30929e00acc99d351a"




 target="_blank"
 


&gt;cxl/region: uninitialized variable in alloc_hpa()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/04ad63f086d1a9649b8b082748cbc7a570ade461"




 target="_blank"
 


&gt;cxl/region: Introduce cxl_pmem_region objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/99183d26ed6191010fca09518dae34d6aff3cd14"




 target="_blank"
 


&gt;cxl/pmem: Fix offline_nvdimm_bus() to offline by bridge&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8d48817df6ac2049955b6b3a4f1b68dbe5b31f1b"




 target="_blank"
 


&gt;cxl/region: Add region driver boiler plate&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/176baefb2eb5d7a3ddebe3ff803db1fce44574b5"




 target="_blank"
 


&gt;cxl/hdm: Commit decoder state to hardware&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/27b3f8d13830cdbd8deae2b709af182d88237ba5"




 target="_blank"
 


&gt;cxl/region: Program target lists&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/384e624bb211b406db40edc900bb51af8bb267d0"




 target="_blank"
 


&gt;cxl/region: Attach endpoint decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6aa41144e7f1a624062f1e66a4744c168ade1f31"




 target="_blank"
 


&gt;cxl/acpi: Add a host-bridge index lookup mechanism&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b9686e8c8e39d4072081ef078c04915ee51c8af4"




 target="_blank"
 


&gt;cxl/region: Enable the assignment of endpoint decoders to regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/23a22cd1c98be518774fe7f7e8a5203af050525a"




 target="_blank"
 


&gt;cxl/region: Allocate HPA capacity to regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/80d10a6cee05029cae9d9d6e8ddb799ea6d01e0c"




 target="_blank"
 


&gt;cxl/region: Add interleave geometry attributes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dd5ba0ebbdc414f4dda4dc4ec076f46fb6f26ffd"




 target="_blank"
 


&gt;cxl/region: Add a &amp;lsquo;uuid&amp;rsquo; attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/779dd20cfb56c510f89877cca45529fa9f8bc450"




 target="_blank"
 


&gt;cxl/region: Add region creation support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7f8faf96a2fb562833db73595640329ca8da7b1d"




 target="_blank"
 


&gt;cxl/mem: Enumerate port targets before adding endpoints&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/538831f1beb818c93e5879bf19de37d89ec88ed6"




 target="_blank"
 


&gt;cxl/hdm: Add sysfs attributes for interleave ways + granularity&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/391785859e7e6521f622ad8c965c9792767023bc"




 target="_blank"
 


&gt;cxl/port: Move dport tracking to an xarray&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/256d0e9ee4f2f14d30b93fd593cef3108b0527ca"




 target="_blank"
 


&gt;cxl/port: Move &amp;lsquo;cxl_ep&amp;rsquo; references to an xarray per port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1b58b4cac6fc6fab55f34f74087594125fc60b84"




 target="_blank"
 


&gt;cxl/port: Record parent dport when adding ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/de516b40116e98c60ee475e92108453686098c85"




 target="_blank"
 


&gt;cxl/port: Record dport in endpoint references&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cf880423b6a0599499c1f83542cab0b75daa29ba"




 target="_blank"
 


&gt;cxl/hdm: Add support for allocating DPA to an endpoint decoder&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0c33b3935265cd5aafa18904363bab0c545adeee"




 target="_blank"
 


&gt;cxl/hdm: Track next decoder to allocate&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2c8669033f16f5d791e10a5bdd42e39c7380da57"




 target="_blank"
 


&gt;cxl/hdm: Add &amp;lsquo;mode&amp;rsquo; attribute to decoder objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9c57cde0dcbd0f76f649d152b83a2b9316277b22"




 target="_blank"
 


&gt;cxl/hdm: Enumerate allocated DPA&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3bf65915cefa879e3693a824d8801a08e4778619"




 target="_blank"
 


&gt;cxl/core: Define a &amp;lsquo;struct cxl_endpoint_decoder&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0f157c7fa1a0e1a55b602d8b269344392e9033ad"




 target="_blank"
 


&gt;cxl/core: Define a &amp;lsquo;struct cxl_root_decoder&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/974854ab0728532600c72e41a44d6ce1cf8f20a4"




 target="_blank"
 


&gt;cxl/acpi: Track CXL resources in iomem_resource&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e636479e2f1b611892783405a302221e4f069e4f"




 target="_blank"
 


&gt;cxl/core: Define a &amp;lsquo;struct cxl_switch_decoder&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c97006046c791f82cb5ba3219ef4a511ec5f3932"




 target="_blank"
 


&gt;cxl/port: Read CDAT table&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3eddcc938581968d126e7345e9ec84c75290e7a4"




 target="_blank"
 


&gt;cxl/pci: Create PCI DOE mailbox&amp;rsquo;s for memory devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b060edfd8cdd52bc8648392500bf152a8dd6d4c5"




 target="_blank"
 


&gt;cxl/pmem: Delete unused nvdimm attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9e9e44017db33a74177ffe91307b4c922fe2f094"




 target="_blank"
 


&gt;cxl/hdm: Initialize decoder type for memory expander devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ee800010835db23c70acc01000f182955cab27a5"




 target="_blank"
 


&gt;cxl/port: Cache CXL host bridge data&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e7ad1bf683295024e7a4e09e41015989a004a0f5"




 target="_blank"
 


&gt;tools/testing/cxl: Add partition support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cc2a4878700b2467f36e03f581a0a877ae6a568d"




 target="_blank"
 


&gt;cxl/mem: Add a debugfs version of &amp;lsquo;iomem&amp;rsquo; for DPA, &amp;lsquo;dpamem&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9b99ecf5a316f056d7139fa76198c8a2297846d1"




 target="_blank"
 


&gt;cxl/debug: Move debugfs init to cxl_core_init()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/14e473e1a7a97d1188f7fabd87c452b44f9801af"




 target="_blank"
 


&gt;cxl/hdm: Require all decoders to be enumerated&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d3b75029f353c64e1e0e45ba5083cf8679d17f0a"




 target="_blank"
 


&gt;cxl/mem: Convert partition-info to resources&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/419af595b11891d632a31440b9ca5a3cdf93996d"




 target="_blank"
 


&gt;cxl: Introduce cxl_to_{ways,granularity}&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/885d3bed6de153bfeba40e4d25cc600bef8af1b8"




 target="_blank"
 


&gt;cxl/core: Drop is_cxl_decoder()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e50fe01e1f2a4aba2275edee7d5c77ac87674ddb"




 target="_blank"
 


&gt;cxl/core: Drop -&amp;gt;platform_res attribute for root decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e8b7ea58abbd2335734e67cccbd992e4735366bd"




 target="_blank"
 


&gt;cxl/core: Rename -&amp;gt;decoder_range -&amp;gt;hpa_range&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/04ed37a2baf957620970b4049b0390089da5ec17"




 target="_blank"
 


&gt;cxl/hdm: Use local hdm variable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fe80f1ad593c84bf90299496b3f93ab998ba70ad"




 target="_blank"
 


&gt;cxl/port: Keep port-&amp;gt;uport valid for the entire life of a port&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e35f5718903b093be4b1d3833aa8a32f864a3ef1"




 target="_blank"
 


&gt;cxl/mbox: Fix missing variable payload checks in cmd size validation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8a66487506161dbc1d22fd154d2de0244e232040"




 target="_blank"
 


&gt;cxl/mbox: Use __le32 in get,set_lsa mailbox structures&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8ae3cebc1704b9a3ab8398dc7820c37183026bbc"




 target="_blank"
 


&gt;cxl/core: Use is_endpoint_decoder&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/db9a3a35d31ea337331f0e6e07e04bcd52642894"




 target="_blank"
 


&gt;cxl: Fix cleanup of port devices on failure to probe driver.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/34e37b4c432cd0f1842b352fde4b8878b4166888"




 target="_blank"
 


&gt;cxl/port: Enable HDM Capability after validating DVSEC Ranges&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fcfbc93cc33ec601f00f113eca6fc484b930532d"




 target="_blank"
 


&gt;cxl/port: Reuse &amp;lsquo;struct cxl_hdm&amp;rsquo; context for hdm init&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5e5f4ad52f33c125af9b91d4c3b7cad59c13772e"




 target="_blank"
 


&gt;cxl/port: Move endpoint HDM Decoder Capability init to port driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/92804edb11f065aadb3a4f398bed8a846a035cd3"




 target="_blank"
 


&gt;cxl/pci: Drop @info argument to cxl_hdm_decode_init()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a12562bb70776093b270f79a4b6ef18f4bcead2b"




 target="_blank"
 


&gt;cxl/mem: Merge cxl_dvsec_ranges() and cxl_hdm_decode_init()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dd2d42ad6f422076d1bd49b132bec74376c26f5c"




 target="_blank"
 


&gt;cxl/mem: Skip range enumeration if mem_enable clear&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/14d78874077442d1d0f08129f5a0ea5070984b4b"




 target="_blank"
 


&gt;cxl/mem: Consolidate CXL DVSEC Range enumeration in the core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2e4ba0ec978335b4b550bbed95cb198ac3a00745"




 target="_blank"
 


&gt;cxl/pci: Move cxl_await_media_ready() to the core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/75b7ae29991f945b69c10d75b861d7d5e90bd541"




 target="_blank"
 


&gt;cxl/mem: Validate port connectivity before dvsec ranges&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/76a4121e86649bf381aa32cb69ede913def57202"




 target="_blank"
 


&gt;cxl/mem: Fix cxl_mem_probe() error exit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/194d5edadf0b403f6de2be89c484a01c83ee269f"




 target="_blank"
 


&gt;cxl/pci: Drop wait_for_valid() from cxl_await_media_ready()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1e14c9fbb55fbc48eb88b55d1736c994b1deb631"




 target="_blank"
 


&gt;cxl/pci: Consolidate wait_for_media() and wait_for_media_ready()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2bcf3bbd348fc10260aa6243ff6a22a1882b5b35"




 target="_blank"
 


&gt;cxl/mem: Drop mem_enabled check from wait_for_media()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/38a34e10768c85d3be4bb31fea5d8942bb72bbd7"




 target="_blank"
 


&gt;cxl: Drop cxl_device_lock()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d864b8ea6468cf1dce614a58eec92a23d8e07fec"




 target="_blank"
 


&gt;cxl/acpi: Add root device lockdep validation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3750d013182b071dbf458144540390de0031be8c"




 target="_blank"
 


&gt;cxl: Replace lockdep_mutex with local lock classes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/35e01667c84b1e16060020c3a13099447e61c822"




 target="_blank"
 


&gt;cxl/mbox: fix logical vs bitwise typo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/280302f0e8f6919f0c591753ea21906d77797746"




 target="_blank"
 


&gt;cxl/mbox: Replace NULL check with IS_ERR() after vmemdup_user()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/26f89535a5bb17915a2e1062c3999a2ee797c7b0"




 target="_blank"
 


&gt;cxl/mbox: Use type __u32 for mailbox payload sizes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9ea4dcf49878bb9546b8fa9319dcbdc9b7ee20f8"




 target="_blank"
 


&gt;PM: CXL: Disable suspend&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/35ee1f499091c76bd5f5d52f5ef79c3568ac74a6"




 target="_blank"
 


&gt;cxl/mem: Replace redundant debug message with a comment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/31e624a77e748e4ab7d5c9c3ddc46ba7735bd75e"




 target="_blank"
 


&gt;cxl/mem: Rename cxl_dvsec_decode_init() to cxl_hdm_decode_init()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/36bfc6ad508af38f212cf5a38147d867fb3f80a8"




 target="_blank"
 


&gt;cxl/pci: Make cxl_dvsec_ranges() failure not fatal to cxl_pci&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fbaf2b079d2a0a9c7114fbd4d1c0f3dd7a3cb3ad"




 target="_blank"
 


&gt;cxl/mem: Make cxl_dvsec_range() init failure fatal&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e39f9be08d9dfe685c8a325ac1755c04f383effc"




 target="_blank"
 


&gt;cxl/pci: Add debug for DVSEC range init failures&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e08063fb87944b1db963e94b833608318179708d"




 target="_blank"
 


&gt;cxl/mem: Drop DVSEC vs EFI Memory Map sanity check&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c43e036d6f861f4c68b50eea49ab55b539eaab02"




 target="_blank"
 


&gt;cxl/mbox: Use new return_code handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/92fcc1abab095dceb2337444f79875c8a85063df"




 target="_blank"
 


&gt;cxl/mbox: Improve handling of mbox_cmd hw return codes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cbe83a2052682c6f57d45f76fe7fea4bf254acd9"




 target="_blank"
 


&gt;cxl/pci: Use CXL_MBOX_SUCCESS to check against mbox_cmd return code&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ee92c7e261fd4b58ed5991a776ae9b25e9a5e030"




 target="_blank"
 


&gt;cxl/mbox: Drop mbox_mutex comment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6aa657f416b65f23d7a3c9d04f144b1c4aa2ebc1"




 target="_blank"
 


&gt;cxl/pmem: Remove CXL SET_PARTITION_INFO from exclusive_cmds list&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6179045ccc0c6229dc449afc1701dc7fbd40571f"




 target="_blank"
 


&gt;cxl/mbox: Block immediate mode in SET_PARTITION_INFO command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2dd5600a0e4e1aca8541e1c5bb2bc26bc0441d4d"




 target="_blank"
 


&gt;cxl/mbox: Move cxl_mem_command param to a local variable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d97fe8eec2b895b2aa2f7bb3d55e7b88bc2d53f3"




 target="_blank"
 


&gt;cxl/mbox: Make handle_mailbox_cmd_from_user() use a mbox param&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/82b8ba29538e5dae0a4e481dbbea4d5015c683af"




 target="_blank"
 


&gt;cxl/mbox: Remove dependency on cxl_mem_command for a debug msg&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9ae016aeb722504703c67e6e59c673719868f467"




 target="_blank"
 


&gt;cxl/mbox: Construct a users cxl_mbox_cmd in the validation path&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/63cf60b7e0a556b3542e6e915dfe9c93eaa559fd"




 target="_blank"
 


&gt;cxl/mbox: Move build of user mailbox cmd to a helper functions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/39ed8da4f341c8dbe9c15f716d3a328269a07fc7"




 target="_blank"
 


&gt;cxl/mbox: Move raw command warning to raw command validation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6dd0e5cc87b33aee9cfe4d485c4d8b8382701558"




 target="_blank"
 


&gt;cxl/mbox: Move cxl_mem_command construction to helper funcs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d28820419ca332f856cdf8bef0cafed79c29ed05"




 target="_blank"
 


&gt;cxl/pci: Drop shadowed variable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/05e815539f3f161585c13a9ab023341bade2c52f"




 target="_blank"
 


&gt;cxl/core/port: Fix NULL but dereferenced coccicheck error&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/74be98774dfbc5b8b795db726bd772e735d2edd4"




 target="_blank"
 


&gt;cxl/port: Hold port reference until decoder release&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/41ae9105f5e23e98a1734be2eeddddf488e42c2e"




 target="_blank"
 


&gt;cxl/port: Fix endpoint refcount leak&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e6e17cc6ed751072513fe16cb595ac09f6821a43"




 target="_blank"
 


&gt;cxl/core: Fix cxl_device_lock() class detection&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5c3c067b601bcbcd381214e3a40e666fda5f3d6f"




 target="_blank"
 


&gt;cxl/core/port: Fix unregister_port() lock assertion&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/74b0fe80409733055971bbfaf33c80a33fddeeb3"




 target="_blank"
 


&gt;cxl/regs: Fix size of CXL Capability Header Register&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7004cc9d1585fb7fc9ec7e3e92b70b65e13b11fd"




 target="_blank"
 


&gt;cxl/core/port: Handle invalid decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0909b4e5287bcda34f00da878ac1f37a0921d959"




 target="_blank"
 


&gt;cxl/core/port: Fix / relax decoder target enumeration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9b71e1c9c3aaae5079f5e267785b6f035c5f23da"




 target="_blank"
 


&gt;cxl/core/port: Add endpoint decoders&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8aea0ef19fde030f983aba0e7ec5bcf10880a6fe"




 target="_blank"
 


&gt;cxl/core: Move target_list out of base decoder attributes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8dd2bc0f8e02d39bd80851ca787bcbdb7d495e69"




 target="_blank"
 


&gt;cxl/mem: Add the cxl_mem driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2703c16c75aea142c3079ec34ae2262c0557ef7f"




 target="_blank"
 


&gt;cxl/core/port: Add switch port enumeration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cf1f6877b088cd9ddeb5f3db8ade3a61e3a3f9eb"




 target="_blank"
 


&gt;cxl/memdev: Add numa_node attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bcc79ea34398845d814170ddc06a457b35ae1975"




 target="_blank"
 


&gt;cxl/pci: Emit device serial number&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/523e594d9cc03db962c741ce02c8a58aab58a123"




 target="_blank"
 


&gt;cxl/pci: Implement wait for media active&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/560f78559006a4bab20455ae7eca33d8417c38fc"




 target="_blank"
 


&gt;cxl/pci: Retrieve CXL DVSEC memory info&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/06e279e5ebe4f32ffe544ec96a199870319a7315"




 target="_blank"
 


&gt;cxl/pci: Cache device DVSEC offset&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4112a08dd3c5ea0a96029f14061f2320826cfd32"




 target="_blank"
 


&gt;cxl/pci: Store component register base in cxlds&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/664bf115833c2d4ee717ab63f4e6e72a25c66e77"




 target="_blank"
 


&gt;cxl/core/port: Remove @host argument for dport + decoder enumeration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/54cdbf845cf719c09b45ae588cba469aabb3159c"




 target="_blank"
 


&gt;cxl/port: Add a driver for &amp;lsquo;struct cxl_port&amp;rsquo; objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/83fbdbe4c18678eebe63fc49913f149a5afde057"




 target="_blank"
 


&gt;cxl/core: Emit modalias for CXL devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d17d0540a0dbf109210f7b57a37571e2978da0fa"




 target="_blank"
 


&gt;cxl/core/hdm: Add CXL standard decoder enumeration to the core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/98d2d3a264543680281fd8a4e6ae490ca26b4f85"




 target="_blank"
 


&gt;cxl/core: Generalize dport enumeration in the core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/af9cae9facc2de773b4aa59916913cfd6e18bdd0"




 target="_blank"
 


&gt;cxl/pci: Rename pci.h to cxlpci.h&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c978f1b10aba8ce4f8e1f6fcc86b174e08a6e7f7"




 target="_blank"
 


&gt;cxl/port: Up-level cxl_add_dport() locking requirements to the caller&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a46cfc0f011ce77d120e1cdbf973f733d18f0105"




 target="_blank"
 


&gt;cxl/pmem: Introduce a find_cxl_root() helper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5ff7316f6fea4798c66b1ba953d1ebe6617503e4"




 target="_blank"
 


&gt;cxl/port: Introduce cxl_port_to_pci_bus()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/86c8ea0f3b32aae6d824bdc0d835b6a9361dc912"




 target="_blank"
 


&gt;cxl/core/port: Use dedicated lock for decoder target list&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3c5b903955251ea464fca383a42d981e33004df6"




 target="_blank"
 


&gt;cxl: Prove CXL locking&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/53fa1bff3426344d466d91e81f076eab677d0ece"




 target="_blank"
 


&gt;cxl/core: Track port depth&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d2b61ed2ff63fd9f294db8399c7a680ea7fe8a23"




 target="_blank"
 


&gt;cxl/core/port: Make passthrough decoder init implicit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d621bc2e7282f9955033a6359877fd4ac4be60e1"




 target="_blank"
 


&gt;cxl/core: Fix cxl_probe_component_regs() error message&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d54c1bbe2d34e301382968d8b05bd8162e8f60fb"




 target="_blank"
 


&gt;cxl/core/port: Clarify decoder creation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/608135db1b790170d22848815c4671407af74e37"




 target="_blank"
 


&gt;cxl/core: Convert decoder range to resource&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c3bca8d4bb3ff77b8784cdc794eb1f8f89b10fb5"




 target="_blank"
 


&gt;cxl/decoder: Hide physical address information from non-root&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0ff0af18216436d0151af4e410400c7a19ca9437"




 target="_blank"
 


&gt;cxl/core/port: Rename bus.c to port.c&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c57cae78bfa6a8535d4baade451107b0577c2750"




 target="_blank"
 


&gt;cxl: Introduce module_cxl_driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/303ebc1b1741b6a18349d8e5753c2d25fdb41a21"




 target="_blank"
 


&gt;cxl/acpi: Map component registers for Root Ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8baa787b93dbda6b24081297b934e8edd886d4bb"




 target="_blank"
 


&gt;cxl/pci: Add new DVSEC definitions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/46c6ad27625ca00f59903585e41667d7a45b4eb8"




 target="_blank"
 


&gt;cxl: Flesh out register names&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4f195ee73ade1adf8326e5ed5fb271da51778991"




 target="_blank"
 


&gt;cxl/pci: Defer mailbox status checks to command timeouts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/229e8828c206be8fa0a159f6ff71e3b1a0484233"




 target="_blank"
 


&gt;cxl/pci: Implement Interface Ready Timeout&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/68cdd3d2af6964dae2f8d9b53ee94f740dcbda35"




 target="_blank"
 


&gt;cxl: Rename CXL_MEM to CXL_PCI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/be185c2988b48db65348d94168c793bdbc8d23c3"




 target="_blank"
 


&gt;cxl/core: Remove cxld_const_init in cxl_decoder_alloc()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/53989fad1286e652ea3655ae3367ba698da8d2ff"




 target="_blank"
 


&gt;cxl/pmem: Fix module reload vs workqueue state&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fd49f99c180996cef2d707ad71bee4f060dbe367"




 target="_blank"
 


&gt;ACPI: NUMA: Add a node and memblk for each CFMWS not in SRAT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/814dff9ae234d70003b8733a637fec621c90f0bc"




 target="_blank"
 


&gt;cxl/test: Mock acpi_table_parse_cedt()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f4ce1f766f1ebf39161b3b9447a83f4f1dfe593b"




 target="_blank"
 


&gt;cxl/acpi: Convert CFMWS parsing to ACPI sub-table helpers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a91bd78967c49b43d2835695c7b53b11170c98f4"




 target="_blank"
 


&gt;cxl/memdev: Remove unused cxlmd field&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/affec782742e08a7469ef81d7d0a4ae9d1345dfd"




 target="_blank"
 


&gt;cxl/core: Convert to EXPORT_SYMBOL_NS_GPL&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5e2411ae8071612396cd25017e29f9ce0662a5ff"




 target="_blank"
 


&gt;cxl/memdev: Change cxl_mem to a more descriptive name&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/888e034a74f41643dee6a8142c98946b8be00bf0"




 target="_blank"
 


&gt;cxl/mbox: Remove bad comment&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/08b9e0ab8af48895337192e683de44ab1e1b7427"




 target="_blank"
 


&gt;cxl/pmem: Fix reference counting for delayed work&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dd72945c43d34bee496b847e021069dc31f7398f"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-5.16&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/55006a2c94645b4da85dea48c3752c4eb28f1711"




 target="_blank"
 


&gt;cxl/pci: Use pci core&amp;rsquo;s DVSEC functionality&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/85afc3175aeb100d72e59e3d0470ad75a0e26249"




 target="_blank"
 


&gt;cxl/pci: Split cxl_pci_setup_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a261e9a1576ab32966be907e73786282d52afb61"




 target="_blank"
 


&gt;cxl/pci: Add @base to cxl_register_map&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7dc7a64de2bb3daf613f4c2e809e49678c579148"




 target="_blank"
 


&gt;cxl/pci: Make more use of cxl_register_map&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/84e36a9d1bbd2c41481e7160e0553480781b008b"




 target="_blank"
 


&gt;cxl/pci: Remove pci request/release regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ca76a3a8052b71c0334d5c094859cfa340c290a8"




 target="_blank"
 


&gt;cxl/pci: Fix NULL vs ERR_PTR confusion&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d22fed9c2b70d8ccc91c9a56ed2df2c1a0c2ebab"




 target="_blank"
 


&gt;cxl/pci: Remove dev_dbg for unknown register blocks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cdcce47cb33a6a2ecb1bc113d0ba42ec300a33fe"




 target="_blank"
 


&gt;cxl/pci: Convert register block identifiers to an enum&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/91a45b12d49e2b43d86caba25ed59fae43344ab8"




 target="_blank"
 


&gt;cxl/acpi: Do not fail cxl_acpi_probe() based on a missing CHBS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/301e68dd9b9b4986d401b967d17e27b91f524143"




 target="_blank"
 


&gt;cxl/core: Replace unions with struct_group()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ed97afb53365cd03dde266c9644334a558fe5a16"




 target="_blank"
 


&gt;cxl/pci: Disambiguate cxl_pci further from cxl_mem&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/48667f676189eccfe9b7ac3a31772d55d6da40e5"




 target="_blank"
 


&gt;cxl/core: Split decoder setup into alloc + add&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7d3eb23c4ccf457b52cafdca1a7b20cddf29e021"




 target="_blank"
 


&gt;tools/testing/cxl: Introduce a mock memory device + driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/49be6dd807511db31809000a7b9d430b18d5e780"




 target="_blank"
 


&gt;cxl/mbox: Move command definitions to common location&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a5c25802168993c67a03a6e04142761dfb4a3bf5"




 target="_blank"
 


&gt;cxl/bus: Populate the target list at decoder create&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/67dcdd4d3b832ace448f454c47426f657d648fc5"




 target="_blank"
 


&gt;tools/testing/cxl: Introduce a mocked-up CXL port hierarchy&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2e52b6256b9af23c5a881f56b5b5e7f5cb9b8b4b"




 target="_blank"
 


&gt;cxl/pmem: Add support for multiple nvdimm-bridge objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/60b8f17215de1e6551fec4e942494c3832c3e98b"




 target="_blank"
 


&gt;cxl/pmem: Translate NVDIMM label commands to CXL label commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/12f3856ad42d6ce0dbd4266e105c04ae999f908c"




 target="_blank"
 


&gt;cxl/mbox: Add exclusive kernel command support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ff56ab9e164d71c4a6ae33fc61ae856faec265a1"




 target="_blank"
 


&gt;cxl/mbox: Convert &amp;rsquo;enabled_cmds&amp;rsquo; to DECLARE_BITMAP&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5a2328f4e872a5bcbb2ff790497f000e8f79b152"




 target="_blank"
 


&gt;cxl/pci: Use module_pci_driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4faf31b43468c58e2c8c91cc5fa26f08a6b733be"




 target="_blank"
 


&gt;cxl/mbox: Move mailbox and other non-PCI specific infrastructure to the core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4cb35f1ca05a42acbc4a3c8cf7de1029a06558d0"




 target="_blank"
 


&gt;cxl/pci: Drop idr.h&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b64955a92929346f16df058ad2bb53630eb80466"




 target="_blank"
 


&gt;cxl/mbox: Introduce the mbox_send operation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/13e7749d06b335774bbb341c65a0232484beb457"




 target="_blank"
 


&gt;cxl/pci: Clean up cxl_mem_get_partition_info()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/99e222a5f1b67dd17c2c780f4eb9a694707d3bf7"




 target="_blank"
 


&gt;cxl/pci: Make &amp;lsquo;struct cxl_mem&amp;rsquo; device type generic&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/70868a180501d17fea58153c649d56bc18435315"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-5.15&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2b922a9d064f8e86b53b04f5819917b7a04142ed"




 target="_blank"
 


&gt;cxl/registers: Fix Documentation warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a01da6ca7d0ad66b6fa2dc4af0fc97ca8ba28b45"




 target="_blank"
 


&gt;cxl/pmem: Fix Documentation warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/da582aa5ad5787c46e3f475ab3f4602ec84c1617"




 target="_blank"
 


&gt;cxl/pci: Fix debug message in cxl_probe_regs()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9e56614c44b994b78fc9fcb2070bcbe3f5df0d7b"




 target="_blank"
 


&gt;cxl/pci: Fix lockdown level&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a7bfaad54b8b9cf06041528988d6b75b4b921546"




 target="_blank"
 


&gt;cxl/acpi: Do not add DSDT disabled ACPI0016 host bridge ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ceeb0da0a0322bcba4c50ab3cf97fe9a7aa8a2e4"




 target="_blank"
 


&gt;cxl/mem: Adjust ram/pmem range to represent DPA ranges&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f847502ad8e3299e7ad256aa0bd7eaf184646117"




 target="_blank"
 


&gt;cxl/mem: Account for partitionable space in ram/pmem ranges&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0b9159d0ff21bc281dbb9ede06ad566330ac0943"




 target="_blank"
 


&gt;cxl/pci: Store memory capacity values&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5b68705d1e6340127464ef0ac0e1de94f823f14e"




 target="_blank"
 


&gt;cxl/pci: Simplify register setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1e39db573e4cdf798b899de2b1e72ac9bea08013"




 target="_blank"
 


&gt;cxl/pci: Ignore unknown register block types&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3d135db510240fefd79da46181493d3e3b415f6b"




 target="_blank"
 


&gt;cxl/core: Move memdev management to core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9cc238c7a526dba9ee8c210fa2828886fc65db66"




 target="_blank"
 


&gt;cxl/pci: Introduce cdevm_file_operations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0f06157e0135f5563efbc9aadbd93ba3d9322cab"




 target="_blank"
 


&gt;cxl/core: Move register mapping infrastructure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/06737cd0d216be1cf6e8052e4fca0d391298f184"




 target="_blank"
 


&gt;cxl/core: Move pmem functionality&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/95aaed266801a801add6d17cd3a4f7deb610af2e"




 target="_blank"
 


&gt;cxl/core: Improve CXL core kernel docs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5161a55c069f53d88da49274cbef6e3c74eadea9"




 target="_blank"
 


&gt;cxl: Move cxl_core to new directory&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fc7a6209d5710618eb4f72a77cd81b8d694ecf89"




 target="_blank"
 


&gt;bus: Make remove callback return void&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4ad6181e4b216ed0cb52f45d3c6d2c70c8ae9243"




 target="_blank"
 


&gt;cxl/pci: Rename CXL REGLOC ID&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3e23d17ce1980c7cbd9426a3764eef7d7bcd443f"




 target="_blank"
 


&gt;cxl/acpi: Use the ACPI CFMWS to create static decoder objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/da6aafec3dca6132dd80a74a4d918ffd86c7ae35"




 target="_blank"
 


&gt;cxl/acpi: Add the Host Bridge base address to CXL port objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/21083f51521fb0f60dbac591f175c3ed48435af4"




 target="_blank"
 


&gt;cxl/pmem: Register &amp;lsquo;pmem&amp;rsquo; / cxl_nvdimm devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8fdcb1704f61a8fd9be0f3849a174d084def0666"




 target="_blank"
 


&gt;cxl/pmem: Add initial infrastructure for pmem support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6af7139c979474a29a6ad642c9bf32d92e24c5bc"




 target="_blank"
 


&gt;cxl/core: Add cxl-bus driver infrastructure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/87815ee9d0060a91bdf18266e42837a9adb5972e"




 target="_blank"
 


&gt;cxl/pci: Add media provisioning required commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ba268647368844ed290e2f7b4da7a28cd12ee049"




 target="_blank"
 


&gt;cxl/component_regs: Fix offset&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6423035fd26c1ecb72f90ecab909e9afa36942b8"




 target="_blank"
 


&gt;cxl/hdm: Fix decoder count calculation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/40ba17afdfabb01688c61565dbe02a916241bc05"




 target="_blank"
 


&gt;cxl/acpi: Introduce cxl_decoder objects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3b94ce7b7bc1b436465a93f19a50e0b495b429a1"




 target="_blank"
 


&gt;cxl/acpi: Enumerate host bridge root ports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7d4b5ca2e2cb5d28db628ec79c706bcfa832feea"




 target="_blank"
 


&gt;cxl/acpi: Add downstream port data to cxl_port instances&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3feaa2d35880de935fc0d02acf808f355564f4e6"




 target="_blank"
 


&gt;cxl/Kconfig: Default drivers to CONFIG_CXL_BUS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4812be97c015bddf12c70155858df43acc35a4eb"




 target="_blank"
 


&gt;cxl/acpi: Introduce the root of a cxl_port topology&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/605a5e41db7d8c930fb80115686991c4c1d08ee4"




 target="_blank"
 


&gt;cxl/pci: Fixup devm_cxl_iomap_block() to take a &amp;lsquo;struct device *&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/08422378c4adacf528d573bb1631d4818f8f9a01"




 target="_blank"
 


&gt;cxl/pci: Add HDM decoder capabilities&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9a016527dcb71e2ecadfeacf52122a79b428790c"




 target="_blank"
 


&gt;cxl/pci: Reserve individual register block regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/30af97296f48d84bc4a6abbaabb92c796a84ca57"




 target="_blank"
 


&gt;cxl/pci: Map registers based on capabilities&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f8a7e8c29be873b90fcc426e93bdb6184df5970e"




 target="_blank"
 


&gt;cxl/pci: Reserve all device regions at once&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/07d62eac422c5c8aec6ec1dacdc27423334b2d17"




 target="_blank"
 


&gt;cxl/pci: Introduce cxl_decode_register_block()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6630d31c912ed2dfbc035caf0f54709b50ce779e"




 target="_blank"
 


&gt;cxl/mem: Get rid of @cxlm.base&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1d5a4159074bde1b2d5e4a6f5ed34de70a83a39f"




 target="_blank"
 


&gt;cxl/mem: Move register locator logic into reg setup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1b0a1a2a193400d305931a40ac68e89bcfdad9c5"




 target="_blank"
 


&gt;cxl/mem: Split creation from mapping in probe&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5d0c6f02595310a17762755bb6f015786b8900db"




 target="_blank"
 


&gt;cxl/mem: Use dev instead of pdev-&amp;gt;dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dd2a93a814e7ffbd4d2c3e361f4609c9bd384a96"




 target="_blank"
 


&gt;cxl/mem: Demarcate vendor specific capability IDs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/199cf8c3feec2947015da84643312790b21531cb"




 target="_blank"
 


&gt;cxl/pci.c: Add a &amp;rsquo;label_storage_size&amp;rsquo; attribute to the memdev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/21e9f76733a8c152b794cba5463ff9bf2db919d4"




 target="_blank"
 


&gt;cxl: Rename mem to pci&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/399d34ebc2483c6091a587e5905c6ed34116fb05"




 target="_blank"
 


&gt;cxl/core: Refactor CXL register lookup for bridge reuse&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5f653f7590ab7db7379f668b2975744585206b0d"




 target="_blank"
 


&gt;cxl/core: Rename bus.c to core.c&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8ac75dd6ab3039ef0656d777a564ea1b65071971"




 target="_blank"
 


&gt;cxl/mem: Introduce &amp;lsquo;struct cxl_regs&amp;rsquo; for &amp;ldquo;composable&amp;rdquo; CXL devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5f50d6b20ca31d91de14cc09be3e5ce67bc99e04"




 target="_blank"
 


&gt;cxl/mem: Move some definitions to mem.h&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fae8817ae804a682c6823ad1672438f39fc46c28"




 target="_blank"
 


&gt;cxl/mem: Fix memory device capacity probing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b21bb4cd1102dd9e24a169d09cf4e6f3c8a46bcf"




 target="_blank"
 


&gt;cxl/mem: Fix register block offset calculation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/392be0bda730df3c71241b2a16bbecac78ee627d"




 target="_blank"
 


&gt;cxl/mem: Force array size of mem_commands[] to CXL_MEM_COMMAND_ID_MAX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7eda6457a9ca4dc9754e1158c3794e4487ea4392"




 target="_blank"
 


&gt;cxl/mem: Disable cxl device power management&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1c3333a28d4532cfc37d4d25bfc76654a0c76643"




 target="_blank"
 


&gt;cxl/mem: Do not rely on device_add() side effects for dev_set_name() failures&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5877515912cc4f0d67071b7cee15076ebef24708"




 target="_blank"
 


&gt;cxl/mem: Fix synchronization mechanism for device removal vs ioctl operations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6eff5721933c08c3b76d6126aee24d8f134518ef"




 target="_blank"
 


&gt;cxl/mem: Use sysfs_emit() for attribute show routines&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/88ff5d466c0250259818f3153dbdc4af1f8615dd"




 target="_blank"
 


&gt;cxl/mem: Fix potential memory leak&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/58294927f468a428c7a1ba09cf986fdca14a2747"




 target="_blank"
 


&gt;cxl/mem: Return -EFAULT if copy_to_user() fails&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/57ee605b976c30a86613648935d255bbe704aeab"




 target="_blank"
 


&gt;cxl/mem: Add set of informational commands&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/472b1ce6e9d6396ab3f11fc5101c6b63b934a018"




 target="_blank"
 


&gt;cxl/mem: Enable commands via CEL&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/13237183c735f5cba4ae26bc782c613ae0d4e4d3"




 target="_blank"
 


&gt;cxl/mem: Add a &amp;ldquo;RAW&amp;rdquo; send command&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/583fa5e71caeb79e04e477e9837e2f7fa53b71e4"




 target="_blank"
 


&gt;cxl/mem: Add basic IOCTL interface&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b39cb1052a5cf41bc12201ec1c0ddae5cb8be868"




 target="_blank"
 


&gt;cxl/mem: Register CXL memX devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8adaf747c9f0b470aea1b0c88583aa0a344e1540"




 target="_blank"
 


&gt;cxl/mem: Find device capabilities&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4cdadfd5e0a70017fec735b7b6d7f2f731842dc6"




 target="_blank"
 


&gt;cxl/mem: Introduce a driver for CXL-2.0-Type-3 endpoints&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/61307b7be41a1f1039d1d1368810a1d92cb97b44"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;mm-stable-2024-05-17-19-19&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c405aa3ea36c1f973a9f10bbcfabc9aeeb38040c"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-6.10&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2acf04532d6d655d8c3b2ee4ddeb320107043086"




 target="_blank"
 


&gt;dax/bus.c: use the right locking mode (read vs write) in size_show&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e39dbcfba714c4c2e924e96fc8fdde1080a5a737"




 target="_blank"
 


&gt;dax/bus.c: don&amp;rsquo;t use down_write_killable for non-user processes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6f6544f27e41f9d7dca55c288f12175a9c48dfe2"




 target="_blank"
 


&gt;dax/bus.c: fix locking for unregister_dax_dev / unregister_dax_mapping paths&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c14c647bbe23fd96f6bffcc122b9c6c8c46c7928"




 target="_blank"
 


&gt;dax/bus.c: replace WARN_ON_ONCE() with lockdep asserts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a72a30af550c08423de1b9feecb6ceeddc434889"




 target="_blank"
 


&gt;memory tier: dax/kmem: introduce an abstract layer for finding, allocating, and putting memory types&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/529ce23a764f25d172198b4c6ba90f1e2ad17f93"




 target="_blank"
 


&gt;mm: switch mm-&amp;gt;get_unmapped_area() to a flag&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/41147b006be2174b825a54b0620ecf4cc7ec5c84"




 target="_blank"
 


&gt;dax: remove redundant assignment to variable rc&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2c720b492c59b070930aa1be8bef6e256d3bf4b2"




 target="_blank"
 


&gt;dax: constify the struct device_type usage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/210a03c9d51aa0e6e6f06980116e3256da8d4c48"




 target="_blank"
 


&gt;fs: claw back a few FMODE_* bits&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4757c3c64a71820a37da7a14c5b63a1f26fed0f5"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-6.9&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/902861e34c401696ed9ad17a54c8790e7e8e3069"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;mm-stable-2024-03-13-20-04&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f88c3fb81c4badb46c2fef7d168ff138043e86bb"




 target="_blank"
 


&gt;mm, slab: remove last vestiges of SLAB_MEM_SPREAD&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d9212b35da52109361247b66010802d43c6b1f0d"




 target="_blank"
 


&gt;dax: remove SLAB_MEM_SPREAD flag usage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/902ccb86ed02eea5b81c2afb514c0a7d72f63de2"




 target="_blank"
 


&gt;dax: fix incorrect list of data cache aliasing architectures&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1df4ca0155acb37b9b1d03ab91323d70a309ff54"




 target="_blank"
 


&gt;dax: check for data cache aliasing at runtime&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6d439c18d9b190ab1e0f1196bc45590f95752bf1"




 target="_blank"
 


&gt;dax: alloc_dax() return ERR_PTR(-EOPNOTSUPP) for CONFIG_DAX=n&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/73954d379efd176e9b011142c55aa8da93ac740a"




 target="_blank"
 


&gt;dax: add a sysfs knob to control memmap_on_memory behavior&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6ebed0007f082cd80a63a8849c54e7cad0069469"




 target="_blank"
 


&gt;dax/bus.c: replace several sprintf() with sysfs_emit()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c05ae9d85b47211edb187b854b62ec68fb2a1e93"




 target="_blank"
 


&gt;dax/bus.c: replace driver-core lock usage by a local rwsem&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bc22374c96d959084bea1287cfc6ea0fd9ca4e40"




 target="_blank"
 


&gt;device-dax: make dax_bus_type const&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/12958e9c4c8e93ef694c10960c78453edf21526e"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;xfs-6.8-merge-3&amp;rsquo; of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4eca0ef49af9b2b0c52ef2b58e045ab34629796b"




 target="_blank"
 


&gt;dax/kmem: allow kmem to add memory with memmap_on_memory&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fa422b353d212373fb2b2857a5ea5a6fa4876f9c"




 target="_blank"
 


&gt;mm, pmem, xfs: Introduce MF_MEM_PRE_REMOVE for unbind&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ecae0bd5173b1014f95a14a8dfbe40ec10367dcf"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;mm-stable-2023-11-01-14-33&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6bc2cfdf82d56863b7cf5e86e37a662b2ae5d47e"




 target="_blank"
 


&gt;dax, kmem: calculate abstract distance with general interface&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/75b3d5dc0846cfa54ea52d7d84215b761ecbf569"




 target="_blank"
 


&gt;dax: refactor deprecated strncpy&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1d024e7a8dabcc3c84d77532a88c774c32cf8245"




 target="_blank"
 


&gt;mm: remove enum page_entry_size&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bded67f81ec47e6054ad24c1c7992a6523a9b2c6"




 target="_blank"
 


&gt;memory tier: rename destroy_memory_type() to put_memory_type()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1ea7ca1b090145519aad998679222f0a14ab8fce"




 target="_blank"
 


&gt;dax: enable dax fault handler to report VM_FAULT_HWPOISON&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/46e66dab8565f742374e9cc4ff7d35f344d774e2"




 target="_blank"
 


&gt;dax/kmem: Pass valid argument to memory_group_register_static&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2532f41607c4308733239dd43278f8a5540f3ec7"




 target="_blank"
 


&gt;dax: Cleanup extra dax_region references&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/70aab281e18c68a1284bc387de127c2fc0bed3f8"




 target="_blank"
 


&gt;dax: Introduce alloc_dev_dax_id()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/82b4ceeccb89cfd0b03706f1b15e31a7db6a027d"




 target="_blank"
 


&gt;dax: Use device_unregister() in unregister_dax_mapping()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6d24b170a9db0456f577b1ab01226a2254c016a8"




 target="_blank"
 


&gt;dax: Fix dax_mapping_release() use after free&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2d5153526f929838b0912ded26862840f72745f4"




 target="_blank"
 


&gt;dax: fix missing-prototype warnings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7c3dc440b1f5c75f45e24430f913e561dc82a419"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;cxl-for-6.3&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a93e884edf61f9debc9ca61ef9e545f0394ab666"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;driver-core-6.3-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3822a7c40997dc86b1458766a3f146d62393f084"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;mm-stable-2023-02-20-13-37&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8cc01d43f882fa1f44d8aa6727a6ea783d8fbe3f"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;rcu.2023.02.10a&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e686c32590f40bffc45f105c04c836ffad3e531a"




 target="_blank"
 


&gt;dax/kmem: Fix leak of memory-hotplug resources&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0c16c83ed57fc66b033306ba426a5b324966a33e"




 target="_blank"
 


&gt;dax: cxl: add CXL_REGION dependency&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/09d09e04d2fcf88c4620dd28097e0e2a8f720eac"




 target="_blank"
 


&gt;cxl/dax: Create dax devices for CXL RAM regions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e9ee9fe3a9d4ae0e1e935fc2ec1218b66a043cae"




 target="_blank"
 


&gt;dax: Assign RAM regions to memory-hotplug by default&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7dab174e2e27eeaf10273e597ffbef4f8ea032bb"




 target="_blank"
 


&gt;dax/hmem: Move hmem device registration to dax_hmem.ko&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fe098574a93b4e2acb046b583e9857337d807f38"




 target="_blank"
 


&gt;dax/hmem: Convey the dax range via memregion_info()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/84fe17f8e9c68a4389c6e89b7ce3b4651b359989"




 target="_blank"
 


&gt;dax/hmem: Drop unnecessary dax_hmem_remove()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/df2798bc778acadcd87d7ff98a4db47197defc5f"




 target="_blank"
 


&gt;dax/hmem: Move HMAT and Soft reservation probe initcall level&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1c71222e5f2393b5ea1a41795c67589eea7e3490"




 target="_blank"
 


&gt;mm: replace vma-&amp;gt;vm_flags direct modifications with modifier calls&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a870acc11230d7bf52b9bbeb6c096448f1176964"




 target="_blank"
 


&gt;drivers/dax: Remove &amp;ldquo;select SRCU&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2a81ada32f0e584fc0c943e0d3a8c9f4fae411d6"




 target="_blank"
 


&gt;driver core: make struct bus_type.uevent() take a const *&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1c88b9ba6b126080a9c121abd943b25e20cd7ac1"




 target="_blank"
 


&gt;dax: super.c: fix kernel-doc bad line warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/472faf72b33d80aa8e7a99c9410c1a23d3bf0cd8"




 target="_blank"
 


&gt;device-dax: Fix duplicate &amp;lsquo;hmem&amp;rsquo; device registration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/19d17ab7c68b62180e0537f92400a6f798019775"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-6.1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/27bc50fc90647bbf7b734c3fc306a5e61350da53"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;mm-stable-2022-10-08&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6a02124c87f0b61dcaaeb65e7fd406d8afb40fd4"




 target="_blank"
 


&gt;ACPI: HMAT: Release platform device in case of platform_device_add_data() fails&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0f702033a64bd3adcd57c9d5cf91ea64c08fad42"




 target="_blank"
 


&gt;dax: Remove usage of the deprecated ida_simple_xxx API&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7b88bda3761b95856cf97822efe8281c8100067b"




 target="_blank"
 


&gt;mm/demotion/dax/kmem: set node&amp;rsquo;s abstract distance to MEMTIER_DEFAULT_DAX_ADISTANCE&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/67feaba413ec68daf4124e9870878899b4ed9a0e"




 target="_blank"
 


&gt;devdax: Fix soft-reservation memory description&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8012b866085523758780850087102421dbcce522"




 target="_blank"
 


&gt;dax: introduce holder for dax_device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/047218ec904da19c45c4a70274fc3f818a1fcba1"




 target="_blank"
 


&gt;dax: add .recovery_write dax_operation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e511c4a3d2a1f64aafc1f5df37a2ffcf7ef91b55"




 target="_blank"
 


&gt;dax: introduce DAX_RECOVERY_WRITE dax access mode&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f0614eefbf829a2914ac9a82cb8bbeaf1af28f9d"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;dax-for-5.18&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6b1f86f8e9c7f9de7ca1cb987b2cf25e99b1ae3a"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;folio-5.18b&amp;rsquo; of git://git.infradead.org/users/willy/pagecache&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fd60b28842df833477c42da6a6d63d0d114a5fcc"




 target="_blank"
 


&gt;fs: allocate inode by using alloc_inode_sb()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/46de8b979492e1377947700ecb1e3169088668b2"




 target="_blank"
 


&gt;fs: Convert __set_page_dirty_no_writeback to noop_dirty_folio&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5660a8630dab61a28e07ec00c42bf605b182d725"




 target="_blank"
 


&gt;fs: Remove noop_invalidatepage()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/db8cd5efeebc4904df1653926102413d088a5c7e"




 target="_blank"
 


&gt;dax: Fix missing kdoc for dax_device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a7e8de822e0b1979f08767c751f6c8a9c1d4ad86"




 target="_blank"
 


&gt;dax: make sure inodes are flushed before destroy cache&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f56caedaf94f9ced5dbfcdb0060a3e788d2078af"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;akpm&amp;rsquo; (patches from Andrew)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/14606001efb48a17be31a5bec626c13ca49d783a"




 target="_blank"
 


&gt;device-dax: compound devmap support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6ec228b6fef5ad3a1f19e76c29640a9161415240"




 target="_blank"
 


&gt;device-dax: remove pfn from _&lt;em&gt;dev_dax&lt;/em&gt;{pte,pmd,pud}_fault()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0e7325f03f09802d1667b8860e10fe39c25bf14c"




 target="_blank"
 


&gt;device-dax: set mapping prior to vmf_insert_pfn{,_pmd,pud}()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a0fb038e50d72f8e60731dc48fb83a3a141b822e"




 target="_blank"
 


&gt;device-dax: factor out page mapping initialization&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fc65c4eb0b2a27c30d35636650e3f4ddb07506cd"




 target="_blank"
 


&gt;device-dax: ensure dev_dax-&amp;gt;pgmap is valid for dynamic devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/09b80137033dbc5f1d197e99116527c0f8d253f2"




 target="_blank"
 


&gt;device-dax: use struct_size()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b9b5777f09be84d0de472ded2253d2f5101427f2"




 target="_blank"
 


&gt;device-dax: use ALIGN() for determining pgoff&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7ac5360cd4d02cc7e0eaf10867f599e041822f12"




 target="_blank"
 


&gt;dax: remove the copy_from_iter and copy_to_iter methods&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/30c6828a17a572aeb9e3a3bacce05fdcf1106541"




 target="_blank"
 


&gt;dax: remove the DAXDEV_F_SYNC flag&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fd1d00ec92002d8fe28ca981a72395eaa7ae3d11"




 target="_blank"
 


&gt;dax: simplify dax_synchronous and set_dax_synchronous&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cd913c76f489def1a388e3a5b10df94948ede3f5"




 target="_blank"
 


&gt;dax: return the partition offset from fs_dax_get_by_bdev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/60696eb26a37ab0199f7833ddbc1b75138c36d16"




 target="_blank"
 


&gt;fsdax: simplify the pgoff calculation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7b0800d00dae8c897398abaf61e82db0d67d7afc"




 target="_blank"
 


&gt;dax: remove dax_capable&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0c445871388f4bac74ea74e8c7a12c6c05c6a427"




 target="_blank"
 


&gt;dax: move the partition alignment check into fs_dax_get_by_bdev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/586f61682816f0cf7865b2dab7210b8f5339f834"




 target="_blank"
 


&gt;dax: remove the pgmap sanity checks in generic_fsdax_supported&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fb08a1908cb119a4585611d91461ab6d27756b14"




 target="_blank"
 


&gt;dax: simplify the dax_device &amp;lt;-&amp;gt; gendisk association&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/afd586f0d06ce3d81b7c474499630fec88833828"




 target="_blank"
 


&gt;dax: remove CONFIG_DAX_DRIVER&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5d2a228b9e1319ff188f9ea89006fbe575561921"




 target="_blank"
 


&gt;dm: make the DAX support depend on CONFIG_FS_DAX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/83762cb5c7c464af4cbaba5679af31c7fe534979"




 target="_blank"
 


&gt;dax: Kill DEV_DAX_PMEM_COMPAT&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e765f13ed126fe7e41d1a6e3c60d754cd6c2af93"




 target="_blank"
 


&gt;nvdimm/pmem: move dax_attribute_group from dax to pmem&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2e5fd489a4e5fcc97b035c03ace724c1d481a4c1"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-5.15&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2d338201d5311bcd79d42f66df4cecbcbc5f4f2c"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;akpm&amp;rsquo; (patches from Andrew)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/eedf634aac3b85b70e7b139c32fc68f565ecf815"




 target="_blank"
 


&gt;dax/kmem: use a single static memory group for a single probed unit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e1c158e4956612e7bada4c03dfb99210af4d6cde"




 target="_blank"
 


&gt;mm/memory_hotplug: remove nid parameter from remove_memory() and friends&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c6c3c5704ba70820f6b632982abde06661b7222a"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;driver-core-5.15-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bdd3c50d83bf7f6acc869b48d02670d19030ae03"




 target="_blank"
 


&gt;dax: remove bdev_dax_supported&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/60b8340f0d6587d7b51990689fcdae567f309fbf"




 target="_blank"
 


&gt;dax: stub out dax_supported for !CONFIG_FS_DAX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cd93a2a4d1b076f5c73d70d836c202bbcbeea49e"




 target="_blank"
 


&gt;dax: remove __generic_fsdax_supported&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/673a0658f6ac359131a881c0dcf1b91c2500ab9c"




 target="_blank"
 


&gt;dax: move the dax_read_lock() locking into dax_supported&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1b7646014e0d838b06be7288e2dec3262948cc56"




 target="_blank"
 


&gt;dax: mark dax_get_by_host static&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/39b6389a7fdc0457d980a3ea1e77ca457402f477"




 target="_blank"
 


&gt;dax: stop using bdevname&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/96dcb97d0a40a60b9aee9f2c7a44ce8a1b6704bc"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-5.14/dax&amp;rsquo; into libnvdimm-fixes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fc7a6209d5710618eb4f72a77cd81b8d694ecf89"




 target="_blank"
 


&gt;bus: Make remove callback return void&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b05d4c576b697b9f462b9c532c997171d5c3b067"




 target="_blank"
 


&gt;dax: Ensure errno is returned from dax_direct_access&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b82a96c9253333a8834b2df5f262a39cccf4f6c7"




 target="_blank"
 


&gt;fs: remove noop_set_page_dirty()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9de82caad0282205d4c38a39456bce58e3219540"




 target="_blank"
 


&gt;dax: avoid -Wempty-body warnings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5ceabb6078b80a8544ba86d6ee523ad755ae6d5e"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;work.misc&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/64ffe84320745ea836555ad207ebfb0e896b6167"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-5.12/dax&amp;rsquo; into for-5.12/libnvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6f24784f00f2b5862b367caeecc5cca22a77faa3"




 target="_blank"
 


&gt;whack-a-mole: don&amp;rsquo;t open-code iminor/imajor&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0d519e0d52ee7c532d4018b90cd0b042d374c06d"




 target="_blank"
 


&gt;dax-device: Make remove callback return void&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c80b53204d6ee8f70e5f4e846bc0e62dda64aee0"




 target="_blank"
 


&gt;device-dax: Drop an empty .remove callback&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e307bf11c5198dbc0c9de0694c3e85c681648df6"




 target="_blank"
 


&gt;device-dax: Fix error path in dax_driver_register&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8029968e2ae02361f376751459dc644b45970b40"




 target="_blank"
 


&gt;device-dax: Properly handle drivers without remove callback&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5b8e64f1ada37574b9ab124e1414af2adf688a19"




 target="_blank"
 


&gt;device-dax: Prevent registering drivers without probe callback&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1f975074634a63f014e2b7e76852ee6d6005a91d"




 target="_blank"
 


&gt;libnvdimm: Make remove callback return void&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7323fb22f05ff1d20498d267828870a5fbbaebd6"




 target="_blank"
 


&gt;device-dax: Fix default return code of range_parse()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1f13d2f7d8a407be09e841f17805b2451271d493"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-5.11&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ff8da37d3d8d438ded5a4841d979899269b94d0d"




 target="_blank"
 


&gt;device-dax: Avoid an unnecessary check in alloc_dev_dax_range()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6268d7da4d192af339f4d688942b9ccb45a65e04"




 target="_blank"
 


&gt;device-dax: Fix range release&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8bcbe3132c66c07d03f64d5da80be753359f2e92"




 target="_blank"
 


&gt;device-dax: delete a redundancy check in dev_dax_validate_align()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1aa574312518ef1d60d2dc62d58f7021db3b163a"




 target="_blank"
 


&gt;device-dax/core: Fix memory leak when rmmod dax.ko&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4e6a7b3bbd5a6f9e6f0c5c3ad976ed116c7ade79"




 target="_blank"
 


&gt;device-dax/pmem: Convert comma to semicolon&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dd3b614f858d88f33e0cf8b7353e2ad937e71da3"




 target="_blank"
 


&gt;vm_ops: rename .split() callback to .may_split()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7d18dd75a8afc072aabc77f2a9c3df94cdc53f33"




 target="_blank"
 


&gt;device-dax/kmem: use struct_size()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a927bd6ba952d13c52b8b385030943032f659a3e"




 target="_blank"
 


&gt;mm: fix phys_to_target_node() and memory_add_physaddr_to_nid() exports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/694565356c2e06224d94774a42709cc8dfab49ee"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;fuse-update-5.10&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b6117199787c60539105d2de0d010146e8396fc3"




 target="_blank"
 


&gt;mm/memory_hotplug: prepare passing flags to add_memory() and friends&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a455aa72f7c46b881721668b3ee810713adc7a5b"




 target="_blank"
 


&gt;device-dax/kmem: fix resource release&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8490e2e25b5a1f9591145f0e3bbd09b99409be76"




 target="_blank"
 


&gt;device-dax: add a range mapping allocation attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5a505603a917854fd68d2c25e86e1fb96c845ced"




 target="_blank"
 


&gt;dax/hmem: introduce dax_hmem.region_idle parameter&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6d82120f41561426dd67c86380d779b4599d070d"




 target="_blank"
 


&gt;device-dax: add an &amp;lsquo;align&amp;rsquo; attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/33cf94d7176672174042bea0566065f356e2caab"




 target="_blank"
 


&gt;device-dax: make align a per-device property&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0b07ce872a9eca1ff88c0eb7f6e92dde127d21ca"




 target="_blank"
 


&gt;device-dax: introduce &amp;lsquo;mapping&amp;rsquo; devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/60e93dc097f7f13a16a7e4b75b8803eb2adbb721"




 target="_blank"
 


&gt;device-dax: add dis-contiguous resource support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b7b3c01b191596d27a6980d1a42504f5b607f802"




 target="_blank"
 


&gt;mm/memremap_pages: support multiple ranges per invocation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a4574f63edc6f76fb46dcd65d3eb4d5a8e23ba38"




 target="_blank"
 


&gt;mm/memremap_pages: convert to &amp;lsquo;struct range&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fcffb6a1df921c81579e9c01f9caa281c3f991d5"




 target="_blank"
 


&gt;device-dax: add resize support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0f3da14a4f0503998fc6c12da3d2fc6e8b33e669"




 target="_blank"
 


&gt;device-dax: introduce &amp;lsquo;seed&amp;rsquo; devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f11cf813dee20e67eac22a6d78502aa564554eb4"




 target="_blank"
 


&gt;device-dax: introduce &amp;lsquo;struct dev_dax&amp;rsquo; typed-driver operations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c2f3011ee697f85ba0166fb3780332aafc66b8f4"




 target="_blank"
 


&gt;device-dax: add an allocation interface for device-dax instances&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0513bd5bb11456d45250c9283e1cb52533125180"




 target="_blank"
 


&gt;device-dax/kmem: replace release_resource() with release_mem_region()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7e6b431aaef8b611a5adcd7f18fe089ff0d7bb59"




 target="_blank"
 


&gt;device-dax/kmem: move resource name tracking to drvdata&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/59bc8d10dc417884a3bc18a092a62e13645ed044"




 target="_blank"
 


&gt;device-dax/kmem: introduce dax_kmem_range()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f5516ec5efb9fe0f426a46eeef25d389d3c2f988"




 target="_blank"
 


&gt;device-dax: make pgmap optional for instance creation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/174ebece379bad6331048560dc7f7abfdb8442ee"




 target="_blank"
 


&gt;device-dax: move instance creation parameters to &amp;lsquo;struct dev_dax_data&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ec826909981c0b3262681ed7021b959593426d46"




 target="_blank"
 


&gt;device-dax: drop the dax_region.pfn_flags attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5ccac54f3e124a49789c3773d5a351e87470cf12"




 target="_blank"
 


&gt;ACPI: HMAT: attach a device for each soft-reserved range&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c01044cc819160323f3ca4acd44fca487c4432e6"




 target="_blank"
 


&gt;ACPI: HMAT: refactor hmat_register_target_device to hmem_register_device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d4c5da5049ac27c6ef8f6f98548c3a1ade352d25"




 target="_blank"
 


&gt;dax: Fix stack overflow when mounting fsdax pmem device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e2ec5128254518cae320d5dc631b71b94160f663"




 target="_blank"
 


&gt;dm: Call proper helper to determine dax support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4f8b0a5b3f7e5f03b188de9025b60c15559790f9"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-fix-v5.9-rc5&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1a9d5d405962d134acb8efb4ccb4bc17805134c7"




 target="_blank"
 


&gt;dax: Modify bdev_dax_pgoff() to handle NULL bdev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/68beef571071014ef34a3beac65fe2af7e8e3cf6"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;for-linus-5.9-rc4-tag&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4533d3aed857c558d6aabd00d0cb04100c5a2258"




 target="_blank"
 


&gt;memremap: rename MEMORY_DEVICE_DEVDAX to MEMORY_DEVICE_GENERIC&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6180bb446ab624b9ab8bf201ed251ca87f07b413"




 target="_blank"
 


&gt;dax: fix detection of dax support for non-persistent memory block devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c2affe920b0e0669650943ac086215cf6519be34"




 target="_blank"
 


&gt;dax: do not print error message for non-persistent memory block device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4bf5e3611895ede257d736b7359db669879a109f"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-5.9&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/eedfd73d401b5584ab270b5f9f80079e56c7807e"




 target="_blank"
 


&gt;drivers/dax: Expand lock scope to cover the use of addresses&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/231609785cbfb341e7d6d24a74d6ab8cc518835f"




 target="_blank"
 


&gt;dax: print error message by pr_info() in __generic_fsdax_supported()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e556f6ba10f0f3c3484a1597382ceaec1e7bc700"




 target="_blank"
 


&gt;block: remove the bd_queue field from struct block_device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8a725e4694b52ffad755500277d36f3b2eb34755"




 target="_blank"
 


&gt;device-dax: add memory via add_memory_driver_managed()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/735e4ae5ba28c886d249ad04d3c8cc097dad6336"




 target="_blank"
 


&gt;vfs: track per-sb writeback errors and report them to syncfs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/60858c00e5f018eda711a3aa84cf62214ef62d61"




 target="_blank"
 


&gt;device-dax: don&amp;rsquo;t leak kernel memory to user space after unloading kmem&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4e4ced93794acb42adb19484132966defba8f3a6"




 target="_blank"
 


&gt;dax: Move mandatory -&amp;gt;zero_page_range() check in alloc_dax()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f605a263e0690177ecc180417eacf2b5507dd177"




 target="_blank"
 


&gt;dax, pmem: Add a dax operation zero_page_range&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f01b16a85bfae2e6b4f32de0a1f37ac4050dc316"




 target="_blank"
 


&gt;dax: Get rid of fs_dax_get_by_host() helper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d10032dd539c93dbff016f5667e5627c6c2a4467"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-5.5&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cb4dd729ee6ccc67ad604b1750990eb8c18783fa"




 target="_blank"
 


&gt;dax: Add numa_node to the default device-dax attributes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/153dd28647d63086dc6e1df5ee06fd0a5d6435a5"




 target="_blank"
 


&gt;dax: Simplify root read-only definition for the &amp;lsquo;resource&amp;rsquo; attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/770619a95106340230a72a725c958c037284ec1f"




 target="_blank"
 


&gt;dax: Create a dax device_type&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8f4b01fcded2dc821349cc0edfa5311c05abe293"




 target="_blank"
 


&gt;libnvdimm/namespace: Differentiate between probe mapping and runtime mapping&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a6c7f4c6aea5f4ca6056b06cec7ebd79f8c23e33"




 target="_blank"
 


&gt;device-dax: Add a driver for &amp;ldquo;hmem&amp;rdquo; devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/460370ab20b6cc174256e46e192adf01e730faf6"




 target="_blank"
 


&gt;dax: Fix alloc_dax_region() compile warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/933a90bf4f3505f8ec83bda21a3c7d70d7c2b426"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;work.mount0&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0fe49f70a08d7d25acee3b066a88c654fea26121"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;dax-for-5.3&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f8c3500cd137867927bc080f4a6e02e0222dd1b8"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-5.3&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9f960da72b25054163cf555e622dcdc3b8ccc488"




 target="_blank"
 


&gt;device-dax: &amp;ldquo;Hotremove&amp;rdquo; persistent memory that is used like normal RAM&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/31e4ca92a7dd4cdebd7fe1456b3b0b6ace9a816f"




 target="_blank"
 


&gt;device-dax: fix memory and resource leak if hotplug fails&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fefc1d97fa4b5e016bbe15447dc3edcd9e1bcb9f"




 target="_blank"
 


&gt;libnvdimm: add dax_dev sync flag&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ea31d5859f5862fc915ccf3fa34f6c6c5f63f336"




 target="_blank"
 


&gt;device-dax: use the dev_pagemap internal refcount&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d8668bb0451c3c45b59dbcde2654e0539aad1d2a"




 target="_blank"
 


&gt;memremap: pass a struct dev_pagemap to -&amp;gt;kill and -&amp;gt;cleanup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1e240e8d4a7d92232b6214e02a0a4197a53afd6c"




 target="_blank"
 


&gt;memremap: move dev_pagemap callbacks into a separate structure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3ed2dcdf54d5bf1f9823b5faf1a702e7cee53982"




 target="_blank"
 


&gt;memremap: validate the pagemap type passed to devm_memremap_pages&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/40cdc60ac16a42eb4e013f84d0e7aa1d6ee060d3"




 target="_blank"
 


&gt;device-dax: Add a &amp;lsquo;resource&amp;rsquo; attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/50f44ee7248ad2f7984ef081974a6ecd09724b3e"




 target="_blank"
 


&gt;mm/devm_memremap_pages: fix final page put race&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5b497af42fab12cadc0e29bcb7052cf9963603f5"




 target="_blank"
 


&gt;treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 295&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/75d4e06f049ffb059fdf7e81c0c4c9fab2ba60e4"




 target="_blank"
 


&gt;vfs: Convert dax to use the new mount API&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1f58bb18f6f28d1df0b7144d90bc90ee5672416d"




 target="_blank"
 


&gt;mount_pseudo(): drop &amp;rsquo;name&amp;rsquo; argument, switch to d_make_root()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b2ad81363f12261f8b6a97ed7723960ea6450f31"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-fixes-5.2-rc2&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ec8f24b7faaf3d4799a7c3f4c1b87f6b02778ad1"




 target="_blank"
 


&gt;treewide: Add SPDX license identifier - Makefile/Kconfig&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1a6e9e76b713d9632783efe78295ed3507fdad64"




 target="_blank"
 


&gt;device-dax: Drop register_filesystem()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7bf7eac8d648057519adb6fce1e31458c902212c"




 target="_blank"
 


&gt;dax: Arrange for dax_supported check to span multiple devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/83f3ef3de625a5766de2382f9e077d4daafd5bac"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-fixes-5.2-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/fce86ff5802bac3a7b19db171aa1949ef9caac31"




 target="_blank"
 


&gt;mm/huge_memory: fix vmf_insert_pfn_{pmd, pud}() crash, handle unaligned addresses&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/67476656febd7ec5f1fe1aeec3c441fcf53b1e45"




 target="_blank"
 


&gt;drivers/dax: Allow to include DEV_DAX_PMEM as builtin&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/53e228299965fff2359857e5c592eadba65d95a9"




 target="_blank"
 


&gt;dax: make use of -&amp;gt;free_inode()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d521fbaeda726ef3a9dad91c0239e7207d9864b7"




 target="_blank"
 


&gt;dax/pmem: Fix whitespace in dax_pmem&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f67e3fb4891287b8248ebb3320f794b9f5e782d4"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;devdax-for-5.1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c221c0b0308fd01d9fb33a16f64d2fd95f8830a4"




 target="_blank"
 


&gt;device-dax: &amp;ldquo;Hotplug&amp;rdquo; persistent memory for use like normal RAM&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c347bd71dcdb2d0ac8b3a771486584dca8c8dd80"




 target="_blank"
 


&gt;device-dax: Add a &amp;lsquo;modalias&amp;rsquo; attribute to DAX &amp;lsquo;bus&amp;rsquo; devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ad428cdb525a97d15c0349fdc80f3d58befb50df"




 target="_blank"
 


&gt;dax: Check the end of the block-device capacity with dax_direct_access()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/21c75763a3ae18679e5c4e2260aa9379b073566b"




 target="_blank"
 


&gt;device-dax: Add a &amp;rsquo;target_node&amp;rsquo; attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/664525b2d84abca1074c9546654ae9689de8a818"




 target="_blank"
 


&gt;device-dax: Auto-bind device after successful new_id&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/8fc5c73554db0ac18c0c6ac5b2099ab917f83bdf"




 target="_blank"
 


&gt;acpi/nfit, device-dax: Identify differentiated memory with a unique numa-node&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/730926c3b0998943654019f00296cf8e3b02277e"




 target="_blank"
 


&gt;device-dax: Add /sys/class/dax backwards compatibility&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d200781ef237a354d918ceff5cee350d88a93d42"




 target="_blank"
 


&gt;device-dax: Add support for a dax override driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/89ec9f2cfa36cc5fca2fb445ed221bb9add7b536"




 target="_blank"
 


&gt;device-dax: Move resource pinning+mapping into the common driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9567da0b408a2553d32ca83cba4f1fc5a8aad459"




 target="_blank"
 


&gt;device-dax: Introduce bus + driver model&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/51cf784c42d07fbd62cb604836a9270cf3361509"




 target="_blank"
 


&gt;device-dax: Start defining a dax bus model&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/753a0850e707e9a8c5861356222f9b9e4eba7945"




 target="_blank"
 


&gt;device-dax: Remove multi-resource infrastructure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/93694f9630b0ed29cda61df58e480dcb34ef52fd"




 target="_blank"
 


&gt;device-dax: Kill dax_region base&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/21b9e979501fdb5f6797193d70428a2b00bd5247"




 target="_blank"
 


&gt;device-dax: Kill dax_region ida&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a95c90f1e2c253b280385ecf3d4ebfe476926b28"




 target="_blank"
 


&gt;mm, devm_memremap_pages: fix shutdown handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/41c9b1be335b5afc3b5fb71c5d16f9d5939cd13f"




 target="_blank"
 


&gt;device-dax: Add missing address_space_operations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/36bdac1e674debd2714cb3e80eaa18266c2426e4"




 target="_blank"
 


&gt;drivers/dax/device.c: convert variable to vm_fault_t type&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2923b27e54242acf27fd16b299e102117c82f52f"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.19_dax-memory-failure&amp;rsquo; of gitolite.kernel.org:pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/828bf6e904eb8fc8969333568802689fbbf07a40"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.19_misc&amp;rsquo; of gitolite.kernel.org:pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e1fb4a0864958fac2fb1b23f9f4562a9f90e3e8f"




 target="_blank"
 


&gt;dax: remove VM_MIXEDMAP for fsdax and device dax&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b7751410c180a05fdc21268f8661b1480169b0df"




 target="_blank"
 


&gt;device-dax: avoid hang on error before devm_memremap_pages()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e0b401e3fef0f81fd87434793db1adb0d7568058"




 target="_blank"
 


&gt;dax/super: Do not request a pointer kaddr when not required&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/35de299547d1c3300e078f9f7c6eb01dadae47f9"




 target="_blank"
 


&gt;device-dax: Set page-&amp;gt;index&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2232c6382a453db73d2e723df1b52030066e135e"




 target="_blank"
 


&gt;device-dax: Enable page_mapping()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/226ab561075f6f8f3cd5f7b3b7544f3997aab51f"




 target="_blank"
 


&gt;device-dax: Convert to vmf_insert_mixed and vm_fault_t&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4596f55476b5b861ca37e525460d2e43e90f1f2e"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-fixes-4.18-rc5&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5a14e91d559aee5bdb0e002e1153fd9c4338a29e"




 target="_blank"
 


&gt;dev-dax: check_vma: ratelimit dev_info-s&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/15256f6cc4b44f2e70503758150267fd2a53c0d6"




 target="_blank"
 


&gt;dax: check for QUEUE_FLAG_DAX in bdev_dax_supported()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7d3bf613e99abbd96ac7b90ee3694a246c975021"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.18&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/930218affeadd1325ea17e053f0dcecf218f5a4f"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.18/mcsafe&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b56845794e1e93121acb74ca325db965035d5545"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.18/dax&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/285767604576148fc1be7fcd112e4a90eb0d6ad2"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;overflow-v4.18-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/acafe7e30216166a17e6e226aadc3ecb63993242"




 target="_blank"
 


&gt;treewide: Use struct_size() for kmalloc()-family&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/808c340be17dc77131fcdf9ad1eb34452d650da1"




 target="_blank"
 


&gt;dax: Use dax_write_cache* helpers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/80660f20252d6f76c9f203874ad7c7a4a8508cf8"




 target="_blank"
 


&gt;dax: change bdev_dax_supported() to support boolean returns&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ba23cba9b3bdc967aabdc6ff1e3e9b11ce05bb4f"




 target="_blank"
 


&gt;fs: allow per-device dax status checking for filesystems&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b3a9a0c36e1f7b9e2e6cf965c2bb973624f2b3b9"




 target="_blank"
 


&gt;dax: Introduce a -&amp;gt;copy_to_iter dax operation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e7638488434415aa478e78435cac8f0365737638"




 target="_blank"
 


&gt;mm: introduce MEMORY_DEVICE_FS_DAX and CONFIG_DEV_PAGEMAP_OPS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ef8423022324cf79bd1b41d8707c766461e7e555"




 target="_blank"
 


&gt;device-dax: allow MAP_SYNC to succeed&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9f3a0941fb5efaa4d27911e251dc595034d58baa"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.17&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e13e75b86ef2f88e3a47d672dd4c52a293efb95b"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.17/dax&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c1d53b92b95c23909de11a97bcc51f26a9509231"




 target="_blank"
 


&gt;device-dax: implement -&amp;gt;pagesize() for smaps to report MMUPageSize&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/2080e88aecd78773eacbe7d6b9d59968000ba55a"




 target="_blank"
 


&gt;dax: introduce CONFIG_DAX_DRIVER&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3fe0791c295cfd3cd735de7a32cc0780949c009f"




 target="_blank"
 


&gt;dax: store pfns in the radix&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d812b0d500040b8c7b9c7a93f29be0a010eb09d1"




 target="_blank"
 


&gt;device-dax: use module_nd_driver&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6daaca522ab464d32419aea61dd1b41dc1c71dba"




 target="_blank"
 


&gt;device-dax: remove redundant &lt;strong&gt;func&lt;/strong&gt; in dev_dbg&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9d4949b4935831be10534d5432bf611285a572a5"




 target="_blank"
 


&gt;dax: -&amp;gt;direct_access does not sleep anymore&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d121f07691415df824e6b60520f782f6d13b3c81"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.16/dax&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1c47a645ba48508dd641315ba01a949bea979e8e"




 target="_blank"
 


&gt;device-dax: Fix trailing semicolon&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/569d0365f571fa6421a5c80bc30d1b2cdab857fe"




 target="_blank"
 


&gt;dax: require &amp;lsquo;struct page&amp;rsquo; by default for filesystem dax&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e8d5134833006a46fcbefc5f4a84d0b62bd520e7"




 target="_blank"
 


&gt;memremap: change devm_memremap_pages interface to use struct dev_pagemap&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9702cffdbf2129516db679e4467db81e1cd287da"




 target="_blank"
 


&gt;device-dax: implement -&amp;gt;split() to catch invalid munmap attempts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a3841f94c7ecb3ede0f888d3fcfe8fb6368ddd7a"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.15&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4247f24c23589bcc3bc3490515ef8c9497e9ae55"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.15/dax&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9f586fff6574f6ecbf323f92d44ffaf0d96225fe"




 target="_blank"
 


&gt;dax: fix general protection fault in dax_alloc_inode&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6a21586a637e624ae736f94aeb0839f6a1dd0411"




 target="_blank"
 


&gt;dax: stop requiring a live device for dax_flush()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/66a86cc10945648cf506ef314b98deeb7af06419"




 target="_blank"
 


&gt;dax: quiet bdev_dax_supported()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b24413180f5600bcb3bb70fbed5cf186b60864bd"




 target="_blank"
 


&gt;License cleanup: add SPDX GPL-2.0 license identifier to files with no license&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0a3ff78699d1817e711441715d22665475466036"




 target="_blank"
 


&gt;dev/dax: fix uninitialized variable build warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d083e6dae083ba3576ee454d5cab4491d9c21ec5"




 target="_blank"
 


&gt;dax: pr_err() strings should end with newlines&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dff4d1f6fe85627b7ce8e4c5291d8621a1995605"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;for-4.14/dm-changes&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c3ca015fab6df124c933b91902f3f2a3473f9da5"




 target="_blank"
 


&gt;dax: remove the pmem_dax_ops-&amp;gt;flush abstraction&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/26f2f4de0bd93cbe891e11307d9e4906253bfda8"




 target="_blank"
 


&gt;dax: fix FS_DAX=n BLOCK=y compilation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/78f35473508118df5ea04b9515ac3f1aaec0a980"




 target="_blank"
 


&gt;dax: introduce a fs_dax_get_by_bdev() helper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1731a47444e7bf66d5cf9415bbd6ac5e3903d719"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;for-4.13/dm-fixes&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/273752c9ff03eb83856601b2a3458218bb949e46"




 target="_blank"
 


&gt;dm, dax: Make sure dm_dax_flush() is called if device supports it&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bbb3be170ac2891526ad07b18af7db226879a8e7"




 target="_blank"
 


&gt;device-dax: fix sysfs duplicate warnings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/43fe51e11c194a6576634585f81ba33e104194a5"




 target="_blank"
 


&gt;device-dax: fix &amp;lsquo;passing zero to ERR_PTR()&amp;rsquo; warning&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/088737f44bbf6378745f5b57b035e57ee3dc4750"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;for-linus-v4.13-2&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b6ffe9ba46016f8351896ccee33bebcd0e5ea7c0"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.13&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5660e13d2fd6af1903d4b0b98020af95ca2d638a"




 target="_blank"
 


&gt;fs: new infrastructure for writeback error handling and reporting&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6e0c90d691cd5d90569f5918ab03eb76c81f9c6e"




 target="_blank"
 


&gt;libnvdimm, pmem, dax: export a cache control attribute&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9a60c3ef577beb0376704808949f2c1f8fb0672c"




 target="_blank"
 


&gt;dax: convert to bitmask for flags&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5d61e43b3975c0582003329d9de9d5e85abf5d33"




 target="_blank"
 


&gt;dax: remove default copy_from_iter fallback&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/abebfbe2f7315dd3ec9a0c69596a76e32beb5749"




 target="_blank"
 


&gt;dm: add -&amp;gt;flush() dax operation support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7e026c8c0a4200da86bc51edeaad79dcdccf78ca"




 target="_blank"
 


&gt;dm: add -&amp;gt;copy_from_iter() dax operation support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b9d39d17e4819ca2e69ad1f14acaad12240a1de5"




 target="_blank"
 


&gt;device-dax: fix &amp;lsquo;dax&amp;rsquo; device filesystem inode destruction crash&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9d109081c261d87fc84e0cce245796796ae4c460"




 target="_blank"
 


&gt;dax: fix false CONFIG_BLOCK dependency&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0fcc3ab23d7395f58e8ab0834e7913e2e4314a83"




 target="_blank"
 


&gt;Merge branch &amp;rsquo;libnvdimm-fixes&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/cf1e22891bee39f50e058bee0827086fd75a8717"




 target="_blank"
 


&gt;device-dax: kill NR_DEV_DAX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ef51042472f55b325fd7f2b26a2e29fd89757234"




 target="_blank"
 


&gt;block, dax: move &amp;ldquo;select DAX&amp;rdquo; from BLOCK to FS_DAX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/74d71a01abef37f71d914f2105a4cb8712a2beb8"




 target="_blank"
 


&gt;device-dax: Tell kbuild DEV_DAX_PMEM depends on DEV_DAX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/53ef7d0e208fa38c3f63d287e0c3ab174f1e1235"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.12&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/736163671bcb163fc82600b46c83dfa89d532d95"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.12/dax&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/af82455f7dbd9dc20244d80d033721b30d22c065"




 target="_blank"
 


&gt;Merge tag &amp;lsquo;char-misc-4.12-rc1&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d3b5d35290d729a2518af00feca867385a1b08fa"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;x86-mm-for-linus&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/565851c972b50612f3a4542e26879ffb3e906fc2"




 target="_blank"
 


&gt;device-dax: fix sysfs attribute deadlock&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/71389703839ebe9cb426c72d5f0bd549592e583c"




 target="_blank"
 


&gt;mm, zone_device: Replace {get, put}_zone_device_page() with a single reference to fix pmem crash&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/b0686260fecaa924d8eff2ace94bee70506bc308"




 target="_blank"
 


&gt;dax: introduce dax_direct_access()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c1d6e828a35df524df2af277eedd1471d05e4f4c"




 target="_blank"
 


&gt;pmem: add dax_operations support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6568b08b77816cda2a95919c7494108d983d5941"




 target="_blank"
 


&gt;dax: introduce dax_operations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/72058005411ffddcae6c06f7b691d635489132af"




 target="_blank"
 


&gt;dax: add a facility to lookup a dax device by &amp;lsquo;host&amp;rsquo; device name&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/7b6be8444e0f0dd675b54d059793423d3c9b4c03"




 target="_blank"
 


&gt;dax: refactor dax-fs into a generic provider of &amp;lsquo;struct dax_device&amp;rsquo; instances&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/5f0694b300b9fb8409272c550418c22e0e57314a"




 target="_blank"
 


&gt;device-dax: rename &amp;lsquo;dax_dev&amp;rsquo; to &amp;lsquo;dev_dax&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/762026203c0b87b1088342b664e67ca7c45fb7c4"




 target="_blank"
 


&gt;device-dax: improve fault handler debug output&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/54eafcc9e339affb8982fd21e1fc4aa4a036655b"




 target="_blank"
 


&gt;device-dax: fix dax_dev_huge_fault() unknown fault size handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bfca9acf1a5df0ff98fbf47e363adb48612bb7ec"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.11/libnvdimm&amp;rsquo; into for-4.12/dax&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/efebc711180f7fed701f6e23f23814fcfda7fbfc"




 target="_blank"
 


&gt;device-dax, tools/testing/nvdimm: enable device-dax with mock resources&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/956a4cd2c957acf638ff29951aabaa9d8e92bbc2"




 target="_blank"
 


&gt;device-dax: switch to srcu, fix rcu_read_lock() vs pte allocation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/57c0eabbd57e1a0872122525f6eeefe1f6529c33"




 target="_blank"
 


&gt;Merge 4.11-rc4 into char-misc-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/92a3fa075d3d2716b9c662814540f1d660cbf2f5"




 target="_blank"
 


&gt;device-dax: utilize new cdev_device_add helper function&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ed01e50acdd3e4a640cf9ebd28a7e810c3ceca97"




 target="_blank"
 


&gt;device-dax: fix cdev leak&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/52084f89b38cdd896b59627c629915ef1a7bf615"




 target="_blank"
 


&gt;device-dax: fix debug output typo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/70b085b06c4560a69e95607f77bb4c2b2e41943c"




 target="_blank"
 


&gt;device-dax: fix pud fault fallback handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/0134ed4fb9e78672ee9f7b18007114404c81e63f"




 target="_blank"
 


&gt;device-dax: fix pmd/pte fault fallback handling&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/50d34394cee68dd12c5e01fff073d1167700bfce"




 target="_blank"
 


&gt;sched/headers: Prepare to remove the &amp;lt;linux/magic.h&amp;gt; include from &amp;lt;linux/sched/task_stack.h&amp;gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c791ace1e747371658237f0d30234fef56c39669"




 target="_blank"
 


&gt;mm: replace FAULT_FLAG_SIZE with parameter to huge_fault&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9557feee39b75ceb502b4777e08706df1ddf10ed"




 target="_blank"
 


&gt;dax: support for transparent PUD pages for device DAX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/a2d581675d485eb7188f521f36efc114639a3096"




 target="_blank"
 


&gt;mm,fs,dax: change -&amp;gt;pmd_fault to -&amp;gt;huge_fault&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/11bac80004499ea59f361ef2a5516c84b6eab675"




 target="_blank"
 


&gt;mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/f42003917b4569a2f4f0c79c35e1e3df2859f81a"




 target="_blank"
 


&gt;mm, dax: change pmd_fault() to take only vmf parameter&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d8a849e1bc123790bbbf1facba94452a3aef5736"




 target="_blank"
 


&gt;mm, dax: make pmd_fault() and friends be the same as fault()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3be134e5152f08e8bd3c2afdaac723f64d93c2bb"




 target="_blank"
 


&gt;Merge tag &amp;rsquo;libnvdimm-for-4.10&amp;rsquo; of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/c44ef859ceff45db1c72f9ccbfae96843c4b1501"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.10/libnvdimm&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d7fe1a67f658b50ec98ee1afb86df7b35c2b2593"




 target="_blank"
 


&gt;dax: add region &amp;lsquo;id&amp;rsquo;, &amp;lsquo;size&amp;rsquo;, and &amp;lsquo;align&amp;rsquo; attributes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/1a29d85eb0f19b7d8271923d8917d7b4f5540b3e"




 target="_blank"
 


&gt;mm: use vmf-&amp;gt;address instead of of vmf-&amp;gt;virtual_address&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/325896ffdf90f7cbd59fb873b7ba20d60d1ddf3c"




 target="_blank"
 


&gt;device-dax: fix private mapping restriction, permit read-only&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/450c6633e874c4d38112b39647831f67b41a8067"




 target="_blank"
 


&gt;libnvdimm: use consistent naming for request_mem_region()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4cb19355ea19995941ccaad115dbfac6b75215ca"




 target="_blank"
 


&gt;device-dax: fail all private mapping attempts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/6a84fb4b4e439a8ef0ce19ec7e7661ad76f655c9"




 target="_blank"
 


&gt;device-dax: check devm_nsio_enable() return value&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/52e73eb2872c9af6f382b2b22954ca8214397a4e"




 target="_blank"
 


&gt;device-dax: fix percpu_ref_exit ordering&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/867dfe342118b1ea0256a85f7c0d9ceb0ead032a"




 target="_blank"
 


&gt;nvdimm: make CONFIG_NVDIMM_DAX &amp;lsquo;bool&amp;rsquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/e476f94482fc20a23b7b33b3d8e50f1953f71828"




 target="_blank"
 


&gt;Merge branch &amp;lsquo;for-4.9/dax&amp;rsquo; into libnvdimm-for-next&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/bc0a0fe94f33dd15edf2ed555bfc4d6dbb5e1995"




 target="_blank"
 


&gt;dax: use correct dev_t value&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d76911ee933a64c9dfc453e580e7ad612b394e83"




 target="_blank"
 


&gt;dax: convert devm_create_dax_dev to PTR_ERR&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/4c3cb6e9a9d94d1553807854a565cd27ff4c22aa"




 target="_blank"
 


&gt;dax: fix mapping size check&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d0e5845561c238619de9f5b77e0d763f4c331ca5"




 target="_blank"
 


&gt;dax: fix device-dax region base&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9d2d01a031a945075d4609b1c4d3c73f10ba61e7"




 target="_blank"
 


&gt;dax: check resource alignment at dax region/device create&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/9dc1e4927bfabaf654738c9ecca3a4926a0aaeb5"




 target="_blank"
 


&gt;dax: unmap/truncate on device shutdown&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/3bc52c45bac26bf7ed1dc8d287ad1aeaed1250b6"




 target="_blank"
 


&gt;dax: define a unified inode/address_space for device-dax mappings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ba09c01d2fa866f22e42ac2af405fe386f491879"




 target="_blank"
 


&gt;dax: convert to the cdev api&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ebd84d724c85f22037a5c9cb04b9e6631309cb78"




 target="_blank"
 


&gt;dax: embed a struct device in dax_dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/af69f51e506f5ad3625c817ba2449a439bbe68ef"




 target="_blank"
 


&gt;dax: rename fops from dax_dev_ to dax_&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/043a9255021bad498e31365d104d33915b6a6e33"




 target="_blank"
 


&gt;dax: reorder dax_fops function definitions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ccdb07f62986968ecd687a71550ed187c8cf875c"




 target="_blank"
 


&gt;dax: cleanup needlessly global symbol warnings&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/d1c8e0c521c111f387a17096a17e49af5dea4aa9"




 target="_blank"
 


&gt;dax: use devm_add_action_or_reset()&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/dee410792419aaa8bc3e3b35d2ccb6515835916d"




 target="_blank"
 


&gt;/dev/dax, core: file operations and dax-mmap&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/torvalds/linux/commit/ab68f26221366f92611650e8470e6a926801c7d4"




 target="_blank"
 


&gt;/dev/dax, pmem: direct access to persistent memory&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Linux Kernel 6.9 is Released: This is What's New for Compute Express Link (CXL)</title><link>https://stevescargall.com/blog/2024/05/linux-kernel-6.9-is-released-this-is-whats-new-for-compute-express-link-cxl/</link><pubDate>Mon, 13 May 2024 00:00:00 +0000</pubDate><guid>https://stevescargall.com/blog/2024/05/linux-kernel-6.9-is-released-this-is-whats-new-for-compute-express-link-cxl/</guid><description>&lt;p&gt;The Linux Kernel 6.9 release brings several improvements and additions related to Compute Express Link (CXL) technology.&lt;/p&gt;
&lt;h2 id="new-features"&gt;New Features&lt;/h2&gt;
&lt;p&gt;Here is a list of new features for CXL:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lore.kernel.org/r/170568485801.1008395.12244787918793980621.stgit@djiang5-mobl3"




 target="_blank"
 


&gt;CXL Quality of Service (QOS)&lt;/a&gt;
 for NUMA&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lore.kernel.org/all/20240202170238.90004-5-gregory.price@memverge.com/"




 target="_blank"
 


&gt;Weighted Interleave for NUMA nodes&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="cxl-related-changes-from-kernel-v68-to-v69"&gt;CXL related changes from Kernel v6.8 to v6.9:&lt;/h2&gt;
&lt;p&gt;Here is the detailed list of all commits merged into the 6.9 Kernel for CXL and DAX. This list was generated by the &lt;a href="https://github.com/sscargal/linux-cxl-tracker"




 target="_blank"
 


&gt;Linux Kernel CXL Feature Tracker&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Linux Kernel CXL Feature Tracker</title><link>https://stevescargall.com/projects/linux-kernel-cxl-tracker/</link><pubDate>Mon, 13 May 2024 00:00:00 +0000</pubDate><guid>https://stevescargall.com/projects/linux-kernel-cxl-tracker/</guid><description>&lt;p&gt;I&amp;rsquo;m always watching the Linux Kernel for new and exciting features that are merged for Compute Express Link (CXL). There&amp;rsquo;s some great notes from the monthly developer meetup &lt;a href="https://pmem.io/ndctl/collab/"




 target="_blank"
 


&gt;here&lt;/a&gt;
, but the devil is always in the details, and not every commit is discussed in the meeting. So I wrote a simple Python script, called &lt;a href="https://github.com/sscargal/linux-cxl-tracker"




 target="_blank"
 


&gt;cxl_feature_tracker.py&lt;/a&gt;
 that looks in all commits to the &lt;a href="https://github.com/torvalds/linux"




 target="_blank"
 


&gt;Linus Torvalds Linux Kernel GitHub repository&lt;/a&gt;
, and extracts any that mention &amp;ldquo;CXL&amp;rdquo; or &amp;ldquo;DAX&amp;rdquo;, or that make changes to the &lt;code&gt;drivers/cxl&lt;/code&gt; or &lt;code&gt;drivers/dax&lt;/code&gt; directories. The output is a very long list, but it has some gems amongst the list of fixes.&lt;/p&gt;</description></item><item><title>Running Open WebUI and Ollama on Ubuntu 22.04 for a Local ChatGPT Experience</title><link>https://stevescargall.com/blog/2024/05/running-open-webui-and-ollama-on-ubuntu-22.04-for-a-local-chatgpt-experience/</link><pubDate>Fri, 10 May 2024 00:00:00 +0000</pubDate><guid>https://stevescargall.com/blog/2024/05/running-open-webui-and-ollama-on-ubuntu-22.04-for-a-local-chatgpt-experience/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Open WebUI and Ollama are powerful tools that allow you to create a local chat experience using GPT models. Whether you’re experimenting with natural language understanding or building your own conversational AI, these tools provide a user-friendly interface for interacting with language models. In this guide, we’ll walk you through the installation process step by step.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ollama.com/"




 target="_blank"
 


&gt;Ollama&lt;/a&gt;
 is a cutting-edge platform designed to run open-source large language models locally on your machine. It simplifies the complexities involved in deploying and managing these models, making it an attractive choice for researchers, developers, and anyone who wants to experiment with language models1. Ollama provides a user-friendly interface for running large language models (LLMs) locally, specifically on MacOS and Linux (with Windows support on the horizon).&lt;/p&gt;</description></item><item><title>Using Linux Kernel Tiering with Compute Express Link (CXL) Memory</title><link>https://stevescargall.com/blog/2024/05/using-linux-kernel-tiering-with-compute-express-link-cxl-memory/</link><pubDate>Thu, 09 May 2024 00:00:00 +0000</pubDate><guid>https://stevescargall.com/blog/2024/05/using-linux-kernel-tiering-with-compute-express-link-cxl-memory/</guid><description>&lt;p&gt;In this blog post, we will walk through the process of enabling the Linux Kernel Transparent Page Placement (TPP) feature with CXL memory mapped as NUMA nodes using the system-ram namespace. This feature allows the kernel to automatically place pages in different types of memory based on their usage patterns.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This guide assumes that you are using a Fedora 36 system with Kernel 5.19.13, and that your system has a Samsung CXL device installed. You can confirm the presence of the CXL device with the following command:&lt;/p&gt;</description></item><item><title>Understanding Compute Express Link (CXL) and Its Alignment with the PCIe Specifications</title><link>https://stevescargall.com/blog/2024/05/understanding-compute-express-link-cxl-and-its-alignment-with-the-pcie-specifications/</link><pubDate>Tue, 07 May 2024 00:00:00 +0000</pubDate><guid>https://stevescargall.com/blog/2024/05/understanding-compute-express-link-cxl-and-its-alignment-with-the-pcie-specifications/</guid><description>&lt;h2 id="how-cxl-uses-pcie-electricals-and-transport-layers"&gt;How CXL Uses PCIe Electricals and Transport Layers&lt;/h2&gt;
&lt;p&gt;CXL utilizes the PCIe infrastructure, starting with the PCIe 5.0. This ensures compatibility with existing systems while introducing new features for device connectivity and memory coherency. CXL’s ability to maintain memory coherency across shared memory pools is a significant advancement, allowing for efficient resource sharing and operand movement between accelerators and target devices.&lt;/p&gt;
&lt;p&gt;CXL builds upon the familiar foundation of PCIe, utilizing the same physical interfaces, transport layer, and electrical signaling. This shared foundation makes CXL integration with existing PCIe systems seamless. Here&amp;rsquo;s a breakdown of how it works:&lt;/p&gt;</description></item><item><title>A Practical Guide to Identify Compute Express Link (CXL) Devices in Your Server</title><link>https://stevescargall.com/blog/2023/05/a-practical-guide-to-identify-compute-express-link-cxl-devices-in-your-server/</link><pubDate>Tue, 02 May 2023 18:21:36 +0000</pubDate><guid>https://stevescargall.com/blog/2023/05/a-practical-guide-to-identify-compute-express-link-cxl-devices-in-your-server/</guid><description>&lt;p&gt;In this article, we will provide four methods for identifying CXL devices in your server and how to determine which CPU socket and NUMA node each CXL device is connected. We will use CXL memory expansion (CXL.mem) devices for this article. The server was running Ubuntu 22.04.2 (Jammy Jellyfish) with Kernel 6.3 and &amp;lsquo;&lt;a href="https://github.com/pmem/ndctl"




 target="_blank"
 


&gt;cxl-cli&lt;/a&gt;
&amp;rsquo; version 75 built from source code. Many of the procedures will work on Kernel versions 5.16 or newer.&lt;/p&gt;</description></item><item><title>How To Install a Mainline Linux Kernel in Ubuntu</title><link>https://stevescargall.com/blog/2023/04/how-to-install-a-mainline-linux-kernel-in-ubuntu/</link><pubDate>Thu, 13 Apr 2023 00:00:00 +0000</pubDate><guid>https://stevescargall.com/blog/2023/04/how-to-install-a-mainline-linux-kernel-in-ubuntu/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Note: This article was updated on Thursday, July 31st, 2025 and will work with newer Ubuntu releases.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;By default, Ubuntu systems run with the Ubuntu kernels provided by the Ubuntu repositories. To get unmodified upstream kernels that have new features or to confirm that upstream has fixed a specific issue, we often need to install the mainline Kernel. The mainline kernel is the most recent version of the Linux kernel released by the Linux Kernel Organization. It undergoes several stages of development, including merge windows, release candidates, and final releases. Mainline kernels are designed to offer the latest features and improvements, making them attractive to developers and power users. &lt;a href="https://www.kernel.org/"




 target="_blank"
 


&gt;Kernel.org&lt;/a&gt;
 lists the available Kernel versions.&lt;/p&gt;</description></item><item><title>An Introduction to Generative Prompt Engineeering</title><link>https://stevescargall.com/blog/2023/03/an-introduction-to-generative-prompt-engineeering/</link><pubDate>Wed, 29 Mar 2023 00:20:10 +0000</pubDate><guid>https://stevescargall.com/blog/2023/03/an-introduction-to-generative-prompt-engineeering/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Over the past few years, there has been a significant explosion in the use and development of large language models (LLMs). An LLM is a &lt;a href="https://en.wikipedia.org/wiki/Language_model"


 title="Language model"



 target="_blank"
 


&gt;language model&lt;/a&gt;
 consisting of a &lt;a href="https://en.wikipedia.org/wiki/Artificial_neural_network"


 title="Artificial neural network"



 target="_blank"
 


&gt;neural network&lt;/a&gt;
 with many parameters (commonly multi-billions of weights), trained on large quantities of text. Some of the most popular large language models are: &lt;a href="https://github.com/openai/gpt-3"




 target="_blank"
 


&gt;GPT-3&lt;/a&gt;
 (Generative Pretrained Transformer 3) – developed by &lt;a href="https://openai.com/"




 target="_blank"
 


&gt;OpenAI&lt;/a&gt;
; &lt;a href="https://huggingface.co/blog/bert-101"




 target="_blank"
 


&gt;BERT&lt;/a&gt;
 (Bidirectional Encoder Representations from Transformers) – developed by Google; &lt;a href="https://ai.facebook.com/blog/roberta-an-optimized-method-for-pretraining-self-supervised-nlp-systems/"




 target="_blank"
 


&gt;RoBERTa&lt;/a&gt;
 (Robustly Optimized BERT Approach) – developed by Facebook AI; &lt;a href="https://ai.googleblog.com/2020/02/exploring-transfer-learning-with-t5.html"




 target="_blank"
 


&gt;T5&lt;/a&gt;
 (Text-to-Text Transfer Transformer) – developed by Google. Many others exist and continue to emerge. These language models are designed to understand and generate natural language text, allowing for a wide range of applications such as chatbots, content creation, language translation, and more.&lt;/p&gt;</description></item><item><title>Programming Persistent Memory: A Comprehensive Guide for Developers</title><link>https://stevescargall.com/books/programming-persistent-memory/</link><pubDate>Wed, 25 Jan 2023 19:54:35 +0000</pubDate><guid>https://stevescargall.com/books/programming-persistent-memory/</guid><description>&lt;h2 id="description"&gt;Description&lt;/h2&gt;
&lt;p&gt;This is a comprehensive guide to persistent memory programming, is targeted towards experienced programmers. You will understand how persistent memory brings together several new software/hardware requirements, and offers great promise for better performance and faster application startup times—a huge leap forward in byte-addressable capacity compared with current DRAM offerings.&lt;/p&gt;
&lt;p&gt;This revolutionary new technology gives applications significant performance and capacity improvements over existing technologies. It requires a new way of thinking and development, which makes this highly disruptive to the IT/computing industry. The full spectrum of industry sectors that will benefit from this technology include, but are not limited to, in-memory and traditional databases, AI, analytics, HPC, virtualization, and big data.&lt;/p&gt;</description></item><item><title>Cookie Policy</title><link>https://stevescargall.com/cookie-policy/</link><pubDate>Tue, 10 Jan 2023 19:53:59 +0000</pubDate><guid>https://stevescargall.com/cookie-policy/</guid><description>&lt;p&gt;Effective Date: 26-Dec-2022&lt;br&gt;
Last Updated: 26-Dec-2022&lt;/p&gt;
&lt;h5 id="what-are-cookies"&gt;What are cookies?&lt;/h5&gt;
&lt;p&gt;This Cookie Policy explains what cookies are and how we use them, the types of cookies we use i.e, the information we collect using cookies and how that information is used, and how to manage the cookie settings.&lt;/p&gt;
&lt;p&gt;Cookies are small text files that are used to store small pieces of information. They are stored on your device when the website is loaded on your browser. These cookies help us make the website function properly, make it more secure, provide better user experience, and understand how the website performs and to analyze what works and where it needs improvement.&lt;/p&gt;</description></item><item><title>Privacy Policy</title><link>https://stevescargall.com/privacy-policy/</link><pubDate>Tue, 10 Jan 2023 19:53:44 +0000</pubDate><guid>https://stevescargall.com/privacy-policy/</guid><description>&lt;p&gt;Last Updated On 26-Dec-2022&lt;br&gt;
Effective Date 26-Dec-2022&lt;/p&gt;
&lt;p&gt;This Privacy Policy describes the policies of Contact Privacy Inc. Customer 7151571251, 96 Mowat Ave, ON M4K 3K1, Canada, email: &lt;a href="https://domains.google.com/contactregistrant?domain=stevescargall.com"




 target="_blank"
 


&gt;https://domains.google.com/contactregistrant?domain=stevescargall.com&lt;/a&gt;
, phone: +1.4165385487 on the collection, use and disclosure of your information that we collect when you use our website ( &lt;a href="https://stevescargall.com"




 target="_blank"
 


&gt;https://stevescargall.com&lt;/a&gt;
 ). (the “Service”). By accessing or using the Service, you are consenting to the collection, use and disclosure of your information in accordance with this Privacy Policy. If you do not consent to the same, please do not access or use the Service.&lt;/p&gt;</description></item><item><title>How To Map a CXL Endpoint to a CPU Socket in Linux</title><link>https://stevescargall.com/blog/2022/12/how-to-map-a-cxl-endpoint-to-a-cpu-socket-in-linux/</link><pubDate>Tue, 27 Dec 2022 00:00:00 -0700</pubDate><guid>https://stevescargall.com/blog/2022/12/how-to-map-a-cxl-endpoint-to-a-cpu-socket-in-linux/</guid><description>&lt;p&gt;When working with CXL Type 3 Memory Expander endpoints, it&amp;rsquo;s nice to know which CPU Socket owns the root complex for the endpoint. This is very useful for memory tiering solutions where we want to keep the execution of application processes and threads &amp;rsquo;local&amp;rsquo; to the memory.&lt;/p&gt;
&lt;p&gt;CXL memory expanders appear in Linux as memory-only or cpu-less NUMA Nodes. For example, NUMA nodes 2 &amp;amp; 3 do not have any CPUs assigned to them.&lt;/p&gt;</description></item><item><title>Linux NUMA Distances Explained</title><link>https://stevescargall.com/blog/2022/11/linux-numa-distances-explained/</link><pubDate>Thu, 03 Nov 2022 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2022/11/linux-numa-distances-explained/</guid><description>&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; The memory latency distances between a node and itself is normalized to 10 (1.0x). Every other distance is scaled relative to that 10 base value. For example, the distance between NUMA Node 0 and 1 is 21 (2.1x), meaning if node 0 accesses memory on node 1 or vice versa, the access latency will be 2.1x more than for local memory.&lt;/p&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Non-Uniform Memory Access (NUMA) is a multiprocessor model in which each processor is connected to dedicated memory but may access memory attached to other processors in the system. To date, we&amp;rsquo;ve commonly used DRAM for main memory, but next-gen platforms will begin offering High-Bandwidth Memory (HBM) and Compute Express Link (CXL) attached memory. Accessing remote (to the CPU) memory takes much longer than accessing local memory, and not all remote memory has the same access latency. Depending on how the memory architecture is configured, NUMA nodes can be multiple hops away with each hop adding more latency. HBM and CXL devices will appear as memory-only (CPU-less) NUMA nodes.&lt;/p&gt;</description></item><item><title>Using Linux Kernel Memory Tiering</title><link>https://stevescargall.com/blog/2022/06/using-linux-kernel-memory-tiering/</link><pubDate>Fri, 10 Jun 2022 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2022/06/using-linux-kernel-memory-tiering/</guid><description>&lt;p&gt;In this post, I&amp;rsquo;ll discuss what memory tiering is, why we need it, and how to use the memory tiering feature available in the mainline v5.15 Kernel.&lt;/p&gt;
&lt;h2 id="what-is-memory-tiering"&gt;What is Memory Tiering?&lt;/h2&gt;
&lt;p&gt;With the advent of various new memory types, some systems will have multiple types of memory, e.g. High Bandwidth Memory (HBM), DRAM, Persistent Memory (PMem), CXL and others. The Memory Storage hierarchy should be familiar to you.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://stevescargall.com/blog/2022/06/using-linux-kernel-memory-tiering/images/Memory-Storage-Hierarchy-1.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Memory Storage Hierarchy&lt;/p&gt;</description></item><item><title>How To map VMWare vSphere/ESXi PMem devices from the Host to Guest VM</title><link>https://stevescargall.com/blog/2022/02/how-to-map-vmware-vsphere/esxi-pmem-devices-from-the-host-to-guest-vm/</link><pubDate>Tue, 22 Feb 2022 00:00:00 -0700</pubDate><guid>https://stevescargall.com/blog/2022/02/how-to-map-vmware-vsphere/esxi-pmem-devices-from-the-host-to-guest-vm/</guid><description>&lt;p&gt;In this post, we&amp;rsquo;ll use VMWare ESXi 7.0u3 to create a Guest VM running Ubuntu 21.10 with two Virtual Persistent Memory (vPMem) devices, then show how we can map the vPMem device in the host (ESXi) to &amp;ldquo;nmem&amp;rdquo; devices in the guest VM as shown by the &lt;code&gt;ndctl&lt;/code&gt; utility.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re new to using vPMem or need a refresher, start with the VMWare &lt;a href="https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.resmgmt.doc/GUID-EB72D358-9C2C-4FBD-81A9-A145E155CE31.html"




 target="_blank"
 


&gt;Persistent Memory&lt;/a&gt;
 documentation.&lt;/p&gt;
&lt;h2 id="table-of-contents"&gt;Table of Contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#create-a-guest-vm-with-vpmem-devices"



 


&gt;Create a Guest VM with vPMem Devices&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#install-the-guest-os"



 


&gt;Install the Guest OS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#install-ndctl"



 


&gt;Install ndctl&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#mapping-the-nvdimms-in-the-guest-to-devices-in-the-esxi-host"



 


&gt;Mapping the NVDIMMs in the guest to devices in the ESXi Host&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#summary"



 


&gt;Summary&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="create-a-guest-vm-with-vpmem-devices"&gt;Create a Guest VM with vPMem Devices&lt;/h2&gt;
&lt;p&gt;The procedure you use may be different from the one shown below if you use vSphere or an automated procedure.&lt;/p&gt;</description></item><item><title>How To Emulate CXL Devices using KVM and QEMU</title><link>https://stevescargall.com/blog/2022/01/how-to-emulate-cxl-devices-using-kvm-and-qemu/</link><pubDate>Thu, 20 Jan 2022 00:00:00 -0700</pubDate><guid>https://stevescargall.com/blog/2022/01/how-to-emulate-cxl-devices-using-kvm-and-qemu/</guid><description>&lt;h2 id="what-is-cxl"&gt;What is CXL?&lt;/h2&gt;
&lt;p&gt;Compute Express Link (CXL) is an open standard for high-speed central processing unit-to-device and CPU-to-memory connections, designed for high-performance data center computers. CXL is built on the PCI Express physical and electrical interface with protocols in three areas: input/output, memory, and cache coherence.&lt;/p&gt;
&lt;p&gt;CXL is designed to be an industry open standard interface for high-speed communications, as accelerators are increasingly used to complement CPUs in support of emerging applications such as Artificial Intelligence and Machine Learning.&lt;/p&gt;</description></item><item><title>How To Build a custom Linux Kernel to test Data Access Monitor (DAMON)</title><link>https://stevescargall.com/blog/2021/12/how-to-build-a-custom-linux-kernel-to-test-data-access-monitor-damon/</link><pubDate>Thu, 23 Dec 2021 00:00:00 -0700</pubDate><guid>https://stevescargall.com/blog/2021/12/how-to-build-a-custom-linux-kernel-to-test-data-access-monitor-damon/</guid><description>&lt;p&gt;&lt;a href="https://sjp38.github.io/post/damon"




 target="_blank"
 


&gt;DAMON&lt;/a&gt;
 is a data access monitoring framework subsystem for the Linux kernel. DAMON (Data Access MONitor) tool monitors memory access patterns specific to user-space processes introduced in Linux kernel 5.15 LTS, such as operation schemes, physical memory monitoring, and proactive memory reclamation. It was designed and implemented by Amazon AWS Labs and &lt;a href="https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=DAMON-For-Linux-5.15"




 target="_blank"
 


&gt;upstreamed into the 5.15 Kernel&lt;/a&gt;
, but it was not enabled by default.cd /boot&lt;/p&gt;
&lt;p&gt;Keen to try this new feature to identify the working set size (Active Memory) of a server or process, this post documents the steps I took to build a custom Kernel with DAMON enabled using Fedora Server 35.&lt;/p&gt;</description></item><item><title>Resolving commands 'Killed' on GCP f1-micro Compute Engine instances</title><link>https://stevescargall.com/blog/2021/12/resolving-commands-killed-on-gcp-f1-micro-compute-engine-instances/</link><pubDate>Tue, 21 Dec 2021 00:00:00 -0700</pubDate><guid>https://stevescargall.com/blog/2021/12/resolving-commands-killed-on-gcp-f1-micro-compute-engine-instances/</guid><description>&lt;p&gt;When I want to perform a quick task, I generally spin up a Google GCP Compute Engine instance as they&amp;rsquo;re cheap. However, they have limited resources, particularly memory. When refreshing the package repositories, it&amp;rsquo;s quite easy to encounter an Out-of-Memory (OOM) situation which results in the command - yum or dnf - is &amp;lsquo;killed&amp;rsquo;. For example:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ sudo dnf update 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;CentOS Stream &lt;span style="color:#bd93f9"&gt;8&lt;/span&gt; - AppStream 8.3 MB/s | &lt;span style="color:#bd93f9"&gt;18&lt;/span&gt; MB 00:02 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;CentOS Stream &lt;span style="color:#bd93f9"&gt;8&lt;/span&gt; - BaseOS &lt;span style="color:#bd93f9"&gt;13&lt;/span&gt; MB/s | &lt;span style="color:#bd93f9"&gt;16&lt;/span&gt; MB 00:01 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;CentOS Stream &lt;span style="color:#bd93f9"&gt;8&lt;/span&gt; - Extras &lt;span style="color:#bd93f9"&gt;69&lt;/span&gt; kB/s | &lt;span style="color:#bd93f9"&gt;16&lt;/span&gt; kB 00:00 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Google Compute Engine &lt;span style="color:#bd93f9"&gt;20&lt;/span&gt; kB/s | 9.4 kB 00:00 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Google Cloud SDK &lt;span style="color:#bd93f9"&gt;24&lt;/span&gt; MB/s | &lt;span style="color:#bd93f9"&gt;43&lt;/span&gt; MB 00:01 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Killed
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;dmesg&lt;/code&gt; has a lot of information about the situation, but the key line to confirm dnf caused the OOM event, is:&lt;/p&gt;</description></item><item><title>How To Enable Debug Logging in ipmctl</title><link>https://stevescargall.com/blog/2021/12/how-to-enable-debug-logging-in-ipmctl/</link><pubDate>Sun, 05 Dec 2021 00:00:00 -0700</pubDate><guid>https://stevescargall.com/blog/2021/12/how-to-enable-debug-logging-in-ipmctl/</guid><description>&lt;p&gt;The &lt;a href="https://github.com/intel/ipmctl"




 target="_blank"
 


&gt;ipmctl&lt;/a&gt;
 utility is used for configuring and managing Intel Optane Persistent Memory modules (DCPMM/PMem). It supports the functionality to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Discover Persistent Memory on the server&lt;/li&gt;
&lt;li&gt;Provision the persistent memory configuration&lt;/li&gt;
&lt;li&gt;View and update the firmware on the persistent memory modules&lt;/li&gt;
&lt;li&gt;Configure data-at-rest security&lt;/li&gt;
&lt;li&gt;Track health and performance of the persistent memory modules&lt;/li&gt;
&lt;li&gt;Debug and troubleshoot persistent memory modules&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I wrote the &lt;a href="https://docs.pmem.io/ipmctl-user-guide/"




 target="_blank"
 


&gt;IPMCTL User Guide&lt;/a&gt;
 showing how to use the tool, but what if ipmctl returns an error or something you&amp;rsquo;re not expecting? How do you debug the debugger? On Linux, ipmctl relies on libndctl to help perform communication to the BIOS and persistent memory modules themselves. This is a complicated stack involving multiple kernel drivers and the physical hardware itself. Anything along this path could be causing a problem.&lt;/p&gt;</description></item><item><title>How To Install Prometheus and Grafana on Fedora Server</title><link>https://stevescargall.com/blog/2021/12/how-to-install-prometheus-and-grafana-on-fedora-server/</link><pubDate>Sun, 05 Dec 2021 00:00:00 -0700</pubDate><guid>https://stevescargall.com/blog/2021/12/how-to-install-prometheus-and-grafana-on-fedora-server/</guid><description>&lt;p&gt;[Updated] This article was updated on 03/13/2021 using Fedora Server 33, &lt;a href="https://prometheus.io/download/"




 target="_blank"
 


&gt;Prometheus&lt;/a&gt;
 v2.25.0, &lt;a href="https://grafana.com/"




 target="_blank"
 


&gt;Grafana&lt;/a&gt;
 v7.4.3, and &lt;a href="https://github.com/prometheus/node_exporter"




 target="_blank"
 


&gt;Node Exporter&lt;/a&gt;
 v1.1.2.&lt;/p&gt;
&lt;p&gt;In this article, we will show how to install Prometheus and Grafana to collect and display system performance metrics.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://prometheus.io/"




 target="_blank"
 


&gt;Prometheus&lt;/a&gt;
 is an open source monitoring and alerting toolkit for bare metal systems, virtual machines, containers, and microservices. &lt;a href="https://grafana.com/grafana/"




 target="_blank"
 


&gt;Grafana&lt;/a&gt;
 allows you to query, visualize, and alert on metrics using fully customizable &lt;a href="https://grafana.com/grafana/dashboards"




 target="_blank"
 


&gt;dashboards&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>How To Monitor Persistent Memory Performance on Linux using PCM, Prometheus, and Grafana</title><link>https://stevescargall.com/blog/2021/09/how-to-monitor-persistent-memory-performance-on-linux-using-pcm-prometheus-and-grafana/</link><pubDate>Thu, 16 Sep 2021 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2021/09/how-to-monitor-persistent-memory-performance-on-linux-using-pcm-prometheus-and-grafana/</guid><description>&lt;p&gt;In a previous article, I showed &lt;a href="https://stevescargall.com/2020/05/13/how-to-install-prometheus-and-grafana-on-fedora-server/"




 target="_blank"
 


&gt;How To Install Prometheus and Grafana on Fedora Server&lt;/a&gt;
. This article demonstrates how to use the open-source &lt;a href="https://github.com/opcm/pcm"




 target="_blank"
 


&gt;Process Counter Monitor&lt;/a&gt;
 (PCM) utility to collect DRAM and Intel® Optane™ Persistent Memory statistics, and visualize the data in Grafana.&lt;/p&gt;
&lt;p&gt;Processor Counter Monitor is an application programming interface (API) and a set of tools based on the API to monitor performance and energy metrics of Intel® Core™, Xeon®, Atom™ and Xeon Phi™ processors. It can also show memory bandwidth for DRAM and Intel Optane Persistent Memory devices. PCM works on Linux, Windows, Mac OS X, FreeBSD and DragonFlyBSD operating systems.&lt;/p&gt;</description></item><item><title>Using ltrace to see what ipmctl and ndctl are doing</title><link>https://stevescargall.com/blog/2021/06/using-ltrace-to-see-what-ipmctl-and-ndctl-are-doing/</link><pubDate>Wed, 23 Jun 2021 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2021/06/using-ltrace-to-see-what-ipmctl-and-ndctl-are-doing/</guid><description>&lt;p&gt;Occasionally, it is necessary to debug commands that are slow. Or you may simply be interested in learning how the tools work. While there are many strategies, here are some simple methods that show code flow and timing information.&lt;/p&gt;
&lt;p&gt;To show a high-level view of where the time is being spent within libipmctl, use:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# ltrace -c -o ltrace_library_count.out -l &amp;#39;*ipmctl*&amp;#39; ipmctl show -memoryresources&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To show a high-level view of where the time is being spent within libndctl, use:&lt;/p&gt;</description></item><item><title>How To Install and Boot Microsoft Hyper-V 2019 from Persistent Memory (or not)</title><link>https://stevescargall.com/blog/2021/06/how-to-install-and-boot-microsoft-hyper-v-2019-from-persistent-memory-or-not/</link><pubDate>Fri, 18 Jun 2021 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2021/06/how-to-install-and-boot-microsoft-hyper-v-2019-from-persistent-memory-or-not/</guid><description>&lt;p&gt;In a &lt;a href="https://stevescargall.com/2021/06/07/how-to-boot-linux-from-intel-optane-persistent-memory/"




 target="_blank"
 


&gt;previous post&lt;/a&gt;
 I described how to install and boot Fedora Linux using only Persistent Memory, no SSDs are required. For this follow on post, I attempted to install Microsoft Windows Server 2022 onto the persistent memory.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt; - I was able to select the PMem devices as the install disk, but when the installer begins to write data, we get an &amp;ldquo;Error code: 0xC0000005&amp;rdquo;. I haven&amp;rsquo;t found a solution to this problem (yet).&lt;/p&gt;</description></item><item><title>How To Install and Boot Microsoft Windows Server 2019 from Persistent Memory</title><link>https://stevescargall.com/blog/2021/06/how-to-install-and-boot-microsoft-windows-server-2019-from-persistent-memory/</link><pubDate>Fri, 18 Jun 2021 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2021/06/how-to-install-and-boot-microsoft-windows-server-2019-from-persistent-memory/</guid><description>&lt;p&gt;In a &lt;a href="https://stevescargall.com/2021/06/07/how-to-boot-linux-from-intel-optane-persistent-memory/"




 target="_blank"
 


&gt;previous post&lt;/a&gt;
 I described how to install and boot Fedora Linux using only Persistent Memory, no SSDs are required. For this follow on post, I attempted to install Microsoft Windows Server 2019 and 2022 onto the persistent memory.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt; - I was able to select the PMem devices as the install disk, but when the installer begins to write data, we get an &amp;ldquo;Error code: 0xC0000005&amp;rdquo;. I haven&amp;rsquo;t found a solution to this problem (yet).&lt;/p&gt;</description></item><item><title>How To Install and Boot Microsoft Windows Server 2022 from Persistent Memory (or not)</title><link>https://stevescargall.com/blog/2021/06/how-to-install-and-boot-microsoft-windows-server-2022-from-persistent-memory-or-not/</link><pubDate>Fri, 18 Jun 2021 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2021/06/how-to-install-and-boot-microsoft-windows-server-2022-from-persistent-memory-or-not/</guid><description>&lt;p&gt;In a &lt;a href="https://stevescargall.com/2021/06/07/how-to-boot-linux-from-intel-optane-persistent-memory/"




 target="_blank"
 


&gt;previous post&lt;/a&gt;
 I described how to install and boot Fedora Linux using only Persistent Memory, no SSDs are required. For this follow on post, I attempted to install Microsoft Windows Server 2022 onto the persistent memory.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt; - I was able to select the PMem devices as the install disk, but when the installer begins to write data, we get an &amp;ldquo;Error code: 0xC0000005&amp;rdquo;. I haven&amp;rsquo;t found a solution to this problem (yet).&lt;/p&gt;</description></item><item><title>How To Install and Boot Microsoft Hyper-V 2019 from Persistent Memory (or not)</title><link>https://stevescargall.com/blog/2021/06/how-to-install-and-boot-microsoft-hyper-v-2019-from-persistent-memory-or-not/</link><pubDate>Thu, 17 Jun 2021 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2021/06/how-to-install-and-boot-microsoft-hyper-v-2019-from-persistent-memory-or-not/</guid><description>&lt;p&gt;In a &lt;a href="https://stevescargall.com/2021/06/07/how-to-boot-linux-from-intel-optane-persistent-memory/"




 target="_blank"
 


&gt;previous post&lt;/a&gt;
 I described how to install and boot Fedora Linux using only Persistent Memory, no SSDs are required. For this follow on post, I attempted to install Microsoft Windows Server 2022 onto the persistent memory.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt; - I was able to select the PMem devices as the install disk, but when the installer begins to write data, we get an &amp;ldquo;Error code: 0xC0000005&amp;rdquo;. I haven&amp;rsquo;t found a solution to this problem (yet).&lt;/p&gt;</description></item><item><title>How To Install and Boot Microsoft Windows Server 2022 from Persistent Memory (or not)</title><link>https://stevescargall.com/blog/2021/06/how-to-install-and-boot-microsoft-windows-server-2022-from-persistent-memory-or-not/</link><pubDate>Thu, 17 Jun 2021 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2021/06/how-to-install-and-boot-microsoft-windows-server-2022-from-persistent-memory-or-not/</guid><description>&lt;p&gt;In a &lt;a href="https://stevescargall.com/2021/06/07/how-to-boot-linux-from-intel-optane-persistent-memory/"




 target="_blank"
 


&gt;previous post&lt;/a&gt;
 I described how to install and boot Fedora Linux using only Persistent Memory, no SSDs are required. For this follow on post, I attempted to install Microsoft Windows Server 2022 onto the persistent memory.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt; - I was able to select the PMem devices as the install disk, but when the installer begins to write data, we get an &amp;ldquo;Error code: 0xC0000005&amp;rdquo;. I haven&amp;rsquo;t found a solution to this problem (yet).&lt;/p&gt;</description></item><item><title>How To Install and Boot Microsoft Windows Server 2019 from Persistent Memory</title><link>https://stevescargall.com/blog/2021/06/how-to-install-and-boot-microsoft-windows-server-2019-from-persistent-memory/</link><pubDate>Mon, 14 Jun 2021 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2021/06/how-to-install-and-boot-microsoft-windows-server-2019-from-persistent-memory/</guid><description>&lt;p&gt;In a &lt;a href="https://stevescargall.com/2021/06/07/how-to-boot-linux-from-intel-optane-persistent-memory/"




 target="_blank"
 


&gt;previous post&lt;/a&gt;
 I described how to install and boot Fedora Linux using only Persistent Memory, no SSDs are required. For this follow on post, I attempted to install Microsoft Windows Server 2019 and 2022 onto the persistent memory.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt; - I was able to select the PMem devices as the install disk, but when the installer begins to write data, we get an &amp;ldquo;Error code: 0xC0000005&amp;rdquo;. I haven&amp;rsquo;t found a solution to this problem (yet).&lt;/p&gt;</description></item><item><title>How to Boot Linux from Intel® Optane™ Persistent Memory</title><link>https://stevescargall.com/blog/2021/06/how-to-boot-linux-from-intel-optane-persistent-memory/</link><pubDate>Tue, 08 Jun 2021 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2021/06/how-to-boot-linux-from-intel-optane-persistent-memory/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;In this article, I will demonstrate how to configure a system with Intel Optane Persistent Memory (PMem) and use part of the PMem as a boot device. This little known feature can reduce boot times for those that need it.&lt;/p&gt;
&lt;p&gt;The basic steps include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Configure the Persistent Memory in AppDirect Interleaved&lt;/li&gt;
&lt;li&gt;Create two small SECTOR namespaces, one per Region&lt;/li&gt;
&lt;li&gt;Install the OS and select one or both of the namespaces (single disk install, or mirrored LVM)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="configure-the-persistent-memory"&gt;Configure the Persistent Memory&lt;/h2&gt;
&lt;p&gt;The following figure shows how we will provision the persistent memory.&lt;/p&gt;</description></item><item><title>How to Boot Linux from Intel® Optane™ Persistent Memory</title><link>https://stevescargall.com/blog/2021/06/how-to-boot-linux-from-intel-optane-persistent-memory/</link><pubDate>Tue, 08 Jun 2021 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2021/06/how-to-boot-linux-from-intel-optane-persistent-memory/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;In this article, I will demonstrate how to configure a system with Intel Optane Persistent Memory (PMem) and use part of the PMem as a boot device. This little known feature can reduce boot times for those that need it.&lt;/p&gt;
&lt;p&gt;The basic steps include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Configure the Persistent Memory in AppDirect Interleaved&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create two small SECTOR namespaces, one per Region&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the OS and select one or both of the namespaces (single disk install, or mirrored LVM)&lt;/p&gt;</description></item><item><title>How To Install and Boot VMWare VSphere/ESXi from Persistent Memory (or not)</title><link>https://stevescargall.com/blog/2021/06/how-to-install-and-boot-vmware-vsphere/esxi-from-persistent-memory-or-not/</link><pubDate>Tue, 08 Jun 2021 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2021/06/how-to-install-and-boot-vmware-vsphere/esxi-from-persistent-memory-or-not/</guid><description>&lt;p&gt;In a &lt;a href="https://stevescargall.com/2021/06/07/how-to-boot-linux-from-intel-optane-persistent-memory/"




 target="_blank"
 


&gt;previous post&lt;/a&gt;
 I described how to install and boot Linux using only Persistent Memory, no SSDs are required. For this follow on post, I attempted to install VMWare VSphere/ESXi v7.0u2 onto the persistent memory.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt; - It doesn&amp;rsquo;t work. The installer doesn&amp;rsquo;t list the PMem devices, and I was unable to find a way to manually select the PMem device(s).&lt;/p&gt;
&lt;p&gt;I assume you followed the &lt;a href="https://stevescargall.com/2021/06/07/how-to-boot-linux-from-intel-optane-persistent-memory/"




 target="_blank"
 


&gt;previous post&lt;/a&gt;
 to configure sector namespaces that we&amp;rsquo;ll use to install ESXi.&lt;/p&gt;</description></item><item><title>How To Install and Boot VMWare VSphere/ESXi from Persistent Memory (or not)</title><link>https://stevescargall.com/blog/2021/06/how-to-install-and-boot-vmware-vsphere/esxi-from-persistent-memory-or-not/</link><pubDate>Tue, 08 Jun 2021 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2021/06/how-to-install-and-boot-vmware-vsphere/esxi-from-persistent-memory-or-not/</guid><description>&lt;p&gt;In a &lt;a href="https://stevescargall.com/2021/06/07/how-to-boot-linux-from-intel-optane-persistent-memory/"




 target="_blank"
 


&gt;previous post&lt;/a&gt;
 I described how to install and boot Linux using only Persistent Memory, no SSDs are required. For this follow on post, I attempted to install VMWare VSphere/ESXi v7.0u2 onto the persistent memory.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt; - It doesn&amp;rsquo;t work. The installer doesn&amp;rsquo;t list the PMem devices, and I was unable to find a way to manually select the PMem device(s).&lt;/p&gt;
&lt;p&gt;I assume you followed the &lt;a href="https://stevescargall.com/2021/06/07/how-to-boot-linux-from-intel-optane-persistent-memory/"




 target="_blank"
 


&gt;previous post&lt;/a&gt;
 to configure sector namespaces that we&amp;rsquo;ll use to install ESXi.&lt;/p&gt;</description></item><item><title>How to build an upstream Fedora Kernel from source</title><link>https://stevescargall.com/blog/2020/09/how-to-build-an-upstream-fedora-kernel-from-source/</link><pubDate>Mon, 14 Sep 2020 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2020/09/how-to-build-an-upstream-fedora-kernel-from-source/</guid><description>&lt;p&gt;I typically keep my Fedora system current, updating it once every week or two. More recently, I wanted to test the &lt;a href="https://www.kernel.org/doc/html/latest/admin-guide/mm/idle_page_tracking.html#"




 target="_blank"
 


&gt;Idle Page Tracking&lt;/a&gt;
 feature, but this wasn&amp;rsquo;t enabled in the default kernel provided by Fedora.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# grep CONFIG_IDLE_PAGE_TRACKING /boot/config-$(uname -r)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# CONFIG_IDLE_PAGE_TRACKING is not set&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To enable the feature, we need to build a custom kernel with the feature(s) we need. Thankfully, the process isn&amp;rsquo;t too difficult.&lt;/p&gt;
&lt;p&gt;For this walk through, I&amp;rsquo;ll be building a customised version of the Fedora 32 kernel version I already have installed (5.8.7-200.fc32.x86_64), using some of the instructions from &lt;a href="https://fedoraproject.org/wiki/Building_a_custom_kernel"




 target="_blank"
 


&gt;https://fedoraproject.org/wiki/Building_a_custom_kernel&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Linux Device Mapper WriteCache (dm-writecache) performance improvements in Linux Kernel 5.8</title><link>https://stevescargall.com/blog/2020/05/linux-device-mapper-writecache-dm-writecache-performance-improvements-in-linux-kernel-5.8/</link><pubDate>Sun, 31 May 2020 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2020/05/linux-device-mapper-writecache-dm-writecache-performance-improvements-in-linux-kernel-5.8/</guid><description>&lt;p&gt;The Linux &amp;lsquo;dm-writecache&amp;rsquo; target allows for writeback caching of newly written data to an SSD or NVMe using persistent memory will achieve much better performance in Linux Kernel 5.8.&lt;/p&gt;
&lt;p&gt;Red Hat developer Mikulas Patocka has been working to enhance the dm-writecache performance using Intel Optane Persistent Memory (PMem) as the cache device.&lt;/p&gt;
&lt;p&gt;The performance optimization now queued for Linux 5.8 is making use of CLFLUSHOPT within dm-writecache when available instead of MOVNTI. CLFLUSHOPT is one of Intel&amp;rsquo;s persistent memory instructions that allows for optimized flushing of cache lines by supporting greater concurrency. The CLFLUSHOPT instruction has been supported on Intel servers since Skylake and on AMD since Zen.&lt;/p&gt;</description></item><item><title>"ipmctl show -memoryresources" returns "Error: GetMemoryResourcesInfo Failed"</title><link>https://stevescargall.com/blog/2020/05/ipmctl-show-memoryresources-returns-error-getmemoryresourcesinfo-failed/</link><pubDate>Sat, 30 May 2020 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2020/05/ipmctl-show-memoryresources-returns-error-getmemoryresourcesinfo-failed/</guid><description>&lt;h2 id="issue"&gt;Issue:&lt;/h2&gt;
&lt;p&gt;Running &lt;code&gt;ipmctl show -memoryresources&lt;/code&gt; returns an error similar to the following:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# ipmctl show -memoryresources&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Error: GetMemoryResourcesInfo Failed
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="applies-to"&gt;Applies To:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Linux &amp;amp; Microsoft Windows&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Intel Optane Persistent Memory&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ipmctl utility&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="cause"&gt;Cause:&lt;/h2&gt;
&lt;p&gt;The Platform Configuration Data (PCD) is invalid or has been erased using a previously executed &lt;code&gt;ipmctl delete -dimm -pcd&lt;/code&gt; command or the system has new persistent memory modules that have not been initialized yet.&lt;/p&gt;
&lt;p&gt;A module with an empty PCD will show information similar to the following. This shows an example of PCD of DIMM ID 0x0001. To review the PCD for all modules in the system use &lt;code&gt;ipmctl show -dimm -pcd&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Intel Optane Persistent Memory Modules report "Non-functional" state in ipmctl</title><link>https://stevescargall.com/blog/2020/05/intel-optane-persistent-memory-modules-report-non-functional-state-in-ipmctl/</link><pubDate>Sat, 30 May 2020 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2020/05/intel-optane-persistent-memory-modules-report-non-functional-state-in-ipmctl/</guid><description>&lt;h2 id="issue"&gt;Issue&lt;/h2&gt;
&lt;p&gt;Executing &lt;code&gt;ipmctl show-dimm&lt;/code&gt; to get device information shows the persistent memory modules in a &amp;lsquo;Non-functional&amp;rsquo; health state, eg:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# ipmctl show -dimm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; DimmID | Capacity | HealthState | ActionRequired | LockState | &lt;span style="color:#8be9fd;font-style:italic"&gt;FWVersion&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;=============================================================================&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 0x0001 | 0.0 GiB | Non-functional | N/A | N/A | N/A
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 0x0011 | 0.0 GiB | Non-functional | N/A | N/A | N/A
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 0x0021 | 0.0 GiB | Non-functional | N/A | N/A | N/A
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 0x0101 | 0.0 GiB | Non-functional | N/A | N/A | N/A
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 0x0111 | 0.0 GiB | Non-functional | N/A | N/A | N/A
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 0x0121 | 0.0 GiB | Non-functional | N/A | N/A | N/A
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 0x1001 | 0.0 GiB | Non-functional | N/A | N/A | N/A
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 0x1011 | 0.0 GiB | Non-functional | N/A | N/A | N/A
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 0x1021 | 0.0 GiB | Non-functional | N/A | N/A | N/A
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 0x1101 | 0.0 GiB | Non-functional | N/A | N/A | N/A
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 0x1111 | 0.0 GiB | Non-functional | N/A | N/A | N/A
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 0x1121 | 0.0 GiB | Non-functional | N/A | N/A | N/A
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Other &lt;code&gt;ipmctl&lt;/code&gt; commands may fail and return &amp;ldquo;No functional DIMMs in the system.&amp;rdquo;, eg:&lt;/p&gt;</description></item><item><title>Edge-to-Cloud</title><link>https://stevescargall.com/books/hpe-edge-to-cloud/</link><pubDate>Tue, 12 May 2020 00:00:00 +0000</pubDate><guid>https://stevescargall.com/books/hpe-edge-to-cloud/</guid><description>&lt;p&gt;I collaborated with Marty Poniatowski, where I wrote Chapter 17.&lt;/p&gt;
&lt;p&gt;Marty who is a Senior Director at Hewlett Packard Enterprise in the Business Development, Enablement, Solutions, and Technology (BEST) organization. During his career Marty has written 18 books and 50 articles on various technical topics.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;UNDERSTAND TOOLS AND TECHNOLOGIES DRIVING THE ENTERPRISE OF THE FUTURE:&lt;/strong&gt; An under‐the‐covers look at the tools and technologies to accelerate digital transformation&lt;/p&gt;
&lt;p&gt;The enterprise of the future will be edge‐centric, cloud‐enabled, and data‐driven. By 2022, 55 billion devices will be connected worldwide. Of that data, 75% is not created in the data center or cloud. It is created where we live and work. Workloads and data are moving to the edge, and the cloud is not so much a destination but an experience to be delivered wherever it is desired.&lt;/p&gt;</description></item><item><title>How To Set Linux CPU Scaling Governor to Max Performance</title><link>https://stevescargall.com/blog/2020/02/how-to-set-linux-cpu-scaling-governor-to-max-performance/</link><pubDate>Thu, 13 Feb 2020 00:00:00 -0700</pubDate><guid>https://stevescargall.com/blog/2020/02/how-to-set-linux-cpu-scaling-governor-to-max-performance/</guid><description>&lt;p&gt;The majority of modern processors are capable of operating in a number of different clock frequency and voltage configurations, often referred to as Operating Performance Points or P-states (in ACPI terminology). As a rule, the higher the clock frequency and the higher the voltage, the more instructions can be retired by the CPU over a unit of time, but also the higher the clock frequency and the higher the voltage, the more energy is consumed over a unit of time (or the more power is drawn) by the CPU in the given P-state. Therefore there is a natural trade-off between the CPU capacity (the number of instructions that can be executed over a unit of time) and the power drawn by the CPU.&lt;/p&gt;</description></item><item><title>How To Verify Linux Kernel Support for Persistent Memory</title><link>https://stevescargall.com/blog/2020/02/how-to-verify-linux-kernel-support-for-persistent-memory/</link><pubDate>Tue, 11 Feb 2020 00:00:00 -0700</pubDate><guid>https://stevescargall.com/blog/2020/02/how-to-verify-linux-kernel-support-for-persistent-memory/</guid><description>&lt;p&gt;Linux Kernel support for persistent memory was first delivered in version 4.0 of the mainline kernel, however, it was not enabled by default until version 4.2.&lt;/p&gt;
&lt;p&gt;If you use a Linux distribution that uses kernel 4.2 or later, or the distro backports features in to an older kernel, you will almost certainly have persistent memory support enabled by default. It is still worth verifying what features are enabled and disabled as this may vary by distro and release version for the very latest persistent memory features.&lt;/p&gt;</description></item><item><title>A Quick Guide to Signing Your Git Commits</title><link>https://stevescargall.com/blog/2020/02/a-quick-guide-to-signing-your-git-commits/</link><pubDate>Tue, 04 Feb 2020 00:00:00 -0700</pubDate><guid>https://stevescargall.com/blog/2020/02/a-quick-guide-to-signing-your-git-commits/</guid><description>&lt;p&gt;It is important to sign Git commits for your source code to avoid the code being compromised and to confirm to the repository gatekeeper that you are who you say you are. Signing guarantees that my code is my work, it is my copyright and nobody else can fake it. This guide provides the necessary steps to creating private &amp;amp; public keys so you can sign your Git commits.&lt;/p&gt;
&lt;p&gt;On Linux or Mac, if you have setup a development environment then you have all the necessary tools for signing.&lt;/p&gt;</description></item><item><title>pmem.io website</title><link>https://stevescargall.com/projects/pmem-io/</link><pubDate>Sat, 25 Jan 2020 19:54:35 +0000</pubDate><guid>https://stevescargall.com/projects/pmem-io/</guid><description>&lt;p&gt;Today, I&amp;rsquo;m diving into the process of designing and building PMem.io, the website for the Persistent Memory Development Kit (PMDK). We&amp;rsquo;ll explore how we migrated the site from Jekyll to Hugo, a static site generator, and crafted a custom Tailwind CSS theme to support the new website&amp;rsquo;s features.&lt;/p&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;p&gt;Before diving in, let&amp;rsquo;s outline the key requirements we wanted for the updated PMem.io website:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Improved User Experience (UX): A clean, modern, intuitive, and responsive design that caters to users from diverse technical backgrounds.&lt;/li&gt;
&lt;li&gt;Content Management: A user-friendly content management system (CMS) to simplify content creation and updates.&lt;/li&gt;
&lt;li&gt;Documentation Integration: Seamless integration with existing PMDK documentation for easy access.&lt;/li&gt;
&lt;li&gt;Community Building: Features to foster interaction and collaboration within the PMDK community.&lt;/li&gt;
&lt;li&gt;Static website for speed as there&amp;rsquo;s no dynamic content.&lt;/li&gt;
&lt;li&gt;Fast SSG build time.&lt;/li&gt;
&lt;li&gt;Improved searchability.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We chose to migrate PMem.io from Jekyll to Hugo for several reasons:&lt;/p&gt;</description></item><item><title>Programming Persistent Memory: A Comprehensive Guide for Developers Book</title><link>https://stevescargall.com/blog/2020/01/programming-persistent-memory-a-comprehensive-guide-for-developers-book/</link><pubDate>Fri, 10 Jan 2020 00:00:00 -0700</pubDate><guid>https://stevescargall.com/blog/2020/01/programming-persistent-memory-a-comprehensive-guide-for-developers-book/</guid><description>&lt;p&gt;After many months of hard work by everyone involved, I&amp;rsquo;m very pleased to announce that the book &amp;ldquo;&lt;strong&gt;Programming Persistent Memory: A Comprehensive Guide for Developers&lt;/strong&gt;&amp;rdquo; is now available for download in digital PDF &amp;amp; ePUB formats from &lt;a href="https://pmem.io/book"




 target="_blank"
 


&gt;https://pmem.io/book&lt;/a&gt;
, and Kindle &amp;amp; paperback through &lt;a href="https://www.apress.com/us/book/9781484249314"




 target="_blank"
 


&gt;Amazon&lt;/a&gt;
.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Beginner and experienced programmers will use this comprehensive guide to persistent memory programming. You will understand how persistent memory brings together several new software/hardware requirements, and offers great promise for better performance and faster application startup times―a huge leap forward in byte-addressable capacity compared with current DRAM offerings.&lt;br&gt;
This revolutionary new technology gives applications significant performance and capacity improvements over existing technologies. It requires a new way of thinking and developing, which makes this highly disruptive to the IT/computing industry. The full spectrum of industry sectors that will benefit from this technology include, but are not limited to, in-memory and traditional databases, AI, analytics, HPC, virtualization, and big data.   &lt;br&gt;
&lt;em&gt;&lt;strong&gt;Programming Persistent Memory&lt;/strong&gt;&lt;/em&gt; describes the technology and why it is exciting the industry. It covers the operating system and hardware requirements as well as how to create development environments using emulated or real persistent memory hardware. The book explains fundamental concepts; provides an introduction to persistent memory programming APIs for C, C++, JavaScript, and other languages; discusses RMDA with persistent memory; reviews security features; and presents many examples. Source code and examples that you can run on your own systems are included.&lt;br&gt;
&lt;strong&gt;What You’ll Learn&lt;/strong&gt;&lt;br&gt;
- Understand what persistent memory is, what it does, and the value it brings to the industry&lt;br&gt;
- Become familiar with the operating system and hardware requirements to use persistent memory&lt;br&gt;
- Know the fundamentals of persistent memory programming: why it is different from current programming methods, and what developers need to keep in mind when programming for persistence&lt;br&gt;
- Look at persistent memory application development by example using the Persistent Memory Development Kit (PMDK)&lt;br&gt;
- Design and optimize data structures for persistent memory&lt;br&gt;
- Study how real-world applications are modified to leverage persistent memory&lt;br&gt;
- Utilize the tools available for persistent memory programming, application performance profiling, and debugging&lt;br&gt;
&lt;strong&gt;Who This Book Is For&lt;/strong&gt;&lt;br&gt;
C, C++, Java, and Python developers, but will also be useful to software, cloud, and hardware architects across a broad spectrum of sectors, including cloud service providers, independent software vendors, high performance compute, artificial intelligence, data analytics, big data, etc. &lt;/p&gt;</description></item><item><title>How To Extend Volatile System Memory (RAM) using Persistent Memory on Linux</title><link>https://stevescargall.com/blog/2019/07/how-to-extend-volatile-system-memory-ram-using-persistent-memory-on-linux/</link><pubDate>Tue, 09 Jul 2019 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2019/07/how-to-extend-volatile-system-memory-ram-using-persistent-memory-on-linux/</guid><description>&lt;p&gt;&lt;a href="https://www.intel.com/content/www/us/en/architecture-and-technology/optane-dc-persistent-memory.html"




 target="_blank"
 


&gt;Intel(R) Optane(TM) Persistent Memory&lt;/a&gt;
 delivers a unique combination of affordable large capacity and support for data persistence. Electrically compatible with DDR4, large capacity modules up to 512GB each can be installed in compatible servers alongside DDR on the memory bus.&lt;/p&gt;
&lt;p&gt;Intel&amp;rsquo;s persistent memory product can be provisioned in a volatile &amp;ldquo;Memory Mode&amp;rdquo; which replaces DRAM volatile capacity with the persistent memory capacity, and persistent &amp;ldquo;AppDirect&amp;rdquo; mode which presents both DRAM and persistent memory to the operating system and applications. Both modes are explained in more detail &lt;a href="https://itpeernetwork.intel.com/intel-optane-dc-persistent-memory-operating-modes/"




 target="_blank"
 


&gt;here&lt;/a&gt;
. It is possible to configure a system to utilize a percentage of persistent memory as volatile and persistent, but this mixed-mode still provisions all the DRAM capacity as a Last-Level Cache.&lt;/p&gt;</description></item><item><title>Using Linux Volume Manager (LVM) with Persistent Memory</title><link>https://stevescargall.com/blog/2019/05/using-linux-volume-manager-lvm-with-persistent-memory/</link><pubDate>Wed, 22 May 2019 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2019/05/using-linux-volume-manager-lvm-with-persistent-memory/</guid><description>&lt;p&gt;In this article, we show how to use the Linux Volume Manager (LVM) to create concatenated, striped, and mirrored logical volumes using persistent memory modules as the backing storage device. Specifically, we will be using the &lt;a href="https://software.intel.com/en-us/persistent-memory"




 target="_blank"
 


&gt;Intel® Optane™ Persistent Memory Modules&lt;/a&gt;
 on a two socket system with Intel® Cascade Lake Xeon® CPUs, also referred to as 2nd Generation Intel® Xeon® Scalable Processors.&lt;/p&gt;
&lt;h2 id="contents"&gt;Contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="#Linux-Volume-Manager"



 


&gt;Linux Volume Manager&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="#When-Should-You-Use-LVM-with-Persistent-Memory"



 


&gt;When Should You Use LVM with Persistent Memory?&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>How to Create a Bootable Windows USB in Fedora Linux</title><link>https://stevescargall.com/blog/2019/05/how-to-create-a-bootable-windows-usb-in-fedora-linux/</link><pubDate>Tue, 21 May 2019 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2019/05/how-to-create-a-bootable-windows-usb-in-fedora-linux/</guid><description>&lt;p&gt;In this tutorial, I am going to show you how to create a Windows Server 2019 bootable USB in Linux, though any Windows version will work. I am using Fedora 30 for this tutorial but the steps should be valid for other Linux distributions as well.&lt;/p&gt;
&lt;p&gt;Here’s what you need:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Windows Server 2019 ISO (or Windows 10 ISO)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;WoeUSB Application&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A USB key (pen drive or stick) with at least 6 Gb of space&lt;/p&gt;</description></item><item><title>Percona Live 2019</title><link>https://stevescargall.com/blog/2019/04/percona-live-2019/</link><pubDate>Thu, 04 Apr 2019 00:00:00 -0600</pubDate><guid>https://stevescargall.com/blog/2019/04/percona-live-2019/</guid><description>&lt;p&gt;I will be speaking at this year&amp;rsquo;s Percona Live event. Percona Live 2019 takes place in Austin, Texas from May 28-30, 2019 at the &lt;a href="https://www.hyatt.com/en-US/hotel/texas/hyatt-regency-austin/ausra"




 target="_blank"
 


&gt;Hyatt Regency&lt;/a&gt;
. You can &lt;a href="https://www.percona.com/live/19/register"




 target="_blank"
 


&gt;register&lt;/a&gt;
 for the event and check out the &lt;a href="https://www.percona.com/live/19/schedule/day-1"




 target="_blank"
 


&gt;schedule&lt;/a&gt;
 of talks. See you there.&lt;/p&gt;
&lt;h3 id="about-percona-live"&gt;About Percona Live&lt;/h3&gt;
&lt;p&gt;Percona Live conferences provide the open source database community with an opportunity to discover and discuss the latest open source trends, technologies and innovations. The conference includes the best and brightest innovators and influencers in the open source database industry.&lt;/p&gt;</description></item><item><title>From Pixelated Memories to Real Pixels: Building My Dream Arcade Machine</title><link>https://stevescargall.com/projects/arcade-machine/</link><pubDate>Sun, 12 Oct 2014 00:00:00 +0000</pubDate><guid>https://stevescargall.com/projects/arcade-machine/</guid><description>&lt;p&gt;There&amp;rsquo;s something undeniably special about classic arcade games. The vibrant lights, the thunderous bass of fighting games, the pure, unadulterated joy of a high score – it&amp;rsquo;s an experience that just can&amp;rsquo;t be replicated on a modern console.&lt;/p&gt;
&lt;p&gt;For years, I chased that nostalgia, feeding quarters into dusty machines at retro arcades. But what if I could bring that feeling home? That&amp;rsquo;s the question that sparked this project: building my very own arcade machine from scratch.&lt;/p&gt;</description></item><item><title>Bright Talk - Accelerating AI with Real-World CXL Platforms</title><link>https://stevescargall.com/events/2025-07-22-snia-brighttalk-accelerating-ai/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://stevescargall.com/events/2025-07-22-snia-brighttalk-accelerating-ai/</guid><description>&lt;p&gt;The rapid growth of AI is driving unprecedented demand for high-bandwidth, high-capacity memory solutions. Compute Express Link (CXL) is emerging as a key enabler in 2025, unlocking new levels of memory scalability and efficiency. Join experts as they discuss how CXL-based solutions are addressing memory bottlenecks and capacity constraints in modern data centers.&lt;/p&gt;
&lt;p&gt;Attendees will:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Learn about real-world applications and customer platforms using CXL&lt;/li&gt;
&lt;li&gt;Gain insights into benchmarks for CXL performance and latency&lt;/li&gt;
&lt;li&gt;Understand how OEM customers are leveraging the CXL solution&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Compute Express Link (CXL) Developers Conference (DevCon) 2024</title><link>https://stevescargall.com/events/2024-05-cxl-devcon/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://stevescargall.com/events/2024-05-cxl-devcon/</guid><description>&lt;p&gt;Presentation slide decks and recordings will be posted &lt;a href="https://members.computeexpresslink.org/wg/CXL/document/folder/503"




 target="_blank"
 


&gt;HERE&lt;/a&gt;
 as they become available.&lt;/p&gt;</description></item><item><title>CXL 2024 Q4 Webinar - Breaking Memory Barriers - CXLs Game-Changing Impact on AI/ML</title><link>https://stevescargall.com/events/2024-12-cxl-webinar/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://stevescargall.com/events/2024-12-cxl-webinar/</guid><description>&lt;p&gt;Join us for a live webinar on Compute Express Link (CXL) technology and its immediate impact on AI and ML applications. You&amp;rsquo;ll discover how CXL is revolutionizing data center performance and efficiency.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ll explore the current state of the CXL ecosystem, including the latest advancements in both hardware and software. Learn about the robust Linux and QEMU support for CXL features, enabling seamless integration into existing infrastructure. Discover how CXL is already enhancing AI/ML workloads, including:&lt;/p&gt;</description></item><item><title>CXL Forum at AI + HPC on Wall Street</title><link>https://stevescargall.com/events/2022-10-cxl-forum-at-ai-hpc-on-wall-street/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://stevescargall.com/events/2022-10-cxl-forum-at-ai-hpc-on-wall-street/</guid><description>&lt;p&gt;A huge ecosystem of vendors is working to make the CXL vision a reality, and the place to learn about the status of their progress is a CXL Forum event. A cross-section of compute, storage, networking, system, and software vendors, as well as users, are represented at each event for a 360 degree of CXL technology and market development.&lt;/p&gt;
&lt;p&gt;In addition to a full day of presentations, during breaks you will be able to check out live demonstrations of a Memory Viewer to see all the memory in a fabric, CXL Memory Pooling systems that replace swap-to-storage with shared memory, the Gismo (Global IO-free Shared Memory Object) software that replaces internode cluster traffic with shared memory, and a CXL Flight Simulator that allows developers to get started without CXL hardware.&lt;/p&gt;</description></item><item><title>CXL Forum at AI + HPC on Wall Street</title><link>https://stevescargall.com/events/2022-11-hpc-ai-wall-street/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://stevescargall.com/events/2022-11-hpc-ai-wall-street/</guid><description>&lt;p&gt;A huge ecosystem of vendors is working to make the CXL vision a reality, and the place to learn about the status of their progress is a CXL Forum event. A cross-section of compute, storage, networking, system, and software vendors, as well as users, are represented at each event for a 360 degree of CXL technology and market development.&lt;/p&gt;
&lt;p&gt;In addition to a full day of presentations, during breaks you will be able to check out live demonstrations of a Memory Viewer to see all the memory in a fabric, CXL Memory Pooling systems that replace swap-to-storage with shared memory, the Gismo (Global IO-free Shared Memory Object) software that replaces internode cluster traffic with shared memory, and a CXL Flight Simulator that allows developers to get started without CXL hardware.&lt;/p&gt;</description></item><item><title>Elements</title><link>https://stevescargall.com/elements/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://stevescargall.com/elements/</guid><description>&lt;details class="table-of-content "&gt;
 &lt;summary&gt;
 
 Table of Contents
 
 &lt;/summary&gt;
 &lt;nav id="TableOfContents"&gt;
 &lt;ol&gt;
 &lt;li&gt;&lt;a href="#heading-2"&gt;Heading 2&lt;/a&gt;
 &lt;ol&gt;
 &lt;li&gt;&lt;a href="#heading-3"&gt;Heading 3&lt;/a&gt;
 &lt;ol&gt;
 &lt;li&gt;&lt;a href="#heading-4"&gt;Heading 4&lt;/a&gt;
 &lt;ol&gt;
 &lt;li&gt;&lt;a href="#heading-5"&gt;Heading 5&lt;/a&gt;&lt;/li&gt;
 &lt;/ol&gt;
 &lt;/li&gt;
 &lt;/ol&gt;
 &lt;/li&gt;
 &lt;li&gt;&lt;a href="#emphasis"&gt;Emphasis&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#button"&gt;Button&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#link"&gt;Link&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#paragraph"&gt;Paragraph&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#ordered-list"&gt;Ordered List&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#unordered-list"&gt;Unordered List&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#notice"&gt;Notice&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#tab"&gt;Tab&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#accordions"&gt;Accordions&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#code-and-syntax-highlighting"&gt;Code and Syntax Highlighting&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#blockquote"&gt;Blockquote&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#tables"&gt;Tables&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#image"&gt;Image&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#gallery"&gt;Gallery&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#slider"&gt;Slider&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#youtube-video"&gt;Youtube video&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#custom-video"&gt;Custom video&lt;/a&gt;&lt;/li&gt;
 &lt;/ol&gt;
 &lt;/li&gt;
 &lt;/ol&gt;
&lt;/nav&gt;
&lt;/details&gt;

&lt;p&gt;Here is an example of headings. You can use this heading by the following markdown rules. For example: use &lt;code&gt;#&lt;/code&gt; for heading 1 and use &lt;code&gt;######&lt;/code&gt; for heading 6.&lt;/p&gt;
&lt;h1 id="heading-1"&gt;Heading 1&lt;/h1&gt;
&lt;h2 id="heading-2"&gt;Heading 2&lt;/h2&gt;
&lt;h3 id="heading-3"&gt;Heading 3&lt;/h3&gt;
&lt;h4 id="heading-4"&gt;Heading 4&lt;/h4&gt;
&lt;h5 id="heading-5"&gt;Heading 5&lt;/h5&gt;
&lt;h6 id="heading-6"&gt;Heading 6&lt;/h6&gt;
&lt;hr&gt;
&lt;h3 id="emphasis"&gt;Emphasis&lt;/h3&gt;
&lt;p&gt;The emphasis, aka italics, with &lt;em&gt;asterisks&lt;/em&gt; or &lt;em&gt;underscores&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>Flash Memory Summit (FMS)</title><link>https://stevescargall.com/events/2023-08-flash-memory-summit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://stevescargall.com/events/2023-08-flash-memory-summit/</guid><description/></item><item><title>Intel Innovation 2023</title><link>https://stevescargall.com/events/2023-09-intel-innovation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://stevescargall.com/events/2023-09-intel-innovation/</guid><description>&lt;p&gt;Now in its 12th year, the Summit brings together the leading experts on the current and future topics in the compute, memory, and storage ecosystem, including AI, cloud, CXL, future trends, sustainability, and storage networking in an interactive setting. Check out our great list of speakers below. You won&amp;rsquo;t want to miss a memory keynote by Jim Handy and Tom Coughlin, a CXL Consortium update, a full track presented by the SNIA Data Networking Storage Forum, and much, much more!&lt;/p&gt;</description></item><item><title>Memory Fabric Forum Q3 2024 - MemVerge Memory Machine Software for CXL</title><link>https://stevescargall.com/events/2024-10-q3-memory-fabric-forum/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://stevescargall.com/events/2024-10-q3-memory-fabric-forum/</guid><description>&lt;p&gt;Compute Express Link® (CXL®) is a new software protocol that runs on your server’s PCIe bus. It unlocks the power to pool, tier, and share memory in a data center fabric. The results will be vastly more memory capacity and lower cost due to higher utilization, things you will need to support memory-hungry generative AI apps in the enterprise.&lt;/p&gt;
&lt;p&gt;Attend this Zoom webinar to receive an introduction from leading vendors designed specifically for enterprise IT pros.&lt;/p&gt;</description></item><item><title>OCP Global Summit</title><link>https://stevescargall.com/events/2023-10-ocp-global-summit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://stevescargall.com/events/2023-10-ocp-global-summit/</guid><description/></item><item><title>OCP Global Summit</title><link>https://stevescargall.com/events/2024-10-ocp-global-summit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://stevescargall.com/events/2024-10-ocp-global-summit/</guid><description>&lt;p&gt;The Memory Fabric Forum is hosted by MemVerge and contains a full day of talks from leaders in the Memory space. Slides and replay of the recordings are available.&lt;/p&gt;</description></item><item><title>Ready to build your next project with Hugo?</title><link/><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid/><description/></item><item><title>SNIA Compute, Memory, and Storage Summit</title><link>https://stevescargall.com/events/2024-05-snia-cms-summit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://stevescargall.com/events/2024-05-snia-cms-summit/</guid><description>&lt;p&gt;Now in its 12th year, the Summit brings together the leading experts on the current and future topics in the compute, memory, and storage ecosystem, including AI, cloud, CXL, future trends, sustainability, and storage networking in an interactive setting. Check out our great list of speakers below. You won&amp;rsquo;t want to miss a memory keynote by Jim Handy and Tom Coughlin, a CXL Consortium update, a full track presented by the SNIA Data Networking Storage Forum, and much, much more!&lt;/p&gt;</description></item><item><title>SNIA Storage Developer Conference - CXL for AI/ML</title><link>https://stevescargall.com/events/2024-11-snia-sdc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://stevescargall.com/events/2024-11-snia-sdc/</guid><description>&lt;p&gt;This session dives into the practical applications of CXL for AI/ML. We&amp;rsquo;ll explore how CXL Memory Expansion, Pooling, and Sharing can boost performance by breaking traditional memory barriers. As memory demands skyrocket in the era of large language models, CXL emerges as a game-changing technology to overcome traditional memory constraints. Join us for a practical guide packed with insights showcasing CXL, where you will learn about:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The State of the CXL Software Ecosphere&lt;/li&gt;
&lt;li&gt;Benchmarking CPU, Memory, and GPUs&lt;/li&gt;
&lt;li&gt;Memory Placement and Movement Strategies for application optimization&lt;/li&gt;
&lt;li&gt;The Importance of Memory in AI/ML Workloads&lt;/li&gt;
&lt;li&gt;Retrieval Augmented Generation (RAG) Pipelines&lt;/li&gt;
&lt;li&gt;And much, much more!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Don&amp;rsquo;t miss this opportunity to gain a competitive edge in AI. Learn how to harness the full potential of CXL and take your AI/ML workloads to unprecedented levels of performance and efficiency.&lt;/p&gt;</description></item><item><title>Steve Scargall</title><link>https://stevescargall.com/authors/steve-scargall/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://stevescargall.com/authors/steve-scargall/</guid><description>&lt;p&gt;Steve Scargall is a Senior Product Manager and Software Architect at MemVerge , delivering software-defined memory solutions using Compute Express Link (CXL) devices. Steve works with industry leaders in the CXL hardware vendor, Original Equipment Manufacturers (OEMs), Cloud Service Providers (CSPs), Enterprise, and System Integrator spaces to architect cutting-edge solutions. Steve holds a bachelor’s degree in BSc Applied Computer Science and Cybernetics from the University of Reading, UK. He has made significant contributions to the SNIA NVM Programming Technical Work Group, PMDK, NDCTL, IPMCTL, and other memory-centric open-source projects. Steve is the author of &lt;a href="https://amzn.to/49WxVRf"




 target="_blank"
 


&gt;Programming Persistent Memory: A Comprehensive Guide for Developers&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Storage Developer Conference (SDC)</title><link>https://stevescargall.com/events/2023-11-storage-developer-conference/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://stevescargall.com/events/2023-11-storage-developer-conference/</guid><description/></item><item><title>SuperComputing Conference (SC22)</title><link>https://stevescargall.com/events/2022-11-supercomputing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://stevescargall.com/events/2022-11-supercomputing/</guid><description>&lt;p&gt;A huge ecosystem of vendors is working to make the CXL vision a reality, and the place to learn about the status of their progress is a CXL Forum event. A cross-section of compute, storage, networking, system, and software vendors, as well as users, are represented at each event for a 360 degree of CXL technology and market development.&lt;/p&gt;
&lt;p&gt;In addition to a full day of presentations, during breaks you will be able to check out live demonstrations of a Memory Viewer to see all the memory in a fabric, CXL Memory Pooling systems that replace swap-to-storage with shared memory, the Gismo (Global IO-free Shared Memory Object) software that replaces internode cluster traffic with shared memory, and a CXL Flight Simulator that allows developers to get started without CXL hardware.&lt;/p&gt;</description></item><item><title>SuperComputing Conference (SC23)</title><link>https://stevescargall.com/events/2023-11-supercomputing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://stevescargall.com/events/2023-11-supercomputing/</guid><description/></item><item><title>SuperComputing Conference (SC24)</title><link>https://stevescargall.com/events/2024-11-supercomputing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://stevescargall.com/events/2024-11-supercomputing/</guid><description>&lt;p&gt;The CXL Consortium will be on-site at Supercomputing 2024 (SC24) to demonstrate how CXL technology solves memory bottlenecks for memory-intensive and memory-elastic workloads while also enhancing AI / ML workloads with expanded memory access. Our member companies are excited to showcase CXL solutions available in the market today capable of addressing performance gaps between compute and memory.&lt;/p&gt;</description></item><item><title>Supermicro Open Storage Summit - How CXL Enables New Use Cases for Storage and Servers</title><link>https://stevescargall.com/events/2024-10-supermicro-open-storage-summit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://stevescargall.com/events/2024-10-supermicro-open-storage-summit/</guid><description>&lt;p&gt;Rob Strechay, principal analyst at theCUBE Research, was joined by Puneet Anand, senior product manager of storage systems at Super Micro Computer; Anil Godbole, Xeon CXL strategy and marketing manager at Intel; Andrey Kudryavtsev, senior manager of CXL business development at Micron Technology; and Steve Scargall, director of product management for CXL and AI at MemVerge, during the Supermicro Open Storage Summit, powered by Supermicro, Intel, AMD and Nvidia.&lt;/p&gt;</description></item><item><title>Tech Field Day 27 (TFD27)</title><link>https://stevescargall.com/events/2023-03-tech-field-day/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://stevescargall.com/events/2023-03-tech-field-day/</guid><description/></item><item><title>The Future of Memory and Storage (FMS)</title><link>https://stevescargall.com/events/2024-08-future-memory-storage/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://stevescargall.com/events/2024-08-future-memory-storage/</guid><description>&lt;p&gt;FMS: the Future of Memory and Storage has expanded the scope of Flash Memory Summit to encompass all tiers of Memory and Storage. As a leading global independent conference and exhibition, FMS is now in its 18th year, offering enhanced support to the industry. Serving as a centralized hub for professional growth, industry connections, and customer engagement, FMS provides a comprehensive platform for all stakeholders in the field.&lt;/p&gt;</description></item><item><title>What Users Are Saying About Hugoplate</title><link/><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid/><description/></item></channel></rss>