diff --git a/404.html b/404.html index 512d12ba6..1ce5b3eaf 100644 --- a/404.html +++ b/404.html @@ -5,7 +5,7 @@ -
© Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC. +
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC. -Last updated on Jun 05, 2020. Published on Aug 10, 2023 +Last updated on 6月 05, 2020. Published on 8月 05, 2024
© Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC. +
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC. -Last updated on Jun 05, 2020. Published on Aug 10, 2023 +Last updated on 6月 05, 2020. Published on 8月 05, 2024
© Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC. +
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC. -Last updated on Feb 27, 2022. Published on Aug 10, 2023 +Last updated on 2月 27, 2022. Published on 8月 05, 2024
VM event architecture: +——————————————————+ | Service VM | | +————————-—+ | | | DM +—————–—+ | | | | | [ event source ] | | | | | +-+————+–—+ | | | | | (eventfd) |(sbuf) | | | | v v | | | | +————————+ | (socket) +———+ | | | | [event deliver logic] |-+——-—>| Libvirt | | | | +————————+ | +———+ | | | ^ ^ | | | +—-—|————|—-—+ | | | (eventfd) | (sbuf) | +———|————|—————————-—+ +———|————|—————————-—+ | kernel [HSM] | | | ^ | | +———|————|—————————-—+ |upcall | +———+————+—————————-—+ | HV [ event source ] | +——————————————————+
+For event sources in HV
HV puts the event in the shared ring sbuf.
The hypervisor notifies the service VM via upcall.
HSM in the service VM notifies device model via eventfd.
The device model fetches and handles events from the shared ring sbuf. For event sources in DM
DM puts the event in the DM event ring sbuf.
DM notifies event delivery logic via eventfd.
The event delivery logic fetches and handles events from the DM event ring sbuf.
vcpu – Pointer to vCPU that initiates the hypercall
target_vm – Pointer to target VM data structure
param1 – guest physical memory address. This gpa points to struct acrn_vm_creation
param1 – guest physical memory address. This gpa points to struct acrn_vm_creation
param2 – not used
vcpu – not used
target_vm – which VM the asyncio belongs.
param1 – guest physical address. This gpa points to struct acrn_asyncio_info
param1 – guest physical address. This gpa points to struct acrn_asyncio_info
param2 – not used
vcpu – not used
target_vm – which VM the asyncio belongs.
param1 – guest physical address. This gpa points to struct acrn_asyncio_info
param1 – guest physical address. This gpa points to struct acrn_asyncio_info
param2 – not used
vcpu – Pointer to vCPU that initiates the hypercall
target_vm – not used
param1 – guest physical address. This gpa points to struct hv_npk_log_param
param1 – guest physical address. This gpa points to struct hv_npk_log_param
param2 – not used
vcpu – Pointer to vCPU that initiates the hypercall
target_vm – not used
param1 – Guest physical address pointing to struct acrn_hw_info
param1 – Guest physical address pointing to struct acrn_hw_info
param2 – not used
© Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC. +
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC. -Last updated on Feb 27, 2022. Published on Aug 10, 2023 +Last updated on 2月 27, 2022. Published on 8月 05, 2024
© Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC. +
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC. -Last updated on Jul 14, 2021. Published on Aug 10, 2023 +Last updated on 7月 14, 2021. Published on 8月 05, 2024
© Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC. +
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC. -Last updated on Nov 22, 2022. Published on Aug 10, 2023 +Last updated on 11月 22, 2022. Published on 8月 05, 2024
© Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC. +
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC. -Last updated on Nov 22, 2021. Published on Aug 10, 2023 +Last updated on 11月 22, 2021. Published on 8月 05, 2024 diff --git a/latest/develop.html b/latest/develop.html index 8b1af96e2..5843697a6 100644 --- a/latest/develop.html +++ b/latest/develop.html @@ -4,7 +4,7 @@ -
© Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC. +
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC. -Last updated on Nov 16, 2022. Published on Aug 10, 2023 +Last updated on 7月 17, 2024. Published on 8月 05, 2024
© Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC. +
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC. -Last updated on Jul 15, 2022. Published on Aug 10, 2023 +Last updated on 7月 15, 2022. Published on 8月 05, 2024
© Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC. +
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC. -Last updated on Aug 03, 2023. Published on Aug 10, 2023 +Last updated on 8月 03, 2023. Published on 8月 05, 2024
© Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC. +
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC. -Last updated on May 10, 2021. Published on Aug 10, 2023 +Last updated on 5月 10, 2021. Published on 8月 05, 2024
© Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC. +
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC. -Last updated on Mar 18, 2022. Published on Aug 10, 2023 +Last updated on 3月 18, 2022. Published on 8月 05, 2024 diff --git a/latest/developer-guides/doc_guidelines.html b/latest/developer-guides/doc_guidelines.html index be14aaf52..0452519ec 100644 --- a/latest/developer-guides/doc_guidelines.html +++ b/latest/developer-guides/doc_guidelines.html @@ -4,7 +4,7 @@ -
.. code-block:: c
- struct _k_object {
- char *name;
- u8_t perms[CONFIG_MAX_THREAD_BYTES];
- u8_t type;
- u8_t flags;
- u32_t data;
- } __packed;
+ struct _k_object {
+ char *name;
+ u8_t perms[CONFIG_MAX_THREAD_BYTES];
+ u8_t type;
+ u8_t flags;
+ u32_t data;
+ } __packed;
Note that there is a blank line between the code-block
directive and the
first line of the code-block body, and the body content is indented three
spaces (to the first non-blank space of the directive name).
This example would render as:
-struct _k_object {
- char *name;
- u8_t perms[CONFIG_MAX_THREAD_BYTES];
- u8_t type;
- u8_t flags;
- u32_t data;
-} __packed;
+struct _k_object {
+ char *name;
+ u8_t perms[CONFIG_MAX_THREAD_BYTES];
+ u8_t type;
+ u8_t flags;
+ u32_t data;
+} __packed;
You can specify other languages for the code-block
directive, including
@@ -1393,10 +1412,10 @@
Configuration Option Documentation<xs:element name="BUILD_TYPE" type="BuildType" default="debug">
- <xs:annotation acrn:title="Build type" acrn:views="basic">
- <xs:documentation>Identify build type. Debug mode enables debug shell, prints, and logs. Release mode optimizes the ACRN binary for deployment and turns off all debug infrastructure. These can only be changed at build time.</xs:documentation>
- </xs:annotation>
+<xs:element name="BUILD_TYPE" type="BuildType" default="debug">
+ <xs:annotation acrn:title="Build type" acrn:views="basic">
+ <xs:documentation>Identify build type. Debug mode enables debug shell, prints, and logs. Release mode optimizes the ACRN binary for deployment and turns off all debug infrastructure. These can only be changed at build time.</xs:documentation>
+ </xs:annotation>
</xs:element>
@@ -1431,9 +1450,9 @@ Documentation Generation
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Apr 28, 2022. Published on Aug 10, 2023
+Last updated on 4月 28, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/graphviz.html b/latest/developer-guides/graphviz.html
index 5b8bfb2b3..e49288249 100644
--- a/latest/developer-guides/graphviz.html
+++ b/latest/developer-guides/graphviz.html
@@ -4,7 +4,7 @@
- Drawings Using Graphviz — Project ACRN™ 3.2-unstable documentation
+ Drawings Using Graphviz — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -911,9 +930,9 @@ Finite-State Machine
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Feb 18, 2022. Published on Aug 10, 2023
+Last updated on 2月 18, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/ahci-hld.html b/latest/developer-guides/hld/ahci-hld.html
index b8bc27134..08f333fd0 100644
--- a/latest/developer-guides/hld/ahci-hld.html
+++ b/latest/developer-guides/hld/ahci-hld.html
@@ -4,7 +4,7 @@
- AHCI Virtualization in Device Model — Project ACRN™ 3.2-unstable documentation
+ AHCI Virtualization in Device Model — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -784,9 +803,9 @@
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on May 20, 2021. Published on Aug 10, 2023
+Last updated on 5月 20, 2021. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/atkbdc-virt-hld.html b/latest/developer-guides/hld/atkbdc-virt-hld.html
index 20d112483..bee400732 100644
--- a/latest/developer-guides/hld/atkbdc-virt-hld.html
+++ b/latest/developer-guides/hld/atkbdc-virt-hld.html
@@ -4,7 +4,7 @@
- AT Keyboard Controller Emulation — Project ACRN™ 3.2-unstable documentation
+ AT Keyboard Controller Emulation — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
acrn-dm -m 2048M \
- -s 0:0,hostbridge \
- -s 1:0,lpc -l com1,stdio \
- -s 5,virtio-console,@pty:pty_port \
- -s 3,virtio-blk,/home/acrn/UserVM.img \
- -s 4,virtio-net,tap=LaaG \
- --acpidev_pt MSFT0101,00 \
- --intr_monitor 10000,10,1,100 \
- -B "root=/dev/vda2 rw rootwait maxcpus=3 nohpet console=hvc0 \
+acrn-dm -m 2048M \
+ -s 0:0,hostbridge \
+ -s 1:0,lpc -l com1,stdio \
+ -s 5,virtio-console,@pty:pty_port \
+ -s 3,virtio-blk,/home/acrn/UserVM.img \
+ -s 4,virtio-net,tap=LaaG \
+ --acpidev_pt MSFT0101,00 \
+ --intr_monitor 10000,10,1,100 \
+ -B "root=/dev/vda2 rw rootwait maxcpus=3 nohpet console=hvc0 \
console=ttyS0 no_timer_check ignore_loglevel log_buf_len=16M \
consoleblank=0 tsc=reliable \
i915.enable_hangcheck=0 i915.nuclear_pageflip=1 \
- i915.enable_guc=0" vm1
+ i915.enable_guc=0" vm1
@@ -928,59 +947,59 @@ DM Initialization * 4: lowmem part2 - 0x80000000 (reserved) 0x0
* 5: 0xE0000000 - 0x100000000 MCFG, MMIO 512MB
* 6: HIGHRAM_START_ADDR - mmio64 start RAM ctx->highmem
- */
+ */
VM Loop Thread: DM kicks this VM loop thread to create an I/O request client for the DM, runs the VM, and enters the I/O request handling loop:
-vm_loop(struct vmctx *ctx)
-{
- int error;
+vm_loop(struct vmctx *ctx)
+{
+ int error;
- ctx->ioreq_client = vm_create_ioreq_client(ctx);
- if (ctx->ioreq_client < 0) {
- pr_err("%s, failed to create IOREQ.\n", __func__);
- return;
- }
+ ctx->ioreq_client = vm_create_ioreq_client(ctx);
+ if (ctx->ioreq_client < 0) {
+ pr_err("%s, failed to create IOREQ.\n", __func__);
+ return;
+ }
- if (vm_run(ctx) != 0) {
- pr_err("%s, failed to run VM.\n", __func__);
- return;
- }
+ if (vm_run(ctx) != 0) {
+ pr_err("%s, failed to run VM.\n", __func__);
+ return;
+ }
- while (1) {
- int vcpu_id;
- struct acrn_io_request *io_req;
+ while (1) {
+ int vcpu_id;
+ struct acrn_io_request *io_req;
- error = vm_attach_ioreq_client(ctx);
- if (error)
- break;
+ error = vm_attach_ioreq_client(ctx);
+ if (error)
+ break;
- for (vcpu_id = 0; vcpu_id < guest_ncpus; vcpu_id++) {
- io_req = &ioreq_buf[vcpu_id];
- if ((atomic_load(&io_req->processed) == ACRN_IOREQ_STATE_PROCESSING)
- && !io_req->kernel_handled)
- handle_vmexit(ctx, io_req, vcpu_id);
- }
+ for (vcpu_id = 0; vcpu_id < guest_ncpus; vcpu_id++) {
+ io_req = &ioreq_buf[vcpu_id];
+ if ((atomic_load(&io_req->processed) == ACRN_IOREQ_STATE_PROCESSING)
+ && !io_req->kernel_handled)
+ handle_vmexit(ctx, io_req, vcpu_id);
+ }
- if (VM_SUSPEND_FULL_RESET == vm_get_suspend_mode() ||
- VM_SUSPEND_POWEROFF == vm_get_suspend_mode()) {
- break;
- }
+ if (VM_SUSPEND_FULL_RESET == vm_get_suspend_mode() ||
+ VM_SUSPEND_POWEROFF == vm_get_suspend_mode()) {
+ break;
+ }
- /* RTVM can't be reset */
- if ((VM_SUSPEND_SYSTEM_RESET == vm_get_suspend_mode()) && (!is_rtvm)) {
- vm_system_reset(ctx);
- }
+ /* RTVM can't be reset */
+ if ((VM_SUSPEND_SYSTEM_RESET == vm_get_suspend_mode()) && (!is_rtvm)) {
+ vm_system_reset(ctx);
+ }
- if (VM_SUSPEND_SUSPEND == vm_get_suspend_mode()) {
- vm_suspend_resume(ctx);
- }
- }
- pr_err("VM loop exit\n");
-}
+ if (VM_SUSPEND_SUSPEND == vm_get_suspend_mode()) {
+ vm_suspend_resume(ctx);
+ }
+ }
+ pr_err("VM loop exit\n");
+}
@@ -1232,21 +1251,21 @@ PIO Handler RegisterThis should be references to API documentation in
devicemodel/include/inout.h
.
struct inout_port {
- const char *name;
- int port;
- int size;
- int flags;
- inout_func_t handler;
- void *arg;
-};
+struct inout_port {
+ const char *name;
+ int port;
+ int size;
+ int flags;
+ inout_func_t handler;
+ void *arg;
+};
A PIO emulation handler is defined as:
/*
* inout emulation handlers return 0 on success and -1 on failure.
- */
-typedef int (*inout_func_t)(struct vmctx *ctx, int vcpu, int in, int port, int bytes, uint32_t *eax, void *arg);
+ */
+typedef int (*inout_func_t)(struct vmctx *ctx, int vcpu, int in, int port, int bytes, uint32_t *eax, void *arg);
The DM pre-registers the PIO emulation handlers through the macro
@@ -1263,8 +1282,8 @@
PIO Handler Register }; \
DATA_SET(inout_port_set, __CONCAT(__inout_port, __LINE__))
-int register_inout(struct inout_port *iop);
-int unregister_inout(struct inout_port *iop);
+int register_inout(struct inout_port *iop);
+int unregister_inout(struct inout_port *iop);
An MMIO range structure is defined below. As with PIO, it’s the parameter needed to register an MMIO handler for a special MMIO range:
-struct mem_range {
- const char *name;
- int flags;
- mem_func_t handler;
- void *arg1;
- long arg2;
- uint64_t base;
- uint64_t size;
-};
+struct mem_range {
+ const char *name;
+ int flags;
+ mem_func_t handler;
+ void *arg1;
+ long arg2;
+ uint64_t base;
+ uint64_t size;
+};
An MMIO emulation handler is defined as:
-typedef int (*mem_func_t)(struct vmctx *ctx, int vcpu, int dir, uint64_t addr,
- int size, uint64_t *val, void *arg1, long arg2);
+typedef int (*mem_func_t)(struct vmctx *ctx, int vcpu, int dir, uint64_t addr,
+ int size, uint64_t *val, void *arg1, long arg2);
The DM needs to call the register_mem()
function to register its emulated
device’s MMIO handler:
-int register_mem(struct mem_range *memp);
-int unregister_mem(struct mem_range *memp);
+int register_mem(struct mem_range *memp);
+int unregister_mem(struct mem_range *memp);
@@ -1301,13 +1320,13 @@ CFG SPACE Handler Registerint emulate_pci_cfgrw(struct vmctx *ctx, int vcpu, int in, int bus, int slot,
- int func, int reg, int bytes, int *value)
-{
- pci_cfgrw(ctx, vcpu, in, bus, slot, func, reg,
- bytes, (uint32_t *)value);
- return 0;
-}
+int emulate_pci_cfgrw(struct vmctx *ctx, int vcpu, int in, int bus, int slot,
+ int func, int reg, int bytes, int *value)
+{
+ pci_cfgrw(ctx, vcpu, in, bus, slot, func, reg,
+ bytes, (uint32_t *)value);
+ return 0;
+}
@@ -1317,22 +1336,22 @@ Interrupt Interface/* Generate one msi interrupt to User VM, the index parameter indicates
- * the msi number from its PCI msi capability. */
-void pci_generate_msi(struct pci_vdev *pi, int index);
+ * the msi number from its PCI msi capability. */
+void pci_generate_msi(struct pci_vdev *pi, int index);
/* Generate one msix interrupt to User VM, the index parameter indicates
- * the msix number from its PCI msix bar. */
-void pci_generate_msix(struct pci_vdev *pi, int index);
+ * the msix number from its PCI msix bar. */
+void pci_generate_msix(struct pci_vdev *pi, int index);
-/* Assert INTx interrupt line to high or low. */
-void pci_lintr_assert(struct pci_vdev *pi);
-void pci_lintr_deassert(struct pci_vdev *pi);
+/* Assert INTx interrupt line to high or low. */
+void pci_lintr_assert(struct pci_vdev *pi);
+void pci_lintr_deassert(struct pci_vdev *pi);
/* Request and release the INTx interrupt resource.
* This API will try to find one best INTx pin of this PCI slot and
- * set the "Interrupt pin" field of PCI config space. */
-void pci_lintr_request(struct pci_vdev *pi);
-void pci_lintr_release(struct pci_vdev *pi);
+ * set the "Interrupt pin" field of PCI config space. */
+void pci_lintr_request(struct pci_vdev *pi);
+void pci_lintr_release(struct pci_vdev *pi);
@@ -1349,39 +1368,39 @@ PIRQ Routingpci_lintr_route() to emulate this PIRQ routing:
-static void
-pci_lintr_route(struct pci_vdev *dev)
-{
- struct businfo *bi;
- struct intxinfo *ii;
+static void
+pci_lintr_route(struct pci_vdev *dev)
+{
+ struct businfo *bi;
+ struct intxinfo *ii;
- if (dev->lintr.pin == 0)
- return;
+ if (dev->lintr.pin == 0)
+ return;
- bi = pci_businfo[dev->bus];
- assert(bi != NULL);
- ii = &bi->slotinfo[dev->slot].si_intpins[dev->lintr.pin - 1];
+ bi = pci_businfo[dev->bus];
+ assert(bi != NULL);
+ ii = &bi->slotinfo[dev->slot].si_intpins[dev->lintr.pin - 1];
/*
* Attempt to allocate an I/O APIC pin for this intpin if one
* is not yet assigned.
- */
- if (ii->ii_ioapic_irq == 0)
- ii->ii_ioapic_irq = ioapic_pci_alloc_irq(dev);
- assert(ii->ii_ioapic_irq > 0);
+ */
+ if (ii->ii_ioapic_irq == 0)
+ ii->ii_ioapic_irq = ioapic_pci_alloc_irq(dev);
+ assert(ii->ii_ioapic_irq > 0);
/*
* Attempt to allocate a PIRQ pin for this intpin if one is
* not yet assigned.
- */
- if (ii->ii_pirq_pin == 0)
- ii->ii_pirq_pin = pirq_alloc_pin(dev);
- assert(ii->ii_pirq_pin > 0);
+ */
+ if (ii->ii_pirq_pin == 0)
+ ii->ii_pirq_pin = pirq_alloc_pin(dev);
+ assert(ii->ii_pirq_pin > 0);
- dev->lintr.ioapic_irq = ii->ii_ioapic_irq;
- dev->lintr.pirq_pin = ii->ii_pirq_pin;
- pci_set_cfgdata8(dev, PCIR_INTLINE, pirq_irq(ii->ii_pirq_pin));
-}
+ dev->lintr.ioapic_irq = ii->ii_ioapic_irq;
+ dev->lintr.pirq_pin = ii->ii_pirq_pin;
+ pci_set_cfgdata8(dev, PCIR_INTLINE, pirq_irq(ii->ii_pirq_pin));
+}
The PIRQ routing for IOAPIC and PIC is dealt with differently.
@@ -1455,17 +1474,17 @@ PCI Host Bridge and Hierarchyacrn-dm command-line
input determines the bus hierarchy. Using this command line, as an
example:
-acrn-dm -m 2048M \
- -s 0:0,hostbridge \
- -s 1:0,lpc -l com1,stdio \
- -s 5,virtio-console,@pty:pty_port \
- -s 3,virtio-blk,/home/acrn/UserVM.img \
- -s 4,virtio-net,tap=LaaG \
- -B "root=/dev/vda2 rw rootwait maxcpus=3 nohpet console=hvc0 \
+acrn-dm -m 2048M \
+ -s 0:0,hostbridge \
+ -s 1:0,lpc -l com1,stdio \
+ -s 5,virtio-console,@pty:pty_port \
+ -s 3,virtio-blk,/home/acrn/UserVM.img \
+ -s 4,virtio-net,tap=LaaG \
+ -B "root=/dev/vda2 rw rootwait maxcpus=3 nohpet console=hvc0 \
console=ttyS0 no_timer_check ignore_loglevel log_buf_len=16M \
consoleblank=0 tsc=reliable \
i915.enable_hangcheck=0 i915.nuclear_pageflip=1 \
- i915.enable_guc=0" vm1
+ i915.enable_guc=0" vm1
the bus hierarchy would be:
@@ -1498,7 +1517,7 @@ Introduction$ ls /sys/firmware/acpi/tables/
+$ ls /sys/firmware/acpi/tables/
APIC data DMAR DSDT dynamic FACP FACS HPET MCFG NHLT TPM2
@@ -1520,8 +1539,8 @@ Introductioniasl tool:
-root@:Dom0 ~ $ cp /sys/firmware/acpi/tables/DMAR .
-root@:Dom0 ~ $ iasl -d DMAR
+root@:Dom0 ~ $ cp /sys/firmware/acpi/tables/DMAR .
+root@:Dom0 ~ $ iasl -d DMAR
Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20170728
@@ -1531,7 +1550,7 @@ IntroductionAcpi Data Table [DMAR] decoded
Formatted output: DMAR.dsl - 5286 bytes
-root@:Dom0 ~ $ cat DMAR.dsl
+root@:Dom0 ~ $ cat DMAR.dsl
[000h 0000 4] Signature : "DMAR" [DMA Remapping table]
[004h 0004 4] Table Length : 000000B0
[008h 0008 1] Revision : 01
@@ -1548,7 +1567,7 @@ IntroductionDMAR.dsl and assemble it again to AML:
-root@:Dom0 ~ $ iasl DMAR.dsl
+root@:Dom0 ~ $ iasl DMAR.dsl
Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20170728
Copyright (c) 2000 - 2017 Intel Corporation
@@ -1694,24 +1713,24 @@ ACPI Emulationstatic struct {
- int (*wsect)(FILE *fp, struct vmctx *ctx);
- uint64_t offset;
- bool valid;
-} basl_ftables[] = {
- { basl_fwrite_rsdp, 0, true },
- { basl_fwrite_rsdt, RSDT_OFFSET, true },
- { basl_fwrite_xsdt, XSDT_OFFSET, true },
- { basl_fwrite_madt, MADT_OFFSET, true },
- { basl_fwrite_fadt, FADT_OFFSET, true },
- { basl_fwrite_hpet, HPET_OFFSET, true },
- { basl_fwrite_mcfg, MCFG_OFFSET, true },
- { basl_fwrite_facs, FACS_OFFSET, true },
- { basl_fwrite_nhlt, NHLT_OFFSET, false }, /*valid with audio ptdev*/
- { basl_fwrite_tpm2, TPM2_OFFSET, false },
- { basl_fwrite_psds, PSDS_OFFSET, false }, /*valid when psds present in Service VM */
- { basl_fwrite_dsdt, DSDT_OFFSET, true }
-};
+static struct {
+ int (*wsect)(FILE *fp, struct vmctx *ctx);
+ uint64_t offset;
+ bool valid;
+} basl_ftables[] = {
+ { basl_fwrite_rsdp, 0, true },
+ { basl_fwrite_rsdt, RSDT_OFFSET, true },
+ { basl_fwrite_xsdt, XSDT_OFFSET, true },
+ { basl_fwrite_madt, MADT_OFFSET, true },
+ { basl_fwrite_fadt, FADT_OFFSET, true },
+ { basl_fwrite_hpet, HPET_OFFSET, true },
+ { basl_fwrite_mcfg, MCFG_OFFSET, true },
+ { basl_fwrite_facs, FACS_OFFSET, true },
+ { basl_fwrite_nhlt, NHLT_OFFSET, false }, /*valid with audio ptdev*/
+ { basl_fwrite_tpm2, TPM2_OFFSET, false },
+ { basl_fwrite_psds, PSDS_OFFSET, false }, /*valid when psds present in Service VM */
+ { basl_fwrite_dsdt, DSDT_OFFSET, true }
+};
The main function to create virtual ACPI tables is acpi_build
that calls
@@ -1722,51 +1741,51 @@
ACPI Emulationiasl tool to assemble infile
into outfile
load outfile
contents to the required memory offset
-static int
-basl_compile(struct vmctx *ctx,
- int (*fwrite_section)(FILE *, struct vmctx *),
- uint64_t offset)
-{
- struct basl_fio io[2];
- static char iaslbuf[3*MAXPATHLEN + 10];
- int err;
+static int
+basl_compile(struct vmctx *ctx,
+ int (*fwrite_section)(FILE *, struct vmctx *),
+ uint64_t offset)
+{
+ struct basl_fio io[2];
+ static char iaslbuf[3*MAXPATHLEN + 10];
+ int err;
- err = basl_start(&io[0], &io[1]);
- if (!err) {
- err = (*fwrite_section)(io[0].fp, ctx);
+ err = basl_start(&io[0], &io[1]);
+ if (!err) {
+ err = (*fwrite_section)(io[0].fp, ctx);
- if (!err) {
+ if (!err) {
/*
* iasl sends the results of the compilation to
* stdout. Shut this down by using the shell to
* redirect stdout to /dev/null, unless the user
* has requested verbose output for debugging
* purposes
- */
- if (basl_verbose_iasl)
- snprintf(iaslbuf, sizeof(iaslbuf),
- "%s -p %s %s",
- ASL_COMPILER,
- io[1].f_name, io[0].f_name);
- else
- snprintf(iaslbuf, sizeof(iaslbuf),
- "/bin/sh -c \"%s -p %s %s\" 1> /dev/null",
- ASL_COMPILER,
- io[1].f_name, io[0].f_name);
+ */
+ if (basl_verbose_iasl)
+ snprintf(iaslbuf, sizeof(iaslbuf),
+ "%s -p %s %s",
+ ASL_COMPILER,
+ io[1].f_name, io[0].f_name);
+ else
+ snprintf(iaslbuf, sizeof(iaslbuf),
+ "/bin/sh -c \"%s -p %s %s\" 1> /dev/null",
+ ASL_COMPILER,
+ io[1].f_name, io[0].f_name);
- err = system(iaslbuf);
+ err = system(iaslbuf);
- if (!err) {
+ if (!err) {
/*
* Copy the aml output file into guest
* memory at the specified location
- */
- err = basl_load(ctx, io[1].fd, offset);
- } else
- err = -1;
- }
- basl_end(&io[0], &io[1]);
- }
+ */
+ err = basl_load(ctx, io[1].fd, offset);
+ } else
+ err = -1;
+ }
+ basl_end(&io[0], &io[1]);
+ }
After handling each entry, virtual ACPI tables are present in User VM
@@ -1776,67 +1795,67 @@
ACPI Emulationhw/pci/passthrough.c for this. The following source code
calls different functions to add different contents for each vendor and
device id:
-static void
-passthru_write_dsdt(struct pci_vdev *dev)
-{
- struct passthru_dev *ptdev = (struct passthru_dev *) dev->arg;
- uint32_t vendor = 0, device = 0;
+static void
+passthru_write_dsdt(struct pci_vdev *dev)
+{
+ struct passthru_dev *ptdev = (struct passthru_dev *) dev->arg;
+ uint32_t vendor = 0, device = 0;
- vendor = read_config(ptdev->phys_dev, PCIR_VENDOR, 2);
+ vendor = read_config(ptdev->phys_dev, PCIR_VENDOR, 2);
- if (vendor != 0x8086)
- return;
+ if (vendor != 0x8086)
+ return;
- device = read_config(ptdev->phys_dev, PCIR_DEVICE, 2);
+ device = read_config(ptdev->phys_dev, PCIR_DEVICE, 2);
- /* Provides ACPI extra info */
- if (device == 0x5aaa)
- /* XDCI @ 00:15.1 to enable ADB */
- write_dsdt_xhci(dev);
- else if (device == 0x5ab4)
- /* HDAC @ 00:17.0 as codec */
- write_dsdt_hdac(dev);
- else if (device == 0x5a98)
- /* HDAS @ 00:e.0 */
- write_dsdt_hdas(dev);
- else if (device == 0x5aac)
- /* i2c @ 00:16.0 for ipu */
- write_dsdt_ipu_i2c(dev);
- else if (device == 0x5abc)
- /* URT1 @ 00:18.0 for bluetooth*/
- write_dsdt_urt1(dev);
- else if (device == 0x5aca)
- /* SDC @ 00:1b.0 */
- write_dsdt_sdc(dev);
+ /* Provides ACPI extra info */
+ if (device == 0x5aaa)
+ /* XDCI @ 00:15.1 to enable ADB */
+ write_dsdt_xhci(dev);
+ else if (device == 0x5ab4)
+ /* HDAC @ 00:17.0 as codec */
+ write_dsdt_hdac(dev);
+ else if (device == 0x5a98)
+ /* HDAS @ 00:e.0 */
+ write_dsdt_hdas(dev);
+ else if (device == 0x5aac)
+ /* i2c @ 00:16.0 for ipu */
+ write_dsdt_ipu_i2c(dev);
+ else if (device == 0x5abc)
+ /* URT1 @ 00:18.0 for bluetooth*/
+ write_dsdt_urt1(dev);
+ else if (device == 0x5aca)
+ /* SDC @ 00:1b.0 */
+ write_dsdt_sdc(dev);
-}
+}
For instance, write_dsdt_urt1
provides ACPI contents for a Bluetooth
UART device when passed through to the User VM. It provides the virtual PCI
device/function as _ADR
. With another description, it could be used for
Bluetooth UART enumeration.
-static void
-write_dsdt_urt1(struct pci_vdev *dev)
-{
- printf("write virt-%x:%x.%x in dsdt for URT1 @ 00:18.0\n",
- dev->bus,
- dev->slot,
- dev->func);
- dsdt_line("Device (URT1)");
- dsdt_line("{");
- dsdt_line(" Name (_ADR, 0x%04X%04X)", dev->slot, dev->func);
- dsdt_line(" Name (_DDN, \"Intel(R) HS-UART Controller #1\")");
- dsdt_line(" Name (_UID, One)");
- dsdt_line(" Name (RBUF, ResourceTemplate ()");
- dsdt_line(" {");
- dsdt_line(" })");
- dsdt_line(" Method (_CRS, 0, NotSerialized)");
- dsdt_line(" {");
- dsdt_line(" Return (RBUF)");
- dsdt_line(" }");
- dsdt_line("}");
-}
+static void
+write_dsdt_urt1(struct pci_vdev *dev)
+{
+ printf("write virt-%x:%x.%x in dsdt for URT1 @ 00:18.0\n",
+ dev->bus,
+ dev->slot,
+ dev->func);
+ dsdt_line("Device (URT1)");
+ dsdt_line("{");
+ dsdt_line(" Name (_ADR, 0x%04X%04X)", dev->slot, dev->func);
+ dsdt_line(" Name (_DDN, \"Intel(R) HS-UART Controller #1\")");
+ dsdt_line(" Name (_UID, One)");
+ dsdt_line(" Name (RBUF, ResourceTemplate ()");
+ dsdt_line(" {");
+ dsdt_line(" })");
+ dsdt_line(" Method (_CRS, 0, NotSerialized)");
+ dsdt_line(" {");
+ dsdt_line(" Return (RBUF)");
+ dsdt_line(" }");
+ dsdt_line("}");
+}
@@ -1878,9 +1897,9 @@ Passthrough in Device Model
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Oct 26, 2022. Published on Aug 10, 2023
+Last updated on 10月 26, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/hld-emulated-devices.html b/latest/developer-guides/hld/hld-emulated-devices.html
index 145c57b47..cc2d74fbe 100644
--- a/latest/developer-guides/hld/hld-emulated-devices.html
+++ b/latest/developer-guides/hld/hld-emulated-devices.html
@@ -4,7 +4,7 @@
- Emulated Devices High-Level Design — Project ACRN™ 3.2-unstable documentation
+ Emulated Devices High-Level Design — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -772,9 +791,9 @@
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Mar 18, 2022. Published on Aug 10, 2023
+Last updated on 3月 18, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/hld-hypervisor.html b/latest/developer-guides/hld/hld-hypervisor.html
index 96dfc2869..33861098c 100644
--- a/latest/developer-guides/hld/hld-hypervisor.html
+++ b/latest/developer-guides/hld/hld-hypervisor.html
@@ -4,7 +4,7 @@
- Hypervisor High-Level Design — Project ACRN™ 3.2-unstable documentation
+ Hypervisor High-Level Design — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -776,9 +795,9 @@
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Nov 24, 2021. Published on Aug 10, 2023
+Last updated on 11月 24, 2021. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/hld-overview.html b/latest/developer-guides/hld/hld-overview.html
index 230c03d63..413420c06 100644
--- a/latest/developer-guides/hld/hld-overview.html
+++ b/latest/developer-guides/hld/hld-overview.html
@@ -4,7 +4,7 @@
- ACRN High-Level Design Overview — Project ACRN™ 3.2-unstable documentation
+ ACRN High-Level Design Overview — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
diff --git a/latest/developer-guides/hld/hld-power-management.html b/latest/developer-guides/hld/hld-power-management.html
index 2a8023ad6..8779e2233 100644
--- a/latest/developer-guides/hld/hld-power-management.html
+++ b/latest/developer-guides/hld/hld-power-management.html
@@ -4,7 +4,7 @@
- Power Management High-Level Design — Project ACRN™ 3.2-unstable documentation
+ Power Management High-Level Design — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -753,29 +772,29 @@ ACPI Px/Cx Datastruct cpu_pstate_data {
- uint64_t core_frequency; /* megahertz */
- uint64_t power; /* milliWatts */
- uint64_t transition_latency; /* microseconds */
- uint64_t bus_master_latency; /* microseconds */
- uint64_t control; /* control value */
- uint64_t status; /* success indicator */
-} __attribute__((aligned(8)));
+struct cpu_pstate_data {
+ uint64_t core_frequency; /* megahertz */
+ uint64_t power; /* milliWatts */
+ uint64_t transition_latency; /* microseconds */
+ uint64_t bus_master_latency; /* microseconds */
+ uint64_t control; /* control value */
+ uint64_t status; /* success indicator */
+} __attribute__((aligned(8)));
-struct acrn_acpi_generic_address {
- uint8_t space_id;
- uint8_t bit_width;
- uint8_t bit_offset;
- uint8_t access_size;
- uint64_t address;
-} __attribute__((aligned(8)));
+struct acrn_acpi_generic_address {
+ uint8_t space_id;
+ uint8_t bit_width;
+ uint8_t bit_offset;
+ uint8_t access_size;
+ uint64_t address;
+} __attribute__((aligned(8)));
-struct cpu_cstate_data {
- struct acrn_acpi_generic_address cx_reg;
- uint8_t type;
- uint32_t latency;
- uint64_t power;
-} __attribute__((aligned(8)));
+struct cpu_cstate_data {
+ struct acrn_acpi_generic_address cx_reg;
+ uint8_t type;
+ uint32_t latency;
+ uint64_t power;
+} __attribute__((aligned(8)));
With these Px/Cx data, the Hypervisor is able to intercept the guest’s
@@ -921,9 +940,9 @@
System Low Power State Exit Process
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Mar 18, 2022. Published on Aug 10, 2023
+Last updated on 3月 18, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/hld-security.html b/latest/developer-guides/hld/hld-security.html
index 2c7b7a674..e3c48b76e 100644
--- a/latest/developer-guides/hld/hld-security.html
+++ b/latest/developer-guides/hld/hld-security.html
@@ -4,7 +4,7 @@
- Security High-Level Design — Project ACRN™ 3.2-unstable documentation
+ Security High-Level Design — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -1691,9 +1710,9 @@ TPM 2.0 Virtualization (vTPM)
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Oct 20, 2022. Published on Aug 10, 2023
+Last updated on 10月 20, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/hld-splitlock.html b/latest/developer-guides/hld/hld-splitlock.html
index 31f5dd173..cc7e0a22b 100644
--- a/latest/developer-guides/hld/hld-splitlock.html
+++ b/latest/developer-guides/hld/hld-splitlock.html
@@ -4,7 +4,7 @@
- Handling Split-Locked Access in ACRN — Project ACRN™ 3.2-unstable documentation
+ Handling Split-Locked Access in ACRN — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -880,9 +899,9 @@ Disable Split-Locked Access Detection
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Sep 06, 2022. Published on Aug 10, 2023
+Last updated on 9月 06, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/hld-trace-log.html b/latest/developer-guides/hld/hld-trace-log.html
index 3a6175783..b24826c75 100644
--- a/latest/developer-guides/hld/hld-trace-log.html
+++ b/latest/developer-guides/hld/hld-trace-log.html
@@ -4,7 +4,7 @@
- Tracing and Logging High-Level Design — Project ACRN™ 3.2-unstable documentation
+ Tracing and Logging High-Level Design — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -943,9 +962,9 @@ ACRN Log Application
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Oct 20, 2022. Published on Aug 10, 2023
+Last updated on 10月 20, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/hld-virtio-devices.html b/latest/developer-guides/hld/hld-virtio-devices.html
index ebd572a5a..c9e7917a3 100644
--- a/latest/developer-guides/hld/hld-virtio-devices.html
+++ b/latest/developer-guides/hld/hld-virtio-devices.html
@@ -4,7 +4,7 @@
- Virtio Devices High-Level Design — Project ACRN™ 3.2-unstable documentation
+ Virtio Devices High-Level Design — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -1706,17 +1725,17 @@ VQ APIsstatic void BE_callback(struct pci_virtio_xxx *pv, struct vqueue_info *vq ) {
- while (vq_has_descs(vq)) {
- vq_getchain(vq, &idx, &iov, 1, NULL);
- /* handle requests in iov */
- request_handle_proc();
- /* Release this chain and handle more */
- vq_relchain(vq, idx, len);
- }
- /* Generate interrupt if appropriate. 1 means ring empty \*/
- vq_endchains(vq, 1);
-}
+static void BE_callback(struct pci_virtio_xxx *pv, struct vqueue_info *vq ) {
+ while (vq_has_descs(vq)) {
+ vq_getchain(vq, &idx, &iov, 1, NULL);
+ /* handle requests in iov */
+ request_handle_proc();
+ /* Release this chain and handle more */
+ vq_relchain(vq, idx, len);
+ }
+ /* Generate interrupt if appropriate. 1 means ring empty \*/
+ vq_endchains(vq, 1);
+}
@@ -1838,9 +1857,9 @@ Supported Virtio Devices
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Mar 18, 2022. Published on Aug 10, 2023
+Last updated on 3月 18, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/hostbridge-virt-hld.html b/latest/developer-guides/hld/hostbridge-virt-hld.html
index 4d202c93c..b4257695a 100644
--- a/latest/developer-guides/hld/hostbridge-virt-hld.html
+++ b/latest/developer-guides/hld/hostbridge-virt-hld.html
@@ -4,7 +4,7 @@
- Host Bridge Emulation — Project ACRN™ 3.2-unstable documentation
+ Host Bridge Emulation — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
diff --git a/latest/developer-guides/hld/hv-config.html b/latest/developer-guides/hld/hv-config.html
index 92cc01f3a..13eb0c1f2 100644
--- a/latest/developer-guides/hld/hv-config.html
+++ b/latest/developer-guides/hld/hv-config.html
@@ -4,7 +4,7 @@
- Compile-Time Configuration — Project ACRN™ 3.2-unstable documentation
+ Compile-Time Configuration — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -789,9 +808,9 @@
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Mar 08, 2021. Published on Aug 10, 2023
+Last updated on 3月 08, 2021. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/hv-console.html b/latest/developer-guides/hld/hv-console.html
index 1d9b2c713..3ed624dac 100644
--- a/latest/developer-guides/hld/hv-console.html
+++ b/latest/developer-guides/hld/hv-console.html
@@ -4,7 +4,7 @@
- Hypervisor Console, Hypervisor Shell, and Virtual UART — Project ACRN™ 3.2-unstable documentation
+ Hypervisor Console, Hypervisor Shell, and Virtual UART — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
diff --git a/latest/developer-guides/hld/hv-cpu-virt.html b/latest/developer-guides/hld/hv-cpu-virt.html
index cde07717b..81c2e1bb8 100644
--- a/latest/developer-guides/hld/hv-cpu-virt.html
+++ b/latest/developer-guides/hld/hv-cpu-virt.html
@@ -4,7 +4,7 @@
- CPU Virtualization — Project ACRN™ 3.2-unstable documentation
+ CPU Virtualization — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
ACRN provides the function vcpu_make_request to make different
requests, set the bitmap of the corresponding request, and notify the target
vCPU through the IPI if necessary (when the target vCPU is not
running). See vCPU Request for Interrupt Injection for details.
-void vcpu_make_request(struct vcpu *vcpu, uint16_t eventid)
-{
- uint16_t pcpu_id = pcpuid_from_vcpu(vcpu);
+void vcpu_make_request(struct vcpu *vcpu, uint16_t eventid)
+{
+ uint16_t pcpu_id = pcpuid_from_vcpu(vcpu);
- bitmap_set_lock(eventid, &vcpu->arch_vcpu.pending_req);
+ bitmap_set_lock(eventid, &vcpu->arch_vcpu.pending_req);
/*
* if current hostcpu is not the target vcpu's hostcpu, we need
* to invoke IPI to wake up target vcpu
@@ -1446,11 +1465,11 @@ VM Exit Handlers * global under pCPU / vCPU 1:1 mapping. If later we enabled vcpu
* scheduling, we need change here to determine it target vcpu is
* VMX non-root or root mode
- */
- if (get_cpu_id() != pcpu_id) {
- send_single_ipi(pcpu_id, VECTOR_NOTIFY_VCPU);
- }
-}
+ */
+ if (get_cpu_id() != pcpu_id) {
+ send_single_ipi(pcpu_id, VECTOR_NOTIFY_VCPU);
+ }
+}
The function acrn_handle_pending_request handles each
@@ -2311,9 +2330,9 @@
XSAVE Emulation
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Oct 20, 2022. Published on Aug 10, 2023
+Last updated on 10月 20, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/hv-dev-passthrough.html b/latest/developer-guides/hld/hv-dev-passthrough.html
index d66a960b6..68bd42147 100644
--- a/latest/developer-guides/hld/hv-dev-passthrough.html
+++ b/latest/developer-guides/hld/hv-dev-passthrough.html
@@ -4,7 +4,7 @@
- Device Passthrough — Project ACRN™ 3.2-unstable documentation
+ Device Passthrough — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -1122,24 +1141,24 @@ GSI Sharing Violation Check
Here is an example launch script that configures a supported Ethernet card for
passthrough and enables PTM on it:
-declare -A passthru_vpid
-declare -A passthru_bdf
+declare -A passthru_vpid
+declare -A passthru_bdf
passthru_vpid=(
- ["ethptm"]="8086 15f2"
- )
+ ["ethptm"]="8086 15f2"
+ )
passthru_bdf=(
- ["ethptm"]="0000:aa:00.0"
- )
-echo ${passthru_vpid["ethptm"]} > /sys/bus/pci/drivers/pci-stub/new_id
-echo ${passthru_bdf["ethptm"]} > /sys/bus/pci/devices/${passthru_bdf["ethptm"]}/driver/unbind
-echo ${passthru_bdf["ethptm"]} > /sys/bus/pci/drivers/pci-stub/bind
+ ["ethptm"]="0000:aa:00.0"
+ )
+echo ${passthru_vpid["ethptm"]} > /sys/bus/pci/drivers/pci-stub/new_id
+echo ${passthru_bdf["ethptm"]} > /sys/bus/pci/devices/${passthru_bdf["ethptm"]}/driver/unbind
+echo ${passthru_bdf["ethptm"]} > /sys/bus/pci/drivers/pci-stub/bind
-acrn-dm -m $mem_size -s 0:0,hostbridge \
- -s 3,virtio-blk,user-vm-test.img \
- -s 4,virtio-net,tap=tap0 \
- -s 5,virtio-console,@stdio:stdio_port \
- -s 6,passthru,a9/00/0,enable_ptm \
- --ovmf /usr/share/acrn/bios/OVMF.fd
+acrn-dm -m $mem_size -s 0:0,hostbridge \
+ -s 3,virtio-blk,user-vm-test.img \
+ -s 4,virtio-net,tap=tap0 \
+ -s 5,virtio-console,@stdio:stdio_port \
+ -s 6,passthru,a9/00/0,enable_ptm \
+ --ovmf /usr/share/acrn/bios/OVMF.fd
And here is the bus hierarchy from the User VM (as shown by the lspci
command):
@@ -1193,43 +1212,43 @@ PTM Implementation Notesenable_ptm option to the
passthrough device. For example:
-$ acrn-dm -m $mem_size -s 0:0,hostbridge \
- -s 3,virtio-blk,user-vm-test.img \
- -s 4,virtio-net,tap=tap0 \
- -s 5,virtio-console,@stdio:stdio_port \
- -s 6,passthru,a9/00/0,enable_ptm \
- --ovmf /usr/share/acrn/bios/OVMF.fd \
+$ acrn-dm -m $mem_size -s 0:0,hostbridge \
+ -s 3,virtio-blk,user-vm-test.img \
+ -s 4,virtio-net,tap=tap0 \
+ -s 5,virtio-console,@stdio:stdio_port \
+ -s 6,passthru,a9/00/0,enable_ptm \
+ --ovmf /usr/share/acrn/bios/OVMF.fd \
You can check that PTM is correctly enabled on the post-launched VM by
displaying the PCI bus hierarchy on the post-launched VM using the lspci
command:
-lspci -tv
- -[0000:00]-+-00.0 Network Appliance Corporation Device 1275
- +-03.0 Red Hat, Inc. Virtio block device
- +-04.0 Red Hat, Inc. Virtio network device
- +-05.0 Red Hat, Inc. Virtio console
- \-06.0-[01]----00.0 Intel Corporation Device 15f2
+lspci -tv
+ -[0000:00]-+-00.0 Network Appliance Corporation Device 1275
+ +-03.0 Red Hat, Inc. Virtio block device
+ +-04.0 Red Hat, Inc. Virtio network device
+ +-05.0 Red Hat, Inc. Virtio console
+ \-06.0-[01]----00.0 Intel Corporation Device 15f2
-sudo lspci -vv # (Only relevant output is shown)
- 00:00.0 Host bridge: Network Appliance Corporation Device 1275
- 00:06.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev 02) (prog-if 00 [Normal decode])
- . . .
- Capabilities: [100 v1] Precision Time Measurement
- PTMCap: Requester:- Responder:+ Root:+
- PTMClockGranularity: 4ns
- PTMControl: Enabled:+ RootSelected:+
- PTMEffectiveGranularity: 4ns
- Kernel driver in use: pcieport
- 01:00.0 Ethernet controller: Intel Corporation Device 15f2 (rev 01)
- . . .
- Capabilities: [1f0 v1] Precision Time Measurement
- PTMCap: Requester:+ Responder:- Root:-
- PTMClockGranularity: 4ns
- PTMControl: Enabled:+ RootSelected:-
- PTMEffectiveGranularity: 4ns
- Kernel driver in use: igc
+sudo lspci -vv # (Only relevant output is shown)
+ 00:00.0 Host bridge: Network Appliance Corporation Device 1275
+ 00:06.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev 02) (prog-if 00 [Normal decode])
+ . . .
+ Capabilities: [100 v1] Precision Time Measurement
+ PTMCap: Requester:- Responder:+ Root:+
+ PTMClockGranularity: 4ns
+ PTMControl: Enabled:+ RootSelected:+
+ PTMEffectiveGranularity: 4ns
+ Kernel driver in use: pcieport
+ 01:00.0 Ethernet controller: Intel Corporation Device 15f2 (rev 01)
+ . . .
+ Capabilities: [1f0 v1] Precision Time Measurement
+ PTMCap: Requester:+ Responder:- Root:-
+ PTMClockGranularity: 4ns
+ PTMControl: Enabled:+ RootSelected:-
+ PTMEffectiveGranularity: 4ns
+ Kernel driver in use: igc
@@ -1575,9 +1594,9 @@ API Data Structures and Interfaces
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Oct 26, 2022. Published on Aug 10, 2023
+Last updated on 10月 26, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/hv-hypercall.html b/latest/developer-guides/hld/hv-hypercall.html
index 140fcb5b6..96ead7ae6 100644
--- a/latest/developer-guides/hld/hv-hypercall.html
+++ b/latest/developer-guides/hld/hv-hypercall.html
@@ -4,7 +4,7 @@
- Hypercall / HSM Upcall — Project ACRN™ 3.2-unstable documentation
+ Hypercall / HSM Upcall — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -809,9 +828,9 @@
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Sep 21, 2022. Published on Aug 10, 2023
+Last updated on 9月 21, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/hv-interrupt.html b/latest/developer-guides/hld/hv-interrupt.html
index 85937c2d5..529820537 100644
--- a/latest/developer-guides/hld/hv-interrupt.html
+++ b/latest/developer-guides/hld/hv-interrupt.html
@@ -4,7 +4,7 @@
- Physical Interrupt High-Level Design — Project ACRN™ 3.2-unstable documentation
+ Physical Interrupt High-Level Design — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -973,9 +992,9 @@ IRQ Descriptor Table
For example, if local timer registers an interrupt with IRQ number 254 and
vector 0xEF, then this date will be set up:
-irq_desc[254].irq = 254
-irq_desc[254].vector = 0xEF
-vector_to_irq[0xEF] = 254
+irq_desc[254].irq = 254
+irq_desc[254].vector = 0xEF
+vector_to_irq[0xEF] = 254
@@ -1344,9 +1363,9 @@ Physical Interrupt
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Sep 27, 2022. Published on Aug 10, 2023
+Last updated on 9月 27, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/hv-io-emulation.html b/latest/developer-guides/hld/hv-io-emulation.html
index a1f489758..f0f1aaf4e 100644
--- a/latest/developer-guides/hld/hv-io-emulation.html
+++ b/latest/developer-guides/hld/hv-io-emulation.html
@@ -4,7 +4,7 @@
- I/O Emulation High-Level Design — Project ACRN™ 3.2-unstable documentation
+ I/O Emulation High-Level Design — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
diff --git a/latest/developer-guides/hld/hv-ioc-virt.html b/latest/developer-guides/hld/hv-ioc-virt.html
index 0942a18ff..244b74ee2 100644
--- a/latest/developer-guides/hld/hv-ioc-virt.html
+++ b/latest/developer-guides/hld/hv-ioc-virt.html
@@ -4,7 +4,7 @@
- IOC Virtualization High-Level Design — Project ACRN™ 3.2-unstable documentation
+ IOC Virtualization High-Level Design — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
diff --git a/latest/developer-guides/hld/hv-memmgt.html b/latest/developer-guides/hld/hv-memmgt.html
index 2f5a67d0a..2c52fc1e1 100644
--- a/latest/developer-guides/hld/hv-memmgt.html
+++ b/latest/developer-guides/hld/hv-memmgt.html
@@ -4,7 +4,7 @@
- Memory Management High-Level Design — Project ACRN™ 3.2-unstable documentation
+ Memory Management High-Level Design — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -931,64 +950,132 @@ MMU Initialization¶
-
-static inline void *hpa2hva_early(uint64_t x)¶
-Translate host-physical address to host-virtual address.
+static inline void *hpa2hva_early(uint64_t x)¶
+Translate a host physical address to a host virtual address before paging mode enabled.
+This function is used to translate a host physical address to a host virtual address before paging mode enabled. HPA is 1:1 mapping to HVA.
+It returns the host virtual address that corresponds to the given host physical address.
+
+Remark
+This function is used before paging mode enabled.
+
+
+- Preconditions
N/A
+
+
+
- Parameters
-x – [in] The specified host-physical address
+x – [in] The host physical address
-- Returns
-The translated host-virtual address
+- Return values
+NULL – if x == 0
+
+- Returns
+The translated host virtual address
+
+- Post
+N/A
-
-static inline uint64_t hva2hpa_early(void *x)¶
-Translate host-virtual address to host-physical address.
+static inline uint64_t hva2hpa_early(void *x)¶
+Translate a host virtual address to a host physical address before paging mode enabled.
+This function is used to translate a host virtual address to a host physical address before paging mode enabled. HVA is 1:1 mapping to HPA.
+It returns the host physical address that corresponds to the given host virtual address.
+
+Remark
+This function is used before paging mode enabled.
+
+
+- Preconditions
N/A
+
+
+
- Parameters
-x – [in] The specified host-virtual address
+x – [in] The host virtual address to be translated
-- Returns
-The translated host-physical address
+- Return values
+0 – if x == NULL
+
+- Returns
+The translated host physical address
+
+- Post
+N/A
-
-static inline void *hpa2hva(uint64_t x)¶
-Translate host-physical address to host-virtual address.
+static inline void *hpa2hva(uint64_t x)¶
+Translate a host physical address to a host virtual address.
+This function is used to translate a host physical address to a host virtual address. HPA is 1:1 mapping to HVA.
+It returns the host virtual address that corresponds to the given host physical address.
+
+Remark
+This function is used after paging mode enabled.
+
+
+- Preconditions
N/A
+
+
+
- Parameters
-x – [in] The specified host-physical address
+x – [in] The host physical address to be translated.
-- Returns
-The translated host-virtual address
+- Return values
+NULL – if x == 0
+
+- Returns
+The translated host virtual address
+
+- Post
+N/A
-
-static inline uint64_t hva2hpa(const void *x)¶
-Translate host-virtual address to host-physical address.
+static inline uint64_t hva2hpa(const void *x)¶
+Translate a host virtual address to a host physical address.
+This function is used to translate a host virtual address to a host physical address. HVA is 1:1 mapping to HPA.
+It returns the host physical address that corresponds to the given host virtual address.
+
+Remark
+This function is used after paging mode enabled.
+
+
+- Preconditions
N/A
+
+
+
- Parameters
-x – [in] The specified host-virtual address
+x – [in] The host virtual address to be translated.
-- Returns
-The translated host-physical address
+- Return values
+0 – if x == NULL
+
+- Returns
+The translated host physical address.
+
+- Post
+N/A
@@ -1310,7 +1397,7 @@ Address Space TranslationReturn values
-hpa – the host physical address mapping to the gpa
+hpa – the host physical address mapping to the gpa
INVALID_HPA – the HPA of parameter gpa is unmapping
@@ -1625,9 +1712,9 @@ Trusty
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Nov 25, 2021. Published on Aug 10, 2023
+Last updated on 11月 25, 2021. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/hv-partitionmode.html b/latest/developer-guides/hld/hv-partitionmode.html
index 00410f8c8..5b6f3edf9 100644
--- a/latest/developer-guides/hld/hv-partitionmode.html
+++ b/latest/developer-guides/hld/hv-partitionmode.html
@@ -4,7 +4,7 @@
- Partition Mode — Project ACRN™ 3.2-unstable documentation
+ Partition Mode — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -1128,9 +1147,9 @@ Guest Console
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Mar 18, 2022. Published on Aug 10, 2023
+Last updated on 3月 18, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/hv-pm.html b/latest/developer-guides/hld/hv-pm.html
index 9fb163b9c..018fc74e3 100644
--- a/latest/developer-guides/hld/hv-pm.html
+++ b/latest/developer-guides/hld/hv-pm.html
@@ -4,7 +4,7 @@
- Power Management — Project ACRN™ 3.2-unstable documentation
+ Power Management — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
diff --git a/latest/developer-guides/hld/hv-rdt.html b/latest/developer-guides/hld/hv-rdt.html
index dd2bbe52b..78ede6137 100644
--- a/latest/developer-guides/hld/hv-rdt.html
+++ b/latest/developer-guides/hld/hv-rdt.html
@@ -4,7 +4,7 @@
- RDT Allocation Feature Supported by Hypervisor — Project ACRN™ 3.2-unstable documentation
+ RDT Allocation Feature Supported by Hypervisor — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -921,9 +940,9 @@ Enabling CAT, MBA Software Flow
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Apr 20, 2022. Published on Aug 10, 2023
+Last updated on 4月 20, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/hv-startup.html b/latest/developer-guides/hld/hv-startup.html
index 019c284d0..e81bdb66b 100644
--- a/latest/developer-guides/hld/hv-startup.html
+++ b/latest/developer-guides/hld/hv-startup.html
@@ -4,7 +4,7 @@
- Hypervisor Startup — Project ACRN™ 3.2-unstable documentation
+ Hypervisor Startup — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
diff --git a/latest/developer-guides/hld/hv-timer.html b/latest/developer-guides/hld/hv-timer.html
index 71eb5effa..02b19d917 100644
--- a/latest/developer-guides/hld/hv-timer.html
+++ b/latest/developer-guides/hld/hv-timer.html
@@ -4,7 +4,7 @@
- Timer — Project ACRN™ 3.2-unstable documentation
+ Timer — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
diff --git a/latest/developer-guides/hld/hv-vcat.html b/latest/developer-guides/hld/hv-vcat.html
index f7f863272..d4fbe4e01 100644
--- a/latest/developer-guides/hld/hv-vcat.html
+++ b/latest/developer-guides/hld/hv-vcat.html
@@ -4,7 +4,7 @@
- Virtual Cache Allocation Technology (vCAT) — Project ACRN™ 3.2-unstable documentation
+ Virtual Cache Allocation Technology (vCAT) — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -870,9 +889,9 @@ CAT resources (COS IDs + cache ways) management
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Jun 28, 2022. Published on Aug 10, 2023
+Last updated on 6月 28, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/hv-virt-interrupt.html b/latest/developer-guides/hld/hv-virt-interrupt.html
index 2f4138316..d9bda03d4 100644
--- a/latest/developer-guides/hld/hv-virt-interrupt.html
+++ b/latest/developer-guides/hld/hv-virt-interrupt.html
@@ -4,7 +4,7 @@
- Virtual Interrupt — Project ACRN™ 3.2-unstable documentation
+ Virtual Interrupt — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -1318,9 +1337,9 @@ Data Structures and Interfaces
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Feb 27, 2022. Published on Aug 10, 2023
+Last updated on 2月 27, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/hv-vm-management.html b/latest/developer-guides/hld/hv-vm-management.html
index 30c205e4c..e9463f3fc 100644
--- a/latest/developer-guides/hld/hv-vm-management.html
+++ b/latest/developer-guides/hld/hv-vm-management.html
@@ -4,7 +4,7 @@
- VM Management — Project ACRN™ 3.2-unstable documentation
+ VM Management — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -804,9 +823,9 @@ Post-Launched User VMs
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Sep 21, 2021. Published on Aug 10, 2023
+Last updated on 9月 21, 2021. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/hv-vt-d.html b/latest/developer-guides/hld/hv-vt-d.html
index 36a76fa2d..e5f62cbea 100644
--- a/latest/developer-guides/hld/hv-vt-d.html
+++ b/latest/developer-guides/hld/hv-vt-d.html
@@ -4,7 +4,7 @@
- VT-d — Project ACRN™ 3.2-unstable documentation
+ VT-d — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
diff --git a/latest/developer-guides/hld/index.html b/latest/developer-guides/hld/index.html
index 9d5f3b5c2..6558916e7 100644
--- a/latest/developer-guides/hld/index.html
+++ b/latest/developer-guides/hld/index.html
@@ -4,7 +4,7 @@
- High-Level Design Guides — Project ACRN™ 3.2-unstable documentation
+ High-Level Design Guides — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -849,9 +868,9 @@
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Nov 09, 2021. Published on Aug 10, 2023
+Last updated on 11月 09, 2021. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/ivshmem-hld.html b/latest/developer-guides/hld/ivshmem-hld.html
index adc649001..98702945e 100644
--- a/latest/developer-guides/hld/ivshmem-hld.html
+++ b/latest/developer-guides/hld/ivshmem-hld.html
@@ -4,7 +4,7 @@
- ACRN Shared Memory Based Inter-VM Communication — Project ACRN™ 3.2-unstable documentation
+ ACRN Shared Memory Based Inter-VM Communication — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -853,13 +872,13 @@ Ivshmem Device IntroductionIVSHMEM_IRQ_MASK_REG
0x0
R/W
-Interrupt Status register is used for legacy interrupt.
+
Interrupt Mask register is used for legacy interrupt.
ivshmem doesn’t support interrupts, so this register is reserved.
IVSHMEM_IRQ_STA_REG
0x4
R/W
-Interrupt Mask register is used for legacy interrupt.
+
Interrupt Status register is used for legacy interrupt.
ivshmem doesn’t support interrupts, so this register is reserved.
IVSHMEM_IV_POS_REG
@@ -1009,9 +1028,9 @@ Inter-VM Communication Security Hardening (BKMs)
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Mar 18, 2022. Published on Aug 10, 2023
+Last updated on 6月 25, 2024. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/mmio-dev-passthrough.html b/latest/developer-guides/hld/mmio-dev-passthrough.html
index 198e44b19..de319e3b3 100644
--- a/latest/developer-guides/hld/mmio-dev-passthrough.html
+++ b/latest/developer-guides/hld/mmio-dev-passthrough.html
@@ -4,7 +4,7 @@
-
MMIO Device Passthrough — Project ACRN™ 3.2-unstable documentation
+ MMIO Device Passthrough — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -789,9 +808,9 @@
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Mar 18, 2022. Published on Aug 10, 2023
+Last updated on 3月 18, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/rtc-virt-hld.html b/latest/developer-guides/hld/rtc-virt-hld.html
index 47b971884..f4c0f9b62 100644
--- a/latest/developer-guides/hld/rtc-virt-hld.html
+++ b/latest/developer-guides/hld/rtc-virt-hld.html
@@ -4,7 +4,7 @@
- RTC Virtualization — Project ACRN™ 3.2-unstable documentation
+ RTC Virtualization — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -760,9 +779,9 @@
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Nov 22, 2021. Published on Aug 10, 2023
+Last updated on 11月 22, 2021. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/split-dm.html b/latest/developer-guides/hld/split-dm.html
index 6d12a16b9..429711ff9 100644
--- a/latest/developer-guides/hld/split-dm.html
+++ b/latest/developer-guides/hld/split-dm.html
@@ -4,7 +4,7 @@
- Split Device Model — Project ACRN™ 3.2-unstable documentation
+ Split Device Model — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -840,9 +859,9 @@ Interfaces Design
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Feb 27, 2022. Published on Aug 10, 2023
+Last updated on 2月 27, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/system-timer-hld.html b/latest/developer-guides/hld/system-timer-hld.html
index 9e4b3aa9f..076aacaa0 100644
--- a/latest/developer-guides/hld/system-timer-hld.html
+++ b/latest/developer-guides/hld/system-timer-hld.html
@@ -4,7 +4,7 @@
-
System Timer Virtualization — Project ACRN™ 3.2-unstable documentation
+ System Timer Virtualization — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -942,9 +961,9 @@ HPET Emulation
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Mar 18, 2022. Published on Aug 10, 2023
+Last updated on 3月 18, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/uart-virt-hld.html b/latest/developer-guides/hld/uart-virt-hld.html
index 4ef1a48db..a1a4a40bc 100644
--- a/latest/developer-guides/hld/uart-virt-hld.html
+++ b/latest/developer-guides/hld/uart-virt-hld.html
@@ -4,7 +4,7 @@
-
UART Virtualization — Project ACRN™ 3.2-unstable documentation
+ UART Virtualization — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -861,9 +880,9 @@ Architecture
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Mar 18, 2022. Published on Aug 10, 2023
+Last updated on 3月 18, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/usb-virt-hld.html b/latest/developer-guides/hld/usb-virt-hld.html
index 7399e4930..145cbe0a1 100644
--- a/latest/developer-guides/hld/usb-virt-hld.html
+++ b/latest/developer-guides/hld/usb-virt-hld.html
@@ -4,7 +4,7 @@
-
USB Virtualization — Project ACRN™ 3.2-unstable documentation
+ USB Virtualization — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -874,9 +893,9 @@ Interface Specification
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Nov 24, 2021. Published on Aug 10, 2023
+Last updated on 11月 24, 2021. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/virtio-blk.html b/latest/developer-guides/hld/virtio-blk.html
index 097689228..63c7ece32 100644
--- a/latest/developer-guides/hld/virtio-blk.html
+++ b/latest/developer-guides/hld/virtio-blk.html
@@ -4,7 +4,7 @@
- Virtio-BLK — Project ACRN™ 3.2-unstable documentation
+ Virtio-BLK — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -853,9 +872,9 @@ Usage:
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Apr 20, 2022. Published on Aug 10, 2023
+Last updated on 4月 20, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/virtio-console.html b/latest/developer-guides/hld/virtio-console.html
index b904dee0d..3424e12b4 100644
--- a/latest/developer-guides/hld/virtio-console.html
+++ b/latest/developer-guides/hld/virtio-console.html
@@ -4,7 +4,7 @@
- Virtio-Console — Project ACRN™ 3.2-unstable documentation
+ Virtio-Console — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -871,11 +890,11 @@ PTY¶
Use a terminal emulator, such as minicom
or screen
, to connect to the
TTY node:
-# minicom -D /dev/pts/0
+# minicom -D /dev/pts/0
or:
-
Prevent the TTY from responding by sleeping:
-# sleep 2d
+# sleep 2d
and detach the TTY by pressing CTRL-A d.
@@ -925,8 +944,8 @@ TTY¶
Go back to the previous TTY. For example, if you’re using
screen
, use:
-# screen -ls
-# screen -r <pid_of_your_tty>
+# screen -ls
+# screen -r <pid_of_your_tty>
@@ -971,13 +990,13 @@ SOCKET
Log in to VM1, connect to the virtual port (vport1p0, 1 is decided
by the front-end driver):
-# minicom -D /dev/vport1p0
+# minicom -D /dev/vport1p0
Log in to VM2, connect to the virtual port (vport3p0, 3 is decided
by the front-end driver):
-# minicom -D /dev/vport3p0
+# minicom -D /dev/vport3p0
@@ -1001,9 +1020,9 @@ SOCKET
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Mar 18, 2022. Published on Aug 10, 2023
+Last updated on 3月 18, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/virtio-gpio.html b/latest/developer-guides/hld/virtio-gpio.html
index b236267f5..3f1ac533e 100644
--- a/latest/developer-guides/hld/virtio-gpio.html
+++ b/latest/developer-guides/hld/virtio-gpio.html
@@ -4,7 +4,7 @@
- Virtio-GPIO — Project ACRN™ 3.2-unstable documentation
+ Virtio-GPIO — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
diff --git a/latest/developer-guides/hld/virtio-i2c.html b/latest/developer-guides/hld/virtio-i2c.html
index b6d4a9247..126543691 100644
--- a/latest/developer-guides/hld/virtio-i2c.html
+++ b/latest/developer-guides/hld/virtio-i2c.html
@@ -4,7 +4,7 @@
- Virtio-I2C — Project ACRN™ 3.2-unstable documentation
+ Virtio-I2C — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -871,9 +890,9 @@
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Mar 18, 2022. Published on Aug 10, 2023
+Last updated on 3月 18, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/virtio-input.html b/latest/developer-guides/hld/virtio-input.html
index 070716b5d..3f6b4b15b 100644
--- a/latest/developer-guides/hld/virtio-input.html
+++ b/latest/developer-guides/hld/virtio-input.html
@@ -4,7 +4,7 @@
- Virtio-Input — Project ACRN™ 3.2-unstable documentation
+ Virtio-Input — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -777,12 +796,12 @@
writes it to the evdev char device.
The data transferred between FE and BE is organized as struct
input_event:
-struct input_event {
- struct timeval time;
- __u16 type;
- __u16 code;
- __s32 value;
-};
+struct input_event {
+ struct timeval time;
+ __u16 type;
+ __u16 code;
+ __s32 value;
+};
A structure virtio_input_config is defined and used as the
@@ -790,18 +809,18 @@
configuration information, the FE driver sets “select” and “subsel”
accordingly. Information size is returned in “size” and information data
is returned in union “u”:
-struct virtio_input_config {
- uint8_t select;
- uint8_t subsel;
- uint8_t size;
- uint8_t reserved[5];
- union {
- char string[128];
- uint8_t bitmap[128];
- struct virtio_input_absinfo abs;
- struct virtio_input_devids ids;
- } u;
-};
+struct virtio_input_config {
+ uint8_t select;
+ uint8_t subsel;
+ uint8_t size;
+ uint8_t reserved[5];
+ union {
+ char string[128];
+ uint8_t bitmap[128];
+ struct virtio_input_absinfo abs;
+ struct virtio_input_devids ids;
+ } u;
+};
Read/Write to these registers results in a vmexit, and cfgread/cfgwrite
@@ -837,9 +856,9 @@
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Mar 18, 2022. Published on Aug 10, 2023
+Last updated on 3月 18, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/virtio-net.html b/latest/developer-guides/hld/virtio-net.html
index c0bf45c44..00301e8b8 100644
--- a/latest/developer-guides/hld/virtio-net.html
+++ b/latest/developer-guides/hld/virtio-net.html
@@ -4,7 +4,7 @@
- Virtio-Net — Project ACRN™ 3.2-unstable documentation
+ Virtio-Net — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -851,107 +870,107 @@ ACRN User VM TX FLOWThe following shows the ACRN User VM network TX flow, using TCP as an
example, showing the flow through each layer:
User VM TCP Layer
-tcp_sendmsg -->
- tcp_sendmsg_locked -->
- tcp_push_one -->
- tcp_write_xmit -->
- tcp_transmit_skb -->
+tcp_sendmsg -->
+ tcp_sendmsg_locked -->
+ tcp_push_one -->
+ tcp_write_xmit -->
+ tcp_transmit_skb -->
User VM IP Layer
-ip_queue_xmit -->
- ip_local_out -->
- __ip_local_out -->
- dst_output -->
- ip_output -->
- ip_finish_output -->
- ip_finish_output2 -->
- neigh_output -->
- neigh_resolve_output -->
+ip_queue_xmit -->
+ ip_local_out -->
+ __ip_local_out -->
+ dst_output -->
+ ip_output -->
+ ip_finish_output -->
+ ip_finish_output2 -->
+ neigh_output -->
+ neigh_resolve_output -->
User VM MAC Layer
-dev_queue_xmit -->
- __dev_queue_xmit -->
- dev_hard_start_xmit -->
- xmit_one -->
- netdev_start_xmit -->
- __netdev_start_xmit -->
+dev_queue_xmit -->
+ __dev_queue_xmit -->
+ dev_hard_start_xmit -->
+ xmit_one -->
+ netdev_start_xmit -->
+ __netdev_start_xmit -->
User VM MAC Layer virtio-net Frontend Driver
start_xmit --> // virtual NIC driver xmit in virtio_net
- xmit_skb -->
+ xmit_skb -->
virtqueue_add_outbuf --> // add out buffer to shared virtqueue
- virtqueue_add -->
+ virtqueue_add -->
virtqueue_kick --> // notify the backend
- virtqueue_notify -->
- vp_notify -->
+ virtqueue_notify -->
+ vp_notify -->
iowrite16 --> // trap here, HV will first get notified
ACRN Hypervisor
vmexit_handler --> // vmexit because VMX_EXIT_REASON_IO_INSTRUCTION
- pio_instr_vmexit_handler -->
+ pio_instr_vmexit_handler -->
emulate_io --> // ioreq cant be processed in HV, forward it to HSM
- acrn_insert_request_wait -->
+ acrn_insert_request_wait -->
fire_hsm_interrupt --> // interrupt Service VM, HSM will get notified
HSM Module
hsm_intr_handler --> // HSM interrupt handler
- tasklet_schedule -->
- io_req_tasklet -->
+ tasklet_schedule -->
+ io_req_tasklet -->
acrn_ioreq_distribute_request --> // ioreq can't be processed in HSM, forward it to device DM
- acrn_ioreq_notify_client -->
+ acrn_ioreq_notify_client -->
wake_up_interruptible --> // wake up DM to handle ioreq
ACRN Device Model / virtio-net Backend Driver
-handle_vmexit -->
- vmexit_inout -->
- emulate_inout -->
- pci_emul_io_handler -->
- virtio_pci_write -->
- virtio_pci_legacy_write -->
+handle_vmexit -->
+ vmexit_inout -->
+ emulate_inout -->
+ pci_emul_io_handler -->
+ virtio_pci_write -->
+ virtio_pci_legacy_write -->
virtio_net_ping_txq --> // start TX thread to process, notify thread return
virtio_net_tx_thread --> // this is TX thread
virtio_net_proctx --> // call corresponding backend (tap) to process
- virtio_net_tap_tx -->
+ virtio_net_tap_tx -->
writev --> // write data to tap device
Service VM TAP Device Forwarding
-do_writev -->
- vfs_writev -->
- do_iter_write -->
- do_iter_readv_writev -->
- call_write_iter -->
- tun_chr_write_iter -->
- tun_get_user -->
- netif_receive_skb -->
- netif_receive_skb_internal -->
- __netif_receive_skb -->
- __netif_receive_skb_core -->
+do_writev -->
+ vfs_writev -->
+ do_iter_write -->
+ do_iter_readv_writev -->
+ call_write_iter -->
+ tun_chr_write_iter -->
+ tun_get_user -->
+ netif_receive_skb -->
+ netif_receive_skb_internal -->
+ __netif_receive_skb -->
+ __netif_receive_skb_core -->
Service VM Bridge Forwarding
-br_handle_frame -->
- br_handle_frame_finish -->
- br_forward -->
- __br_forward -->
- br_forward_finish -->
- br_dev_queue_push_xmit -->
+br_handle_frame -->
+ br_handle_frame_finish -->
+ br_forward -->
+ __br_forward -->
+ br_forward_finish -->
+ br_dev_queue_push_xmit -->
Service VM MAC Layer
-dev_queue_xmit -->
- __dev_queue_xmit -->
- dev_hard_start_xmit -->
- xmit_one -->
- netdev_start_xmit -->
- __netdev_start_xmit -->
+dev_queue_xmit -->
+ __dev_queue_xmit -->
+ dev_hard_start_xmit -->
+ xmit_one -->
+ netdev_start_xmit -->
+ __netdev_start_xmit -->
Service VM MAC Layer IGB Driver
@@ -967,49 +986,49 @@ ACRN User VM RX FLOW
Hypervisor Interrupt Dispatch
vmexit_handler --> // vmexit because VMX_EXIT_REASON_EXTERNAL_INTERRUPT
- external_interrupt_vmexit_handler -->
- dispatch_interrupt -->
- common_handler_edge -->
- ptdev_interrupt_handler -->
+ external_interrupt_vmexit_handler -->
+ dispatch_interrupt -->
+ common_handler_edge -->
+ ptdev_interrupt_handler -->
ptdev_enqueue_softirq --> // Interrupt will be delivered in bottom-half softirq
Hypervisor Interrupt Injection
-do_softirq -->
- ptdev_softirq -->
+do_softirq -->
+ ptdev_softirq -->
vlapic_intr_msi --> // insert the interrupt into Service VM
start_vcpu --> // VM Entry here, will process the pending interrupts
Service VM MAC Layer IGB Driver
-do_IRQ -->
- ...
- igb_msix_ring -->
- igbpoll -->
- napi_gro_receive -->
- napi_skb_finish -->
- netif_receive_skb_internal -->
- __netif_receive_skb -->
- __netif_receive_skb_core --
+do_IRQ -->
+ ...
+ igb_msix_ring -->
+ igbpoll -->
+ napi_gro_receive -->
+ napi_skb_finish -->
+ netif_receive_skb_internal -->
+ __netif_receive_skb -->
+ __netif_receive_skb_core --
Service VM Bridge Forwarding
-br_handle_frame -->
- br_handle_frame_finish -->
- br_forward -->
- __br_forward -->
- br_forward_finish -->
- br_dev_queue_push_xmit -->
+br_handle_frame -->
+ br_handle_frame_finish -->
+ br_forward -->
+ __br_forward -->
+ br_forward_finish -->
+ br_dev_queue_push_xmit -->
Service VM MAC Layer
-dev_queue_xmit -->
- __dev_queue_xmit -->
- dev_hard_start_xmit -->
- xmit_one -->
- netdev_start_xmit -->
- __netdev_start_xmit -->
+dev_queue_xmit -->
+ __dev_queue_xmit -->
+ dev_hard_start_xmit -->
+ xmit_one -->
+ netdev_start_xmit -->
+ __netdev_start_xmit -->
Service VM MAC Layer TAP Driver
@@ -1019,56 +1038,56 @@ ACRN User VM RX FLOWACRN Device Model / virtio-net Backend Driver
virtio_net_rx_callback --> // the tap fd get notified and this function invoked
virtio_net_tap_rx --> // read data from tap, prepare virtqueue, insert interrupt into the User VM
- vq_endchains -->
- vq_interrupt -->
- pci_generate_msi -->
+ vq_endchains -->
+ vq_interrupt -->
+ pci_generate_msi -->
HSM Module
hsm_dev_ioctl --> // process the IOCTL and call hypercall to inject interrupt
- hcall_inject_msi -->
+ hcall_inject_msi -->
ACRN Hypervisor
vmexit_handler --> // vmexit because VMX_EXIT_REASON_VMCALL
- vmcall_vmexit_handler -->
+ vmcall_vmexit_handler -->
hcall_inject_msi --> // insert interrupt into User VM
- vlapic_intr_msi -->
+ vlapic_intr_msi -->
User VM MAC Layer virtio_net Frontend Driver
vring_interrupt --> // virtio-net frontend driver interrupt handler
skb_recv_done --> // registered by virtnet_probe-->init_vqs-->virtnet_find_vqs
- virtqueue_napi_schedule -->
- __napi_schedule -->
- virtnet_poll -->
- virtnet_receive -->
- receive_buf -->
+ virtqueue_napi_schedule -->
+ __napi_schedule -->
+ virtnet_poll -->
+ virtnet_receive -->
+ receive_buf -->
User VM MAC Layer
-napi_gro_receive -->
- napi_skb_finish -->
- netif_receive_skb_internal -->
- __netif_receive_skb -->
- __netif_receive_skb_core -->
+napi_gro_receive -->
+ napi_skb_finish -->
+ netif_receive_skb_internal -->
+ __netif_receive_skb -->
+ __netif_receive_skb_core -->
User VM IP Layer
-ip_rcv -->
- ip_rcv_finish -->
- dst_input -->
- ip_local_deliver -->
- ip_local_deliver_finish -->
+ip_rcv -->
+ ip_rcv_finish -->
+ dst_input -->
+ ip_local_deliver -->
+ ip_local_deliver_finish -->
User VM TCP Layer
-tcp_v4_rcv -->
- tcp_v4_do_rcv -->
- tcp_rcv_established -->
- tcp_data_queue -->
- tcp_queue_rcv -->
- __skb_queue_tail -->
+tcp_v4_rcv -->
+ tcp_v4_do_rcv -->
+ tcp_rcv_established -->
+ tcp_data_queue -->
+ tcp_queue_rcv -->
+ __skb_queue_tail -->
sk->sk_data_ready --> // application will get notified
@@ -1214,9 +1233,9 @@ Performance Estimation
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Mar 20, 2022. Published on Aug 10, 2023
+Last updated on 3月 20, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/virtio-rnd.html b/latest/developer-guides/hld/virtio-rnd.html
index 4f87214d7..7ba7d61fe 100644
--- a/latest/developer-guides/hld/virtio-rnd.html
+++ b/latest/developer-guides/hld/virtio-rnd.html
@@ -4,7 +4,7 @@
- Virtio-RND — Project ACRN™ 3.2-unstable documentation
+ Virtio-RND — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -769,17 +788,17 @@ How to Use# cat /sys/class/misc/hw_random/rng_available
+# cat /sys/class/misc/hw_random/rng_available
virtio_rng.0
Check to see if the frontend virtio_rng is connected to /dev/random
:
-# cat /sys/class/misc/hw_random/rng_current
+# cat /sys/class/misc/hw_random/rng_current
virtio_rng.0
Read random values:
-# od /dev/random
+# od /dev/random
0000000 007265 175751 147323 164223 060601 057377 027072 106352
0000020 040765 045645 155773 111724 037572 152033 036001 056073
0000040 057164 065021 024005 031500 156630 026635 022440 000127
@@ -817,9 +836,9 @@ How to Use
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Mar 18, 2022. Published on Aug 10, 2023
+Last updated on 3月 18, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/vuart-virt-hld.html b/latest/developer-guides/hld/vuart-virt-hld.html
index 7f3dc50ba..212fb1b95 100644
--- a/latest/developer-guides/hld/vuart-virt-hld.html
+++ b/latest/developer-guides/hld/vuart-virt-hld.html
@@ -4,7 +4,7 @@
- vUART Virtualization — Project ACRN™ 3.2-unstable documentation
+ vUART Virtualization — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -902,9 +921,9 @@ Usage
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Mar 18, 2022. Published on Aug 10, 2023
+Last updated on 3月 18, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/hld/watchdog-hld.html b/latest/developer-guides/hld/watchdog-hld.html
index 3b871e002..f9c035813 100644
--- a/latest/developer-guides/hld/watchdog-hld.html
+++ b/latest/developer-guides/hld/watchdog-hld.html
@@ -4,7 +4,7 @@
- Watchdog Virtualization in Device Model — Project ACRN™ 3.2-unstable documentation
+ Watchdog Virtualization in Device Model — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -792,15 +811,15 @@ Implementation in ACRN and How to Use Itdevicemodel/include/pci_core.h):
-struct pci_vdev_ops pci_ops_wdt = {
- .class_name = "wdt-i6300esb",
- .vdev_init = pci_wdt_init,
- .vdev_deinit = pci_wdt_deinit,
- .vdev_cfgwrite = pci_wdt_cfg_write,
- .vdev_cfgread = pci_wdt_cfg_read,
- .vdev_barwrite = pci_wdt_bar_write,
- .vdev_barread = pci_wdt_bar_read
-};
+struct pci_vdev_ops pci_ops_wdt = {
+ .class_name = "wdt-i6300esb",
+ .vdev_init = pci_wdt_init,
+ .vdev_deinit = pci_wdt_deinit,
+ .vdev_cfgwrite = pci_wdt_cfg_write,
+ .vdev_cfgread = pci_wdt_cfg_read,
+ .vdev_barwrite = pci_wdt_bar_write,
+ .vdev_barread = pci_wdt_bar_read
+};
All functions follow the pci_vdev_ops
definitions for PCI device
@@ -834,9 +853,9 @@
Implementation in ACRN and How to Use It
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Mar 18, 2022. Published on Aug 10, 2023
+Last updated on 3月 18, 2022. Published on 8月 05, 2024
diff --git a/latest/developer-guides/l1tf.html b/latest/developer-guides/l1tf.html
index 508ea93ae..05dbd78f9 100644
--- a/latest/developer-guides/l1tf.html
+++ b/latest/developer-guides/l1tf.html
@@ -4,7 +4,7 @@
- L1 Terminal Fault Mitigation — Project ACRN™ 3.2-unstable documentation
+ L1 Terminal Fault Mitigation — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
diff --git a/latest/developer-guides/modularity.html b/latest/developer-guides/modularity.html
index 6cf5be528..fd04b4c07 100644
--- a/latest/developer-guides/modularity.html
+++ b/latest/developer-guides/modularity.html
@@ -4,7 +4,7 @@
- ACRN Hypervisor: Modular Design — Project ACRN™ 3.2-unstable documentation
+ ACRN Hypervisor: Modular Design — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
diff --git a/latest/developer-guides/sw_design_guidelines.html b/latest/developer-guides/sw_design_guidelines.html
index ad86791da..1a10709d2 100644
--- a/latest/developer-guides/sw_design_guidelines.html
+++ b/latest/developer-guides/sw_design_guidelines.html
@@ -4,7 +4,7 @@
- Software Design Guidelines — Project ACRN™ 3.2-unstable documentation
+ Software Design Guidelines — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
vcpu_from_vid
is called by hcall_set_vcpu_regs
, which is a hypercall.
@@ -967,20 +986,20 @@
Examplesvcpu_from_vid to make sure that the passed parameters are valid and the
pre-conditions are guaranteed.
Here is the sample code for error checking before calling vcpu_from_vid
:
-status = 0;
+status = 0;
-if (vcpu_id >= CONFIG_MAX_VCPUS_PER_VM) {
- pr_err("vcpu id is out of range \r\n");
- status = -EINVAL;
-} else if ((&(vm->hw.vcpu_array[vcpu_id]))->state == VCPU_OFFLINE) {
- pr_err("vcpu is offline \r\n");
- status = -EINVAL;
-}
+if (vcpu_id >= CONFIG_MAX_VCPUS_PER_VM) {
+ pr_err("vcpu id is out of range \r\n");
+ status = -EINVAL;
+} else if ((&(vm->hw.vcpu_array[vcpu_id]))->state == VCPU_OFFLINE) {
+ pr_err("vcpu is offline \r\n");
+ status = -EINVAL;
+}
-if (status == 0) {
- vcpu = vcpu_from_vid(vm, vcpu_id);
- ...
-}
+if (status == 0) {
+ vcpu = vcpu_from_vid(vm, vcpu_id);
+ ...
+}
@@ -1109,40 +1128,40 @@ Examples
/**
* @pre vm != NULL
* @pre vm->vpci->pci_vdev_cnt <= CONFIG_MAX_PCI_DEV_NUM
- */
-static int32_t partition_mode_vpci_init(const struct acrn_vm *vm)
-{
- struct acrn_vpci *vpci = (struct acrn_vpci *)&(vm->vpci);
- struct pci_vdev *vdev;
- struct acrn_vm_config *vm_config = get_vm_config(vm->vm_id);
- struct acrn_vm_pci_dev_config *pci_dev_config;
- uint32_t i;
+ */
+static int32_t partition_mode_vpci_init(const struct acrn_vm *vm)
+{
+ struct acrn_vpci *vpci = (struct acrn_vpci *)&(vm->vpci);
+ struct pci_vdev *vdev;
+ struct acrn_vm_config *vm_config = get_vm_config(vm->vm_id);
+ struct acrn_vm_pci_dev_config *pci_dev_config;
+ uint32_t i;
- vpci->pci_vdev_cnt = vm_config->pci_dev_num;
+ vpci->pci_vdev_cnt = vm_config->pci_dev_num;
- for (i = 0U; i < vpci->pci_vdev_cnt; i++) {
- vdev = &vpci->pci_vdevs[i];
- vdev->vpci = vpci;
- pci_dev_config = &vm_config->pci_devs[i];
- vdev->vbdf.value = pci_dev_config->vbdf.value;
+ for (i = 0U; i < vpci->pci_vdev_cnt; i++) {
+ vdev = &vpci->pci_vdevs[i];
+ vdev->vpci = vpci;
+ pci_dev_config = &vm_config->pci_devs[i];
+ vdev->vbdf.value = pci_dev_config->vbdf.value;
- if (vdev->vbdf.value != 0U) {
- partition_mode_pdev_init(vdev, pci_dev_config->pbdf);
- vdev->ops = &pci_ops_vdev_pt;
- } else {
- vdev->ops = &pci_ops_vdev_hostbridge;
- }
+ if (vdev->vbdf.value != 0U) {
+ partition_mode_pdev_init(vdev, pci_dev_config->pbdf);
+ vdev->ops = &pci_ops_vdev_pt;
+ } else {
+ vdev->ops = &pci_ops_vdev_hostbridge;
+ }
- if (vdev->ops->init != NULL) {
- if (vdev->ops->init(vdev) != 0) {
- pr_err("%s() failed at PCI device (vbdf %x)!",
- __func__, vdev->vbdf);
- }
- }
- }
+ if (vdev->ops->init != NULL) {
+ if (vdev->ops->init(vdev) != 0) {
+ pr_err("%s() failed at PCI device (vbdf %x)!",
+ __func__, vdev->vbdf);
+ }
+ }
+ }
- return 0;
-}
+ return 0;
+}
get_vm_config
is called by partition_mode_vpci_init
.
@@ -1153,11 +1172,11 @@
Examples
* @pre vm_id < CONFIG_MAX_VM_NUM
* @post retval != NULL
* @post retval->pci_dev_num <= MAX_PCI_DEV_NUM
- */
-struct acrn_vm_config *get_vm_config(uint16_t vm_id)
-{
- return &vm_configs[vm_id];
-}
+ */
+struct acrn_vm_config *get_vm_config(uint16_t vm_id)
+{
+ return &vm_configs[vm_id];
+}
Question_1: Is error checking required for ``vm_config``?
@@ -1202,22 +1221,22 @@ Examples
/**
* @pre vdev != NULL
* @pre vm->vpci->pci_vdev_cnt <= CONFIG_MAX_PCI_DEV_NUM
- */
-static void partition_mode_vpci_deinit(const struct acrn_vm *vm)
-{
- struct pci_vdev *vdev;
- uint32_t i;
+ */
+static void partition_mode_vpci_deinit(const struct acrn_vm *vm)
+{
+ struct pci_vdev *vdev;
+ uint32_t i;
- for (i = 0U; i < vm->vpci.pci_vdev_cnt; i++) {
- vdev = (struct pci_vdev *) &(vm->vpci.pci_vdevs[i]);
- if ((vdev->ops != NULL) && (vdev->ops->deinit != NULL)) {
- if (vdev->ops->deinit(vdev) != 0) {
- pr_err("vdev->ops->deinit failed!");
- }
- }
- /* TODO: implement the deinit of 'vdev->ops' */
- }
-}
+ for (i = 0U; i < vm->vpci.pci_vdev_cnt; i++) {
+ vdev = (struct pci_vdev *) &(vm->vpci.pci_vdevs[i]);
+ if ((vdev->ops != NULL) && (vdev->ops->deinit != NULL)) {
+ if (vdev->ops->deinit(vdev) != 0) {
+ pr_err("vdev->ops->deinit failed!");
+ }
+ }
+ /* TODO: implement the deinit of 'vdev->ops' */
+ }
+}
Question_6: Is error checking required for ``vdev->ops`` and ``vdev->ops->init``?
@@ -1398,9 +1417,9 @@ References
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Nov 12, 2021. Published on Aug 10, 2023
+Last updated on 11月 12, 2021. Published on 8月 05, 2024
diff --git a/latest/developer-guides/trusty.html b/latest/developer-guides/trusty.html
index 3581f8bee..6b3554c76 100644
--- a/latest/developer-guides/trusty.html
+++ b/latest/developer-guides/trusty.html
@@ -4,7 +4,7 @@
- Trusty TEE — Project ACRN™ 3.2-unstable documentation
+ Trusty TEE — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -1057,9 +1076,9 @@ API¶
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Feb 27, 2022. Published on Aug 10, 2023
+Last updated on 2月 27, 2022. Published on 8月 05, 2024
diff --git a/latest/faq.html b/latest/faq.html
index f6f3caff2..afd4118cd 100644
--- a/latest/faq.html
+++ b/latest/faq.html
@@ -4,7 +4,7 @@
- Frequently Asked Questions — Project ACRN™ 3.2-unstable documentation
+ Frequently Asked Questions — Project ACRN™ 3.4-unstable documentation
@@ -59,6 +59,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -224,6 +226,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -614,6 +621,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -754,9 +773,9 @@ What Hardware Does ACRN Support?
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Feb 16, 2022. Published on Aug 10, 2023
+Last updated on 2月 16, 2022. Published on 8月 05, 2024
diff --git a/latest/genindex.html b/latest/genindex.html
index fb17c0640..003901666 100644
--- a/latest/genindex.html
+++ b/latest/genindex.html
@@ -3,7 +3,7 @@
- Index — Project ACRN™ 3.2-unstable documentation
+ Index — Project ACRN™ 3.4-unstable documentation
@@ -59,6 +59,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -224,6 +226,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -614,6 +621,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -777,6 +796,8 @@ Symbols
- [anonymous].ACRN_TRACE (C enumerator)
+
+ - [anonymous].ACRN_VM_EVENT (C enumerator)
- [anonymous].BACKEND_MAX (C enumerator)
@@ -964,13 +985,15 @@ B
- Backend type
-
-
- BDW
+
+
- BIOS
- Build type
+
+ - bvt_weight
@@ -1022,6 +1045,8 @@ C
D
+ - Default VM in hypervisor console output
+
- del_timer (C function)
- destroy_ept (C function)
@@ -1059,6 +1084,8 @@
E
- Enable Open Virtual Machine FW
- Enable secure world for running Trusty
+
+ - Enable Service VM supervisor role
- Enable split lock detection
@@ -1075,11 +1102,11 @@ E
- EPC section size (bytes)
- ept_add_mr (C function)
-
- - ept_del_mr (C function)
+ - ept_del_mr (C function)
+
- EPT_EXE (C macro)
- ept_flush_leaf_page (C function)
@@ -1305,6 +1332,8 @@
I
- ioapic_set_rte (C function)
- ISR
+
+ - IVSHMEM Region ID
@@ -1526,10 +1555,10 @@ R
- register_pio_emulation_handler (C function)
-
-
+
- reserve_irq_num (C function)
- reset_vcpu (C function)
@@ -1541,6 +1570,12 @@
R
- resume_iommu (C function)
- resume_lapic (C function)
+
+ - rtc_change_event_data (C struct)
+
+ - RTC_CHG_RELATIVE_PHYSICAL_RTC (C macro)
+
+ - RTC_CHG_RELATIVE_SERVICE_VM_SYS_TIME (C macro)
- RTVM
@@ -1617,6 +1652,8 @@ S
- SPACE_SYSTEM_MEMORY (C macro)
- Start physical address
+
+ - Stateless VM
- suspend_ioapic (C function)
@@ -1846,8 +1883,6 @@ V
- virtio_iothread (C struct)
-
-
- VIRTIO_LEGACY_PIO_BAR_IDX (C macro)
- virtio_linkup (C function), [1]
@@ -1858,6 +1893,8 @@
V
- VIRTIO_MODERN_NOTIFY_OFF_MULT (C macro)
+
+
- VIRTIO_MODERN_PIO_BAR_IDX (C macro)
- virtio_ops (C struct), [1]
@@ -1943,6 +1980,8 @@
V
- Virtual I/O address
- Virtual Machine
+
+ - Virtual Thermal Monitor
- Virtual UART BDF
@@ -1963,6 +2002,18 @@ V
- VM type
- VM Virtual Cache Allocation Tech
+
+ - vm_event (C struct)
+
+ - VM_EVENT_COUNT (C macro)
+
+ - VM_EVENT_DATA_LEN (C macro)
+
+ - VM_EVENT_POWEROFF (C macro)
+
+ - VM_EVENT_RTC_CHG (C macro)
+
+ - VM_EVENT_TRIPLE_FAULT (C macro)
- vm_gpa2hpa (C struct)
@@ -2013,6 +2064,12 @@ V
- VT-d
- vUART name
+
+ - vuart rx buffer size (bytes)
+
+ - vUART timer pCPU ID
+
+ - vuart tx buffer size
- vUART Type
@@ -2057,9 +2114,9 @@ Z
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Aug 10, 2023. Published on
+Last updated on Aug 05, 2024. Published on
diff --git a/latest/getting-started/getting-started.html b/latest/getting-started/getting-started.html
index f4493d611..f691ce376 100644
--- a/latest/getting-started/getting-started.html
+++ b/latest/getting-started/getting-started.html
@@ -4,7 +4,7 @@
- Getting Started Guide — Project ACRN™ 3.2-unstable documentation
+ Getting Started Guide — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -799,7 +818,7 @@
On the development computer, run the following command to confirm that Ubuntu
Desktop 22.04 is running:
-cat /etc/os-release
+cat /etc/os-release
If you have an older version, see Ubuntu documentation to
@@ -808,46 +827,46 @@
Download the apt information database about all available package updates for
your Ubuntu release. We’ll need it to get the tools and libraries used
for ACRN builds:
-sudo apt update
+sudo apt update
This next command upgrades packages already installed on your system with
minor updates and security patches. This command is optional as there is a
small risk that upgrading your system software can introduce unexpected
issues:
-sudo apt upgrade -y #optional command to upgrade system
+sudo apt upgrade -y #optional command to upgrade system
Create a working directory:
-mkdir -p ~/acrn-work
+mkdir -p ~/acrn-work
Install the necessary ACRN build tools:
-sudo apt install -y gcc git make vim libssl-dev libpciaccess-dev uuid-dev \
- libsystemd-dev libevent-dev libxml2-dev libxml2-utils libusb-1.0-0-dev \
- python3 python3-pip libblkid-dev e2fslibs-dev \
- pkg-config libnuma-dev libcjson-dev liblz4-tool flex bison \
- xsltproc clang-format bc libpixman-1-dev libsdl2-dev libegl-dev \
- libgles-dev libdrm-dev gnu-efi libelf-dev \
- build-essential git-buildpackage devscripts dpkg-dev equivs lintian \
- apt-utils pristine-tar dh-python python3-lxml python3-defusedxml \
- python3-tqdm python3-xmlschema python3-elementpath acpica-tools
+sudo apt install -y gcc git make vim libssl-dev libpciaccess-dev uuid-dev \
+ libsystemd-dev libevent-dev libxml2-dev libxml2-utils libusb-1.0-0-dev \
+ python3 python3-pip libblkid-dev e2fslibs-dev \
+ pkg-config libnuma-dev libcjson-dev liblz4-tool flex bison \
+ xsltproc clang-format bc libpixman-1-dev libsdl2-dev libegl-dev \
+ libgles-dev libdrm-dev gnu-efi libelf-dev liburing-dev \
+ build-essential git-buildpackage devscripts dpkg-dev equivs lintian \
+ apt-utils pristine-tar dh-python acpica-tools python3-tqdm \
+ python3-elementpath python3-lxml python3-xmlschema python3-defusedxml
Get the ACRN hypervisor and ACRN kernel source code, and check out the
current release branch.
-cd ~/acrn-work
-git clone https://github.com/projectacrn/acrn-hypervisor.git
-cd acrn-hypervisor
-git checkout release_3.2
+cd ~/acrn-work
+git clone https://github.com/projectacrn/acrn-hypervisor.git
+cd acrn-hypervisor
+git checkout release_3.3
-cd ..
-git clone https://github.com/projectacrn/acrn-kernel.git
-cd acrn-kernel
-git checkout release_3.2
+cd ..
+git clone https://github.com/projectacrn/acrn-kernel.git
+cd acrn-kernel
+git checkout release_3.3
@@ -877,10 +896,10 @@ Set Up the Target Hardware
Connect all USB devices, such as a mouse and keyboard.
Connect the monitor and power supply cable.
-Connect the target system to the LAN with the Ethernet cable.
+Connect the target system to the LAN with the Ethernet cable or wifi.
Example of a target system with cables connected:
-
+
Install OS on the Target¶
@@ -913,8 +932,8 @@ Install OS on the Targetsudo apt update
-sudo apt upgrade -y
+sudo apt update
+sudo apt upgrade -y
@@ -943,9 +962,10 @@ Configure Target BIOS Settings
Boot your target and enter the BIOS configuration editor.
Tip: When you are booting your target, you’ll see an option (quickly) to
-enter the BIOS configuration editor, typically by pressing F2 during
-the boot and before the GRUB menu (or Ubuntu login screen) appears. If you
-are not quick enough, you can reboot the system to try again.
+enter the BIOS configuration editor, typically by pressing F2
+or DEL during the boot and before the GRUB menu (or Ubuntu login
+screen) appears. If you are not quick enough, you can still choose
+UEFI settings
in the GRUB menu or just reboot the system to try again.
Configure these BIOS settings:
@@ -967,12 +987,12 @@ Generate a Board Configuration File
Move to the development computer.
On the development computer, go to the acrn-hypervisor
directory:
-cd ~/acrn-work/acrn-hypervisor
+cd ~/acrn-work/acrn-hypervisor
Build the Board Inspector Debian package:
-debian/debian_build.sh clean && debian/debian_build.sh board_inspector
+debian/debian_build.sh clean && debian/debian_build.sh board_inspector
In a few seconds, the build generates a board_inspector Debian package in the
@@ -988,12 +1008,12 @@
Generate a Board Configuration Filesudo apt install -y /tmp/python3-acrn-board-inspector*.deb
+sudo apt install -y /tmp/python3-acrn-board-inspector*.deb
Reboot the target system:
-sudo reboot
+sudo reboot
@@ -1001,8 +1021,8 @@ Generate a Board Configuration Filemy_board as the file name. The Board Inspector
can take a few minutes to scan your target system and create the board XML
file with your target system’s information.
-cd ~/acrn-work
-sudo acrn-board-inspector my_board
+cd ~/acrn-work
+sudo acrn-board-inspector my_board
@@ -1013,7 +1033,7 @@ Generate a Board Configuration Filemy_board.xml was generated in
the current directory:
-ls ./my_board.xml
+ls ./my_board.xml
@@ -1030,7 +1050,7 @@ Generate a Board Configuration File
Generate a Scenario Configuration File and Launch Script¶
-In this step, you will download, install, and use the ACRN Configurator
+
In this step, you will download, install, and use the ACRN Configurator
to generate a scenario configuration file and launch script.
A scenario configuration file is an XML file that holds the parameters of
a specific ACRN configuration, such as the number of VMs that can be run,
@@ -1040,17 +1060,17 @@
Generate a Board Configuration File
On the development computer, download and install the ACRN Configurator
Debian package:
-cd ~/acrn-work
-wget https://github.com/projectacrn/acrn-hypervisor/releases/download/v3.2/acrn-configurator-3.2.deb -P /tmp
+cd ~/acrn-work
+wget https://github.com/projectacrn/acrn-hypervisor/releases/download/v3.3/acrn-configurator-3.3.deb -P /tmp
If you already have a previous version of the acrn-configurator installed,
you should first remove it:
-sudo apt purge acrn-configurator
+sudo apt purge acrn-configurator
Then you can install this new version:
-sudo apt install -y /tmp/acrn-configurator-3.2.deb
+sudo apt install -y /tmp/acrn-configurator-3.3.deb
@@ -1097,7 +1117,7 @@ Generate a Board Configuration File
The Configurator does consistency and validation checks when you load or save
-a scenario. Notice the Hypervisor and VM1 tabs both have an error icon,
+a scenario. Notice the Hypervisor and VM1 tabs both have an error icon,
meaning there are issues with configuration options in two areas. Since the
Hypervisor tab is currently highlighted, we’re seeing an issue we can resolve
on the Hypervisor settings. Once we resolve all the errors and save the
@@ -1129,17 +1149,16 @@
Generate a Board Configuration File1 to affine (or pin) the VM to CPU cores 0 and 1. (That will
resolve the missing physical CPU affinity assignment error.)
For Virtio console device, click + to add a device and keep the
-default options. This parameter specifies the console that you will use to
-log in to the User VM later in this guide.
+default options.
For Virtio block device, click + and enter
-/home/acrn/acrn-work/ubuntu-22.04.2-desktop-amd64.iso
. This parameter
+/home/acrn/acrn-work/ubuntu-22.04.4-desktop-amd64.iso
. This parameter
specifies the VM’s OS image and its location on the target system. Later
in this guide, you will save the ISO file to that directory. (If you used
a different username when installing Ubuntu on the target system, here’s
where you’ll need to change the acrn
username to the username you used.)
-
+
Scroll up to the top of the panel and click Save Scenario And Launch
Scripts to generate the scenario configuration file and launch script.
@@ -1163,23 +1182,23 @@ Generate a Board Configuration FileBuild ACRN¶
On the development computer, build the ACRN hypervisor:
-cd ~/acrn-work/acrn-hypervisor
-debian/debian_build.sh clean && debian/debian_build.sh -c ~/acrn-work/MyConfiguration
+cd ~/acrn-work/acrn-hypervisor
+debian/debian_build.sh clean && debian/debian_build.sh -c ~/acrn-work/MyConfiguration
The build typically takes a few minutes. When done, the build generates several
Debian packages in the parent (~/acrn-work
) directory:
-cd ../
-ls *.deb
- acrnd_*.deb
- acrn-dev_*.deb
- acrn-devicemodel_*.deb
- acrn-doc_*.deb
- acrn-hypervisor_*.deb
- acrn-lifemngr_*.deb
- acrn-system_*.deb
- acrn-tools_*.deb
- grub-acrn_*.deb
+cd ../
+ls *.deb
+ acrnd_*.deb
+ acrn-dev_*.deb
+ acrn-devicemodel_*.deb
+ acrn-doc_*.deb
+ acrn-hypervisor_*.deb
+ acrn-lifemngr_*.deb
+ acrn-system_*.deb
+ acrn-tools_*.deb
+ grub-acrn_*.deb
These Debian packages contain the ACRN hypervisor and tools to ease installing
@@ -1190,16 +1209,16 @@
Generate a Board Configuration Filecd ~/acrn-work/acrn-kernel
-make distclean
+cd ~/acrn-work/acrn-kernel
+make distclean
Build the ACRN kernel:
-cd ~/acrn-work/acrn-kernel
-cp kernel_config_service_vm .config
-make olddefconfig
-make -j $(nproc) deb-pkg
+cd ~/acrn-work/acrn-kernel
+cp kernel_config_service_vm .config
+make olddefconfig
+make -j $(nproc) deb-pkg
@@ -1208,12 +1227,11 @@ Generate a Board Configuration Filecd ..
-ls *acrn-service-vm*.deb
- linux-headers-5.15.71-acrn-service-vm_5.15.71-acrn-service-vm-1_amd64.deb
- linux-image-5.15.71-acrn-service-vm_5.15.71-acrn-service-vm-1_amd64.deb
- linux-image-5.15.71-acrn-service-vm-dbg_5.15.71-acrn-service-vm-1_amd64.deb
- linux-libc-dev_5.15.71-acrn-service-vm-1_amd64.deb
+cd ..
+ls *acrn-service-vm*.deb
+ linux-headers-6.1.80-acrn-service-vm_6.1.80-acrn-service-vm-1_amd64.deb
+ linux-image-6.1.80-acrn-service-vm_6.1.80-acrn-service-vm-1_amd64.deb
+ linux-libc-dev_6.1.80-acrn-service-vm-1_amd64.deb
@@ -1235,9 +1253,9 @@ Generate a Board Configuration File
On the target system, install the ACRN Debian package and ACRN kernel Debian packages using these
commands:
-cd ~/acrn-work
-cp ./acrn*.deb ./grub*.deb ./*acrn-service-vm*.deb /tmp
-sudo apt install /tmp/acrn*.deb /tmp/grub*.deb /tmp/*acrn-service-vm*.deb
+cd ~/acrn-work
+cp ./acrn*.deb ./grub*.deb ./*acrn-service-vm*.deb /tmp
+sudo apt install /tmp/acrn*.deb /tmp/grub*.deb /tmp/*acrn-service-vm*.deb
@@ -1253,13 +1271,13 @@ Generate a Board Configuration Filesudo reboot
+sudo reboot
The target system will reboot into the ACRN hypervisor and
start the Ubuntu Service VM.
-
Confirm that you see the GRUB menu with “Ubuntu with ACRN hypervisor, with Linux 5.15.71-acrn-service-vm (ACRN 3.2)”
+
Confirm that you see the GRUB menu with “Ubuntu with ACRN hypervisor, with Linux 6.1.80-acrn-service-vm (ACRN 3.3)”
entry. Select it and proceed to booting ACRN. (It may be auto-selected, in which case it
will boot with this option automatically in 5 seconds.)
Example grub menu shown as below:
@@ -1267,10 +1285,12 @@ Generate a Board Configuration File────────────────────────────────────────────────────────────────────────────────
Ubuntu
Advanced options for Ubuntu
-Ubuntu-ACRN Board Inspector, with Linux 5.15.71-acrn-service-vm
-Ubuntu-ACRN Board Inspector, with Linux 5.15.0-56-generic
-*Ubuntu with ACRN hypervisor, with Linux 5.15.71-acrn-service-vm (ACRN 3.2)
-Ubuntu with ACRN hypervisor, with Linux 5.15.0-56-generic (ACRN 3.2)
+Ubuntu-ACRN Board Inspector, with Linux 6.5.0-18-generic
+Ubuntu-ACRN Board Inspector, with Linux 6.1.80-acrn-service-vm
+Memory test (memtest86+x64.efi)
+Memory test (memtest86+x64.efi, serial console)
+Ubuntu with ACRN hypervisor, with Linux 6.5.0-18-generic (ACRN 3.3)
+*Ubuntu with ACRN hypervisor, with Linux 6.1.80-acrn-service-vm (ACRN 3.3)
UEFI Firmware Settings
@@ -1286,7 +1306,7 @@ Generate a Board Configuration Filedmesg in the Service
VM:
-dmesg | grep -i hypervisor
+dmesg | grep -i hypervisor
You should see “Hypervisor detected: ACRN” in the output. Example output of a
@@ -1302,8 +1322,8 @@
Generate a Board Configuration FileWarning
The IP address of Service VM may change after executing the following command.
-sudo cp /usr/share/doc/acrnd/examples/* /etc/systemd/network
-sudo systemctl enable --now systemd-networkd
+sudo cp /usr/share/doc/acrnd/examples/* /etc/systemd/network
+sudo systemctl enable --now systemd-networkd
@@ -1314,7 +1334,7 @@ Generate a Board Configuration File
On the target system, use the web browser to visit the official Ubuntu website and
get the Ubuntu Desktop 22.04 LTS ISO image
-ubuntu-22.04.2-desktop-amd64.iso
for the User VM. (The same image you
+ubuntu-22.04.4-desktop-amd64.iso
for the User VM. (The same image you
specified earlier in the ACRN Configurator UI.) Alternatively, instead of
downloading it again, you could use scp
to copy the ISO
image file from the development system to the ~/acrn-work
directory on the target system.
@@ -1322,29 +1342,20 @@ Generate a Board Configuration File~/acrn-work/ directory (the location we said
in the ACRN Configurator for the scenario configuration for the VM), for
example:
-cp ~/Downloads/ubuntu-22.04.2-desktop-amd64.iso ~/acrn-work
+cp ~/Downloads/ubuntu-22.04.4-desktop-amd64.iso ~/acrn-work
Launch the User VM:
-sudo chmod +x ~/acrn-work/launch_user_vm_id1.sh
-sudo ~/acrn-work/launch_user_vm_id1.sh
+sudo chmod +x ~/acrn-work/launch_user_vm_id1.sh
+sudo ~/acrn-work/launch_user_vm_id1.sh
It may take about a minute for the User VM to boot and start running the
Ubuntu image. You will see a lot of output, then the console of the User VM
will appear as follows:
-Ubuntu 22.04.2 LTS ubuntu hvc0
-
-ubuntu login:
-
-
-
-Log in to the User VM. For the Ubuntu 22.04 ISO, the user is ubuntu
, and
-there’s no password.
-Confirm that you see output similar to this example:
-Welcome to Ubuntu 22.04.2 LTS (GNU/Linux 5.19.0-32-generic x86_64)
+Welcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.5.0-18-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
@@ -1376,22 +1387,22 @@ Generate a Board Configuration Fileubuntu@ubuntu:~$ uname -r
-5.19.0-32-generic
+command to see that the User VM is running the downloaded Ubuntu image:
+acrn@ubuntu:~$ uname -r
+6.5.0-18-generic
Then open a new terminal window and use the command to see that the Service
VM is running the acrn-kernel
Service VM image:
-acrn@vecow:~$ uname -r
-5.15.71-acrn-service-vm
+acrn@asus-MINIPC-PN64:~$ uname -r
+6.1.80-acrn-service-vm
The User VM has launched successfully. You have completed this ACRN setup.
(Optional) To shut down the User VM, run this command in the terminal that is
connected to the User VM:
-sudo poweroff
+sudo poweroff
@@ -1421,9 +1432,9 @@ Generate a Board Configuration File
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Aug 08, 2023. Published on Aug 10, 2023
+Last updated on 8月 05, 2024. Published on 8月 05, 2024
diff --git a/latest/getting-started/overview_dev.html b/latest/getting-started/overview_dev.html
index f487c685b..fd10a0042 100644
--- a/latest/getting-started/overview_dev.html
+++ b/latest/getting-started/overview_dev.html
@@ -4,7 +4,7 @@
- Configuration and Development Overview — Project ACRN™ 3.2-unstable documentation
+ Configuration and Development Overview — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
diff --git a/latest/getting-started/sample-app.html b/latest/getting-started/sample-app.html
index a38d7277a..ebe536b58 100644
--- a/latest/getting-started/sample-app.html
+++ b/latest/getting-started/sample-app.html
@@ -4,7 +4,7 @@
- Sample Application User Guide — Project ACRN™ 3.2-unstable documentation
+ Sample Application User Guide — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -770,7 +789,7 @@ Prerequisites Environment and Imagesdf command on your development computer and
verify there’s at least 30GB free disk space for building the ACRN
sample application. You may see a different Filesystem name and sizes:
-$ df -h /
+$ df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 109G 42G 63G 41% /
@@ -837,7 +856,7 @@ Make the Sample Applicationcd ~/acrn-work/acrn-hypervisor
git fetch --all
-git checkout release_3.2
+git checkout release_3.3
@@ -1035,7 +1054,7 @@ Create and Configure the ACRN Scenario$ ls MyConfiguration
+$ ls MyConfiguration
launch_user_vm_id1.sh launch_user_vm_id2.sh scenario.xml myboard.board.xml
@@ -1110,8 +1129,8 @@ Install and Run ACRN on the Target SystemWarning
The IP address of Service VM may change after executing the following command.
-cp /usr/share/doc/acrnd/examples/* /etc/systemd/network
-sudo systemctl enable --now systemd-networkd
+cp /usr/share/doc/acrnd/examples/* /etc/systemd/network
+sudo systemctl enable --now systemd-networkd
@@ -1126,7 +1145,7 @@ Install and Run ACRN on the Target Systemacrn username.
Find the Service VM’s IP address (the first IP address shown by this command):
-$ hostname -I | cut -d ' ' -f 1
+$ hostname -I | cut -d ' ' -f 1
10.0.0.200
@@ -1160,7 +1179,7 @@ Install and Run ACRN on the Target System(acrn-guest)root@ubuntu:~# hostname -I | cut -d ' ' -f 1
+(acrn-guest)root@ubuntu:~# hostname -I | cut -d ' ' -f 1
10.0.0.100
@@ -1174,7 +1193,8 @@ Install and Run ACRN on the Target Systemhistapp.py application:
-sudo python3 /root/histapp.py
+pip install "numpy<2"
+sudo python3 /root/histapp.py
At this point, the HMI_VM is running and we’ve started the HMI parts of
@@ -1276,9 +1296,9 @@
Congratulations
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Aug 03, 2023. Published on Aug 10, 2023
+Last updated on 8月 05, 2024. Published on 8月 05, 2024
diff --git a/latest/glossary.html b/latest/glossary.html
index 2420312c9..e1222ebc8 100644
--- a/latest/glossary.html
+++ b/latest/glossary.html
@@ -4,7 +4,7 @@
- Glossary of Terms — Project ACRN™ 3.2-unstable documentation
+ Glossary of Terms — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -907,9 +926,9 @@
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Aug 10, 2022. Published on Aug 10, 2023
+Last updated on 8月 10, 2022. Published on 8月 05, 2024
diff --git a/latest/index.html b/latest/index.html
index 1b7869c8e..7d7de285c 100644
--- a/latest/index.html
+++ b/latest/index.html
@@ -4,7 +4,7 @@
- Project ACRN Documentation — Project ACRN™ 3.2-unstable documentation
+ Project ACRN Documentation — Project ACRN™ 3.4-unstable documentation
@@ -60,6 +60,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -225,6 +227,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -615,6 +622,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -733,7 +752,7 @@
Project ACRN Documentation¶
-Welcome to the Project ACRN (version latest) documentation published Aug 10, 2023.
+
Welcome to the Project ACRN (version latest) documentation published Aug 05, 2024.
ACRN is a flexible, lightweight reference hypervisor, built with real-time and
safety-criticality in mind, optimized to streamline embedded development through
an open source platform.
@@ -801,9 +820,9 @@ Supported
Hardware
- © Copyright 2018-2023 Project ACRN™, a Series of LF Projects, LLC.
+
© Copyright 2018-2024 Project ACRN™, a Series of LF Projects, LLC.
-Last updated on Aug 10, 2023. Published on Aug 10, 2023
+Last updated on 8月 10, 2023. Published on 8月 05, 2024
diff --git a/latest/introduction/index.html b/latest/introduction/index.html
index 06e36b43f..ffd3e9804 100644
--- a/latest/introduction/index.html
+++ b/latest/introduction/index.html
@@ -4,7 +4,7 @@
- What Is ACRN — Project ACRN™ 3.2-unstable documentation
+ What Is ACRN — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
diff --git a/latest/misc/debug_tools/acrn_crashlog/README.html b/latest/misc/debug_tools/acrn_crashlog/README.html
index 83bc5844a..79ec7cfbb 100644
--- a/latest/misc/debug_tools/acrn_crashlog/README.html
+++ b/latest/misc/debug_tools/acrn_crashlog/README.html
@@ -4,7 +4,7 @@
- ACRN-Crashlog — Project ACRN™ 3.2-unstable documentation
+ ACRN-Crashlog — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
diff --git a/latest/misc/debug_tools/acrn_crashlog/acrnprobe/README.html b/latest/misc/debug_tools/acrn_crashlog/acrnprobe/README.html
index 064f65bb6..a40feaa5d 100644
--- a/latest/misc/debug_tools/acrn_crashlog/acrnprobe/README.html
+++ b/latest/misc/debug_tools/acrn_crashlog/acrnprobe/README.html
@@ -4,7 +4,7 @@
- Acrnprobe — Project ACRN™ 3.2-unstable documentation
+ Acrnprobe — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
diff --git a/latest/misc/debug_tools/acrn_crashlog/acrnprobe/conf.html b/latest/misc/debug_tools/acrn_crashlog/acrnprobe/conf.html
index 8ab1a64b6..cd3d6bfb0 100644
--- a/latest/misc/debug_tools/acrn_crashlog/acrnprobe/conf.html
+++ b/latest/misc/debug_tools/acrn_crashlog/acrnprobe/conf.html
@@ -4,7 +4,7 @@
- Acrnprobe Configuration — Project ACRN™ 3.2-unstable documentation
+ Acrnprobe Configuration — Project ACRN™ 3.4-unstable documentation
@@ -61,6 +61,8 @@
- latest
+ - 3.3
+
- 3.2
- 3.1
@@ -226,6 +228,11 @@
- Steps for Using Zephyr as User VM
+- Run Celadon as the User VM OS
+
- Configuration Tutorials
@@ -616,6 +623,18 @@
- Release Notes
+- ACRN v3.3 (Aug 2024)
+
- ACRN v3.2 (Aug 2023)
- What’s New in v3.2
- Upgrading to v3.2 from Previous Releases
@@ -745,46 +764,46 @@ Description¶
<?xml version="1.0" encoding="UTF-8"?>
<conf>
-Root node of configuration.
+Root node of configuration.
<senders>
-Configuration section of senders.
-<sender id='1'>Configuration of sender 1</sender>
-<sender id='2'>Configuration of sender 2</sender>
+Configuration section of senders.
+<sender id='1'>Configuration of sender 1</sender>
+<sender id='2'>Configuration of sender 2</sender>
</senders>
<triggers>
-Configuration section of triggers.
-<trigger id='1'>Configuration of trigger 1</trigger>
-<trigger id='2'>Configuration of trigger 2</trigger>
+Configuration section of triggers.
+<trigger id='1'>Configuration of trigger 1</trigger>
+<trigger id='2'>Configuration of trigger 2</trigger>
</triggers>
<vms>
-Configuration section of virtual machines.
-<vm id='1'>Configuration of vm 1</vm>
-<vm id='2'>Configuration of vm 2</vm>
+Configuration section of virtual machines.
+<vm id='1'>Configuration of vm 1</vm>
+<vm id='2'>Configuration of vm 2</vm>
</vms>
<logs>
-Configuration section of logs.
-<log id='1'>Configuration of log 1</log>
-<log id='2'>Configuration of log 2</log>
+Configuration section of logs.
+<log id='1'>Configuration of log 1</log>
+<log id='2'>Configuration of log 2</log>
</logs>
<crashes>
-Configuration section of crashes.
-Note that this section must be configured after triggers and logs, as
-crashes depend on these two sections.
-<crash id='1'>Configuration of crash 1</crash>
-<crash id='2'>Configuration of crash 2</crash>
+Configuration section of crashes.
+Note that this section must be configured after triggers and logs, as
+crashes depend on these two sections.
+<crash id='1'>Configuration of crash 1</crash>
+<crash id='2'>Configuration of crash 2</crash>
</crashes>
<infos>
-Configuration section of infos.
-Note that this section must be configured after triggers and logs, as
-infos depend on these two sections.
-<info id='1'>Configuration of info 1</info>
-<info id='2'>Configuration of info 2</info>
+Configuration section of infos.
+Note that this section must be configured after triggers and logs, as
+infos depend on these two sections.
+<info id='1'>Configuration of info 1</info>
+<info id='2'>Configuration of info 2</info>
</infos>
</conf>
@@ -902,17 +921,17 @@ Sections
Sender¶
Example:
-<sender id="1" enable="true">
- <name>crashlog</name>
- <outdir>/var/log/crashlog</outdir>
- <maxcrashdirs>1000</maxcrashdirs>
- <maxlines>5000</maxlines>
- <spacequota>90</spacequota>
- <uptime>
- <name>UPTIME</name>
- <frequency>5</frequency>
- <eventhours>6</eventhours>
- </uptime>
+<sender id="1" enable="true">
+ <name>crashlog</name>
+ <outdir>/var/log/crashlog</outdir>
+ <maxcrashdirs>1000</maxcrashdirs>
+ <maxlines>5000</maxlines>
+ <spacequota>90</spacequota>
+ <uptime>
+ <name>UPTIME</name>
+ <frequency>5</frequency>
+ <eventhours>6</eventhours>
+ </uptime>
</sender>
@@ -955,15 +974,15 @@ Sender
Trigger¶
Example:
-<trigger id="1" enable="true">
- <name>t_pstore</name>
- <type>node</type>
- <path>/sys/fs/pstore/console-ramoops-0</path>
+<trigger id="1" enable="true">
+ <name>t_pstore</name>
+ <type>node</type>
+ <path>/sys/fs/pstore/console-ramoops-0</path>
</trigger>
-<trigger id="2" enable="true">
- <name>t_acrnlog_last</name>
- <type>file</type>
- <path>/var/log/acrnlog/acrnlog_last.[*]</path>
+<trigger id="2" enable="true">
+ <name>t_acrnlog_last</name>
+ <type>file</type>
+ <path>/var/log/acrnlog/acrnlog_last.[*]</path>
</trigger>
@@ -1015,14 +1034,14 @@ Trigger
Vm¶
Example:
-<vm id="1" enable="true">
- <name>VM1</name>
- <channel>polling</channel>
- <interval>60</interval>
- <syncevent id="1">CRASH/TOMBSTONE</syncevent>
- <syncevent id="2">CRASH/UIWDT</syncevent>
- <syncevent id="3">CRASH/IPANIC</syncevent>
- <syncevent id="4">REBOOT</syncevent>
+<vm id="1" enable="true">
+ <name>VM1</name>
+ <channel>polling</channel>
+ <interval>60</interval>
+ <syncevent id="1">CRASH/TOMBSTONE</syncevent>
+ <syncevent id="2">CRASH/UIWDT</syncevent>
+ <syncevent id="3">CRASH/IPANIC</syncevent>
+ <syncevent id="4">REBOOT</syncevent>
</vm>
@@ -1042,10 +1061,10 @@ Vm¶<
Log¶
Example:
-