Date   

2020 ACRN Project Technical Community Meeting Minutes - WW22'20

Zou, Terry
 

ACRN Project TCM - 27th May 2020
Location
  1. Online by Zoom: https://zoom.com.cn/j/320664063   
Attendees (Total 33, 20/5)
 
Note: If you need to edit this document, please ask for access. We disabled anonymous editing to keep track of changes and identify who are the owners of the opens and agenda items.
Opens
Note: When adding opens or agenda items, please provide details (not only links), add your name next to the item you have added and specify your expectation from the TCM 
Agenda
  1. ACRN project update
N/A 
 
  1. “ACRN GPIO Meditator Introduction” by LIU, Long
Download foil from ACRN Presentation->ACRN_TCM->WW22’20
Description: ACRN GPIO Meditator Introduction, we will introduce GPIO virtualization on ACRN, including GPIO concept, GPIO virtualization design, architecture and GPIO IRQ virtualization implementation.
 
  1. All: Community open discussion.
Q&A: 
Q1: There is a virtual ACPI table in each User OS, which was created by ACRN device model. ARCN device model will also host physical GPIO and Virtual GPIO mapping table.
 
  1. Next meeting agenda proposal:
 
WW Topic Presenter Status
WW03 Expose and pass through platform hidden PCIs devices to SOS LI, Fei 1/15
WW08 EtherCAT 101 MAO, Junjie 2/18
WW09 How to build a Yocto based SOS on ACRN LIU, Fuzhong 2/26
WW10 CPU Sharing - BVT scheduler in ACRN Hypervisor CHEN, Conghui 3/4
WW11 ACRN Hypervisor Introduction CHEN, Jason 3/11
WW12 ACRN Configuration: scenarios and config tool SUN, Victor 3/18
WW13 ACRN Device Model Architecture Introduction LIU, Yuan 3/25
WW14 SR-IOV on ACRN LIU, Yuan 4/1
WW15 CSME virtualization Tomas 4/8
WW16 ACRN device passthrough overall introduction WU, Binbin 4/15
WW17 ACRN Debug Tool YIN, Fengwei 4/22
WW18 I2C mediator introduction CHEN, Conghui 4/29
WW19 USB mediator Introduction LIU, Long 5/6
WW20 Meta-ACRN project introduction Saini, Naveen Kumar 5/13
WW21 GVT-d Overview ZHAO, Yakui 5/20
WW22 GPIO mediator introduction LIU, Long 5/27
WW23 CPU sharing – framework LIU, Shuo 6/3
WW24 ACRN security related features and roadmap CHEN, Jason 6/10
WW25 ACRN secure boot WU, Binbin 6/17
WW26 ACRN and VMs Sx states handling YIN, Fengwei 6/23
Marketing/Events
  1. N/A
Resources
  1. Project URL: 
  1. Portal: https://projectacrn.org   
  2. Source code: https://github.com/projectacrn   
  3. email: info@...g 
  4. Technical Mailing list: acrn-dev@...g 
 
========================
 
 


Re: Debugging the UOS

Tomasz Bursztyka
 

Hi Fengwei,

Zephyr does not support kgdb no.

About the RT, I need it because currently only LOAPIC timer works
properly in Zephyr on top of ACRN and thus requires the loapic pass-
through.

Best regards,

Tomasz

Hi Tomasz,

On Tue, 26 May 2020 09:09:20 +0200
Tomasz Bursztyka <tomasz.bursztyka@...> wrote:

Hi,

So as the title says I am bit stuck on how to debug a UOS
efficiently.

I could not find a way to get a gdb server available for the
UOS, besides for linux which requires to be built with kgdb support
if
I understood well(?).

But I am running zephyr as UOS.
And using only printk() is a no go, not because it's the poor man's
solution but because when the vm crashes, I will not be able to
stop
it with acrn-dm (even with -f). The only way to recover is to
reboot
the entire setup (acrn runs on up squared). It takes then a lot of
time, too much time in fact.

What would be a better method?
My understanding is that you want to debug UOS (which is zephyr)
itself.
There are two thing need check:
1. Whether zephyr could support kgdb like debug methodology?
2. If it could, because the limitation that ACRN doesn't support
hardware debugging register, only software breakpoint could be
used.

Talking about UOS can't be stopped, if you doesn't care real time
performance (I suppose this is likely true), you can start zephyr as
standard guest. Then you could try to kill acrn-dm to restart UOS.
If you want to shutdown it. a minor change to acrn-dm could achieve
that.


