LCM-Server and Client Concept#

The Life Cycle Manager (LCM) client-server architecture manages power state transitions and lifecycle events in a DriveOS environment. This framework ensures coordinated system-level and Virtual Machine-level operations during boot, shutdown, suspend, resume, and special power modes like surveillance. In addition, it manages the functional state of the Guest OS by interacting with NvDVMS.

LCM Server#

The LCM Server is the central coordinator for system-level lifecycle management.

Key Characteristics:

  • Runs on a privileged guest Virtual Machine (either Linux or QNX). If a privileged Virtual Machine is rebooted, the entire SoC must be power-cycled.

  • Interacts with all LCM-Clients in the Guest OS, FSI, and MCU. It also interacts with PM Server (via the library interface provided in the privileged Guest OS).

  • Acts as the central coordinator for system-level lifecycle management.

  • Collects Guest Virtual Machine functional state information from all LCM Clients and broadcasts transitions as needed.

  • Initiates SoC operational mode (SOC_OP) transitions such as shutdown, suspend, or surveillance mode.

  • Communicates with MCU and FSI (Safety processor) for system-level events and fail-safe operations.

  • Monitors Virtual Machine health and performs corrective actions.

LCM Client#

The LCM Client manages Virtual Machine level lifecycle operations.

Key Characteristics:

  • Runs within each Guest OS, MCU and FSI (and optionally AuxP).

  • Interfaces with user applications to manage initialization, various Virtual Machine power state, and functional state transitions.

  • Interacts with NvDVMS to request functional state and power state transition within a Guest OS (for Linux and QNX cases).

  • Handles Virtual Machine level lifecycle actions such as:

    • Init Completion (INIT_DONE)

    • Suspend Virtual Machine

    • Resume After Suspend

    • DeInit for Suspend

    • Deinit for Shutdown

    • Operational state of Virtual Machine

  • Publishes Virtual Machine state to the LCM Server and receives system-level power transition messages.

  • Responds to heartbeat checks for health monitoring.