grub-devel
[Top][All Lists]
Advanced

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

Re: [coreboot] RFC: Changing CBMEM console to run as a persistent ring-b


From: Vladimir 'phcoder' Serbinenko
Subject: Re: [coreboot] RFC: Changing CBMEM console to run as a persistent ring-buffer
Date: Tue, 25 Apr 2017 18:25:49 +0000



On Tue, Apr 25, 2017, 20:15 Julius Werner <address@hidden> wrote:
I'm very concerned with compatibility. You can't guarantee that coreboot and payload match. And in case of mismatch you get a memory corruption that is very hard to trace. Can we please change signature of cbmem entry?

I would rather allow older implementations to continue working as best as possible. Changing the signature would mean that an old payload (or 'cbmem' command line tool, etc.) couldn't interoperate at all with the console. The changes I made are as backwards-compatible as possible: in many cases (e.g. before the console rolled over once) the old payload will continue working just fine. If the console did roll over, the old payload can no longer append lines and may print existing contents out of order. It will never access invalid memory, though. (You may have been worried about bit 31 I'm setting in the "cursor" field, but all existing implementations were already required to check (cursor < size) before trusting the cursor to be accessible since the old console would continue counting characters even after the buffer filled up.) 
Did you check that all implementations use unsigned?
 
You mentioned having trouble building GRUB. Can you detail those?
What do you mean by not having hardware supported by grub-coreboot? Grub-coreboot should work on all coreboot-supported boards.

I am able to build it, I just had to figure out how and install some dependencies. But I tried booting it on an HP Chromebook 14 2013 (falco) and it doesn't seem to recognize my keyboard
Is it PS2 or USB? Is at_keyboard included in the payload?
and will reboot a few seconds after displaying the GRUB console. (Most of the devices I have are ARM unfortunately, which I'm assuming it doesn't support since all the coreboot code is in i386 directories?
Arm is in separate branch due to freeze.
 even if it did, it probably wouldn't have a keyboard driver for them either. I assume there's no way to make it run over the UART instead?)
terminal_input serial_com0
terminal_output serial_com0
In etc/grub.cfg

Possibly the problem is that some module hangs. Can you try minimal GRUB without non-essential modules?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]