Date: Mon, 17 Jul 2023 11:29:20 -0600 From: Warner Losh <imp@bsdimp.com> To: John Baldwin <jhb@freebsd.org> Cc: Konstantin Belousov <kostikbel@gmail.com>, src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 60381fd1ee86 - main - memdesc: Retire MEMDESC_CCB. Message-ID: <CANCZdfoHid=H1Ys_4XTJPfCaifevSoW92nGYXU3Ot=mTT13T%2Bg@mail.gmail.com> In-Reply-To: <65d7d8d8-9f98-abd2-1ce3-ae3a2d3bf111@FreeBSD.org> References: <202307141841.36EIf3f0019403@gitrepo.freebsd.org> <ZLVizUl1Xyo1AQmy@kib.kiev.ua> <65d7d8d8-9f98-abd2-1ce3-ae3a2d3bf111@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--000000000000316b670600b224d2 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Jul 17, 2023 at 11:15=E2=80=AFAM John Baldwin <jhb@freebsd.org> wro= te: > On 7/17/23 8:48 AM, Konstantin Belousov wrote: > > On Fri, Jul 14, 2023 at 06:41:03PM +0000, John Baldwin wrote: > >> The branch main has been updated by jhb: > >> > >> URL: > https://cgit.FreeBSD.org/src/commit/?id=3D60381fd1ee8668ea1e4676a6128883d= 987cab858 > >> > >> commit 60381fd1ee8668ea1e4676a6128883d987cab858 > >> Author: John Baldwin <jhb@FreeBSD.org> > >> AuthorDate: 2023-07-14 18:30:31 +0000 > >> Commit: John Baldwin <jhb@FreeBSD.org> > >> CommitDate: 2023-07-14 18:32:16 +0000 > >> > >> memdesc: Retire MEMDESC_CCB. > >> > >> Instead, change memdesc_ccb to examine the CCB and return a > memdesc of > >> a more generic type describing the data buffer. > > > >> diff --git a/sys/kern/subr_bus_dma.c b/sys/kern/subr_bus_dma.c > >> index 65a08aeba17c..bfaad30b37d3 100644 > >> --- a/sys/kern/subr_bus_dma.c > >> +++ b/sys/kern/subr_bus_dma.c > >> @@ -304,94 +304,6 @@ bus_dmamap_load_ma_triv(bus_dma_tag_t dmat, > bus_dmamap_t map, > >> @@ -566,49 +478,18 @@ bus_dmamap_load_ccb(bus_dma_tag_t dmat, > bus_dmamap_t map, union ccb *ccb, > >> + mem =3D memdesc_ccb(ccb); > >> + return (bus_dmamap_load_mem(dmat, map, &mem, callback, > callback_arg, > >> + flags)); > >> } > > This makes kernel not linkable if CAM is not included into it. > > Hmmm, ok. I can either move the memdesc_ccb routine into sys/kern > somewhere > (like the kern_memdesc.c file in my other pending review), or we can #ifd= ef > this function. It probably doesn't make sense to have a > bus_dmamap_load_ccb > if you don't have CAM, so I think I prefer the second option. > MINIMAL doesn't have CAM configured, but it is loadable as a module. I'd think we'd want a dummy one fo these with weak symbol binding and have the actual one live in cam somewhere that overrides this symbol. I just hit this in building MINIMAL for other reasons.... Warner --000000000000316b670600b224d2 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">= <div dir=3D"ltr" class=3D"gmail_attr">On Mon, Jul 17, 2023 at 11:15=E2=80= =AFAM John Baldwin <<a href=3D"mailto:jhb@freebsd.org">jhb@freebsd.org</= a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0p= x 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On= 7/17/23 8:48 AM, Konstantin Belousov wrote:<br> > On Fri, Jul 14, 2023 at 06:41:03PM +0000, John Baldwin wrote:<br> >> The branch main has been updated by jhb:<br> >><br> >> URL: <a href=3D"https://cgit.FreeBSD.org/src/commit/?id=3D60381fd1= ee8668ea1e4676a6128883d987cab858" rel=3D"noreferrer" target=3D"_blank">http= s://cgit.FreeBSD.org/src/commit/?id=3D60381fd1ee8668ea1e4676a6128883d987cab= 858</a><br> >><br> >> commit 60381fd1ee8668ea1e4676a6128883d987cab858<br> >> Author:=C2=A0 =C2=A0 =C2=A0John Baldwin <jhb@FreeBSD.org><br= > >> AuthorDate: 2023-07-14 18:30:31 +0000<br> >> Commit:=C2=A0 =C2=A0 =C2=A0John Baldwin <jhb@FreeBSD.org><br= > >> CommitDate: 2023-07-14 18:32:16 +0000<br> >><br> >>=C2=A0 =C2=A0 =C2=A0 memdesc: Retire MEMDESC_CCB.<br> >>=C2=A0 =C2=A0 =C2=A0 <br> >>=C2=A0 =C2=A0 =C2=A0 Instead, change memdesc_ccb to examine the CCB= and return a memdesc of<br> >>=C2=A0 =C2=A0 =C2=A0 a more generic type describing the data buffer= .<br> > <br> >> diff --git a/sys/kern/subr_bus_dma.c b/sys/kern/subr_bus_dma.c<br> >> index 65a08aeba17c..bfaad30b37d3 100644<br> >> --- a/sys/kern/subr_bus_dma.c<br> >> +++ b/sys/kern/subr_bus_dma.c<br> >> @@ -304,94 +304,6 @@ bus_dmamap_load_ma_triv(bus_dma_tag_t dmat, b= us_dmamap_t map,<br> >> @@ -566,49 +478,18 @@ bus_dmamap_load_ccb(bus_dma_tag_t dmat, bus_= dmamap_t map, union ccb *ccb,<br> >> +=C2=A0 =C2=A0 mem =3D memdesc_ccb(ccb);<br> >> +=C2=A0 =C2=A0 return (bus_dmamap_load_mem(dmat, map, &mem, ca= llback, callback_arg,<br> >> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 flags));<br> >>=C2=A0 =C2=A0}<br> > This makes kernel not linkable if CAM is not included into it.<br> <br> Hmmm, ok.=C2=A0 I can either move the memdesc_ccb routine into sys/kern som= ewhere<br> (like the kern_memdesc.c file in my other pending review), or we can #ifdef= <br> this function.=C2=A0 It probably doesn't make sense to have a bus_dmama= p_load_ccb<br> if you don't have CAM, so I think I prefer the second option.<br></bloc= kquote><div><br></div><div>MINIMAL doesn't have CAM configured, but it = is loadable as a module.</div><div><br></div><div>I'd think we'd wa= nt a dummy one fo these with weak symbol binding and have the actual</div><= div>one live in cam somewhere that overrides this=C2=A0 symbol.</div><div><= br></div><div>I just hit this in building MINIMAL for other reasons....<br>= </div><div><br></div><div>Warner<br></div></div></div> --000000000000316b670600b224d2--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfoHid=H1Ys_4XTJPfCaifevSoW92nGYXU3Ot=mTT13T%2Bg>