-- -- Copyright 2023 The Android Open Source Project -- -- Licensed under the Apache License, Version 2.0 (the "License"); -- you may not use this file except in compliance with the License. -- You may obtain a copy of the License at -- -- https://www.apache.org/licenses/LICENSE-2.0 -- -- Unless required by applicable law or agreed to in writing, software -- distributed under the License is distributed on an "AS IS" BASIS, -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- See the License for the specific language governing permissions and -- limitations under the License. -- -- Events when CPU entered hypervisor. -- -- @column slice_id Id of the corresponding slice in slices table. -- @column cpu CPU that entered hypervisor. -- @column ts Timestamp when CPU entered hypervisor (in nanoseconds). -- @column dur How much time CPU spent in hypervisor (in nanoseconds). -- @column reason Reason for entering hypervisor (e.g. host_hcall, host_mem_abort), or NULL if unknown. CREATE VIEW pkvm_hypervisor_events AS SELECT slices.id as slice_id, cpu_track.cpu as cpu, slices.ts as ts, slices.dur as dur, EXTRACT_ARG(slices.arg_set_id, 'hyp_enter_reason') as reason FROM slices JOIN cpu_track ON cpu_track.id = slices.track_id WHERE slices.category = 'pkvm_hyp'