Regards
Yin, Fengwei

Br,

Tomasz




Re: Debugging the UOS

Yin, Fengwei <fengwei.yin@...>
 

Hi Tomasz,

On Tue, 26 May 2020 09:09:20 +0200
Tomasz Bursztyka <tomasz.bursztyka@...> wrote:

Hi,

So as the title says I am bit stuck on how to debug a UOS efficiently.

I could not find a way to get a gdb server available for the
UOS, besides for linux which requires to be built with kgdb support if
I understood well(?).

But I am running zephyr as UOS.
And using only printk() is a no go, not because it's the poor man's
solution but because when the vm crashes, I will not be able to stop
it with acrn-dm (even with -f). The only way to recover is to reboot
the entire setup (acrn runs on up squared). It takes then a lot of
time, too much time in fact.

What would be a better method?
My understanding is that you want to debug UOS (which is zephyr) itself.
There are two thing need check:
1. Whether zephyr could support kgdb like debug methodology?
2. If it could, because the limitation that ACRN doesn't support
hardware debugging register, only software breakpoint could be used.

Talking about UOS can't be stopped, if you doesn't care real time
performance (I suppose this is likely true), you can start zephyr as
standard guest. Then you could try to kill acrn-dm to restart UOS.
If you want to shutdown it. a minor change to acrn-dm could achieve
that.


Regards
Yin, Fengwei


Br,

Tomasz




Re: Debugging the UOS

Zou, Terry
 

Hi Tomasz, yes, in our regular release with default industrial config e.g., v1.6.1, we already enabled gdb in both service os, and guest os, but all based on Clear Linux. So from acrn hypervisor perspective, i think there should be no limitation, especially for UOS debug.
We did not try Zephyr gdb yet, but normally if Zephyr support/build gdb in image(suppose doable in zephyr native), it should works as guest. Anyway will double check with Zephyr for more debug experience, keep you updated then, thanks.


Debugging the UOS

Tomasz Bursztyka
 

Hi,

So as the title says I am bit stuck on how to debug a UOS efficiently.

I could not find a way to get a gdb server available for the
UOS, besides for linux which requires to be built with kgdb support if
I understood well(?).

But I am running zephyr as UOS.
And using only printk() is a no go, not because it's the poor man's
solution but because when the vm crashes, I will not be able to stop it
with acrn-dm (even with -f). The only way to recover is to reboot the
entire setup (acrn runs on up squared). It takes then a lot of time,
too much time in fact.

What would be a better method?

Br,

Tomasz


2020 ACRN Project Technical Community Meeting Minutes - WW21'20

Zou, Terry
 

ACRN Project TCM - 20th May 2020
Location
Attendees (Total 38, 20/5)
 
Note: If you need to edit this document, please ask for access. We disabled anonymous editing to keep track of changes and identify who are the owners of the opens and agenda items.
Opens
Note: When adding opens or agenda items, please provide details (not only links), add your name next to the item you have added and specify your expectation from the TCM 
Agenda
  1. ACRN project update
N/A 
 
  1. “ACRN GVT-d Introduction and Tutorial” by ZHAO, Yakui
Download foil from ACRN Presentation->ACRN_TCM->WW21’20
Description: ACRN GVT-d overview Architecture Introduction and Tutorial, we will talk about what is GVT-d, the design in ACRN and demonstrate how to enable it in ACRN.
 
  1. All: Community open discussion.
Q&A: 
Q1: GVT-g and GVT-d are both supported on ACRN, you can choose/config either GVT-g for multi-display/VM, or GVT-d for one display/VM with better graphic performance, based on your real user scenario.
Q2: After config/passthru GPU to one UOS, if the UOS is shut down, we don’t recommend returning the GPU(i915 driver) back to SOS, but resume the UOS quickly.
Q3: Solen memory for GTV-d, reserved specific memory range(64M) for UOS and built EPT to map memory addresses.
Q4: Performance comparison of GVT-d and GVT-g:  there is extra performance overhead with GVT-g, but GVT-d is almost the same performance as native.
Q5: gvt-d, is there any dependency on specific OS drivers (either in windows or Linux) ? or just native GPU drivers ?  No specific dependency, just use native GPU driver.
 
  1. Next meeting agenda proposal:
 
