hw_bcopy.h 1.17 KB
/*
 * Copyright (C) 1996-1998 by the Board of Trustees
 *    of Leland Stanford Junior University.
 * 
 * This file is part of the SimOS distribution. 
 * See LICENSE file for terms of the license. 
 *
 */

/*
 * hw_bcopy.h - Interface to HWBCOPY chip
 */

#ifndef SIMHWBCOPY_H
#define SIMHWBCOPY_H

/* SimhwbcopyRequestArea should NOT be changed!! */

extern int Simhwbcopy_BlockCopy(char *, char *, int, uint64 *);
extern int Simhwbcopy_BlockZero(char *, int, uint64 *);
extern int Simhwbcopy_init(void);

extern int hwbDMA;
extern int hwbDMAChannels;
extern int hwbDMADelay;
extern int hwprefetch;
extern int hwprefRange;
extern int hwprefDepth;

/* RPB -- this is pillaged from protocols/dyn_ptr/msg_app_ppc_interface.h */
/* I'm not quite sure where it belongs yet, so I'll just stick it here... */
typedef union {
    struct {
	unsigned long fromPageNum:16;
				/* How many source pages will follow? */
	unsigned long toPageNum:16;
				/* How many dest pages will follow? */
	unsigned long count;
				/* What is the message length in bytes */
    } fields;
    uint64 ll;
} FmemcpyInit;

typedef union {
  struct {
	uint64 length;
  } fields;
  uint64 ll;
} FbzeroInit;

#endif /* SIMHWBCOPY_H */