SCSI support improvement

Similar documents
Development of I/O Pass-through: Current Status & the Future. Nov 21, 2008 Yuji Shimada NEC System Technologies, Ltd.

Block I/O bandwidth Control

Enhancing pass through device support with IOMMU. Haitao Shan Yunhong Jiang Allen M Kay Eddie (Yaozu) Dong

PCI-SIG ENGINEERING CHANGE NOTICE

IA32 OS START-UP UEFI FIRMWARE. CS124 Operating Systems Fall , Lecture 6

RAID Option ROM. Product Implementation Guide. Version 1.8 Date: 08/19/2009. Copyright 2009, Promise Technology, Inc. All Rights Reserved

Virtualization. Pradipta De

Xen VT status and TODO lists for Xen-summit. Arun Sharma, Asit Mallick, Jun Nakajima, Sunil Saxena

Xen on ARM. Stefano Stabellini

The Early System Start-Up Process. Group Presentation by: Tianyuan Liu, Caiwei He, Krishna Parasuram Srinivasan, Wenbin Xu

Longhorn Large Sector Size Support. Anuraag Tiwari Program Manager Core File System

Virtualization with XEN. Trusted Computing CS599 Spring 2007 Arun Viswanathan University of Southern California

INT 13 command: SCSI Pass Through Proposal

Support for Smart NICs. Ian Pratt

Intel s Virtualization Extensions (VT-x) So you want to build a hypervisor?

EXTENDED SYSTEM CONFIGURATION DATA SPECIFICATION

I/O virtualization. Jiang, Yunhong Yang, Xiaowei Software and Service Group 2009 虚拟化技术全国高校师资研讨班

Release Definitions for SDMS 4.7 CD-ROM Software

Virtualization. Santa Clara Valley Chapter of the IEEE Communication Society June 20, 2007 Scott Lurndal, 3Leaf Systems

NAS for Server Virtualization Dennis Chapman Senior Technical Director NetApp

BOOTSTRAP, PC BIOS, AND IA32 MEMORY MODES. CS124 Operating Systems Winter , Lecture 5

Xen is not just paravirtualization

3 November 2009 e09127r1 EDD-4 Hybrid MBR support

Intel Graphics Virtualization on KVM. Aug KVM Forum 2011 Rev. 3

Configuring Server Boot

Configuring Server Boot

Junhong Jiang, Kevin Tian, Chris Wright, Don Dugger

Xen Extensions to Enable Modular/3rd Party Device Emulation for HVM Domains. Problem Statement

Evaluation and improvements of I/O Scalability for Xen. Jun Kamada, Fujitsu Limited Simon Horman, VA Linux Systems Japan

Aptio 5.x Status Codes

Graphics Pass-through with VT-d

Xen VGA passthrough. 1.1 VGA passthrough. 1 Introduction. 2 Xen architecture. 2.1 Structure

Troubleshooting & Repair

The Convergence of Storage and Server Virtualization Solarflare Communications, Inc.

Hostless Xen Deployment

Overview. Wait, which firmware? Threats Update methods request_firmware() hooking Regression testing Future work

FreeBSD and the IBM PC BIOS

Virtualization, Xen and Denali

Time Left. sec(s) Quiz Start Time: 12:13 AM. Question # 5 of 10 ( Start time: 12:18:29 AM ) Total Marks: 1

Technical White Paper iscsi Boot November 11, 2004

Linux and Xen. Andrea Sarro. andrea.sarro(at)quadrics.it. Linux Kernel Hacking Free Course IV Edition

Virtual Machine Security

PCIe SATA 6G + PATA RAID Card

The Contents and Structure of this Manual. This document is composed of the following three chapters and an appendix.

Firmware Rootkits: The Threat to the Enterprise. John Heasman, Director of Research

istorage Server Working with iscsi HBA Performing a Network Diskless Boot

Optimizing and Enhancing VM for the Cloud Computing Era. 20 November 2009 Jun Nakajima, Sheng Yang, and Eddie Dong

