On 10.06.21 18:43, Bram Hooimeijer wrote:
> From c310558edba8441fcb017592d55cb0a09f7f196a Mon Sep 17 00:00:00 2001
> From: Bram Hooimeijer <[email protected]>
> Date: Thu, 10 Jun 2021 17:27:57 +0200
> Subject: [PATCH V2 1/1] inmates/lib: Set cell-state to shutdown in stop()
> 
> Ensures that calls to stop(), defined in the inmate library, set the
> cell-state to shutdown.
> 
> This prevents the cell to be locked but unable to respond due to being
> stuck in the halt() loop. It also ensures that a return to inmate_main()
> shuts down the cell.
> 
> Signed-off-by: Bram Hooimeijer <[email protected]>
> ---
>  inmates/lib/include/inmate_common.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/inmates/lib/include/inmate_common.h 
> b/inmates/lib/include/inmate_common.h
> index 1c20a0af..56cef77d 100644
> --- a/inmates/lib/include/inmate_common.h
> +++ b/inmates/lib/include/inmate_common.h
> @@ -93,6 +93,7 @@ typedef enum { true = 1, false = 0 } bool;
>  static inline void __attribute__((noreturn)) stop(void)
>  {
>       disable_irqs();
> +     comm_region->cell_state = JAILHOUSE_CELL_SHUT_DOWN;
>       halt();
>  }
>  
> 

Unfortunately, this overwrite the CELL_FAILED set in x86's
exception_handler(), e.g.

Which call paths were you addressing? Either move into the paths that
miss to set the state or add a test for CELL_RUNNING/_LOCKED before
setting to SHUT_DOWN here.

Jan

-- 
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jailhouse-dev/335fc8fb-9e9e-eae0-a8ea-81976241468a%40siemens.com.

Reply via email to