WW Topic Presenter Status
WW03 Expose and pass through platform hidden PCIs devices to SOS LI, Fei 1/15
WW08 EtherCAT 101 MAO, Junjie 2/18
WW09 How to build a Yocto based SOS on ACRN LIU, Fuzhong 2/26
WW10 CPU Sharing - BVT scheduler in ACRN Hypervisor CHEN, Conghui 3/4
WW11 ACRN Hypervisor Introduction CHEN, Jason 3/11
WW12 ACRN Configuration: scenarios and config tool SUN, Victor 3/18
WW13 ACRN Device Model Architecture Introduction LIU, Yuan 3/25
WW14 SR-IOV on ACRN LIU, Yuan 4/1
WW15 CSME virtualization Tomas 4/8
WW16 ACRN device passthrough overall introduction WU, Binbin 4/15
WW17 ACRN Debug Tool YIN, Fengwei 4/22
WW18 I2C mediator introduction CHEN, Conghui 4/29
WW19 USB mediator Introduction LIU, Long 5/6
WW20 Meta-ACRN project introduction Saini, Naveen Kumar 5/13
WW21 GVT-d Overview ZHAO, Yakui 5/20
WW22 GPIO mediator introduction LIU, Long 5/27
WW23 CPU sharing – framework LIU, Shuo 6/3
WW24 ACRN security related features and roadmap CHEN, Jason 6/10
WW25 ACRN secure boot WU, Binbin 6/17
WW26 ACRN and VMs Sx states handling YIN, Fengwei 6/23
Marketing/Events
  1. N/A
Resources
  1. Project URL: 
  1. Portal: https://projectacrn.org   
  2. Source code: https://github.com/projectacrn   
  3. email: info@... 
  4. Technical Mailing list: acrn-dev@... 
 
========================
 
 


2020 ACRN Project Technical Community Meeting Minutes - WW20'20

Zou, Terry
 

ACRN Project TCM - 13th May 2020
Location
Attendees (Total 32, 13/5)
Note: If need to edit this document, please ask for access. We disabled anonymous editing to keep track of changes and identify who are the owners of the opens and agenda items.
Opens
Note: When adding opens or agenda items, please provide details (not only links), add your name next to the item you have added and specify your expectation from the TCM 
Agenda
  1. ACRN project update 
[Announce] ACRN Open Source Ver1.6.1 Release on 12th-May
  • ACRN can now use libvirt to support VM orchestration based on OpenStack.  Refer to the ACRN-libvirt repo for more information.
  • CPU sharing and GVT-d are now enabled by default.
  • Platforms with multiple IO-APICs are supported.
  • VT-d Posted interrupts are supported.
  1. Meta-ACRN project introduction” by Saini, Naveen Kumar
Download foil from ACRN Presentation->ACRN_TCM->WW20’20
Description: Yocto meta-acrn layer Introduction, we will  talk about purpose of this layer and it’s internals, how to configure and build Service OS & User OS and finally boot flow.  We will cover a quick intro about Yocto project as well.
 
  1. All: Community open discussion.
Q&A: N/A 
 
  1. Next meeting agenda proposal:
 
WW Topic Presenter Status
WW03 Expose and pass through platform hidden PCIs devices to SOS LI, Fei 1/15
WW08 EtherCAT 101 MAO, Junjie 2/18
WW09 How to build a Yocto based SOS on ACRN LIU, Fuzhong 2/26
WW10 CPU Sharing - BVT scheduler in ACRN Hypervisor CHEN, Conghui 3/4
WW11 ACRN Hypervisor Introduction CHEN, Jason 3/11
WW12 ACRN Configuration: scenarios and config tool SUN, Victor 3/18
WW13 ACRN Device Model Architecture Introduction LIU, Yuan 3/25
WW14 SR-IOV on ACRN LIU, Yuan 4/1
WW15 CSME virtualization Tomas 4/8
WW16 ACRN device passthrough overall introduction WU, Binbin 4/15
WW17 ACRN Debug Tool YIN, Fengwei 4/22
WW18 I2C mediator introduction CHEN, Conghui 4/29
WW19 USB mediator Introduction LIU, Long 5/6
WW20 Meta-ACRN project introduction Saini, Naveen Kumar 5/13
WW21 GVT-d Overview ZHAO, Yakui 5/20
WW22 GPIO mediator introduction LIU, Long 5/27
WW23 CPU sharing – framework LIU, Shuo 6/3
WW24 ACRN security related features and roadmap CHEN, Jason 6/10
WW25 ACRN secure boot WU, Binbin 6/17
WW26 ACRN and VMs Sx states handling YIN, Fengwei 6/23
Marketing/Events
  1. N/A
