亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? copy.c

?? MIPS下的boottloader yamon 的源代碼
?? C
字號:
/************************************************************************
 *
 *  copy.c
 *
 *  Shell copy command
 *
 *  copy [-f] <src> <dst> <size>
 *
 *
 * ######################################################################
 *
 * Copyright (c) 1999-2000 MIPS Technologies, Inc. All rights reserved. 
 * 
 * Unpublished rights reserved under the Copyright Laws of the United States of 
 * America. 
 * 
 * This document contains information that is proprietary to MIPS Technologies, 
 * Inc. ("MIPS Technologies"). Any copying, modifying or use of this information 
 * (in whole or in part) which is not expressly permitted in writing by MIPS 
 * Technologies or a contractually-authorized third party is strictly 
 * prohibited. At a minimum, this information is protected under unfair 
 * competition laws and the expression of the information contained herein is 
 * protected under federal copyright laws. Violations thereof may result in 
 * criminal penalties and fines. 
 * MIPS Technologies or any contractually-authorized third party reserves the 
 * right to change the information contained in this document to improve 
 * function, design or otherwise. MIPS Technologies does not assume any 
 * liability arising out of the application or use of this information. Any 
 * license under patent rights or any other intellectual property rights owned 
 * by MIPS Technologies or third parties shall be conveyed by MIPS Technologies 
 * or any contractually-authorized third party in a separate license agreement 
 * between the parties. 
 * The information contained in this document constitutes one or more of the 
 * following: commercial computer software, commercial computer software 
 * documentation or other commercial items. If the user of this information, or 
 * any related documentation of any kind, including related technical data or 
 * manuals, is an agency, department, or other entity of the United States 
 * government ("Government"), the use, duplication, reproduction, release, 
 * modification, disclosure, or transfer of this information, or any related 
 * documentation of any kind, is restricted in accordance with Federal 
 * Acquisition Regulation 12.212 for civilian agencies and Defense Federal 
 * Acquisition Regulation Supplement 227.7202 for military agencies. The use of 
 * this information by the Government is further restricted in accordance with 
 * the terms of the license agreement(s) and/or applicable contract terms and 
 * conditions covering this information from MIPS Technologies or any 
 * contractually-authorized third party. 
 *
 ************************************************************************/


/************************************************************************
 *  Include files
 ************************************************************************/

#include <sysdefs.h>
#include <shell_api.h>
#include <sysdev.h>
#include <io_api.h>
#include <flash_api.h>
#include <sys_api.h>
#include <string.h>
#include "shell.h"

/************************************************************************
 *  Definitions
 ************************************************************************/

/************************************************************************
 *  Public variables
 ************************************************************************/

/************************************************************************
 *  Static variables
 ************************************************************************/

/* OPTIONS */
static t_cmd_option options[] =
{
#define OPTION_FLUSH	0 
    { "f",  "Do not flush caches" }
};
#define OPTION_COUNT	(sizeof(options)/sizeof(t_cmd_option))

/************************************************************************
 *  Static function prototypes
 ************************************************************************/

static UINT32
get_options(
    UINT32 argc,
    char   **argv,
    UINT32 *src,
    UINT32 *dst,
    UINT32 *size,
    bool   *flush );

/************************************************************************
 *  Implementation : Static functions
 ************************************************************************/

/************************************************************************
 *                          copy
 ************************************************************************/
static MON_FUNC(copy)
{
    /* Options */
    UINT32                    rc ;
    UINT32		      src, dst, size;
    bool		      flush;
    UINT32		      end;
    t_FLASH_write_descriptor  flash_write ;

    rc = get_options( argc, argv, &src, &dst, &size, &flush );
    
    if( rc != OK )
        return rc;
    else
    {
        if( size != 0 )
	{
            if(SHELL_PUTS( "Copying..." ))
	    {
	        SHELL_PUTC( '\n' );
		return OK;
            }

            flash_write.adr =    dst;
            flash_write.length = size;
            flash_write.buffer = (UINT8 *)src;

	    /* Possibly flush caches */
	    if( flush )
	        sys_flush_caches();

	    /* This flash copy function can also handle RAM */
            if( (rc = IO_write( SYS_MAJOR_FLASH_STRATA, 0, &flash_write )) != OK )
            {
	        SHELL_PUTC( '\n' );
	        return rc;
            }
            else
            {
                if(SHELL_PUTS( "Done\n" )) return OK;
            }

	    /* Possibly flush caches */
	    if( flush )
	        sys_flush_caches();
        }

        return OK;
    }
}


/************************************************************************
 *                          get_options
 ************************************************************************/
