00001 /* 00002 * libspe2 - A wrapper library to adapt the JSRE SPU usage model to SPUFS 00003 * Copyright (C) 2005 IBM Corp. 00004 * 00005 * This library is free software; you can redistribute it and/or modify it 00006 * under the terms of the GNU Lesser General Public License as published by 00007 * the Free Software Foundation; either version 2.1 of the License, 00008 * or (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, but 00011 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 00012 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 00013 * License for more details. 00014 * 00015 * You should have received a copy of the GNU Lesser General Public License 00016 * along with this library; if not, write to the Free Software Foundation, 00017 * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00018 */ 00019 00020 #ifndef _dma_h_ 00021 #define _dma_h_ 00022 00023 #include <stdint.h> 00024 00025 #include "spebase.h" 00026 00027 struct mfc_command_parameter_area { 00028 uint32_t pad; /* reserved */ 00029 uint32_t lsa; /* local storage address */ 00030 uint64_t ea; /* effective address */ 00031 uint16_t size; /* transfer size */ 00032 uint16_t tag; /* command tag */ 00033 uint16_t class; /* class ID */ 00034 uint16_t cmd; /* command opcode */ 00035 }; 00036 00037 enum mfc_cmd { 00038 MFC_CMD_PUT = 0x20, 00039 MFC_CMD_PUTB = 0x21, 00040 MFC_CMD_PUTF = 0x22, 00041 MFC_CMD_GET = 0x40, 00042 MFC_CMD_GETB = 0x41, 00043 MFC_CMD_GETF = 0x42, 00044 }; 00045 00046 #endif