On Fri, Jan 20, 2023 at 05:15:48PM +1100, Benjamin Herrenschmidt wrote: > On Thu, 2023-01-19 at 18:31 +0100, Daniel Kiper wrote: > > > > Sadly your patch set broke various builds including x86-ieee1275 one. I had > > to do some tweaks to make it work again. You can find most important ones > > below. Please double check I have not messed up something. > > Oh, sorry about that. I didn't know there even was such a thing as x86- > ieee1275. Is there an easy way to run / test all those builds ? A
Yeah, I was surprised too when I saw it first time... :-) > script or service somewhere ? ./configure --target=i386 --with-platform=ieee1275 ... Sadly we do not have any script yet. However, the INSTALL file has quite good description how to setup a cross-platform build environment. > > diff --git a/grub-core/term/ieee1275/serial.c > > b/grub-core/term/ieee1275/serial.c > > index afbe8dcda..0e4cac4c4 100644 > > --- a/grub-core/term/ieee1275/serial.c > > +++ b/grub-core/term/ieee1275/serial.c > > @@ -228,7 +228,7 @@ add_port (struct ofserial_hash_ent *ent) > > return NULL; > > > > FOR_SERIAL_PORTS (port) > > - if (port->ent == ent) > > + if (port->elem == ent) > > return port; > > Right. > > > port = grub_zalloc (sizeof (*port)); > > @@ -252,7 +252,7 @@ add_port (struct ofserial_hash_ent *ent) > > return port; > > } > > > > -const struct grub_serial_port * > > +struct grub_serial_port * > > grub_ofserial_add_port (const char *path) > > { > > struct ofserial_hash_ent *ent; > > diff --git a/grub-core/term/ns8250-spcr.c b/grub-core/term/ns8250-spcr.c > > index 01533d969..d101bffb5 100644 > > --- a/grub-core/term/ns8250-spcr.c > > +++ b/grub-core/term/ns8250-spcr.c > > @@ -16,6 +16,8 @@ > > * along with GRUB. If not, see <http://www.gnu.org/licenses/>. > > */ > > > > +#if !defined(GRUB_MACHINE_IEEE1275) && !defined(GRUB_MACHINE_QEMU) > > + > > #include <grub/serial.h> > > #include <grub/ns8250.h> > > #include <grub/types.h> > > @@ -82,3 +84,5 @@ grub_ns8250_spcr_init (void) > > return NULL; > > }; > > } > > This is the rule for ACPI ? Or is something else problematic ? No > particular objection here, just wondering. IIRC this is due to lack of support for ACPI on some platforms. > > + > > +#endif > > diff --git a/grub-core/term/serial.c b/grub-core/term/serial.c > > index 81abd570c..c65ffc63c 100644 > > --- a/grub-core/term/serial.c > > +++ b/grub-core/term/serial.c > > @@ -209,6 +209,8 @@ grub_serial_find (const char *name) > > if (port != NULL) > > return port; > > } > > + > > +#if (defined(__i386__) || defined(__x86_64__)) && > > !defined(GRUB_MACHINE_IEEE1275) && !defined(GRUB_MACHINE_QEMU) > > Ok. > > > if (grub_strcmp (name, "auto") == 0) > > { > > /* Look for an SPCR if any. If not, default to com0. */ > > @@ -220,6 +222,7 @@ grub_serial_find (const char *name) > > return port; > > } > > #endif > > +#endif > > > > #ifdef GRUB_MACHINE_IEEE1275 > > if (grub_strncmp (name, "ieee1275/", sizeof ("ieee1275/") - 1) == 0) > > diff --git a/include/grub/ieee1275/console.h > > b/include/grub/ieee1275/console.h > > index bdd98fe06..a8094d381 100644 > > --- a/include/grub/ieee1275/console.h > > +++ b/include/grub/ieee1275/console.h > > @@ -28,7 +28,7 @@ void grub_console_init_lately (void); > > /* Finish the console system. */ > > void grub_console_fini (void); > > > > -const char * > > +struct grub_serial_port * > > grub_ofserial_add_port (const char *name); > > > Yeah, I didn't try building ieee1275, my fault. Sorry about that. Your > changes seem fine to me. No problem. Thanks a lot for checking this. Daniel _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel