> Added the following... > > /** > * add_cxl_resources() - reflect CXL fixed memory windows in iomem_resource > * @cxl_res: A standalone resource tree where each CXL window is a sibling > * > * Walk each CXL window in @cxl_res and add it to iomem_resource potentially > * expanding its boundaries to ensure that any conflicting resources become > * children. If a window is expanded it may then conflict with a another window > * entry and require the window to be truncated or trimmed. Consider this > * situation: > * > * |-- "CXL Window 0" --||----- "CXL Window 1" -----| > * |--------------- "System RAM" -------------| > * > * ...where platform firmware has established as System RAM resource across 2 > * windows, but has left some portion of window 1 for dynamic CXL region > * provisioning. In this case "Window 0" will span the entirety of the "System > * RAM" span, and "CXL Window 1" is truncated to the remaining tail past the end > * of that "System RAM" resource. > */ Very nice. Thanks! J