// © 2021 Qualcomm Innovation Center, Inc. All rights reserved. // // SPDX-License-Identifier: BSD-3-Clause extend cap_rights_thread bitfield { 0 power bool; 1 affinity bool; 2 priority bool; 3 timeslice bool; 5 bind_virq bool; 6 state bool; 7 lifecycle bool; 8 write_context bool; 9 disable bool; }; define vcpu_trap_result enumeration { unhandled; emulated; retry; fault; }; define vcpu_virq_type public enumeration(explicit) { vcpu_run_wakeup = 1; }; define vcpu_poweroff_flags public bitfield<64> { 0 last_vcpu bool; others unknown=0; }; define vcpu_register_set public enumeration(explicit) { // All values are arch-specific }; // Relevant modules (such as the debug module) need to extend this bitfield // and add their configuration flags for the hypercall_vcpu_configure // hypercall. Then in their thread_activate handlers they need to check the // values of these flags and act on them. define vcpu_option_flags public bitfield<64> { 0 pinned bool = 0; 8 critical bool = 0; others unknown = 0; }; // Private vcpu flags for modules to consolidate runtime boolean flags. // // For VCPUs that have not yet been activated, this bitfield is protected by // the VCPU's object state lock. Otherwise, it must only be accessed from the // VCPU's own context. define vcpu_runtime_flags bitfield<32> { others unknown = 0; }; define vcpu_poweron_flags public bitfield<64> { 0 preserve_entry_point bool; 1 preserve_context bool; others unknown=0; };