Resources
  1. Project URL: 
  1. Portal: https://projectacrn.org   
  2. Source code: https://github.com/projectacrn   
  3. email: info@...g 
  4. Technical Mailing list: acrn-dev@...g 
========================
 


[Announce] ACRN Open Source Ver1.6.1 Release Notes

Zou, Terry
 

Hi all,

 

We are very pleased to announce Version 1.6.1 release of ACRN. You can see the release blog from https://projectacrn.org/blog/ and detailed Release Notes in website https://projectacrn.github.io/latest/release_notes/release_notes_1.6.1.html

 

Version 1.6.1 features:

  • ACRN can now use libvirt to support VM orchestration based on OpenStack.

Libvirt is an open-source API library, daemon (libvirtd), and a command-line management tool (virsh) that decouples specific orchestrators (such as OpenStack) and hypervisors (such as ACRN). Our adding an “ACRN driver” allows libvirt to support ACRN. A libvirt based orchestrator can configure an ACRN guest domain’s CPU configuration during VM creation. We also support dynamic configuration for vCPU affinity via the ACRN Device Manager (acrn-dm). The ACRN configuration tool is also updated based on VM orchestration support. Refer to the ACRN-libvirt repo for more information.

  • CPU sharing and GVT-d are now enabled by default.
  • Platforms with multiple IO-APICs are supported.
  • VT-d Posted interrupts are supported.

Documentation Updates: many new and updated reference documents are available, including:

 