SR-IOV support in Xen. Yaozu (Eddie) Dong Yunhong Jiang Kun (Kevin) Tian

Jeff Dodson / Avago Technologies

Virtualisation: The KVM Way. Amit Shah

The Extended MBR (version 1.05) (dated: 01 Nov 2018) by Benjamin David Lunt Copyright (c) Forever Young Software

BIOS Enhanced Disk Drive Specification. June 24, 1999

Voltaire. Fast I/O for XEN using RDMA Technologies. The Grid Interconnect Company. April 2005 Yaron Haviv, Voltaire, CTO

Virtual Virtual Memory

SATA 150 RAID. user. Model MAN UM

Configuring SR-IOV. Table of contents. with HP Virtual Connect and Microsoft Hyper-V. Technical white paper

Xen on ARM ARMv7 with virtualization extensions

Virtual Machines. Part 2: starting 19 years ago. Operating Systems In Depth IX 1 Copyright 2018 Thomas W. Doeppner. All rights reserved.

I/O Virtualization The Next Virtualization Frontier

CSE543 - Computer and Network Security Module: Virtualization

BIOS Update Release Notes

Virtualization BOF. Isaku Yamahata

CS 410/510. Mark P Jones Portland State University

SOFTWARE GUIDE VT-100. imageraid Series Storage System. (Text-based User Interface)

Slide 0 Welcome to this Web Based Training session introducing the ETERNUS DX80 S2, DX90 S2, DX410 S2 and DX440 S2 storage systems from Fujitsu.

Boot Engineering Extension Record (B.E.E.R.) By Curtis E. Stevens

libvirt integration and testing for enterprise KVM/ARM Drew Jones, Eric Auger Linaro Connect Budapest 2017 (BUD17)

HOW TO: Perform a Hardware Independent Restore (HIR)

Hardware-Assisted Mediated Pass-Through with VFIO. Kevin Tian Principal Engineer, Intel

Intel Virtualization Technology Roadmap and VT-d Support in Xen

CSCE 410/611: Virtualization

BIOS Update Release Notes

Application Note. P2V and V2V Concepts for Scale Computing HC³

ARM-KVM: Weather Report Korea Linux Forum

Towards a configurable and slimmer x86 hypervisor

Background. IBM sold expensive mainframes to large organizations. Monitor sits between one or more OSes and HW

Device I/O Programming

Copyright 2015

UEFI and PCI bootkits. Pierre Chifflier PacSec 2013

RAID Card with HyperDuo

CSCE 410/611: Virtualization!

Configuring the HP StorageWorks Modular Smart Array 1000 and 1500cs for external boot with Novell NetWare New Installations

These boots are made for walking. Johan Montelius HT2018

HKG : OpenAMP Introduction. Wendy Liang

Transforming XenServer into a proper open-source project

Expanding Your Market with Open Firmware. Agenda

The FAT File System. 1. FAT Overview. 2. Boot Sector, FAT, Root Directory, and Files The FAT F 䤀耄 le System

I/O and virtualization

I/O Device Controllers. I/O Systems. I/O Ports & Memory-Mapped I/O. Direct Memory Access (DMA) Operating Systems 10/20/2010. CSC 256/456 Fall

Appendix A Fast!UTIL

Xen Project. An overview of the Verizon Cloud Architecture. Don Slutz

FastTrak TX866X/TX4660 Release Note

Big and Bright - Security

HPVM & OpenVMS. Sandeep Ramavana OpenVMS Engineering Sep Germany Technical Update Days 2009

Vendor: Oracle. Exam Code: 1Z Exam Name: oracle VM 2 for x86 Essentials. Version: Demo

WARNING USING THIS SOFTWARE IS NOT A TRIVIAL UPGRADE TO EXISTING RAID INSTALLATIONS!

RAID-01 (ciss) B Mass Storage Driver Release Notes

