Hi Zhi,
> index 945ee6ffd0..abb2e874b2 100644 > --- a/include/hw/cxl/cxl_component.h > +++ b/include/hw/cxl/cxl_component.h > @@ -268,6 +268,9 @@ uint8_t cxl_interleave_ways_enc(int iw, Error **errp); > int cxl_interleave_ways_dec(uint8_t iw_enc, Error **errp); > uint8_t cxl_interleave_granularity_enc(uint64_t gran, Error **errp); > > +bool cxl_host_addr_to_dpa(CXLComponentState *cxl_cstate, hwaddr host_addr, > + uint64_t *dpa); > + Other than this being a really odd place to put it (in the middle of interleave granularity functions. This change seems like a logical enough change without the reuse. Also, I'm carrying a patch for 3/6/12 way support so I've merged this on top of that in general interest of reducing patches flying around when then are reasonable on their own. Jonathan > hwaddr cxl_decode_ig(int ig); > > CXLComponentState *cxl_get_hb_cstate(PCIHostState *hb);