On 05/07/2018 03:47 PM, Jan Kiszka wrote:
> On 2018-05-07 15:42, Ralf Ramsauer wrote:
>> On 05/07/2018 03:37 PM, Jan Kiszka wrote:
>>> On 2018-05-07 14:12, Ralf Ramsauer wrote:
>>>> Or fail by setting the cell's state and halt.
>>>>
>>>> Signed-off-by: Ralf Ramsauer <[email protected]>
>>>> ---
>>>>  inmates/lib/setup.c | 11 +++++++++++
>>>>  1 file changed, 11 insertions(+)
>>>>
>>>> diff --git a/inmates/lib/setup.c b/inmates/lib/setup.c
>>>> index ed35b6f8..be651696 100644
>>>> --- a/inmates/lib/setup.c
>>>> +++ b/inmates/lib/setup.c
>>>> @@ -4,6 +4,17 @@ void __attribute__((noreturn)) c_entry(void);
>>>>  
>>>>  void __attribute__((noreturn)) c_entry(void)
>>>>  {
>>>> +  /* check if the ABI version of the communication region matches */
>>>> +  if (comm_region->revision != COMM_REGION_ABI_REVISION ||
>>>> +          memcmp(comm_region->signature, COMM_REGION_MAGIC,
>>>> +                 sizeof(comm_region->signature))) {
>>>> +                  comm_region->cell_state =
>>>> +                          JAILHOUSE_CELL_FAILED_COMM_REV;
>>>> +                  goto spin;
>>>> +          }
>>>> +
>>>> +
>>>>    inmate_main();
>>>> +spin:
>>>>    spin_forever();
>>>>  }
>>>>
>>>
>>> if (a || b)
>>>     state = failed;
>>> else
>>>     inmate_main;
>>
>> Makes sense for the moment, but later I'll add console_init() as well.
>> Do you want to have all the initialisation in the else path?
> 
> Err, console_init() is done on demand, when the first printk is issued.
> No printk in the inmate, no console code in the binary. Actually also no
> UART code...

Puh... This would get us rid of that nasty if (inited) check in printk.c :-)

Hmm. I get your point, but if no console is provided or required (e.g.,
the linux loader), then console_init() won't initialise anything. Is it
really all about keeping inmate size low?

As far as i see, the linux loader is the only inmate that has no output,
so we save just a few bytes of uart code before we jump to a Linux image
with the size of several megabytes.

  Ralf

> 
> Jan
> 

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to