/* Responds to 16/32-bit write-protected data word write command from secondary CPU system */
void IPCRtoLDataWrite_Protected(tIpcMessage *psMessage)
/* Responds to 16/32-bit write-protected data word write command from secondary CPU system */
void IPCRtoLDataWrite_Protected(tIpcMessage *psMessage)
{
    uint16_t length = (uint16_t) psMessage->uldataw1;
    uint32_t responseFlag = (psMessage->uldataw1) & 0xFFFF0000;
    EALLOW;
    if (length == IPC_LENGTH_16_BITS)
    {
        *(uint16_t *)(psMessage->uladdress) = (uint16_t)psMessage->uldataw2;
    }
    else if (length == IPC_LENGTH_32_BITS)
    {
        *(uint32_t *)(psMessage->uladdress) = psMessage->uldataw2;
    }
    EDIS;
    IpcRegs.IPCCLR.all |= responseFlag;
}