ia64/linux-2.6.18-xen.hg

annotate drivers/char/rio/pkt.h @ 893:f994bfe9b93b

linux/blktap2: reduce TLB flush scope

c/s 885 added very coarse TLB flushing. Since these flushes always
follow single page updates, single page flushes (when available) are
sufficient.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
author Keir Fraser <keir.fraser@citrix.com>
date Thu Jun 04 10:32:57 2009 +0100 (2009-06-04)
parents 831230e53067
children
rev   line source
ian@0 1 /****************************************************************************
ian@0 2 ******* *******
ian@0 3 ******* P A C K E T H E A D E R F I L E
ian@0 4 ******* *******
ian@0 5 ****************************************************************************
ian@0 6
ian@0 7 Author : Ian Nandhra / Jeremy Rolls
ian@0 8 Date :
ian@0 9
ian@0 10 *
ian@0 11 * (C) 1990 - 2000 Specialix International Ltd., Byfleet, Surrey, UK.
ian@0 12 *
ian@0 13 * This program is free software; you can redistribute it and/or modify
ian@0 14 * it under the terms of the GNU General Public License as published by
ian@0 15 * the Free Software Foundation; either version 2 of the License, or
ian@0 16 * (at your option) any later version.
ian@0 17 *
ian@0 18 * This program is distributed in the hope that it will be useful,
ian@0 19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
ian@0 20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ian@0 21 * GNU General Public License for more details.
ian@0 22 *
ian@0 23 * You should have received a copy of the GNU General Public License
ian@0 24 * along with this program; if not, write to the Free Software
ian@0 25 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
ian@0 26
ian@0 27 Version : 0.01
ian@0 28
ian@0 29
ian@0 30 Mods
ian@0 31 ----------------------------------------------------------------------------
ian@0 32 Date By Description
ian@0 33 ----------------------------------------------------------------------------
ian@0 34
ian@0 35 ***************************************************************************/
ian@0 36
ian@0 37 #ifndef _pkt_h
ian@0 38 #define _pkt_h 1
ian@0 39
ian@0 40 #define PKT_CMD_BIT ((ushort) 0x080)
ian@0 41 #define PKT_CMD_DATA ((ushort) 0x080)
ian@0 42
ian@0 43 #define PKT_ACK ((ushort) 0x040)
ian@0 44
ian@0 45 #define PKT_TGL ((ushort) 0x020)
ian@0 46
ian@0 47 #define PKT_LEN_MASK ((ushort) 0x07f)
ian@0 48
ian@0 49 #define DATA_WNDW ((ushort) 0x10)
ian@0 50 #define PKT_TTL_MASK ((ushort) 0x0f)
ian@0 51
ian@0 52 #define PKT_MAX_DATA_LEN 72
ian@0 53
ian@0 54 #define PKT_LENGTH sizeof(struct PKT)
ian@0 55 #define SYNC_PKT_LENGTH (PKT_LENGTH + 4)
ian@0 56
ian@0 57 #define CONTROL_PKT_LEN_MASK PKT_LEN_MASK
ian@0 58 #define CONTROL_PKT_CMD_BIT PKT_CMD_BIT
ian@0 59 #define CONTROL_PKT_ACK (PKT_ACK << 8)
ian@0 60 #define CONTROL_PKT_TGL (PKT_TGL << 8)
ian@0 61 #define CONTROL_PKT_TTL_MASK (PKT_TTL_MASK << 8)
ian@0 62 #define CONTROL_DATA_WNDW (DATA_WNDW << 8)
ian@0 63
ian@0 64 struct PKT {
ian@0 65 u8 dest_unit; /* Destination Unit Id */
ian@0 66 u8 dest_port; /* Destination POrt */
ian@0 67 u8 src_unit; /* Source Unit Id */
ian@0 68 u8 src_port; /* Source POrt */
ian@0 69 u8 len;
ian@0 70 u8 control;
ian@0 71 u8 data[PKT_MAX_DATA_LEN];
ian@0 72 /* Actual data :-) */
ian@0 73 u16 csum; /* C-SUM */
ian@0 74 };
ian@0 75 #endif
ian@0 76
ian@0 77 /*********** end of file ***********/