static void flash_preserve_state(void) { struct flash_wp_state state; state.entire_flash_locked = entire_flash_locked; system_add_jump_tag(FLASH_SYSJUMP_TAG, FLASH_HOOK_VERSION, sizeof(state), &state); }
static void pwm_kblight_preserve_state(void) { struct pwm_kbd_state state; state.kblight_en = pwm_get_enabled(PWM_CH_KBLIGHT); state.kblight_percent = pwm_get_duty(PWM_CH_KBLIGHT); system_add_jump_tag(PWMKBD_SYSJUMP_TAG, PWM_HOOK_VERSION, sizeof(state), &state); }
static void usb_charge_preserve_state(void) { struct usb_state state; state.port_mode[0] = charge_mode[0]; state.port_mode[1] = charge_mode[1]; system_add_jump_tag(USB_SYSJUMP_TAG, USB_HOOK_VERSION, sizeof(state), &state); }
static int vboot_hash_preserve_state(void) { struct vboot_hash_tag tag; /* If we haven't finished our hash, nothing to save */ if (!hash) return EC_SUCCESS; memcpy(tag.hash, hash, sizeof(tag.hash)); tag.offset = data_offset; tag.size = data_size; system_add_jump_tag(VBOOT_HASH_SYSJUMP_TAG, VBOOT_HASH_SYSJUMP_VERSION, sizeof(tag), &tag); return EC_SUCCESS; }
/** * Preserve event masks across a sysjump. */ static void lpc_sysjump(void) { lpc_task_disable_irq(); /* Disable protect for Win 1 and 2. */ NPCX_WIN_WR_PROT(0) = 0; NPCX_WIN_WR_PROT(1) = 0; NPCX_WIN_RD_PROT(0) = 0; NPCX_WIN_RD_PROT(1) = 0; /* Reset base address for Win 1 and 2. */ NPCX_WIN_BASE(0) = 0xfffffff8; NPCX_WIN_BASE(1) = 0xfffffff8; system_add_jump_tag(LPC_SYSJUMP_TAG, 1, sizeof(event_mask), event_mask); }
/** * Preserve event masks across a sysjump. */ static void lpc_sysjump(void) { system_add_jump_tag(LPC_SYSJUMP_TAG, 1, sizeof(event_mask), event_mask); }
static void usb_port_preserve_state(void) { system_add_jump_tag(USB_SYSJUMP_TAG, USB_HOOK_VERSION, sizeof(state), &state); }