[SLOF] RFC: cp codes

Dinar Valeev k0da at opensuse.org
Tue Feb 16 05:57:17 AEDT 2016


On 15 Feb 2016 19:09, "Thomas Huth" <thuth at redhat.com> wrote:
>
> On 10.02.2016 13:19, Thomas Huth wrote:
> > On 10.02.2016 01:33, Alexey Kardashevskiy wrote:
> >> On 02/09/2016 11:54 PM, Dinar Valeev wrote:
> >>> On Mon, Feb 8, 2016 at 6:50 PM, Thomas Huth <thuth at redhat.com> wrote:
> >>>> On 08.02.2016 15:10, Dinar Valeev wrote:
> >>>>> Hi,
> >>>>>
> >>>>> I have long standing issue with SLOF. During start SLOF prints cp
> >>>>> codes with backspace:
> >>>>>
https://github.com/aik/SLOF/blob/master/lib/libbootmsg/bootmsg_lvl.S#L61-L64
> >>>>>
> >>>>> We start a VM and record log, this is fine. But then when we look at
> >>>>> the log through WebUI, because of backspace, Mozilla thinks this is
a
> >>>>> binary file.
> >>>>>
> >>>>> At devconf I discussed this with Thomas, and he proposed to use
nvram
> >>>>> variable here. But it seems QEMU's --prom-env seems to be OpenBIOS
> >>>>> specific.
> >>>>>
> >>>>> Any comments for bring --prom-env support to SLOF? Or are there
other
> >>>>> options I can use,
> >>>>> to change libbootmsg behaviour?
> > ...
> >>>> So I'd suggest to introduce a new environment variable into
> >>>> slof/fs/envvar_defaults.fs and then check the contents of the
variable
> >>>> during the "cp" Forth function, so that it only prints the
backslashes
> >>>> if the envvar has the right value.
> >>>
> >>> Yep. Did it. But it seems a problem is envvar initialized a way after
> >>> we start printing cp codes.
> >
> > Oh, I see, envvar.fs is included very late in OF.fs. You could try to
> > move it to an earlier spot, but I guess that will break the boot due to
> > various dependencies between the Forth files, e.g. SLOF likely has to
> > parse the flattened device tree from QEMU first to know how to access
> > the NVRAM ... :-/
> >
> > The only other possibility to pass information to SLOF is currently the
> > flattened device tree from QEMU - but that likely also does not work
> > here since fdt.fs is also included quite late in OF.fs.
>
> Just a completely different idea, but would the following patch also fix
> your issue?
Hi, thanks I'll give it a try. But only in a week. I'm in the middle of
nowhere with very limited internet access.

My test case would be:
osc co openSUSE: Factory:PowerPC/some-dummy-package

osc build --vm-type kvm

The open saved log with Firefox.

About plugins, I'm already using something called open with. But my
intention to fix it for all users who might access logs from OBS.
>
> diff --git a/lib/libbootmsg/bootmsg_lvl.S b/lib/libbootmsg/bootmsg_lvl.S
> index 2e4c135..14ce4bf 100644
> --- a/lib/libbootmsg/bootmsg_lvl.S
> +++ b/lib/libbootmsg/bootmsg_lvl.S
> @@ -58,10 +58,8 @@ ENTRY(bootmsg_cp)
>         bl      io_putchar      // print character
>         mr      r3, r9
>         bl      io_printhex16   // print checkpoint ID
> -       .rept   5
> -       li      r3,'\b'
> -       bl      io_putchar      // print backspaces
> -       .endr
> +       li      r3,'\r'
> +       bl      io_putchar      // go back
>         mtlr    r11
>         blr
>
> Replacing 5 '\b's with one '\r' should IMHO be ok here since the
> checkpoints should always be printed at the beginning of a line...
>
>  Thomas
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/slof/attachments/20160215/e082819e/attachment.html>


More information about the SLOF mailing list