TCG_Storage-Opal_SSC_v2.01_rev1.00
- 格式:pdf
- 大小:785.77 KB
- 文档页数:80
易灵思(深圳)科技有限公司国产化中高端F P G A 领军厂商——加速您的创芯!RISCV-OPAL SOC 演示说明20221017准备工作➢T20F169DevKit或T20F256Devkit 开发板➢Efinity2019.3.272patch10.1以上➢Opal RISC-V SoC•SDK Windows:riscv_sdk_windows-v1.0.zip•IP Core:efx_opal_riscv_soc-v1.0.zip•Opal Risc-V SoC Hardware and Software User Guide ➢USB-UART串口电缆一根SDK Windows 软件开发环境搭建•安装Efinity•安装RISC-V SDK •安装Java JRE•安装SoC 开发工具安装(参照用户手册第一章)软件环境设置(参照用户手册第3章至第六章)•运行Eclipse •设置Eclipse 工作环境•建立和编译软件工程•用OpenOCD 进行Debug➢UART_RXD:GPIO_26➢UART_TXD :GPIO_28➢APB3LED:D9-D10➢GPIO:D3-D8➢演示说明:➢1程序运行串口打印信息➢2打印信息可通过C代码修改➢3程序运行D9D10交替闪烁➢4D3-D8同步闪烁➢5闪烁频率可通过C代码修改➢UART_RXD:GPIO_74➢UART_TXD:GPIO_73➢APB3LED:D5-D6➢演示说明:➢1程序运行串口打印信息➢2打印信息可通过C代码修改➢3程序运行D5D6交替闪烁➢4D5D6闪烁频率可通过C代码修改。
广州致远电子有限公司移植WM8960 基于A6G2C/M6G2C 核心板修订历史目录第1章适用范围 (1)第2章开发环境 (2)第3章技术实现 (3)3.1硬件连接 (3)3.2解压内核源码 (3)3.3调整设备树 (3)3.3.1更新sound结点 (4)3.3.2修改sai2结点 (5)3.3.3增加codec结点 (6)3.4编译WM8960 (6)3.5增加系统补丁 (7)第4章免责声明 (8)第1章适用范围本文主要介绍在EPC-6G2C-L(M6G2C)上,移植WM8960驱动。
其应用原理及移植步骤,也适用于A6GxC系列其他产品。
第2章开发环境●开发主机环境:Ubuntu 12.04(64 位)、gcc-linaro-arm-linux-gnueabihf-4.9-2014.09系列交叉工具链。
●硬件清单:A6G2C/M6G2C核心板+带WM8960芯片的底板(底板其它配置与EPC-6G2C-L一致)。
●软件资源:光盘EPC_IoT_M6GxC_A6GxC内核源码包:linux-src-bsp-4.1.15.tar.gz(或者更高版本光盘资料提供的内核源码包)。
第3章技术实现注意:在开始进行下面的操作之前,请首先确认ubuntu 主机的开发环境已经搭建好。
如需了解这方面的内容,请参考产品光盘资料中的《嵌入式Linux开发教程(上册) ——基于EPC-M6G2C-L.pdf》,第6章嵌入式Linux开发环境构建。
3.1 硬件连接WM8960需要与CPU的任意一路SAI接口以及I2C接口连接。
如WM8960与CPU的SAI2接口连接,则对应的引脚连接应该是:具体的硬件电路可参考《wm8960电路.xps》。
请注意:A6G2C核心板上的SAI2的引脚有外接电容,这个会影响波形产生,因此如果使用SAI2时需要去除核心板上SAI2相关的电容。
同样的,Iot-6G2C-L及EPC-6G2C-L底板的SAI2的引脚也有外接电容,也需要去除。
QEMU技术分析2 - TCG(Tiny Code Generator)基本原理从QEMU-0.10.0开始,TCG成为QEMU新的翻译引擎,做到了“真正”的动态翻译(从某种意义上说,旧版本是从编译后的目标文件中复制二进制指令)。
TCG的全称为“Tiny Code Generator”,QEMU的作者Fabrice Bellard在TCG的说明文件中写到,TCG起源于一个C编译器后端,后来被简化为QEMU 的动态代码生成器(Fabrice Bellard以前还写过一个很牛的编译器TinyCC)。
实际上TCG的作用也和一个真正的编译器后端一样,主要负责分析、优化Target代码以及生成Host代码。
Target指令----> TCG ----> Host指令以下的讲述以X86平台为例(Host和Target都是X86)。
我在上篇文章中讲到,动态翻译的基本思想就是把每一条Target指令切分成为若干条微操作,每条微操作由一段简单的C代码来实现,运行时通过一个动态代码生成器把这些微操作组合成一个函数,最后执行这个函数,就相当于执行了一条Target指令。
这种思想的基础是因为CPU指令都是很规则的,每条指令的长度、操作码、操作数都有固定格式,根据前面就可推导出后面,所以只需通过反汇编引擎分析出指令的操作码、输入参数、输出参数等,剩下的工作就是编码为目标指令了。
那么现在的CPU指令这么多,怎么知道要分为哪些微操作呢?其实CPU指令看似名目繁多,异常复杂,实际上多数指令不外乎以下几大类:数据传送、算术运算、逻辑运算、程序控制;例如,数据传送包括:传送指令(如MOV)、堆栈操作(PUSH、POP)等,程序控制包括:函数调用(CALL)、转移指令(JMP)等;基于此,TCG就把微操作按以上几大类定义(见tcg/i386/tcg-target.c),例如:其中一个最简单的函数tcg_out_movi 如下:// tcg/tcg.cstatic inline void tcg_out8(TCGContext *s, uint8_t v){*s->code_ptr++ = v;}static inline void tcg_out32(TCGContext *s, uint32_t v){*(uint32_t *)s->code_ptr = v;s->code_ptr += 4;}// tcg/i386/tcg-target.cstatic inline void tcg_out_movi(TCGContext *s, TCGType type,int ret, int32_t arg){if (arg == 0) {/* xor r0,r0 */tcg_out_modrm(s, 0x01 | (ARITH_XOR << 3), ret, ret);} else {tcg_out8(s, 0xb8 + ret); // 输出操作码,ret是寄存器索引tcg_out32(s, arg); // 输出操作数}}0xb8 - 0xbf 正是x86指令中的mov R, Iv 系列操作的16进制码,所以,tcg_out_movi 的功能就是输出mov 操作的指令码到缓冲区中。
Mellanox OFED for Linux Installation GuideRev 1.5.1Mellanox Technologies350 Oakmead Parkway, Suite 100Sunnyvale, CA 94085U.S.A.Tel: (408) 970-3400Fax: (408) 970-3403Mellanox Technologies, Ltd.PO Box 586 Hermon Building Yokneam 20692Israel Tel: +972-4-909-7200Fax: +972-4-959-3245© Copyright 2010. Mellanox Technologies, Inc. All Rights Reserved.Mellanox®, BridgeX®, ConnectX®, InfiniBlast®, InfiniBridge®, InfiniHost®, InfiniPCI®, InfiniRISC®, InfiniScale®, andVirtual Protocol Interconnect are registered trademarks of Mellanox Technologies, Ltd.CORE-Direct , FabricIT, and PhyX are trademarks of Mellanox Technologies, Ltd.All other marks and names mentioned herein may be trademarks of their respective companies.Document Number: 2914Rev 1.5.1Mellanox Technologies 2NOTE:THIS HARDWARE, SOFTWARE OR TEST SUITE PRODUCT (“PRODUCT(S)”) AND ITS RELATED DOCUMENTATION ARE PRO-VIDED BY MELLANOX TECHNOLOGIES “AS-IS” WITH ALL FAULTS OF ANY KIND AND SOLELY FOR THE PURPOSE OF AIDING THE CUSTOMER IN TESTING APPLICATIONS THAT USE THE PRODUCTS IN DESIGNATED SOLUTIONS. THE CUS-TOMER'S MANUFACTURING TEST ENVIRONMENT HAS NOT MET THE STANDARDS SET BY MELLANOX TECHNOLOGIES TO FULLY QUALIFY THE PRODUCTO(S) AND/OR THE SYSTEM USING IT. THEREFORE, MELLANOX TECHNOLOGIES CAN-NOT AND DOES NOT GUARANTEE OR WARRANT THAT THE PRODUCTS WILL OPERATE WITH THE HIGHEST QUALITY . ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING , BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER-CHANTABILITY , FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL MELLANOX BE LIABLE TO CUSTOMER OR ANY THIRD PARTIES FOR ANY DIRECT, INDIRECT, SPECIAL, EXEM-PLARY , OR CONSEQUENTIAL DAMAGES OF ANY KIND (INCLUDING , BUT NOT LIMITED TO, PAYMENT FOR PROCURE-MENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY , WHETHER IN CONTRACT, STRICT LIABILITY , OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY FROM THE USE OF THE PRODUCT(S) AND RELATED DOCUMENTATION EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.Mellanox OFED for Linux User’s Manual Rev 1.5.1 InstallationThis chapter describes how to install and test the Mellanox OFED for Linux package on a singlehost machine with Mellanox InfiniBand and/or Ethernet adapter hardware installed. The chapterincludes the following sections:•“Hardware and Software Requirements” (page 3)•“Downloading Mellanox OFED” (page 4)•“Installing Mellanox OFED” (page 4)•“Uninstalling Mellanox OFED” (page 15)Hardware and Software RequirementsHardware RequirementsPlatforms• A server platform with an adapter card based on one of the following Mellanox Technologies’InfiniBand HCA devices:-MT25408 ConnectX®-2 (VPI, IB, EN, FCoE) (firmware: fw-ConnectX2)-MT25408 ConnectX® (VPI, IB, EN, FCoE) (firmware: fw-25408)-MT25208 InfiniHost® III Ex (firmware: fw-25218 for Mem-Free cards, and fw-25208 for cards withmemory)-MT25204 InfiniHost® III Lx (firmware: fw-25204)-MT23108 InfiniHost® (firmware: fw-23108)Note For the list of supported architecture platforms, please refer to the Mellanox OFEDRelease Notes file.Required Disk Space for Installation•400MBSoftware RequirementsOperating System•Linux operating systemNote For the list of supported operating system distributions and kernels, please refer to the Mellanox OFED Release Notes file.Installer Privileges•The installation requires administrator privileges on the target machineMellanox Technologies3Rev 1.5.1Mellanox Technologies 4Downloading Mellanox OFEDStep 1.Verify that the system has a Mellanox network adapter (HCA/NIC) installed by ensuringthat you can see ConnectX or InfiniHost entries in the display.The following example shows a system with an installed Mellanox HCA:host1# lspci -v | grep Mellanox02:00.0 InfiniBand: Mellanox Technologies MT25418 [ConnectX IB DDR, PCIe 2.0 2.5GT/s] (reva0)Step 2.Download the ISO image to your host.The image’s name has the format MLNX_OFED_LINUX-<ver>-<OS label>.iso. You candownload it from > Products > IB SW/Drivers.Step e the md5sum utility to confirm the file integrity of your ISO image. Run the followingcommand and compare the result to the value provided on the download page.host1$ md5sum MLNX_OFED_LINUX-<ver>-<OS label>.isoInstalling Mellanox OFEDThe installation script, mlnxofedinstall , performs the following:•Discovers the currently installed kernel•Uninstalls any software stacks that are part of the standard operating system distribution oranother vendor's commercial stack•Installs the MLNX_OFED_LINUX binary RPMs (if they are available for the current kernel)•Identifies the currently installed InfiniBand and Ethernet network adapters and automatically 1upgrades the firmwarePre-installation Notes•The installation script removes all previously installed Mellanox OFED packages and re-installsfrom scratch. You will be prompted to acknowledge the deletion of the old packages.Note Pre-existing configuration files will be saved with the extension “.conf.saverpm”.•If you need to install Mellanox OFED on an entire (homogeneous) cluster, a common strategy isto mount the ISO image on one of the cluster nodes and then copy it to a shared file system suchas NFS. To install on all the cluster nodes, use cluster-aware tools (such as pdsh).•If your kernel version does not match with any of the offered pre-built RPMs, you can add yourkernel version by using the “mlnx_add_kernel_support.sh ” script located under the docs/directory.Usage:mlnx_add_kernel_support.sh -i|--iso <mlnx iso>[-t|--tmpdir <local work dir>][-v|--verbose]1.The firmware will not be updated if you run the install script with the ‘--without-fw-update’ option.Mellanox OFED for Linux User’s Manual Rev 1.5.1 ExampleThe following command will create a MLNX_OFED_LINUX ISO image for RedHat 5.4 underthe/tmp directory.MLNX_OFED_LINUX-1.5.1-rhel5.4/docs/mlnx_add_kernel_support.sh -i/mnt/MLNX_OFED_LINUX-1.5.1-rhel5.4.isoAll Mellanox, OEM, OFED, or Distribution IB packages will be removed.Do you want to continue?[y/N]:yRemoving OFED RPMs...Running mkisofs...Created /tmp/MLNX_OFED_LINUX-1.5.1-rhel5.4.isoInstallation ScriptMellanox OFED includes an installation script called mlnxofedinstall. Its usage is describedbelow. You will use it during the installation procedure described in Section , “Installation Proce-dure,” on page 6.Usage./mlnxofedinstall [OPTIONS]Note If no options are provided to the script, then all available RPMs are installed.Options-c|--config <packages config_file>Example of the configuration file can be found under docs -n|--net <network config file>Example of the network configuration file can be foundunder docs-p|--print-available Print available packages for the current platform and cre-ate a corresponding ofed.conf file. The installation scriptexits after creating ofed.conf.--with-fc Install FCoE support — Available on RHEL5.2 ONLY--with-32bit Install 32-bit libraries (default). This is relevant forx86_64 and ppc64 platforms.--without-32bit Skip 32-bit libraries installation--without-ib-bonding Skip ib-bonding RPM installation--without-depcheck Skip Distro's libraries check--without-fw-update Skip firmware update--force-fw-update Force firmware update--force Force installation (without querying the user)--all Install all kernel modules, libibverbs, libibumad, librd-macm, mft, mstflint, diagnostic tools, OpenSM, ib-bonding,MVAPICH, Open MPI, MPI tests, MPI selector, perftest, sdp-netstat and libsdp srptools, rds-tools, static and dynamiclibrariesMellanox Technologies5Rev 1.5.1Mellanox Technologies6--hpc Install all kernel modules, libibverbs, libibumad, librd-macm, mft, mstflint, diagnostic tools, OpenSM , ib-bonding,MVAPICH, Open MPI, MPI tests, MPI selector, dynamic librar-ies--basic Install all kernel modules, libibverbs, libibumad, mft,mstflint, dynamic libraries--msmInstall all kernel modules, libibverbs, libibumad, mft,mstflint, diagnostic tools, OpenSM , ib-bonding, dynamiclibrariesNOTE: With --msm flag, the OpenSM daemon is configured torun upon boot.-v|-vv|-vvvSet verbosity level -q Set quiet - no messages will be printed mlnxofedinstall Return CodesTable 1 lists the mlnxofedinstall script return codes and their meanings.Installation ProcedureStep 1.Login to the installation machine as root.Step 2.Mount the ISO image on your machine host1# mount -o ro,loop MLNX_OFED_LINUX-<ver>-<OS label>.iso /mntNote After mounting the ISO image, /mnt will be a Read Only folder.Step 3.Run the installation scripthost1# /mnt/mlnxofedinstallThis program will install the MLNX_OFED_LINUX package on your machine.Note that all other Mellanox, OEM, OFED, or Distribution IB packages will be removed.Do you want to continue?[y/N]:yUninstalling the previous version of OFEDTable 1 - mlnxofedinstall Return CodesReturn CodeMeaning 0The Installation ended successfully 1The installation failed 2No firmware was found for the adapter device 3Failed to start the mst driverMellanox OFED for Linux User’s Manual Rev 1.5.1 Starting MLNX_OFED_LINUX-1.5.1-rc6 installation ...Installing kernel-ib RPMPreparing... ########################################### [100%]1:kernel-ib ########################################### [100%]Installing kernel-ib-devel RPMPreparing... ########################################### [100%]1:kernel-ib-devel ########################################### [100%]Installing mft RPMPreparing... ########################################### [100%]1:mft ########################################### [100%]Installing mpi-selector RPMPreparing... ########################################### [100%]1:mpi-selector ########################################### [100%]Install user level RPMs:Preparing... ########################################### [100%]1:libibumad ########################################### [100%]Preparing... ########################################### [100%]1:libibumad ########################################### [100%]Preparing... ########################################### [100%]1:libibmad ########################################### [100%]Preparing... ########################################### [100%]1:libibmad ########################################### [100%]Preparing... ########################################### [100%]1:libibumad-devel ########################################### [100%]Preparing... ########################################### [100%]1:libibumad-devel ########################################### [100%]Preparing... ########################################### [100%]1:libibmad-devel ########################################### [100%]Preparing... ########################################### [100%]1:libibmad-devel ########################################### [100%]Preparing... ########################################### [100%]1:ofed-scripts ########################################### [100%]Preparing... ########################################### [100%]1:libibverbs ########################################### [100%]Preparing... ########################################### [100%]1:libibverbs ########################################### [100%]Preparing... ########################################### [100%]1:libibverbs-devel ########################################### [100%]Preparing... ########################################### [100%]1:libibverbs-devel ########################################### [100%]Preparing... ########################################### [100%]1:libibverbs-devel-static########################################### [100%]Preparing... ########################################### [100%]1:libibverbs-devel-static########################################### [100%]Preparing... ########################################### [100%]1:libibverbs-utils ########################################### [100%]Preparing... ########################################### [100%]1:libmthca ########################################### [100%]Mellanox Technologies7Rev 1.5.1Mellanox Technologies8Preparing... ########################################### [100%]1:libmthca ########################################### [100%]Preparing... ########################################### [100%]1:libmthca-devel-static ########################################### [100%]Preparing... ########################################### [100%]1:libmthca-devel-static ########################################### [100%]Preparing... ########################################### [100%]1:libmlx4 ########################################### [100%]Preparing... ########################################### [100%]1:libmlx4 ########################################### [100%]Preparing... ########################################### [100%]1:libmlx4-devel ########################################### [100%]Preparing... ########################################### [100%]1:libmlx4-devel ########################################### [100%]Preparing... ########################################### [100%]1:libibcm ########################################### [100%]Preparing... ########################################### [100%]1:libibcm ########################################### [100%]Preparing... ########################################### [100%]1:libibcm-devel ########################################### [100%]Preparing... ########################################### [100%]1:libibcm-devel ########################################### [100%]Preparing... ########################################### [100%]1:libibumad-static ########################################### [100%]Preparing... ########################################### [100%]1:libibumad-static ########################################### [100%]Preparing... ########################################### [100%]1:libibmad-static ########################################### [100%]Preparing... ########################################### [100%]1:libibmad-static ########################################### [100%]Preparing... ########################################### [100%]1:ibsim ########################################### [100%]Preparing... ########################################### [100%]1:librdmacm ########################################### [100%]Preparing... ########################################### [100%]1:librdmacm ########################################### [100%]Preparing... ########################################### [100%]1:librdmacm-utils ########################################### [100%]Preparing... ########################################### [100%]1:librdmacm-devel ########################################### [100%]Preparing... ########################################### [100%]1:librdmacm-devel ########################################### [100%]Preparing... ########################################### [100%]1:libsdp ########################################### [100%]Preparing... ########################################### [100%]1:libsdp ########################################### [100%]Preparing... ########################################### [100%]1:libsdp-devel ########################################### [100%]Preparing... ########################################### [100%]1:libsdp-devel ########################################### [100%]Mellanox OFED for Linux User’s Manual Rev 1.5.1Preparing... ########################################### [100%]1:opensm-libs ########################################### [100%]Preparing... ########################################### [100%]1:opensm-libs ########################################### [100%]Preparing... ########################################### [100%]1:opensm ########################################### [100%]opensmd 0:off 1:off 2:off 3:off 4:off 5:off 6:offPreparing... ########################################### [100%]1:opensm-devel ########################################### [100%]Preparing... ########################################### [100%]1:opensm-devel ########################################### [100%]Preparing... ########################################### [100%]1:opensm-static ########################################### [100%]Preparing... ########################################### [100%]1:opensm-static ########################################### [100%]Preparing... ########################################### [100%]1:compat-dapl ########################################### [100%]Preparing... ########################################### [100%]1:compat-dapl ########################################### [100%]Preparing... ########################################### [100%]1:compat-dapl-devel ########################################### [100%]Preparing... ########################################### [100%]1:compat-dapl-devel ########################################### [100%]Preparing... ########################################### [100%]1:dapl ########################################### [100%]Preparing... ########################################### [100%]1:dapl ########################################### [100%]Preparing... ########################################### [100%]1:dapl-devel ########################################### [100%]Preparing... ########################################### [100%]1:dapl-devel ########################################### [100%]Preparing... ########################################### [100%]1:dapl-devel-static ########################################### [100%]Preparing... ########################################### [100%]1:dapl-devel-static ########################################### [100%]Preparing... ########################################### [100%]1:dapl-utils ########################################### [100%]Preparing... ########################################### [100%]1:perftest ########################################### [100%]Preparing... ########################################### [100%]1:mstflint ########################################### [100%]Preparing... ########################################### [100%]1:sdpnetstat ########################################### [100%]Preparing... ########################################### [100%]1:srptools ########################################### [100%]Preparing... ########################################### [100%]1:rds-tools ########################################### [100%]Preparing... ########################################### [100%]1:rnfs-utils ########################################### [100%]Preparing... ########################################### [100%]Mellanox Technologies9Rev 1.5.1Mellanox Technologies 10 1:ibutils ########################################### [100%]Preparing... ########################################### [100%]1:ibutils2 ########################################### [100%]Preparing... ########################################### [100%]1:ibdump ########################################### [100%]Preparing... ########################################### [100%]1:infiniband-diags ########################################### [100%]Preparing... ########################################### [100%]1:qperf ########################################### [100%]Preparing... ########################################### [100%]1:mlnxofed-docs ########################################### [100%]Preparing... ########################################### [100%]1:mvapich_gcc ########################################### [100%]Preparing... ########################################### [100%]1:mvapich_pgi ########################################### [100%]Preparing... ########################################### [100%]1:mvapich_intel ########################################### [100%]Preparing... ########################################### [100%]1:openmpi_gcc ########################################### [100%]Preparing... ########################################### [100%]1:openmpi_pgi ########################################### [100%]Preparing... ########################################### [100%]1:openmpi_intel ########################################### [100%]Preparing... ########################################### [100%]1:mpitests_mvapich_gcc ########################################### [100%]Preparing... ########################################### [100%]1:mpitests_mvapich_pgi ########################################### [100%]Preparing... ########################################### [100%]1:mpitests_mvapich_intel ########################################### [100%]Preparing... ########################################### [100%]1:mpitests_openmpi_gcc ########################################### [100%]Preparing... ########################################### [100%]1:mpitests_openmpi_pgi ########################################### [100%]Preparing... ########################################### [100%]1:mpitests_openmpi_intel ########################################### [100%]Device (15b3:634a):02:00.0 InfiniBand: Mellanox Technologies MT25418 [ConnectX IB DDR, PCIe 2.0 2.5GT/s] (rev a0)Link Width: 8xLink Speed: 2.5Gb/sInstallation finished successfully.Programming HCA firmware for /dev/mst/mt25418_pci_cr0 deviceRunning: mlxburn -d /dev/mst/mt25418_pci_cr0 -fw /tmp/MLNX_OFED_LINUX-1.5.1/MLNX_OFED_LINUX-1.5.1-sles11/firmware/fw-25408/2_7_000/fw-25408-rel.mlx -dev_type 25408 -no-I- Querying device ...-I- Using auto detected configuration file: /tmp/MLNX_OFED_LINUX-1.5.1/MLNX_OFED_LINUX-1.5.1-sles11/firmware/fw-25408/2_7_000/MHGH28-XTC_A4-A7.ini (PSID = MT_04A0140005)-I- Generating image ...Current FW version on flash: 2.6.0New FW version: 2.7.0Burning FW image without signatures - OKRestoring signature - OK-I- Image burn completed successfully.Please reboot your system for the changes to take effect.warning: /etc/infiniband/openib.conf saved as /etc/infiniband/openib.conf.rpmsaveNote In case your machine has the latest firmware, no firmware update will occur and the installation script will print at the end of installation a message similar to the following:...Installation finished successfully.The firmware version 2.7.000 is up to date.Note: To force firmware update use '--force-fw-update' flag.Note In case your machine has an unsupported network adapter device, no firmware update will occur and the error message below will be printed. Please contact your hardwarevendor for help on firmware updates.Error message:-I- Querying device ...-E- Can't auto detect fw configuration file: ...Step 4.In case the installation script performed firmware updates to your network adapter hard-ware, it will ask you to reboot your machine.Step 5.The script adds the following lines to /etc/security/limits.conf for the userspace components such as MPI:* soft memlock unlimited* hard memlock unlimitedThese settings unlimit the amount of memory that can be pinned by a user space application.If desired, tune the value unlimited to a specific amount of RAM.Step 6.For your machine to be part of the InfiniBand/VPI fabric, a Subnet Manager must be run-ning on one of the fabric nodes. At this point, Mellanox OFED for Linux has alreadyinstalled the OpenSM Subnet Manager on your machine. For details on starting OpenSM,see Chapter 12, “OpenSM – Subnet Manager”.Step 7.(InfiniBand only) Run the hca_self_test.ofed utility to verify whether or not the InfiniBand link is up. The utility also checks for and displays additional information suchas•HCA firmware version•Kernel architecture•Driver version•Number of active HCA ports along with their states•Node GUIDNote For more details on hca_self_test.ofed, see the file hca_self_test.readme under docs/.host1# /usr/bin/hca_self_test.ofed---- Performing InfiniBand HCA Self Test ----Number of HCAs Detected (1)PCI Device Check ....................... PASSKernel Arch ............................ x86_64Host Driver Version .................... MLNX_OFED_LINUX-1.5.1 (OFED-1.5.1-mlnx9) 1.5.1-2.6.9_89.ELlargesmpHost Driver RPM Check .................. PASSHCA Firmware on HCA #0 ................. 2.7.000HCA Firmware Check on HCA #0 ........... PASSHost Driver Initialization ............. PASSNumber of HCA Ports Active 0Port State of Port #0 on HCA #0 ........ INITPort State of Port #0 on HCA #0 ........ DOWNError Counter Check on HCA #0 .......... PASSKernel Syslog Check .................... PASSNode GUID on HCA #0 .................... 00:02:c9:03:00:00:10:e0------------------ DONE ---------------------Note After the installer completes, information about the Mellanox OFED installation such as prefix, kernel version, and installation parameters can be retrieved by running the com-mand /etc/infiniband/info.Installation ResultsSoftware•The OFED and MFT packages are installed under the /usr directory.•The kernel modules are installed under:-InfiniBand subsystem:/lib/modules/`uname -r`/updates/kernel/drivers/infiniband/-mlx4 driver:Under /lib/modules/`uname -r`/updates/kernel/drivers/net/mlx4you will find mlx4_core.ko, mlx4_en.ko, mlx4_ib.ko (and mlx4_fc ifyou ran the installation script with --with-fc)-RDS:/lib/modules/`uname -r`/updates/kernel/net/rds/rds.ko-Bonding module:/lib/modules/`uname -r`/updates/kernel/drivers/net/bonding/bonding.ko •The package kernel-ib-devel include files are placed under /usr/src/ofa_kernel/include/. These include files should be used when building kernel modules that use the stack. (Note that the include files, if needed, are “backported” to your kernel.)•The raw package (un-backported) source files are placed under/usr/src/ofa_kernel-<ver>•The script openibd is installed under /etc/init.d/. This script can be used to load and unload the software stack.•The script connectx_port_config is installed under /sbin. This script can be used to con-figure the ports of ConnectX network adapter cards to Ethernet and/or InfiniBand. For details on this script, please see Section 3.1, “Port Type Management”.•The directory /etc/infiniband is created with the files info and openib.conf and con-nectx.conf. The info script can be used to retrieve Mellanox OFED installation information. The openib.conf file contains the list of modules that are loaded when the openibd script is used. The connectx.conf file saves the ConnectX adapter card’s ports configuration to Ether-net and/or InfiniBand. This file is used at driver start/restart (/etc/init.d/openibd start) .•The file 90-ib.rules is installed under /etc/udev/rules.d/•If OpenSM is installed, the daemon opensmd is installed under /etc/init.d/ and opensm.conf is installed under /etc.•If IPoIB configuration files are included, ifcfg-ib<n> files will be installed under:-/etc/sysconfig/network-scripts/ on a RedHat machine-/etc/sysconfig/network/ on a SuSE machine•The installation process unlimits the amount of memory that can be pinned by a user space application. See Step 5.•Man pages will be installed under /usr/share/man/Firmware•The firmware of existing network adapter devices will be updated if the following two condi-tions are fullfilled:1. You run the installation script in default mode; that is, without the option‘--without-fw-update’.2. The firmware version of the adapter device is older than the firmware version includedwiththe Mellanox OFED ISO imageNote If an adapter’s Flash was originially programmed with an Expansion ROM image, the automatic firmware update will also burn an Expansion ROM image.•In case your machine has an unsupported network adapter device, no firmware update will occur and the error message below will be printed. Please contact your hardware vendor for help on firmware updates.Error message:。
cStor云存储系统测试报告目录一、概述 (3)1.1 编写目的 (3)1.2 系统简介 (3)1.3 测试范围 (4)二、测试环境 (4)2.2 设备配置 (4)2.3 测试工具 (6)2.3.1 iozone (6)三、测试用例 (7)3.1 1:1备份功能验证 (7)3.2 业务适应性测试 (12)3.2.1 用于大、小文件和各种视频文件存储 (12)3.3 功能测试 (13)3.3.4存储节点数据容错能力 (13)3.3.5 卷管理 (17)3.3.6 设备监控管理 (19)3.4 云视频转码功能测试 (20)3.4.1 MP4视频格式转码测试 (20)3.4.2 TS视频格式转码测试 (20)3.5 安全测试 (21)3.5.1 用户配额分配及管理 (21)3.5.2 用户权限管理 (22)3.6可靠性测试 (23)3.6.1 写元数据服务器故障 (23)3.6.2 写存储节点故障 (27)3.6.3读元数据服务器故障 (32)3.6.4 读存储节点故障 (35)3.7性能测试 (39)3.7.1存储系统并发性能 (39)3.7.2 1个客户端2个chunkserver,测试5g大小文件 (40)3.7.3 1个客户端4个chunkserver,双副本,测试5g大小文件 (41)3.7.4 2个客户端2个chunkserver,双副本,测试5g大小文件 (42)3.7.5 2个客户端4个chunkserver,双副本,测试5g大小文件 (43)3.7.6 性能测试总结: (44)一、概述1.1 编写目的编写cStor版本测试用例,目的是通过全面测试手段来保证文件读写性能是否满足要求,本测试报告参考人员包括:开发人员、测试人员、相关管理人员、及相关客户等。
1.2 系统简介cStor云存储系统由元数据节点和存储节点构成。
元数据节点采用主备方式。
运用自适应副本管理技术进行容错。
所有存储节点同时担任对外服务功能,客户端分别挂载到不同元数据服务器中访问云存储系统。
RL78族集成开发环境从CA78K0R转至CCRL的使用指南(编码篇)瑞萨电子(中国)有限公司2016/3/1 Rev.1.00前言▪本篇资料中,记述了使用C编译器CA78K0R创建的RL78族MCU的工程或者源码转至使用C编译器CC-RL的源码的差异。
▪本篇资料以用于RL78族的C编译器CA78K0R和CC-RL作为对象进行说明。
对象版本如下:▪CA78K0R V1.20或更高▪CC-RL V1.01.00目录▪编译器语言第04页▪汇编语言第20页▪函数调用接口第24页▪过渡支援功能第26页▪FAQ 第47页编译器语言编译器语言语言规格上的差异具体请参照编译器用户手册进行修改。
编译器语言语言规格上的差异具体请参照编译器用户手册进行修改。
编译器语言编译器语言▪枚举型说明符的差异内部表现形式因枚举范围的不同而变化。
▪CA78K0R的场合(优先顺序)范围:-128 ~ 127 → signed char范围: 0 ~ 255 → unsigned char范围: -32768 ~ 32767 → signed int▪CC-RL的场合(优先顺序)•指定-signed_char •不指定-signed_char范围: -128 ~ 127(包括0 ~ 127)→char 范围: -128 ~ 127 → signed char范围: 0 ~ 255 → unsigned char 范围: 0 ~ 255(包括0 ~ 127)→char范围:上述以外→ signed short 范围:上述以外→ signed short具体请参照编译器用户手册进行修改。
编译器语言包含头文件的差异具体请参照编译器用户手册进行修改。
编译器语言翻译限制的差异※ CA78K0R列,适用于V1.50及更新的版本。
具体请参照编译器用户手册进行修改。
编译器语言翻译限制的差异※ CA78K0R列,适用于V1.50及更新的版本。
具体请参照编译器用户手册进行修改。
FAT32引导扇区代码;====================================== ==============================;; FlyingDragon OS Boot Sector FOR FAT32;; Author: Jack; V0.01 2005-07-23 17:39; V0.02 2005-08-07 09:29;; Build : nasm -f bin FAT32.ASM -oFAT32.BIN;;====================================== ========================================= =====;; BIOS在启动中的角色:; (1) BIOS装载引导驱动器上的0扇区(CHS = 0:0:1)内容到内存线性地址7C00H处;; (2) BIOS检查所装载的扇区是否有启动标记(510、511字节分别为55H和AAH);; (3) CPU寄存器DL被设置为分配给引导驱动器的驱动器号,00H 为软驱A,80H为硬盘C;; (4) BIOS跳转到其装载的扇区中的代码(即7C00H处),将控制权转交给引导代码。
;; 引导代码应该初始化以下寄存器:; (1) DS:某些BIOS设置其值为0,某些设置其为40H,它应该被设置为(7C00H-BOOT_ORG)/16;; 其中,BOOT_ORG为引导代码的ORG值,该值通常为7C00H(这意味着DS应设置为0);; (2) SS和SP(堆栈):这两个寄存器的初始值依赖于BIOS;; (3) CS个IP(通过JMP指令):大多数的BIOS进入启动代码的地址为0000:7C00H,但是某些; BIOS却跳转到07C0:0000H。
由于短跳转和条件跳转是IP相关的,因此如果没有使用; 远跳转或者绝对跳转,则不需要重置CS和IP;然而,DS仍旧必须是正确的值。
===============================================================================Oracle Cluster Verification UtilityHPUX README File(OTN Distribution Kit - Sept, 2008)===============================================================================1. Availability of CVU2. CVU installation from OTN3. Running CVU from the OTN installation4. Enhancements5. Shared Storage Checks6. Known issues7. References==============================1. Availability of CVU==============================Welcome to the downloadable OTN distribution version of Cluster Verification Utility (CVU).The Cluster Verification Utility (CVU) is a utility distributed with Oracle Clusterware to assist in the verification of the components required to install and run Oracle Clusterware and Oracle Real Application Clusters. CVU was first released with Oracle Clusterware 10g Release 2. CVU is available in thefollowing three forms:1) Available in Oracle Clusterware DVD as a packaged version2) Installed in Oracle Clusterware home3) Available on Oracle Technology Network (OTN) as a downloadableversion.(/technology/products/database/clustering/cv u/cvu_download_homepage.html)For each verification command that supports the –r option, the supported Oracle release version can be specified as a value to this option in order to run the verifications for that Oracle version. The default release is assumed to be11gR1 if the –r option is not specified. To perform verifications for aprevious release, ‘-r 10gR1’ or ‘-r 10gR2’ must be specified depending on the release for which the verifications tests need to be run. The use of –r option on the command line can be avoided by setting the intended release value (10gR1 or 10gR2) for CV_ORACLE_RELEASE property in CVU’s configuration file (location: <CVU installation root dir>/cv/admin/cvu_config).CVU has limited backward compatibility to Oracle Clusterware releases prior to Oracle Database 10g Release 1. This distribution of CVU kit is only supported on the operating system versions supported by Oracle Real Application Clusters 11g Release 1 (refer to Section 2.7 “Checking the Software Requirements” of Oracle Clusterware Installation Guide 11g Release 1 (11.1) for HP-UXPart Number B28259-06==============================2. CVU installation from OTN==============================Follow these steps to install CVU from a zip file (cvupack.zip) downloaded from OTN:1. Create a CVhome (say /home/username/mycvhome) directory. This filesystemshould have at least 100MB of free disk space and should have writepermissions for the CVU user.2. Unzip cvupack.zip into the <CVhome> directory.$ cd /home/username/mycvhome$ unzip <download-dir>/cvupack.zip========================================3. Running CVU from OTN installation========================================1. In order to run the verification on the various nodes in the cluster, CVUneeds a writable area with the same path on each node in the cluster. CVU will copy necessary files to the remote nodes at this location forruntime use. By default, “/tmp” area will be used. If required tooverride this default, set the environment variable CV_DESTLOC to asuitable location that is available and writable by CVU user on all nodes in the cluster. It is strongly recommend that this environment variable CV_DESTLOC be set.2. Run cluvfy from <CVhome>/bin directory. To verify, typically run---$ /home/username/mycvhome/bin/cluvfy---Invoking this command without any arguments or with incorrect arguments should display comprehensive usage information.=============================4. Enhancements=============================1. An error is reported if it is discovered that a user exists but the userIDs differ across the nodes.2. The policy for declaring a discovered network interface as “private” hasbeen refined further. In a situation where an IP address for a gatewaypoints back to the local node, the interface is declared as “private”.3. A warning is issued if different MTU values are found across the networkinterfaces.4. The problem with VIPs owing to the absence of gateway has beenidentified. A warning is issued if no gateway is found.5. The verification of hard and soft resource limits for maximum open filedescriptors has been supported. These checks are performed as part of the validation of system requirements for Oracle Clusterware and databaseinstallations.6. A check for software distribution has been supported. This functionalityis available though the new component named “software”. This componentcheck (comp software) validates the existence of files and theconsistency of their attributes (group/permissions) in the OracleClusterware and RAC databases software distributions across the cluster nodes.7. cluvfy command is not allowed to be run by a user with root ID.8. The reference set of pre requisites has been updated to reflect thelatest system requirements related to Oracle Clusterware and databaseinstallations.========================5. Shared Storage Checks========================1. The following storage types are supported:a. NAS storage (with appropriate mount options, see/cgibin/webiv/do.pl/Get?WwwID=note:359515.1)2. For sharedness check on NAS, cluvfy requires the user to have writepermission on the specified path. If the cluvfy user does not have write permission, cluvfy reports the path as not shared.====================6. Known Limitations====================• Sharedness check of SCSI disks is currently not supported.• On HPUX.PARISC, the following (ignorable) warning appears when cluvfy is invoked with –verbose option:warning: invalid plugin directory‘<CVhome>/jdk15/jre/lib/PA_RISC2.0%/plugins/’=============================7. References=============================For detailed information on using CVU, refer to:• Oracle Clusterware Installation Guide 11g Release 1 for HP-UX Part Number B28259-06• Oracle Real Application Clusters Installation Guide 11g Release 1 for Linux and UNIX (Part Number B28264-04)• Oracle Clusterware Administration and Deployment Guide 11g Release 1(11.1) (Part Number B28255-04)For queries on CVU, refer to:CVU FAQ on OTN site(/technology/products/database/clustering/cvu/faq/cvufaq_1 1g.html)。
V1.1C on f id en t i alVA20核心板SDIO配置手册C on f id en t i al1.SD SD//MMC 1.1.[mmc0_para]配置举例:[mmc0_para]sdc_used =1sdc_detmode =1bus_width =4sdc_d1=port:PF0<2><1><default><default>sdc_d0=port:PF1<2><1><default><default>sdc_clk =port:PF2<2><1><default><default>sdc_cmd =port:PF3<2><1><default><default>sdc_d3=port:PF4<2><1><default><default>sdc_d2=port:PF5<2><1><default><default>配置项配置项含义sdc_used=xx SDC 使用控制:1使用,0不用sdc_detmode=xx检测模式:1-gpio 检测,2-data3检测,3-无检测,卡常在(不卡拔插),4-manual mode(from proc file system node)bus_width=xx 位宽:1-1bit ,4-4bitsdc_d1=xx SDC DATA1的GPIO 配置sdc_d0=xx SDC DATA0的GPIO 配置sdc_clk=xx SDC CLK 的GPIO 配置sdc_cmd=xx SDC CMD 的GPIO 配置sdc_d3=xx SDC DATA3的GPIO 配置sdc_d2=xx SDC DATA2的GPIO 配置sdc_det=xx SDC DET 的GPIO 配置sdc_use_wp=xx SDC 写保护配置:1使用,0不用sdc_wp=xx SDC WP 的GPIO 配置sdc_isio=xx是否是sdio card,0:不是,1:是sdc_regulator=xx假如过卡支持SD3.0或者emmc4.5的UHS-I/DDR 、HS200,这里就要写成sdc_regulator ="axp22_eldo2"A20芯片有四组SDIO口,SDIO口主要用在SD卡、TF卡、wifi等外接设备接口上,开发板上引出的两组SDIO口分别用于TF卡和wifi。
AIX 5L 磁盘性能优化之iostat、lvmstat、lslv、lspv 和lsvg引言与其他子系统的优化工作不同,实际上在构建系统的体系结构设计阶段就应该开始进行磁盘I/O 优化。
尽管存在一些I/O 优化参数的虚拟内存等价项(ioo和lvmo),但是提高磁盘I/O 性能的最佳方法是正确地配置您的系统,而不是优化相关的参数。
与虚拟内存优化不同,在创建了逻辑卷并开始运行之后,要更改它们的组织结构会变得更加复杂,所以您通常只有一次机会正确地完成这项任务。
本文讨论了配置逻辑卷的方式,以及相对于物理磁盘应该将它们布置于何处,本文还介绍了用于监视您的逻辑卷的工具。
其中,大多数工具并不适合于长期趋势研究,并且是AIX 特定的工具,它们可以提供相关信息以便了解如何配置逻辑卷,以及是否针对您的环境对它们进行了优化。
本系列文章的第 1 部分介绍了iostat,但其中仅介绍了使用该工具来查看异步I/O 服务器。
第2 部分使用iostat 来监视您的磁盘,并向您介绍了它能够完成哪些工作以帮助您快速地确定I/O 瓶颈。
尽管iostat是通用的UNIX® 实用工具之一,并且它不是专门为AIX 而开发的,但实际上,对于快速地确定系统的运行情况,它是非常有用的。
更特定的AIX 逻辑卷命令可以帮助您更深入地研究逻辑卷,以帮助您真正地分析实际问题(如果存在任何问题)。
在使用这些工具之前,您必须清楚地了解您需要哪些信息,这一点是很重要的。
本文描述了相关的工具,并向您介绍了如何分析它们的输出,这将帮助您分析磁盘I/O 子系统。
逻辑卷和磁盘布置概述这个部分定义了逻辑卷管理器(Logical Volume Manager,LVM),并介绍了它的一些特性。
让我们深入地研究逻辑卷的概念,分析它们与提高磁盘I/O 使用率之间的关系,并通过定义和讨论intra-policy 和inter-policy 磁盘实践,从物理磁盘的角度介绍有关逻辑卷的布置。
TCG StorageSecurity Subsystem Class: OpalSpecification Version 2.01Revision 1.00August 5, 2015Contact: admin@ PUBLISHEDCopyright © TCG 2015Copyright © 2015 Trusted Computing Group, Incorporated.Disclaimers, Notices, and License TermsTHIS SPECIFICATION IS PROVIDED “AS IS” WITH NO WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY OF MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR ANY PARTICULAR PURPOSE, OR ANY WARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION OR SAMPLE.Without limitation, TCG disclaims all liability, including liability for infringement of any proprietary rights, relating to use of information in this specification and to the implementation of this specification, and TCG disclaims all liability for cost of procurement of substitute goods or services, lost profits, loss of use, loss of data or any incidental, consequential, direct, indirect, or special damages, whether under contract, tort, warranty or otherwise, arising in any way out of use or reliance upon this specification or any information herein.This document is copyrighted by Trusted Computing Group (TCG), and no license, express or implied, is granted herein other than as follows: You may not copy or reproduce the document or distribute it to others without written permission from TCG, except that you may freely do so for the purposes of (a) examining or implementing TCG specifications or (b) developing, testing, or promoting information technology standards and best practices, so long as you distribute the document with these disclaimers, notices, and license terms.Contact the Trusted Computing Group at for information on specification licensing through membership agreements.Any marks and brands contained herein are the property of their respective owners.Change HistoryVersion / Revision Date DescriptionVersion 1.00 Rev 1.00 27 January 2009 First publicationVersion 1.00 Rev 2.00 20 April 2009 Changed TCG Storage Architecture Core Specificationreference and Opal SSC specification numbering Version 1.00 Rev 3.00 18 December 2009 Corrected the definition of LockingEnabled bitClarified Revert when Manufactured-InactiveVersion 2.00 Rev 1.00 27 February 2012 Added LBA range alignment restriction informationmechanismAdded SecretProtect table as Mandatory in the LockingSP media encryption keysAdded Sector Table access granularity reportingmechanismAdded support for SEDs with SID values not equal toMSIDAdded support for Admin authorities in the Admin SPProvided an optional ability to disable the SID authorityin the Admin SPAdded a programmatic TPer reset mechanismMade Additional DataStore Feature Set mandatory forSEDs compliant with Opal v2.00Added a mechanism for disallowing User authorities tochange their C_PIN valuesAllowed modification of CommonName columns inLocking and Authority tables of the Locking SPMade Authenticate method of the Base templatemandatoryMade Random method of the Crypto templatemandatoryVersion / Revision Date DescriptionVersion 2.01 Rev 1.00 5 August 2015 Fixed Table column values in Table 33 “Locking SP -SecretProtect Table Preconfiguration”.Updated reference [4] to latest version 1.04.Moved SP life cycle and ATA Security Feature Setinteractions in Appendix 5.3.2.4 to [4].Moved list of aborted ATA/SCSI commands from section4.3.7 to [4].Added PSID Feature Set as mandatory.Removed Interface Control Template.Moved interactions between Activate and ATA Securityin section 5.1.1 to [4].TABLE OF CONTENTS1INTRODUCTION (1)1.1D OCUMENT P URPOSE (1)1.2S COPE AND I NTENDED A UDIENCE (1)1.3K EY W ORDS (1)1.4D OCUMENT R EFERENCES (1)1.5D OCUMENT P RECEDENCE (1)1.6SSC T ERMINOLOGY (2)1.7L EGEND (2)2OPAL SSC OVERVIEW (4)2.1O PAL SSC U SE C ASES AND T HREATS (4)2.2S ECURITY P ROVIDERS (SP S) (4)2.3I NTERFACE C OMMUNICATION P ROTOCOL (4)2.4C RYPTOGRAPHIC F EATURES (4)2.5A UTHENTICATION (4)2.6T ABLE M ANAGEMENT (5)2.7A CCESS C ONTROL &P ERSONALIZATION (5)2.8I SSUANCE (5)2.9SSC D ISCOVERY (5)2.10M ANDATORY F EATURE S ETS (5)3OPAL SSC FEATURES (6)3.1S ECURITY P ROTOCOL 1S UPPORT (6)3.1.1Level 0 Discovery (M) (6)3.1.1.1Level 0 Discovery Header (6)3.1.1.2TPer Feature (Feature Code = 0x0001) (7)3.1.1.3Locking Feature (Feature Code = 0x0002) (7)3.1.1.3.1LockingEnabled Definition (8)3.1.1.4Geometry Reporting Feature (Feature Code = 0x0003) (8)3.1.1.4.1Overview (8)3.1.1.4.2Align (9)3.1.1.4.3LogicalBlockSize (9)3.1.1.4.4AlignmentGranularity (9)3.1.1.4.5LowestAlignedLBA (9)3.1.1.5Opal SSC V2.00 Feature (Feature Code = 0x0203) (9)3.2S ECURITY P ROTOCOL 2S UPPORT (10)3.2.1ComID Management (10)3.2.2Stack Protocol Reset (M) (10)3.2.3TPER_RESET command (M) (10)3.3C OMMUNICATIONS (11)3.3.1Communication Properties (11)3.3.2Supported Security Protocols (11)3.3.3ComIDs (11)3.3.4Synchronous Protocol (12)3.3.4.1Payload Encoding (12)3.3.4.1.1Stream Encoding Modifications (12)3.3.4.1.2TCG Packets (13)3.3.4.1.3Payload Error Response (13)3.3.5Storage Device Resets (13)3.3.5.1Interface Resets (13)3.3.5.2TCG Reset Events (13)3.3.6Protocol Stack Reset Commands (M) (14)4OPAL SSC-COMPLIANT FUNCTIONS AND SPS (15)4.1S ESSION M ANAGER (15)4.1.1Methods (15)4.1.1.1Properties (M) (15)4.1.1.2StartSession (M) (16)4.1.1.3SyncSession (M) (16)4.1.1.4CloseSession (O) (16)4.2A DMIN SP (16)4.2.1Base Template Tables (16)4.2.1.1SPInfo (M) (16)4.2.1.2SPTemplates (M) (16)4.2.1.3Table (M) (17)4.2.1.4MethodID (M) (18)4.2.1.5AccessControl (M) (18)4.2.1.6ACE (M) (24)4.2.1.7Authority (M) (25)4.2.1.8C_PIN (M) (26)4.2.2Base Template Methods (26)4.2.3Admin Template Tables (27)4.2.3.1TPerInfo (M) (27)4.2.3.2Template (M) (27)4.2.3.3SP (M) (27)4.2.4Admin Template Methods (28)4.2.5Crypto Template Tables (28)4.2.6Crypto Template Methods (28)4.2.6.1Random (28)4.3L OCKING SP (28)4.3.1Base Template Tables (28)4.3.1.1SPInfo (M) (28)4.3.1.2SPTemplates (M) (29)4.3.1.3Table (M) (29)4.3.1.4Type (N) (30)4.3.1.5MethodID (M) (30)4.3.1.6AccessControl (M) (31)4.3.1.7ACE (M) (53)4.3.1.8Authority (M) (56)4.3.1.9C_PIN (M) (57)4.3.1.10SecretProtect (M) (58)4.3.2Base Template Methods (58)4.3.3Crypto Template Tables (58)4.3.4Crypto Template Methods (58)4.3.4.1Random (58)4.3.5Locking Template Tables (58)4.3.5.1LockingInfo (M) (58)4.3.5.2Locking (M) (59)4.3.5.2.1Geometry Reporting Feature Behavior (60)4.3.5.2.2LockOnReset Restrictions (61)4.3.5.3MBRControl (M) (61)4.3.5.3.1DoneOnReset Restrictions (62)4.3.5.4MBR (M) (62)4.3.5.5K_AES_128 or K_AES_256 (M) (62)4.3.6Locking Template Methods (62)4.3.7SD Read/Write Data Command Locking Behavior (63)4.3.8Non Template Tables (63)4.3.8.1DataStore (M) (63)5APPENDIX – SSC SPECIFIC FEATURES (64)5.1O PAL SSC-S PECIFIC M ETHODS (64)5.1.1Activate – Admin Template SP Object Method (64)5.1.1.1Activate Support (64)5.1.1.2Side effects of Activate (64)5.1.2Revert – Admin Template SP Object Method (64)5.1.2.1Revert Support (65)5.1.2.2Side effects of Revert (65)5.1.2.2.1Effects of Revert on the PIN Column Value of C_PIN_SID (65)5.1.3RevertSP – Base Template SP Method (66)5.1.3.1RevertSP Support (66)5.1.3.2KeepGlobalRangeKey parameter (Locking Template-specific) (66)5.1.3.3Side effects of RevertSP (67)5.2L IFE C YCLE (67)5.2.1Issued vs. Manufactured SPs (67)5.2.1.1Issued SPs (67)5.2.1.2Manufactured SPs (67)5.2.2Manufactured SP Life Cycle States (67)5.2.2.1State definitions for Manufactured SPs (68)5.2.2.2State transitions for Manufactured SPs (68)5.2.2.2.1Manufactured-Inactive to Manufactured (68)5.2.2.2.2ANY STATE to ORIGINAL FACTORY STATE (69)5.2.2.3State behaviors for Manufactured SPs (69)5.2.2.3.1Manufactured-Inactive (69)5.2.2.3.2Manufactured (69)5.2.3Type Table Modification (69)5.3B YTE T ABLE A CCESS G RANULARITY (69)5.3.1Table Table Modification (70)5.3.1.1MandatoryWriteGranularity (70)5.3.1.1.1Object Tables (70)5.3.1.1.2Byte Tables (70)5.3.1.2RecommendedAccessGranularity (70)5.3.1.2.1Object Tables (71)5.3.1.2.2Byte Tables (71)5.4E XAMPLES OF A LIGNMENT G EOMETRY R EPORTING (72)TABLESTable 1 Opal SSC Terminology (2)Table 2 SP Table Legend (2)Table 3 Level 0 Discovery Header (6)Table 4 Level 0 Discovery - TPer Feature Descriptor (7)Table 5 Level 0 Discovery - Locking Feature Descriptor (7)Table 6 Level 0 Discovery - Geometry Reporting Feature Descriptor (8)Table 7 Level 0 Discovery - Opal SSC V2.00 Feature Descriptor (9)Table 8 TPER_RESET Command (11)Table 9 ComID Assignments (12)Table 10 Supported Tokens (12)Table 11 reset_types (13)Table 12 Properties Requirements (15)Table 13 Admin SP - SPInfo Table Preconfiguration (16)Table 14 Admin SP - SPTemplates Table Preconfiguration (16)Table 15 Admin SP - Table Table Preconfiguration (17)Table 16 Admin SP - MethodID Table Preconfiguration (18)Table 17 Admin SP - AccessControl Table Preconfiguration (19)Table 18 Admin SP - ACE Table Preconfiguration (24)Table 19 Admin SP - Authority Table Preconfiguration (25)Table 20 Admin SP - C_PIN Table Preconfiguration (26)Table 21 Admin SP – TPerInfo Columns (27)Table 22 Admin SP - TPerInfo Table Preconfiguration (27)Table 23 Admin SP - Template Table Preconfiguration (27)Table 24 Admin SP - SP Table Preconfiguration (28)Table 25 Locking SP - SPInfo Table Preconfiguration (28)Table 26 Locking SP - SPTemplates Table Preconfiguration (29)Table 27 Locking SP - Table Table Preconfiguration (29)Table 28 Locking SP - MethodID Table Preconfiguration (30)Table 29 Locking SP - AccessControl Table Preconfiguration (31)Table 30 Locking SP - ACE Table Preconfiguration (53)Table 31 Locking SP - Authority Table Preconfiguration (56)Table 32 Locking SP - C_PIN Table Preconfiguration (57)Table 33 Locking SP - SecretProtect Table Preconfiguration (58)Table 34 Locking SP – LockingInfo Columns (58)Table 35 Locking SP - LockingInfo Table Preconfiguration (59)Table 36 Locking SP - Locking Table Preconfiguration (59)Table 37 Locking SP - MBRControl Table Preconfiguration (61)Table 38 Locking SP - K_AES_128 Table Preconfiguration (62)Table 39 Locking SP - K_AES_256 Table Preconfiguration (62)Table 40 LifeCycle Type Table Modification (69)Table 41 Table Table Additional Columns (70)1 Introduction1.1 Document PurposeThe Storage Workgroup specifications provide a comprehensive architecture for putting Storage Devices under policy control as determined by the trusted platform host, the capabilities of the Storage Device to conform tothe policies of the trusted platform, and the lifecycle state of the Storage Device as a Trusted Peripheral.1.2 Scope and Intended AudienceThis specification defines the Opal Security Subsystem Class (SSC). Any SD that claims OPAL SSC compatibility SHALL conform to this specification.The intended audience for this specification is both trusted Storage Device manufacturers and developers that want to use these Storage Devices in their systems.1.3 Key WordsKey words are used to signify SSC requirements.The Key Words “SHALL”, “SHALL NOT”, “SHOULD,” and “MAY” are used in this document. These words are a subset of the RFC 2119 key words used by TCG, and have been chosen since they map to key words used in T10/T13 specifications. These key words are to be interpreted as described in [1].In addition to the above key words, the following are also used in this document to describe the requirements of particular features, including tables, methods, and usages thereof.•Mandatory (M): When a feature is Mandatory, the feature SHALL be implemented. A Compliance test SHALL validate that the feature is operational.•Optional (O): When a feature is Optional, the feature MAY be implemented. If implemented, a Compliance test SHALL validate that the feature is operational.•Excluded (X): When a feature is Excluded, the feature SHALL NOT be implemented. A Compliance test SHALL validate that the feature is not operational.•Not Required (N) When a feature is Not Required, the feature MAY be implemented. No Compliance test is required.1.4 Document References[1]. IETF RFC 2119, 1997, “Key words for use in RFCs to Indicate Requirement Levels”[2]. Trusted Computing Group (TCG), “TCG Storage Architecture Core Specification”, Version 2.01[3]. NIST, FIPS-197, 2001, “Advanced Encryption Standard (AES)”[4]. Trusted Computing Group (TCG), “TCG Storage Interface Interactions Specification“, Version 1.04[5]. Trusted Computing Group (TCG), “TCG Storage Security Subsystem Class: Opal”, Versions 1.00, 2.00[6]. Trusted Computing Group (TCG), “TCG Storage Opal SSC Feature Set: Additional DataStore Tables”,Version 1.00[7]. Trusted Computing Group (TCG), “TCG Storage Opal SSC Feature Set: PSID”, Version 1.001.5 Document PrecedenceIn the event of conflicting information in this specification and other documents, the precedence for requirements is:1. This specification2. Storage Interface Interactions Specification [4]3. TCG Storage Architecture Core Specification [2]1.6 SSC TerminologyThis section provides special definitions that are not defined in [2].Table 1 Opal SSC Terminology Term DefinitionManufactured SP A Manufactured SP is an SP that was created and preconfigured during the SD manufacturing processN/A Not Applicable.Original Factory State (OFS) The original state of an SP when it was created in manufacturing, including its table data, access control settings, and life cycle state. Each Manufactured SP has its own Original Factory State. Original Factory State applies to Manufactured SPs only.Vendor Unique (VU) These values are unique to each SD manufacturer. Typically VU is used in table cells.MM MM The LSBs of a User Authority object’s UID (hexadecimal) as well as the corresponding C_PIN credential object’s UID (hexadecimal)NN NN The LSBs of a Locking object’s UID (hexadecimal) as well as the corresponding K_AES_128/K_AES_256 object’s UID (hexadecimal)XX XX The LSBs of an Admin Authority object’s UID (hexadecimal) as well as the corresponding C_PIN credential object’s UID (hexadecimal)1.7 LegendThe following legend defines SP table cell coloring coding. This color coding is informative only. The table cell content is normative.Table 2 SP Table LegendTableCellLegend R-W Value Access Control CommentArial-Narrow Read-only Opal SSC specified Fixed •Cell content is Read-Only. •Access control is fixed. •Value is specified by the Opal SSCArial Narrow bold-under Read-only VU Fixed•Cell content is Read-Only.•Access Control is fixed.•Values are Vendor Unique (VU).A minimum or maximum valuemay be specified.Arial-NarrowNotDefined(N) Not Defined•Cell content is (N).•Access control is not defined.•Any text in table cell is informativeonly.• A Get MAY omit this column fromthe method response.Arial Narrow bold-under WritePreconfigured,user personalizablePreconfigured,user personalizable•Cell content is writable.•Access control is personalizable•Get Access Control is notdescribed by this color codingTableCellLegend R-W Value Access Control CommentArial-Narrow WritePreconfigured,user personalizableFixed•Cell content is writable.•Access control is fixed.•Get Access Control is notdescribed by this color coding2 Opal SSC Overview2.1 Opal SSC Use Cases and ThreatsBegin Informative ContentThe Opal SSC is an implementation profile for Storage Devices built to:•Protect the confidentiality of stored user data against unauthorized access once it leaves the owner’s control (involving a power cycle and subsequent deauthentication)•Enable interoperability between multiple SD vendorsAn Opal SSC compliant SD:•Facilitates feature discoverability•Provides some user definable features (e.g. access control, locking ranges, user passwords, etc.) •Supports Opal SSC unique behaviors (e.g. communication, table management)This specification addresses a limited set of use cases. They are:•Deploy Storage Device & Take Ownership: the Storage Device is integrated into its target system and ownership transferred by setting or changing the Storage Device’s owner credential.•Activate or Enroll Storage Device: LBA ranges are configured and data encryption and access control credentials (re)generated and/or set on the Storage Device. Access control is configured for LBA range unlocking.•Lock & Unlock Storage Device: unlocking of one or more LBA ranges by the host and locking of those ranges under host control via either an explicit lock or implicit lock triggered by a reset event. MBR shadowing provides a mechanism to boot into a secure pre-boot authentication environment to handle device unlocking.•Repurpose & End-of-Life: erasure of data within one or more LBA ranges and reset of locking credential(s) for Storage Device repurposing or decommissioning.End Informative Content2.2 Security Providers (SPs)An Opal SSC compliant SD SHALL support at least two Security Providers (SPs):1) Admin SP2) Locking SPThe Locking SP MAY be created by the SD manufacturer.2.3 Interface Communication ProtocolAn Opal SSC compliant SD SHALL implement the synchronous communications protocol as defined in Section 3.3.4.This communication protocol operates based upon configuration information defined by:1) The values reported via Level 0 Discovery (Section 3.1.1);2) The combination of the host's communication properties and the TPer's communication properties (seeProperties Method Section 4.1.1.1).2.4 Cryptographic FeaturesAn Opal SSC compliant SD SHALL implement Full Disk Encryption for all host accessible user data stored on media. AES-128 or AES-256 SHALL be supported (see [3]).2.5 AuthenticationAn Opal SSC compliant SD SHALL support password authorities and authentication.2.6 Table ManagementThis specification defines the mandatory tables and mandatory/optional table rows delivered by the SD manufacturer. The creation or deletion of tables after manufacturing is outside the scope of this specification. The creation or deletion of table rows post-manufacturing is outside the scope of this specification.2.7 Access Control & PersonalizationInitial access control policies are preconfigured at SD manufacturing time on manufacturer created SPs. An Opal SSC compliant SD SHALL support personalization of certain Access Control Elements of the Locking SP.2.8 IssuanceThe Locking SP MAY be present in the SD when the SD leaves the manufacturer. The issuance of SPs is outside the scope of this specification.2.9 SSC DiscoveryRefer to [2] for details (see section 3.1.1).2.10 Mandatory Feature SetsAn Opal SSC compliant SD SHALL support the following TCG Storage Feature Sets:1) Additional DataStore Tables, Opal SSC Feature Set (refer to [6]);2) PSID, Opal SSC Feature Set (refer to [7]).3 Opal SSC Features3.1 Security Protocol 1 Support3.1.1 Level 0 Discovery (M)Refer to [2] for more details.An Opal SSC compliant SD SHALL return the following Level 0 response:• Level 0 Discovery Header • TPer Feature Descriptor • Locking Feature Descriptor •Opal SSC Feature Descriptor3.1.1.1 Level 0 Discovery HeaderTable 3 Level 0 Discovery HeaderBit Byte 7 6543210 0 (MSB) Length of Parameter Data1 2 3(LSB) 4 (MSB) Data structure revision 5 6 7 (LSB) 8 (MSB) Reserved ... 15 (LSB) 16 (MSB) Vendor Specific (47)(LSB)• Length of parameter data = VU • Data structure revision = 0x00000001 orany version that supports the defined features in this SSC • Vendor Specific = VU3.1.1.2 TPer Feature (Feature Code = 0x0001)Table 4 Level 0 Discovery - TPer Feature DescriptorBitByte7 6 5 4 3 2 1 00 (MSB)Feature Code (0x0001)1 (LSB)2 Version Reserved3 Length4 Reserved ComID MgmtSupported Reserved StreamingSupportedBuffer MgmtSupportedACK/NAKSupportedAsyncSupportedSyncSupported5 - 15 Reserved•Feature Code = 0x0001•Version = 0x1 or any version that supports the defined features in this SSC •Length = 0x0C•ComID Mgmt Supported = VU•Streaming Supported = 1•Buffer Mgmt Supported = VU•ACK/NACK Supported = VU•Async Supported = VU•Sync Supported = 13.1.1.3 Locking Feature (Feature Code = 0x0002)** = the present current state of the respective featureTable 5 Level 0 Discovery - Locking Feature DescriptorBitByte7 6 5 4 3 2 1 00 (MSB)Feature Code (0x0002)1 (LSB)2 Version Reserved3 Length4 Reserved MBR Done MBREnabledMediaEncryptionLocked LockingEnabledLockingSupported5 - 15 Reserved•Feature Code = 0x0002•Version = 0x1 or any version that supports the defined features in this SSC •Length = 0x0C•MBR Done = **•MBR Enabled = **•Media Encryption = 1•Locked = **•Locking Enabled = See 3.1.1.3.1•Locking Supported = 13.1.1.3.1LockingEnabled DefinitionThe definition of the LockingEnabled bit is changed from [2] as follows:The LockingEnabled bit SHALL be set to one if an SP that incorporates the Locking template is any state other than Nonexistent or Manufactured-Inactive; otherwise the LockingEnabled bit SHALL be set to zero. 3.1.1.4 Geometry Reporting Feature (Feature Code = 0x0003)3.1.1.4.1OverviewThis information indicates support for logical block and physical block geometry. This feature MAY be returned in the Level 0 Discovery response. See [2] for additional information.Table 6 Level 0 Discovery - Geometry Reporting Feature DescriptorBit Byte 7 6543210 0 (MSB) Feature Code (0x0003)1(LSB)2 VersionReserved3 Length4 ReservedALIGN 5 Reserved6 7 8 9 10 1112 (MSB) LogicalBlockSize13 1415(LSB) 16 (MSB) AlignmentGranularity17 18 19 20 21 2223(LSB) 24 (MSB) LowestAlignedLBA25 26 27 28 29 3031(LSB)• The Feature Code field SHALL be set to 0x0003. • The Version field SHALL be set to 0x01. •The Length field SHALL be set to 0x1C.3.1.1.4.2 AlignIf the value of the AlignmentRequired column of the LockingInfo table is TRUE, then the ALIGN bit shall be set to one. If the value of the AlignmentRequired column of the LockingInfo table is FALSE, then the ALIGN bit shall be cleared to zero.3.1.1.4.3 LogicalBlockSizeLogicalBlockSize SHALL be set to the value of the LogicalBlockSize column in the LockingInfo table.3.1.1.4.4 AlignmentGranularityAlignmentGranularity SHALL be set to the value of the AlignmentGranularity column in the LockingInfo table.3.1.1.4.5 LowestAlignedLBALowestAlignedLBA SHALL be set to the value of the LowestAlignedLBA column in the LockingInfo table.3.1.1.5 Opal SSC V2.00 Feature (Feature Code = 0x0203)Table 7 Level 0 Discovery - Opal SSC V2.00 Feature DescriptorBitByte7 6 5 4 3 2 1 00 (MSB)Feature Code (0x0203)1 (LSB)2 Version Reserved3 Length4 (MSB)Base ComID5 (LSB)6 (MSB)Number of ComIDs7 (LSB)8 Reserved for future common SSC parametersRange Crossing Behavior9 (MSB)Number of Locking SP Admin Authorities Supported10 (LSB)11 (MSB)Number of Locking SP User Authorities Supported12 (LSB)13 Initial C_PIN_SID PIN Indicator14 Behavior of C_PIN_SID PIN upon TPer Revert15-19 Reserved for future common SSC parameters•Feature Code = 0x0203•Version = 0x1 or any version that supports the defined features in this SSC •Length = 0x10•Base ComID = VU•Number of ComIDs = 0x0001 (minimum value)•Range Crossing Behavior = VUo0 = The SD supports commands addressing consecutive LBAs in more than one LBA range if all the LBA ranges addressed are unlocked. See Section 4.3.7o 1 = The SD terminates commands addressing consecutive LBAs in more than one LBA range.See Section 4.3.7•Number of Locking SP Admin Authorities = 4 (minimum value)•Number of Locking SP User Authorities = 8 (minimum value)•Initial C_PIN_SID PIN Indicator = VUo0x00 = The initial C_PIN_SID PIN value is equal to the C_PIN_MSID PIN valueo0xFF = The initial C_PIN_SID PIN value is VU, and MAY not be equal to the C_PIN_MSID PIN valueo0x02 – 0x0F = Reserved•Behavior of C_PIN_SID PIN upon TPer Revert = VUo0x00 = The C_PIN_SID PIN value becomes the value of the C_PIN_MSID PIN column after successful invocation of Revert on the Admin SP’s object in the SP tableo0xFF = The C_PIN_SID PIN value changes to a VU value after successful invocation of Revert on the Admin SP’s object in the SP table, and MAY not be equal to the C_PIN_MSID PIN value If an Opal v2.00 SSC implementation is backward compatible with Opal v1.00, the SD SHALL also report the Opal SSC Feature Descriptor as defined in [5].Begin Informative ContentAn Opal v2.00 implementation is backward compatible to Opal v1.00 only if the geometry reported by the Geometry Reporting Feature does not specify any alignment restrictions (i.e. Align = FALSE, see 3.1.1.4.2) , and if the TPer does not specify any granularity restrictions for byte tables (i.e. MandatoryWriteGranularity = 1 for all byte tables, see 5.3.1.1), and if the “Initial C_PIN_SID PIN Indicator” and “Behavior of C_PIN_SID PIN upon TPer Revert” fields are both 0x00.End Informative Content3.2 Security Protocol 2 Support3.2.1 ComID ManagementComID management support is reported in Level 0 Discovery. Statically allocated ComIDs are also discoverable via the Level 0 Discovery response.3.2.2 Stack Protocol Reset (M)An Opal SSC compliant SD SHALL support the Stack Protocol Reset command. Refer to [2] for details.3.2.3 TPER_RESET command (M)If the TPER_RESET command is enabled, it SHALL cause the following before the TPer accepts the next IF-SEND or IF-RECV command:a) all dynamically allocated ComIDs SHALL return to the Inactive state;b) all open sessions SHALL be aborted on all ComIDs;c) all uncommitted transactions SHALL be aborted on all ComIDs;d) the synchronous protocol stack for all ComIDs SHALL be reset to its initial statee) all TCG command and response buffers SHALL be invalidated for all ComIDs;f) all related method processing occurring on all ComIDs SHALL be aborted;g) TPer’s knowledge of the host’s communications capabilities, on all ComIDs, SHALL be reset to theinitial minimum assumptions defined in [2] or the TPer’s SSC definition;h) the values of the ReadLocked and WriteLocked columns SHALL be set to True for all Locking SP’sLocking objects that contain the Programmatic enumeration value in the LockedOnReset column;i) the value of the Done column of the Locking SP’s MBRControl table SHALL be set to False, if theDoneOnReset column contains the Programmatic enumeration value.The TPER_RESET command is delivered by the transport IF-SEND command. If the TPER_RESET command is enabled, the TPer SHALL accept and acknowledge it at the interface level. If the TPER_RESET command is disabled, the TPer SHALL abort it at the interface level with the “Other Invalid Command Parameter” status (see [4]). There is no IF-RECV response to the TPER_RESET command.The TPER_RESET command is defined in Table 8.The Transfer Length SHALL be non-zero. All data transferred SHALL be ignored.Table 8 TPER_RESET CommandFIELD VALUECommand IF-SENDProtocol ID 0x02Transfer Length Non-zeroComID 0x00043.3 Communications3.3.1 Communication PropertiesThe TPer SHALL support the minimum communication buffer size as defined in Section 4.1.1.1. For each ComID, the physical buffer size SHALL be reported to the host via the Properties method.The TPer SHALL terminate any IF-SEND command whose transfer length is greater than the reported MaxComPacketSize size for the corresponding ComID. For details, reference “Invalid Transfer Length parameter on IF-SEND” in [4].Data generated in response to methods contained within an IF-SEND command payload subpacket (including the required ComPacket / Packet / Subpacket overhead data) SHALL fit entirely within the response buffer. If the method response and its associated protocol overhead do not fit completely within the response buffer, the TPer1) SHALL terminate processing of the IF-SEND command payload,2) SHALL NOT return any part of the method response if the Sync Protocol is being used, and3) SHALL return an empty response list with a TCG status code of RESPONSE_OVERFLOW in thatmethod’s response status list.3.3.2 Supported Security ProtocolsThe TPer SHALL support:•IF-RECV commands with a Security Protocol values of 0x00, 0x01, 0x02.•IF-SEND commands with a Security Protocol values of 0x01, 0x02.3.3.3 ComIDsFor the purpose of communication using Security Protocol 0x01, the TPer SHALL:•support at least one statically allocated ComID for Synchronous Protocol communication.•have the ComID Extension values = 0x0000 for all statically allocated ComIDs.•keep all statically allocated ComIDs in the Active state.。