asi_series cluster_0 Offline-CPU parking (Jan's upstream fix) cluster_1 Design doc cluster_2 GDT frame lifetime (standalone fix) cluster_3 Retire the stashed GDT/LDT L1 pointers cluster_4 vCPU-scoped perdomain interfaces cluster_5 Root-PT flush prep cluster_6 Per-vCPU address space and mapcache cluster_7 Rendezvous / callfunc off-stack cluster_8 Mapcache prep cluster_9 Per-CPU stacks cluster_10 PV dom0 build cluster_11 Mapcache / PMAP everywhere cluster_12 Directmap removal cluster_13 Move CPU stacks from xenheap to domheap cluster_14 Multi-page transient maps cluster_15 vCPU state window cluster_16 FPU / XSAVE area handling p01 d01  always park offline CPUs p57 d57  switch to a per-CPU mapped stack when using ASI p01->p57 p02 d02  add Address Space Isolation (ASI) design document p03 d03  drop the old GDT frames only after their translations are... p07 d07  ✓ set/clear guest GDT mappings using populate_perdomain_map... p03->p07 p04 d04  ✓ introduce IRQs-off variants of {,un}map_domain_page() p05 d05  ✓ introduce populate_perdoma in_mapping() p04->p05 p06 d06  use populate_perdomain_map ping() to map the Xen GDT p05->p06 p05->p07 p08 d08  ✓ update guest LDT mappings using {populate,destroy}_p erdom... p05->p08 p19 d19  create per-domain mapping for guest_root_pt p05->p19 p09 d09  remove stashing of GDT/LDT L1 page-tables p06->p09 p07->p09 p08->p09 p10 d10  simplify create_perdomain_mapping() interface p09->p10 p17 d17  introduce per-vCPU L3 page-table p09->p17 p11 d11  ✓ purge unneeded destroy_per domain_mapping() p12 d12  prepare destroy_perdomain_ mapping() for per-vCPU perdomai... p11->p12 p12->p19 p56 d56  run destroy_perdomain_mapp ing()'s walk with interrupts di... p12->p56 p13 d13  drop redundant create_perdomain_mapping() call p14 d14  prepare create_perdomain_mapping() for per-vCPU perdomain... p13->p14 p15 d15  introduce Address Space Isolation command line option p14->p15 p20 d20  untie issuing FLUSH_ROOT_PGTBL from XPTI p21 d21  move FLUSH_ROOT_PGTBL handling before TLB flush p20->p21 p22 d22  allow using a unique per- vCPU root page table (L4) p21->p22 p47 d47  move the set_mtrr() rendezvous data off the stack p15->p17 p16 d16  clear the XPTI root_pgt per-domain slot on context-switch... p16->p17 p18 d18  introduce a per-vCPU mapcache when using ASI p17->p18 p17->p22 p19->p22 p22->p57 p29 d29  Initialize the mapcache for PV, HVM, and idle domains p22->p29 p23 d23  introduce a per-vCPU state window in the perdomain area p22->p23 p48 d48  move smp_send_stop()'s AP- stop flag off the stack p49 d49  move the calibration rendezvous data off the stack p50 d50  move the stop_machine payload off the stack p51 d51  introduce by-value payloads for call-function IPIs p52 d52  pass stack-allocated callfunc payloads by value p51->p52 p53 d53  pass error-injection callfunc payloads by value p51->p53 p54 d54  pass remaining stack- allocated callfunc payloads by value p51->p54 p55 d55  assert that by-pointer callfunc payloads are not on the s... p52->p55 p53->p55 p54->p55 p55->p57 p28 d28  allow alloc_heap_pages() calls with current == NULL p28->p29 p56->p57 p58 d58  zero stack on context switch p57->p58 p61 d61  skip the XPTI stack-alias clone with per-CPU stacks p57->p61 g_stack Xen stacks per-CPU private and scrubbed p58->g_stack p26 d26  Use copy_domain_page() when relocating the dom0 initrd p27 d27  Rewrite how building PV dom0 handles domheap mappings p26->p27 p36 d36  Wire the on-demand directmap into the asi= option p27->p36 p29->p57 p31 d31  Remove the fast paths when mfn is not in the directmap p29->p31 p37 d37  introduce map_domain_pages() p29->p37 g_map Transient guest mappings per-vCPU private p29->g_map p30 d30  Add support for the PMAP p30->p31 p31->p36 p32 d32  Leave early boot slightly earlier p34 d34  vmap heap nodes when they are outside the direct map p32->p34 p33 d33  Add a path for xenheap when there is no direct map p33->p36 p34->p36 p35 d35  Do not create valid mappings when the directmap is on demand p35->p36 g_dmap No always-mapped full directmap p36->g_dmap p59 d59  track per-CPU stack pages alongside stack_base p62 d62  allocate per-CPU stacks from the domheap under ASI p59->p62 p60 d60  keep a per-CPU mirror of current for cross-CPU readers p60->p62 p61->p62 p62->g_stack p38 d38  use map_domain_pages() for cross-page emulated writes p37->p38 p39 d39  use map_domain_pages() for multi-frame emulated accesses p37->p39 p46 d46  move guest XSAVE areas behind the vCPU state window p37->p46 p38->g_map p39->g_map p24 d24  allocate VMCBs from the domain heap behind the vCPU state... p23->p24 p25 d25  move the guest MSR load/save list off always- mapped memory p23->p25 p25->p46 g_state Guest register state not always-mapped p25->g_state p40 d40  Refactor FXSAVE_AREA to use wrappers p41 d41  Map/unmap xsave area in read_bndcfgu() p40->p41 p42 d42  Pass explicit xsave areas to fpu_(f)xsave() p40->p42 p43 d43  Pass explicit xsave areas to fpu_(f)xrstor() p40->p43 p41->p46 p42->p46 p43->p46 p44 d44  classify xsave-area seam accesses by failure mode p44->p46 p45 d45  restore FPU state after switching to the new page tables p45->p46 p46->g_state

Xen ASI series — 62 patches

Selected patch

Click a patch. Blue outline = what it needs (ancestors); vermilion = what needs it (descendants). Click again or press Clear to reset.

Legend

verified dependency
inferred (verify during group review)
gold arrow: completes an end goal (hexagons). Each goal is drawn beside the group that achieves it; together the four constitute the ASI end state (guest-owned data not reachable from other contexts).
green node border: vetted so far (status shown on selection)
double border: posted to xen-devel (thread link on selection)
blue border and ✓ in the label: carries a Reviewed-by (tags shown on selection)
Dependencies already implied by a drawn path are recorded but not drawn; the click-cone includes them.

Postings

Open items

Source of truth: gen-depgraph.py (same directory); positions read live from stg series; regenerate with python3 gen-depgraph.py.