To learn more about ACRN: 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. Check out the ACRN project portal (https://projectacrn.org/) for more information.

 

Best & Regards

Terry


2020 ACRN Project Technical Community Meeting Minutes - WW19'20

Zou, Terry
 

ACRN Project TCM - 6th May 2020
Location
Attendees (Total 32, 6/5)
 
Note: If need to edit this document, please ask for access. We disabled anonymous editing to keep track of changes and identify who are the owners of the opens and agenda items.
Opens
Note: When adding opens or agenda items, please provide details (not only links), add your name next to the item you have added and specify your expectation from the TCM 
Agenda
  1. ACRN project update 
N/A
 
  1. ACRN USB Meditator introduction” by LIU, Long
Download foil from ACRN Presentation->ACRN_TCM->WW19’20
Description: ACRN USB Meditator introduction, we will talk about the architecture of USB Meditator. Give brief introduce to USB native architecture, USB xHCI virtualization architecture and xDCI virtualization architecture.
 
  1. All: Community open discussion.
Q&A: 
Q1: USB mediator performance overhead VS native: the performance depends on the configuration and user scenarios, basically with USB virtualization, performance may be 80% for USB storage reading, writing maybe higher.
 
  1. Next meeting agenda proposal:
 
WW Topic Presenter Status
WW03 Expose and pass through platform hidden PCIs devices to SOS LI, Fei 1/15
WW08 EtherCAT 101 MAO, Junjie 2/18
WW09 How to build a Yocto based SOS on ACRN LIU, Fuzhong 2/26
WW10 CPU Sharing - BVT scheduler in ACRN Hypervisor CHEN, Conghui 3/4
WW11 ACRN Hypervisor Introduction CHEN, Jason 3/11
WW12 ACRN Configuration: scenarios and config tool SUN, Victor 3/18
WW13 ACRN Device Model Architecture Introduction LIU, Yuan 3/25
WW14 SR-IOV on ACRN LIU, Yuan 4/1
WW15 CSME virtualization Tomas 4/8
WW16 ACRN device passthrough overall introduction WU, Binbin 4/15
WW17 ACRN Debug Tool YIN, Fengwei 4/22
WW18 I2C mediator introduction CHEN, Conghui 4/29
WW19 USB mediator Introduction LIU, Long 5/6
WW20 Meta-ACRN project introduction Saini, Naveen Kumar 5/13
WW21 GVT-d Overview ZHAO, Yakui 5/20
WW22 GPIO mediator introduction LIU, Long 5/27
WW23 CPU sharing – framework LIU, Shuo 6/3
WW24 ACRN security related features and roadmap CHEN, Jason 6/10
WW25 ACRN secure boot WU, Binbin 6/17
WW26 ACRN and VMs Sx states handling YIN, Fengwei 6/23
Marketing/Events
  1. N/A
Resources
  1. Project URL: 
  1. Portal: https://projectacrn.org   
  2. Source code: https://github.com/projectacrn   
  3. email: info@...g 
  4. Technical Mailing list: acrn-dev@...g 
 
 


Re: HPET and IRQs

Tomasz Bursztyka
 

Hi Zide,

From which log? From kernel's one at least I get this:
[ 0.000000] tsc: Detected 1094.000 MHz processor
[ 0.000054] tsc: Detected 1094.400 MHz TSC, current tsc:18670612749

So far my attempts to tweak the sys clock config option did not change
the result.

Br,

Tomasz

Hi Tomasz,

Additional to Like's comments, to calibrate the timer, if you have
serial HV console, you can get the TSC frequency from the log. For
example:
calibrate_tsc, tsc_khz=1593600

Then you need to change the Zephyr code accordingly. In this example,
set CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=1593600000
https://github.com/zephyrproject-rtos/zephyr/blob/master/boards/x86/acrn/acrn_defconfig#L13

Best Regards,
Zide

-----Original Message-----
From: acrn-users@... <
acrn-users@...> On Behalf Of Tomasz Bursztyka
Sent: Tuesday, April 28, 2020 5:19 AM
To: acrn-users@...
Subject: [acrn-users] HPET and IRQs

Hi,

I am currently trying to fix an issue with Zephyr running as UOS.

The default configuration of Zephyr for acrn enables the LOAPIC
timer,
but there does not seem to be any mention of such timer in acrn.
Unless
I am missing something.
When running zephyr with such timer, the timing get all bogus. 60
seconds looks like 5 seconds, etc... Timings are all off.

As HPET is supported by acrn, I switched the timer to HPET. But now
I
have a new issue, acrn-dm displays:

hpet t0 configured invalid irq 2, allowed_irqs 0xff000000

And nothing proceeds, since acrn defaults to 0, zephyr isr for hpet
is
never called.

Indeed Zephyr sets HPET IRQ to 2, which seems to be wrong then for
acrn
.

Which IRQ should HPET timer be configured to use on UOS side then?


Thanks,

Tomasz




Re: HPET and IRQs

Yan, Like
 

I thought we have a document talking about the VM type definitions and constraints.
Let me check first, we will add one if it's not there.

-----Original Message-----
From: acrn-users@... <acrn-users@...> On
Behalf Of Geoffroy Van Cutsem
Sent: Thursday, April 30, 2020 4:36 PM
To: acrn-users@...
Subject: Re: [acrn-users] HPET and IRQs



-----Original Message-----
From: acrn-users@...
<acrn-users@...>
On Behalf Of Yan, Like
Sent: Wednesday, April 29, 2020 5:24 PM
To: acrn-users@...
Subject: Re: [acrn-users] HPET and IRQs

Hi Tomasz,

If you launched VM with --lapic_pt, then it's a RT VM.
An RT VM is only allowed to be powered-off/reset when initiated inside
the RT VM. The design principle here is that the other VMs (even the
SOS VM) should not interfere RT VM to guarantee the RT performance.
And there are some limitations as to RT VM, legacy devices are not
supported, such as vHPET.
Here are 2 documents for RT VM:
https://projectacrn.github.io/latest/tutorials/rtvm_workload_design_gu
ideli
ne.html
https://projectacrn.github.io/latest/tutorials/rtvm_performance_tips.h
tml
Thanks for the information Like. I was suspecting this but couldn't find a
good reference about this in our documentation. The couple of documents
you referenced above provide some good background information and
useful tips on how to run RTVMs on ACRN. It does not really talk about what
this limitation for example. It would be great to have some High-Level Design
Guide that talk more extensively about the different types of User VMs: i.e.
pre-launched, post-launched and RTVM vs. "normal" User VMs.

Is this something we can plan to add?

Thanks,
Geoffroy



Thanks,
Like

-----Original Message-----
From: acrn-users@...
<acrn-users@...> On Behalf Of Tomasz Bursztyka
Sent: Wednesday, April 29, 2020 2:37 PM
To: acrn-users@...
Subject: Re: [acrn-users] HPET and IRQs

Hi Like,

VM or RT VM, I don't know. It did not occur to me there was an
actual difference, I just used the launcher script for zephyr. I'll check.

I could get LAPIC (which we indeed call LOAPIC) to work using --
lapic_pt option to acrn-dm. But then I am unable to
stop/reset/delete the VM for some reason (even with --force on stop, it
always returns -1).

I'll still investigate about HPET. It "should" work, and if Zephyr
is missing some support - runtime calibration that is - then it will
be worth
adding it.

Thanks for the inputs,

Tomasz






Re: HPET and IRQs

Geoffroy Van Cutsem
 

-----Original Message-----
From: acrn-users@... <acrn-users@...>
On Behalf Of Yan, Like
Sent: Wednesday, April 29, 2020 5:24 PM
To: acrn-users@...
Subject: Re: [acrn-users] HPET and IRQs

Hi Tomasz,

If you launched VM with --lapic_pt, then it's a RT VM.
An RT VM is only allowed to be powered-off/reset when initiated inside the
RT VM. The design principle here is that the other VMs (even the SOS VM)
should not interfere RT VM to guarantee the RT performance.
And there are some limitations as to RT VM, legacy devices are not
supported, such as vHPET.
Here are 2 documents for RT VM:
https://projectacrn.github.io/latest/tutorials/rtvm_workload_design_guideli
ne.html
https://projectacrn.github.io/latest/tutorials/rtvm_performance_tips.html
Thanks for the information Like. I was suspecting this but couldn't find a good reference about this in our documentation. The couple of documents you referenced above provide some good background information and useful tips on how to run RTVMs on ACRN. It does not really talk about what this limitation for example. It would be great to have some High-Level Design Guide that talk more extensively about the different types of User VMs: i.e. pre-launched, post-launched and RTVM vs. "normal" User VMs.

Is this something we can plan to add?

Thanks,
Geoffroy



Thanks,
Like

-----Original Message-----
From: acrn-users@...
<acrn-users@...> On Behalf Of Tomasz Bursztyka
Sent: Wednesday, April 29, 2020 2:37 PM
To: acrn-users@...
Subject: Re: [acrn-users] HPET and IRQs

Hi Like,

VM or RT VM, I don't know. It did not occur to me there was an actual
difference, I just used the launcher script for zephyr. I'll check.

I could get LAPIC (which we indeed call LOAPIC) to work using --
lapic_pt option to acrn-dm. But then I am unable to stop/reset/delete
the VM for some reason (even with --force on stop, it always returns -1).

I'll still investigate about HPET. It "should" work, and if Zephyr is
missing some support - runtime calibration that is - then it will be worth
adding it.

Thanks for the inputs,

Tomasz





Re: HPET and IRQs

Yan, Like
 

Hi Tomasz,

If you launched VM with --lapic_pt, then it's a RT VM.
An RT VM is only allowed to be powered-off/reset when initiated inside the RT VM. The design principle here is that the other VMs (even the SOS VM) should not interfere RT VM to guarantee the RT performance.
And there are some limitations as to RT VM, legacy devices are not supported, such as vHPET.
Here are 2 documents for RT VM:
https://projectacrn.github.io/latest/tutorials/rtvm_workload_design_guideline.html
https://projectacrn.github.io/latest/tutorials/rtvm_performance_tips.html

Thanks,
Like

-----Original Message-----
From: acrn-users@... <acrn-users@...> On
Behalf Of Tomasz Bursztyka
Sent: Wednesday, April 29, 2020 2:37 PM
To: acrn-users@...
Subject: Re: [acrn-users] HPET and IRQs

Hi Like,

VM or RT VM, I don't know. It did not occur to me there was an actual
difference, I just used the launcher script for zephyr. I'll check.

I could get LAPIC (which we indeed call LOAPIC) to work using -- lapic_pt
option to acrn-dm. But then I am unable to stop/reset/delete the VM for
some reason (even with --force on stop, it always returns -1).

I'll still investigate about HPET. It "should" work, and if Zephyr is missing
some support - runtime calibration that is - then it will be worth adding it.

Thanks for the inputs,

Tomasz




2020 ACRN Project Technical Community Meeting Minutes - WW18'20

Zou, Terry
 

Special Notes: If you have Zoom connection issue by using web browser, please launch Zoom application, manually input the meeting ID (320664063) to join the Zoom meeting.
Zoom connection is not stable recently, sorry for the network issue during today’s meeting. If anybody have similar Zoom connection issue or good suggestion for alternative tools, feel free to discuss in mailing list, thanks.
ACRN Project TCM - 29th Apr 2020
Location
Attendees (Total 30, 29/4)
Note: If need to edit this document, please ask for access. We disabled anonymous editing to keep track of changes and identify who are the owners of the opens and agenda items.
Opens
Note: When adding opens or agenda items, please provide details (not only links), add your name next to the item you have added and specify your expectation from the TCM 
Agenda
  1. ACRN project update 
N/A
 
  1. “I2C Mediator Introduction” by CHEN, Conghui
Download foil from ACRN Presentation->ACRN_TCM->WW18’20
Description: ACRN virtio-i2c introduction, we will talk about the background and architecture of virtio-i2c. Give brief introduce to virtio-i2c FE and BE implementation. Talk about the virtqueue used by virtio-i2c.
 
  1. All: Community open discussion.
Q&A: 
Q1: Guest can only dump i2c resources assigned to this guest.
 
  1. Next meeting agenda proposal:
 
WW Topic Presenter Status
WW03 Expose and pass through platform hidden PCIs devices to SOS LI, Fei 1/15
WW08 EtherCAT 101 MAO, Junjie 2/18
WW09 How to build a Yocto based SOS on ACRN LIU, Fuzhong 2/26
WW10 CPU Sharing - BVT scheduler in ACRN Hypervisor CHEN, Conghui 3/4
WW11 ACRN Hypervisor Introduction CHEN, Jason 3/11
WW12 ACRN Configuration: scenarios and config tool SUN, Victor 3/18
WW13 ACRN Device Model Architecture Introduction LIU, Yuan 3/25
WW14 SR-IOV on ACRN LIU, Yuan 4/1
WW15 CSME virtualization Tomas 4/8
WW16 ACRN device passthrough overall introduction WU, Binbin 4/15
WW17 ACRN Debug Tool YIN, Fengwei 4/22
WW18 I2C mediator introduction CHEN, Conghui 4/29
WW19 USB Meditator LIU, Long 5/6
WW20 Meta-ACRN project introduction Saini, Naveen Kumar 5/13
WW21 GVT-d Overview ZHAO, Yakui 5/20
WW22 GPIO mediator introduction LIU, Long 5/27
WW23 CPU sharing – framework LIU, Shuo 6/3
WW24 ACRN security related features and roadmap CHEN, Jason 6/10
WW25 ACRN secure boot WU, Binbin 6/17
WW26 ACRN and VMs Sx states handling YIN, Fengwei 6/23
Marketing/Events
  1. N/A
Resources
  1. Project URL: 
  1. Portal: https://projectacrn.org   
  2. Source code: https://github.com/projectacrn   
  3. email: info@...g 
  4. Technical Mailing list: acrn-dev@...g 
 
========================
 


Re: Issue on latest Clear Linux and ACRN on UP2 board

Geoffroy Van Cutsem
 

-----Original Message-----
From: acrn-users@... <acrn-users@...>
On Behalf Of Tomasz Bursztyka
Sent: Tuesday, April 28, 2020 1:33 PM
To: acrn-users@...
Subject: Re: [acrn-users] Issue on latest Clear Linux and ACRN on UP2 board

Hi,

I think this has to do with the UP2 UEFI firmware, it gives me problem
on my UP2 board. I could never figure out what sequence of commands
would reliably set the boot order correctly but I also very often see
that setting a new entry with efibootmgr looks alright, until you
reboot and the boot order was changed (I suspect by the firmware
itself). It seems that I have had better luck with adding a new boot
entry *and* changing the boot order (efibootmgr -o).

Net net, your installation is most likely just fine but you're dealing
with a capricious EFI firmware.
Good to know I am not the only one who got this issue.

Maybe it would be worth mentioning it in the up2 doc section of acrn then.
I agree, I thought it was mainly my board up until now but I have had similar reports from others since then. I've added a note (PR still pending): https://github.com/projectacrn/acrn-hypervisor/pull/4747

Geoffroy


Tomasz



Re: HPET and IRQs

Chen, Zide
 

Hi Tomasz,

Additional to Like's comments, to calibrate the timer, if you have serial HV console, you can get the TSC frequency from the log. For example:
calibrate_tsc, tsc_khz=1593600

Then you need to change the Zephyr code accordingly. In this example, set CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=1593600000
https://github.com/zephyrproject-rtos/zephyr/blob/master/boards/x86/acrn/acrn_defconfig#L13

Best Regards,
Zide

-----Original Message-----
From: acrn-users@... <acrn-users@...> On Behalf Of Tomasz Bursztyka
Sent: Tuesday, April 28, 2020 5:19 AM
To: acrn-users@...
Subject: [acrn-users] HPET and IRQs

Hi,

I am currently trying to fix an issue with Zephyr running as UOS.

The default configuration of Zephyr for acrn enables the LOAPIC timer,
but there does not seem to be any mention of such timer in acrn. Unless
I am missing something.
When running zephyr with such timer, the timing get all bogus. 60
seconds looks like 5 seconds, etc... Timings are all off.

As HPET is supported by acrn, I switched the timer to HPET. But now I
have a new issue, acrn-dm displays:

hpet t0 configured invalid irq 2, allowed_irqs 0xff000000

And nothing proceeds, since acrn defaults to 0, zephyr isr for hpet is
never called.

Indeed Zephyr sets HPET IRQ to 2, which seems to be wrong then for acrn
.

Which IRQ should HPET timer be configured to use on UOS side then?


Thanks,

Tomasz



Re: HPET and IRQs

Tomasz Bursztyka
 

Hi Like,

VM or RT VM, I don't know. It did not occur to me there was an actual
difference, I just used the launcher script for zephyr. I'll check.

I could get LAPIC (which we indeed call LOAPIC) to work using --
lapic_pt option to acrn-dm. But then I am unable to stop/reset/delete
the VM for some reason (even with --force on stop, it always returns
-1).

I'll still investigate about HPET. It "should" work, and if Zephyr is
missing some support - runtime calibration that is - then it will be
worth adding it.

Thanks for the inputs,

Tomasz


Re: HPET and IRQs

Yan, Like
 

Hi Tomasz,

Please find my response inline.
One question, are you running Zephyr on standard VM or RT VM?

Thanks,
Like

-----Original Message-----
From: acrn-users@... <acrn-users@...> On
Behalf Of Tomasz Bursztyka
Sent: Tuesday, April 28, 2020 8:19 PM
To: acrn-users@...
Subject: [acrn-users] HPET and IRQs

Hi,

I am currently trying to fix an issue with Zephyr running as UOS.

The default configuration of Zephyr for acrn enables the LOAPIC timer, but
there does not seem to be any mention of such timer in acrn. Unless I am
missing something.
[Like] LOAPIC is short for local APIC, right? In ACRN, we use LAPIC instead.

When running zephyr with such timer, the timing get all bogus. 60 seconds
looks like 5 seconds, etc... Timings are all off.
[Like] As I know, zephyr won't do runtime timer calibration. You may need to do the calibration manually, and update the code to the correct timer frequency.


As HPET is supported by acrn, I switched the timer to HPET. But now I have a
new issue, acrn-dm displays:

hpet t0 configured invalid irq 2, allowed_irqs 0xff000000

And nothing proceeds, since acrn defaults to 0, zephyr isr for hpet is never
called.

Indeed Zephyr sets HPET IRQ to 2, which seems to be wrong then for acrn .

Which IRQ should HPET timer be configured to use on UOS side then?
[Like] HPET may use IRQ 24~31. As well, HPET calibration is needed, so we recommend you to use the LAPIC timer.




Thanks,

Tomasz



HPET and IRQs

Tomasz Bursztyka
 

Hi,

I am currently trying to fix an issue with Zephyr running as UOS.

The default configuration of Zephyr for acrn enables the LOAPIC timer,
but there does not seem to be any mention of such timer in acrn. Unless
I am missing something.
When running zephyr with such timer, the timing get all bogus. 60
seconds looks like 5 seconds, etc... Timings are all off.

As HPET is supported by acrn, I switched the timer to HPET. But now I
have a new issue, acrn-dm displays:

hpet t0 configured invalid irq 2, allowed_irqs 0xff000000

And nothing proceeds, since acrn defaults to 0, zephyr isr for hpet is
never called.

Indeed Zephyr sets HPET IRQ to 2, which seems to be wrong then for acrn
.

Which IRQ should HPET timer be configured to use on UOS side then?


Thanks,

Tomasz


Re: Issue on latest Clear Linux and ACRN on UP2 board

Tomasz Bursztyka
 

Hi,

I think this has to do with the UP2 UEFI firmware, it gives me
problem on my UP2 board. I could never figure out what sequence of
commands would reliably set the boot order correctly but I also very
often see that setting a new entry with efibootmgr looks alright,
until you reboot and the boot order was changed (I suspect by the
firmware itself). It seems that I have had better luck with adding a
new boot entry *and* changing the boot order (efibootmgr -o).

Net net, your installation is most likely just fine but you're
dealing with a capricious EFI firmware.
Good to know I am not the only one who got this issue.

Maybe it would be worth mentioning it in the up2 doc section of acrn
then.

Tomasz

541 - 560 of 1228