mirror of
https://github.com/edera-dev/krata.git
synced 2025-08-03 21:21:32 +00:00
more hvm work
This commit is contained in:
@ -23,7 +23,7 @@ async fn main() -> Result<()> {
|
|||||||
mem_mb: 512,
|
mem_mb: 512,
|
||||||
kernel: fs::read(&kernel_image_path).await?,
|
kernel: fs::read(&kernel_image_path).await?,
|
||||||
initrd: fs::read(&initrd_path).await?,
|
initrd: fs::read(&initrd_path).await?,
|
||||||
cmdline: "console=hvc0 debug earlyprintk=xen,keep loglevel=10".to_string(),
|
cmdline: "earlyprintk=xen earlycon=xen console=hvc0 init=/init".to_string(),
|
||||||
swap_console_backend: None,
|
swap_console_backend: None,
|
||||||
disks: vec![],
|
disks: vec![],
|
||||||
channels: vec![],
|
channels: vec![],
|
||||||
|
@ -169,12 +169,7 @@ impl XenClient {
|
|||||||
created: &CreateDomain,
|
created: &CreateDomain,
|
||||||
config: &DomainConfig,
|
config: &DomainConfig,
|
||||||
) -> Result<CreatedDomain> {
|
) -> Result<CreatedDomain> {
|
||||||
trace!(
|
trace!("XenClient init domid={} domain={:?}", domid, created,);
|
||||||
"XenClient init domid={} domain={:?} config={:?}",
|
|
||||||
domid,
|
|
||||||
created,
|
|
||||||
config
|
|
||||||
);
|
|
||||||
let backend_dom_path = self.store.get_domain_path(0).await?;
|
let backend_dom_path = self.store.get_domain_path(0).await?;
|
||||||
let dom_path = self.store.get_domain_path(domid).await?;
|
let dom_path = self.store.get_domain_path(domid).await?;
|
||||||
let uuid_string = Uuid::from_bytes(created.handle).to_string();
|
let uuid_string = Uuid::from_bytes(created.handle).to_string();
|
||||||
|
@ -108,7 +108,6 @@ impl XsdClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async fn write<P: AsRef<str>>(&self, tx: u32, path: P, data: Vec<u8>) -> Result<bool> {
|
async fn write<P: AsRef<str>>(&self, tx: u32, path: P, data: Vec<u8>) -> Result<bool> {
|
||||||
trace!("write tx={tx} path={} data={:?}", path.as_ref(), data);
|
|
||||||
let mut buffer = Vec::new();
|
let mut buffer = Vec::new();
|
||||||
let path = CString::new(path.as_ref())?;
|
let path = CString::new(path.as_ref())?;
|
||||||
buffer.extend_from_slice(path.as_bytes_with_nul());
|
buffer.extend_from_slice(path.as_bytes_with_nul());
|
||||||
@ -120,6 +119,11 @@ impl XsdClient {
|
|||||||
response.parse_bool()
|
response.parse_bool()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async fn write_string<P: AsRef<str>>(&self, tx: u32, path: P, data: &str) -> Result<bool> {
|
||||||
|
trace!("write tx={tx} path={} data=\"{}\"", path.as_ref(), data);
|
||||||
|
self.write(tx, path, data.as_bytes().to_vec()).await
|
||||||
|
}
|
||||||
|
|
||||||
async fn mkdir<P: AsRef<str>>(&self, tx: u32, path: P) -> Result<bool> {
|
async fn mkdir<P: AsRef<str>>(&self, tx: u32, path: P) -> Result<bool> {
|
||||||
trace!("mkdir tx={tx} path={}", path.as_ref());
|
trace!("mkdir tx={tx} path={}", path.as_ref());
|
||||||
self.socket
|
self.socket
|
||||||
@ -247,7 +251,7 @@ impl XsdInterface for XsdClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async fn write_string<P: AsRef<str>>(&self, path: P, data: &str) -> Result<bool> {
|
async fn write_string<P: AsRef<str>>(&self, path: P, data: &str) -> Result<bool> {
|
||||||
self.write(0, path, data.as_bytes().to_vec()).await
|
self.write_string(0, path, data).await
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn mkdir<P: AsRef<str>>(&self, path: P) -> Result<bool> {
|
async fn mkdir<P: AsRef<str>>(&self, path: P) -> Result<bool> {
|
||||||
@ -287,9 +291,7 @@ impl XsdInterface for XsdTransaction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async fn write_string<P: AsRef<str>>(&self, path: P, data: &str) -> Result<bool> {
|
async fn write_string<P: AsRef<str>>(&self, path: P, data: &str) -> Result<bool> {
|
||||||
self.client
|
self.client.write_string(self.tx, path, data).await
|
||||||
.write(self.tx, path, data.as_bytes().to_vec())
|
|
||||||
.await
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn mkdir<P: AsRef<str>>(&self, path: P) -> Result<bool> {
|
async fn mkdir<P: AsRef<str>>(&self, path: P) -> Result<bool> {
|
||||||
|
@ -356,6 +356,7 @@ CONFIG_X86_X2APIC=y
|
|||||||
# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
|
# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
|
||||||
CONFIG_IOSF_MBI=m
|
CONFIG_IOSF_MBI=m
|
||||||
# CONFIG_IOSF_MBI_DEBUG is not set
|
# CONFIG_IOSF_MBI_DEBUG is not set
|
||||||
|
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
|
||||||
CONFIG_SCHED_OMIT_FRAME_POINTER=y
|
CONFIG_SCHED_OMIT_FRAME_POINTER=y
|
||||||
CONFIG_HYPERVISOR_GUEST=y
|
CONFIG_HYPERVISOR_GUEST=y
|
||||||
CONFIG_PARAVIRT=y
|
CONFIG_PARAVIRT=y
|
||||||
@ -422,7 +423,12 @@ CONFIG_SCHED_MC_PRIO=y
|
|||||||
CONFIG_X86_LOCAL_APIC=y
|
CONFIG_X86_LOCAL_APIC=y
|
||||||
CONFIG_X86_IO_APIC=y
|
CONFIG_X86_IO_APIC=y
|
||||||
# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
|
# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
|
||||||
# CONFIG_X86_MCE is not set
|
CONFIG_X86_MCE=y
|
||||||
|
# CONFIG_X86_MCELOG_LEGACY is not set
|
||||||
|
CONFIG_X86_MCE_INTEL=y
|
||||||
|
CONFIG_X86_MCE_AMD=y
|
||||||
|
CONFIG_X86_MCE_THRESHOLD=y
|
||||||
|
# CONFIG_X86_MCE_INJECT is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Performance monitoring
|
# Performance monitoring
|
||||||
@ -506,7 +512,7 @@ CONFIG_HOTPLUG_CPU=y
|
|||||||
# CONFIG_LEGACY_VSYSCALL_XONLY is not set
|
# CONFIG_LEGACY_VSYSCALL_XONLY is not set
|
||||||
CONFIG_LEGACY_VSYSCALL_NONE=y
|
CONFIG_LEGACY_VSYSCALL_NONE=y
|
||||||
CONFIG_CMDLINE_BOOL=y
|
CONFIG_CMDLINE_BOOL=y
|
||||||
CONFIG_CMDLINE="earlyprintk=xen,keep debug loglevel=10"
|
CONFIG_CMDLINE="earlyprintk=xen earlycon=xen console=hvc0 init=/bin/sh"
|
||||||
CONFIG_CMDLINE_OVERRIDE=y
|
CONFIG_CMDLINE_OVERRIDE=y
|
||||||
CONFIG_MODIFY_LDT_SYSCALL=y
|
CONFIG_MODIFY_LDT_SYSCALL=y
|
||||||
# CONFIG_STRICT_SIGALTSTACK_SIZE is not set
|
# CONFIG_STRICT_SIGALTSTACK_SIZE is not set
|
||||||
@ -1067,6 +1073,8 @@ CONFIG_PCP_BATCH_SCALE_MAX=5
|
|||||||
CONFIG_PHYS_ADDR_T_64BIT=y
|
CONFIG_PHYS_ADDR_T_64BIT=y
|
||||||
CONFIG_KSM=y
|
CONFIG_KSM=y
|
||||||
CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
|
CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
|
||||||
|
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
|
||||||
|
# CONFIG_MEMORY_FAILURE is not set
|
||||||
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
|
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
|
||||||
CONFIG_ARCH_WANTS_THP_SWAP=y
|
CONFIG_ARCH_WANTS_THP_SWAP=y
|
||||||
CONFIG_TRANSPARENT_HUGEPAGE=y
|
CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||||
@ -3128,7 +3136,8 @@ CONFIG_SWIOTLB_XEN=y
|
|||||||
# CONFIG_XEN_PVCALLS_BACKEND is not set
|
# CONFIG_XEN_PVCALLS_BACKEND is not set
|
||||||
CONFIG_XEN_PRIVCMD=y
|
CONFIG_XEN_PRIVCMD=y
|
||||||
# CONFIG_XEN_PRIVCMD_EVENTFD is not set
|
# CONFIG_XEN_PRIVCMD_EVENTFD is not set
|
||||||
# CONFIG_XEN_ACPI_PROCESSOR is not set
|
CONFIG_XEN_ACPI_PROCESSOR=y
|
||||||
|
# CONFIG_XEN_MCE_LOG is not set
|
||||||
CONFIG_XEN_HAVE_PVMMU=y
|
CONFIG_XEN_HAVE_PVMMU=y
|
||||||
CONFIG_XEN_EFI=y
|
CONFIG_XEN_EFI=y
|
||||||
CONFIG_XEN_AUTO_XLATE=y
|
CONFIG_XEN_AUTO_XLATE=y
|
||||||
@ -3235,6 +3244,7 @@ CONFIG_IOMMU_SUPPORT=y
|
|||||||
#
|
#
|
||||||
# Generic IOMMU Pagetable Support
|
# Generic IOMMU Pagetable Support
|
||||||
#
|
#
|
||||||
|
CONFIG_IOMMU_IO_PGTABLE=y
|
||||||
# end of Generic IOMMU Pagetable Support
|
# end of Generic IOMMU Pagetable Support
|
||||||
|
|
||||||
# CONFIG_IOMMU_DEBUGFS is not set
|
# CONFIG_IOMMU_DEBUGFS is not set
|
||||||
@ -3242,7 +3252,7 @@ CONFIG_IOMMU_SUPPORT=y
|
|||||||
CONFIG_IOMMU_DEFAULT_DMA_LAZY=y
|
CONFIG_IOMMU_DEFAULT_DMA_LAZY=y
|
||||||
# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
|
# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
|
||||||
CONFIG_IOMMU_DMA=y
|
CONFIG_IOMMU_DMA=y
|
||||||
# CONFIG_AMD_IOMMU is not set
|
CONFIG_AMD_IOMMU=y
|
||||||
CONFIG_DMAR_TABLE=y
|
CONFIG_DMAR_TABLE=y
|
||||||
CONFIG_INTEL_IOMMU=y
|
CONFIG_INTEL_IOMMU=y
|
||||||
# CONFIG_INTEL_IOMMU_SVM is not set
|
# CONFIG_INTEL_IOMMU_SVM is not set
|
||||||
|
Reference in New Issue
Block a user