Xen on Powerpc

Xen on Powerpc

Xen on PowerPC Hollis Blanchard, IBM Linux Technology Center Jimi Xenidis, IBM Research 17 Jan 2006 http://wiki.xensource.com/xenwiki/Xen/PPC 1 PowerPC Architecture ● IBM pSeries and blade servers; Power.org ● exceptions: fixed entry points, real mode ● MMU translation via hash table ● Open Firmware – device tree – RTAS (Runtime Abstraction Services) 17 Jan 2006 http://wiki.xensource.com/xenwiki/Xen/PPC 2 PowerPC Processors ● 32-bit, no hypervisor mode (e.g. “G4” 7450) ● 64-bit, no hypervisor mode (“G5” 970) – some prototype work ● 64-bit, hypervisor mode PowerPC 970 – current Xen/PPC target (Maple evaluation board) ● Cell, POWER5, PWRficient – not a current target 17 Jan 2006 http://wiki.xensource.com/xenwiki/Xen/PPC 3 IBM Hypervisor Support ● PAPR specification (PowerPC Architecture Platform Requirements) – PHYP enterprise hypervisor ● server IO topology – IOMMU – slot-level PCI error isolation 17 Jan 2006 http://wiki.xensource.com/xenwiki/Xen/PPC 4 IBM Processor Extensions ● few OS changes, almost no performance impact ● additional privilege level – page table register no longer owned by kernel ● hypervisor decrementer – to preempt domains even with interrupts off 17 Jan 2006 http://wiki.xensource.com/xenwiki/Xen/PPC 5 IBM Processor Extensions 2 ● real-mode accesses: base + limit – direct-to-domain exception delivery – must be contiguous, naturally aligned ff..f ff..f limit domain 2 limit domain 2 base domain 1 base domain 1 0 0 17 Jan 2006 http://wiki.xensource.com/xenwiki/Xen/PPC 6 Linux Modifications ● PowerPC Linux already well-abstracted – page table modifications – interrupt controller ● PowerPC Linux changes for Xen – event channel – early boot console – idle loop 17 Jan 2006 http://wiki.xensource.com/xenwiki/Xen/PPC 7 Current Xen/PPC Status ● Xen and Linux Domain0 boot – bare metal (no bootloader) and systemsim ● custom domain builder ● DomU boots to userspace ● very few Linux changes – same binary on PHYP, dom0, domU, hardware 17 Jan 2006 http://wiki.xensource.com/xenwiki/Xen/PPC 8 Current Xen/PPC Limitations ● no SMP, domU timekeeping, grant tables, ... ● no virtual IO (not even interactive console) ● fixed-size contiguous domain memory 17 Jan 2006 http://wiki.xensource.com/xenwiki/Xen/PPC 9 Roadmap ● finish domU – IO drivers – SMP ● main bottleneck: tool portability ● testing infrastructure ● software layer to run Xen on JS20 blades 17 Jan 2006 http://wiki.xensource.com/xenwiki/Xen/PPC 10 Long-term Roadmap ● 970MP support ● live migration ● non-hypervisor mode 970 ● Cell ● non-hypervisor mode 32-bit PPC 17 Jan 2006 http://wiki.xensource.com/xenwiki/Xen/PPC 11 Simple Common Changes ● Makefile ifdefs (e.g. tools/libxc/Makefile) – Xen: ifeq ($(CONFIG_FOO),y) SRCS += foo.c endif – Linux: obj-$(CONFIG_FOO) += foo.o 17 Jan 2006 http://wiki.xensource.com/xenwiki/Xen/PPC 12 Simple Common Changes 2 ● code #ifdefs (e.g. privcmd.c) – #if defined(__i386__) asm volatile(“hypercall”) #elif defined(__x86-64__) #elif defined(__ia64__) – call out to arch-provided function instead ● portable GDB stub – Isaku Yamahata ● unsigned long for bitops 17 Jan 2006 http://wiki.xensource.com/xenwiki/Xen/PPC 13 Required Common Changes ● instruction/data cache consistency – required when copying code (e.g. domain building) – xc_copy_to_domain_page(), xc_map_memcpy() ● timer delivery – send_guest_virq(vcpu, VIRQ_TIMER) – abstract to arch_send_timer_virq(vcpu) 17 Jan 2006 http://wiki.xensource.com/xenwiki/Xen/PPC 14 Tough Common Changes ● management tool address spaces – hypervisor has separate address space dom0_op dom0_op userspace userspace hypervisokernel hypervisokernel r r one address space -- x86 two address spaces -- PowerPC 17 Jan 2006 http://wiki.xensource.com/xenwiki/Xen/PPC 15 Optimizations ● haven't been a priority so far ● non-volatile registers exception do_softirq() save modify context_switch() restore 17 Jan 2006 http://wiki.xensource.com/xenwiki/Xen/PPC 16 More Optimizations ● page-flipping – must copy real-mode area pages ● restrict virtual IO to non-real mode pages – PowerPC Linux uses large (16MB) pages ● restrict virtual IO to special 4KB page pool 17 Jan 2006 http://wiki.xensource.com/xenwiki/Xen/PPC 17 Discussion Topics ● xencomm area ● merge plans ● community points of interest? 17 Jan 2006 http://wiki.xensource.com/xenwiki/Xen/PPC 18.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    18 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us