writeramrom.c 1.21 KB
/**************************************************************************
 *									  *
 *		 Copyright (C) 1995, Silicon Graphics, Inc.		  *
 *									  *
 *  These coded instructions, statements, and computer programs  contain  *
 *  unpublished  proprietary  information of Silicon Graphics, Inc., and  *
 *  are protected by Federal copyright law.  They  may  not be disclosed  *
 *  to  third  parties  or copied or duplicated in any form, in whole or  *
 *  in part, without the prior written consent of Silicon Graphics, Inc.  *
 *									  *
 **************************************************************************/

#include <ultrahost.h>
#include <PR/ramrom.h>
#include <sys/u64gio.h>
#include <stdio.h>
#ifndef WIN32
#include <sys/ioctl.h>
#endif

/*
 * Name:   uhWriteRamrom
 *
 * Description:
 *	Send nbytes of data to the ramrom location, addr. 
 */
int
uhWriteRamrom(int fd, void *ramrom_addr, void *data, int nbytes)
{
    u64_write_arg_t	writeArg;

    writeArg.buffer = data;
    writeArg.ramrom_addr = (long)ramrom_addr;
    writeArg.nbytes = nbytes;

    /*
     * Copy the data to RAMROM, using U64_SAFE_WRITE
     */
    if (ioctl(fd, U64_SAFE_WRITE, &writeArg) == -1)
	return(-1);
    else
	return(0);
}