Prezentacja Adama Zygadlewicza z 26.marca 2009r z 3. spotkania "XRAii - Prześwietlamy Internet. W Rzeszowie" o tworzeniu start-upów z perspektywy firmy developerskiej. Podzielił się doświadczeniami w kwestiach marketingu i CRM.
Laporan Kegiatan PKM
"Workshop Pelatihan Penulisan Karya Ilmiah E-Jurnal Kepada Mahasiswa Biologi STKIP PGRI Banjarmasin" yang diikuti oleh Nana Citrawati Lestari, S.Si., M.Pd.
Qual a importância do Design de UX para desenvolver projetos digitaisFrancisco Esperança
Lançamos neste post o 1º Ebook deste Portal – Qual a importância do Design de UX para desenvolver projetos digitais produzido exclusivamente pela Equipe Sobretech. O tema é algo muito pouco falado mais de extrema importância para quem trabalha com desenvolvimento de sites e midias digitais o Design de UX ou Design voltado para Experiência do Usuário.
Mfuse - Building & Managing Mobile Solutions - Whitepaper - Oct 12Mfuse Limited
This whitepaper examines the wide-ranging challenges faced by leading enterprise and B2C businesses in building and managing complex mobile solutions and also discusses the approach taken by Mfuse to tackle them using its advanced Mobile Application Development Platform.
This is a presentation of the work we have done for Oscaro. We are using this presentation to apply for the Google AdWords Awards in the category Growing Businesses Online.
Static partitioning is used to split an embedded system into multiple domains, each of them having access only to a portion of the hardware on the SoC. It is key to enable mixed-criticality scenarios, where a critical application, often based on a small RTOS, runs alongside a larger non-critical app, typically based on Linux. The two domains cannot interfere with each other.
This talk will explain how to use Xen for static partitioning. It will introduce dom0-less, a new Xen feature written for the purpose. Dom0-less allows multiple VMs to start at boot time directly from the Xen hypervisor, decreasing boot times drastically. It makes it very easy to partition the system without virtualization overhead. Dom0 becomes unnecessary.
This presentation will go into details on how to setup a Xen dom0-less system. It will show configuration examples and explain device assignment. The talk will discuss its implications for latency-sensitive and safety-critical environments.
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...The Linux Foundation
TrenchBoot is a cross-community OSS integration project for hardware-rooted, late launch integrity of open and proprietary systems. It provides a general purpose, open-source DRTM kernel for measured system launch and attestation of device integrity to trust-centric access infrastructure. TrenchBoot closes the UEFI Measurement Gap and reduces the need to trust system firmware. This talk will introduce TrenchBoot architecture and a recent collaboration with Oracle to launch the Linux kernel directly with Intel TXT or AMD SVM Secure Launch. It will propose mechanisms for integrating the Xen hypervisor into a TrenchBoot system launch. DRTM-enabled capabilities for client, server and embedded platforms will be presented for consideration by the Xen community.
Prezentacja Adama Zygadlewicza z 26.marca 2009r z 3. spotkania "XRAii - Prześwietlamy Internet. W Rzeszowie" o tworzeniu start-upów z perspektywy firmy developerskiej. Podzielił się doświadczeniami w kwestiach marketingu i CRM.
Laporan Kegiatan PKM
"Workshop Pelatihan Penulisan Karya Ilmiah E-Jurnal Kepada Mahasiswa Biologi STKIP PGRI Banjarmasin" yang diikuti oleh Nana Citrawati Lestari, S.Si., M.Pd.
Qual a importância do Design de UX para desenvolver projetos digitaisFrancisco Esperança
Lançamos neste post o 1º Ebook deste Portal – Qual a importância do Design de UX para desenvolver projetos digitais produzido exclusivamente pela Equipe Sobretech. O tema é algo muito pouco falado mais de extrema importância para quem trabalha com desenvolvimento de sites e midias digitais o Design de UX ou Design voltado para Experiência do Usuário.
Mfuse - Building & Managing Mobile Solutions - Whitepaper - Oct 12Mfuse Limited
This whitepaper examines the wide-ranging challenges faced by leading enterprise and B2C businesses in building and managing complex mobile solutions and also discusses the approach taken by Mfuse to tackle them using its advanced Mobile Application Development Platform.
This is a presentation of the work we have done for Oscaro. We are using this presentation to apply for the Google AdWords Awards in the category Growing Businesses Online.
Static partitioning is used to split an embedded system into multiple domains, each of them having access only to a portion of the hardware on the SoC. It is key to enable mixed-criticality scenarios, where a critical application, often based on a small RTOS, runs alongside a larger non-critical app, typically based on Linux. The two domains cannot interfere with each other.
This talk will explain how to use Xen for static partitioning. It will introduce dom0-less, a new Xen feature written for the purpose. Dom0-less allows multiple VMs to start at boot time directly from the Xen hypervisor, decreasing boot times drastically. It makes it very easy to partition the system without virtualization overhead. Dom0 becomes unnecessary.
This presentation will go into details on how to setup a Xen dom0-less system. It will show configuration examples and explain device assignment. The talk will discuss its implications for latency-sensitive and safety-critical environments.
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...The Linux Foundation
TrenchBoot is a cross-community OSS integration project for hardware-rooted, late launch integrity of open and proprietary systems. It provides a general purpose, open-source DRTM kernel for measured system launch and attestation of device integrity to trust-centric access infrastructure. TrenchBoot closes the UEFI Measurement Gap and reduces the need to trust system firmware. This talk will introduce TrenchBoot architecture and a recent collaboration with Oracle to launch the Linux kernel directly with Intel TXT or AMD SVM Secure Launch. It will propose mechanisms for integrating the Xen hypervisor into a TrenchBoot system launch. DRTM-enabled capabilities for client, server and embedded platforms will be presented for consideration by the Xen community.
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...The Linux Foundation
Artem will briefly cover what has been done since the first talk on Xen in Automotive domain back in 2013, what is going on now and what is still missing for broad adaptation of Xen in vehicles. The following topics will be covered:
Embedded/automotive features of Xen
Collaboration with AGL and GENIVI organizations for standardization
Efforts on Functional Safety compliance
Artem will also go over typical automotive use scenarios for Xen which may not be the same as generic computing use of hypervisor.
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...The Linux Foundation
In this keynote talk, we will give an overview of the state of the Xen Project, trends that impact the project, see whether challenges that surfaced last year have been addressed and how we did it, and highlight new challenges and solutions for the coming year.
In recent years unikernels have shown immense performance potential (e.g., boot times of only a few ms, image sizes of only hundreds of KBs).The fundamental drawback of unikernels is that they require that applications be manually ported to the underlying minimalistic OS, needing both expert work and often considerable amount of time.
The Unikraft project provides a unikernel code base and build system that significantly simplifies the building of unikernels. In addition to support for a number CPU architectures, languages and frameworks, Unikraft provides debugging and tracing features that are generally sorely missing from unikernel projects. In this talk we will talk about these features, show a set of preliminary performance numbers, and provide a roadmap for the project's future.
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...The Linux Foundation
The idea of making Xen secret-free has been floating since Spectre and Meltdown came into light. In this talk we will discuss what is being done and what needs to be done next.
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxThe Linux Foundation
This talk will introduce Dom0-less: a new way of using Xen to build mixed-criticality solutions. Dom0-less is a Xen feature that adds a novel approach to static partitioning based on virtualization. It allows multiple domains to start at boot time directly from the Xen hypervisor, decreasing boot times dramatically. Xen userspace tools, such as xl and libvirt, become optional.
Dom0-less extends the existing device tree based Xen boot protocol to cover information required by additional domains. Binaries, such as kernels and ramdisks, are loaded by the bootloader (u-boot) and advertised to Xen via new device tree bindings.
The audience will learn how to use Dom0-less to partition the system. Uboot and device tree configuration details will be explained to enable the audience to get the most out of this feature. The talk will include a status update and details on future plans.
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...The Linux Foundation
As the number of contributions grow, reviewer bandwidth becomes a bottleneck; and maintainers are always asking for more help. However, ultimately maintainers must at least Ack every patch that goes in; so if you're not a maintainer, how can you contribute? Why should anyone care about your opinion?
This talk will try to lay out some advice and guidelines for non-maintainers, for how they can do code review in a way which will effectively reduce the load on maintainers when they do come to review a patch.
This talk is a follow-up to our Summit 2017 presentation in which we covered our plans for Intel VMFUNC and #VE, as well as related use-cases. This year, we will provide a report on what we have accomplished in Xen 4.12, and what remains to be addressed. We will also give a brief status update of VMI on AMD hardware. The session will end with some real-world numbers of the Hypervisor Introspection solution running on Citrix Hypervisor 8.0 with #VE enabled.
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...The Linux Foundation
Safety certification is one of the essential requirements for software to be used in highly regulated industries. Besides technical and compliance issues (such as ISO 26262 vs IEC 611508) transitioning an existing project to become more easily safety certifiable requires significant changes to development practices within an open source project.
In this session, we will lay out some challenges of making safety certification achievable in open source and the Xen Project. We will outline the process the Xen Project has followed thus far and highlight lessons learned along the way. The talk will primarily focus on necessary process, tooling changes and community challenges that can prevent progress. We will be offering an in-depth review of how Xen Project is approaching this challenging goal and try to derive lessons for other projects and contributors.
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...The Linux Foundation
Safety certification is one of the essential requirements for software to be used in highly regulated industries. The Xen Project, a secure and stable hypervisor that is used in many different markets, has been exploring the feasibility of building safety certified products on top of Xen for a year, looking at key aspects of its code base and development practices.
In this session, we will lay out the motivation and challenges of making safety certification achievable in open source and the Xen Project. We will outline the process the project has followed thus far and highlight lessons learned along the way. The talk will cover technical enablers, necessary process and tooling changes and community challenges offering an in-depth review of how Xen Project is approaching this exciting and and challenging goal.
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixThe Linux Foundation
2018 saw fundamental shifts in security boundaries which were previously taken for granted. A lot of work has been done in the past 2 years, and largely in secret under embargo, but there is plenty more work to be done to strengthen the existing mitigations and to try to recover some performance without reopening security holes.
This talk will look at speculative execution sidechannels, the work which has already been done to mitigate the security holes, and future work which hopes to bring some improvements.
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdThe Linux Foundation
The Arm architecture provides a set of guidelines that any software should abide by when accessing the memory with MMU off and update page-tables. Failing to do so may result in getting TLB conflicts or breaking coherency.
In a previous talk ("Keeping coherency on Arm"), we focused on updating safely the stage-2 (aka P2M) page-tables. This talk will focus on the boot code and Xen memory management.
During this session, we will introduce some of the guidelines and when they should be used. We will also discuss how Xen boot sequence needs to be reworked to avoid breaking the guidelines.
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...The Linux Foundation
For many years the QEMU codebase has contained PV backends for Xen guests, giving them paravirtual access to storage, network, keyboard, mouse, etc. however these backends have not been configurable as QEMU devices as their implementation did not fully adhere to the QEMU Object Model (QOM).
Particularly the PV storage backend not using proper QOM devices, or qdevs, meant that the QEMU block layer needed to maintain legacy code that was cluttering up the source. This was causing push-back from the maintainers who did not want to accept any patches relating to that Xen backend until it was 'qdevified'.
In this talk, I'll explain the modifications I made to QEMU to achieve 'qdevification' of the PV storage backend, how compatibility with the libxl toolstack was maintained, and what the next steps in both QEMU and libxl development should be.
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DThe Linux Foundation
PCI is a local computer bus for attaching hardware devices in a computer, and is the main peripheral bus on modern x86 systems. As such, having a proper way to emulate it is crucial for Xen to be able to expose both fully emulated devices or passthrough devices to guests.
This talk will focus on the current status of PCI emulation in Xen, how and where it is used, what are its main limitations and future plans to improve it in order to be more robust and modular.
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsThe Linux Foundation
Volodymyr will speak about TEE mediators. This is a new feature in Xen which allows multiple virtual machines to interact with Trusted Execution Environment available on platform. He developed mediator for one of TEEs, namely OP-TEE.
He will give background information on why TEE is needed at all and share some implementation details.
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...The Linux Foundation
Xen is a very powerful hypervisor with a talented and diverse developers community. Despite the fact it's almost everywhere (from the Cloud to the embedded world), it can be difficult to set up and manage as a system administrator. General purpose distros have Xen packages, but that's just a start in your Xen journey: you need some tooling and knowledge to have a working and scalable platform.
XCP-ng was built to overcome those issues: by bringing Xen to the masses with a fully turnkey distro with Xen as its core. It's the logical sequel to the XCP project, with a community focus from the start. We'll see how it happened, what we did, and what's next. Finally, we'll see the impact of XCP-ng on the Xen Project.
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...The Linux Foundation
Doug has long advocated for more CI/CD (Continuous Integration / Continuous Delivery) processes to be adopted by the Xen Project from the use of Travis CI and now GitLab CI. This talk aims to propose ideas for building upon the existing process and transforming the development process to provide users a higher quality with each release by the Xen Project.
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...The Linux Foundation
High level toolstacks for server and cloud virtualization are very mature with large communities using and supporting them. Client virtualization is a much more niche community with unique requirements when compared to those found in the server space. In this talk, we’ll introduce a client virtualization toolstack for Xen (redctl) that we are using in Redfield, a new open-source client virtualization distribution that builds upon the work done by the greater virtualization and Linux communities. We will present a case for maturing libxl’s Go bindings and discuss what advantages Go has to offer for high level toolstacks, including in the server space.
Today Xen is scheduling guest virtual cpus on all available physical cpus independently from each other. Recent security issues on modern processors (e.g. L1TF) require to turn off hyperthreading for best security in order to avoid leaking information from one hyperthread to the other. One way to avoid having to turn off hyperthreading is to only ever schedule virtual cpus of the same guest on one physical core at the same time. This is called core scheduling.
This presentation shows results from the effort to implement core scheduling in the Xen hypervisor. The basic modifications in Xen are presented and performance numbers with core scheduling active are shown.
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XS Oracle 2009 VTD SR-IOV
1. V T -d a n d S R -IO V U p d a te
F e b -2 4 -2 0 0 9
A lle n K a y
E d d ie D o n g
X e n S u m m it O r a c le 2 0 0 9
2. Agenda
• V T -d U p d a te
– C u r r e n t S ta tu s
– V T -d 2 Q u e u e d In v a lid a tio n a n d I n te r r u p t R e m a p p in g
– X m to o ls fo r P C I p a s s t h r o u g h s u p p o r t
– A s s ig n a b le D e v ic e F ilt e r in g D e s c r ip tio n
– W o r k I n P r o g r e s s /P la n n e d : m u lt i-P C I s e g m e n t , A T S , N U M A
• S R -IO V U p d a te
– C u r r e n t S ta tu s
– U s e flo w
In te l C o n f id e n tia l
2
3. V T -d : C u r r e n t S ta tu s
• V T -d 1 w a s c h e c k e d in to X e n 3 .2 r e le a s e
– H V M P C I p a s s th r o u g h
– D M A r e m a p p in g
• V T -d 2 m a jo r fe a tu r e s w e r e c h e c k e d in to X e n 3 .3 r e le a s e
– Q u e u e d I n v a lid a t io n
– In te r r u p t R e m a p p in g
In te l C o n f id e n tia l
3
4. V T -d 2 Q u e u e In v a lid a tio n
• V T -d 1 d o e s IO T L B a n d C o n te x t e n tr y flu s h b y s e ttin g a V T -d
c o m m a n d r e g is te r a n d p o llin g o n th e s ta tu s r e g is te r
• Q u e u e d In v a lid a tio n a llo w s in v a lid a tio n c o m m a n d s to b e
q u e u e d in 1 o r m o r e p a g e s
– D e fa u lt u s e s 1 p a g e d e f in e d b y a #d e fin e
• N e w c a p a b ilitie s in c lu d e flu s h in g o f c a c h e d in te r r u p t r e m a p p in g
e n tr ie s a n d d e v ic e tr a n s la tio n c a c h e
• A u to e n a b le if H W fe a tu r e is d e te c te d
– In itia liz e in v a lid a tio n fu n c t io n ta b le w ith r e g is te r b a s e d in v a lid a tio n
fu n c tio n s
– If Q u e u e d I n v a lid a tio n H W is d e t e c te d in V T -d c a p a b ility r e g is te r, r e p la c e
fu n c tio n ta b le w it h Q u e u e d In v a lid a tio n f u n c tio n s
In te l C o n f id e n tia l
4
5. V T -d 2 In te r r u p t R e m a p p in g D e s c r ip tio n
• It is a s e c u r ity a n d is o la tio n fe a tu r e
• It d o e s n o t e n a b le d ir e c t in te r r u p t in je c tio n to a g u e s t
• W ith o u t th is fe a tu r e , m a lic io u s g u e s t c a n a tta c k a h o s t b y :
– G e n e r a t in g in te r r u p t s b y s e t tin g u p p a s s th r o u g h d e v ic e to d o D M A w r ite
tr a n s a c tio n s t o th e A P IC 0 x F E E x x x x x r e g io n
• W ith in te r r u p t r e m a p p in g s o u r c e ID c h e c k in g e n a b le d , in te r r u p t
g e n e r a tio n is c h e c k e d a g a in s t P C I B D F in in te r r u p t r e m a p p in g
ta b le e n tr y
In te l C o n f id e n tia l
5
6. V T -d 2 In te r r u p t R e m a p p in g Im p le m e n ta tio n
• L o w le v e l IO _ A P IC _ W R IT E /IO _ A P IC _ R E A D m a c r o s a r e
m o d ifie d to V T -d IO A P IC r e a d /w r ite fu n c tio n s
• If in te r r u p t r e m a p p in g H W is fo u n d , a ll IO A P IC R T E e n tr ie s a r e
c o n v e r te d to in te r r u p t r e m a p fo r m a t
• In te r r u p t r e m a p e n tr ie s a r e a llo c a te d fo r e a c h IO A P IC R T E a n d
a p p r o p r ia te fie ld s a r e in itia liz e d
• S im ila r m o d ific a tio n w e r e d o n e fo r r e m a p p in g M S I in te r r u p ts
In te l C o n f id e n tia l
6
7. P C I P a s s th r o u g h M a n a g e m e n t To o ls
• x m p c i-lis t-a s s ig n a b le -d e v ic e s
– L is t a ll a s s ig n a b le d e v ic e s
• x m p c i-a tta c h
– H o t a d d a p a s s th r o u g h d e v ic e t o a d o m a in
• x m p c i-d e tta c h
– H o t r e m o v e a p a s s th r o u g h d e v ic e f r o m a d o m a in
• x m p c i-lis t
– L is t p a s s -th r o u g h p c i d e v ic e fo r a d o m a in
In te l C o n f id e n tia l
7
8. A s s ig n a b le D e v ic e F ilte r in g D e s c r ip tio n
• D e fin itio n o f te r m s
– c o -a s s ig n e d -d e v ic e s : d e v ic e s th a t r e q u ir e s t o b e a s s ig n e d to th e s a m e
d o m a in .
• T h e r e a r e tw o ty p e s o f c o -a s s ig n e d d e v ic e s
– P C I d e v ic e s b e h in d th e s a m e P C I/P C I -x b r id g e - a s d e fin e d in V T -d s p e c .
– m u lti-f u n t io n P C Ie d e v ic e s w it h n o F L R c a p a b ilit y. T h is is b e c a u s e w e u s e
S e c o n d a r y B u s R e s e t in p la c e o f F L R .
In te l C o n f id e n tia l
8
9. A s s ig n a b le D e v ic e F ilte r in g (c o n t)
• A lg o r ith m fo r quot;x m p c i-lis t-a s s ig n a b le -d e v ic e quot;
• F in d a ll th e d e v ic e s o w n e d b y p c ib a c k
• P r u n e th e a s s ig n a b le d e v ic e lis t a s fo llo w s
– F o r m u lti-fu n c tio n P C Ie d e v ic e s w ith n o F L R c a p a b ility, if a n y o f its c o -a s s ig n e d -
d e v ic e s n o t o w n e d b y p c ib a c k th e n a ll th e d e v ic e s a r e n o t a s s ig n a b le .
– If a n y d e v ic e b e h in d th e s a m e P C I/P C I-X b r id g e is n o t o w n e d b y p c ib a c k th e n a ll
d e v ic e s b e h in d th is b r id g e is n o t a s s ig n a b le .
– F o r d e v ic e s w ith n o n -p a g e -a lig n e d M M IO B A R , it a n d a ll its c o -a s s ig n e d -d e v ic e s
a r e n o t a s s ig n a b le .
– F o r d e v ic e s h a s a lr e a d y b e e n a s s ig n e d to a g u e s t, it a n d a ll its c o -a s s ig n e d -d e v ic e s
a r e n o t a s s ig n a b le .
• P r in t o u t a s s ig n a b le d e v ic e s . C o -a s s ig n e d -d e v ic e s a r e d is p la y e d o n
th e s a m e lin e .
In te l C o n f id e n tia l
9
10. W o r k In P r o g r e s s : M u lti-P C I S e g m e n t
• A C P I ta b le r e p o r ts d e v ic e s c o p e w ith P C I s e g m e n t n u m b e r in a d d tio n
to b u s , d e v ic e , fu n c tio n n u m b e r s
• C u r r e n t V T -d c o d e in X e n h y p e r v is o r d o e s n o t c o m p r e h e n d P C I
segm ent num ber
• N e e d to a d d P C I s e g m e n t to p c i_ d e v s tr u c tu r e
• In c o r p o r a te P C I s e g m e n t n u m b e r w h e n lo c a tin g a V T -d e n g in e s e r v in g
a p a r tic u la r d e v ic e
• A d d s e g m e n t to p c i_ a d d _ d e v ic e h y p e r c a ll
• C o n tr o l p a n e l c o m m a n d s th a t u s e s B D F in fo r m a tio n , a d d s e g m e n t a s
a n o p tio n a l fie ld
– x m p c i-lis t/a tta c h /d e ta c h /lis t-a s s ig n a b le -d e v ic e s
– P C I fie ld in /e tc /x e n /h v m .c o n f
– p c ib a c k .h id e fie ld in p c ib a c k d r iv e r
In te l C o n f id e n tia l
10
11. W o r k In P r o g r e s s : A T S
• A d d r e s s T r a n s la tio n S e r v ic e (A T S ) is d e fin e d fo r k e e p in g V T -d
IO T L B a n d d e v ic e tr a n s la tio n c a c h e in s y n c
• V T -d 2 q u e u e d in v a lid a tio n h a s d e fin e d a c o m m a n d fo r
in v a lid a tin g d e v ic e tr a n s la tio n c a c h e
• C hanges needed:
– D e te c t A T S c a p a b le r o o t p o r ts u s in g A C P I A T S r e p o r t in g ta b le
– D e te c t A T S c a p a b le d e v ic e s
– T u r n o n A T S o n th e d e v ic e if it is u n d e r A T S c a p a b le r o o t p o r t
• O r ig in a l p a tc h r e q u ir e d P C I m m c fg s u p p o r t in x e n fo r p a r s in g
A T S c a p a b ility in P C Ie E x te n d e d C o n fig S p a c e
• L o o k in g in to le v e r a g in g d o m 0 fo r th is
In te l C o n f id e n tia l
11
12. W o r k P la n n e d : V T -d N U M A S u p p o r t
• A C P I ta b le r e p o r ts R e m p p in g H a r d w a r e S ta tic A ffin ity S tr u c tu r e
(R H S A )
• A s s o c ia te s V T -d r e m a p p in g h a r d w a r e to p r o x im ity d o m a in s
• N e e d to a llo c a te r e m a p p in g ta b le s tr u c tu r e s b a s e o n th e th is
p r o x im ity d o m a in in s te a d o f th e C P U ( w h ic h c a n m ig r a te )
• T h is m e a n s c o n te x t ta b le a n d p a g e ta b le fo r a p a r tic u la r V T -d
H W s h o u ld b e a llo c a te d w ith a s s o c ia te d p r o x im ity d o m a in
In te l C o n f id e n tia l
12
13. S R -IO V S ta tu s
• L in u x k e r n e l c h a n g e s a r e b e in g p u s h e d to u p s tr e a m k e r n e l
– L a te s t p a tc h is v e r s io n 1 0 (a r c h it e c t u r a lly s ta b le )
– P a tc h e s fo r X e n 2 .6 .1 8 s u b m it te d t o x e n m a ilin g lis t in S e p -1 0 -0 8
– W ill r e b a s e a f te r u p s tr e a m k e r n e l’s a c c e p ta n c e
• P a tc h p r e s e n ts S R -IO V v ir tu a l fu n c tio n s a s r e g u la r P C I d e v ic e s
• P a s s th r o u g h o f S R -IO V V F ’s is th e s a m e a s P C I d e v ic e s
• N o S R -IO V s p e c ific c h a n g e s r e q u ir e d in X e n a n d Q E M U
• To e n a b le S R -IO V in u p s tr e a m X e n
– 2 .6 .1 8 d o m 0 p a t c h (p u b lis h e d x e n -d e v e l in S e p -1 0 -0 8 )
– 8 2 5 7 6 P F a n d V F d r iv e r s (p u b lis h e d to n e td e v & L K M L o n F e b -1 9 -0 9 )
In te l C o n f id e n tia l
13
14. S R -IO V U s e F lo w
• B o o t d o m 0 w ith P F d r iv e r
• “e c h o 7 > /s y s /c la s s /n e t/e th x /n u m _ v fs ”
– P F w ill a llo c a te s 7 V F s o n t h e N I C
– P C I s u b s y s te m in s t a n t ia te s a P C I B D F f o r e a c h V F
• B in d p a s s th r o u g h V F ’s B D F to p c ib a c k
– “e c h o – n 0 0 0 0 :0 5 :0 2 .0 > /s y s /b u s /p c i/d r iv e r /p c ib a c k /n e w _ s lo t”
– “e c h o – n 0 0 0 0 :0 5 :0 2 .0 > /s y s /b u s /p c i/d r iv e r /p c ib a c k /b in d ”
• V F ’s B D F c a n th e n b e u s e d to p a s s th r o u g h to th e g u e s t in
h v m .c o n f s a m e a s r e g u la r V T -d P C I p a s s th r o u g h d e v ic e s
– p c i = [ ’0 5 :0 2 .0 ’ ]
• D u r in g g u e s t b o o t, V F d r iv e r g e n e r a te s a r a n d o m M A C a d d r e s s
w h ic h is u n iq u e o n th e s y s te m
• C a n a ls o m a n u a lly s e t M A C a d d r e s s b y
– E c h o “0 0 :0 1 :0 2 :a a :b b :c c ” > /s y s /c la s s /n e t/e th x /V F n /c fg /m a c a d d r
In te l C o n f id e n tia l
14
15. C h a lle n g e s
• H V M g u e s t m e m o r y s w a p p in g im p lic a tio n s
– C u r r e n t V T -d c o d e c a n n o t h a n d le H V M m e m o r y s w a p p in g
– N o P C I d e v ic e s s u p p o r tin g I O p a g e f a u lt r e s ta r t y e t
• L iv e m ig r a tio n
– T e a m in g u p w ith v ir t u a l N I C
– H o t a d d /r e m o v e p a s s th r o u g h d e v ic e in g u e s t
In te l C o n f id e n tia l
15
16. Q u e s tio n s ?
In te l C o n f id e n tia l
16
18. V T -d P C I P a s s th r o u g h O v e r ie w
• P C I P a s s th r o u g h
– D e v e lo p s o ft w a r e t o a llo w P C I d e v ic e a s s ig n m e n t t o H V M g u e s t d o m a in
u s in g P C I B u s /D e v /F u n c a d d r e s s
• D M A R e m a p p in g w ith V T -d
– D e v e lo p s o ft w a r e t o e n u m e r a tio n V T -d e n g in e v ia A C P I s ta tic ta b le ,
in itia liz e V T -d H W f o r D o m 0 , a b ilit y to c h a n g e V T -d H W s tr u c tu r e s to
a s s ig n P C I d e v ic e s t o d iffe r e n t g u e s t d o m a in s
In te l C o n f id e n tia l
18
19. P C I P a s s th r o u g h : In te r r u p t H a n d lin g
• V M M g e ts p h y s ic a l in te r r u p t fr o m a s s ig n e d d e v ic e
• In te r r u p t is in je c te d to v IO A P IC d e v ic e m o d e l
• v IO A P IC p r o p a g a te s in te r r u p t to v L A P IC
• V M M c h e c k s v L A P IC fo r p e n d in g in te r r u p ts b e fo r e it r e tu r n s to
th e g u e s t
• If th e r e is p e n d in g in te r r u p t in v L A P IC , in te r r u p t is in je c te d to th e
g u e s t v ia V M C S
In te l C o n f id e n tia l
19
20. P C I P a s s th r o u g h D e ta ils
• H id e P C I d e v ic e fr o m D o m 0 d e v ic e d r iv e r w ith O S b o o t lo a d
o p tio n
• A s s ig n P C I d e v ic e s to g u e s t w ith x e n g u e s t c o n fig file
– /e tc /x e n /h v m .c o n f
• A tta c h th e a s s ig n e d d e v ic e to Q E M U v P C I b u s
• A s s ig n c o r r e s p o n d in g V T -d c o n te x t e n tr y to g u e s t d o m a in
• In te r c e p t P C I c o n fig a c c e s s in Q e m u – c o m m a n d r e g is te r
a c c e s s e s a r e p a s s e d o n to H W
• E m u la te IO p o r t a c c e s s in X e n
• In s ta ll P 2 M e n tr y fo r M M IO a c c e s s o f th e a s s ig n e d d e v ic e
• X e n in te r c e p ts p h y s ic a l d e v ic e in te r r u p ts a n d r e -in je c ts to th e
ta r g e t g u e s t d o m a in w ith v IR Q
In te l C o n f id e n tia l
20
21. VT-d : Hardware Overview
DMA Requests
Dev 31, Func 7
Device ID IO Virtual Address Length …
Dev P, Func 2
Bus 255
4KB
Page
Bus N
Fault Generation Frame
Bus 0
Dev P, Func 1
4KB Page
Tables
Dev 0, Func 0
Address Translation
VT-d Structures for
Device D1
Hardware Domain A
Device
Context
Translation Cache Structures Device D2
Address Translation
Structures for
Context Cache Domain B
Memory Access with Host Memory-resident IO Partitioning &
Physical Address Translation Structures
In te l C o n f id e n tia l
21
22. V T -d H W P r o g r a m m in g D e ta ils
• E n u m e r a te A C P I ta b le fo r V T -d h a r d w a r e
• A fte r c o n s tr u c t_ d o m 0 () in s e tu p .c :
– B u ild V T -d p a g e ta b le s b a s e o n d o m a in ’s p h y s ic a l p a g e s
– A llo c a te a p a g e fo r V T -d c o n te x t-e n tr y ta b le a n d in itia liz e c o n te x t e n tr ie s w ith v a lid
P C I d e v ic e s to p o in t to th e s a m e d o m 0 V T -d p a g e ta b le s tr u c tu r e
– F o r e a c h V T -d e n g in e , a llo c a te a p a g e fo r R o o t-e n tr y ta b le a n d in itia liz e
c o r r e s p o n d in g c o n te x t e n tr ie s a s d e v ic e s a r e in itia liz e d in d o m 0
– C r e a te id e n tity m a p p in g fo r V T -d r e s e r v e d m e m o r ie s (R M R R ) in V T -d p a g e ta b le
– F lu s h V T -d c o n te x t a n d T L B c a c h e s
– E n a b le V T -d tr a n s la tio n
• V T -d H W c h a n g e s n e e d e d to a s s ig n P C I d e v ic e s to g u e s t d o m a in
– B u ild V T -d IO p a g e ta b le fr o m g u e s t d o m a in p a g e lis t
– C h a n g e c o r r e s p o n d in g c o n te x t e n tr y to g u e s t d o m a in ID a n d p o in t to g u e s t’s IO
p a g e ta b le s tr u c tu r e
In te l C o n f id e n tia l
22
23. R e s o u rc e s
• V T -d s p e c ific a tio n :
– h ttp ://d o w n lo a d .in te l.c o m /te c h n o lo g y /c o m p u tin g /v p t e c h /In te l(r )_ V T _ fo r _ D ir
e c t_ I O .p d f
• X e n V T -d w ik i:
– h ttp ://w ik i.x e n s o u r c e .c o m /x e n w ik i/V T d H o w T o
• S R -IO V S p e c ific a tio n :
– h ttp ://w w w .p c is ig .c o m /m e m b e r s /d o w n lo a d s /s p e c ific a tio n s /io v /s r -
io v 1 .0 _ 1 1 S e p 0 7 .p d f
• A T S 1 .1 S p e c ific a tio n :
– h ttp ://w w w .p c is ig .c o m /m e m b e r s /d o w n lo a d s /s p e c ific a tio n s /io v /a ts _ r 1 .1 _ 2 2 A
p r 0 8 .p d f
In te l C o n f id e n tia l
23
24. R e s o u r c e : C o n ta c ts
• V T -d C o n ta c ts
– A lle n .m .k a y @ in t e l.c o m
– W e id o n g .h a n @ in t e l.c o m
• S R -IO V C o n ta c ts
– E d d ie .d o n g @ in t e l.c o m
– y u .z h a o @ in t e l.c o m
In te l C o n f id e n tia l
24
27. V T -d a n d S R -IO V U p d a te
F e b -2 4 -2 0 0 9
A lle n K a y
E d d ie D o n g
X e n S u m m it O r a c le 2 0 0 9
1
28. Agenda
• V T -d U p d a te
– C u rre n t S ta tu s
– V T -d 2 Q u e u e d In v a lid a tio n a n d I n te r r u p t R e m a p p in g
– X m t o o ls fo r P C I p a s s th r o u g h s u p p o r t
– A s s ig n a b le D e v ic e F ilte r in g D e s c r ip tio n
– W o r k In P r o g r e s s /P la n n e d : m u lti-P C I s e g m e n t, A T S , N U M A
• S R -IO V U p d a te
– C u rre n t S ta tu s
– U s e flo w
In te l C o n f id e n tia l
2
2
2
29. V T -d : C u r r e n t S ta tu s
• V T -d 1 w a s c h e c k e d in to X e n 3 .2 r e le a s e
– H V M P C I p a s s th r o u g h
– D M A r e m a p p in g
• V T -d 2 m a jo r fe a tu r e s w e r e c h e c k e d in to X e n 3 .3 r e le a s e
– Q u e u e d In v a lid a tio n
– In te r r u p t R e m a p p in g
In te l C o n f id e n tia l
3
3
30. V T -d 2 Q u e u e In v a lid a tio n
• V T -d 1 d o e s IO T L B a n d C o n te x t e n tr y flu s h b y s e ttin g a V T -d
c o m m a n d r e g is te r a n d p o llin g o n th e s ta tu s r e g is te r
• Q u e u e d In v a lid a tio n a llo w s in v a lid a tio n c o m m a n d s to b e
q u e u e d in 1 o r m o r e p a g e s
– D e fa u lt u s e s 1 p a g e d e fin e d b y a #d e fin e
• N e w c a p a b ilitie s in c lu d e flu s h in g o f c a c h e d in te r r u p t r e m a p p in g
e n tr ie s a n d d e v ic e tr a n s la tio n c a c h e
• A u to e n a b le if H W fe a tu r e is d e te c te d
– In itia liz e in v a lid a tio n f u n c tio n ta b le w ith r e g is te r b a s e d in v a lid a tio n
fu n c tio n s
– If Q u e u e d In v a lid a tio n H W is d e t e c t e d in V T -d c a p a b ility r e g is te r, r e p la c e
fu n c tio n t a b le w ith Q u e u e d I n v a lid a t io n f u n c tio n s
In te l C o n f id e n tia l
4
4
4
31. V T -d 2 In te r r u p t R e m a p p in g D e s c r ip tio n
• It is a s e c u r ity a n d is o la tio n fe a tu r e
• It d o e s n o t e n a b le d ir e c t in te r r u p t in je c tio n to a g u e s t
• W ith o u t th is fe a tu r e , m a lic io u s g u e s t c a n a tta c k a h o s t b y :
– G e n e r a tin g in te r r u p ts b y s e tt in g u p p a s s th r o u g h d e v ic e to d o D M A w r ite
tr a n s a c t io n s to t h e A P IC 0 x F E E x x x x x r e g io n
• W ith in te r r u p t r e m a p p in g s o u r c e ID c h e c k in g e n a b le d , in te r r u p t
g e n e r a tio n is c h e c k e d a g a in s t P C I B D F in in te r r u p t r e m a p p in g
ta b le e n tr y
In te l C o n f id e n tia l
5
5
32. V T -d 2 In te r r u p t R e m a p p in g Im p le m e n ta tio n
• L o w le v e l IO _ A P IC _ W R IT E /IO _ A P IC _ R E A D m a c r o s a r e
m o d ifie d to V T -d IO A P IC r e a d /w r ite fu n c tio n s
• If in te r r u p t r e m a p p in g H W is fo u n d , a ll IO A P IC R T E e n tr ie s a r e
c o n v e r te d to in te r r u p t r e m a p fo r m a t
• In te r r u p t r e m a p e n tr ie s a r e a llo c a te d fo r e a c h IO A P IC R T E a n d
a p p r o p r ia te fie ld s a r e in itia liz e d
• S im ila r m o d ific a tio n w e r e d o n e fo r r e m a p p in g M S I in te r r u p ts
In te l C o n f id e n tia l
6
6
6
33. P C I P a s s th r o u g h M a n a g e m e n t To o ls
• x m p c i-lis t-a s s ig n a b le -d e v ic e s
– L is t a ll a s s ig n a b le d e v ic e s
• x m p c i-a tta c h
– H o t a d d a p a s s th r o u g h d e v ic e to a d o m a in
• x m p c i-d e tta c h
– H o t r e m o v e a p a s s th r o u g h d e v ic e fr o m a d o m a in
• x m p c i-lis t
– L is t p a s s -t h r o u g h p c i d e v ic e fo r a d o m a in
In te l C o n f id e n tia l
7
7
34. A s s ig n a b le D e v ic e F ilte r in g D e s c r ip tio n
• D e fin itio n o f te r m s
– c o -a s s ig n e d -d e v ic e s : d e v ic e s t h a t r e q u ir e s to b e a s s ig n e d to th e s a m e
d o m a in .
• T h e r e a r e tw o ty p e s o f c o -a s s ig n e d d e v ic e s
– P C I d e v ic e s b e h in d t h e s a m e P C I/P C I -x b r id g e - a s d e fin e d in V T -d s p e c .
– m u lt i-f u n tio n P C Ie d e v ic e s w ith n o F L R c a p a b ility. T h is is b e c a u s e w e u s e
S e c o n d a r y B u s R e s e t in p la c e o f F L R .
In te l C o n f id e n tia l
8
8
35. A s s ig n a b le D e v ic e F ilte r in g (c o n t)
• A lg o r ith m fo r quot;x m p c i-lis t-a s s ig n a b le -d e v ic e quot;
• F in d a ll th e d e v ic e s o w n e d b y p c ib a c k
• P r u n e th e a s s ig n a b le d e v ic e lis t a s fo llo w s
– F o r m u lt i-fu n c tio n P C I e d e v ic e s w ith n o F L R c a p a b ility, if a n y o f it s c o -a s s ig n e d -
d e v ic e s n o t o w n e d b y p c ib a c k t h e n a ll th e d e v ic e s a r e n o t a s s ig n a b le .
– If a n y d e v ic e b e h in d t h e s a m e P C I /P C I-X b r id g e is n o t o w n e d b y p c ib a c k t h e n a ll
d e v ic e s b e h in d th is b r id g e is n o t a s s ig n a b le .
– F o r d e v ic e s w it h n o n -p a g e -a lig n e d M M IO B A R , it a n d a ll its c o -a s s ig n e d -d e v ic e s
a r e n o t a s s ig n a b le .
– F o r d e v ic e s h a s a lr e a d y b e e n a s s ig n e d to a g u e s t, it a n d a ll its c o -a s s ig n e d -d e v ic e s
a r e n o t a s s ig n a b le .
• P r in t o u t a s s ig n a b le d e v ic e s . C o -a s s ig n e d -d e v ic e s a r e d is p la y e d o n
th e s a m e lin e .
In te l C o n f id e n tia l
9
9
36. W o r k In P r o g r e s s : M u lti-P C I S e g m e n t
• A C P I ta b le r e p o r ts d e v ic e s c o p e w ith P C I s e g m e n t n u m b e r in a d d tio n
to b u s , d e v ic e , fu n c tio n n u m b e r s
• C u r r e n t V T -d c o d e in X e n h y p e r v is o r d o e s n o t c o m p r e h e n d P C I
segm ent num ber
• N e e d to a d d P C I s e g m e n t to p c i_ d e v s tr u c tu r e
• In c o r p o r a te P C I s e g m e n t n u m b e r w h e n lo c a tin g a V T -d e n g in e s e r v in g
a p a r tic u la r d e v ic e
• A d d s e g m e n t to p c i_ a d d _ d e v ic e h y p e r c a ll
• C o n tr o l p a n e l c o m m a n d s th a t u s e s B D F in fo r m a tio n , a d d s e g m e n t a s
a n o p tio n a l fie ld
– x m p c i-lis t /a tt a c h /d e ta c h /lis t-a s s ig n a b le -d e v ic e s
– P C I fie ld in /e tc /x e n /h v m .c o n f
– p c ib a c k .h id e fie ld in p c ib a c k d r iv e r
In te l C o n f id e n tia l
10
10
37. W o r k In P r o g r e s s : A T S
• A d d r e s s T r a n s la tio n S e r v ic e (A T S ) is d e fin e d fo r k e e p in g V T -d
IO T L B a n d d e v ic e tr a n s la tio n c a c h e in s y n c
• V T -d 2 q u e u e d in v a lid a tio n h a s d e fin e d a c o m m a n d fo r
in v a lid a tin g d e v ic e tr a n s la tio n c a c h e
• Changes needed:
– D e te c t A T S c a p a b le r o o t p o r ts u s in g A C P I A T S r e p o r t in g ta b le
– D e te c t A T S c a p a b le d e v ic e s
– T u r n o n A T S o n th e d e v ic e if it is u n d e r A T S c a p a b le r o o t p o r t
• O r ig in a l p a tc h r e q u ir e d P C I m m c fg s u p p o r t in x e n fo r p a r s in g
A T S c a p a b ility in P C Ie E x te n d e d C o n fig S p a c e
• L o o k in g in to le v e r a g in g d o m 0 fo r th is
In te l C o n f id e n tia l
11
11
38. W o r k P la n n e d : V T -d N U M A S u p p o r t
• A C P I ta b le r e p o r ts R e m p p in g H a r d w a r e S ta tic A ffin ity S tr u c tu r e
(R H S A )
• A s s o c ia te s V T -d r e m a p p in g h a r d w a r e to p r o x im ity d o m a in s
• N e e d to a llo c a te r e m a p p in g ta b le s tr u c tu r e s b a s e o n th e th is
p r o x im ity d o m a in in s te a d o f th e C P U ( w h ic h c a n m ig r a te )
• T h is m e a n s c o n te x t ta b le a n d p a g e ta b le fo r a p a r tic u la r V T -d
H W s h o u ld b e a llo c a te d w ith a s s o c ia te d p r o x im ity d o m a in
In te l C o n f id e n tia l
12
12
39. S R -IO V S ta tu s
• L in u x k e r n e l c h a n g e s a r e b e in g p u s h e d to u p s tr e a m k e r n e l
– L a t e s t p a t c h is v e r s io n 1 0 (a r c h ite c tu r a lly s ta b le )
– P a tc h e s fo r X e n 2 .6 .1 8 s u b m itt e d t o x e n m a ilin g lis t in S e p -1 0 -0 8
– W ill r e b a s e a fte r u p s tr e a m k e r n e l’s a c c e p ta n c e
• P a tc h p r e s e n ts S R -IO V v ir tu a l fu n c tio n s a s r e g u la r P C I d e v ic e s
• P a s s th r o u g h o f S R -IO V V F ’s is th e s a m e a s P C I d e v ic e s
• N o S R -IO V s p e c ific c h a n g e s r e q u ir e d in X e n a n d Q E M U
• To e n a b le S R -IO V in u p s tr e a m X e n
– 2 .6 .1 8 d o m 0 p a tc h (p u b lis h e d x e n -d e v e l in S e p -1 0 -0 8 )
– 8 2 5 7 6 P F a n d V F d r iv e r s (p u b lis h e d to n e td e v & L K M L o n F e b -1 9 -0 9 )
In te l C o n f id e n tia l
13
13
40. S R -IO V U s e F lo w
• B o o t d o m 0 w ith P F d r iv e r
• “e c h o 7 > /s y s /c la s s /n e t/e th x /n u m _ v fs ”
– P F w ill a llo c a t e s 7 V F s o n t h e N I C
– P C I s u b s y s t e m in s t a n tia t e s a P C I B D F f o r e a c h V F
• B in d p a s s th r o u g h V F ’s B D F to p c ib a c k
– “e c h o – n 0 0 0 0 :0 5 :0 2 .0 > /s y s /b u s /p c i/d r iv e r /p c ib a c k /n e w _ s lo t”
– “e c h o – n 0 0 0 0 :0 5 :0 2 .0 > /s y s /b u s /p c i/d r iv e r /p c ib a c k /b in d ”
• V F ’s B D F c a n th e n b e u s e d to p a s s th r o u g h to th e g u e s t in
h v m .c o n f s a m e a s r e g u la r V T -d P C I p a s s th r o u g h d e v ic e s
– p c i = [ ’0 5 :0 2 .0 ’ ]
• D u r in g g u e s t b o o t, V F d r iv e r g e n e r a te s a r a n d o m M A C a d d r e s s
w h ic h is u n iq u e o n th e s y s te m
• C a n a ls o m a n u a lly s e t M A C a d d r e s s b y
– E c h o “0 0 :0 1 :0 2 :a a :b b :c c ” > /s y s /c la s s /n e t/e th x /V F n /c fg /m a c a d d r
In te l C o n f id e n tia l
14
14
41. C h a lle n g e s
• H V M g u e s t m e m o r y s w a p p in g im p lic a tio n s
– C u r r e n t V T -d c o d e c a n n o t h a n d le H V M m e m o r y s w a p p in g
– N o P C I d e v ic e s s u p p o r t in g IO p a g e fa u lt r e s ta r t y e t
• L iv e m ig r a tio n
– Te a m in g u p w ith v ir tu a l N IC
– H o t a d d /r e m o v e p a s s th r o u g h d e v ic e in g u e s t
In te l C o n f id e n tia l
15
15
42. Q u e s tio n s ?
In te l C o n f id e n tia l
16
16
16
44. V T -d P C I P a s s th r o u g h O v e r ie w
• P C I P a s s th r o u g h
– D e v e lo p s o ftw a r e to a llo w P C I d e v ic e a s s ig n m e n t to H V M g u e s t d o m a in
u s in g P C I B u s /D e v /F u n c a d d r e s s
• D M A R e m a p p in g w ith V T -d
– D e v e lo p s o ftw a r e to e n u m e r a tio n V T -d e n g in e v ia A C P I s ta tic t a b le ,
in itia liz e V T -d H W fo r D o m 0 , a b ility to c h a n g e V T -d H W s tr u c tu r e s to
a s s ig n P C I d e v ic e s to d iffe r e n t g u e s t d o m a in s
In te l C o n f id e n tia l
18
18
18
45. P C I P a s s th r o u g h : In te r r u p t H a n d lin g
• V M M g e ts p h y s ic a l in te r r u p t fr o m a s s ig n e d d e v ic e
• In te r r u p t is in je c te d to v IO A P IC d e v ic e m o d e l
• v IO A P IC p r o p a g a te s in te r r u p t to v L A P IC
• V M M c h e c k s v L A P IC fo r p e n d in g in te r r u p ts b e fo r e it r e tu r n s to
th e g u e s t
• If th e r e is p e n d in g in te r r u p t in v L A P IC , in te r r u p t is in je c te d to th e
g u e s t v ia V M C S
In te l C o n f id e n tia l
19
19
19
46. P C I P a s s th r o u g h D e ta ils
• H id e P C I d e v ic e fr o m D o m 0 d e v ic e d r iv e r w ith O S b o o t lo a d
o p tio n
• A s s ig n P C I d e v ic e s to g u e s t w ith x e n g u e s t c o n fig file
– /e tc /x e n /h v m .c o n f
• A tta c h th e a s s ig n e d d e v ic e to Q E M U v P C I b u s
• A s s ig n c o r r e s p o n d in g V T -d c o n te x t e n tr y to g u e s t d o m a in
• In te r c e p t P C I c o n fig a c c e s s in Q e m u – c o m m a n d r e g is te r
a c c e s s e s a r e p a s s e d o n to H W
• E m u la te IO p o r t a c c e s s in X e n
• In s ta ll P 2 M e n tr y fo r M M IO a c c e s s o f th e a s s ig n e d d e v ic e
• X e n in te r c e p ts p h y s ic a l d e v ic e in te r r u p ts a n d r e -in je c ts to th e
ta r g e t g u e s t d o m a in w ith v IR Q
In te l C o n f id e n tia l
20
20
20
47. VT-d : Hardware Overview
DMA Requests
Dev 31, Func 7
Device ID IO Virtual Address Length …
Dev P, Func 2
Bus 255
4KB
Page
Bus N
Fault Generation Frame
Bus 0
Dev P, Func 1
4KB Page
Tables
Dev 0, Func 0
Address Translation
VT-d Structures for
Device D1
Hardware Domain A
Device
Context
Translation Cache Structures Device D2
Address Translation
Structures for
Context Cache Domain B
Memory Access with Host Memory-resident IO Partitioning &
Physical Address Translation Structures
I n t e l C o n f id e n t ia l
21
21
21
48. V T -d H W P r o g r a m m in g D e ta ils
• E n u m e r a te A C P I ta b le fo r V T -d h a r d w a r e
• A fte r c o n s tr u c t_ d o m 0 () in s e t u p .c :
– B u ild V T -d p a g e ta b le s b a s e o n d o m a in ’s p h y s ic a l p a g e s
– A llo c a te a p a g e f o r V T -d c o n t e x t-e n tr y ta b le a n d in itia liz e c o n te x t e n tr ie s w ith v a lid
P C I d e v ic e s to p o in t to t h e s a m e d o m 0 V T -d p a g e ta b le s tr u c tu r e
– F o r e a c h V T -d e n g in e , a llo c a te a p a g e fo r R o o t -e n tr y ta b le a n d in itia liz e
c o r r e s p o n d in g c o n t e x t e n tr ie s a s d e v ic e s a r e in itia liz e d in d o m 0
– C r e a te id e n tity m a p p in g fo r V T -d r e s e r v e d m e m o r ie s (R M R R ) in V T -d p a g e ta b le
– F lu s h V T -d c o n t e x t a n d T L B c a c h e s
– E n a b le V T -d tr a n s la tio n
• V T -d H W c h a n g e s n e e d e d to a s s ig n P C I d e v ic e s to g u e s t d o m a in
– B u ild V T -d IO p a g e ta b le fr o m g u e s t d o m a in p a g e lis t
– C h a n g e c o r r e s p o n d in g c o n te x t e n tr y t o g u e s t d o m a in ID a n d p o in t to g u e s t’s IO
p a g e ta b le s t r u c tu r e
In te l C o n f id e n tia l
22
22
22
49. R e s o u rc e s
• V T -d s p e c ific a tio n :
– h t tp ://d o w n lo a d .in te l.c o m /te c h n o lo g y /c o m p u tin g /v p te c h /In te l(r )_ V T _ fo r _ D ir
e c t_ IO .p d f
• X e n V T -d w ik i:
– h t tp ://w ik i.x e n s o u r c e .c o m /x e n w ik i/V T d H o w To
• S R -IO V S p e c ific a tio n :
– h t tp ://w w w .p c is ig .c o m /m e m b e r s /d o w n lo a d s /s p e c ific a tio n s /io v /s r -
io v 1 .0 _ 1 1 S e p 0 7 .p d f
• A T S 1 .1 S p e c ific a tio n :
– h t tp ://w w w .p c is ig .c o m /m e m b e r s /d o w n lo a d s /s p e c ific a tio n s /io v /a t s _ r 1 .1 _ 2 2 A
p r 0 8 .p d f
In te l C o n f id e n tia l
23
23
23
50. R e s o u r c e : C o n ta c ts
• V T -d C o n ta c ts
– A lle n .m .k a y @ in te l.c o m
– W e id o n g .h a n @ in t e l.c o m
• S R -IO V C o n ta c ts
– E d d ie .d o n g @ in te l.c o m
– y u .z h a o @ in te l.c o m
In te l C o n f id e n tia l
24
24