[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v6 10/15] x86/boot: implement early command line parser in C



On Mon, Sep 19, 2016 at 10:03:08AM -0600, Jan Beulich wrote:
> >>> On 19.09.16 at 17:27, <daniel.kiper@xxxxxxxxxx> wrote:
> > On Mon, Sep 19, 2016 at 06:47:50AM -0600, Jan Beulich wrote:
> >> >>> On 12.09.16 at 22:18, <daniel.kiper@xxxxxxxxxx> wrote:
> >
> > [...]
> >
> >> > --- a/xen/arch/x86/boot/trampoline.S
> >> > +++ b/xen/arch/x86/boot/trampoline.S
> >> > @@ -220,8 +220,22 @@ trampoline_boot_cpu_entry:
> >> >          /* Jump to the common bootstrap entry point. */
> >> >          jmp     trampoline_protmode_entry
> >> >
> >> > +#include "video.h"
> >> > +
> >> > +        .align  2
> >> > +        .byte   0
> >>
> >> While this odd placement of the requested padding byte will fulfill
> >> the immediate purpose, please do it the originally requested more
> >> conventional way (putting it inside the structure and adding a
> >> respective field to the C representation). For someone wanting to
> >> add another field it'll then be far more obvious what to do without
> >> re-introducing mis-alignment.
> >
> > OK, however, I am still thinking how to automatically synchronize C and
> > assembly early_boot_opts struct definitions or generate one from another.
> > This way we can avoid __packed attribute and probably do not care about
> > member alignments at all. Do you have an idea how to do that?
>
> I would have ideas, but I think they're all not really suitable for this
> little bit of data. If we had this problem in a more widespread manner,
> then perhaps. But we're actually aiming at reducing the amount of
> assembly language use.

OK, I will leave it as is with some adjustments suggested by you earlier.
Out of curiosity, could you outline in a few words your idea?

Daniel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.