sysreg-sr.c 807 B

1234567891011121314151617181920212223242526272829303132333435
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * Copyright (C) 2012-2015 - ARM Ltd
  4. * Author: Marc Zyngier <[email protected]>
  5. */
  6. #include <hyp/sysreg-sr.h>
  7. #include <linux/compiler.h>
  8. #include <linux/kvm_host.h>
  9. #include <asm/kprobes.h>
  10. #include <asm/kvm_asm.h>
  11. #include <asm/kvm_emulate.h>
  12. #include <asm/kvm_hyp.h>
  13. /*
  14. * Non-VHE: Both host and guest must save everything.
  15. */
  16. void __sysreg_save_state_nvhe(struct kvm_cpu_context *ctxt)
  17. {
  18. __sysreg_save_el1_state(ctxt);
  19. __sysreg_save_common_state(ctxt);
  20. __sysreg_save_user_state(ctxt);
  21. __sysreg_save_el2_return_state(ctxt);
  22. }
  23. void __sysreg_restore_state_nvhe(struct kvm_cpu_context *ctxt)
  24. {
  25. __sysreg_restore_el1_state(ctxt);
  26. __sysreg_restore_common_state(ctxt);
  27. __sysreg_restore_user_state(ctxt);
  28. __sysreg_restore_el2_return_state(ctxt);
  29. }