static UINT32
get_options(
    UINT32 argc,
    char   **argv,
    UINT32 *src,
    UINT32 *dst,
    UINT32 *size,
    bool   *flush )
{
    t_shell_option decode;
    UINT32	   type;
    UINT32	   count = 0;
    bool           ok    = TRUE;
    UINT32	   arg;
    UINT32	   error = SHELL_ERROR_SYNTAX;

    /* Defaults */
    *flush = TRUE;

    for( arg = 1; 
	          ok && 
	          (arg < argc) && 
                  shell_decode_token( argv[arg], &type, &decode );
         arg++ )
    {
        switch( type )
	{
	  case SHELL_TOKEN_OPTION :
	    if( strcmp(decode.option, options[OPTION_FLUSH].option) == 0 )
	    {
	        *flush = FALSE;
	    }
	    else
	    {
	        error	         = SHELL_ERROR_OPTION;
	        shell_error_data = argv[arg];
	        ok		 = FALSE;
	    }
	    break;
	  case SHELL_TOKEN_NUMBER :
	    switch( count )
	    {
	      case 0  : *src  = decode.number; break;
	      case 1  : *dst  = decode.number; break;
	      case 2  : *size = decode.number; break;
	      default : ok    = FALSE; break;
	    }    
	    count++;
	    break; 
	  default :
	    ok = FALSE;
	    break;
	}
    }

    if( count != 3 )
        ok = FALSE;

    if( !ok )
        return error;
    else
    {
        error = sys_validate_range( *src, *size, sizeof(UINT8), FALSE );

	return 
	    ( error != OK ) ?
	        error :
                sys_validate_range( *dst, *size, sizeof(UINT8), TRUE );
    }
}

/* Command definition for help */
static t_cmd cmd_def =
{
    "copy",
     copy,
    "copy [-f] <src> <dst> <size>",

    "The number of bytes specified by <size> are copied from <src> to <dst>.\n"
    "Both the source and destination can be located anywhere in the\n"
    "address space. The copy command knows the address areas for the\n"
    "flash memories in the system and is able to program them.\n"
    "\n" 
    "If the destination is flash, the destination area must be cleared\n"
    "using the 'erase' command prior to the copy operation.\n"
    "\n"
    "Note that the copy command prevents the user from overwriting the\n"
    "environment flash area.\n"
    "\n"
    "Unless the -f option is applied, caches are flushed before and after\n"
    "the copy operations (D-cache writeback and invalidate,\n"
    "I-cache invalidate).",

    options,
    OPTION_COUNT,
    FALSE
};


/************************************************************************
 *  Implementation : Public functions
 ************************************************************************/

/************************************************************************
 *
 *                          shell_copy_init
 *  Description :
 *  -------------
 *
 *  Initialise command
 *
 *  Return values :
 *  ---------------
 *
 *  void
 *
 ************************************************************************/
