// Copyright 2022 Google LLC // // 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. // Kata OS ProcessManager services. import ; import ; import ; import ; import ; import ; component ProcessManager { provides PackageManagementInterface pkg_mgmt; provides ProcessControlInterface proc_ctrl; maybe uses LoggerInterface logger; uses MemoryInterface memory; uses SecurityCoordinatorInterface security; uses SDKManagerInterface sdk_manager; // Enable KataOS CAmkES support. attribute int kataos = true; // Process creation requires enough slots to hold dynamically // allocated memory when constructing the application. This // can be multiple megabytes so size for 4MB / 4KB pages. attribute int cnode_headroom = 1024; // Arrange for global objects to be instantiated in our CSpace // (typically by moving them from the rootserver). Capabilities // are exposed with global static symbols. attribute int asid_pool = true; // ASID_POOL attribute int sched_ctrl = true; // SCHED_CTRL attribute int domain_ctrl = true; // DOMANI_CTRL // Copyregions for loading bundle images and for loading an application. // These need to be separate because they are used concurrently. has copyregion BUNDLE_IMAGE; has copyregion LOAD_APPLICATION; }