Re: git: ad34121518bb - main - Revert "pst: improve shutdown_post_sync handler"
Date: Tue, 28 Nov 2023 17:20:49 UTC
Maybe f97aab79868cd7d891c52b14bd964523fa56f015 fixes this? Warner On Tue, Nov 28, 2023 at 10:11 AM Baptiste Daroussin <bapt@freebsd.org> wrote: > i386 kernel is still broken :( > > /home/bapt/worktrees/main/sys/dev/pst/pst-raid.c:185:9: error: incomplete > definition of type 'struct thread' > > Best regards, > Bapt > > > On Sat, Nov 25, 2023 at 08:51:36AM +0100, Baptiste Daroussin wrote: > > Kernel building for i386 is broken now and pkgbase builders do complain, > can > > anyone have a look? > > > > Best regards, > > Bapt > > > > On Thu, Nov 23, 2023 at 10:09:35PM +0100, Mateusz Guzik wrote: > > > i386 kernel is going down, i suggest just dropping the patch > > > > > > On 11/23/23, Mitchell Horne <mhorne@freebsd.org> wrote: > > > > The branch main has been updated by mhorne: > > > > > > > > URL: > > > > > https://cgit.FreeBSD.org/src/commit/?id=ad34121518bb7e1a38d4a6b1ccf9ca6fe298dd0a > > > > > > > > commit ad34121518bb7e1a38d4a6b1ccf9ca6fe298dd0a > > > > Author: Mitchell Horne <mhorne@FreeBSD.org> > > > > AuthorDate: 2023-11-23 19:46:28 +0000 > > > > Commit: Mitchell Horne <mhorne@FreeBSD.org> > > > > CommitDate: 2023-11-23 19:48:44 +0000 > > > > > > > > Revert "pst: improve shutdown_post_sync handler" > > > > > > > > I did not realize this driver was i386-only, and the change > fails to > > > > compile. Revert so that I can fix it properly. > > > > > > > > This reverts commit 428ebb7cd9f51afb6809bf81cf21a05e0fd93ff4. > > > > > > > > Pointy hat to: mhorne > > > > --- > > > > sys/dev/pst/pst-iop.c | 2 +- > > > > sys/dev/pst/pst-raid.c | 14 +++++--------- > > > > 2 files changed, 6 insertions(+), 10 deletions(-) > > > > > > > > diff --git a/sys/dev/pst/pst-iop.c b/sys/dev/pst/pst-iop.c > > > > index 43ced2401d2c..f9921a564333 100644 > > > > --- a/sys/dev/pst/pst-iop.c > > > > +++ b/sys/dev/pst/pst-iop.c > > > > @@ -432,7 +432,7 @@ iop_queue_wait_msg(struct iop_softc *sc, int > mfa, struct > > > > i2o_basic_message *msg) > > > > int status, timeout = 10000; > > > > > > > > mtx_lock(&sc->mtx); > > > > - if ((sc->reg->oqueue_intr_mask & I20_OUT_INTR_QUEUE) == 0) { > > > > + if (!(sc->reg->oqueue_intr_mask & 0x08)) { > > > > msg->transaction_context = (u_int32_t)&request; > > > > msg->initiator_context = (u_int32_t)iop_done; > > > > sc->reg->iqueue = mfa; > > > > diff --git a/sys/dev/pst/pst-raid.c b/sys/dev/pst/pst-raid.c > > > > index 4f9279462ee8..4e9c4fb724bc 100644 > > > > --- a/sys/dev/pst/pst-raid.c > > > > +++ b/sys/dev/pst/pst-raid.c > > > > @@ -73,7 +73,7 @@ struct pst_request { > > > > static disk_strategy_t pststrategy; > > > > static int pst_probe(device_t); > > > > static int pst_attach(device_t); > > > > -static void pst_shutdown_post_sync(device_t, int); > > > > +static int pst_shutdown(device_t); > > > > static void pst_start(struct pst_softc *); > > > > static void pst_done(struct iop_softc *, u_int32_t, struct > i2o_single_reply > > > > *); > > > > static int pst_rw(struct pst_request *); > > > > @@ -170,23 +170,18 @@ pst_attach(device_t dev) > > > > name, psc->info->capacity/(512*255*63), 255, 63, > > > > device_get_nameunit(psc->iop->dev)); > > > > > > > > - EVENTHANDLER_REGISTER(shutdown_post_sync, > pst_shutdown_post_sync, > > > > + EVENTHANDLER_REGISTER(shutdown_post_sync, pst_shutdown, > > > > dev, SHUTDOWN_PRI_FIRST); > > > > return 0; > > > > } > > > > > > > > -static void > > > > -pst_shutdown_post_sync(device_t dev, int howto __unused) > > > > +static int > > > > +pst_shutdown(device_t dev) > > > > { > > > > struct pst_softc *psc = device_get_softc(dev); > > > > struct i2o_bsa_cache_flush_message *msg; > > > > int mfa; > > > > > > > > - if (SCHEDULER_STOPPED()) { > > > > - /* Request polled shutdown. */ > > > > - psc->reg->oqueue_intr_mask = 0xffffffff; > > > > - } > > > > - > > > > mfa = iop_get_mfa(psc->iop); > > > > msg = (struct i2o_bsa_cache_flush_message *)(psc->iop->ibase + > mfa); > > > > bzero(msg, sizeof(struct i2o_bsa_cache_flush_message)); > > > > @@ -199,6 +194,7 @@ pst_shutdown_post_sync(device_t dev, int howto > > > > __unused) > > > > msg->control_flags = 0x0; /* 0x80 = post progress reports */ > > > > if (iop_queue_wait_msg(psc->iop, mfa, (struct i2o_basic_message > > > > *)msg)) > > > > printf("pst: shutdown failed!\n"); > > > > + return 0; > > > > } > > > > > > > > static void > > > > > > > > > > > > > > > > > -- > > > Mateusz Guzik <mjguzik gmail.com> > > > > > >