t_cmd *
shell_copy_init( void )
{
    return &cmd_def;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品中文字幕一区二区| 午夜精品在线视频一区| 高清国产午夜精品久久久久久| 日韩一区二区三区精品视频| 奇米影视一区二区三区小说| 日韩一级欧美一级| 国产精品一线二线三线| 国产精品每日更新| 一本大道av一区二区在线播放| 亚洲一区二区精品3399| 4438成人网| 国产成人亚洲综合a∨婷婷| 中文字幕在线播放不卡一区| 欧美亚洲综合在线| 久久精品国产成人一区二区三区 | 欧美午夜精品久久久久久孕妇| 亚洲午夜久久久久久久久久久 | 欧美一区二区视频免费观看| 久久精品国产77777蜜臀| 亚洲国产精品成人综合色在线婷婷| 91麻豆国产香蕉久久精品| 视频在线观看一区二区三区| 26uuu国产在线精品一区二区| 成年人国产精品| 午夜激情久久久| 久久久午夜精品理论片中文字幕| 91丨porny丨在线| 免费视频最近日韩| 一区免费观看视频| 日韩视频一区在线观看| www.视频一区| 免费久久精品视频| 亚洲天堂成人网| 欧美成人精品高清在线播放| 91美女在线观看| 国内精品视频一区二区三区八戒| 亚洲免费大片在线观看| 精品国产91乱码一区二区三区| 91小视频免费观看| 毛片基地黄久久久久久天堂| 亚洲精品视频在线观看网站| 久久夜色精品国产欧美乱极品| 91福利社在线观看| 国产凹凸在线观看一区二区| 日韩成人精品在线观看| 亚洲人被黑人高潮完整版| 久久综合久色欧美综合狠狠| 欧美影片第一页| 成人av在线播放网站| 精彩视频一区二区三区| 婷婷开心激情综合| 亚洲毛片av在线| 国产精品久久久久aaaa樱花| xnxx国产精品| 欧美一区二区三区四区久久| 欧美性大战久久久| 91亚洲精品一区二区乱码| 国产精品正在播放| 国产一区二区三区免费| 美女看a上一区| 日本最新不卡在线| 午夜精品一区二区三区免费视频 | 国产成人av一区二区| 日本欧美在线看| 天涯成人国产亚洲精品一区av| 亚洲欧美另类综合偷拍| 亚洲色大成网站www久久九九| 国产精品国模大尺度视频| 国产午夜精品美女毛片视频| 日韩久久免费av| 精品三级av在线| 91精品国产福利在线观看| 欧美剧在线免费观看网站| 欧美三级日韩三级| 在线播放一区二区三区| 欧美一级精品在线| 精品美女一区二区| 久久日韩精品一区二区五区| 欧美精品一区二区在线观看| 久久亚洲捆绑美女| 国产午夜精品一区二区| 国产精品无圣光一区二区| 亚洲国产精品ⅴa在线观看| 国产欧美久久久精品影院| 中文字幕免费在线观看视频一区| 国产欧美日韩中文久久| 欧美经典三级视频一区二区三区| 亚洲国产岛国毛片在线| 国产精品国产精品国产专区不片| 国产精品久久久久一区| 亚洲欧美另类小说| 天堂va蜜桃一区二区三区漫画版 | 久久女同精品一区二区| 久久久精品人体av艺术| 国产精品久久久久久久久免费桃花 | 欧美激情在线一区二区三区| 中文字幕一区三区| 亚洲夂夂婷婷色拍ww47| 免费av网站大全久久| 紧缚捆绑精品一区二区| eeuss鲁片一区二区三区| 91国偷自产一区二区开放时间| 欧美影视一区二区三区| 日韩欧美色电影| 国产精品久久久久久久久果冻传媒| 亚洲理论在线观看| 蜜臀av国产精品久久久久| 国产91精品免费| 精品视频一区三区九区| 欧美精品一区二区三区在线播放| 国产精品久久久久久久久免费相片| 亚洲一区二区三区四区在线观看 | 国产精品一区在线观看乱码| 99久久免费精品高清特色大片| 欧美性高清videossexo| 久久久五月婷婷| 亚洲一本大道在线| 国产真实乱对白精彩久久| 在线免费观看日本欧美| 久久一区二区三区四区| 亚洲综合丝袜美腿| 国产一区二区导航在线播放| 欧美午夜精品免费| 中文一区二区在线观看| 亚洲444eee在线观看| 丰满放荡岳乱妇91ww| 欧美日韩电影在线| 亚洲视频一区在线| 久久 天天综合| 欧美优质美女网站| 国产精品欧美极品| 久久99精品久久久久久动态图| 91在线小视频| 久久日韩粉嫩一区二区三区| 视频一区二区中文字幕| 99精品视频在线观看免费| xvideos.蜜桃一区二区| 天天影视网天天综合色在线播放| 成人h精品动漫一区二区三区| 日韩欧美激情一区| 亚洲大片在线观看| 91社区在线播放| 中文字幕av一区二区三区| 久久激五月天综合精品| 欧美日本国产视频| 尤物在线观看一区| 成人国产精品免费观看动漫| 久久精品日韩一区二区三区| 日韩av一区二区三区四区| 欧美午夜精品理论片a级按摩| 亚洲视频 欧洲视频| caoporm超碰国产精品| 欧美国产日韩亚洲一区| 久久99日本精品| 欧美一个色资源| 免费av网站大全久久| 制服丝袜日韩国产| 亚洲影院久久精品| 色激情天天射综合网| 亚洲乱码国产乱码精品精的特点 | 日本亚洲欧美天堂免费| 欧美伊人久久大香线蕉综合69| 亚洲欧美国产高清| 91在线高清观看| 亚洲人成在线观看一区二区| 99精品国产热久久91蜜凸| 综合久久综合久久| 色综合久久九月婷婷色综合| 亚洲三级电影网站| 91成人在线免费观看| 亚洲一卡二卡三卡四卡五卡| 欧美亚洲高清一区| 午夜伊人狠狠久久| 91精品国产综合久久久久久久 | 亚洲国产精品一区二区久久恐怖片 | 91在线观看视频| 亚洲午夜在线视频| 欧美日韩国产高清一区二区三区 | 舔着乳尖日韩一区| 日韩一区二区电影在线| 精品中文av资源站在线观看| 久久久久国产精品人| 99热在这里有精品免费| 亚洲综合无码一区二区| 制服丝袜日韩国产| 国产美女av一区二区三区| 久久久不卡网国产精品二区| 成人丝袜高跟foot| 一区二区三区四区不卡在线| 欧美高清视频不卡网| 久久疯狂做爰流白浆xx| 中文字幕日韩一区| 在线免费不卡电影| 精品一区免费av| 国产精品久线在线观看| 欧美三级韩国三级日本一级| 久久超碰97中文字幕| 国产精品美女久久久久久| 欧美日韩电影在线播放| 国产精品1区2区3区|