ETERNUS Disk storage systems Server Connection Guide (Fibre Channel) for VMware ESX

PCI Card. PCI IDE 100 RAID Card With 3 IEEE Installation Manual PCI1394RAID

Connectivity. Module 2.2. Copyright 2006 EMC Corporation. Do not Copy - All Rights Reserved. Connectivity - 1

Transcription:

SCSI support improvement Jun Kamada <kama@jp.fujitsu.com> Akio Takebe <takebe_akio@jp.fujitsu.com> Hitoshi Matsumoto <matsumotohitosh@jp.fujitsu.com> Fujitsu Limited

Background SCSI support for guest domain is mandatory feature for server system. (See http://www.xen.org/files/xensummit_fall07/19_matsumoto.pdf.) We have developed the pvscsi driver. Direct I/O (VT-d, IOMMU) is attractive by various reason. (more performance, compatibility to native environment, ) We concurrently proceed with: They can coexist, so The pvscsi driver improvements (@ Part 1) SAN boot support with VT-d (@ Part 2) 2

Part 1 The pvscsi driver improvements (Request for comments) 3

Current implementation (Xen 3.3.0) The pvscsi driver for Xen 3.3.0 provides: LUN(Logical Unit Number) pass through LUN hot-plug Dom0 Guest Domain Physical SCSI host (host=0) Virtual SCSI host (host=2) Virtual SCSI host (host=2) Physical LUNs (3) Add (1) Add Virtual LUNs LUN LUN LUN 1:0:1:3 LUN LUN 0:0:0:1 0:1:2:3 2:0:0:0 2:0:0:1 (2) Attach Virtual LUNs LUN LUN 2:0:0:0 2:0:0:1 Physical SCSI tree(s) Arbitrary mapping Virtual SCSI tree (4) Appear Immediately Virtual SCSI tree 4

Issue of current implementation Current implementation provides completely virtualized (arbitrarily mapped) SCSI tree to guest domain. It can provide flexibility, but Some kind of SCSI commands (REPORT_LUN, EXTENDED_COPY, ) should be emulated on backend. (They depend on physical topology of SCSI tree.) A lot of work is needed in order to Implement emulation logic for all the commands, so current implementation supports only mandatory commands. Does not support full SCSI functionality. :-( 5

How to solve the issue 1. Implement all emulation logics step by step. Hard work. Cannot support some vendor specific commands, maybe. 2. Add new mode in order to attach whole HBA to guest domain. (It allows bypassing SCSI command emulation on backend driver.) Easy to implement. (Details will be shown in following slide.) Can support all vendor specific commands. Can support NPIV(N_Port Id Virtualization). We propose to take second approach. 6

Proposed implementation (1/2) Additional implementation provides: Host (HBA: Host Bus Adaptor) pass through Dom0 Guest Domain Physical SCSI host (host=0) Virtual SCSI host (host=2) Virtual SCSI host (host=2) Physical LUNs (1) Create Virtual LUNs (2) Attach Virtual LUNs LUN LUN LUN LUN 0:0:0:1 0:1:2:3 2:0:0:1 2:1:2:3 LUN 2:0:0:1 LUN 2:1:2:3 Physical SCSI tree Same ID (underline only) Virtual SCSI tree Virtual SCSI tree 7

Proposed implementation (2/2) Modification needed are at most: Backend Driver LUN/Host mode identification flag for each virtual SCSI tree Emulation bypassing logic (if the flag shows host mode ) should be needed. (only one if clause (?)) Frontend Driver No need to modify xend User interface should be modified LUN scan logic should be added 8

Conclusion (Part 1) We will post patches in a few days. We would appreciate you to send us many comments. Thanks 9

Part 2 SAN boot support with VT-d 10

Introduction Why do we need SAN boot? (1/2) VT-d advantages: - Using the device drivers/applications of native OS - Isolation - Performance Dom0 Guest Guest Hypervisor H/W Device driver assigned device VT-d Device driver assigned device 11

Introduction Why do we need SAN boot? (2/2) Current PCI pass-through devices with VT-d are only for data disk. Guest still needs to boot from a emulation disk. We want to use pass-through devices for all disk including boot disk. To use the devices as boot disk, we need to support some bootable mechanisms which can boot from the devices (e.g. SAN boot) and so on. If guest can do SAN boot, we don t need to have emulation disks. server server SCSI command SAN SCSI command storage (RAID) storage (RAID) For booting OS, guest BIOS must read MBR of disk via pass-through device. 12

Introduction What are required for SAN boot? In the case of SAN boot, BIOS needs to use Expansion ROM of PCI devices for reading MBR. To use Expansion ROM of PCI devices, Guest BIOS needs: Support PCI Firmware Spec and BIOS Boot spec Support the calling convention of PCI 3.0 Support the calling convention of PCI legacy device Support the calling convention of BEV style in BIOS Boot spec Support the calling convention of BCV style in BIOS Boot spec Support BIOS services used by Expansion ROM interrupt function like int 0x10, int 0x16 I/O port accesses BCV: Boot Connection Vector. It s typically used by SCSI controller. BEV: Boot Entry Vector. It s typically used by Ethernet controller. 13

Current Issues Guest BIOS/qemu-dm support booting from only emulation devices. Guest BIOS doesn t support full BIOS services. So Expansion ROM may use unsupported services. There are several kinds of calling convention for Expansion ROMs(PCI 3.0 spec, legacy spec, PnP Boot BIOS spec, some mix spec and so on) BIOS spec is not clear so much 14

Enhancement plan 1 st Step Improve rombios for supporting BCV style search Expansion ROM image from PCI devices. sanity check (checksum, device id) map Expansion ROM image to 0xd0000 support BCV style calling convention of Expansion ROM modify qemu-dm for SAN boot 2 nd Step Support other boot specs implement unsupported BIOS services into rombios 15

Design concept (1/3) As the 1st Step, we Support booting with the calling convention of BCV style in BIOS Boot Spec. Why do we choice the convention of BCV style? - Most PCI devices should support the BCV style. - The calling convention is simple. What is BCV style? BCV style is a way that can read a disk by installing a device specific handler of INT 0x13(disk read). BCV is a pointer that points to code inside the Expansion ROM. By using the code, BIOS can install a special INT 0x13 handler at the initialization. 16

Design concept (2/3) How to initialize Expansion ROM 1. hvmloader map the Expansion ROM to 0xd0000 0xd0000 0xe0000 ROM header PCI data structure PnP Expansion Header Image 0h 2h 3h 6h 18h 1Ah signature Image size Entry point for INIT function reserved Pointer to PCI data Structure PnP Expansion Header 2. hvmloader,rombios do sanity check 0xaa55 jmp <address> 3. rombios jump to Entry point for INIT function after supplying ax register with bus:dev:function number. 17

0xd0000 ROM header PCI data structure PnP Expansion Header Design concept (3/3) How to initialize Expansion ROM 0h 2h 3h 6h 18h 1Ah signature Image size Entry point for INIT function reserved Pointer to PCI data Structure PnP Expansion Header 0xaa55 jmp <address> 4. Jump to BCV for installing INT 0x13 handler Image 0h signature $PnP Next PnP Expansion Header 0xe0000 06h offset of next header (0000h is none) 09h checksum 16h BCV Code to hook INT 0x13h 18

Sample 19

Current Status 1 st Step Improve rombios for supporting BCV style [Done(prototype)] We can do SAN boot. modify qemu-dm for SAN boot [WIP] clean up patch [WIP] 2 nd Step Support other boot spec implement unsupported BIOS services into rombios 20

This work was partly funded by Ministry of Economy, Trade and Industry (METI) of Japan as the Secure Platform project of Association of Super-Advanced Electronics Technologies (ASET). 21

Q&A Any questions? 22